89 lines
2.8 KiB
Lua
89 lines
2.8 KiB
Lua
--[[
|
|
Copyright 2023 Oscar Wallberg
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
https://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
]]
|
|
|
|
-- https://github.com/numToStr/Comment.nvim
|
|
|
|
require("Comment").setup(
|
|
{
|
|
---Add a space b/w comment and the line
|
|
---@type boolean|fun():boolean
|
|
padding = true,
|
|
|
|
---Whether the cursor should stay at its position
|
|
---NOTE: This only affects NORMAL mode mappings and doesn't work with dot-repeat
|
|
---@type boolean
|
|
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|fun():string
|
|
ignore = "^$",
|
|
|
|
---LHS of toggle mappings in NORMAL + VISUAL mode
|
|
---@type table
|
|
toggler = {
|
|
---Line-comment toggle keymap
|
|
line = "gcc",
|
|
---Block-comment toggle keymap
|
|
block = "gbc",
|
|
},
|
|
|
|
---LHS of operator-pending mappings in NORMAL + VISUAL mode
|
|
---@type table
|
|
opleader = {
|
|
---Line-comment keymap
|
|
line = "gc",
|
|
---Block-comment keymap
|
|
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",
|
|
},
|
|
|
|
---Create basic (operator-pending) and extended mappings for NORMAL + VISUAL mode
|
|
---@type table
|
|
mappings = {
|
|
---Operator-pending mapping
|
|
---Includes `gcc`, `gbc`, `gc[count]{motion}` and `gb[count]{motion}`
|
|
---NOTE: These mappings can be changed individually by `opleader` and `toggler` config
|
|
basic = true,
|
|
---Extra mapping
|
|
---Includes `gco`, `gcO`, `gcA`
|
|
extra = true,
|
|
---Extended mapping
|
|
---Includes `g>`, `g<`, `g>[count]{motion}` and `g<[count]{motion}`
|
|
extended = false,
|
|
},
|
|
|
|
---Pre-hook, called before commenting the line
|
|
---@type fun(ctx: Ctx):string
|
|
pre_hook = nil,
|
|
|
|
---Post-hook, called after commenting is done
|
|
---@type fun(ctx: Ctx)
|
|
post_hook = nil,
|
|
}
|
|
)
|