diff options
Diffstat (limited to 'lua/snippets/java.lua')
-rw-r--r-- | lua/snippets/java.lua | 110 |
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({"", "}"}) }) + }) + }) +} |