26 lines
997 B
Lua
26 lines
997 B
Lua
local config = require('cosmic.config')
|
|
|
|
require('Comment').setup(vim.tbl_deep_extend('force', {
|
|
pre_hook = function(ctx)
|
|
-- Only calculate commentstring for tsx filetypes
|
|
if vim.bo.filetype == 'typescriptreact' 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,
|
|
}, config.comments or {}))
|