From f11eff223d021dd9553a7152278c00ca41b7ef37 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Wed, 13 Oct 2021 22:01:35 +0200 Subject: Add lunarvim updates --- .config/nvim/lua/core/comment.lua | 66 +++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 13 deletions(-) (limited to '.config/nvim/lua/core/comment.lua') diff --git a/.config/nvim/lua/core/comment.lua b/.config/nvim/lua/core/comment.lua index a97018d..f8d62c2 100644 --- a/.config/nvim/lua/core/comment.lua +++ b/.config/nvim/lua/core/comment.lua @@ -1,26 +1,66 @@ local M = {} function M.config() + local pre_hook = nil + if options.builtin.treesitter.context_commentstring.enable then + pre_hook = function(_ctx) + return require("ts_context_commentstring.internal").calculate_commentstring() + end + end options.builtin.comment = { active = true, on_config_done = nil, - -- Linters prefer comment and line to have a space in between markers - marker_padding = true, - -- should comment out empty or whitespace only lines - comment_empty = false, - -- Should key mappings be created - create_mappings = true, - -- Normal mode mapping left hand side - line_mapping = "gcc", - -- Visual/Operator mapping left hand side - operator_mapping = "gc", - -- Hook function to call before commenting takes place - hook = nil, + ---Add a space b/w comment and the line + ---@type boolean + padding = true, + + ---Lines to be ignored while comment/uncomment. + ---Could be a regex string or a function that returns a regex string. + ---Example: Use '^$' to ignore empty lines + ---@type string|function + ignore = "^$", + + ---Whether to create basic (operator-pending) and extra mappings for NORMAL/VISUAL mode + ---@type table + mappings = { + ---operator-pending mapping + ---Includes `gcc`, `gcb`, `gc[count]{motion}` and `gb[count]{motion}` + basic = true, + ---extended mapping + ---Includes `g>`, `g<`, `g>[count]{motion}` and `g<[count]{motion}` + extra = false, + }, + + ---LHS of line and block comment toggle mapping in NORMAL/VISUAL mode + ---@type table + toggler = { + ---line-comment toggle + line = "gcc", + ---block-comment toggle + block = "gbc", + }, + + ---LHS of line and block comment operator-mode mapping in NORMAL/VISUAL mode + ---@type table + opleader = { + ---line-comment opfunc mapping + line = "gc", + ---block-comment opfunc mapping + block = "gb", + }, + + ---Pre-hook, called before commenting the line + ---@type function|nil + pre_hook = pre_hook, + + ---Post-hook, called after commenting is done + ---@type function|nil + post_hook = nil, } end function M.setup() - local nvim_comment = require "nvim_comment" + local nvim_comment = require "Comment" nvim_comment.setup(options.builtin.comment) if options.builtin.comment.on_config_done then -- cgit v1.2.3-70-g09d2