aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua')
-rw-r--r--.config/nvim/lua/lsp.lua82
-rw-r--r--.config/nvim/lua/map.lua28
-rw-r--r--.config/nvim/lua/neovide.lua9
-rw-r--r--.config/nvim/lua/plugin/init.lua2
-rw-r--r--.config/nvim/lua/plugin/lsp.lua55
-rw-r--r--.config/nvim/lua/plugin/packer.lua31
-rw-r--r--.config/nvim/lua/plugin/setup.lua2
7 files changed, 92 insertions, 117 deletions
diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua
new file mode 100644
index 0000000..32ba6f8
--- /dev/null
+++ b/.config/nvim/lua/lsp.lua
@@ -0,0 +1,82 @@
+local lspconf = require("lspconfig")
+local cmp = require("cmp")
+local capabilities = require("cmp_nvim_lsp").default_capabilities()
+
+vim.opt.signcolumn = "yes"
+
+local servers = {
+ ["lua_ls"] = {
+ settings = {
+ Lua = {
+ runtime = {
+ version = "LuaJIT"
+ }
+ }
+ }
+ },
+ ["clangd"] = {},
+}
+
+for lsp, conf in pairs(servers) do
+ conf.capabilities = capabilities
+ lspconf[lsp].setup(conf)
+end
+
+
+cmp.setup({
+ preselect = "item",
+ completion = {
+ completeopt = "menu,menuone,noinsert",
+ },
+ window = {
+ completion = cmp.config.window.bordered(),
+ documentation = cmp.config.window.bordered(),
+ },
+ formatting = {
+ fields = { "menu", "abbr", "kind" },
+
+ format = function(entry, item)
+ local menu_icon = {
+ nvim_lsp = "L",
+ buffer = "B",
+ path = "P",
+ nvim_lua = "NL",
+ }
+
+ item.menu = menu_icon[entry.source.name]
+
+ return item
+ end,
+ },
+ mapping = {
+ ["<CR>"] = cmp.mapping.confirm({ select = false }),
+ ["<Tab>"] = cmp.mapping.select_next_item(),
+ ["<S-Tab>"] = cmp.mapping.select_prev_item(),
+ },
+ sources = {
+ { name = "path" },
+ { name = "nvim_lsp" },
+ { name = "buffer", keyword_length = 3 },
+ },
+})
+
+vim.api.nvim_create_autocmd("LspAttach", {
+ group = vim.api.nvim_create_augroup("UserLspConfig", {}),
+ callback = function(ev)
+ vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
+ local opts = { buffer = ev.buf }
+ vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
+ vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
+ vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts)
+ vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
+ vim.keymap.set("n", "go", vim.lsp.buf.type_definition, opts)
+ vim.keymap.set("n", "<leader>ls", vim.lsp.buf.signature_help, opts)
+ vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts)
+ vim.keymap.set("n", "<leader>h", vim.lsp.buf.hover, opts)
+ vim.keymap.set({"n", "v"}, "<space>ca", vim.lsp.buf.code_action, opts)
+ vim.keymap.set("n", "<space>f",
+ function()
+ vim.lsp.buf.format({async = true})
+ end, opts)
+ end
+})
diff --git a/.config/nvim/lua/map.lua b/.config/nvim/lua/map.lua
index 6dcc1da..f4edeee 100644
--- a/.config/nvim/lua/map.lua
+++ b/.config/nvim/lua/map.lua
@@ -5,30 +5,6 @@ local nv = {"n", "v"}
vim.keymap.set(nv, "gm", "gM", {})
vim.keymap.set(nv, "gM", "gMi", {})
--- Moving between windows
-vim.keymap.set(nv, "<C-h>", "<C-w>h", {})
-vim.keymap.set(nv, "<C-j>", "<C-w>j", {})
-vim.keymap.set(nv, "<C-k>", "<C-w>k", {})
-vim.keymap.set(nv, "<C-l>", "<C-w>l", {})
-
--- Same, but for terminal
-vim.keymap.set("t", "<C-h>", "<C-\\><C-n><C-w>h", {})
-vim.keymap.set("t", "<C-j>", "<C-\\><C-n><C-w>j", {})
-vim.keymap.set("t", "<C-k>", "<C-\\><C-n><C-w>k", {})
-vim.keymap.set("t", "<C-l>", "<C-\\><C-n><C-w>l", {})
-
--- Moving windows
-vim.keymap.set(nv, "<C-w>h", "<C-w>H", {})
-vim.keymap.set(nv, "<C-w>j", "<C-w>J", {})
-vim.keymap.set(nv, "<C-w>k", "<C-w>K", {})
-vim.keymap.set(nv, "<C-w>l", "<C-w>L", {})
-
--- Resizing windows
-vim.keymap.set(nv, "<C-->", "<C-w>-", {})
-vim.keymap.set(nv, "<C-=>", "<C-w>+", {})
-vim.keymap.set(nv, "<C-,>", "<C-w><", {})
-vim.keymap.set(nv, "<C-.>", "<C-w>>", {})
-
-- Make exiting insert mode in terminal mode easier
vim.keymap.set("t", "<ESC>", "<C-\\><C-n>", {})
@@ -49,10 +25,6 @@ vim.keymap.set("x", "<leader>P", "p", {})
-- Commands
vim.keymap.set(nv, "<leader>c", "<CMD>set invhlsearch<CR>", {silent=true})
vim.keymap.set(nv, "<leader>e", "<CMD>Oil<CR>", {silent=true})
-vim.keymap.set(nv, "<leader>t", function()
- vim.cmd("split")
- vim.cmd("term")
-end, {silent=true})
vim.keymap.set("n", "{", "<CMD>cp<CR>", {silent=true})
vim.keymap.set("n", "}", "<CMD>cn<CR>", {silent=true})
diff --git a/.config/nvim/lua/neovide.lua b/.config/nvim/lua/neovide.lua
deleted file mode 100644
index da710bb..0000000
--- a/.config/nvim/lua/neovide.lua
+++ /dev/null
@@ -1,9 +0,0 @@
-if not vim.g.neovide then
- return
-end
-
-vim.o.guifont = "MartianMono Nerd Font Mono"
-vim.g.neovide_cursor_animation_length = 0
-vim.g.neovide_cursor_trail_size = 0
-vim.g.neovide_cursor_animate_in_insert_mode = false
-vim.g.neovide_cursor_animate_command_line = false
diff --git a/.config/nvim/lua/plugin/init.lua b/.config/nvim/lua/plugin/init.lua
index 4e60f98..6cd9e35 100644
--- a/.config/nvim/lua/plugin/init.lua
+++ b/.config/nvim/lua/plugin/init.lua
@@ -1,3 +1,3 @@
require("plugin.packer")
require("plugin.setup")
-require("plugin.lsp")
+-- require("plugin.lsp")
diff --git a/.config/nvim/lua/plugin/lsp.lua b/.config/nvim/lua/plugin/lsp.lua
deleted file mode 100644
index b590d30..0000000
--- a/.config/nvim/lua/plugin/lsp.lua
+++ /dev/null
@@ -1,55 +0,0 @@
-local lsp = require("lsp-zero")
-local lspconfig = require("lspconfig")
-
-vim.opt.signcolumn = 'yes'
-
-local lspconfig_defaults = require('lspconfig').util.default_config
-lspconfig_defaults.capabilities = vim.tbl_deep_extend(
- 'force',
- lspconfig_defaults.capabilities,
- require('cmp_nvim_lsp').default_capabilities()
-)
-
-require('mason').setup {}
-require('mason-lspconfig').setup {
- ensure_installed = {
- "lua_ls",
- "clangd",
- },
- handlers = {
- lsp.default_setup,
- },
-}
-
-local cmp = require('cmp')
-cmp.setup {
- mapping = cmp.mapping.preset.insert({
- -- `Enter` key to confirm completion
- ['<CR>'] = cmp.mapping.confirm({ select = false }),
- -- `Tab` key to navigate
- ['<S-Tab>'] = cmp.mapping.select_prev_item({ behavior = 'select' }),
- ['<Tab>'] = cmp.mapping.select_next_item({ behavior = 'select' }),
- })
-}
-
-lsp.on_attach(function(client, buffer)
- local opts = { buffer = buffer, remap = false }
-
- vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
- vim.keymap.set("n", "gD", function() vim.lsp.buf.declaration() end, opts)
- vim.keymap.set("n", "gi", function() vim.lsp.buf.implementation() end, opts)
- vim.keymap.set("n", "go", function() vim.lsp.buf.type_definition() end, opts)
- vim.keymap.set("n", "gr", function() vim.lsp.buf.references() end, opts)
- vim.keymap.set("n", "<leader>h", function() vim.lsp.buf.hover() end, opts)
- vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, opts)
- vim.keymap.set("n", "<leader>lrn", function() vim.lsp.buf.rename() end, opts)
- vim.keymap.set("n", "<leader>ls", function() vim.lsp.buf.signature_help() end, opts)
-end)
-
-lsp.setup()
-
-vim.diagnostic.config {
- virtual_text = true
-}
-
-vim.g.zig_fmt_autosave = 0
diff --git a/.config/nvim/lua/plugin/packer.lua b/.config/nvim/lua/plugin/packer.lua
index a468c06..0ed86bc 100644
--- a/.config/nvim/lua/plugin/packer.lua
+++ b/.config/nvim/lua/plugin/packer.lua
@@ -4,7 +4,6 @@ return require("packer").startup(function(use)
use {"andweeb/presence.nvim"}
use {"hobby-engine/hobby-script-vim"}
- use {"~/den_vim"}
use {
"nvim-telescope/telescope.nvim",
@@ -13,7 +12,6 @@ return require("packer").startup(function(use)
},
}
- use {"tpope/vim-fugitive"}
use {"windwp/nvim-autopairs"}
use {
@@ -36,28 +34,13 @@ return require("packer").startup(function(use)
use {"xiyaowong/transparent.nvim"}
use {"xiyaowong/virtcolumn.nvim"}
- use {
- "VonHeikemen/lsp-zero.nvim",
- requires = {
- {"lukas-reineke/lsp-format.nvim"},
- -- LSP Support
- {"neovim/nvim-lspconfig"},
- {"williamboman/mason.nvim"},
- {"williamboman/mason-lspconfig.nvim"},
-
- -- Autocompletion
- {"hrsh7th/nvim-cmp"},
- {"hrsh7th/cmp-buffer"},
- {"hrsh7th/cmp-path"},
- {"saadparwaiz1/cmp_luasnip"},
- {"hrsh7th/cmp-nvim-lsp"},
- {"hrsh7th/cmp-nvim-lua"},
-
- -- Snippets
- {"L3MON4D3/LuaSnip"},
- {"rafamadriz/friendly-snippets"},
- }
- }
+ use {"williamboman/mason.nvim"}
+ use {"neovim/nvim-lspconfig"}
+ use {"hrsh7th/nvim-cmp"}
+ use {"hrsh7th/cmp-buffer"}
+ use {"hrsh7th/cmp-path"}
+ use {"hrsh7th/cmp-nvim-lsp"}
+ use {"hrsh7th/cmp-nvim-lua"}
use {"stevearc/oil.nvim"}
diff --git a/.config/nvim/lua/plugin/setup.lua b/.config/nvim/lua/plugin/setup.lua
index 5b6e400..5a3ae43 100644
--- a/.config/nvim/lua/plugin/setup.lua
+++ b/.config/nvim/lua/plugin/setup.lua
@@ -4,6 +4,8 @@ require('gitsigns').setup {}
require("Comment").setup {}
+require("mason").setup {}
+
require("oil").setup {
view_options = {
show_hidden = true,