summaryrefslogtreecommitdiff
path: root/.config/nvim/lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua')
-rw-r--r--.config/nvim/lua/plugins/completions.lua53
-rw-r--r--.config/nvim/lua/plugins/lsp.lua48
-rw-r--r--.config/nvim/lua/plugins/none-ls.lua2
-rw-r--r--.config/nvim/lua/plugins/nvim-dap.lua2
-rw-r--r--.config/nvim/lua/plugins/theme.lua14
-rw-r--r--.config/nvim/lua/plugins/treesitter.lua1
6 files changed, 87 insertions, 33 deletions
diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/plugins/completions.lua
new file mode 100644
index 0000000..483fac7
--- /dev/null
+++ b/.config/nvim/lua/plugins/completions.lua
@@ -0,0 +1,53 @@
+-- Autocompletions
+-- https://github.com/hrsh7th/nvim-cmp
+-- https://github.com/L3MON4D3/LuaSnip
+-- https://github.com/saadparwaiz1/cmp_luasnip
+-- https://github.com/rafamadriz/friendly-snippets
+-- https://github.com/hrsh7th/cmp-nvim-lsp
+
+return {
+ {
+ "hrsh7th/cmp-nvim-lsp",
+ },
+ {
+ 'L3MON4D3/LuaSnip',
+ dependencies = {
+ 'saadparwaiz1/cmp_luasnip',
+ 'rafamadriz/friendly-snippets',
+ }
+ },
+ {
+ "hrsh7th/nvim-cmp",
+ config = function()
+ local cmp = require'cmp'
+ require("luasnip.loaders.from_vscode").lazy_load()
+
+ cmp.setup({
+ snippet = {
+ expand = function(args)
+ require('luasnip').lsp_expand(args.body)
+ end,
+ },
+ window = {
+ completion = cmp.config.window.bordered(),
+ documentation = cmp.config.window.bordered(),
+ },
+ mapping = cmp.mapping.preset.insert({
+ ['<C-b>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-e>'] = cmp.mapping.abort(),
+ ['<CR>'] = cmp.mapping.confirm({ select = true }),
+ ['<C-j>'] = cmp.mapping.select_next_item(),
+ ['<C-k>'] = cmp.mapping.select_prev_item(),
+ }),
+ sources = cmp.config.sources({
+ { name = 'nvim_lsp' },
+ { name = 'luasnip' },
+ }, {
+ { name = 'buffer' },
+ })
+ })
+ end,
+ }
+}
diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua
index ad6f420..0ddbbe9 100644
--- a/.config/nvim/lua/plugins/lsp.lua
+++ b/.config/nvim/lua/plugins/lsp.lua
@@ -1,3 +1,8 @@
+-- Language server for specified languages
+-- Hover with 'K'
+-- Goto definition with :Goto
+-- Open code action with :Codeact
+
return {
{
"williamboman/mason.nvim",
@@ -8,31 +13,36 @@ return {
{
"williamboman/mason-lspconfig.nvim",
- config = function()
- require("mason-lspconfig").setup({
- -- Add languages
- ensure_installed = {
- "bashls",
- "clangd",
- "lua_ls",
- "marksman",
- "pyright",
- "rust_analyzer",
- }
- })
- end
+ lazy = false,
+ opts = {
+ auto_install = true,
+ },
},
{
"neovim/nvim-lspconfig",
config = function()
+ -- Advertise autocompletion to lsp
+ local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
- lspconfig.bashls.setup({})
- lspconfig.lua_ls.setup({})
- lspconfig.clangd.setup({})
- lspconfig.marksman.setup({})
- lspconfig.pyright.setup({})
- lspconfig.rust_analyzer.setup({})
+ lspconfig.bashls.setup({
+ capabilities = capabilities
+ })
+ lspconfig.lua_ls.setup({
+ capabilities = capabilities
+ })
+ lspconfig.clangd.setup({
+ capabilities = capabilities
+ })
+ lspconfig.marksman.setup({
+ capabilities = capabilities
+ })
+ lspconfig.pyright.setup({
+ capabilities = capabilities
+ })
+ lspconfig.rust_analyzer.setup({
+ capabilities = capabilities
+ })
-- Key mapping
-- Hover for definition
diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/plugins/none-ls.lua
index 3a912ae..79098a9 100644
--- a/.config/nvim/lua/plugins/none-ls.lua
+++ b/.config/nvim/lua/plugins/none-ls.lua
@@ -1,4 +1,6 @@
+-- Formatter
-- https://github.com/nvimtools/none-ls.nvim
+-- Press '=' to format highlighted code
return {
"nvimtools/none-ls.nvim",
config = function()
diff --git a/.config/nvim/lua/plugins/nvim-dap.lua b/.config/nvim/lua/plugins/nvim-dap.lua
index 7720526..5a6d1ae 100644
--- a/.config/nvim/lua/plugins/nvim-dap.lua
+++ b/.config/nvim/lua/plugins/nvim-dap.lua
@@ -1,3 +1,5 @@
+-- Debugger
+-- https://github.com/mfussenegger/nvim-dap
return {
"mfussenegger/nvim-dap",
event = "BufRead",
diff --git a/.config/nvim/lua/plugins/theme.lua b/.config/nvim/lua/plugins/theme.lua
deleted file mode 100644
index 985e70b..0000000
--- a/.config/nvim/lua/plugins/theme.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-return {
- {
- -- Bottom bar theme
- -- https://github.com/nvim-lualine/lualine.nvim
- "nvim-lualine/lualine.nvim",
- config = function()
- require('lualine').setup({
- options = {
- theme = 'jellybeans'
- }
- })
- end
- }
-}
diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua
index 778f5a0..f04198f 100644
--- a/.config/nvim/lua/plugins/treesitter.lua
+++ b/.config/nvim/lua/plugins/treesitter.lua
@@ -1,3 +1,4 @@
+-- Syntax highlighting
-- https://github.com/nvim-treesitter/nvim-treesitter
return {
"nvim-treesitter/nvim-treesitter",