aboutsummaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua176
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 @@
1vim.cmd('set termguicolors')
2vim.cmd('source ~/.vim/vimrc')
3
4require'man'
5
6require'colorizer'.setup()
7
8-- language servers:
9-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
10
11-- C/C++ | clang
12require'lspconfig'.clangd.setup{}
13
14-- lua
15require'lspconfig'.sumneko_lua.setup{
16 settings = {
17 Lua = {
18 diagnostics = {
19 globals = { 'vim' }
20 }
21 }
22 }
23}
24
25-- bash | bash-language-server
26require'lspconfig'.bashls.setup{}
27
28-- ccs | vscode-css-languageserver
29require'lspconfig'.cssls.setup{}
30
31-- rust | rust-analyzer
32require'lspconfig'.rust_analyzer.setup{}
33
34-- javascript | eslint
35require'lspconfig'.eslint.setup{}
36
37-- javascript | typescript-language-server
38require'lspconfig'.tsserver.setup{}
39
40-- vimscript | vim-language-server
41require'lspconfig'.vimls.setup{}
42
43require'lspconfig'.html.setup{}
44
45require'lspconfig'.jsonls.setup{}
46
47require'lspconfig'.pylsp.setup{
48 settings = {
49 pylsp = {
50 plugins = {
51 pycodestyle = {
52 ignore = {'W391'},
53 maxLineLength = 100
54 }
55 }
56 }
57 }
58}
59
60
61require'cmp_nvim_lsp'.setup{}
62
63require'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..
70local capabilities = require('cmp_nvim_lsp').default_capabilities()
71--
72-- -- The following example advertise capabilities to `clangd`.
73require'lspconfig'.clangd.setup {
74capabilities = capabilities,
75}
76
77-- Set up nvim-cmp.
78local cmp = require'cmp'
79
80cmp.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.
120cmp.setup.filetype('gitcommit', {
121sources = 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).
129cmp.setup.cmdline({ '/', '?' }, {
130mapping = cmp.mapping.preset.cmdline(),
131sources = {
132{ name = 'buffer' }
133}
134})
135
136-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
137cmp.setup.cmdline(':', {
138mapping = cmp.mapping.preset.cmdline(),
139sources = 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--
..