Add autocompletions to Neovim

This commit is contained in:
Mikkel Svartveit 2025-05-29 12:56:43 +02:00
parent 1db8c12b3e
commit b673b2e389
3 changed files with 46 additions and 14 deletions

View file

@ -1748,7 +1748,7 @@
<key>Non-ASCII Anti Aliased</key> <key>Non-ASCII Anti Aliased</key>
<true/> <true/>
<key>Normal Font</key> <key>Normal Font</key>
<string>FiraCodeNF-Ret 13</string> <string>FiraCodeNF-Ret 14</string>
<key>Only The Default BG Color Uses Transparency</key> <key>Only The Default BG Color Uses Transparency</key>
<false/> <false/>
<key>Option Key Sends</key> <key>Option Key Sends</key>
@ -1894,7 +1894,7 @@
<key>Use Underline Color (Light)</key> <key>Use Underline Color (Light)</key>
<false/> <false/>
<key>Vertical Spacing</key> <key>Vertical Spacing</key>
<real>1.25</real> <real>1.28</real>
<key>Visual Bell</key> <key>Visual Bell</key>
<false/> <false/>
<key>Window Type</key> <key>Window Type</key>
@ -1957,7 +1957,7 @@
<key>TerminalMargin</key> <key>TerminalMargin</key>
<integer>5</integer> <integer>5</integer>
<key>TerminalVMargin</key> <key>TerminalVMargin</key>
<integer>2</integer> <integer>1</integer>
<key>UseBorder</key> <key>UseBorder</key>
<false/> <false/>
<key>VisualIndicatorForEsc</key> <key>VisualIndicatorForEsc</key>

View file

@ -1,7 +1,9 @@
{ {
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "faf3c94a44508cec1b961406d36cc65113ff3b98" },
"auto-session": { "branch": "main", "commit": "00334ee24b9a05001ad50221c8daffbeedaa0842" }, "auto-session": { "branch": "main", "commit": "00334ee24b9a05001ad50221c8daffbeedaa0842" },
"catppuccin": { "branch": "main", "commit": "56a9dfd1e05868cf3189369aad87242941396563" }, "catppuccin": { "branch": "main", "commit": "56a9dfd1e05868cf3189369aad87242941396563" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"code_runner.nvim": { "branch": "main", "commit": "386bcaa8aa7ae8703281afce4465ecfdb7c44e65" }, "code_runner.nvim": { "branch": "main", "commit": "386bcaa8aa7ae8703281afce4465ecfdb7c44e65" },
"gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" }, "gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
@ -9,6 +11,7 @@
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" }, "neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lspconfig": { "branch": "master", "commit": "b8e7957bde4cbb3cb25a13a62548f7c273b026e9" }, "nvim-lspconfig": { "branch": "master", "commit": "b8e7957bde4cbb3cb25a13a62548f7c273b026e9" },
"nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" }, "nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" },
"nvim-toggleterm.lua": { "branch": "main", "commit": "a5638b2206c3930a16a24e5c184dddd572f8cd34" }, "nvim-toggleterm.lua": { "branch": "main", "commit": "a5638b2206c3930a16a24e5c184dddd572f8cd34" },

View file

@ -38,14 +38,53 @@ require("lazy").setup({
additional_vim_regex_highlighting = false, additional_vim_regex_highlighting = false,
}, },
} }
end, end,
}, },
-- LSP config -- LSP config
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
dependencies = {
-- Mason for easy LSP installation
{ "mason-org/mason.nvim", opts = {} },
{ "mason-org/mason-lspconfig.nvim", opts = {
handlers = {
-- Make it play with nvim-cmp
function(server_name)
require("lspconfig")[server_name].setup({
capabilities = require('cmp_nvim_lsp').default_capabilities()
})
end,
},
} },
-- Autocompletion (nvim-cmp)
"hrsh7th/nvim-cmp",
"hrsh7th/cmp-nvim-lsp", -- LSP source for nvim-cmp
"L3MON4D3/LuaSnip", -- Snippet engine
},
config = function() config = function()
-- Setup nvim-cmp
local cmp = require('cmp')
cmp.setup({
sources = {
{name = 'nvim_lsp'},
},
mapping = cmp.mapping.preset.insert({
-- Enter key confirms completion item
['<CR>'] = cmp.mapping.confirm({select = true}),
-- Ctrl + space triggers completion menu
['<C-Space>'] = cmp.mapping.complete(),
}),
snippet = {
expand = function(args)
require('luasnip').lsp_expand(args.body)
end,
},
})
-- Keymaps
vim.api.nvim_create_autocmd('LspAttach', { vim.api.nvim_create_autocmd('LspAttach', {
callback = function(event) callback = function(event)
local opts = {buffer = event.buf} local opts = {buffer = event.buf}
@ -57,16 +96,6 @@ require("lazy").setup({
end, end,
}, },
{
"mason-org/mason.nvim",
opts = {}
},
{
"mason-org/mason-lspconfig.nvim",
opts = {},
},
-- Easy commenting/uncommenting -- Easy commenting/uncommenting
{ {
"numToStr/Comment.nvim", "numToStr/Comment.nvim",