summaryrefslogtreecommitdiff
path: root/lua/config/comment.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config/comment.lua')
-rw-r--r--lua/config/comment.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/lua/config/comment.lua b/lua/config/comment.lua
new file mode 100644
index 0000000..740697e
--- /dev/null
+++ b/lua/config/comment.lua
@@ -0,0 +1,24 @@
+-- Language aware commenting.
+
+local status_ok, comment = pcall(require, "Comment")
+if not status_ok then
+ return
+end
+
+comment.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,
+})