init.lua 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. --Set highlight on search
  2. vim.o.hlsearch = false
  3. --Set statusbar
  4. vim.g.lightline = {
  5. colorscheme = 'onedark',
  6. active = { left = { { 'mode', 'paste' }, { 'gitbranch', 'readonly', 'filename', 'modified' } } },
  7. component_function = { gitbranch = 'fugitive#head' },
  8. }
  9. -- Highlight on yank
  10. vim.api.nvim_exec(
  11. [[
  12. augroup YankHighlight
  13. autocmd!
  14. autocmd TextYankPost * silent! lua vim.highlight.on_yank()
  15. augroup end
  16. ]],
  17. false
  18. )
  19. local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
  20. local cmp = require'cmp'
  21. cmp.setup({
  22. snippet = {
  23. -- REQUIRED - you must specify a snippet engine
  24. expand = function(args)
  25. --vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
  26. require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
  27. -- require('snippy').expand_snippet(args.body) -- For `snippy` users.
  28. -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
  29. end,
  30. },
  31. mapping = {
  32. ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
  33. ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
  34. ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
  35. ['<C-y>'] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
  36. ['<C-e>'] = cmp.mapping({
  37. i = cmp.mapping.abort(),
  38. c = cmp.mapping.close(),
  39. }),
  40. ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
  41. },
  42. sources = cmp.config.sources({
  43. { name = 'nvim_lsp' },
  44. --{ name = 'vsnip' }, -- For vsnip users.
  45. { name = 'luasnip' }, -- For luasnip users.
  46. -- { name = 'ultisnips' }, -- For ultisnips users.
  47. -- { name = 'snippy' }, -- For snippy users.
  48. }, {
  49. { name = 'buffer' },
  50. })
  51. })
  52. -- Setup lspconfig.
  53. -- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
  54. require('lspconfig')['gopls'].setup {
  55. capabilities = capabilities
  56. }
  57. require('lspconfig')['rust_analyzer'].setup {
  58. capabilities = capabilities
  59. }
  60. require('lspconfig')['jedi_language_server'].setup {
  61. capabilities = capabilities
  62. }
  63. require('lspconfig')['clangd'].setup {
  64. capabilities = capabilities
  65. }