summaryrefslogtreecommitdiffstats
path: root/lua/snippets/java.lua
diff options
context:
space:
mode:
authorSquibid <me@zacharyscheiman.com>2024-08-09 02:45:31 -0400
committerSquibid <me@zacharyscheiman.com>2024-08-09 02:45:31 -0400
commitc489d393695e90d424f9ae51e35c4d42358e6a71 (patch)
tree12ea97ec4684fd82cd6b73dd127d0137b115837b /lua/snippets/java.lua
parentad76983d969c318e6e234bc82384b4b025d70447 (diff)
downloadnvim-c489d393695e90d424f9ae51e35c4d42358e6a71.tar.gz
nvim-c489d393695e90d424f9ae51e35c4d42358e6a71.tar.bz2
nvim-c489d393695e90d424f9ae51e35c4d42358e6a71.zip
yes there's a bit of java in my nvim config why do you ask?
Diffstat (limited to '')
-rw-r--r--lua/snippets/java.lua110
1 files changed, 110 insertions, 0 deletions
diff --git a/lua/snippets/java.lua b/lua/snippets/java.lua
new file mode 100644
index 0000000..8424628
--- /dev/null
+++ b/lua/snippets/java.lua
@@ -0,0 +1,110 @@
+require('core.snippets.shorthands')
+
+local function file_name(args, parent, user_args)
+ return vim.fn.expand("%:t:r")
+end
+
+return {
+ -- method snippet
+ s("fn", {
+ c(1, {
+ t("public "),
+ t("private "),
+ }),
+ c(2, {
+ t("void"),
+ t("String"),
+ t("char"),
+ t("int"),
+ t("double"),
+ t("boolean"),
+ i(nil, "myType"),
+ }),
+ t(" "),
+ i(3, "myFunc"),
+ t("("),
+ i(4),
+ t(")"),
+ c(5, {
+ t(""),
+ sn(nil, {t({ "", " throws " }), i(1)}),
+ }),
+ t({ " {", "\t" }),
+ i(0),
+ t({ "", "}" }),
+ }),
+
+ -- constructor snippet
+ s("constr", {
+ c(1, {
+ t("public "),
+ t("private "),
+ t("protected ")
+ }),
+ f(file_name, {}),
+ t("("),
+ i(2),
+ t(")"),
+ c(3, {
+ t(""),
+ sn(nil, {t({ "", " throws " }), i(1)}),
+ }),
+ t({ " {", "\t" }),
+ i(0),
+ t({ "", "}" }),
+ }),
+
+ -- class snippet
+ s("class", {
+ c(1, {
+ t("public "),
+ t("private "),
+ t("protected ")
+ }),
+ c(2, {
+ t("class "),
+ t("interface ")
+ }),
+ f(file_name, {}),
+ c(3, {
+ t(" "),
+ sn(nil, { t({" implements "}), i(1), t(" ") }),
+ sn(nil, { t({" extends "}), i(1), t(" ") }),
+ }),
+ t({ "{", "\t" }),
+ i(0),
+ t({ "", "}" }),
+ }),
+
+ -- pacakge snippet
+ s("package", {
+ t("package "),
+ f(function(args, parent, user_args)
+ -- get path
+ local dir = vim.fn.expand("%:h")
+ -- remove prefix
+ dir = dir:gsub("src/main/java/", "")
+ -- convert to package path
+ dir = dir:gsub("/", ".")
+
+ return dir
+ end, {}),
+ t(";"),
+ t({ "", "", "" })
+ }),
+
+ -- try, catch, finally snippet
+ s("try", {
+ t({"try {", "\t"}),
+ i(1),
+ t({"", "} catch ("}),
+ i(2, "Error e"),
+ t({") {", "\t"}),
+ i(3),
+ t({"", "}"}),
+ c(4, {
+ t(""),
+ sn(nil, { t({" finally {", "\t"}), i(1), t({"", "}"}) })
+ })
+ })
+}