Mercurial > dotfiles
annotate .chezmoitemplates/init.lua @ 532:e932c2076dba
Add esbonio language server for sphinx docs
author | Zeger Van de Vannet <zegervdv@me.com> |
---|---|
date | Fri, 21 Jan 2022 09:33:28 +0100 |
parents | 735fb9e8e6cb |
children | 80622cb35a3e |
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 -- |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
5 local execute = vim.api.nvim_command |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
6 local fn = vim.fn |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
7 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
8 -- Bootstrap package manager |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
9 local install_path = fn.stdpath 'data' .. '/site/pack/packer/opt/packer.nvim' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
10 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
11 if fn.empty(fn.glob(install_path)) > 0 then |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
12 execute('!git clone https://github.com/wbthomason/packer.nvim ' .. install_path) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
13 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
14 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
15 -- Packer configuration is compiled and only needs to be loaded on changes |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
16 vim.cmd 'packadd packer.nvim' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
17 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
18 require('packer').startup(function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
19 use { 'wbthomason/packer.nvim', opt = true } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
20 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
21 -- General plugins |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
22 use { 'tpope/vim-sensible' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
23 use { 'tpope/vim-repeat' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
24 use { 'tpope/vim-rsi' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
25 use { 'sgur/vim-editorconfig' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
26 use { 'ShikChen/osc52.vim' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
27 use { 'einfachtoll/didyoumean' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
28 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
29 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
30 'tpope/vim-eunuch', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
31 cmd = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
32 'Delete', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
33 'Unlink', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
34 'Move', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
35 'Rename', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
36 'Mkdir', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
37 'Chmod', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
38 'Cfind', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
39 'Clocate', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
40 'Lfind', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
41 'Llocate', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
42 'SudoEdit', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
43 'SudoWrite', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
44 'Wall', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
45 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
46 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
47 |
488 | 48 -- Smooth scrolling |
515
67a4228c6532
Switch to neoscroll for even faster smooth scrolling
zegervdv <zegervdv@me.com>
parents:
514
diff
changeset
|
49 use { |
67a4228c6532
Switch to neoscroll for even faster smooth scrolling
zegervdv <zegervdv@me.com>
parents:
514
diff
changeset
|
50 'karb94/neoscroll.nvim', |
67a4228c6532
Switch to neoscroll for even faster smooth scrolling
zegervdv <zegervdv@me.com>
parents:
514
diff
changeset
|
51 config = function() |
67a4228c6532
Switch to neoscroll for even faster smooth scrolling
zegervdv <zegervdv@me.com>
parents:
514
diff
changeset
|
52 require('neoscroll').setup {} |
67a4228c6532
Switch to neoscroll for even faster smooth scrolling
zegervdv <zegervdv@me.com>
parents:
514
diff
changeset
|
53 end, |
67a4228c6532
Switch to neoscroll for even faster smooth scrolling
zegervdv <zegervdv@me.com>
parents:
514
diff
changeset
|
54 } |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
55 |
488 | 56 -- Faster lua package loading (until 15436 is merged) |
522 | 57 use { |
58 'lewis6991/impatient.nvim', | |
59 module = { 'impatient' }, | |
60 setup = function() | |
61 require 'impatient' | |
62 end, | |
63 } | |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
64 |
488 | 65 -- Library with lua functions |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
66 use { 'nvim-lua/plenary.nvim' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
67 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
68 -- Spelling/autocorrection |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
69 use { 'tpope/vim-abolish' } |
482 | 70 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
71 -- Git/VCS |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
72 use { 'vim-scripts/gitignore' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
73 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
74 'sjl/splice.vim', |
516 | 75 disable = true, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
76 opt = true, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
77 cmd = { 'SpliceInit' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
78 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
79 vim.g.splice_initial_diff_grid = 1 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
80 vim.g.splice_initial_diff_compare = 1 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
81 vim.g.splice_initial_diff_path = 0 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
82 vim.g.splice_initial_scrollbind_grid = 1 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
83 vim.g.splice_initial_scrollbind_compare = 1 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
84 vim.g.splice_initial_scrollbind_path = 1 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
85 vim.g.splice_wrap = 'nowrap' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
86 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
87 } |
516 | 88 use { |
89 'zegervdv/merge.nvim', | |
90 opt = true, | |
91 cmd = { 'MergeInit' }, | |
92 config = function() | |
517
0ed17680bf08
Use callback hook to disable dirvish maps when merging
zegervdv <zegervdv@me.com>
parents:
516
diff
changeset
|
93 require('merge').setup { |
0ed17680bf08
Use callback hook to disable dirvish maps when merging
zegervdv <zegervdv@me.com>
parents:
516
diff
changeset
|
94 wrap = true, |
0ed17680bf08
Use callback hook to disable dirvish maps when merging
zegervdv <zegervdv@me.com>
parents:
516
diff
changeset
|
95 pre_hook = function() |
0ed17680bf08
Use callback hook to disable dirvish maps when merging
zegervdv <zegervdv@me.com>
parents:
516
diff
changeset
|
96 -- disable dirvish |
0ed17680bf08
Use callback hook to disable dirvish maps when merging
zegervdv <zegervdv@me.com>
parents:
516
diff
changeset
|
97 vim.api.nvim_del_keymap('n', '-') |
0ed17680bf08
Use callback hook to disable dirvish maps when merging
zegervdv <zegervdv@me.com>
parents:
516
diff
changeset
|
98 end, |
0ed17680bf08
Use callback hook to disable dirvish maps when merging
zegervdv <zegervdv@me.com>
parents:
516
diff
changeset
|
99 } |
516 | 100 end, |
101 } | |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
102 use { 'tpope/vim-git', ft = { 'gitcommit', 'gitrebase' } } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
103 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
104 -- Comments |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
105 use { |
497
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
106 'numToStr/Comment.nvim', |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
107 config = function() |
497
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
108 local ft = require 'Comment.ft' |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
109 ft.systemverilog = { '//%s', '/*%s*/' } |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
110 ft.verilog = { '//%s', '/*%s*/' } |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
111 |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
112 require('Comment').setup { |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
113 padding = true, |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
114 sticky = true, |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
115 ignore = '^(%s*)$', |
499
568791ef3a16
Enable extra mappings for comment.nvim
zegervdv <zegervdv@me.com>
parents:
497
diff
changeset
|
116 mappings = { |
568791ef3a16
Enable extra mappings for comment.nvim
zegervdv <zegervdv@me.com>
parents:
497
diff
changeset
|
117 basic = true, |
568791ef3a16
Enable extra mappings for comment.nvim
zegervdv <zegervdv@me.com>
parents:
497
diff
changeset
|
118 extra = true, |
568791ef3a16
Enable extra mappings for comment.nvim
zegervdv <zegervdv@me.com>
parents:
497
diff
changeset
|
119 }, |
497
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
120 } |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
121 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
122 keys = { |
497
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
123 { 'n', 'gc' }, |
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
124 { 'n', 'gb' }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
125 { 'v', 'gc' }, |
497
852acbe7ae8e
Use Comment.nvim for more control when commenting
zegervdv <zegervdv@me.com>
parents:
496
diff
changeset
|
126 { 'v', 'gb' }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
127 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
128 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
129 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
130 -- Undoing |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
131 use { 'sjl/gundo.vim', cmd = { 'GundoToggle' } } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
132 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
133 -- Parentheses etc |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
134 use { 'tpope/vim-surround' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
135 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
136 'windwp/nvim-autopairs', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
137 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
138 local npairs = require 'nvim-autopairs' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
139 local Rule = require 'nvim-autopairs.rule' |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
140 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
141 local cmp = require 'nvim-autopairs.completion.cmp' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
142 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
143 require('cmp').event:on('confirm_done', cmp.on_confirm_done()) |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
144 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
145 npairs.setup { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
146 ignored_next_char = string.gsub([[ [%w%%%'%[%.] ]], '%s+', ''), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
147 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
148 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
149 npairs.add_rules { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
150 Rule(' ', ' '):with_pair(function(opts) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
151 local pair = opts.line:sub(opts.col - 1, opts.col) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
152 return vim.tbl_contains({ '()', '[]', '{}' }, pair) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
153 end), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
154 Rule('( ', ' )') |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
155 :with_pair(function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
156 return false |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
157 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
158 :with_move(function(opts) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
159 return opts.prev_char:match '.%)' ~= nil |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
160 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
161 :use_key ')', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
162 Rule('{ ', ' }') |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
163 :with_pair(function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
164 return false |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
165 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
166 :with_move(function(opts) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
167 return opts.prev_char:match '.%}' ~= nil |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
168 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
169 :use_key '}', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
170 Rule('[ ', ' ]') |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
171 :with_pair(function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
172 return false |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
173 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
174 :with_move(function(opts) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
175 return opts.prev_char:match '.%]' ~= nil |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
176 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
177 :use_key ']', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
178 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
179 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
180 npairs.get_rule('`'):with_pair(function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
181 return vim.bo.filetype ~= 'systemverilog' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
182 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
183 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
184 npairs.get_rule("'")[1]:with_pair(function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
185 return vim.bo.filetype ~= 'systemverilog' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
186 end) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
187 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
188 after = { 'nvim-cmp' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
189 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
190 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
191 -- Moving around within lines |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
192 use { 'wellle/targets.vim', event = 'InsertEnter *' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
193 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
194 -- Searching |
514
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
195 use { |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
196 'mhinz/vim-grepper', |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
197 cmd = { 'Grepper', 'Ag' }, |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
198 keys = { { 'n', 'gs' }, { 'x', 'gs' } }, |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
199 config = function() |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
200 local nmap = vim.keymap.nmap |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
201 local xmap = vim.keymap.xmap |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
202 |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
203 vim.g.grepper = { |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
204 tools = { 'ag', 'hg' }, |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
205 highlight = 1, |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
206 ag = { |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
207 grepprg = 'rg --vimgrep', |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
208 }, |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
209 } |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
210 |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
211 nmap { 'gs', '<plug>(GrepperOperator)' } |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
212 xmap { 'gs', '<plug>(GrepperOperator)' } |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
213 end, |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
214 setup = function() |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
215 vim.api.nvim_add_user_command( |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
216 'Ag', |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
217 'Grepper -noprompt -tool ag -grepprg rg --vimgrep <args>', |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
218 { complete = 'file', nargs = '*' } |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
219 ) |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
220 end, |
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
221 } |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
222 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
223 -- Opening files |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
224 use { 'wsdjeg/vim-fetch' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
225 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
226 -- session management |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
227 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
228 'folke/persistence.nvim', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
229 event = 'BufReadPre', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
230 module = 'persistence', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
231 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
232 require('persistence').setup() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
233 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
234 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
235 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
236 -- Indent lines |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
237 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
238 'lukas-reineke/indent-blankline.nvim', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
239 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
240 vim.g.indent_blankline_buftype_exclude = { 'terminal', 'help', 'nofile' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
241 vim.g.indent_blankline_show_first_indent_level = false |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
242 vim.g.indent_blankline_char = '│' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
243 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
244 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
245 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
246 -- Increment/decrement |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
247 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
248 'zegervdv/nrpattern.nvim', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
249 requires = 'tpope/vim-repeat', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
250 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
251 local nrpattern = require 'nrpattern' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
252 local defaults = require 'nrpattern.default' |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
253 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
254 defaults[{ 'input', 'output' }] = { priority = 12, filetypes = { 'verilog', 'systemverilog' } } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
255 defaults[{ "'1", "'0" }] = { priority = 9, filetypes = { 'verilog', 'systemverilog' } } |
478
8d8455911071
Use persistence.nvim for after the fact session management
Zeger Van de Vannet <zegervdv@me.com>
parents:
477
diff
changeset
|
256 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
257 nrpattern.setup(defaults) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
258 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
259 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
260 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
261 -- Tmux |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
262 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
263 'numtostr/navigator.nvim', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
264 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
265 require('Navigator').setup { auto_save = 'current', disable_on_zoom = true } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
266 |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
267 local nmap = function(lhs, rhs, opts) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
268 return vim.keymap.set('n', lhs, rhs, opts) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
269 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
270 nmap('<c-h>', require('Navigator').left, { silent = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
271 nmap('<c-j>', require('Navigator').down, { silent = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
272 nmap('<c-k>', require('Navigator').up, { silent = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
273 nmap('<c-l>', require('Navigator').right, { silent = true }) |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
274 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
275 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
276 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
277 -- Completion/snippets/LSP |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
278 use { 'neovim/nvim-lspconfig' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
279 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
280 'hrsh7th/nvim-cmp', |
518
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
281 requires = { |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
282 'hrsh7th/cmp-buffer', |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
283 'hrsh7th/cmp-nvim-lsp', |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
284 'saadparwaiz1/cmp_luasnip', |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
285 'hrsh7th/cmp-path', |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
286 'hrsh7th/cmp-cmdline', |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
287 }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
288 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
289 local cmp = require 'cmp' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
290 local luasnip = require 'luasnip' |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
291 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
292 local has_words_before = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
293 local line, col = unpack(vim.api.nvim_win_get_cursor(0)) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
294 return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
295 end |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
296 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
297 cmp.setup { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
298 snippet = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
299 expand = function(args) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
300 luasnip.lsp_expand(args.body) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
301 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
302 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
303 mapping = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
304 ['<C-p>'] = cmp.mapping.select_prev_item(), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
305 ['<C-n>'] = cmp.mapping.select_next_item(), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
306 ['<C-d>'] = cmp.mapping.scroll_docs(-4), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
307 ['<C-y>'] = cmp.mapping.complete(), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
308 ['<C-e>'] = cmp.mapping.close(), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
309 ['<CR>'] = cmp.mapping.confirm { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
310 behavior = cmp.ConfirmBehavior.Replace, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
311 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
312 ['<Tab>'] = cmp.mapping(function(fallback) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
313 if cmp.visible() then |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
314 cmp.select_next_item() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
315 elseif luasnip.expand_or_jumpable() then |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
316 luasnip.expand_or_jump() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
317 elseif has_words_before() then |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
318 cmp.complete() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
319 else |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
320 fallback() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
321 end |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
322 end, { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
323 'i', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
324 's', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
325 }), |
486
3449f059b93e
Add/fix expansion mapping for snippets
zegervdv <zegervdv@me.com>
parents:
485
diff
changeset
|
326 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
327 ['<S-Tab>'] = cmp.mapping(function(fallback) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
328 if cmp.visible() then |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
329 cmp.select_prev_item() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
330 elseif luasnip.jumpable(-1) then |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
331 luasnip.jump(-1) |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
332 else |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
333 fallback() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
334 end |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
335 end, { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
336 'i', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
337 's', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
338 }), |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
339 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
340 sources = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
341 { name = 'nvim_lsp' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
342 { name = 'buffer', keyword_length = 5 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
343 { name = 'luasnip' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
344 { name = 'path' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
345 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
346 experimental = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
347 native_menu = false, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
348 ghost_text = true, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
349 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
350 } |
518
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
351 |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
352 cmp.setup.cmdline(':', { |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
353 sources = cmp.config.sources({ |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
354 { name = 'path' }, |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
355 }, { |
524
8d0846b75095
Only start completion at 4 chars on cmdline
zegervdv <zegervdv@me.com>
parents:
523
diff
changeset
|
356 { name = 'cmdline', keyword_length = 4 }, |
518
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
357 }), |
784b931c51b7
Enable cmp completion for cmdline
zegervdv <zegervdv@me.com>
parents:
517
diff
changeset
|
358 }) |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
359 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
360 after = 'luasnip', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
361 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
362 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
363 { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
364 'nvim-treesitter/nvim-treesitter', |
526
793a6f9bc2cf
Automatically install Treesitter parsers
zegervdv <zegervdv@me.com>
parents:
525
diff
changeset
|
365 run = ':TSUpdate', |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
366 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
367 require 'nvim-treesitter.highlight' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
368 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
369 require('nvim-treesitter.configs').setup { |
525
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
370 ensure_installed = { |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
371 'python', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
372 'lua', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
373 'verilog', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
374 'json', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
375 'yaml', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
376 'bash', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
377 'dockerfile', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
378 'c', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
379 'cpp', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
380 'regex', |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
381 }, |
503
18c6eb4d5c71
Disable treesitter based highlighting for now (again)
Zeger Van de Vannet <zegervdv@me.com>
parents:
502
diff
changeset
|
382 indent = { |
18c6eb4d5c71
Disable treesitter based highlighting for now (again)
Zeger Van de Vannet <zegervdv@me.com>
parents:
502
diff
changeset
|
383 enable = false, |
18c6eb4d5c71
Disable treesitter based highlighting for now (again)
Zeger Van de Vannet <zegervdv@me.com>
parents:
502
diff
changeset
|
384 }, |
496
8524c1a304a6
Enable tree-sitter highlights for systemverilog
zegervdv <zegervdv@me.com>
parents:
495
diff
changeset
|
385 highlight = { |
525
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
386 enable = true, |
f01585f1517f
Enable tree-sitter for some languages
zegervdv <zegervdv@me.com>
parents:
524
diff
changeset
|
387 disable = { 'systemverilog', 'verilog' }, |
496
8524c1a304a6
Enable tree-sitter highlights for systemverilog
zegervdv <zegervdv@me.com>
parents:
495
diff
changeset
|
388 }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
389 incremental_selection = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
390 enable = true, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
391 keymaps = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
392 init_selection = 'gnn', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
393 node_incremental = 'grn', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
394 scope_incremental = 'grc', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
395 node_decremental = 'grm', |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
396 }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
397 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
398 refactor = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
399 highlight_definitions = { enable = true }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
400 smart_rename = { enable = true, keymaps = { smart_rename = 'gsr' } }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
401 navigation = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
402 enable = true, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
403 keymaps = { goto_definition = 'gnd', list_definitions = 'gnD' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
404 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
405 }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
406 textobjects = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
407 move = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
408 enable = true, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
409 goto_next_start = { [']]'] = '@block.outer' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
410 goto_previous_start = { ['[['] = '@block.outer' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
411 goto_next_end = { [']['] = '@block.outer' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
412 goto_previous_end = { ['[]'] = '@block.outer' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
413 }, |
500
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
414 select = { |
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
415 enable = true, |
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
416 lookahead = true, |
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
417 keymaps = { |
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
418 ['af'] = '@function.outer', |
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
419 ['if'] = '@function.inner', |
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
420 }, |
c6624d04906a
Add treesitter based textobjects
zegervdv <zegervdv@me.com>
parents:
499
diff
changeset
|
421 }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
422 }, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
423 playground = { enable = true, disable = {}, updatetime = 25, persist_queries = false }, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
424 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
425 end, |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
426 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
427 'nvim-treesitter/nvim-treesitter-refactor', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
428 'nvim-treesitter/nvim-treesitter-textobjects', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
429 { 'nvim-treesitter/playground', opt = true }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
430 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
431 use { 'L3MON4D3/luasnip' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
432 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
433 'rmagatti/goto-preview', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
434 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
435 require('goto-preview').setup {} |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
436 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
437 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
438 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
439 'jose-elias-alvarez/null-ls.nvim', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
440 requires = 'nvim-lua/plenary.nvim', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
441 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
442 use { 'folke/lua-dev.nvim' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
443 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
444 use { 'vimjas/vim-python-pep8-indent', ft = { 'python' } } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
445 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
446 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
447 'NTBBloodbath/galaxyline.nvim', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
448 branch = 'main', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
449 -- your statusline |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
450 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
451 local gl = require 'galaxyline' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
452 local colors = require('galaxyline.themes.colors').default |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
453 local condition = require 'galaxyline.condition' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
454 local gls = gl.section |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
455 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
456 colors.bg = '#2C323C' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
457 |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
458 gls.left[1] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
459 RainbowRed = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
460 provider = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
461 return '▊ ' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
462 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
463 highlight = { colors.blue, colors.bg }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
464 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
465 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
466 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
467 gls.left[2] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
468 FileName = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
469 provider = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
470 return require('galaxyline.providers.fileinfo').get_current_file_name '⊙' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
471 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
472 condition = condition.buffer_not_empty, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
473 highlight = { colors.magenta, colors.bg, 'bold' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
474 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
475 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
476 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
477 gls.right[1] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
478 ShowLspClient = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
479 provider = 'GetLspClient', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
480 condition = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
481 local tbl = { ['dashboard'] = true, [''] = true } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
482 if tbl[vim.bo.filetype] then |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
483 return false |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
484 end |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
485 return true |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
486 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
487 highlight = { colors.green, colors.bg, 'bold' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
488 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
489 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
490 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
491 gls.right[2] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
492 LineInfo = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
493 provider = 'LineColumn', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
494 separator = ' ', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
495 separator_highlight = { 'NONE', colors.bg }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
496 highlight = { colors.fg, colors.bg }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
497 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
498 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
499 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
500 gls.right[3] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
501 PerCent = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
502 provider = 'LinePercent', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
503 separator = ' ', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
504 separator_highlight = { 'NONE', colors.bg }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
505 highlight = { colors.fg, colors.bg, 'bold' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
506 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
507 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
508 gls.right[8] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
509 RainbowBlue = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
510 provider = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
511 return ' ▊' |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
512 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
513 highlight = { colors.blue, colors.bg }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
514 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
515 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
516 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
517 gls.short_line_left[1] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
518 BufferType = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
519 provider = 'FileTypeName', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
520 separator = ' ', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
521 separator_highlight = { 'NONE', colors.bg }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
522 highlight = { colors.blue, colors.bg, 'bold' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
523 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
524 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
525 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
526 gls.short_line_left[2] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
527 SFileName = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
528 provider = 'SFileName', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
529 condition = condition.buffer_not_empty, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
530 highlight = { colors.fg, colors.bg, 'bold' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
531 }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
532 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
533 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
534 gls.short_line_right[1] = { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
535 BufferIcon = { provider = 'BufferIcon', highlight = { colors.fg, colors.bg } }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
536 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
537 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
538 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
539 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
540 -- File navigation |
529 | 541 use { |
542 'elihunter173/dirbuf.nvim', | |
543 opt = true, | |
544 config = function() | |
545 require('dirbuf').setup { | |
546 hash_padding = 2, | |
547 show_hidden = true, | |
548 } | |
549 end, | |
550 } | |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
551 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
552 -- Colorscheme |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
553 use { |
523
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
554 'navarasu/onedark.nvim', |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
555 config = function() |
523
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
556 require('onedark').setup { |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
557 style = 'dark', |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
558 code_style = { |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
559 comments = 'italic', |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
560 }, |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
561 ending_tildes = true, |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
562 diagnostics = { |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
563 darker = false, |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
564 undercurl = false, |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
565 background = false, |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
566 }, |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
567 } |
d6b4520b8257
Replace colorscheme with onedark.nvim
zegervdv <zegervdv@me.com>
parents:
522
diff
changeset
|
568 require('onedark').load() |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
569 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
570 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
571 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
572 -- Terminal |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
573 use { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
574 'akinsho/nvim-toggleterm.lua', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
575 config = function() |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
576 require('toggleterm').setup { |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
577 size = 15, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
578 open_mapping = [[<F12>]], |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
579 shade_filetypes = { 'none' }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
580 shade_terminals = true, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
581 persist_size = true, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
582 direction = 'horizontal', |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
583 } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
584 end, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
585 keys = { [[<F12>]] }, |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
586 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
587 |
487
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
588 -- Filetypes |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
589 use { 'lepture/vim-jinja' } |
0252f9494d64
Remove deferred loading of packer plugins
Zeger Van de Vannet <zegervdv@me.com>
parents:
486
diff
changeset
|
590 end) |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
591 |
529 | 592 vim.cmd [[ packadd dirbuf.nvim ]] |
519
d919c1590230
Move dirvish loading to init.lua
zegervdv <zegervdv@me.com>
parents:
518
diff
changeset
|
593 |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
594 -- Configuration |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
595 local opt = vim.opt |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
596 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
597 opt.backspace = { 'indent', 'eol', 'start' } -- Backspace everything |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
598 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
599 opt.autoread = true -- Read changed files |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
600 opt.hidden = true -- Allow to move away from modified files |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
601 opt.autowriteall = true -- Write changes when losing focus |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
602 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
603 -- Visuals |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
604 opt.number = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
605 opt.relativenumber = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
606 opt.scrolloff = 4 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
607 opt.showcmd = true -- Show incomplete commands while typing |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
608 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
609 opt.termguicolors = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
610 opt.background = 'dark' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
611 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
612 opt.showmatch = true -- Highligh matching braces |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
613 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
614 opt.wrap = true -- Wrap lines |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
615 opt.wrapmargin = 2 -- Stay 2 chars from side |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
616 opt.textwidth = 79 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
617 opt.colorcolumn = '81' -- Show indication of 81 chars |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
618 opt.linebreak = true -- Smarter wrapping |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
619 opt.breakindent = true -- Indent wrapped lines to same level |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
620 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
621 opt.fixendofline = true -- Add EOL when missing |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
622 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
623 opt.expandtab = true -- Add spaces when pressing tab |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
624 opt.tabstop = 2 -- Tab is 2 spaces |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
625 opt.shiftwidth = 2 -- Shift per 2 spaces |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
626 opt.shiftround = true -- Round shifts to allign (1 space + tab = 2 spaces) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
627 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
628 -- Searching and substitute |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
629 opt.magic = true -- Enable regexes |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
630 opt.hlsearch = true -- Highlight all matches |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
631 opt.incsearch = true -- Show matches while typing |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
632 opt.ignorecase = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
633 opt.smartcase = true -- When search pattern contains cases, be case sensitive |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
634 opt.gdefault = true -- Use global flag for substitute: replace all matches on line |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
635 opt.inccommand = 'nosplit' -- Show live replacements directly in text |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
636 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
637 opt.autoindent = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
638 opt.cindent = true -- C-syntax based indenting |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
639 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
640 opt.updatetime = 300 -- Faster triggering of CursorHold events |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
641 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
642 opt.errorbells = false -- Don't you beep to me |
465 | 643 opt.title = true -- Set the title for WezTerm to detect |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
644 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
645 opt.history = 1000 -- Remember last commands |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
646 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
647 opt.wildmenu = true -- Command completion |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
648 opt.wildmode = 'longest:full,full' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
649 opt.shortmess:append 'c' -- Hide ins-completion messages |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
650 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
651 opt.ttyfast = true -- fast terminal |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
652 opt.lazyredraw = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
653 opt.ttimeoutlen = -1 -- Minimum timeout |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
654 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
655 opt.diffopt:append 'iwhite' -- Ignore whitespace in diffs |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
656 opt.diffopt:append 'internal' -- Internal diff engine |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
657 opt.diffopt:append 'algorithm:patience' -- Use patience algorithm |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
658 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
659 opt.tags = { '.git/tags', 'tags' } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
660 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
661 opt.path:append '**' -- Recursively search current directory |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
662 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
663 opt.formatoptions = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
664 c = true, -- Wrap comments |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
665 r = true, -- Continue comments |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
666 o = true, -- Insert comment with o/O |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
667 q = true, -- Format comments with gq |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
668 n = true, -- Indent numbered lists |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
669 [2] = true, -- Indent from 2nd line of paragraph |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
670 [1] = true, -- Don't break before one letter words |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
671 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
672 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
673 opt.signcolumn = 'yes' -- Always show signcolumn |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
674 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
675 opt.cursorline = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
676 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
677 -- Show certain characters |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
678 opt.list = true |
485
4ad3b5ada36b
Add listchar for tab (fixes ^I in text)
zegervdv <zegervdv@me.com>
parents:
484
diff
changeset
|
679 opt.listchars = { trail = '·', extends = '>', precedes = '<', nbsp = '+', tab = '▸ ' } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
680 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
681 opt.sessionoptions:remove 'options' -- Remove options from saved sessions (reload from config) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
682 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
683 opt.completeopt = { 'menu', 'menuone', 'noselect' } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
684 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
685 opt.splitright = true -- Open new splits to right |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
686 opt.virtualedit = 'block' -- Enable block editting |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
687 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
688 opt.conceallevel = 0 -- Disable conceal |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
689 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
690 opt.pastetoggle = '<F2>' -- Enable paste mode |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
691 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
692 opt.undofile = true -- Persistently remember undos |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
693 opt.undolevels = 1000 |
455
f65e3507e10b
Add lsp_signature plugin to show function signatures
zegervdv <zegervdv@me.com>
parents:
453
diff
changeset
|
694 if os.getenv 'HOME' ~= nil then |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
695 opt.undodir = os.getenv 'HOME' .. '/.config/nvim/tmp/undo//' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
696 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
697 opt.swapfile = false -- Disable swap files |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
698 opt.backup = true -- Keep backups |
455
f65e3507e10b
Add lsp_signature plugin to show function signatures
zegervdv <zegervdv@me.com>
parents:
453
diff
changeset
|
699 if os.getenv 'HOME' ~= nil then |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
700 opt.backupdir = os.getenv 'HOME' .. '/.config/nvim/tmp/backup//' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
701 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
702 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
703 -- Files to ignore from completion |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
704 opt.wildignore:append { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
705 '*/tmp/*', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
706 '*.so', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
707 '*.swp', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
708 '*.zip', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
709 '*.o', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
710 '*.bin', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
711 '*.elf', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
712 '*.hex', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
713 '*.eps', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
714 '.git/*', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
715 '*.dup', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
716 '.hg/**', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
717 '*.orig', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
718 '*.*~', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
719 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
720 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
721 opt.mouse = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
722 n = true, -- Normal mode |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
723 i = true, -- Insert mode |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
724 c = true, -- Commandline mode |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
725 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
726 |
463 | 727 opt.foldmethod = 'expr' |
728 opt.foldexpr = 'nvim_treesitter#foldexpr()' | |
729 opt.foldnestmax = 3 | |
730 opt.foldminlines = 1 | |
731 opt.foldtext = | |
732 [[substitute(getline(v:foldstart),'\\t',repeat('\ ',&tabstop),'g').'...'.trim(getline(v:foldend)) . ' (' . (v:foldend - v:foldstart + 1) . ' lines)']] | |
733 opt.foldenable = false | |
734 | |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
735 -- Clean up terminal codes from strings |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
736 local t = function(str) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
737 return vim.api.nvim_replace_termcodes(str, true, true, true) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
738 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
739 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
740 -- General keymaps |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
741 local map = vim.keymap.set |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
742 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
743 -- Set leader to space |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
744 map({ 'n', 'v', 'i', 'x' }, '<space>', '<leader>', { remap = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
745 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
746 -- Move while in insert mode |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
747 map('i', '<C-f>', '<right>') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
748 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
749 -- Keep search matches centered |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
750 map('n', 'n', 'nzzzv') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
751 map('n', 'N', 'Nzzzv') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
752 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
753 -- Very magic search patterns |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
754 map({ 'n', 'v' }, '/', '/\\v') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
755 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
756 -- Move through long lines as breaks |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
757 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
|
758 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
|
759 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
760 -- Command line search for commands |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
761 map('c', '<c-n>', '<down>') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
762 map('c', '<c-p>', '<up>') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
763 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
764 -- Clear highlighs |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
765 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
|
766 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
767 -- Reselect last selection |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
768 map('n', 'gV', '`[v`]') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
769 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
770 -- Use backspace as normal in visual mode |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
771 map('v', '<BS>', 'x', { remap = true }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
772 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
773 -- Keep selection when indenting |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
774 local keep_visual_selection = function(cmd) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
775 return function() |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
776 vim.opt.smartindent = false |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
777 if vim.fn.mode() == 'V' then |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
778 return cmd .. t ':set smartindent<CR>gv' |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
779 else |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
780 return cmd .. t ':set smartindent<CR>' |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
781 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
782 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
783 end |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
784 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
|
785 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
|
786 |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
787 -- Swap backticks and quotes |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
788 map('n', '`', "'") |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
789 map('n', "'", '`') |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
790 |
489 | 791 local au = require 'au' |
792 | |
793 -- Highlight yanked text | |
794 au.TextYankPost = function() | |
795 vim.highlight.on_yank { timeout = 120 } | |
796 end | |
797 | |
798 -- Automatic cursorline | |
799 au.group('cline', { | |
800 { | |
801 'WinEnter', | |
802 '*', | |
803 function() | |
804 vim.opt_local.cursorline = true | |
805 end, | |
806 }, | |
807 { | |
808 'WinLeave', | |
809 '*', | |
810 function() | |
811 vim.opt_local.cursorline = false | |
812 end, | |
813 }, | |
814 }) | |
815 | |
816 -- Save files on focus lost | |
817 au.FocusLost = function() | |
818 if not vim.o.readonly and vim.api.nvim_buf_get_name(0) ~= '' then | |
819 vim.cmd [[ wa ]] | |
820 end | |
821 end | |
822 | |
823 -- Equalize splits after resizing | |
824 au.VimResized = [[ exe "normal! \<c-w>=" ]] | |
825 | |
826 -- Reload diffs after editing | |
827 au.BufWritePost = function() | |
828 if vim.o.diff then | |
829 vim.cmd [[ diffupdate ]] | |
830 end | |
831 end | |
832 | |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
833 -- LSP config |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
834 local lsp = require 'lspconfig' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
835 local null_ls = require 'null-ls' |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
836 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
837 local on_attach = function(client) |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
838 local map = vim.keymap.set |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
839 local nmap = function(lhs, rhs, opts) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
840 return vim.keymap.set('n', lhs, rhs, opts) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
841 end |
462
676d7ef5fecb
Use tagfunc to query LSP for definitions
zegervdv <zegervdv@me.com>
parents:
460
diff
changeset
|
842 |
513 | 843 if client.resolved_capabilities.goto_definition == true then |
844 vim.bo.tagfunc = 'v:lua.vim.lsp.tagfunc' | |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
845 nmap('gp', require('goto-preview').goto_preview_definition, { silent = true, buffer = 0 }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
846 nmap('gP', require('goto-preview').close_all_win, { silent = true, buffer = 0 }) |
513 | 847 end |
462
676d7ef5fecb
Use tagfunc to query LSP for definitions
zegervdv <zegervdv@me.com>
parents:
460
diff
changeset
|
848 |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
849 nmap('gd', vim.lsp.buf.declaration, { silent = true, buffer = 0 }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
850 nmap('K', vim.lsp.buf.hover, { silent = true, buffer = 0 }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
851 nmap('gD', vim.lsp.buf.implementation, { silent = true, buffer = 0 }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
852 nmap('1gD', vim.lsp.buf.type_definition, { silent = true, buffer = 0 }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
853 nmap('gr', vim.lsp.buf.references, { silent = true, buffer = 0 }) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
854 nmap('g0', vim.lsp.buf.document_symbol, { silent = true, buffer = 0 }) |
513 | 855 |
856 if client.resolved_capabilities.document_formatting == true then | |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
857 nmap('<c-p>', function() |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
858 vim.lsp.buf.formatting_sync({}, 5000) |
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
859 end, { |
513 | 860 silent = true, |
861 buffer = 0, | |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
862 }) |
513 | 863 end |
864 | |
865 if client.resolved_capabilities.document_range_formatting == true then | |
866 vim.bo.formatexpr = 'v:lua.vim.lsp.formatexpr()' | |
867 end | |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
868 |
520
f845e2eba7e3
Use new keymap lua function to set keymaps
zegervdv <zegervdv@me.com>
parents:
519
diff
changeset
|
869 map('i', '<c-l>', vim.lsp.buf.signature_help, { silent = true, buffer = 0 }) |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
870 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
871 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
|
872 vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' }) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
873 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
874 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
875 local capabilities = vim.lsp.protocol.make_client_capabilities() |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
876 capabilities.textDocument.completion.completionItem.snippetSupport = true |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
877 capabilities.textDocument.completion.completionItem.resolveSupport = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
878 properties = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
879 'documentation', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
880 'detail', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
881 'additionalTextEdits', |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
882 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
883 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
884 capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
885 |
532
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
886 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
|
887 |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
888 lsp.pyright.setup { on_attach = on_attach, capabilities = capabilities, root_dir = root_dir } |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
889 |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
890 lsp.esbonio.setup { |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
891 on_attach = on_attach, |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
892 capabilities = capabilities, |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
893 root_dir = root_dir, |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
894 -- Assume esbonio is installed with --user |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
895 cmd = { os.getenv 'HOME' .. '/.local/bin/esbonio' }, |
e932c2076dba
Add esbonio language server for sphinx docs
Zeger Van de Vannet <zegervdv@me.com>
parents:
529
diff
changeset
|
896 } |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
897 |
512
fc7a15e47e72
update null-ls config to remove lspconfig dependency
zegervdv <zegervdv@me.com>
parents:
511
diff
changeset
|
898 null_ls.setup { |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
899 sources = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
900 null_ls.builtins.formatting.black, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
901 null_ls.builtins.formatting.stylua, |
502 | 902 null_ls.builtins.diagnostics.shellcheck, |
509
80b42722bfa8
Add prettier formatting to null-ls
zegervdv <zegervdv@me.com>
parents:
503
diff
changeset
|
903 null_ls.builtins.formatting.prettier, |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
904 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
905 on_attach = on_attach, |
512
fc7a15e47e72
update null-ls config to remove lspconfig dependency
zegervdv <zegervdv@me.com>
parents:
511
diff
changeset
|
906 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
|
907 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
908 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
909 local luadev = require('lua-dev').setup { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
910 lspconfig = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
911 cmd = { 'lua-language-server' }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
912 on_attach = on_attach, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
913 capabilities = capabilities, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
914 settings = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
915 Lua = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
916 diagnostics = { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
917 globals = { 'use' }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
918 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
919 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
920 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
921 }, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
922 } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
923 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
924 lsp.sumneko_lua.setup(luadev) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
925 |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
926 -- Populate quickfix with all locations of rename |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
927 function LspRename() |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
928 local params = vim.lsp.util.make_position_params() |
455
f65e3507e10b
Add lsp_signature plugin to show function signatures
zegervdv <zegervdv@me.com>
parents:
453
diff
changeset
|
929 params.newName = vim.fn.input('Rename: ', vim.fn.expand '<cword>') |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
930 vim.lsp.buf_request(0, 'textDocument/rename', params, function(err, result, ctx, ...) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
931 vim.lsp.handlers['textDocument/rename'](err, result, ctx, ...) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
932 local changed = {} |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
933 for uri, changes in pairs(result.changes) do |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
934 local bufnr = vim.uri_to_bufnr(uri) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
935 for _, edits in ipairs(changes) do |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
936 table.insert(changed, { |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
937 bufnr = bufnr, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
938 lnum = edits.range.start.line + 1, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
939 col = edits.range.start.character + 1, |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
940 text = vim.api.nvim_buf_get_lines(bufnr, edits.range.start.line, edits.range.start.line + 1, false)[1], |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
941 }) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
942 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
943 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
944 vim.fn.setqflist(changed, 'r') |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
945 end) |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
946 end |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
947 |
514
f0c94c3f5fd9
Use new user_command api to define commands
zegervdv <zegervdv@me.com>
parents:
513
diff
changeset
|
948 vim.api.nvim_add_user_command('LspRename', LspRename, {}) |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
949 |
466
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
950 vim.diagnostic.config { |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
951 underline = true, |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
952 update_in_insert = false, |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
953 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
|
954 severity_sort = true, |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
955 } |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
956 |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
957 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
|
958 vim.fn.sign_define('DiagnosticSignWarn', { |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
959 texthl = 'DiagnosticSignWarn', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
960 linehl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
961 numhl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
962 text = '▎', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
963 }) |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
964 vim.fn.sign_define('DiagnosticSignInfo', { |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
965 texthl = 'DiagnosticSignInfo', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
966 linehl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
967 numhl = '', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
968 text = '▎', |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
969 }) |
899cded39cd3
Update Diagnostic highlighting after api changes
Zeger Van de Vannet <zegervdv@me.com>
parents:
465
diff
changeset
|
970 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
|
971 |
451
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
972 -- Try importing local config |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
973 local ok, localconfig = pcall(require, 'localconfig') |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
974 if ok then |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
975 localconfig.setup { on_attach = on_attach, capabilities = capabilities } |
d99353d71702
Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff
changeset
|
976 end |