my-nvim-setup/lua/user/comment.lua
2022-12-09 17:46:25 +05:30

33 lines
867 B
Lua

local status_ok, comment = pcall(require, "Comment")
if not status_ok then
return
end
comment.setup {
pre_hook = function(ctx)
local U = require "Comment.utils"
local status_utils_ok, utils = pcall(require, "ts_context_commentstring.utils")
if not status_utils_ok then
return
end
local location = nil
if ctx.ctype == U.ctype.block then
location = utils.get_cursor_location()
elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
location = utils.get_visual_start_location()
end
local status_internals_ok, internals = pcall(require, "ts_context_commentstring.internals")
if not status_internals_ok then
return
end
return internals.calculate_commentstring {
key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
location = location,
}
end,
}