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/lvim/core | |
| parent | 537a192179c1123618489b2faaf58204d899f3a1 (diff) | |
fix(ts_context_commentstring): block comment match new api (#2948)
Diffstat (limited to 'lua/lvim/core')
| -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 = { | 
