init.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. mapping = {
  23. ["<C-e>"] = cmp.mapping.close(),
  24. ["<C-d>"] = cmp.mapping.scroll_docs(-4),
  25. ["<C-f>"] = cmp.mapping.scroll_docs(4),
  26. ["<C-y>"] = cmp.mapping.confirm {
  27. behavior = cmp.ConfirmBehavior.Insert,
  28. select = true,
  29. },
  30. ["<C-space>"] = cmp.mapping.complete(),
  31. },
  32. sources = {
  33. { name = "nvim_lsp" },
  34. { name = "path" },
  35. { name = "luasnip" },
  36. { name = "buffer", keyword_length = 5 },
  37. },
  38. snippet = {
  39. expand = function(args)
  40. require('luasnip').lsp_expand(args.body)
  41. end,
  42. },
  43. experimental = {
  44. native_menu = false
  45. }
  46. })
  47. -- Setup lspconfig.
  48. -- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
  49. require('lspconfig')['gopls'].setup {
  50. capabilities = capabilities
  51. }
  52. require('lspconfig')['rust_analyzer'].setup {
  53. capabilities = capabilities
  54. }
  55. require('lspconfig')['jedi_language_server'].setup {
  56. capabilities = capabilities
  57. }
  58. require('lspconfig')['clangd'].setup {
  59. capabilities = capabilities
  60. }