diff --git a/after/plugin/colors.lua b/after/plugin/colors.lua index f94d4d0..97365a5 100755 --- a/after/plugin/colors.lua +++ b/after/plugin/colors.lua @@ -7,9 +7,11 @@ function Color(color) vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) vim.api.nvim_set_hl(0, "StatusLine", { bg = "none" }) -- If Vim thinks StatusLine and StatusLineNC are the same it overrides these settings - vim.api.nvim_set_hl(0, "StatusLineNC", { ctermbg = "#ff0000", bg = "none" }) - vim.api.nvim_set_hl(0, "EndOfBuffer", { fg = "none", bg = "none" }) + vim.api.nvim_set_hl(0, "StatusLineNC", { ctermbg = 0, bg = "none" }) + vim.api.nvim_set_hl(0, "CursorLine", { link = "Visual" }) + vim.api.nvim_set_hl(0, "Pmenu", { link = "Normal" }) + vim.api.nvim_set_hl(0, "PmenuSel", { link = "Visual" }) + vim.api.nvim_set_hl(0, "PmenuSbar", { link = "Normal" }) end Color() --- #1E1E2E diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua index 3c5f1d8..1a64a14 100755 --- a/after/plugin/lsp.lua +++ b/after/plugin/lsp.lua @@ -4,26 +4,49 @@ lsp.preset("recommended") require('mason').setup({}) require('mason-lspconfig').setup({ - ensure_installed = {'tsserver', 'rust_analyzer', 'lua_ls'}, - handlers = { - lsp.default_setup - } + ensure_installed = { 'tsserver', 'rust_analyzer' }, + handlers = { + lsp.default_setup, + lua_ls = function() + local lua_opts = lsp.nvim_lua_ls() + require('lspconfig').lua_ls.setup(lua_opts) + end + } }) -require('lspconfig').yamlls.setup { +require('lspconfig').yamlls.setup({ + on_attach = function(client, bufnr) + client.resolved_capabilities.document_formatting = true + end, settings = { yaml = { + customTags = { "!enemy", "!delay", "!composite" }, validate = false, format = { enable = true } } } +}) + +require('lspconfig').tsserver.setup { + settings = { + typescript = { + preferences = { + quoteStype = 'single' + } + }, + javascript = { + preferences = { + quoteStyle = 'single' + } + } + } } local cmp = require('cmp') -local cmp_select = {behavior = cmp.SelectBehavior.Select} +local cmp_select = { behavior = cmp.SelectBehavior.Select } local cmp_mappings = lsp.defaults.cmp_mappings({ }) @@ -31,47 +54,50 @@ cmp_mappings[''] = nil cmp_mappings[''] = nil cmp.setup({ - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered() - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.select_prev_item(cmp_select), - [''] = cmp.mapping.select_next_item(cmp_select), - [''] = cmp.mapping.confirm({ select = true }), - [''] = cmp.mapping.complete(), - [''] = nil, - [''] = nil - }) + sources = { + { name = 'path' }, + { name = 'nvim_lsp' }, + { name = 'nvim_lua' }, + { name = 'luasnip', keyword_length = 2 }, + { name = 'buffer', keyword_length = 3 }, + }, + formatting = lsp.cmp_format(), + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.complete(), + [''] = nil, + [''] = nil + }), }) - lsp.set_preferences({ - suggest_lsp_servers = false, - sign_icons = { - error = 'E', - warn = 'W', - hint = 'H', - info = 'I' - } + suggest_lsp_servers = false, + sign_icons = { + error = 'E', + warn = 'W', + hint = 'H', + info = 'I' + } }) lsp.on_attach(function(client, bufnr) - local opts = {buffer = bufnr, remap = false} + local opts = { buffer = bufnr, remap = false } - vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) - vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) - vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) - vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) - vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) - vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) - vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) - vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, opts) - vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) - vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) + vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) + vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) + vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) + vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) + vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) + vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, opts) + vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) end) lsp.setup() vim.diagnostic.config({ - virtual_text = true + virtual_text = true }) diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua index 4e6ebeb..a60b5aa 100755 --- a/after/plugin/treesitter.lua +++ b/after/plugin/treesitter.lua @@ -1,6 +1,10 @@ require 'nvim-treesitter.configs'.setup { -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = { "javascript", "typescript", "c", "lua", "vim", "vimdoc", "query" }, + ensure_installed = { "javascript", "typescript", "c", "lua", "vim", "vimdoc", "query", "c_sharp", "css", "gitcommit", "html", "svelte", "yaml", "astro", "toml", "jsdoc", "json" }, + + tree_docs = { + enable = true + }, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, diff --git a/lua/409/autocmd.lua b/lua/409/autocmd.lua new file mode 100644 index 0000000..4f5ee48 --- /dev/null +++ b/lua/409/autocmd.lua @@ -0,0 +1,9 @@ +vim.api.nvim_create_autocmd({ 'FileType' }, { + pattern = { '*.yaml' }, + command = 'setlocal ts=2 sts=2 sw=2 expandtab indentkeys-=0# indentkeys-=<:>' +}) + +vim.api.nvim_create_autocmd({ 'FileType' }, { + pattern = { 'netrw' }, + command = 'nnoremap TmuxNavigateRight' +}) diff --git a/lua/409/init.lua b/lua/409/init.lua index db3535e..b8f9b12 100755 --- a/lua/409/init.lua +++ b/lua/409/init.lua @@ -1,7 +1,3 @@ require('409.remap') require('409.set') - -vim.api.nvim_create_autocmd({ 'FileType' }, { - pattern = { '*.yaml' }, - command = 'setlocal ts=2 sts=2 sw=2 expandtab indentkeys-=0# indentkeys-=<:>' -}) +require('409.autocmd') diff --git a/lua/409/packer.lua b/lua/409/packer.lua index 238235f..fcd6143 100755 --- a/lua/409/packer.lua +++ b/lua/409/packer.lua @@ -21,6 +21,7 @@ return require('packer').startup(function(use) } use('nvim-treesitter/nvim-treesitter', { run = ':TSUpdate' }) + use('nvim-treesitter/nvim-tree-docs') use{ 'ThePrimeagen/harpoon', diff --git a/lua/409/remap.lua b/lua/409/remap.lua index 348c849..d3c85af 100755 --- a/lua/409/remap.lua +++ b/lua/409/remap.lua @@ -38,7 +38,7 @@ vim.keymap.set("n", "", function() vim.cmd("so") end) -vim.keymap.set("n", "", " TmuxNavigateLeft"); -vim.keymap.set("n", "", " TmuxNavigateRight"); -vim.keymap.set("n", "", " TmuxNavigateDown"); -vim.keymap.set("n", "", " TmuxNavigateUp"); +vim.keymap.set({ "n", "x" }, "", " TmuxNavigateLeft"); +vim.keymap.set({ "n", "x" }, "", " TmuxNavigateRight"); +vim.keymap.set({ "n", "x" }, "", " TmuxNavigateDown"); +vim.keymap.set({ "n", "x" }, "", " TmuxNavigateUp"); diff --git a/lua/409/set.lua b/lua/409/set.lua index f39570a..dc31993 100755 --- a/lua/409/set.lua +++ b/lua/409/set.lua @@ -31,3 +31,6 @@ vim.opt.isfname:append('@-@') vim.opt.updatetime = 50 vim.g.mapleader = ' ' +vim.g.netrw_browse_split = 0 +vim.g.netrw_banner = 0 +vim.g.netrw_winsize = 25 diff --git a/plugin/packer_compiled.lua b/plugin/packer_compiled.lua index 256b346..b711478 100644 --- a/plugin/packer_compiled.lua +++ b/plugin/packer_compiled.lua @@ -119,6 +119,11 @@ _G.packer_plugins = { path = "/home/j409/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", url = "https://github.com/neovim/nvim-lspconfig" }, + ["nvim-tree-docs"] = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/nvim-tree-docs", + url = "https://github.com/nvim-treesitter/nvim-tree-docs" + }, ["nvim-treesitter"] = { loaded = true, path = "/home/j409/.local/share/nvim/site/pack/packer/start/nvim-treesitter",