diff --git a/lua/neogen.lua b/lua/neogen.lua index 971c3fe..0c01cb2 100644 --- a/lua/neogen.lua +++ b/lua/neogen.lua @@ -130,6 +130,7 @@ neogen.setup = function(opts) typescript = require("neogen.configurations.typescript"), c = require("neogen.configurations.c"), go = require("neogen.configurations.go"), + java = require("neogen.configurations.java") }, }) diff --git a/lua/neogen/configurations/java.lua b/lua/neogen/configurations/java.lua new file mode 100644 index 0000000..b0dd8d5 --- /dev/null +++ b/lua/neogen/configurations/java.lua @@ -0,0 +1,34 @@ +return { + parent = { + class = { "class_declaration" }, + }, + + data = { + class = { + ["class_declaration"] = { + ["0"] = { + extract = function(node) + local results = {} + local tree = { { retrieve = "all", node_type = "identifier", extract = true } } + local nodes = neogen.utilities.nodes:matching_nodes_from(node, tree) + local res = neogen.utilities.extractors:extract_from_matched(nodes) + + results.class_name = res.identifier + return results + end, + }, + }, + }, + }, + + template = { + annotation_convention = "javadoc", + use_default_comment = false, + + javadoc = { + { nil, "/**" }, + { "class_name", " * %s $1"}, + { nil, " */" }, + }, + }, +}