aboutsummaryrefslogtreecommitdiff
path: root/lua/user/commentstring.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/user/commentstring.lua')
-rw-r--r--lua/user/commentstring.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/lua/user/commentstring.lua b/lua/user/commentstring.lua
new file mode 100644
index 0000000..fa1ebc8
--- /dev/null
+++ b/lua/user/commentstring.lua
@@ -0,0 +1,23 @@
+local status_ok, commentstring = pcall(require, "Comment")
+if not status_ok then
+ return
+end
+
+commentstring.setup {
+ pre_hook = function(ctx)
+ local U = require "Comment.utils"
+
+ 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 = ctx.ctype == U.ctype.line and "__default" or "__multiline",
+ location = location,
+ }
+ end,
+}
+