diff --git a/elixir-ls.lua b/elixir-ls.lua index fc0a1b0..8813a4e 100644 --- a/elixir-ls.lua +++ b/elixir-ls.lua @@ -1,4 +1,4 @@ -local elixir_ls_binary = "/Users/" .. USER .. "/.config/nvim/lang-srvrs/elixir-ls/language_server.sh" +local elixir_ls_binary = "/Users/aym/.config/nvim/lang-srvrs/elixir-ls/language_server.sh" require'lspconfig'.elixirls.setup{ -- Unix diff --git a/init.lua b/init.lua index 1ca0277..9e5df4c 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,4 @@ require('settings') -require('keymappings') require('nv-globals') require('plugins') require('colorscheme') @@ -10,7 +9,7 @@ require('keymappings') require('lsp') require('lsp.typescript-ls') require('lsp.python-ls') -require('lsp.lua-ls') +-- require('lsp.lua-ls') require('lsp.elixir-ls') require('lsp.go-ls') require('lsp.ocaml-ls') diff --git a/lua/lsp/elixir-ls.lua b/lua/lsp/elixir-ls.lua index f111c8b..f793044 100644 --- a/lua/lsp/elixir-ls.lua +++ b/lua/lsp/elixir-ls.lua @@ -1,8 +1,8 @@ -local elixir_ls_binary = "/Users/" .. USER .. "/.config/nvim/lang-srvrs/elixir-ls/language_server.sh" +local elixir_ls_binary = "/home/aym/.config/nvim/lang-srvrs/elixir-ls/language_server.sh" require'lspconfig'.elixirls.setup{ cmd = { elixir_ls_binary }; } -vim.api.nvim_command('autocmd BufWritePost *.ex :lua vim.lsp.buf.formatting()') -vim.api.nvim_command('autocmd BufWritePost *.exs :lua vim.lsp.buf.formatting()') +vim.api.nvim_command('autocmd BufWritePost *.ex :lua vim.lsp.buf.format()') +vim.api.nvim_command('autocmd BufWritePost *.exs :lua vim.lsp.buf.format()') diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 377ae3a..f5bec74 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -1,5 +1,6 @@ local lsp = vim.lsp local handlers = lsp.handlers +local keymap = vim.keymap.set -- Hover doc popup local pop_opts = { border = "rounded", max_width = 80 } @@ -10,5 +11,6 @@ vim.api.nvim_set_keymap('n', 'lgd', 'lua vim.lsp.buf.definition()lgD', 'lua vim.lsp.buf.declaration()', {noremap = true, silent = true}) vim.api.nvim_set_keymap('n', 'lgr', 'lua vim.lsp.buf.references()', {noremap = true, silent = true}) vim.api.nvim_set_keymap('n', 'lgi', 'lua vim.lsp.buf.implementation()', {noremap = true, silent = true}) -vim.api.nvim_set_keymap('n', 'lr', 'lua require("lspsaga.rename").rename()', {noremap = true, silent = true}) + +keymap("n", "lr", "Lspsaga rename ++project") vim.api.nvim_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', {noremap = true, silent = true}) diff --git a/lua/lsp/ocaml-ls.lua b/lua/lsp/ocaml-ls.lua index 8fda7b3..80f6ff3 100644 --- a/lua/lsp/ocaml-ls.lua +++ b/lua/lsp/ocaml-ls.lua @@ -1,2 +1,4 @@ require("lsp-format").setup {} require'lspconfig'.ocamllsp.setup{ on_attach = require("lsp-format").on_attach } + +vim.cmd('set rtp^="/home/aym/.opam/cs3110-2023sp/share/ocp-indent/vim"') diff --git a/lua/lsp/typescript-ls.lua b/lua/lsp/typescript-ls.lua index e1317cb..fca66b7 100644 --- a/lua/lsp/typescript-ls.lua +++ b/lua/lsp/typescript-ls.lua @@ -15,6 +15,3 @@ require'lspconfig'.tsserver.setup{ filetypes = { "javascript", "javascriptreact", "javascript.jsx", "typescript", "typescriptreact", "typescript.tsx" }, root_dir = require('lspconfig/util').root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git") } - -local saga = require 'lspsaga' -saga.init_lsp_saga() diff --git a/lua/plugins.lua b/lua/plugins.lua index cbd89b3..7528671 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -14,7 +14,20 @@ return require('packer').startup(function(use) -- LSP use 'neovim/nvim-lspconfig' - use 'glepnir/lspsaga.nvim' + use({ + "glepnir/lspsaga.nvim", + -- opt = true, + branch = "main", + event = "LspAttach", + config = function() + require("lspsaga").setup({}) + end, + requires = { + {"nvim-tree/nvim-web-devicons"}, + --Please make sure you install markdown and markdown_inline parser + {"nvim-treesitter/nvim-treesitter"} + } + }) use 'kabouzeid/nvim-lspinstall' -- Autocomplete use 'hrsh7th/nvim-compe' @@ -27,11 +40,11 @@ return require('packer').startup(function(use) -- Syntax use 'sheerun/vim-polyglot' - use { - 'prettier/vim-prettier', - run = "yarn install", - ft = {"javascript", "typescript", "json"} - } + -- use { + -- 'prettier/vim-prettier', + -- run = "yarn install", + -- ft = {"javascript", "typescript", "json"} + -- } use {'styled-components/vim-styled-components', branch = "main"} use 'dominikduda/vim_current_word' use { diff --git a/plugin/packer_compiled.lua b/plugin/packer_compiled.lua index 4e1003e..49b8fb2 100644 --- a/plugin/packer_compiled.lua +++ b/plugin/packer_compiled.lua @@ -9,23 +9,26 @@ vim.api.nvim_command('packadd packer.nvim') local no_errors, error_msg = pcall(function() - local time - local profile_info - local should_profile = false - if should_profile then - local hrtime = vim.loop.hrtime - profile_info = {} - time = function(chunk, start) - if start then - profile_info[chunk] = hrtime() - else - profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 - end +_G._packer = _G._packer or {} +_G._packer.inside_compile = true + +local time +local profile_info +local should_profile = false +if should_profile then + local hrtime = vim.loop.hrtime + profile_info = {} + time = function(chunk, start) + if start then + profile_info[chunk] = hrtime() + else + profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 end - else - time = function(chunk, start) end end - +else + time = function(chunk, start) end +end + local function save_profiles(threshold) local sorted_times = {} for chunk_name, time_taken in pairs(profile_info) do @@ -38,8 +41,10 @@ local function save_profiles(threshold) results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' end end + if threshold then + table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') + end - _G._packer = _G._packer or {} _G._packer.profile_output = results end @@ -79,14 +84,24 @@ _G.packer_plugins = { path = "/home/aym/.local/share/nvim/site/pack/packer/start/black", url = "https://github.com/psf/black" }, + fzf = { + loaded = true, + path = "/home/aym/.local/share/nvim/site/pack/packer/start/fzf", + url = "https://github.com/junegunn/fzf" + }, + ["fzf.vim"] = { + loaded = true, + path = "/home/aym/.local/share/nvim/site/pack/packer/start/fzf.vim", + url = "https://github.com/junegunn/fzf.vim" + }, ["gitsigns.nvim"] = { - config = { "\27LJ\2\0026\0\0\2\0\3\0\0066\0\0\0'\1\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0" }, + config = { "\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0" }, loaded = true, path = "/home/aym/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", url = "https://github.com/lewis6991/gitsigns.nvim" }, ["indent-blankline.nvim"] = { - config = { "\27LJ\2\2æ\1\0\0\3\0\v\0\0256\0\0\0009\0\1\0+\1\2\0=\1\2\0006\0\0\0009\0\1\0009\0\3\0\18\1\0\0009\0\4\0'\2\5\0B\0\3\0016\0\0\0009\0\1\0009\0\3\0\18\1\0\0009\0\4\0'\2\6\0B\0\3\0016\0\a\0'\1\b\0B\0\2\0029\0\t\0005\1\n\0B\0\2\1K\0\1\0\1\0\2\25space_char_blankline\6 \21show_end_of_line\2\nsetup\21indent_blankline\frequire\feol:↴\14space:â‹…\vappend\14listchars\tlist\bopt\bvim\0" }, + config = { "\27LJ\2\næ\1\0\0\4\0\v\0\0256\0\0\0009\0\1\0+\1\2\0=\1\2\0006\0\0\0009\0\1\0009\0\3\0\18\2\0\0009\0\4\0'\3\5\0B\0\3\0016\0\0\0009\0\1\0009\0\3\0\18\2\0\0009\0\4\0'\3\6\0B\0\3\0016\0\a\0'\2\b\0B\0\2\0029\0\t\0005\2\n\0B\0\2\1K\0\1\0\1\0\2\21show_end_of_line\2\25space_char_blankline\6 \nsetup\21indent_blankline\frequire\feol:↴\14space:â‹…\vappend\14listchars\tlist\bopt\bvim\0" }, loaded = false, needs_bufread = false, only_cond = false, @@ -98,14 +113,22 @@ _G.packer_plugins = { path = "/home/aym/.local/share/nvim/site/pack/packer/start/lightline.vim", url = "https://github.com/itchyny/lightline.vim" }, + ["lsp-format.nvim"] = { + loaded = true, + path = "/home/aym/.local/share/nvim/site/pack/packer/start/lsp-format.nvim", + url = "https://github.com/lukas-reineke/lsp-format.nvim" + }, ["lsp_signature.nvim"] = { loaded = true, path = "/home/aym/.local/share/nvim/site/pack/packer/start/lsp_signature.nvim", url = "https://github.com/ray-x/lsp_signature.nvim" }, ["lspsaga.nvim"] = { - loaded = true, - path = "/home/aym/.local/share/nvim/site/pack/packer/start/lspsaga.nvim", + config = { "\27LJ\2\n9\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\flspsaga\frequire\0" }, + loaded = false, + needs_bufread = false, + only_cond = false, + path = "/home/aym/.local/share/nvim/site/pack/packer/opt/lspsaga.nvim", url = "https://github.com/glepnir/lspsaga.nvim" }, ["nvim-compe"] = { @@ -123,6 +146,11 @@ _G.packer_plugins = { path = "/home/aym/.local/share/nvim/site/pack/packer/start/nvim-lspinstall", url = "https://github.com/kabouzeid/nvim-lspinstall" }, + ["nvim-treesitter"] = { + loaded = true, + path = "/home/aym/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, ["nvim-web-devicons"] = { loaded = true, path = "/home/aym/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", @@ -159,7 +187,7 @@ _G.packer_plugins = { url = "https://github.com/nvim-telescope/telescope.nvim" }, ["trouble.nvim"] = { - config = { "\27LJ\2\0029\0\0\2\0\3\0\a6\0\0\0'\1\1\0B\0\2\0029\0\2\0004\1\0\0B\0\2\1K\0\1\0\nsetup\ftrouble\frequire\0" }, + config = { "\27LJ\2\n9\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\ftrouble\frequire\0" }, loaded = true, path = "/home/aym/.local/share/nvim/site/pack/packer/start/trouble.nvim", url = "https://github.com/folke/trouble.nvim" @@ -184,13 +212,6 @@ _G.packer_plugins = { path = "/home/aym/.local/share/nvim/site/pack/packer/start/vim-polyglot", url = "https://github.com/sheerun/vim-polyglot" }, - ["vim-prettier"] = { - loaded = false, - needs_bufread = true, - only_cond = false, - path = "/home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier", - url = "https://github.com/prettier/vim-prettier" - }, ["vim-rooter"] = { loaded = true, path = "/home/aym/.local/share/nvim/site/pack/packer/start/vim-rooter", @@ -216,74 +237,32 @@ _G.packer_plugins = { time([[Defining packer_plugins]], false) -- Config for: gitsigns.nvim time([[Config for gitsigns.nvim]], true) -try_loadstring("\27LJ\2\0026\0\0\2\0\3\0\0066\0\0\0'\1\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim") +try_loadstring("\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim") time([[Config for gitsigns.nvim]], false) -- Config for: trouble.nvim time([[Config for trouble.nvim]], true) -try_loadstring("\27LJ\2\0029\0\0\2\0\3\0\a6\0\0\0'\1\1\0B\0\2\0029\0\2\0004\1\0\0B\0\2\1K\0\1\0\nsetup\ftrouble\frequire\0", "config", "trouble.nvim") +try_loadstring("\27LJ\2\n9\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\ftrouble\frequire\0", "config", "trouble.nvim") time([[Config for trouble.nvim]], false) vim.cmd [[augroup packer_load_aucmds]] vim.cmd [[au!]] -- Filetype lazy-loads time([[Defining lazy-load filetype autocommands]], true) -vim.cmd [[au FileType javascript ++once lua require("packer.load")({'vim-prettier'}, { ft = "javascript" }, _G.packer_plugins)]] -vim.cmd [[au FileType typescript ++once lua require("packer.load")({'vim-prettier'}, { ft = "typescript" }, _G.packer_plugins)]] -vim.cmd [[au FileType helm ++once lua require("packer.load")({'indent-blankline.nvim'}, { ft = "helm" }, _G.packer_plugins)]] -vim.cmd [[au FileType yml ++once lua require("packer.load")({'indent-blankline.nvim'}, { ft = "yml" }, _G.packer_plugins)]] vim.cmd [[au FileType yaml ++once lua require("packer.load")({'indent-blankline.nvim'}, { ft = "yaml" }, _G.packer_plugins)]] -vim.cmd [[au FileType json ++once lua require("packer.load")({'vim-prettier'}, { ft = "json" }, _G.packer_plugins)]] +vim.cmd [[au FileType yml ++once lua require("packer.load")({'indent-blankline.nvim'}, { ft = "yml" }, _G.packer_plugins)]] +vim.cmd [[au FileType helm ++once lua require("packer.load")({'indent-blankline.nvim'}, { ft = "helm" }, _G.packer_plugins)]] time([[Defining lazy-load filetype autocommands]], false) + -- Event lazy-loads +time([[Defining lazy-load event autocommands]], true) +vim.cmd [[au LspAttach * ++once lua require("packer.load")({'lspsaga.nvim'}, { event = "LspAttach *" }, _G.packer_plugins)]] +time([[Defining lazy-load event autocommands]], false) vim.cmd("augroup END") -vim.cmd [[augroup filetypedetect]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/css.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/css.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/css.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/graphql.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/graphql.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/graphql.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/html.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/html.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/html.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/javascript.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/javascript.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/javascript.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/json.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/json.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/json.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/less.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/less.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/less.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/lua.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/lua.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/lua.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/markdown.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/markdown.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/markdown.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/php.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/php.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/php.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/ruby.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/ruby.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/ruby.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/scss.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/scss.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/scss.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/svelte.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/svelte.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/svelte.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/typescript.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/typescript.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/typescript.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/vue.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/vue.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/vue.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/xml.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/xml.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/xml.vim]], false) -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/yaml.vim]], true) -vim.cmd [[source /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/yaml.vim]] -time([[Sourcing ftdetect script at: /home/aym/.local/share/nvim/site/pack/packer/opt/vim-prettier/ftdetect/yaml.vim]], false) -vim.cmd("augroup END") + +_G._packer.inside_compile = false +if _G._packer.needs_bufread == true then + vim.cmd("doautocmd BufRead") +end +_G._packer.needs_bufread = false + if should_profile then save_profiles() end end)