summaryrefslogtreecommitdiff
path: root/fnl/plugins/editor/comment.fnl
blob: 66abb33a63964d5b63a806dc8b80ee94e0c8e374 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
;; Language aware commenting.

(local opts {:toggler {;; Line-comment toggle keymap
                       :line :mcc
                       ;; Block-comment toggle keymap
                       :block :mbc}
             ;; LHS of operator-pending mappings in NORMAL and VISUAL mode
             :opleader {;; Line-comment keymap
                        :line :mc
                        ;; Block-comment keymap
                        :block :mb}
             ;; LHS of extra mappings
             :extra {;; Add comment on the line above
                     :above :mcO
                     ;; Add comment on the line below
                     :below :mco
                     ;; Add comment at the end of line
                     :eol :mcA}})

(local user-cmds [[:CommentNormal
                   (lambda []
                     (let [comment-api (require :Comment.api)]
                       (comment-api.toggle.linewise.current)))
                   {:nargs 0}]
                  [:CommentVisual
                   (lambda []
                     (let [comment-api (require :Comment.api)]
                       (comment-api.toggle.linewise (vim.fn.visualmode))))
                   {:nargs 0}]])

(fn init []
  (let [cmds (require :util.cmds)]
    (cmds.create-user-cmds user-cmds)))

{1 :numToStr/Comment.nvim :event :BufReadPost : inti : opts}