--[[ 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, } )