config.lua (1649B)
1 require("nvim-treesitter.configs").setup { 2 ensure_installed = "all", 3 -- treesitter indentation is broken 4 indent = { 5 enable = false 6 }; 7 highlight = { 8 enable = true, 9 -- needed to fix indentation... 10 additional_vim_regex_highlighting = true, 11 }, 12 } 13 14 -- Setup nvim-cmp. 15 local cmp = require'cmp' 16 17 cmp.setup({ 18 snippet = { 19 expand = function(args) 20 vim.fn["vsnip#anonymous"](args.body) 21 end, 22 }, 23 mapping = { 24 ['<C-j>'] = function(fallback) 25 if cmp.visible() then 26 cmp.select_next_item() 27 else 28 fallback() 29 end 30 end, 31 ['<C-k>'] = function(fallback) 32 if cmp.visible() then 33 cmp.select_prev_item() 34 else 35 fallback() 36 end 37 end, 38 ['<Tab>'] = cmp.mapping.confirm({ select = true }), 39 ['<CR>'] = cmp.mapping.confirm({ select = true }), 40 }, 41 sources = cmp.config.sources({ 42 { name = 'nvim_lsp' }, 43 { name = 'vsnip' }, 44 }, { 45 { name = 'buffer' }, 46 }) 47 }) 48 49 -- Setup lspconfig. 50 local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()) 51 require('lspconfig')["ccls"].setup { 52 capabilities = capabilities; 53 init_options = { 54 cache = { 55 directory = "/tmp/ccls-cache"; 56 }; 57 clang = { 58 extraArgs = {"--gcc-toolchain=/usr"}; 59 }; 60 }; 61 } 62 require('lspconfig')["texlab"].setup { capabilities = capabilities } 63 require('lspconfig')["tsserver"].setup { capabilities = capabilities }