diff options
author | Max Christian Pohle | 2022-12-18 20:29:55 +0100 |
---|---|---|
committer | Max Christian Pohle | 2022-12-18 20:56:01 +0100 |
commit | 07797b39851da045aa1bfd0289de0858a1377c48 (patch) | |
tree | 4ca5d2b26d2ca9d01fc052fce5a26f88364a53d0 /init.lua | |
parent | 1086af63639d2a108f39ae077e0e201dddf4f523 (diff) | |
download | vim-07797b39851da045aa1bfd0289de0858a1377c48.tar.bz2 vim-07797b39851da045aa1bfd0289de0858a1377c48.zip |
Switched to nvim and neovide
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..0184d42 --- /dev/null +++ b/init.lua | |||
@@ -0,0 +1,176 @@ | |||
1 | vim.cmd('set termguicolors') | ||
2 | vim.cmd('source ~/.vim/vimrc') | ||
3 | |||
4 | require'man' | ||
5 | |||
6 | require'colorizer'.setup() | ||
7 | |||
8 | -- language servers: | ||
9 | -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md | ||
10 | |||
11 | -- C/C++ | clang | ||
12 | require'lspconfig'.clangd.setup{} | ||
13 | |||
14 | -- lua | ||
15 | require'lspconfig'.sumneko_lua.setup{ | ||
16 | settings = { | ||
17 | Lua = { | ||
18 | diagnostics = { | ||
19 | globals = { 'vim' } | ||
20 | } | ||
21 | } | ||
22 | } | ||
23 | } | ||
24 | |||
25 | -- bash | bash-language-server | ||
26 | require'lspconfig'.bashls.setup{} | ||
27 | |||
28 | -- ccs | vscode-css-languageserver | ||
29 | require'lspconfig'.cssls.setup{} | ||
30 | |||
31 | -- rust | rust-analyzer | ||
32 | require'lspconfig'.rust_analyzer.setup{} | ||
33 | |||
34 | -- javascript | eslint | ||
35 | require'lspconfig'.eslint.setup{} | ||
36 | |||
37 | -- javascript | typescript-language-server | ||
38 | require'lspconfig'.tsserver.setup{} | ||
39 | |||
40 | -- vimscript | vim-language-server | ||
41 | require'lspconfig'.vimls.setup{} | ||
42 | |||
43 | require'lspconfig'.html.setup{} | ||
44 | |||
45 | require'lspconfig'.jsonls.setup{} | ||
46 | |||
47 | require'lspconfig'.pylsp.setup{ | ||
48 | settings = { | ||
49 | pylsp = { | ||
50 | plugins = { | ||
51 | pycodestyle = { | ||
52 | ignore = {'W391'}, | ||
53 | maxLineLength = 100 | ||
54 | } | ||
55 | } | ||
56 | } | ||
57 | } | ||
58 | } | ||
59 | |||
60 | |||
61 | require'cmp_nvim_lsp'.setup{} | ||
62 | |||
63 | require'cmp'.setup { | ||
64 | sources = { | ||
65 | { name = 'nvim_lsp' } | ||
66 | } | ||
67 | } | ||
68 | |||
69 | -- -- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers.. | ||
70 | local capabilities = require('cmp_nvim_lsp').default_capabilities() | ||
71 | -- | ||
72 | -- -- The following example advertise capabilities to `clangd`. | ||
73 | require'lspconfig'.clangd.setup { | ||
74 | capabilities = capabilities, | ||
75 | } | ||
76 | |||
77 | -- Set up nvim-cmp. | ||
78 | local cmp = require'cmp' | ||
79 | |||
80 | cmp.setup({ | ||
81 | snippet = { | ||
82 | -- REQUIRED - you must specify a snippet engine | ||
83 | expand = function(args) | ||
84 | vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. | ||
85 | -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users. | ||
86 | -- require('snippy').expand_snippet(args.body) -- For `snippy` users. | ||
87 | -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. | ||
88 | end, | ||
89 | }, | ||
90 | window = { | ||
91 | completion = cmp.config.window.bordered(), | ||
92 | documentation = cmp.config.window.bordered(), | ||
93 | }, | ||
94 | mapping = cmp.mapping.preset.insert({ | ||
95 | ['<C-b>'] = cmp.mapping.scroll_docs(-4), | ||
96 | ['<C-f>'] = cmp.mapping.scroll_docs(4), | ||
97 | ['<C-Space>'] = cmp.mapping.complete(), | ||
98 | ['<C-e>'] = cmp.mapping.abort(), | ||
99 | -- ['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. | ||
100 | |||
101 | ["<CR>"] = cmp.mapping.confirm({ | ||
102 | behavior = cmp.ConfirmBehavior.Replace, | ||
103 | select = true, | ||
104 | }), | ||
105 | |||
106 | ['<C-s>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. | ||
107 | }), | ||
108 | sources = cmp.config.sources({ | ||
109 | { name = 'nvim_lsp' }, | ||
110 | { name = 'vsnip' }, -- For vsnip users. | ||
111 | -- { name = 'luasnip' }, -- For luasnip users. | ||
112 | -- { name = 'ultisnips' }, -- For ultisnips users. | ||
113 | -- { name = 'snippy' }, -- For snippy users. | ||
114 | }, { | ||
115 | { name = 'buffer' }, | ||
116 | }) | ||
117 | }) | ||
118 | |||
119 | -- Set configuration for specific filetype. | ||
120 | cmp.setup.filetype('gitcommit', { | ||
121 | sources = cmp.config.sources({ | ||
122 | { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. | ||
123 | }, { | ||
124 | { name = 'buffer' }, | ||
125 | }) | ||
126 | }) | ||
127 | |||
128 | -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). | ||
129 | cmp.setup.cmdline({ '/', '?' }, { | ||
130 | mapping = cmp.mapping.preset.cmdline(), | ||
131 | sources = { | ||
132 | { name = 'buffer' } | ||
133 | } | ||
134 | }) | ||
135 | |||
136 | -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). | ||
137 | cmp.setup.cmdline(':', { | ||
138 | mapping = cmp.mapping.preset.cmdline(), | ||
139 | sources = cmp.config.sources({ | ||
140 | { name = 'path' } | ||
141 | }, { | ||
142 | { name = 'cmdline' } | ||
143 | }) | ||
144 | }) | ||
145 | |||
146 | -- -- Set up lspconfig. | ||
147 | -- local capabilities = require('cmp_nvim_lsp').default_capabilities() | ||
148 | -- -- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled. | ||
149 | -- -- require('lspconfig')['<YOUR_LSP_SERVER>'].setup { | ||
150 | -- -- } | ||
151 | -- | ||
152 | -- -- C/C++ | clang | ||
153 | -- require'lspconfig'.clangd.setup{capabilities = capabilities} | ||
154 | -- | ||
155 | -- -- bash | bash-language-server | ||
156 | -- require'lspconfig'.bashls.setup{capabilities = capabilities} | ||
157 | -- | ||
158 | -- -- ccs | vscode-css-languageserver | ||
159 | -- require'lspconfig'.cssls.setup{capabilities = capabilities} | ||
160 | -- | ||
161 | -- -- rust | rust-analyzer | ||
162 | -- require'lspconfig'.rust_analyzer.setup{capabilities = capabilities} | ||
163 | -- | ||
164 | -- -- javascript | eslint | ||
165 | -- require'lspconfig'.eslint.setup{capabilities = capabilities} | ||
166 | -- | ||
167 | -- -- javascript | typescript-language-server | ||
168 | -- require'lspconfig'.tsserver.setup{capabilities = capabilities} | ||
169 | -- | ||
170 | -- -- vimscript | vim-language-server | ||
171 | -- require'lspconfig'.vimls.setup{capabilities = capabilities} | ||
172 | -- | ||
173 | -- require'lspconfig'.html.setup{capabilities = capabilities} | ||
174 | -- | ||
175 | -- require'lspconfig'.jsonls.setup{capabilities = capabilities} | ||
176 | -- | ||