Mercurial > dotfiles
annotate .chezmoitemplates/init.lua @ 1083:6a132d60cb29 draft
feat: update to fish 4.0.0
author | Zeger Van de Vannet <zeger@vandevan.net> |
---|---|
date | Sat, 01 Mar 2025 18:34:55 +0100 |
parents | 1108123bd416 |
children |
rev | line source |
---|---|
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1 -- |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
2 -- Neovim dotfiles |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
3 -- |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
4 -- |
582 | 5 local home = os.getenv 'HOME' |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
6 if home == nil then home = os.getenv 'USERPROFILE' end |
579 | 7 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
8 -- Bootstrap lazy |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
9 local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
10 if not vim.loop.fs_stat(lazypath) then |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
11 vim.fn.system { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
12 'git', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
13 'clone', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
14 '--filter=blob:none', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
15 'https://github.com/folke/lazy.nvim.git', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
16 '--branch=stable', -- latest stable release |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
17 lazypath, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
18 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
19 end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
20 vim.opt.rtp:prepend(lazypath) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
21 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
22 -- Set leader to space |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
23 vim.g.mapleader = ' ' |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
24 |
761
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
25 require('lazy').setup({ |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
26 -- General plugins |
761
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
27 'tpope/vim-sensible', |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
28 { 'tpope/vim-repeat' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
29 { 'tpope/vim-rsi' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
30 { 'sgur/vim-editorconfig' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
31 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
32 'ojroques/nvim-osc52', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
33 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
34 require('osc52').setup { trim = true } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
35 local copy = function(lines, _) require('osc52').copy(table.concat(lines, '\n')) end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
36 local paste = function() return { vim.fn.split(vim.fn.getreg '', '\n'), vim.fn.getregtype '' } end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
37 vim.g.clipboard = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
38 name = 'osc52', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
39 copy = { ['+'] = copy, ['*'] = copy }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
40 paste = { ['+'] = paste, ['*'] = paste }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
41 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
42 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
43 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
44 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
45 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
46 'tpope/vim-eunuch', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
47 cmd = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
48 'Delete', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
49 'Unlink', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
50 'Move', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
51 'Rename', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
52 'Mkdir', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
53 'Chmod', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
54 'Cfind', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
55 'Clocate', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
56 'Lfind', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
57 'Llocate', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
58 'SudoEdit', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
59 'SudoWrite', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
60 'Wall', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
61 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
62 }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
63 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
64 -- Smooth scrolling |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
65 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
66 'karb94/neoscroll.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
67 config = function() require('neoscroll').setup {} end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
68 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
69 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
70 -- Library with lua functions |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
71 { 'nvim-lua/plenary.nvim' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
72 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
73 -- Spelling/autocorrection |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
74 { 'tpope/vim-abolish' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
75 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
76 -- Git/VCS |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
77 { 'vim-scripts/gitignore' }, |
649
cc06db32b946
Source local plugins if available
zegervdv <zegervdv@me.com>
parents:
648
diff
changeset
|
78 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
79 { 'tpope/vim-git', ft = { 'gitcommit', 'gitrebase' } }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
80 { |
785
add486ac2046
feat: use hg-linetrace branch for diffview
zegervdv <zegervdv@me.com>
parents:
783
diff
changeset
|
81 'zegervdv/diffview.nvim', |
793
257ecaf271ee
feat: switch to hg-linetrace-2 branch for diffview.nvim
zegervdv <zegervdv@me.com>
parents:
792
diff
changeset
|
82 branch = 'hg-linetrace-2', |
761
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
83 dev = true, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
84 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
85 require('diffview').setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
86 use_icons = false, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
87 icons = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
88 folder_closed = '+', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
89 folder_open = '-', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
90 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
91 signs = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
92 fold_closed = '+', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
93 fold_open = '-', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
94 done = '✓', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
95 }, |
783
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
96 hg_cmd = { 'rhg' }, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
97 view = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
98 merge_tool = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
99 layout = 'diff4_mixed', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
100 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
101 }, |
777
7876fd87d41e
feat: do not show untracked files by default in diffview.nvim
zegervdv <zegervdv@me.com>
parents:
775
diff
changeset
|
102 default_args = { |
7876fd87d41e
feat: do not show untracked files by default in diffview.nvim
zegervdv <zegervdv@me.com>
parents:
775
diff
changeset
|
103 DiffviewOpen = { '--untracked-files=no' }, |
7876fd87d41e
feat: do not show untracked files by default in diffview.nvim
zegervdv <zegervdv@me.com>
parents:
775
diff
changeset
|
104 }, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
105 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
106 local wk = require 'which-key' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
107 wk.register { ['<leader>d'] = { name = 'Diffview' } } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
108 vim.keymap.set('n', '<leader>do', '<cmd>DiffviewOpen<CR>', { desc = 'Open Diffview' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
109 vim.keymap.set('n', '<leader>df', '<cmd>DiffviewFileHistory %<CR>', { desc = 'Show history for current file' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
110 vim.keymap.set('n', '<leader>dh', ':DiffviewFileHistory ', { desc = 'Show history' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
111 vim.keymap.set('n', '<leader>dc', '<cmd>DiffviewClose<CR>', { desc = 'Close Diffview window' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
112 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
113 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
114 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
115 -- Comments |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
116 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
117 'numToStr/Comment.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
118 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
119 local ft = require 'Comment.ft' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
120 ft.systemverilog = { '//%s', '/*%s*/' } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
121 ft.verilog = { '//%s', '/*%s*/' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
122 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
123 require('Comment').setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
124 padding = true, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
125 sticky = true, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
126 ignore = '^(%s*)$', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
127 mappings = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
128 basic = true, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
129 extra = true, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
130 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
131 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
132 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
133 keys = { |
764 | 134 { 'gc', mode = 'n', desc = 'Comment toggle' }, |
135 { 'gb', mode = 'n', desc = 'Comment Block toggle' }, | |
136 { 'gc', mode = 'v', desc = 'Comment toggle' }, | |
137 { 'gb', mode = 'v', desc = 'Comment block toggle' }, | |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
138 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
139 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
140 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
141 -- Parentheses etc |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
142 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
143 'kylechui/nvim-surround', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
144 config = function() require('nvim-surround').setup() end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
145 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
146 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
147 'windwp/nvim-autopairs', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
148 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
149 local npairs = require 'nvim-autopairs' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
150 local Rule = require 'nvim-autopairs.rule' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
151 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
152 local cmp = require 'nvim-autopairs.completion.cmp' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
153 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
154 require('cmp').event:on('confirm_done', cmp.on_confirm_done()) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
155 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
156 npairs.setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
157 ignored_next_char = string.gsub([[ [%w%%%'%[%.] ]], '%s+', ''), |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
158 enable_afterquote = false, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
159 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
160 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
161 npairs.add_rules { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
162 Rule(' ', ' '):with_pair(function(opts) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
163 local pair = opts.line:sub(opts.col - 1, opts.col) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
164 return vim.tbl_contains({ '()', '[]', '{}' }, pair) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
165 end), |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
166 Rule('( ', ' )') |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
167 :with_pair(function() return false end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
168 :with_move(function(opts) return opts.prev_char:match '.%)' ~= nil end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
169 :use_key ')', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
170 Rule('{ ', ' }') |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
171 :with_pair(function() return false end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
172 :with_move(function(opts) return opts.prev_char:match '.%}' ~= nil end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
173 :use_key '}', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
174 Rule('[ ', ' ]') |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
175 :with_pair(function() return false end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
176 :with_move(function(opts) return opts.prev_char:match '.%]' ~= nil end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
177 :use_key ']', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
178 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
179 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
180 npairs.get_rule('`'):with_pair(function() return vim.bo.filetype ~= 'systemverilog' end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
181 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
182 npairs.get_rule("'")[1]:with_pair(function() return vim.bo.filetype ~= 'systemverilog' end) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
183 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
184 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
185 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
186 -- Moving around within lines |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
187 { 'wellle/targets.vim', event = 'InsertEnter *' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
188 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
189 -- Search |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
190 -- Opening files |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
191 { 'wsdjeg/vim-fetch' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
192 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
193 -- session management |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
194 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
195 'folke/persistence.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
196 event = 'BufReadPre', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
197 config = function() require('persistence').setup() end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
198 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
199 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
200 -- Indent lines |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
201 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
202 'lukas-reineke/indent-blankline.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
203 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
204 vim.g.indent_blankline_buftype_exclude = { 'terminal', 'help', 'nofile' } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
205 vim.g.indent_blankline_show_first_indent_level = false |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
206 vim.g.indent_blankline_char = '│' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
207 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
208 }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
209 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
210 -- Increment/decrement |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
211 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
212 'zegervdv/nrpattern.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
213 branch = 'lua', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
214 dependencies = 'tpope/vim-repeat', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
215 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
216 local nrpattern = require 'nrpattern' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
217 local defaults = require 'nrpattern.default' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
218 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
219 defaults[{ 'input', 'output' }] = { priority = 12, filetypes = { 'verilog', 'systemverilog' } } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
220 defaults[{ "'1", "'0" }] = { priority = 9, filetypes = { 'verilog', 'systemverilog' } } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
221 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
222 nrpattern.setup(defaults) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
223 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
224 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
225 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
226 -- Tmux |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
227 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
228 'numtostr/navigator.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
229 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
230 require('Navigator').setup { auto_save = 'current', disable_on_zoom = true } |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
231 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
232 local nmap = function(lhs, rhs, opts) return vim.keymap.set('n', lhs, rhs, opts) end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
233 nmap('<c-h>', require('Navigator').left, { silent = true }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
234 nmap('<c-j>', require('Navigator').down, { silent = true }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
235 nmap('<c-k>', require('Navigator').up, { silent = true }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
236 nmap('<c-l>', require('Navigator').right, { silent = true }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
237 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
238 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
239 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
240 -- Keymap help |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
241 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
242 'folke/which-key.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
243 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
244 require('which-key').setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
245 plugins = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
246 spelling = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
247 enabled = true, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
248 suggestions = 20, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
249 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
250 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
251 triggers = { '<leader>', 'g', '<c-w>', '"', '`', 'z' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
252 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
253 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
254 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
255 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
256 -- Completion/snippets/LSP |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
257 { 'neovim/nvim-lspconfig' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
258 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
259 'hrsh7th/nvim-cmp', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
260 dependencies = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
261 'hrsh7th/cmp-buffer', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
262 'hrsh7th/cmp-nvim-lsp', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
263 'saadparwaiz1/cmp_luasnip', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
264 'hrsh7th/cmp-path', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
265 'hrsh7th/cmp-cmdline', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
266 'hrsh7th/cmp-nvim-lsp-signature-help', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
267 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
268 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
269 local cmp = require 'cmp' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
270 local luasnip = require 'luasnip' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
271 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
272 cmp.setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
273 snippet = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
274 expand = function(args) luasnip.lsp_expand(args.body) end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
275 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
276 mapping = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
277 ['<C-p>'] = { i = cmp.mapping.select_prev_item() }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
278 ['<C-n>'] = { i = cmp.mapping.select_next_item() }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
279 ['<C-d>'] = { i = cmp.mapping.scroll_docs(-4) }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
280 ['<C-y>'] = { i = cmp.mapping.complete() }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
281 ['<C-e>'] = { i = cmp.mapping.close() }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
282 ['<CR>'] = { i = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace } }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
283 ['<C-k>'] = { i = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace } }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
284 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
285 sources = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
286 { name = 'nvim_lsp' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
287 { name = 'nvim_lsp_signature_help' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
288 { name = 'buffer', keyword_length = 5 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
289 { name = 'luasnip' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
290 { name = 'path' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
291 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
292 experimental = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
293 native_menu = false, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
294 ghost_text = true, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
295 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
296 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
297 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
298 cmp.setup.cmdline(':', { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
299 mapping = cmp.mapping.preset.cmdline { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
300 ['<C-p>'] = { c = cmp.mapping.select_prev_item() }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
301 ['<C-n>'] = { c = cmp.mapping.select_next_item() }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
302 ['<C-y>'] = { c = cmp.mapping.complete() }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
303 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
304 sources = cmp.config.sources({ |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
305 { name = 'path' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
306 }, { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
307 { name = 'cmdline', keyword_length = 4 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
308 }), |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
309 }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
310 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
311 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
312 { |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
313 'nvim-treesitter/nvim-treesitter', |
800
1108123bd416
chore: ping nvim-treesitter to v0.9.1 until new neovim version
zegervdv <zegervdv@me.com>
parents:
796
diff
changeset
|
314 version = 'v0.9.1', |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
315 config = function() |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
316 require 'nvim-treesitter.highlight' |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
317 |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
318 require('nvim-treesitter.configs').setup { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
319 ensure_installed = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
320 'python', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
321 'lua', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
322 'verilog', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
323 'json', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
324 'yaml', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
325 'bash', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
326 'dockerfile', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
327 'c', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
328 'cpp', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
329 'regex', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
330 'markdown', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
331 'rst', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
332 'beancount', |
792 | 333 'rust', |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
334 }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
335 indent = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
336 enable = false, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
337 }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
338 highlight = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
339 enable = true, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
340 disable = { 'systemverilog', 'verilog' }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
341 }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
342 incremental_selection = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
343 enable = true, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
344 keymaps = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
345 init_selection = 'gnn', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
346 node_incremental = 'grn', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
347 scope_incremental = 'grc', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
348 node_decremental = 'grm', |
734
485de5dc7ef2
feat: configure fold/folder icons for diffview
zegervdv <zegervdv@me.com>
parents:
733
diff
changeset
|
349 }, |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
350 }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
351 refactor = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
352 highlight_definitions = { enable = true }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
353 smart_rename = { enable = true, keymaps = { smart_rename = 'gsr' } }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
354 navigation = { |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
355 enable = true, |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
356 keymaps = { goto_definition = 'gnd', list_definitions = 'gnD' }, |
734
485de5dc7ef2
feat: configure fold/folder icons for diffview
zegervdv <zegervdv@me.com>
parents:
733
diff
changeset
|
357 }, |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
358 }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
359 textobjects = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
360 move = { |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
361 enable = true, |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
362 goto_next_start = { [']]'] = '@block.outer' }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
363 goto_previous_start = { ['[['] = '@block.outer' }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
364 goto_next_end = { [']['] = '@block.outer' }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
365 goto_previous_end = { ['[]'] = '@block.outer' }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
366 }, |
796
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
367 swap = { |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
368 enable = true, |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
369 swap_next = { |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
370 ['<A-n>'] = '@parameter.inner', |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
371 }, |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
372 swap_previous = { |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
373 ['<A-p>'] = '@parameter.inner', |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
374 }, |
ca13a257ffe4
feat: Add treesitter based swap mappings
zegervdv <zegervdv@me.com>
parents:
795
diff
changeset
|
375 }, |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
376 select = { |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
377 enable = true, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
378 lookahead = true, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
379 keymaps = { |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
380 ['af'] = '@function.outer', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
381 ['if'] = '@function.inner', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
382 ['ab'] = '@block.outer', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
383 ['ib'] = '@block.inner', |
715
28900bda2334
feat: enable 4 way diff in diffview
zegervdv <zegervdv@me.com>
parents:
714
diff
changeset
|
384 }, |
28900bda2334
feat: enable 4 way diff in diffview
zegervdv <zegervdv@me.com>
parents:
714
diff
changeset
|
385 }, |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
386 }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
387 playground = { enable = true, disable = {}, updatetime = 25, persist_queries = false }, |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
388 } |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
389 end, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
390 }, |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
391 'nvim-treesitter/nvim-treesitter-refactor', |
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
392 'nvim-treesitter/nvim-treesitter-textobjects', |
763
04b8d569ff9d
fix: use cmd to lazy load on command
zegervdv <zegervdv@me.com>
parents:
762
diff
changeset
|
393 { 'nvim-treesitter/playground', cmd = 'TSPlaygroundToggle' }, |
778
405ff835995a
feat: enable autosnippets for luasnip
zegervdv <zegervdv@me.com>
parents:
777
diff
changeset
|
394 { 'L3MON4D3/luasnip', config = function() require('luasnip').setup { enable_autosnippets = true } end }, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
395 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
396 'rmagatti/goto-preview', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
397 config = function() require('goto-preview').setup {} end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
398 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
399 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
400 'jose-elias-alvarez/null-ls.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
401 dependencies = 'nvim-lua/plenary.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
402 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
403 { 'folke/neodev.nvim', version = '2.5.x' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
404 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
405 'smjonas/inc-rename.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
406 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
407 require('inc_rename').setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
408 post_hook = function(result) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
409 local changed = {} |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
410 for uri, changes in pairs(result.changes or result.documentChanges) do |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
411 local bufnr = vim.uri_to_bufnr(uri) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
412 for _, edits in ipairs(changes) do |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
413 table.insert(changed, { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
414 bufnr = bufnr, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
415 lnum = edits.range.start.line + 1, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
416 col = edits.range.start.character + 1, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
417 text = vim.api.nvim_buf_get_lines(bufnr, edits.range.start.line, edits.range.start.line + 1, false)[1], |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
418 }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
419 end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
420 end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
421 vim.fn.setqflist(changed, 'r') |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
422 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
423 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
424 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
425 }, |
787 | 426 { 'lewis6991/tree-sitter-tcl', build = 'make' }, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
427 { |
786 | 428 'yaocccc/nvim-hl-mdcodeblock.lua', |
429 after = 'nvim-treesitter', | |
430 config = function() require('hl-mdcodeblock').setup {} end, | |
431 }, | |
432 | |
433 { | |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
434 'joechrisellis/lsp-format-modifications.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
435 dependencies = { 'nvim-lua/plenary.nvim' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
436 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
437 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
438 'vigoux/notifier.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
439 config = function() require('notifier').setup { status_width = 70 } end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
440 }, |
739 | 441 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
442 { |
783
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
443 'SmiteshP/nvim-navic', |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
444 dependencies = { 'neovim/nvim-lspconfig' }, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
445 }, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
446 |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
447 { |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
448 'ThePrimeagen/refactoring.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
449 dependencies = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
450 'nvim-lua/plenary.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
451 'nvim-treesitter/nvim-treesitter', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
452 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
453 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
454 local refactoring = require 'refactoring' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
455 local wk = require 'which-key' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
456 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
457 refactoring.setup {} |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
458 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
459 wk.register { ['<leader>r'] = { name = 'Refactoring' } } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
460 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
461 local maps = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
462 { mode = 'v', key = 'e', name = 'Extract Function' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
463 { mode = 'v', key = 'f', name = 'Extract Function To File' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
464 { mode = 'v', key = 'v', name = 'Extract Variable' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
465 { mode = 'v', key = 'i', name = 'Inline Variable' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
466 { mode = 'n', key = 'b', name = 'Extract Block' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
467 { mode = 'n', key = 'bf', name = 'Extract Block To File' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
468 { mode = 'n', key = 'i', name = 'Inline Variable' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
469 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
470 for _, map in ipairs(maps) do |
739 | 471 vim.keymap.set( |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
472 map.mode, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
473 '<leader>r' .. map.key, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
474 function() refactoring.refactor(map.name) end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
475 { desc = map.name, silent = true, expr = false } |
739 | 476 ) |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
477 end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
478 vim.keymap.set( |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
479 'n', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
480 '<leader>rpp', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
481 function() refactoring.debug.printf { below = false } end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
482 { desc = 'Add debug print statement', silent = true } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
483 ) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
484 vim.keymap.set( |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
485 'n', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
486 '<leader>rpv', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
487 function() refactoring.debug.print_var { normal = true } end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
488 { desc = 'Print variable', silent = true } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
489 ) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
490 vim.keymap.set( |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
491 'v', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
492 '<leader>rpv', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
493 function() refactoring.debug.print_var() end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
494 { desc = 'Print variable', silent = true } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
495 ) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
496 vim.keymap.set( |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
497 'n', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
498 '<leader>rpc', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
499 function() refactoring.debug.cleanup {} end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
500 { desc = 'Clean up debug prints', silent = true } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
501 ) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
502 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
503 }, |
746
cc66c8f2d548
feat: replace vim-grepper with fzf-lua and some mappings
zegervdv <zegervdv@me.com>
parents:
744
diff
changeset
|
504 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
505 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
506 'ibhagwan/fzf-lua', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
507 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
508 local fzf = require 'fzf-lua' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
509 fzf.setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
510 winopts = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
511 border = 'single', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
512 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
513 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
514 fzf.register_ui_select() |
746
cc66c8f2d548
feat: replace vim-grepper with fzf-lua and some mappings
zegervdv <zegervdv@me.com>
parents:
744
diff
changeset
|
515 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
516 local grep_opts = function(pattern) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
517 local utils = require 'fzf-lua.utils' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
518 local config = require 'fzf-lua.config' |
746
cc66c8f2d548
feat: replace vim-grepper with fzf-lua and some mappings
zegervdv <zegervdv@me.com>
parents:
744
diff
changeset
|
519 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
520 local args = utils.input 'rg opts> ' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
521 local rg_opts = config.globals.grep.rg_opts .. ' ' .. args |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
522 local opts = config.normalize_opts({ rg_opts = rg_opts }, config.globals.grep) |
746
cc66c8f2d548
feat: replace vim-grepper with fzf-lua and some mappings
zegervdv <zegervdv@me.com>
parents:
744
diff
changeset
|
523 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
524 opts.search = pattern |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
525 fzf.live_grep(opts) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
526 end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
527 local get_selected_word = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
528 local start_pos = vim.fn.getpos "'[" |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
529 local end_pos = vim.fn.getpos "']" |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
530 local start_line = math.min(start_pos[2], end_pos[2]) - 1 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
531 local end_line = math.max(start_pos[2], end_pos[2]) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
532 local start_col = math.min(start_pos[3], end_pos[3]) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
533 local end_col = math.max(start_pos[3], end_pos[3]) |
746
cc66c8f2d548
feat: replace vim-grepper with fzf-lua and some mappings
zegervdv <zegervdv@me.com>
parents:
744
diff
changeset
|
534 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
535 local line = vim.api.nvim_buf_get_lines(0, start_line, end_line, true) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
536 return line[1]:sub(start_col, end_col) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
537 end |
746
cc66c8f2d548
feat: replace vim-grepper with fzf-lua and some mappings
zegervdv <zegervdv@me.com>
parents:
744
diff
changeset
|
538 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
539 vim.keymap.set({ 'n' }, '<leader>fg', function() grep_opts() end, { desc = 'Live grep prompting for options' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
540 vim.keymap.set({ 'n' }, '<leader>ff', function() fzf.files() end, { desc = 'Search for files' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
541 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
542 function _G.__live_grep(motion) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
543 local word = get_selected_word() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
544 fzf.live_grep { search = word } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
545 end |
620 | 546 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
547 vim.keymap.set({ 'x', 'n' }, 'gs', function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
548 vim.o.operatorfunc = 'v:lua.__live_grep' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
549 return 'g@' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
550 end, { expr = true, desc = 'Live grep for word' }) |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
551 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
552 function _G.__live_grep_opts(motion) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
553 local word = get_selected_word() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
554 grep_opts(word) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
555 end |
706 | 556 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
557 vim.keymap.set({ 'x', 'n' }, 'gt', function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
558 vim.o.operatorfunc = 'v:lua.__live_grep_opts' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
559 return 'g@' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
560 end, { expr = true, desc = 'Live grep for word with options' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
561 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
562 }, |
605
2828b29de182
switch to heirline as status line
zegervdv <zegervdv@me.com>
parents:
604
diff
changeset
|
563 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
564 { 'vimjas/vim-python-pep8-indent', ft = { 'python' } }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
565 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
566 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
567 'rebelot/heirline.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
568 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
569 local utils = require 'heirline.utils' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
570 local conditions = require 'heirline.conditions' |
706 | 571 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
572 local colors |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
573 if os.getenv 'DARKMODE' then |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
574 colors = require('catppuccin.palettes').get_palette 'macchiato' |
765
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
575 colors.diag_warn = utils.get_highlight('DiagnosticSignWarn').fg |
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
576 colors.diag_error = utils.get_highlight('DiagnosticSignError').fg |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
577 else |
765
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
578 colors = { |
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
579 blue = '#2f6f9f', |
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
580 green = '#73b00a', |
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
581 orange = '#e9a700', |
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
582 diag_warn = '#e9a700', |
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
583 diag_error = '#f93232', |
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
584 } |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
585 end |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
586 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
587 require('heirline').load_colors(colors) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
588 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
589 local align = { provider = '%=' } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
590 local space = { provider = ' ' } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
591 local lbound = { provider = '▊ ', hl = { fg = 'blue', bg = 'bg' } } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
592 local rbound = { provider = ' ▊', hl = { fg = 'blue', bg = 'bg' } } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
593 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
594 local FileNameBlock = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
595 init = function(self) self.filename = vim.api.nvim_buf_get_name(0) end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
596 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
597 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
598 local FileName = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
599 provider = function(self) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
600 local filename = vim.fn.fnamemodify(self.filename, ':.') |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
601 if filename == '' then return '[No Name]' end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
602 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
603 if not conditions.width_percent_below(#filename, 0.25) then filename = vim.fn.pathshorten(filename) end |
609 | 604 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
605 return filename |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
606 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
607 hl = { fg = 'blue' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
608 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
609 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
610 local FileFlags = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
611 { |
605
2828b29de182
switch to heirline as status line
zegervdv <zegervdv@me.com>
parents:
604
diff
changeset
|
612 provider = function() |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
613 if vim.bo.modified then return ' [+]' end |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
614 end, |
605
2828b29de182
switch to heirline as status line
zegervdv <zegervdv@me.com>
parents:
604
diff
changeset
|
615 hl = { fg = 'green' }, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
616 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
617 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
618 provider = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
619 if not vim.bo.modifiable or vim.bo.readonly then return ' RO' end |
706 | 620 end, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
621 hl = { fg = 'orange' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
622 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
623 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
624 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
625 FileNameBlock = utils.insert(FileNameBlock, FileName, unpack(FileFlags), { provider = '%<' }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
626 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
627 local Ruler = { provider = '%l : %c %P' } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
628 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
629 local Lsp = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
630 condition = conditions.lsp_attached, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
631 update = { 'LspAttach', 'LspDetach' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
632 provider = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
633 local names = {} |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
634 for _, server in pairs(vim.lsp.get_active_clients { bufnr = 0 }) do |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
635 table.insert(names, server.name) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
636 end |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
637 return table.concat(names, ', ') |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
638 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
639 hl = { fg = 'green' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
640 } |
605
2828b29de182
switch to heirline as status line
zegervdv <zegervdv@me.com>
parents:
604
diff
changeset
|
641 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
642 local Diagnostics = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
643 condition = conditions.has_diagnostics, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
644 init = function(self) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
645 self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
646 self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
647 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
648 update = { 'DiagnosticChanged', 'BufEnter' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
649 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
650 provider = function(self) return self.errors > 0 and self.errors .. ' ' end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
651 hl = { fg = 'diag_error' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
652 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
653 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
654 provider = function(self) return self.warnings > 0 and self.warnings .. ' ' end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
655 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
656 hl = { fg = 'diag_warn' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
657 on_click = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
658 callback = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
659 local diagnostics = vim.diagnostic.get(0, { severity = { min = vim.diagnostic.severity.WARN } }) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
660 vim.fn.setqflist(vim.diagnostic.toqflist(diagnostics)) |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
661 vim.cmd.copen { mods = { split = 'botright' } } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
662 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
663 name = 'heirline_diagnostics', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
664 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
665 } |
725
624d8036f5ae
feat: add window number to inactive window and a mapping to select it
zegervdv <zegervdv@me.com>
parents:
724
diff
changeset
|
666 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
667 local Window = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
668 provider = function() return '- ' .. vim.api.nvim_win_get_number(0) .. ' -' end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
669 hl = { fg = 'blue' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
670 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
671 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
672 local statusline_default = { lbound, FileNameBlock, align, Diagnostics, Lsp, space, Ruler, rbound } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
673 local statusline_inactive = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
674 condition = function() return not conditions.is_active() end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
675 lbound, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
676 FileNameBlock, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
677 align, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
678 Window, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
679 rbound, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
680 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
681 local statusline = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
682 fallthrough = false, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
683 hl = { bg = 'bg' }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
684 statusline_inactive, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
685 statusline_default, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
686 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
687 |
783
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
688 local navic = require 'nvim-navic' |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
689 local winbar = { |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
690 fallthrough = false, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
691 condition = function() return navic.is_available() end, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
692 static = { |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
693 -- bit operation dark magic, see below... |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
694 enc = function(line, col, winnr) return bit.bor(bit.lshift(line, 16), bit.lshift(col, 6), winnr) end, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
695 -- line: 16 bit (65535); col: 10 bit (1023); winnr: 6 bit (63) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
696 dec = function(c) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
697 local line = bit.rshift(c, 16) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
698 local col = bit.band(bit.rshift(c, 6), 1023) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
699 local winnr = bit.band(c, 63) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
700 return line, col, winnr |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
701 end, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
702 }, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
703 init = function(self) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
704 local data = navic.get_data() or {} |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
705 local children = {} |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
706 for i, loc in ipairs(data) do |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
707 local pos = self.enc(loc.scope.start.line, loc.scope.start.character, self.winnr) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
708 local child = { |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
709 { |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
710 provider = loc.name, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
711 on_click = { |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
712 minwid = pos, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
713 callback = function(_, minwid) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
714 local line, col, winnr = self.dec(minwid) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
715 vim.api.nvim_win_set_cursor(vim.fn.win_getid(winnr), { line, col }) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
716 end, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
717 name = 'heirline_navic', |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
718 }, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
719 }, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
720 } |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
721 |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
722 if #data > 1 and i < #data then table.insert(child, { provider = ' > ' }) end |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
723 table.insert(children, child) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
724 end |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
725 |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
726 self.child = self:new(children, 1) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
727 end, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
728 provider = function(self) return self.child:eval() end, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
729 update = 'CursorMoved', |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
730 } |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
731 |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
732 require('heirline').setup { |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
733 statusline = statusline, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
734 winbar = winbar, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
735 opts = { |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
736 disable_winbar_cb = function(args) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
737 return not conditions.buffer_matches { filetype = { 'python', 'verilog', 'systemverilog', 'cpp', 'c' } } |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
738 -- TODO: If LSP is not attached when opening the window, this does not work |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
739 -- return not navic.is_available(args.bufnr) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
740 end, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
741 }, |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
742 } |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
743 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
744 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
745 |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
746 -- File navigation |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
747 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
748 'elihunter173/dirbuf.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
749 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
750 require('dirbuf').setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
751 hash_padding = 2, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
752 show_hidden = true, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
753 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
754 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
755 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
756 |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
757 -- Colorscheme |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
758 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
759 'zegervdv/espresso-tutti-colori.nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
760 cond = not os.getenv 'DARKMODE', |
761
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
761 dev = true, |
765
d6e944feec8d
feat: update light colorscheme settings
zegervdv <zegervdv@me.com>
parents:
764
diff
changeset
|
762 config = function() vim.cmd.colorscheme 'espresso_tutti_colori' end, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
763 priority = 1000, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
764 lazy = false, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
765 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
766 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
767 'catppuccin/nvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
768 name = 'catppuccin', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
769 cond = not not os.getenv 'DARKMODE', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
770 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
771 require('catppuccin').setup { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
772 flavour = 'macchiato', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
773 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
774 vim.cmd.colorscheme 'catppuccin-macchiato' |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
775 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
776 priority = 1000, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
777 lazy = false, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
778 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
779 |
786 | 780 -- Notekeeping |
781 { | |
782 'mickael-menu/zk-nvim', | |
783 }, | |
784 | |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
785 -- Integration with external tools |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
786 { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
787 'glacambre/firenvim', |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
788 build = function() vim.fn['firenvim#install'](0) end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
789 config = function() |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
790 vim.g.firenvim_config = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
791 localSettings = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
792 ['.*'] = { |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
793 takeover = 'never', |
582 | 794 }, |
760
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
795 }, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
796 } |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
797 end, |
b64652ec91cb
feat: migrate to lazy.nvim plugin manager
zegervdv <zegervdv@me.com>
parents:
757
diff
changeset
|
798 }, |
761
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
799 }, { |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
800 dev = { |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
801 path = '~/Projects', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
802 fallback = true, |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
803 }, |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
804 ui = { |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
805 icons = { |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
806 cmd = '⌘', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
807 config = '🛠', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
808 event = '📅', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
809 ft = '📂', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
810 init = '⚙', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
811 keys = '🗝', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
812 plugin = '🔌', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
813 runtime = '💻', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
814 source = '📄', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
815 start = '🚀', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
816 task = '📌', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
817 lazy = '💤 ', |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
818 }, |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
819 }, |
ec5b57266af2
feat: add lazy-lock.json as a symlink
zegervdv <zegervdv@me.com>
parents:
760
diff
changeset
|
820 }) |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
821 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
822 -- Configuration |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
823 vim.opt.backspace = { 'indent', 'eol', 'start' } -- Backspace everything |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
824 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
825 vim.opt.autoread = true -- Read changed files |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
826 vim.opt.hidden = true -- Allow to move away from modified files |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
827 vim.opt.autowriteall = true -- Write changes when losing focus |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
828 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
829 -- Visuals |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
830 vim.opt.number = true |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
831 vim.opt.relativenumber = true |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
832 vim.opt.scrolloff = 4 |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
833 vim.opt.showcmd = true -- Show incomplete commands while typing |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
834 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
835 vim.opt.termguicolors = true |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
836 vim.opt.background = 'dark' |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
837 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
838 vim.opt.showmatch = true -- Highligh matching braces |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
839 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
840 vim.opt.wrap = true -- Wrap lines |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
841 vim.opt.wrapmargin = 2 -- Stay 2 chars from side |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
842 vim.opt.textwidth = 79 |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
843 vim.opt.colorcolumn = '81' -- Show indication of 81 chars |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
844 vim.opt.linebreak = true -- Smarter wrapping |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
845 vim.opt.breakindent = true -- Indent wrapped lines to same level |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
846 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
847 vim.opt.fixendofline = true -- Add EOL when missing |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
848 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
849 vim.opt.expandtab = true -- Add spaces when pressing tab |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
850 vim.opt.tabstop = 2 -- Tab is 2 spaces |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
851 vim.opt.shiftwidth = 2 -- Shift per 2 spaces |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
852 vim.opt.shiftround = true -- Round shifts to allign (1 space + tab = 2 spaces) |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
853 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
854 -- Searching and substitute |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
855 vim.opt.magic = true -- Enable regexes |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
856 vim.opt.hlsearch = true -- Highlight all matches |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
857 vim.opt.incsearch = true -- Show matches while typing |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
858 vim.opt.ignorecase = true |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
859 vim.opt.smartcase = true -- When search pattern contains cases, be case sensitive |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
860 vim.opt.gdefault = true -- Use global flag for substitute: replace all matches on line |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
861 vim.opt.inccommand = 'nosplit' -- Show live replacements directly in text |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
862 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
863 vim.opt.autoindent = true |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
864 vim.opt.cindent = true -- C-syntax based indenting |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
865 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
866 vim.opt.updatetime = 300 -- Faster triggering of CursorHold events |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
867 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
868 vim.opt.errorbells = false -- Don't you beep to me |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
869 vim.opt.title = false -- Don't set the shell title |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
870 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
871 vim.opt.history = 1000 -- Remember last commands |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
872 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
873 vim.opt.wildmenu = true -- Command completion |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
874 vim.opt.wildmode = 'longest:full,full' |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
875 vim.opt.shortmess:append 'c' -- Hide ins-completion messages |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
876 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
877 vim.opt.ttyfast = true -- fast terminal |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
878 vim.opt.lazyredraw = true |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
879 vim.opt.ttimeoutlen = -1 -- Minimum timeout |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
880 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
881 vim.opt.diffopt:append 'iwhite' -- Ignore whitespace in diffs |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
882 vim.opt.diffopt:append 'internal' -- Internal diff engine |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
883 vim.opt.diffopt:append 'algorithm:patience' -- Use patience algorithm |
775
951fb526b510
feat: enable new linematch diffopt
zegervdv <zegervdv@me.com>
parents:
765
diff
changeset
|
884 vim.opt.diffopt:append 'linematch:60' -- Second order diff to align lines |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
885 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
886 vim.opt.tags = { '.git/tags', 'tags' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
887 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
888 vim.opt.path:append '**' -- Recursively search current directory |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
889 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
890 vim.opt.formatoptions = { |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
891 c = true, -- Wrap comments |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
892 r = true, -- Continue comments |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
893 o = true, -- Insert comment with o/O |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
894 q = true, -- Format comments with gq |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
895 n = true, -- Indent numbered lists |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
896 [2] = true, -- Indent from 2nd line of paragraph |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
897 [1] = true, -- Don't break before one letter words |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
898 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
899 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
900 vim.opt.signcolumn = 'yes' -- Always show signcolumn |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
901 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
902 vim.opt.cursorline = true |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
903 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
904 vim.opt.startofline = false -- When moving try to keep cursor in column |
543
15d6c097f1c9
set nostartofline to keep cursor in same column when scrolling
zegervdv <zegervdv@me.com>
parents:
541
diff
changeset
|
905 |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
906 -- Show certain characters |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
907 vim.opt.list = true |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
908 vim.opt.listchars = { trail = '·', extends = '>', precedes = '<', nbsp = '+', tab = '▸ ' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
909 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
910 vim.opt.sessionoptions:remove 'options' -- Remove options from saved sessions (reload from config) |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
911 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
912 vim.opt.completeopt = { 'menu', 'menuone', 'noselect' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
913 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
914 vim.opt.splitright = true -- Open new splits to right |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
915 vim.opt.virtualedit = 'block' -- Enable block editting |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
916 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
917 vim.opt.conceallevel = 0 -- Disable conceal |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
918 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
919 vim.opt.pastetoggle = '<F2>' -- Enable paste mode |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
920 |
648
c5ed13440614
Set and optionally create backup and undo dirs
zegervdv <zegervdv@me.com>
parents:
646
diff
changeset
|
921 local optdir = function(path) |
c5ed13440614
Set and optionally create backup and undo dirs
zegervdv <zegervdv@me.com>
parents:
646
diff
changeset
|
922 local Path = require 'plenary.path' |
c5ed13440614
Set and optionally create backup and undo dirs
zegervdv <zegervdv@me.com>
parents:
646
diff
changeset
|
923 local full_path = Path:new(vim.fn.stdpath 'cache' .. '/' .. path) |
c5ed13440614
Set and optionally create backup and undo dirs
zegervdv <zegervdv@me.com>
parents:
646
diff
changeset
|
924 if not full_path:exists() then full_path:mkdir { parents = true } end |
c5ed13440614
Set and optionally create backup and undo dirs
zegervdv <zegervdv@me.com>
parents:
646
diff
changeset
|
925 return full_path .. '//' |
c5ed13440614
Set and optionally create backup and undo dirs
zegervdv <zegervdv@me.com>
parents:
646
diff
changeset
|
926 end |
c5ed13440614
Set and optionally create backup and undo dirs
zegervdv <zegervdv@me.com>
parents:
646
diff
changeset
|
927 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
928 vim.opt.undofile = true -- Persistently remember undos |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
929 vim.opt.undolevels = 1000 |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
930 vim.opt.undodir = optdir 'undo' |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
931 vim.opt.swapfile = false -- Disable swap files |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
932 vim.opt.backup = true -- Keep backups |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
933 vim.opt.backupdir = optdir 'backup' |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
934 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
935 -- Files to ignore from completion |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
936 vim.opt.wildignore:append { |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
937 '*/tmp/*', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
938 '*.so', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
939 '*.swp', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
940 '*.zip', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
941 '*.o', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
942 '*.bin', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
943 '*.elf', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
944 '*.hex', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
945 '*.eps', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
946 '.git/*', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
947 '*.dup', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
948 '.hg/**', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
949 '*.orig', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
950 '*.*~', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
951 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
952 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
953 vim.opt.mouse = { |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
954 n = true, -- Normal mode |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
955 i = true, -- Insert mode |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
956 c = true, -- Commandline mode |
738
d63750fc240f
feat: enable visual selection with mouse
zegervdv <zegervdv@me.com>
parents:
737
diff
changeset
|
957 v = true, -- Visual mode |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
958 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
959 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
960 vim.opt.fillchars:append { |
606 | 961 diff = '╱', |
962 } | |
963 | |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
964 vim.opt.jumpoptions:append { 'view' } |
633
9f040a50eac8
add view to jumpoptions to preserve view when mark was set
zegervdv <zegervdv@me.com>
parents:
632
diff
changeset
|
965 |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
966 vim.opt.foldmethod = 'expr' |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
967 vim.opt.foldexpr = 'nvim_treesitter#foldexpr()' |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
968 vim.opt.foldnestmax = 3 |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
969 vim.opt.foldminlines = 1 |
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
970 vim.opt.foldtext = |
463 | 971 [[substitute(getline(v:foldstart),'\\t',repeat('\ ',&tabstop),'g').'...'.trim(getline(v:foldend)) . ' (' . (v:foldend - v:foldstart + 1) . ' lines)']] |
726
2a341028a2c5
fix: use full vim.opt to avoid diagnostic warnings
zegervdv <zegervdv@me.com>
parents:
725
diff
changeset
|
972 vim.opt.foldenable = false |
463 | 973 |
616 | 974 function _G.qftf(info) |
975 local items | |
976 local ret = {} | |
977 if info.quickfix == 1 then | |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
978 items = vim.fn.getqflist({ id = info.id, items = 0 }).items |
616 | 979 else |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
980 items = vim.fn.getloclist(info.winid, { id = info.id, items = 0 }).items |
616 | 981 end |
982 local limit = 31 | |
983 local fnameFmt1, fnameFmt2 = '%-' .. limit .. 's', '…%.' .. (limit - 1) .. 's' | |
984 local validFmt = '%s │%5d:%-3d│%s %s' | |
985 for i = info.start_idx, info.end_idx do | |
986 local e = items[i] | |
987 local fname = '' | |
988 local str | |
989 if e.valid == 1 then | |
990 if e.bufnr > 0 then | |
762
67df970646c1
fix: clean up after lazy migration
zegervdv <zegervdv@me.com>
parents:
761
diff
changeset
|
991 fname = vim.fn.bufname(e.bufnr) |
616 | 992 if fname == '' then |
993 fname = '[No Name]' | |
994 else | |
995 fname = fname:gsub('^' .. vim.env.HOME, '~') | |
996 end | |
997 -- char in fname may occur more than 1 width, ignore this issue in order to keep performance | |
998 if #fname <= limit then | |
999 fname = fnameFmt1:format(fname) | |
1000 else | |
1001 fname = fnameFmt2:format(fname:sub(1 - limit)) | |
1002 end | |
1003 end | |
1004 local lnum = e.lnum > 99999 and -1 or e.lnum | |
1005 local col = e.col > 999 and -1 or e.col | |
1006 local qtype = e.type == '' and '' or ' ' .. e.type:sub(1, 1):upper() | |
1007 str = validFmt:format(fname, lnum, col, qtype, e.text) | |
1008 else | |
1009 str = e.text | |
1010 end | |
1011 table.insert(ret, str) | |
1012 end | |
1013 return ret | |
1014 end | |
1015 | |
1016 vim.o.qftf = '{info -> v:lua._G.qftf(info)}' | |
1017 | |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1018 -- Clean up terminal codes from strings |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
1019 local t = function(str) return vim.api.nvim_replace_termcodes(str, true, true, true) end |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1020 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1021 -- General keymaps |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1022 local map = vim.keymap.set |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1023 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1024 -- Move while in insert mode |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1025 map('i', '<C-f>', '<right>') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1026 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1027 -- Keep search matches centered |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1028 map('n', 'n', 'nzzzv') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1029 map('n', 'N', 'Nzzzv') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1030 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1031 -- Very magic search patterns |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1032 map({ 'n', 'v' }, '/', '/\\v') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1033 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1034 -- Move through long lines as breaks |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1035 map('n', 'j', '(v:count ? "j" : "gj")', { expr = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1036 map('n', 'k', '(v:count ? "k" : "gk")', { expr = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1037 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1038 -- Command line search for commands |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1039 map('c', '<c-n>', '<down>') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1040 map('c', '<c-p>', '<up>') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1041 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1042 -- Clear highlighs |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1043 map('n', '<leader>l', '<cmd>noh<CR>', { silent = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1044 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1045 -- Reselect last selection |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1046 map('n', 'gV', '`[v`]') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1047 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1048 -- Use backspace as normal in visual mode |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1049 map('v', '<BS>', 'x', { remap = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1050 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1051 -- Keep selection when indenting |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1052 local keep_visual_selection = function(cmd) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1053 return function() |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1054 vim.opt.smartindent = false |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1055 if vim.fn.mode() == 'V' then |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1056 return cmd .. t ':set smartindent<CR>gv' |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1057 else |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1058 return cmd .. t ':set smartindent<CR>' |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1059 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1060 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1061 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1062 map('v', '>', keep_visual_selection '>', { expr = true, silent = true, desc = 'Indent right while keeping selection' }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1063 map('v', '<', keep_visual_selection '<', { expr = true, silent = true, desc = 'Indent left while keeping selection' }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
1064 |
574
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1065 -- Do not move on * |
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1066 map('n', '*', function() |
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1067 local view = vim.fn.winsaveview() |
613 | 1068 vim.cmd.normal { '*', bang = true } |
574
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1069 vim.fn.winrestview(view) |
599
1def7efdc619
Add trouble.nvim for diagnostics overview
Zeger Van de Vannet <zegervdv@me.com>
parents:
594
diff
changeset
|
1070 end, { |
1def7efdc619
Add trouble.nvim for diagnostics overview
Zeger Van de Vannet <zegervdv@me.com>
parents:
594
diff
changeset
|
1071 silent = true, |
1def7efdc619
Add trouble.nvim for diagnostics overview
Zeger Van de Vannet <zegervdv@me.com>
parents:
594
diff
changeset
|
1072 desc = 'Search word under cursor without moving to first results', |
1def7efdc619
Add trouble.nvim for diagnostics overview
Zeger Van de Vannet <zegervdv@me.com>
parents:
594
diff
changeset
|
1073 }) |
574
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1074 |
627 | 1075 map('x', 'p', [[ p:if v:register == '"'<Bar>let @@=@0<Bar>endif<CR> ]], { silent = true }) |
1076 | |
574
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1077 map('n', '<UP>', ':cprev<CR>', { desc = 'Go to previous error/match' }) |
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1078 map('n', '<DOWN>', ':cnext<CR>', { desc = 'Go to next error/match' }) |
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1079 map('n', '<LEFT>', ':cpf<CR>', { desc = 'Go to previous error/match in previous file' }) |
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1080 map('n', '<RIGHT>', ':cnf<CR>', { desc = 'Go to next error/match in next file' }) |
8b04d5ffd210
Clean up unused functions and mappings
zegervdv <zegervdv@me.com>
parents:
570
diff
changeset
|
1081 |
627 | 1082 map('t', '<C-h>', '<C-\\><C-n><C-w>h') |
1083 map('t', '<C-j>', '<C-\\><C-n><C-w>j') | |
1084 map('t', '<C-k>', '<C-\\><C-n><C-w>k') | |
1085 map('t', '<C-l>', '<C-\\><C-n><C-w>l') | |
1086 | |
1087 map('c', '<CR>', function() | |
1088 local cmdline = vim.fn.getcmdline() | |
1089 if cmdline == 'ls' or cmdline == 'buffers' or cmdline == 'files' then return '<CR>:b' end | |
1090 return '<CR>' | |
1091 end, { expr = true }) | |
1092 | |
732
18a9b8ccddc3
feat: map escape to clean up screen in normal mode
zegervdv <zegervdv@me.com>
parents:
731
diff
changeset
|
1093 -- Clean up screen |
18a9b8ccddc3
feat: map escape to clean up screen in normal mode
zegervdv <zegervdv@me.com>
parents:
731
diff
changeset
|
1094 map('n', '<ESC>', function() |
18a9b8ccddc3
feat: map escape to clean up screen in normal mode
zegervdv <zegervdv@me.com>
parents:
731
diff
changeset
|
1095 vim.cmd.nohlsearch() |
18a9b8ccddc3
feat: map escape to clean up screen in normal mode
zegervdv <zegervdv@me.com>
parents:
731
diff
changeset
|
1096 vim.cmd.cclose() |
18a9b8ccddc3
feat: map escape to clean up screen in normal mode
zegervdv <zegervdv@me.com>
parents:
731
diff
changeset
|
1097 vim.cmd.lclose() |
18a9b8ccddc3
feat: map escape to clean up screen in normal mode
zegervdv <zegervdv@me.com>
parents:
731
diff
changeset
|
1098 end, { desc = 'Clean up screen' }) |
18a9b8ccddc3
feat: map escape to clean up screen in normal mode
zegervdv <zegervdv@me.com>
parents:
731
diff
changeset
|
1099 |
627 | 1100 -- Special highlighting |
1101 vim.cmd.match { 'ErrorMsg', [[ '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$' ]] } | |
1102 | |
489 | 1103 local au = require 'au' |
1104 | |
1105 -- Highlight yanked text | |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
1106 au.TextYankPost = function() vim.highlight.on_yank { timeout = 120 } end |
489 | 1107 |
1108 -- Automatic cursorline | |
1109 au.group('cline', { | |
1110 { | |
1111 'WinEnter', | |
1112 '*', | |
620 | 1113 function() |
1114 if vim.bo.buftype ~= 'nofile' then vim.opt_local.cursorline = true end | |
1115 end, | |
489 | 1116 }, |
1117 { | |
1118 'WinLeave', | |
1119 '*', | |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
1120 function() vim.opt_local.cursorline = false end, |
489 | 1121 }, |
1122 }) | |
1123 | |
1124 -- Save files on focus lost | |
1125 au.FocusLost = function() | |
613 | 1126 if not vim.o.readonly and vim.api.nvim_buf_get_name(0) ~= '' then vim.cmd.wa() end |
489 | 1127 end |
1128 | |
1129 -- Equalize splits after resizing | |
1130 au.VimResized = [[ exe "normal! \<c-w>=" ]] | |
1131 | |
1132 -- Reload diffs after editing | |
1133 au.BufWritePost = function() | |
613 | 1134 if vim.o.diff then vim.cmd.diffupdate() end |
489 | 1135 end |
1136 | |
691 | 1137 -- Open file at last position |
1138 au.BufReadPost = function() | |
1139 if vim.bo.filetype ~= 'gitcommit' and vim.fn.line '\'"' > 0 and vim.fn.line '\'"' <= vim.fn.line '$' then | |
1140 vim.cmd.normal { 'g`"', bang = true } | |
1141 end | |
1142 end | |
1143 | |
1144 -- Remove netrw buffers | |
1145 au.FileType = { 'netrw', 'setlocal bufhidden=delete' } | |
1146 | |
696
22efd3b888f8
feat: enable spellchecking for select filetypes
zegervdv <zegervdv@me.com>
parents:
691
diff
changeset
|
1147 -- Enable spelling |
22efd3b888f8
feat: enable spellchecking for select filetypes
zegervdv <zegervdv@me.com>
parents:
691
diff
changeset
|
1148 au.FileType = { { 'python', 'systemverilog', 'verilog', 'txt', 'lua' }, function() vim.opt_local.spell = true end } |
22efd3b888f8
feat: enable spellchecking for select filetypes
zegervdv <zegervdv@me.com>
parents:
691
diff
changeset
|
1149 |
627 | 1150 -- Terminal |
1151 au.group('enter_term', { | |
1152 { 'TermOpen', '*', 'startinsert!' }, | |
1153 { | |
1154 'BufEnter', | |
1155 '*', | |
1156 function() | |
1157 if vim.bo.buftype == 'terminal' then vim.cmd.startinsert { bang = true } end | |
1158 end, | |
1159 }, | |
1160 { | |
1161 'BufLeave', | |
1162 '*', | |
1163 function() | |
1164 if vim.bo.buftype == 'terminal' then vim.cmd.stopinsert { bang = true } end | |
1165 end, | |
1166 }, | |
1167 }) | |
1168 | |
691 | 1169 -- Color number categories in reports and logs |
1170 au({ 'BufNewFile', 'BufRead', 'BufEnter' }, { | |
1171 '*.rpt,*.log', | |
1172 function() | |
1173 vim.cmd.syntax { 'match', 'String', [["\v<\d{1,3}>"]] } | |
1174 vim.cmd.syntax { 'match', 'Statement', [["\v<\d{4,6}>"]] } | |
1175 vim.cmd.syntax { 'match', 'Function', [["\v<\d{7,9}>"]] } | |
1176 | |
1177 vim.cmd.syntax { 'match', 'Number', [["\v<0+>"]] } | |
1178 | |
1179 vim.cmd.syntax { 'match', 'Error', [["\v\c^error:"]] } | |
1180 | |
1181 vim.wo.wrap = false | |
1182 end, | |
1183 }) | |
1184 | |
688
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1185 -- Apply changes in chezmoi managed files |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1186 au.group('chezmoi', { |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1187 { 'BufWritePost', os.getenv 'HOME' .. '/.local/share/chezmoi/*', 'silent !chezmoi apply --source-path %' }, |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1188 { |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1189 'BufWritePost', |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1190 os.getenv 'HOME' .. '/.local/share/chezmoi/.chezmoitemplates/init.lua', |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1191 'silent !chezmoi apply --source-path $HOME/.local/share/chezmoi/dot_config/nvim/init.lua.tmpl', |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1192 }, |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1193 }) |
6e98364a5a28
chore: convert chezmoi autocmds to lua
zegervdv <zegervdv@me.com>
parents:
665
diff
changeset
|
1194 |
558 | 1195 -- Snippets |
1196 local ls = require 'luasnip' | |
1197 -- Expand snippet or jump to next placeholder | |
1198 vim.keymap.set({ 'i', 's' }, '<c-k>', function() | |
741
aef7dab2b0e5
feat: only jump snippets if inside one
zegervdv <zegervdv@me.com>
parents:
740
diff
changeset
|
1199 if ls.expand_or_locally_jumpable() then ls.expand_or_jump() end |
561
6f07ecae3810
Create Ag command in config step
Zeger Van de Vannet <zegervdv@me.com>
parents:
560
diff
changeset
|
1200 end, { |
6f07ecae3810
Create Ag command in config step
Zeger Van de Vannet <zegervdv@me.com>
parents:
560
diff
changeset
|
1201 silent = true, |
6f07ecae3810
Create Ag command in config step
Zeger Van de Vannet <zegervdv@me.com>
parents:
560
diff
changeset
|
1202 }) |
558 | 1203 |
1204 -- Go back to previous placeholder | |
1205 vim.keymap.set({ 'i', 's' }, '<c-j>', function() | |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
1206 if ls.jumpable(-1) then ls.jump(-1) end |
561
6f07ecae3810
Create Ag command in config step
Zeger Van de Vannet <zegervdv@me.com>
parents:
560
diff
changeset
|
1207 end, { |
6f07ecae3810
Create Ag command in config step
Zeger Van de Vannet <zegervdv@me.com>
parents:
560
diff
changeset
|
1208 silent = true, |
6f07ecae3810
Create Ag command in config step
Zeger Van de Vannet <zegervdv@me.com>
parents:
560
diff
changeset
|
1209 }) |
558 | 1210 |
1211 -- Toggle options in snippets | |
1212 vim.keymap.set('i', '<c-l>', function() | |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
1213 if ls.choice_active() then ls.change_choice() end |
558 | 1214 end) |
1215 | |
724
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1216 -- Copy the current file and line number |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1217 -- inspired by https://github.com/diegoulloao/nvim-file-location |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1218 vim.keymap.set('n', '<leader>cp', function() |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1219 local Path = require 'plenary.path' |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1220 local current_file = Path:new(vim.fn.expand '%') |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1221 local root = |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1222 vim.fs.dirname(vim.fs.find({ '.hg', '.git' }, { path = tostring(current_file:parent()), upward = true })[1]) |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1223 local current_line = vim.fn.line '.' |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1224 require('osc52').copy(current_file:make_relative(root) .. ':' .. current_line) |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1225 vim.notify 'Copied file path and line number' |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1226 end, { desc = 'Yank current path and line number' }) |
e442bbd36b87
feat: copy current file path relative to repo root and line nr to clipboard
zegervdv <zegervdv@me.com>
parents:
722
diff
changeset
|
1227 |
725
624d8036f5ae
feat: add window number to inactive window and a mapping to select it
zegervdv <zegervdv@me.com>
parents:
724
diff
changeset
|
1228 -- Navigate between open windows |
624d8036f5ae
feat: add window number to inactive window and a mapping to select it
zegervdv <zegervdv@me.com>
parents:
724
diff
changeset
|
1229 for i = 1, 6 do |
624d8036f5ae
feat: add window number to inactive window and a mapping to select it
zegervdv <zegervdv@me.com>
parents:
724
diff
changeset
|
1230 vim.keymap.set('n', '<leader>' .. i, i .. '<c-w>w', { desc = 'Go to window ' .. i }) |
624d8036f5ae
feat: add window number to inactive window and a mapping to select it
zegervdv <zegervdv@me.com>
parents:
724
diff
changeset
|
1231 end |
624d8036f5ae
feat: add window number to inactive window and a mapping to select it
zegervdv <zegervdv@me.com>
parents:
724
diff
changeset
|
1232 |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1233 -- LSP config |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1234 local lsp = require 'lspconfig' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1235 local null_ls = require 'null-ls' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1236 |
690
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1237 local lsp_formatting = function(bufnr) |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1238 vim.lsp.buf.format { |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1239 filter = function(client) |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1240 local force_null_ls = { 'lua', 'beancount' } |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1241 if vim.tbl_contains(force_null_ls, vim.bo.filetype) then return client.name == 'null-ls' end |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1242 return true |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1243 end, |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1244 bufnr = bufnr, |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1245 } |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1246 end |
424764c7f51a
feat: disable autoformatting, force null-ls formatting in some cases
zegervdv <zegervdv@me.com>
parents:
688
diff
changeset
|
1247 |
718
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1248 local on_attach = function(client, bufnr) |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
1249 local nmap = function(lhs, rhs, opts) return vim.keymap.set('n', lhs, rhs, opts) end |
462
676d7ef5fecb
Use tagfunc to query LSP for definitions
zegervdv <zegervdv@me.com>
parents:
460
diff
changeset
|
1250 |
722
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1251 local opts = { silent = true, buffer = bufnr } |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1252 |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1253 nmap('gp', require('goto-preview').goto_preview_definition, opts) |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1254 nmap('gP', require('goto-preview').close_all_win, opts) |
462
676d7ef5fecb
Use tagfunc to query LSP for definitions
zegervdv <zegervdv@me.com>
parents:
460
diff
changeset
|
1255 |
722
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1256 nmap('gd', vim.lsp.buf.declaration, opts) |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1257 nmap('K', vim.lsp.buf.hover, opts) |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1258 nmap('gD', vim.lsp.buf.implementation, opts) |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1259 nmap('1gD', vim.lsp.buf.type_definition, opts) |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1260 nmap('gr', vim.lsp.buf.references, opts) |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1261 nmap('g0', vim.lsp.buf.document_symbol, opts) |
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1262 nmap('ga', vim.lsp.buf.code_action, opts) |
513 | 1263 |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1264 vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' }) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1265 vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' }) |
718
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1266 |
757 | 1267 if client.name == 'lua_ls' then |
729
58fc7cc955d1
feat: disable sumneko formatting
zegervdv <zegervdv@me.com>
parents:
728
diff
changeset
|
1268 client.server_capabilities.documentFormattingProvider = false |
58fc7cc955d1
feat: disable sumneko formatting
zegervdv <zegervdv@me.com>
parents:
728
diff
changeset
|
1269 client.server_capabilities.documentRangeFormattingProvider = false |
58fc7cc955d1
feat: disable sumneko formatting
zegervdv <zegervdv@me.com>
parents:
728
diff
changeset
|
1270 end |
58fc7cc955d1
feat: disable sumneko formatting
zegervdv <zegervdv@me.com>
parents:
728
diff
changeset
|
1271 |
783
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
1272 if client.server_capabilities.documentSymbolProvider then |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
1273 local navic = require 'nvim-navic' |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
1274 navic.attach(client, bufnr) |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
1275 end |
335b1f5c242d
feat: add winbar with navic (LSP based location breadcrumbs)
zegervdv <zegervdv@me.com>
parents:
782
diff
changeset
|
1276 |
718
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1277 if client.supports_method 'textDocument/rangeFormatting' then |
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1278 local root = vim.fs.find({ '.git', '.hg' }, { path = client.config.root_dir }) |
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1279 local vcs = 'git' |
782
31605398117a
fix: handle opening files not under vcs
zegervdv <zegervdv@me.com>
parents:
778
diff
changeset
|
1280 if root and #root > 0 then vcs = vim.fs.basename(root[1]):sub(2) end |
718
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1281 |
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1282 vim.notify('Enabled modification formatting via ' .. vcs .. ' using ' .. client.name, vim.log.levels.INFO) |
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1283 local lsp_format_modifications = require 'lsp-format-modifications' |
719
08baa6419e7d
fix: pass vcs config to format-modifications attach function
zegervdv <zegervdv@me.com>
parents:
718
diff
changeset
|
1284 lsp_format_modifications.attach(client, bufnr, { format_on_save = false, vcs = vcs }) |
722
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1285 nmap('<c-p>', function() lsp_format_modifications.format_modifications_current_buffer() end, opts) |
718
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1286 elseif client.supports_method 'textDocument/formatting' then |
722
20256729c355
fix: use current bufnr for formatting
zegervdv <zegervdv@me.com>
parents:
720
diff
changeset
|
1287 nmap('<c-p>', function() lsp_formatting(bufnr) end, opts) |
718
451632dcb1dd
feat: add lsp-format-modifications
zegervdv <zegervdv@me.com>
parents:
716
diff
changeset
|
1288 end |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1289 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1290 |
704
c78a2c1388e9
fix: update cmp-nvim-lsp capabilities config
zegervdv <zegervdv@me.com>
parents:
703
diff
changeset
|
1291 local capabilities = require('cmp_nvim_lsp').default_capabilities() |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1292 capabilities.textDocument.completion.completionItem.snippetSupport = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1293 capabilities.textDocument.completion.completionItem.resolveSupport = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1294 properties = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1295 'documentation', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1296 'detail', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1297 'additionalTextEdits', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1298 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1299 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1300 |
532
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1301 local root_dir = require('lspconfig.util').root_pattern('.git', '.hg') |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1302 |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1303 lsp.pyright.setup { on_attach = on_attach, capabilities = capabilities, root_dir = root_dir } |
646 | 1304 lsp.bashls.setup { on_attach = on_attach, capabilities = capabilities } |
792 | 1305 lsp.rust_analyzer.setup { on_attach = on_attach, capabilities = capabilities, root_dir = root_dir } |
532
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1306 |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1307 lsp.esbonio.setup { |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1308 on_attach = on_attach, |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1309 capabilities = capabilities, |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1310 root_dir = root_dir, |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1311 -- Assume esbonio is installed with --user |
579 | 1312 cmd = { home .. '/.local/bin/esbonio' }, |
532
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
1313 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1314 |
581 | 1315 lsp.clangd.setup { |
1316 on_attach = on_attach, | |
1317 capabilities = capabilities, | |
1318 root_dir = root_dir, | |
1319 } | |
1320 | |
638 | 1321 local bean_file = os.getenv 'BEAN_FILE' |
1322 if bean_file then | |
1323 lsp.beancount.setup { | |
1324 on_attach = on_attach, | |
1325 capabilities = capabilities, | |
1326 root_dir = root_dir, | |
1327 init_options = { | |
1328 journal_file = bean_file, | |
1329 }, | |
1330 } | |
1331 local helpers = require 'null-ls.helpers' | |
1332 local bean_format = { | |
1333 name = 'bean-format', | |
1334 filetypes = { 'beancount' }, | |
1335 method = null_ls.methods.FORMATTING, | |
1336 generator = helpers.formatter_factory { | |
1337 command = 'bean-format', | |
1338 args = { '-w', '80' }, | |
1339 to_stdin = true, | |
1340 }, | |
1341 } | |
1342 null_ls.register { bean_format } | |
1343 end | |
1344 | |
512
fc7a15e47e72
update null-ls config to remove lspconfig dependency
zegervdv <zegervdv@me.com>
parents:
511
diff
changeset
|
1345 null_ls.setup { |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1346 sources = { |
607
9a7fe4a97873
wrap lines at 100 chars with black
Zeger Van de Vannet <zegervdv@me.com>
parents:
606
diff
changeset
|
1347 null_ls.builtins.formatting.black.with { extra_args = { '--line-length', '100' } }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1348 null_ls.builtins.formatting.stylua, |
623
5cceedc51955
Add cbfmt and markdown/rst tree sitters
zegervdv <zegervdv@me.com>
parents:
622
diff
changeset
|
1349 null_ls.builtins.formatting.cbfmt, |
502 | 1350 null_ls.builtins.diagnostics.shellcheck, |
509
80b42722bfa8
Add prettier formatting to null-ls
zegervdv <zegervdv@me.com>
parents:
503
diff
changeset
|
1351 null_ls.builtins.formatting.prettier, |
622 | 1352 null_ls.builtins.code_actions.gitrebase, |
730 | 1353 null_ls.builtins.hover.printenv, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1354 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1355 on_attach = on_attach, |
512
fc7a15e47e72
update null-ls config to remove lspconfig dependency
zegervdv <zegervdv@me.com>
parents:
511
diff
changeset
|
1356 root_dir = require('null-ls.utils').root_pattern('.hg', '.git', 'stylua.toml'), |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1357 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1358 |
713
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1359 require('neodev').setup { |
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1360 override = function(root_dir, options) |
751
04683b4f8df3
fix: handle chezmoi directory after neodev updates
zegervdv <zegervdv@me.com>
parents:
750
diff
changeset
|
1361 if root_dir:find 'chezmoi' then |
713
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1362 options.enabled = true |
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1363 options.runtime = true |
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1364 options.types = true |
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1365 options.plugins = true |
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1366 end |
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1367 end, |
45c34cfecc3e
feat: enable full neodev options in chezmoi folder
zegervdv <zegervdv@me.com>
parents:
706
diff
changeset
|
1368 } |
749 | 1369 |
757 | 1370 lsp.lua_ls.setup { |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1371 lspconfig = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1372 cmd = { 'lua-language-server' }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1373 on_attach = on_attach, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1374 capabilities = capabilities, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1375 settings = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1376 Lua = { |
703
50c025a59b95
fix: update lua-dev to neodev config
zegervdv <zegervdv@me.com>
parents:
702
diff
changeset
|
1377 completion = { |
50c025a59b95
fix: update lua-dev to neodev config
zegervdv <zegervdv@me.com>
parents:
702
diff
changeset
|
1378 callSnippet = 'Replace', |
50c025a59b95
fix: update lua-dev to neodev config
zegervdv <zegervdv@me.com>
parents:
702
diff
changeset
|
1379 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1380 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1381 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1382 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1383 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1384 |
786 | 1385 require('zk').setup { |
1386 lsp = { on_attach = on_attach, capabilities = capabilities }, | |
1387 } | |
1388 | |
466
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1389 vim.diagnostic.config { |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1390 underline = true, |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1391 update_in_insert = false, |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1392 virtual_text = { severity = { min = vim.diagnostic.severity.WARN }, source = 'always' }, |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1393 severity_sort = true, |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1394 } |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1395 |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1396 vim.fn.sign_define('DiagnosticSignError', { texthl = 'DiagnosticSignError', linehl = '', numhl = '', text = '▎' }) |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1397 vim.fn.sign_define('DiagnosticSignWarn', { |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1398 texthl = 'DiagnosticSignWarn', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1399 linehl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1400 numhl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1401 text = '▎', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1402 }) |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1403 vim.fn.sign_define('DiagnosticSignInfo', { |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1404 texthl = 'DiagnosticSignInfo', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1405 linehl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1406 numhl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1407 text = '▎', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1408 }) |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1409 vim.fn.sign_define('DiagnosticSignHint', { texthl = 'DiagnosticSignHint', linehl = '', numhl = '', text = '▎' }) |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
1410 |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1411 -- Try importing local config |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
1412 local ok, localconfig = pcall(require, 'localconfig') |
600
24b0dd06381b
Enable collapsed statements for stylua
Zeger Van de Vannet <zegervdv@me.com>
parents:
599
diff
changeset
|
1413 if ok then localconfig.setup { on_attach = on_attach, capabilities = capabilities } end |