add Comment pre_hook to calculate commentstring in jsx/tsx
This commit is contained in:
@@ -28,12 +28,7 @@ require("packer").startup(function(use)
|
|||||||
use({ "folke/tokyonight.nvim" })
|
use({ "folke/tokyonight.nvim" })
|
||||||
|
|
||||||
-- Make commenting code great
|
-- Make commenting code great
|
||||||
use({
|
use({ "numToStr/Comment.nvim" })
|
||||||
"numToStr/Comment.nvim",
|
|
||||||
config = function()
|
|
||||||
require("Comment").setup()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Icons used by many plugins
|
-- Icons used by many plugins
|
||||||
use({ "kyazdani42/nvim-web-devicons" })
|
use({ "kyazdani42/nvim-web-devicons" })
|
||||||
@@ -144,6 +139,7 @@ require("user.treesitter")
|
|||||||
require("user.telescope")
|
require("user.telescope")
|
||||||
require("user.git")
|
require("user.git")
|
||||||
require("user.lsp")
|
require("user.lsp")
|
||||||
|
require("user.comment")
|
||||||
require("user.snippets")
|
require("user.snippets")
|
||||||
require("user.lualine")
|
require("user.lualine")
|
||||||
require("user.remaps")
|
require("user.remaps")
|
||||||
|
|||||||
24
config/nvim/lua/user/comment.lua
Normal file
24
config/nvim/lua/user/comment.lua
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
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"
|
||||||
|
|
||||||
|
-- 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,
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user