feat(comment): add comment on a variable
This commit is contained in:
parent
9bffa2c212
commit
094afb2c21
7 changed files with 45 additions and 0 deletions
|
|
@ -27,6 +27,11 @@ local queries = {
|
|||
name: (type_identifier) @_name
|
||||
type: (interface_type))
|
||||
]],
|
||||
var = [[
|
||||
[(var_declaration (var_spec name: (identifier) @_name))
|
||||
(short_var_declaration
|
||||
left: (expression_list (identifier) @_name @_var))]
|
||||
]],
|
||||
}
|
||||
|
||||
---@param parent_type string[]
|
||||
|
|
@ -147,4 +152,9 @@ function ts.get_interface_under_cursor(bufnr)
|
|||
return do_stuff(bufnr, { "type_declaration" }, queries.interface)
|
||||
end
|
||||
|
||||
---@param bufnr integer
|
||||
function ts.get_variable_under_cursor(bufnr)
|
||||
return do_stuff(bufnr, { "var_declaration", "short_var_declaration" }, queries.var)
|
||||
end
|
||||
|
||||
return ts
|
||||
|
|
|
|||
|
|
@ -25,6 +25,11 @@ local function generate(bufnr, line)
|
|||
return u.indent(line, s_res.indent) .. "// " .. s_res.name .. " "
|
||||
end
|
||||
|
||||
local v_ok, v_res = pcall(ts.get_variable_under_cursor, bufnr)
|
||||
if v_ok then
|
||||
return u.indent(line, v_res.indent) .. "// " .. v_res.name .. " "
|
||||
end
|
||||
|
||||
local f_ok, f_res = pcall(ts.get_func_under_cursor, bufnr)
|
||||
if f_ok then
|
||||
return u.indent(line, f_res.indent) .. "// " .. f_res.name .. " "
|
||||
|
|
|
|||
5
spec/fixtures/comment/svar_input.go
vendored
Normal file
5
spec/fixtures/comment/svar_input.go
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
package main
|
||||
|
||||
func varTest() {
|
||||
s := "something"
|
||||
}
|
||||
6
spec/fixtures/comment/svar_output.go
vendored
Normal file
6
spec/fixtures/comment/svar_output.go
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
package main
|
||||
|
||||
func varTest() {
|
||||
// s
|
||||
s := "something"
|
||||
}
|
||||
5
spec/fixtures/comment/var_input.go
vendored
Normal file
5
spec/fixtures/comment/var_input.go
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
package main
|
||||
|
||||
func test() {
|
||||
var imAVar string
|
||||
}
|
||||
6
spec/fixtures/comment/var_output.go
vendored
Normal file
6
spec/fixtures/comment/var_output.go
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
package main
|
||||
|
||||
func test() {
|
||||
// imAVar
|
||||
var imAVar string
|
||||
}
|
||||
|
|
@ -50,6 +50,14 @@ comment["should add a comment on interface with many method"] = function()
|
|||
do_the_test("interface_many_method", { 5, 2 })
|
||||
end
|
||||
|
||||
comment["should add a comment on a var"] = function()
|
||||
do_the_test("var", { 4, 2 })
|
||||
end
|
||||
|
||||
comment["should add a comment on a short declared var"] = function()
|
||||
do_the_test("svar", { 4, 8 })
|
||||
end
|
||||
|
||||
comment["otherwise should add // above cursor"] = function()
|
||||
do_the_test("empty", { 1, 1 })
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue