From 728d390e894c27f0a12fa32798fc5b1f667a7e5a Mon Sep 17 00:00:00 2001 From: Daniil Tsivinsky Date: Mon, 19 Feb 2024 15:07:52 +0300 Subject: [PATCH] Revert "neovim: remove comment.nvim pre_hook" This reverts commit 4bd1a8d9a98f93629262b8d2ce2599016c30c36d. --- neovim/.config/nvim/after/plugin/comment.lua | 26 +++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/neovim/.config/nvim/after/plugin/comment.lua b/neovim/.config/nvim/after/plugin/comment.lua index bd47faf..edc4899 100644 --- a/neovim/.config/nvim/after/plugin/comment.lua +++ b/neovim/.config/nvim/after/plugin/comment.lua @@ -1 +1,25 @@ -require("Comment").setup() +require("Comment").setup({ + pre_hook = function(ctx) + -- Only calculate commentstring for tsx filetypes + if vim.bo.filetype == "typescriptreact" or vim.bo.filetype == "javascriptreact" then + local U = require("Comment.utils") + + -- Detemine whether to use linewise or blockwise commentstring + -- local type = ctx.ctype == U.ctype.line and "__default" or "__multiline" + local type = "__default" + + -- Determine the location where to calculate commentstring from + local location = nil + if ctx.ctype == U.ctype.block 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, +})