even more neovim config

This commit is contained in:
Ivan Dimitrov 2023-07-13 22:40:11 +03:00
parent 0a752ee6f5
commit 0aca16b614
2 changed files with 53 additions and 35 deletions

View File

@ -1,36 +1,51 @@
vim.wo.number = true vim.wo.number = true
vim.o.scrolloff = 15
vim.o.hlsearch = false
vim.g.mapleader = " "
vim.g.maplocalleader = " "
local nmap = function(keys, cmd) local nmap = function(keys, cmd)
vim.keymap.set('n', keys, cmd, {noremap = true, silent = true}) vim.keymap.set("n", keys, cmd, { noremap = true, silent = true })
end end
nmap('<Tab>', '<cmd>BufferNext<cr>') nmap("<Tab>", "<cmd>BufferNext<cr>")
nmap('<S-Tab>', '<cmd>BufferPrevious<cr>') nmap("<S-Tab>", "<cmd>BufferPrevious<cr>")
nmap('<C-t>', '<cmd>NvimTreeToggle<cr>') nmap("<leader>x", "<cmd>BufferClose<cr>")
nmap("<C-t>", "<cmd>NvimTreeToggle<cr>")
nmap("<leader>ff", require("telescope.builtin").find_files)
nmap("<leader>fw", require("telescope.builtin").live_grep)
-- START LSP -- START LSP
local cmp = require 'cmp' local cmp = require("cmp")
local lspconfig = require('lspconfig') local lspconfig = require("lspconfig")
local servers = {tsserver = {}, pylsp = {}, lua_ls = {}, rnix = {}} local servers = { tsserver = {}, pylsp = {}, lua_ls = {}, rnix = {} }
local cmp_capabilities = require('cmp_nvim_lsp').default_capabilities() local cmp_capabilities = require("cmp_nvim_lsp").default_capabilities()
local on_attach = function(_, bufnr)
nmap("K", vim.lsp.buf.hover)
nmap("gr", require("telescope.builtin").lsp_references)
end
cmp.setup({ cmp.setup({
snippet = { snippet = {
expand = function(args) require('luasnip').lsp_expand(args.body) end expand = function(args)
}, require("luasnip").lsp_expand(args.body)
mapping = cmp.mapping.preset.insert({ end,
['<C-Space>'] = cmp.mapping.complete(), },
['<CR>'] = cmp.mapping.confirm({select = true}) mapping = cmp.mapping.preset.insert({
}), ["<C-Space>"] = cmp.mapping.complete(),
sources = cmp.config.sources({{name = 'nvim_lsp'}, {name = 'luasnip'}}, ["<CR>"] = cmp.mapping.confirm({ select = true }),
{{name = 'buffer'}}) }),
sources = cmp.config.sources({ { name = "nvim_lsp" }, { name = "luasnip" } }, { { name = "buffer" } }),
}) })
for server, settings in pairs(servers) do for server, settings in pairs(servers) do
lspconfig[server].setup { lspconfig[server].setup({
settings = settings, settings = settings,
capabilities = cmp_capabilities capabilities = cmp_capabilities,
} on_attach = on_attach,
})
end end
-- END LSP -- END LSP
@ -39,5 +54,5 @@ require("autoclose").setup()
require("nvim-tree").setup() require("nvim-tree").setup()
require("catppuccin").setup({flavour = "mocha", transparent_background = true}) require("catppuccin").setup({ flavour = "mocha", transparent_background = true })
vim.cmd.colorscheme "catppuccin" vim.cmd.colorscheme("catppuccin")

View File

@ -42,26 +42,29 @@
extraPackages = with pkgs; [ extraPackages = with pkgs; [
alejandra alejandra
libclang libclang
lua lua
lua-language-server lua-language-server
nodePackages_latest.typescript-language-server nodePackages_latest.typescript-language-server
python311Packages.python-lsp-black python311Packages.python-lsp-black
python311Packages.python-lsp-server python311Packages.python-lsp-server
ripgrep
rnix-lsp rnix-lsp
stylua stylua
]; ];
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
autoclose-nvim autoclose-nvim
barbar-nvim barbar-nvim
catppuccin-nvim catppuccin-nvim
cmp-nvim-lsp cmp-nvim-lsp
luasnip luasnip
nvim-cmp
nvim-cmp nvim-cmp
nvim-lspconfig nvim-cmp
nvim-lspconfig
nvim-tree-lua nvim-tree-lua
nvim-treesitter.withAllGrammars nvim-treesitter.withAllGrammars
nvim-web-devicons nvim-web-devicons
plenary-nvim
telescope-nvim
telescope-nvim telescope-nvim
]; ];
extraLuaConfig = lib.fileContents ./cfg/nvim/init.lua; extraLuaConfig = lib.fileContents ./cfg/nvim/init.lua;