summaryrefslogtreecommitdiff
path: root/lua/lvim/core/comment.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/core/comment.lua')
-rw-r--r--lua/lvim/core/comment.lua126
1 files changed, 61 insertions, 65 deletions
diff --git a/lua/lvim/core/comment.lua b/lua/lvim/core/comment.lua
index 2f526c63..fc35b2e2 100644
--- a/lua/lvim/core/comment.lua
+++ b/lua/lvim/core/comment.lua
@@ -1,80 +1,76 @@
local M = {}
function M.config()
- local config = {
- opts = {
- ---Add a space b/w comment and the line
- ---@type boolean
- padding = true,
+ lvim.builtin.comment.opts = {
+ ---Add a space b/w comment and the line
+ ---@type boolean
+ padding = true,
- ---Whether cursor should stay at the
- ---same position. Only works in NORMAL
- ---mode mappings
- sticky = true,
+ ---Whether cursor should stay at the
+ ---same position. Only works in NORMAL
+ ---mode mappings
+ sticky = 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 = "^$",
+ ---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,
- ---Extra mapping
- ---Includes `gco`, `gcO`, `gcA`
- extra = true,
- },
+ ---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,
+ ---Extra mapping
+ ---Includes `gco`, `gcO`, `gcA`
+ extra = true,
+ },
- ---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 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",
- },
+ ---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",
+ },
- ---LHS of extra mappings
- ---@type table
- extra = {
- ---Add comment on the line above
- above = "gcO",
- ---Add comment on the line below
- below = "gco",
- ---Add comment at the end of line
- eol = "gcA",
- },
+ ---LHS of extra mappings
+ ---@type table
+ extra = {
+ ---Add comment on the line above
+ above = "gcO",
+ ---Add comment on the line below
+ below = "gco",
+ ---Add comment at the end of line
+ eol = "gcA",
+ },
- ---Pre-hook, called before commenting the line
- ---@type function|nil
- pre_hook = function(...)
- local loaded, ts_comment = pcall(require, "ts_context_commentstring.integrations.comment_nvim")
- if loaded and ts_comment then
- return ts_comment.create_pre_hook()(...)
- end
- end,
+ ---Pre-hook, called before commenting the line
+ ---@type function|nil
+ pre_hook = function(...)
+ local loaded, ts_comment = pcall(require, "ts_context_commentstring.integrations.comment_nvim")
+ if loaded and ts_comment then
+ return ts_comment.create_pre_hook()(...)
+ end
+ end,
- ---Post-hook, called after commenting is done
- ---@type function|nil
- post_hook = nil,
- },
+ ---Post-hook, called after commenting is done
+ ---@type function|nil
+ post_hook = nil,
}
- ---@cast config +LvimBuiltin
- require("lvim.core.builtins").extend_defaults(config)
- lvim.builtin.comment = config
+ lvim.builtin.comment = require("lvim.core.builtins").add_completion "comment"
end
function M.setup()