local M = { "numToStr/Comment.nvim", commit = "eab2c83a0207369900e92783f56990808082eac2", event = "BufRead", dependencies = { { "JoosepAlviste/nvim-ts-context-commentstring", event = "VeryLazy", commit = "a0f89563ba36b3bacd62cf967b46beb4c2c29e52", }, }, } function M.config() require('Comment').setup() pre_hook = function(ctx) -- Only calculate commentstring for tsx filetypes if vim.bo.filetype == "typescriptreact" then 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 end return M