diff options
author | zenVentzi <[email protected]> | 2022-08-29 15:13:57 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2022-08-29 14:13:57 +0200 |
commit | 68e8132b909dab6a748340f81c4b3a6ef452079d (patch) | |
tree | 18ec1df3e53dafd217a4ceb2ab3df646e29a318a /lua | |
parent | 537a192179c1123618489b2faaf58204d899f3a1 (diff) |
fix(ts_context_commentstring): block comment match new api (#2948)
Diffstat (limited to 'lua')
-rw-r--r-- | lua/lvim/core/comment.lua | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lua/lvim/core/comment.lua b/lua/lvim/core/comment.lua index 86a2091a..d07739c6 100644 --- a/lua/lvim/core/comment.lua +++ b/lua/lvim/core/comment.lua @@ -3,8 +3,24 @@ local M = {} function M.config() local pre_hook = nil if lvim.builtin.treesitter.context_commentstring.enable then - pre_hook = function(_ctx) - return require("ts_context_commentstring.internal").calculate_commentstring() + pre_hook = function(ctx) + local U = require "Comment.utils" + + -- Determine whether to use linewise or blockwise commentstring + local type = ctx.ctype == U.ctype.linewise and "__default" or "__multiline" + + -- Determine the location where to calculate commentstring from + local location = nil + if ctx.ctype == U.ctype.blockwise then + location = require("ts_context_commentstring.utils").get_cursor_location() + elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then + location = require("ts_context_commentstring.utils").get_visual_start_location() + end + + return require("ts_context_commentstring.internal").calculate_commentstring { + key = type, + location = location, + } end end lvim.builtin.comment = { |