From f92f9ba51b669d69ba7756399dece613e1d8cd61 Mon Sep 17 00:00:00 2001 From: Solomon Laing Date: Sat, 20 Aug 2022 22:03:19 +0930 Subject: [PATCH] updated nvim, lsp now working, now to work out what plugins I do and don't need and configure them :D --- .config/nvim/init.lua | 12 +++--- .config/nvim/lua/user/copilot.lua | 1 + .config/nvim/lua/user/illuminate.lua | 10 +---- .config/nvim/lua/user/keymaps.lua | 5 +-- .config/nvim/lua/user/lsp/handlers.lua | 10 +++-- .config/nvim/lua/user/lsp/init.lua | 5 ++- .config/nvim/lua/user/lsp/mason.lua | 1 + .config/nvim/lua/user/plugins.lua | 13 +----- .config/nvim/lua/user/winbar.lua | 59 +------------------------- .config/shell/profile | 3 ++ 10 files changed, 29 insertions(+), 90 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 222ee00..c88b0c6 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -20,25 +20,27 @@ require("user.impatient") require("user.indentline") require("user.alpha") require("user.whichkey") +-- Not sure I want to use this yet. -- require "user.hop" require("user.matchup") --- require "user.numb" +require "user.numb" require("user.colorizer") --- require "user.spectre" +require "user.spectre" require("user.zen-mode") require("user.neoscroll") require("user.todo-comments") require("user.symbol-outline") require("user.notify") require("user.ts-context") -require("user.copilot") +-- I can look at this in Chritian Chiarulli's config if I wish, for now I can't be bothered. +-- require("user.copilot") require("user.functions") require("user.illuminate") require("user.dap") --- require "user.lir" +require "user.lir" require("user.winbar") require("user.nvim-webdev-icons") --- require "user.fidget" +require "user.fidget" require("user.browse") require("user.surround") require("user.harpoon") diff --git a/.config/nvim/lua/user/copilot.lua b/.config/nvim/lua/user/copilot.lua index a5c9898..618db8f 100644 --- a/.config/nvim/lua/user/copilot.lua +++ b/.config/nvim/lua/user/copilot.lua @@ -10,6 +10,7 @@ local status_ok, copilot = pcall(require, "copilot") if not status_ok then + print "copilot error!" return end diff --git a/.config/nvim/lua/user/illuminate.lua b/.config/nvim/lua/user/illuminate.lua index dfe3415..2b6c013 100644 --- a/.config/nvim/lua/user/illuminate.lua +++ b/.config/nvim/lua/user/illuminate.lua @@ -1,11 +1,3 @@ --- vim.g.Illuminate_delay = 0 --- vim.g.Illuminate_highlightUnderCursor = 0 vim.g.Illuminate_ftblacklist = { "alpha", "NvimTree", "DressingSelect", "harpoon" } --- vim.g.Illuminate_highlightUnderCursor = 0 vim.api.nvim_set_keymap("n", "", 'lua require"illuminate".next_reference{wrap=true}', { noremap = true }) -vim.api.nvim_set_keymap( - "n", - "", - 'lua require"illuminate".next_reference{reverse=true,wrap=true}', - { noremap = true } -) +vim.api.nvim_set_keymap("n", "", 'lua require"illuminate".next_reference{reverse=true,wrap=true}', { noremap = true }) diff --git a/.config/nvim/lua/user/keymaps.lua b/.config/nvim/lua/user/keymaps.lua index 4bb8b9b..8bc6106 100644 --- a/.config/nvim/lua/user/keymaps.lua +++ b/.config/nvim/lua/user/keymaps.lua @@ -37,6 +37,7 @@ keymap("n", "", ":m .-2==gi", opts) -- Insert -- -- Press jk fast to enter keymap("i", "jk", "", opts) +keymap("i", "zzz", " zz a", opts) -- Visual -- -- Stay in indent mode @@ -61,6 +62,7 @@ keymap("n", "ff", ":Telescope find_files", opts) keymap("n", "ft", ":Telescope live_grep", opts) keymap("n", "fp", ":Telescope projects", opts) keymap("n", "fb", ":Telescope buffers", opts) +keymap("n", "fr", ":Telescope oldfiles", opts) -- Goyo keymap("n", "f", ":Goyo", opts) @@ -83,7 +85,4 @@ keymap("n", "p", ":!opout %", opts) -- Attempt sudo for files that require it keymap("n", "w!!", 'execute "silent! write !sudo tee % >/dev/null" edit!', opts) -keymap("n", "fr", "lua vim.lsp.buf.references()", opts) -keymap("n", "K", "lua vim.lsp.buf.definition()", opts) - keymap("n", "", "ZenMode", opts) diff --git a/.config/nvim/lua/user/lsp/handlers.lua b/.config/nvim/lua/user/lsp/handlers.lua index 762ef04..dfddbe0 100644 --- a/.config/nvim/lua/user/lsp/handlers.lua +++ b/.config/nvim/lua/user/lsp/handlers.lua @@ -4,6 +4,7 @@ M.capabilities = vim.lsp.protocol.make_client_capabilities() local status_cmp_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") if not status_cmp_ok then + print "cmp_nvim_lsp error!" return end M.capabilities.textDocument.completion.completionItem.snippetSupport = true @@ -77,6 +78,7 @@ local function lsp_highlight_document(client) -- if client.server_capabilities.document_highlight then local status_ok, illuminate = pcall(require, "illuminate") if not status_ok then + print "illuminate error!" return end illuminate.on_attach(client) @@ -87,6 +89,7 @@ local function attach_navic(client, bufnr) vim.g.navic_silence = true local status_ok, navic = pcall(require, "nvim-navic") if not status_ok then + print "nvim-navic error!" return end navic.attach(client, bufnr) @@ -115,7 +118,8 @@ end M.on_attach = function(client, bufnr) lsp_keymaps(bufnr) - lsp_highlight_document(client) + -- This is currently broken, not sure why. + -- lsp_highlight_document(client) attach_navic(client, bufnr) if client.name == "tsserver" then @@ -134,8 +138,8 @@ end function M.enable_format_on_save() vim.cmd [[ augroup format_on_save - autocmd! - autocmd BufWritePre * lua vim.lsp.buf.format({ async = false }) + autocmd! + autocmd BufWritePre * lua vim.lsp.buf.format({ async = false }) augroup end ]] vim.notify "Enabled format on save" diff --git a/.config/nvim/lua/user/lsp/init.lua b/.config/nvim/lua/user/lsp/init.lua index e919e76..665ecef 100644 --- a/.config/nvim/lua/user/lsp/init.lua +++ b/.config/nvim/lua/user/lsp/init.lua @@ -1,6 +1,8 @@ M = {} + local status_ok, _ = pcall(require, "lspconfig") if not status_ok then + print "lspconfig error!" return end @@ -18,7 +20,7 @@ M.server_capabilities = function() return "capabilites for: " .. item end, }, function(choice) - -- print(active_client_map[choice]) + print(active_client_map[choice]) print(vim.inspect(vim.lsp.get_active_clients()[active_client_map[choice]].server_capabilities.executeCommandProvider)) vim.pretty_print(vim.lsp.get_active_clients()[active_client_map[choice]].server_capabilities) end) @@ -32,6 +34,7 @@ require "user.lsp.null-ls" local l_status_ok, lsp_lines = pcall(require, "lsp_lines") if not l_status_ok then + print "lsp_lines error!" return end diff --git a/.config/nvim/lua/user/lsp/mason.lua b/.config/nvim/lua/user/lsp/mason.lua index a2c99b1..fddf35b 100644 --- a/.config/nvim/lua/user/lsp/mason.lua +++ b/.config/nvim/lua/user/lsp/mason.lua @@ -53,6 +53,7 @@ mason_lspconfig.setup { local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig") if not lspconfig_status_ok then + print "lspconfig error!" return end diff --git a/.config/nvim/lua/user/plugins.lua b/.config/nvim/lua/user/plugins.lua index d67f0b1..16e97c3 100644 --- a/.config/nvim/lua/user/plugins.lua +++ b/.config/nvim/lua/user/plugins.lua @@ -51,9 +51,10 @@ return packer.startup(function(use) -- Lua Development use "nvim-lua/plenary.nvim" -- Useful lua functions used ny lots of plugins use "nvim-lua/popup.nvim" + use "folke/lua-dev.nvim" -- LSP - use "neovim/nvim-lspconfig" -- enable LSP + use "neovim/nvim-lspconfig" -- enable LSP -- use "williamboman/nvim-lsp-installer" -- simple to use language server installer use "williamboman/mason.nvim" use "williamboman/mason-lspconfig.nvim" @@ -62,16 +63,6 @@ return packer.startup(function(use) use "SmiteshP/nvim-navic" use "simrat39/symbols-outline.nvim" use "b0o/SchemaStore.nvim" - -- use "github/copilot.vim" - use { - "zbirenbaum/copilot.lua", - event = { "VimEnter" }, - config = function() - vim.defer_fn(function() - require "user.copilot" - end, 100) - end, - } use "RRethy/vim-illuminate" use "j-hui/fidget.nvim" use "lvimuser/lsp-inlayhints.nvim" diff --git a/.config/nvim/lua/user/winbar.lua b/.config/nvim/lua/user/winbar.lua index 3d760a7..619caef 100644 --- a/.config/nvim/lua/user/winbar.lua +++ b/.config/nvim/lua/user/winbar.lua @@ -52,50 +52,6 @@ M.get_filename = function() end end --- local get_gps = function() --- local status_gps_ok, gps = pcall(require, "nvim-gps") --- if not status_gps_ok then --- return "" --- end --- --- local status_ok, gps_location = pcall(gps.get_location, {}) --- if not status_ok then --- return "" --- end --- --- if not gps.is_available() or gps_location == "error" then --- return "" --- end --- --- if not require("user.functions").isempty(gps_location) then --- return require("user.icons").ui.ChevronRight .. " " .. gps_location --- else --- return "" --- end --- end - -local get_gps = function() - local status_gps_ok, gps = pcall(require, "nvim-navic") - if not status_gps_ok then - return "" - end - - local status_ok, gps_location = pcall(gps.get_location, {}) - if not status_ok then - return "" - end - - if not gps.is_available() or gps_location == "error" then - return "" - end - - if not require("user.functions").isempty(gps_location) then - return require("user.icons").ui.ChevronRight .. " " .. gps_location - else - return "" - end -end - local excludes = function() if vim.tbl_contains(M.winbar_filetype_exclude, vim.bo.filetype) then vim.opt_local.winbar = nil @@ -111,22 +67,9 @@ M.get_winbar = function() local f = require "user.functions" local value = M.get_filename() - local gps_added = false - if not f.isempty(value) then - local gps_value = get_gps() - value = value .. " " .. gps_value - if not f.isempty(gps_value) then - gps_added = true - end - end - if not f.isempty(value) and f.get_buf_option "mod" then local mod = "%#LspCodeLens#" .. require("user.icons").ui.Circle .. "%*" - if gps_added then - value = value .. " " .. mod - else - value = value .. mod - end + value = value .. mod end local num_tabs = #vim.api.nvim_list_tabpages() diff --git a/.config/shell/profile b/.config/shell/profile index 60aa4df..ec66f43 100644 --- a/.config/shell/profile +++ b/.config/shell/profile @@ -8,6 +8,9 @@ # Adds `~/.local/bin` to $PATH export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}" +# Userwide npm installations +export npm_config_prefix="$HOME/.local" + unsetopt PROMPT_SP # Default programs: