diff --git a/iterm2-preferences/com.googlecode.iterm2.plist b/iterm2-preferences/com.googlecode.iterm2.plist
index 60cac7e..00e611e 100644
--- a/iterm2-preferences/com.googlecode.iterm2.plist
+++ b/iterm2-preferences/com.googlecode.iterm2.plist
@@ -1748,7 +1748,7 @@
Non-ASCII Anti Aliased
Normal Font
- FiraCodeNF-Ret 13
+ FiraCodeNF-Ret 14
Only The Default BG Color Uses Transparency
Option Key Sends
@@ -1894,7 +1894,7 @@
Use Underline Color (Light)
Vertical Spacing
- 1.25
+ 1.28
Visual Bell
Window Type
@@ -1957,7 +1957,7 @@
TerminalMargin
5
TerminalVMargin
- 2
+ 1
UseBorder
VisualIndicatorForEsc
diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json
index e72c3c5..9c8ec8f 100644
--- a/nvim/lazy-lock.json
+++ b/nvim/lazy-lock.json
@@ -1,7 +1,9 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
+ "LuaSnip": { "branch": "master", "commit": "faf3c94a44508cec1b961406d36cc65113ff3b98" },
"auto-session": { "branch": "main", "commit": "00334ee24b9a05001ad50221c8daffbeedaa0842" },
"catppuccin": { "branch": "main", "commit": "56a9dfd1e05868cf3189369aad87242941396563" },
+ "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"code_runner.nvim": { "branch": "main", "commit": "386bcaa8aa7ae8703281afce4465ecfdb7c44e65" },
"gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
@@ -9,6 +11,7 @@
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
+ "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lspconfig": { "branch": "master", "commit": "b8e7957bde4cbb3cb25a13a62548f7c273b026e9" },
"nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" },
"nvim-toggleterm.lua": { "branch": "main", "commit": "a5638b2206c3930a16a24e5c184dddd572f8cd34" },
diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua
index 8768864..1fd0b19 100644
--- a/nvim/lua/plugins.lua
+++ b/nvim/lua/plugins.lua
@@ -38,14 +38,53 @@ require("lazy").setup({
additional_vim_regex_highlighting = false,
},
}
-
end,
},
-- LSP config
{
"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()
+ -- Setup nvim-cmp
+ local cmp = require('cmp')
+ cmp.setup({
+ sources = {
+ {name = 'nvim_lsp'},
+ },
+ mapping = cmp.mapping.preset.insert({
+ -- Enter key confirms completion item
+ [''] = cmp.mapping.confirm({select = true}),
+
+ -- Ctrl + space triggers completion menu
+ [''] = cmp.mapping.complete(),
+ }),
+ snippet = {
+ expand = function(args)
+ require('luasnip').lsp_expand(args.body)
+ end,
+ },
+ })
+
+ -- Keymaps
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(event)
local opts = {buffer = event.buf}
@@ -57,16 +96,6 @@ require("lazy").setup({
end,
},
- {
- "mason-org/mason.nvim",
- opts = {}
- },
-
- {
- "mason-org/mason-lspconfig.nvim",
- opts = {},
- },
-
-- Easy commenting/uncommenting
{
"numToStr/Comment.nvim",