blob: 54cd0e89860f9b60389a299c52cf4a9ad5efc65c (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
;; Which-key provides a pop-up meny for some key mappings.
(module config.which-key {autoload {: util nvim aniseed.nvim}})
(def- setup {:plugins {:marks true
:registers true
:spelling {:enabled true :suggestions 20}
:presets {:operators false
:motions false
:text_objects false
:windows true
:nav true
:z true
:g true}}
:icons {:breadcrumb "»" :separator "" :group "+"}
:popup_mappings {:scroll_down :<c-d> :scroll_up :<c-u>}
:window {:border :rounded
:position :bottom
:margin [1 0 1 0]
:padding [2 2 2 2]
:winblend 0}
:layout {:height {:min 4 :max 25}
:width {:min 20 :max 50}
:spacing 3
:align :left}
:ignore_missing true
:hidden [:<silent> :<cmd> :<Cmd> :<CR> :call :lua "^:" "^ "]
:show_help true
:triggers :auto
:triggers_blacklist {:i [:j :k] :v [:j :k]}})
(def- opts {:mode :n
:prefix :<leader>
:buffer nil
:silent true
:noremap true
:nowait true})
(def- mappings
{:k ["<cmd>lua require('Comment.api').toggle_current_linewise()<CR>"
:Comment]
:A [:<cmd>Alpha<cr> :Alpha]
:a {:name :Aerial
:a [:<cmd>AerialToggle!<CR> "Toggle Aerial"]
:c [:<cmd>AerialClose<CR> "Close Aerial"]}
:e [:<cmd>NvimTreeToggle<cr> :Explorer]
:c [:<cmd>Bdelete!<CR> "Close Buffer"]
:n [:<cmd>nohlsearch<CR> "No Highlight"]
:P ["<cmd>Telescope projects<cr>" :Projects]
:z [:<cmd>ZenMode<cr> "Zen Mode"]
:p {:name :Packer
:c [:<cmd>PackerCompile<cr> :Compile]
:i [:<cmd>PackerInstall<cr> :Install]
:s [:<cmd>PackerSync<cr> :Sync]
:S [:<cmd>PackerStatus<cr> :Status]
:u [:<cmd>PackerUpdate<cr> :Update]}
:g {:name :Git
:g ["<cmd>lua _LAZYGIT_TOGGLE()<CR>" :Lazygit]
:j ["<cmd>lua require 'gitsigns'.next_hunk()<cr>" "Next Hunk"]
:k ["<cmd>lua require 'gitsigns'.prev_hunk()<cr>" "Prev Hunk"]
:l ["<cmd>lua require 'gitsigns'.blame_line()<cr>" :Blame]
:p ["<cmd>lua require 'gitsigns'.preview_hunk()<cr>" "Preview Hunk"]
:r ["<cmd>lua require 'gitsigns'.reset_hunk()<cr>" "Reset Hunk"]
:R ["<cmd>lua require 'gitsigns'.reset_buffer()<cr>" "Reset Buffer"]
:s ["<cmd>lua require 'gitsigns'.stage_hunk()<cr>" "Stage Hunk"]
:u ["<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>"
"Undo Stage Hunk"]
:o ["<cmd>Telescope git_status<cr>" "Open changed file"]
:b ["<cmd>Telescope git_branches<cr>" "Checkout branch"]
:c ["<cmd>Telescope git_commits<cr>" "Checkout commit"]
:d ["<cmd>Gitsigns diffthis HEAD<cr>" :Diff]
:n [:<cmd>Neogit<cr> :Neogit]}
:l {:name :LSP
:a ["<cmd>lua vim.lsp.buf.code_action()<cr>" "Code Action"]
:d ["<cmd>Telescope lsp_document_diagnostics<cr>"
"Document Diagnostics"]
:w ["<cmd>Telescope lsp_workspace_diagnostics<cr>"
"Workspace Diagnostics"]
:f ["<cmd>lua vim.lsp.buf.format { async = true }<cr>" :Format]
:i [:<cmd>LspInfo<cr> :Info]
:I [:<cmd>LspInstallInfo<cr> "Installer Info"]
:j ["<cmd>lua vim.lsp.diagnostic.goto_next()<CR>" "Next Diagnostic"]
:k ["<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>" "Prev Diagnostic"]
:l ["<cmd>lua vim.lsp.codelens.run()<cr>" "CodeLens Action"]
:q ["<cmd>lua vim.lsp.diagnostic.set_loclist()<cr>" :Quickfix]
:r ["<cmd>lua vim.lsp.buf.rename()<cr>" :Rename]
:s ["<cmd>Telescope lsp_document_symbols<cr>" "Document Symbols"]
:S ["<cmd>Telescope lsp_dynamic_workspace_symbols<cr>"
"Workspace Symbols"]}
:s [(fn switch-window []
(let [window-picker (require :window-picker)]
(let [win (window-picker.pick_window)]
(if (not= win nil)
(nvim.set_current_win win)))))
"Switch window"]
:o {:name :Orgmode
:a ["<cmd>lua require('orgmode').action('agenda.prompt')"
"Open agenda prompt"]
:c ["<cmd>lua require('orgmode').action('capture.prompt')"
"Open capture prompt"]}
:r {:name :Replace
:r ["<cmd>lua require('spectre').open()<cr>" :Replace]
:w ["<cmd>lua require('spectre').open_visual({select_word=true})<cr>"
"Replace Word"]
:f ["<cmd>lua require('spectre').open_file_search()<cr>"
"Replace Buffer"]}
:s [(fn switch-window []
(let [window-picker (require :window-picker)]
(let [win (window-picker.pick_window)]
(if (not= win nil)
(nvim.set_current_win win)))))
"Switch window"]
:T {:name :Treesitter :p [:<cmd>TSPlaygroundToggle<cr> :Playground]}})
(def- vopts {:mode :v
:prefix :<leader>
:buffer nil
:silent true
:noremap true
:nowait true})
(def- vmappings {:k ["<ESC><CMD>lua require('Comment.api').toggle_linewise_op(vim.fn.visualmode())<CR>"
:Comment]})
(let [which-key (util.load-plugin :which-key)]
(which-key.setup setup)
(which-key.register mappings opts)
(which-key.register vmappings vopts))
|