diff --git a/neovim/.config/nvim/after/plugin/comment.lua b/neovim/.config/nvim/after/plugin/comment.lua new file mode 100644 index 0000000..edc4899 --- /dev/null +++ b/neovim/.config/nvim/after/plugin/comment.lua @@ -0,0 +1,25 @@ +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, +}) diff --git a/neovim/.config/nvim/init.lua b/neovim/.config/nvim/init.lua index 878393a..82714a1 100644 --- a/neovim/.config/nvim/init.lua +++ b/neovim/.config/nvim/init.lua @@ -54,6 +54,8 @@ require("packer").startup(function(use) use({ "windwp/nvim-autopairs" }) + use({ "numToStr/Comment.nvim" }) + if PACKER_BOOTSTRAP then require("packer").sync() end