From da12818fc8564112d247d60eb91b97dfefa3d8a9 Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Tue, 18 Jan 2022 14:10:24 +0100 Subject: [PATCH 1/4] Switched to loading configs via packer --- .config/nvim/.gitignore | 1 - .config/nvim/lua/config/coq.lua | 27 +++ .config/nvim/lua/config/ctrlp.lua | 15 ++ .config/nvim/lua/config/fugitive.lua | 7 + .config/nvim/lua/config/gitgutter.lua | 3 + .config/nvim/lua/config/lspconfig.lua | 45 ++++ .config/nvim/lua/config/nerdtree.lua | 29 +++ .config/nvim/lua/config/tagbar.lua | 12 ++ .config/nvim/lua/config/toggleterm.lua | 15 ++ .config/nvim/lua/config/treesitter.lua | 3 + .config/nvim/lua/keys.lua | 7 +- .config/nvim/lua/plugins.lua | 262 ++++++++---------------- .config/nvim/plugin/packer_compiled.lua | 234 +++++++++++++++++++++ 13 files changed, 476 insertions(+), 184 deletions(-) create mode 100644 .config/nvim/lua/config/coq.lua create mode 100644 .config/nvim/lua/config/ctrlp.lua create mode 100644 .config/nvim/lua/config/fugitive.lua create mode 100644 .config/nvim/lua/config/gitgutter.lua create mode 100644 .config/nvim/lua/config/lspconfig.lua create mode 100644 .config/nvim/lua/config/nerdtree.lua create mode 100644 .config/nvim/lua/config/tagbar.lua create mode 100644 .config/nvim/lua/config/toggleterm.lua create mode 100644 .config/nvim/lua/config/treesitter.lua create mode 100644 .config/nvim/plugin/packer_compiled.lua diff --git a/.config/nvim/.gitignore b/.config/nvim/.gitignore index e15df4d..060f79b 100644 --- a/.config/nvim/.gitignore +++ b/.config/nvim/.gitignore @@ -1,2 +1 @@ plugged/ -plugin/ diff --git a/.config/nvim/lua/config/coq.lua b/.config/nvim/lua/config/coq.lua new file mode 100644 index 0000000..cab62c7 --- /dev/null +++ b/.config/nvim/lua/config/coq.lua @@ -0,0 +1,27 @@ +local g = vim.g + +g.coq_settings = { + auto_start = "shut-up" +} + +vim.api.nvim_set_keymap("i", "", 'pumvisible() ? "\\" : "\\"', { + expr = true +}) + +vim.api.nvim_set_keymap("i", "", 'pumvisible() ? "\\" : "\\"', { + expr = true +}) + +--Set completeopt to have a better completion experience +vim.o.completeopt = "menuone,noinsert,noselect" + +--Avoid showing message extra message when using completion +vim.o.shortmess = vim.o.shortmess .. "c" + +vim.g.completion_chain_complete_list = { + default = { + { complete_items = { 'lsp', "buffer", "buffers" } }, + { mode = { '' } }, + { mode = { '' } } + }, +} diff --git a/.config/nvim/lua/config/ctrlp.lua b/.config/nvim/lua/config/ctrlp.lua new file mode 100644 index 0000000..2a07eb9 --- /dev/null +++ b/.config/nvim/lua/config/ctrlp.lua @@ -0,0 +1,15 @@ +local g = vim.g + +g.ctrlp_map = "t" +g.ctrlp_use_caching = 1 +g.ctrlp_clear_cache_on_exit = 0 +g.ctrlp_cache_dir = "./.vim/cache/ctrlp" +g.ctrlp_user_command = { + '.git', 'git --git-dir=%s/.git ls-files -oc --exclude-standard' +} + +--Limit max number of files +--This prevents me from indexing my entire HOME by accident +g.ctrlp_max_files = 10000 +--Also limit recursion depth +g.ctrlp_max_depth = 40 diff --git a/.config/nvim/lua/config/fugitive.lua b/.config/nvim/lua/config/fugitive.lua new file mode 100644 index 0000000..b88014a --- /dev/null +++ b/.config/nvim/lua/config/fugitive.lua @@ -0,0 +1,7 @@ +-- tpope/vim-fugitive +nmap("gg", ":Git") +nmap("gc", ":Git commit") +nmap("gp", ":Git push") +nmap("gd", ":Gdiffsplit!") +nmap("gm", ":Git mergetool") +nmap("gb", ":Git blame") diff --git a/.config/nvim/lua/config/gitgutter.lua b/.config/nvim/lua/config/gitgutter.lua new file mode 100644 index 0000000..2736f69 --- /dev/null +++ b/.config/nvim/lua/config/gitgutter.lua @@ -0,0 +1,3 @@ +local g = vim.g + +g.gitgutter_map_keys = 0 diff --git a/.config/nvim/lua/config/lspconfig.lua b/.config/nvim/lua/config/lspconfig.lua new file mode 100644 index 0000000..a31420a --- /dev/null +++ b/.config/nvim/lua/config/lspconfig.lua @@ -0,0 +1,45 @@ +-- neovim/neovim-lspconfig +local function on_attach(client, bufnr) + local opts = { + silent = true, + noremap = true, + } + local function buf_nmap(mapping, cmd) vim.api.nvim_buf_set_keymap(bufnr, "n", mapping, cmd, opts) end + + -- Jump to definition + buf_nmap("gd", "lua vim.lsp.buf.definition()") + -- Format current buffer on write + vim.api.nvim_command([[autocmd BufWritePre lua vim.lsp.buf.formatting_seq_sync()]]) + -- Show diagnostics for current line + buf_nmap("dd", "lua vim.lsp.diagnostic.show_line_diagnostics()") + -- Jump between diagnostic messages + buf_nmap("dj", "lua vim.lsp.diagnostic.goto_next()") + buf_nmap("dk", "lua vim.lsp.diagnostic.goto_previous()") + -- Rename symbol under cursor + buf_nmap("dr", "lua vim.lsp.buf.rename()") + -- Show hover info + buf_nmap("df", "lua vim.lsp.buf.hover()") +end + +-- Comes with clang +require'lspconfig'.clangd.setup{on_attach = on_attach} +-- NPM: dockerfile-language-server-nodejs +require'lspconfig'.dockerls.setup{} +-- Pacman: haskell-language-server +-- AUR: haskell-language-server-bin +-- GH: https://github.com/haskell/haskell-language-server +require'lspconfig'.hls.setup{ + on_attach = on_attach, + settings = { + haskell = { + formattingProvider = "stylish-haskell" + } + } +} +-- Pacman: rust-analyzer +-- GH: https://github.com/rust-analyzer/rust-analyzer +require'lspconfig'.rust_analyzer.setup{on_attach = on_attach} +-- Installed using R shell: +-- `install.packages('languageserver')` +-- GH: https://github.com/REditorSupport/languageserver +require'lspconfig'.r_language_server.setup{} diff --git a/.config/nvim/lua/config/nerdtree.lua b/.config/nvim/lua/config/nerdtree.lua new file mode 100644 index 0000000..ac8bc2b --- /dev/null +++ b/.config/nvim/lua/config/nerdtree.lua @@ -0,0 +1,29 @@ +local g = vim.g + +g.NERDTreeIgnore = { + '^\\.vim$[[dir]]', + '^\\.vscode$[[dir]]', '.*\\.code-workspace$[[file]]', '^\\.idea$[[dir]]', + '^__pycache__$[[dir]]', '^\\.pytest_cache$[[dir]]', '^venv$[[dir]]', + '\\.egg-info$[[dir]]', '^dist$[[dir]]', '^build$[[dir]]', + '^\\.eggs$[[dir]]', + '^out$[[dir]]', + '^\\.git$[[dir]]', + '^\\.stack-work$[[dir]]', '\\.lock$', + '^CMakeFiles$[[dir]]', '^CMakeCache.txt$[[file]]', + '.pdf$[[file]]', + '^node_modules$[[dir]]' +} + +g.NERDTreeShowHidden = 1 +g.NERDTreeMinimalUI = 1 +g.NERDTreeDirArrows = 1 +g.NERDTreeQuitOnOpen = 1 +g.NERDTreeChDirMode = 0 +g.NERDTreeNaturalSort = 1 +g.NERDTreeShowFiles = 1 +g.NERDTreeShowLineNumbers = 0 +g.NERDTreeWinPos = 'left' +g.NERDTreeMinimalMenu = 1 +g.NERDTreeAutoDeleteBuffer = 1 + +nmap("tt", ":NERDTreeFind") diff --git a/.config/nvim/lua/config/tagbar.lua b/.config/nvim/lua/config/tagbar.lua new file mode 100644 index 0000000..edb178c --- /dev/null +++ b/.config/nvim/lua/config/tagbar.lua @@ -0,0 +1,12 @@ +local g = vim.g + +g.tagbar_map_nexttag = "J" +g.tagbar_map_prevtag = "K" +g.tagbar_map_showproto = "u" +g.tagbar_sort = 0 +g.tagbar_compact = 1 +g.tagbar_autoshowtag = 1 +g.no_status_line = 1 +g.tagbar_autoclose = 1 + +nmap("tr", ":TagbarToggle") diff --git a/.config/nvim/lua/config/toggleterm.lua b/.config/nvim/lua/config/toggleterm.lua new file mode 100644 index 0000000..e146b56 --- /dev/null +++ b/.config/nvim/lua/config/toggleterm.lua @@ -0,0 +1,15 @@ +vim.o.hidden = true + +require("toggleterm").setup { + -- open_mapping = "r", + direction = "float", + insert_mappings = false, + start_in_insert = false +} + +nmap("rr", ":ToggleTerm") +nmap("ry", ":1ToggleTerm") +nmap("ru", ":2ToggleTerm") +nmap("ri", ":3ToggleTerm") +nmap("ro", ":4ToggleTerm") +nmap("rp", ":5ToggleTerm") diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua new file mode 100644 index 0000000..79d52b6 --- /dev/null +++ b/.config/nvim/lua/config/treesitter.lua @@ -0,0 +1,3 @@ +require"nvim-treesitter.configs".setup { + highlight = { enable = true } +} diff --git a/.config/nvim/lua/keys.lua b/.config/nvim/lua/keys.lua index b103ab6..b20924a 100644 --- a/.config/nvim/lua/keys.lua +++ b/.config/nvim/lua/keys.lua @@ -1,5 +1,8 @@ -imap("kj", "") -imap("", "") +imap("jk", "") +-- imap("", "") + +-- vim.api.nvim_set_keymap("i", "", "", {}) +vim.api.nvim_exec("inoremap ", false) -- Navigate splits nmap("h", ":wincmd h") diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index bd28ddb..5f946a1 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -4,6 +4,8 @@ -- Largely inspired by https://github.com/wbthomason/packer.nvim#bootstrapping local fn = vim.fn local g = vim.g + +-- Install packer if it isn't present local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then @@ -15,195 +17,93 @@ require('packer').startup(function() use "wbthomason/packer.nvim" -- Improves boot times -- use {"lewis6991/impatient.nvim", rocks = 'mpack'} - use "ctrlpvim/ctrlp.vim" - use "tpope/vim-fugitive" + + -- Fuzzy search engine + use { + "ctrlpvim/ctrlp.vim", + setup = [[require('config.ctrlp')]] + } + + -- Git client + use { + "tpope/vim-fugitive", + config = [[require('config.fugitive')]] + } + + -- Shortcuts for commenting out code use "tpope/vim-commentary" + + -- Shortcuts for surrounding pieces of text use "tpope/vim-surround" - use "majutsushi/tagbar" - use "airblade/vim-gitgutter" + + -- Shows ctags in a sidebar + use { + "majutsushi/tagbar", + config = [[require('config.tagbar')]] + } + + -- Shows git diff markers + use { + "airblade/vim-gitgutter", + config = [[require('config.gitgutter')]] + } + use "hynek/vim-python-pep8-indent" use "michaeljsmith/vim-indent-object" - use "preservim/nerdtree" + + -- File explorer + use { + "preservim/nerdtree", + config = [[require('config.nerdtree')]] + } + + -- Better support for toml files use "cespare/vim-toml" + use "jiangmiao/auto-pairs" + + -- Align text use "godlygeek/tabular" + + -- Automatically load a .editorconfig file if found use "editorconfig/editorconfig-vim" - use "neovim/nvim-lspconfig" - -- use "hrsh7th/nvim-compe" - use "marko-cerovac/material.nvim" - use {"ms-jpq/coq_nvim", branch="coq"} - use {"nvim-treesitter/nvim-treesitter", run=":TSUpdate"} - use "akinsho/nvim-toggleterm.lua" + + -- Pre-configured LSP stuff + use { + "neovim/nvim-lspconfig", + config = [[require('config.lspconfig')]] + } + + -- Beautiful treesitter-compatible theme + use { + "marko-cerovac/material.nvim", + config = function() + vim.cmd("colorscheme material") + -- color material + nmap("c", [[lua require('material.functions').toggle_style()]]) + end + } + + -- Autocomplete engine + use { + "ms-jpq/coq_nvim", + branch = "coq", + config = [[require('config.coq')]] + } + + -- Better syntax highlighting + use { + "nvim-treesitter/nvim-treesitter", + run = ":TSUpdate", + config = [[require('config.treesitter')]] + } + + -- Toggleable terminals + use { + "akinsho/nvim-toggleterm.lua", + config = [[require('config.toggleterm')]] + } + -- LaTeX editing use "lervag/vimtex" end) - - --- =====PLUGIN CONFIGS===== -g.coq_settings = {auto_start = "shut-up"} - --- ctrlpvim/ctrlp.vim -g.ctrlp_map = "t" -g.ctrlp_use_caching = 1 -g.ctrlp_clear_cache_on_exit = 0 -g.ctrlp_cache_dir = "./.vim/cache/ctrlp" -g.ctrlp_user_command = { - '.git', 'git --git-dir=%s/.git ls-files -oc --exclude-standard' -} - ---Limit max number of files ---This prevents me from indexing my entire HOME by accident -g.ctrlp_max_files = 10000 ---Also limit recursion depth -g.ctrlp_max_depth = 40 - --- tpope/vim-fugitive -nmap("gg", ":Git") -nmap("gc", ":Git commit") -nmap("gp", ":Git push") -nmap("gd", ":Gdiffsplit!") -nmap("gm", ":Git mergetool") -nmap("gb", ":Git blame") - --- airblade/vim-gitgutter -g.gitgutter_map_keys = 0 - --- indentline -g.indentLine_char_list = {'|', '¦', '┆', '┊'} - --- preservim/nerdtree -g.NERDTreeIgnore = { - '^\\.vim$[[dir]]', - '^\\.vscode$[[dir]]', '.*\\.code-workspace$[[file]]', '^\\.idea$[[dir]]', - '^__pycache__$[[dir]]', '^\\.pytest_cache$[[dir]]', '^venv$[[dir]]', - '\\.egg-info$[[dir]]', '^dist$[[dir]]', '^build$[[dir]]', - '^\\.eggs$[[dir]]', - '^out$[[dir]]', - '^\\.git$[[dir]]', - '^\\.stack-work$[[dir]]', '\\.lock$', - '^CMakeFiles$[[dir]]', '^CMakeCache.txt$[[file]]', - '.pdf$[[file]]', - '^node_modules$[[dir]]' -} - -g.NERDTreeShowHidden = 1 -g.NERDTreeMinimalUI = 1 -g.NERDTreeDirArrows = 1 -g.NERDTreeQuitOnOpen = 1 -g.NERDTreeChDirMode = 0 -g.NERDTreeNaturalSort = 1 -g.NERDTreeShowFiles = 1 -g.NERDTreeShowLineNumbers = 0 -g.NERDTreeWinPos = 'left' -g.NERDTreeMinimalMenu = 1 -g.NERDTreeAutoDeleteBuffer = 1 - -nmap("tt", ":NERDTreeFind") - --- majutsushi/tagbar -g.tagbar_map_nexttag = "J" -g.tagbar_map_prevtag = "K" -g.tagbar_map_showproto = "u" -g.tagbar_sort = 0 -g.tagbar_compact = 1 -g.tagbar_autoshowtag = 1 -g.no_status_line = 1 -g.tagbar_autoclose = 1 - -nmap("tr", ":TagbarToggle") - --- neovim/neovim-lspconfig -local function on_attach(client, bufnr) - local opts = { - silent = true, - noremap = true, - } - local function buf_nmap(mapping, cmd) vim.api.nvim_buf_set_keymap(bufnr, "n", mapping, cmd, opts) end - - -- Jump to definition - buf_nmap("gd", "lua vim.lsp.buf.definition()") - -- Format current buffer on write - vim.api.nvim_command([[autocmd BufWritePre lua vim.lsp.buf.formatting_seq_sync()]]) - -- Show diagnostics for current line - buf_nmap("dd", "lua vim.lsp.diagnostic.show_line_diagnostics()") - -- Jump between diagnostic messages - buf_nmap("dj", "lua vim.lsp.diagnostic.goto_next()") - buf_nmap("dk", "lua vim.lsp.diagnostic.goto_previous()") - -- Rename symbol under cursor - buf_nmap("dr", "lua vim.lsp.buf.rename()") - -- Show hover info - buf_nmap("df", "lua vim.lsp.buf.hover()") -end - --- Comes with clang -require'lspconfig'.clangd.setup{on_attach = on_attach} --- NPM: dockerfile-language-server-nodejs -require'lspconfig'.dockerls.setup{} --- Pacman: haskell-language-server --- AUR: haskell-language-server-bin --- GH: https://github.com/haskell/haskell-language-server -require'lspconfig'.hls.setup{ - on_attach = on_attach, - settings = { - haskell = { - formattingProvider = "stylish-haskell" - } - } -} --- Pacman: rust-analyzer --- GH: https://github.com/rust-analyzer/rust-analyzer -require'lspconfig'.rust_analyzer.setup{on_attach = on_attach} --- Installed using R shell: --- `install.packages('languageserver')` --- GH: https://github.com/REditorSupport/languageserver -require'lspconfig'.r_language_server.setup{} - --- material --- require('material').set() --- colorscheme matieral --- vim.o.colors_name = "material" -vim.cmd("colorscheme material") --- color material -nmap("c", [[lua require('material.functions').toggle_style()]]) - --- nvim-lua/completion-nvim ---Use and to navigate through popup menu -vim.api.nvim_set_keymap("i", "", 'pumvisible() ? "\\" : "\\"', { - expr = true -}) -vim.api.nvim_set_keymap("i", "", 'pumvisible() ? "\\" : "\\"', { - expr = true -}) - ---Set completeopt to have a better completion experience -vim.o.completeopt = "menuone,noinsert,noselect" - ---Avoid showing message extra message when using completion -vim.o.shortmess = vim.o.shortmess .. "c" - -vim.g.completion_chain_complete_list = { - default = { - { complete_items = { 'lsp', "buffer", "buffers" } }, - { mode = { '' } }, - { mode = { '' } } - }, -} - -require"nvim-treesitter.configs".setup { - highlight = { enable = true } -} - -vim.o.hidden = true -require("toggleterm").setup { - -- open_mapping = "r", - direction = "float", - insert_mappings = false, - start_in_insert = false -} - -nmap("rr", ":ToggleTerm") -nmap("ry", ":1ToggleTerm") -nmap("ru", ":2ToggleTerm") -nmap("ri", ":3ToggleTerm") -nmap("ro", ":4ToggleTerm") -nmap("rp", ":5ToggleTerm") diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua new file mode 100644 index 0000000..57b2676 --- /dev/null +++ b/.config/nvim/plugin/packer_compiled.lua @@ -0,0 +1,234 @@ +-- Automatically generated packer.nvim plugin loader code + +if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then + vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') + return +end + +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 + 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 + sorted_times[#sorted_times + 1] = {chunk_name, time_taken} + end + table.sort(sorted_times, function(a, b) return a[2] > b[2] end) + local results = {} + for i, elem in ipairs(sorted_times) do + if not threshold or threshold and elem[2] > threshold then + results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' + end + end + + _G._packer = _G._packer or {} + _G._packer.profile_output = results +end + +time([[Luarocks path setup]], true) +local package_path_str = "/home/jjr/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?.lua;/home/jjr/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?/init.lua;/home/jjr/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?.lua;/home/jjr/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/jjr/.cache/nvim/packer_hererocks/2.0.5/lib/lua/5.1/?.so" +if not string.find(package.path, package_path_str, 1, true) then + package.path = package.path .. ';' .. package_path_str +end + +if not string.find(package.cpath, install_cpath_pattern, 1, true) then + package.cpath = package.cpath .. ';' .. install_cpath_pattern +end + +time([[Luarocks path setup]], false) +time([[try_loadstring definition]], true) +local function try_loadstring(s, component, name) + local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) + if not success then + vim.schedule(function() + vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) + end) + end + return result +end + +time([[try_loadstring definition]], false) +time([[Defining packer_plugins]], true) +_G.packer_plugins = { + ["auto-pairs"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/auto-pairs", + url = "https://github.com/jiangmiao/auto-pairs" + }, + coq_nvim = { + config = { "require('config.coq')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/coq_nvim", + url = "https://github.com/ms-jpq/coq_nvim" + }, + ["ctrlp.vim"] = { + loaded = true, + needs_bufread = false, + path = "/home/jjr/.local/share/nvim/site/pack/packer/opt/ctrlp.vim", + url = "https://github.com/ctrlpvim/ctrlp.vim" + }, + ["editorconfig-vim"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/editorconfig-vim", + url = "https://github.com/editorconfig/editorconfig-vim" + }, + ["material.nvim"] = { + config = { "\27LJ\1\2‘\1\0\0\3\0\6\0\t4\0\0\0007\0\1\0%\1\2\0>\0\2\0014\0\3\0%\1\4\0%\2\5\0>\0\3\1G\0\1\0>lua require('material.functions').toggle_style()\14c\tnmap\25colorscheme material\bcmd\bvim\0" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/material.nvim", + url = "https://github.com/marko-cerovac/material.nvim" + }, + nerdtree = { + config = { "require('config.nerdtree')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nerdtree", + url = "https://github.com/preservim/nerdtree" + }, + ["nvim-lspconfig"] = { + config = { "require('config.lspconfig')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-toggleterm.lua"] = { + config = { "require('config.toggleterm')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nvim-toggleterm.lua", + url = "https://github.com/akinsho/nvim-toggleterm.lua" + }, + ["nvim-treesitter"] = { + config = { "require('config.treesitter')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + tabular = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/tabular", + url = "https://github.com/godlygeek/tabular" + }, + tagbar = { + config = { "require('config.tagbar')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/tagbar", + url = "https://github.com/majutsushi/tagbar" + }, + ["vim-commentary"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-commentary", + url = "https://github.com/tpope/vim-commentary" + }, + ["vim-fugitive"] = { + config = { "require('config.fugitive')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-fugitive", + url = "https://github.com/tpope/vim-fugitive" + }, + ["vim-gitgutter"] = { + config = { "require('config.gitgutter')" }, + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-gitgutter", + url = "https://github.com/airblade/vim-gitgutter" + }, + ["vim-indent-object"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-indent-object", + url = "https://github.com/michaeljsmith/vim-indent-object" + }, + ["vim-python-pep8-indent"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-python-pep8-indent", + url = "https://github.com/hynek/vim-python-pep8-indent" + }, + ["vim-surround"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-surround", + url = "https://github.com/tpope/vim-surround" + }, + ["vim-toml"] = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-toml", + url = "https://github.com/cespare/vim-toml" + }, + vimtex = { + loaded = true, + path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vimtex", + url = "https://github.com/lervag/vimtex" + } +} + +time([[Defining packer_plugins]], false) +-- Setup for: ctrlp.vim +time([[Setup for ctrlp.vim]], true) +require('config.ctrlp') +time([[Setup for ctrlp.vim]], false) +time([[packadd for ctrlp.vim]], true) +vim.cmd [[packadd ctrlp.vim]] +time([[packadd for ctrlp.vim]], false) +-- Config for: nvim-toggleterm.lua +time([[Config for nvim-toggleterm.lua]], true) +require('config.toggleterm') +time([[Config for nvim-toggleterm.lua]], false) +-- Config for: nvim-lspconfig +time([[Config for nvim-lspconfig]], true) +require('config.lspconfig') +time([[Config for nvim-lspconfig]], false) +-- Config for: material.nvim +time([[Config for material.nvim]], true) +try_loadstring("\27LJ\1\2‘\1\0\0\3\0\6\0\t4\0\0\0007\0\1\0%\1\2\0>\0\2\0014\0\3\0%\1\4\0%\2\5\0>\0\3\1G\0\1\0>lua require('material.functions').toggle_style()\14c\tnmap\25colorscheme material\bcmd\bvim\0", "config", "material.nvim") +time([[Config for material.nvim]], false) +-- Config for: vim-gitgutter +time([[Config for vim-gitgutter]], true) +require('config.gitgutter') +time([[Config for vim-gitgutter]], false) +-- Config for: coq_nvim +time([[Config for coq_nvim]], true) +require('config.coq') +time([[Config for coq_nvim]], false) +-- Config for: tagbar +time([[Config for tagbar]], true) +require('config.tagbar') +time([[Config for tagbar]], false) +-- Config for: nerdtree +time([[Config for nerdtree]], true) +require('config.nerdtree') +time([[Config for nerdtree]], false) +-- Config for: vim-fugitive +time([[Config for vim-fugitive]], true) +require('config.fugitive') +time([[Config for vim-fugitive]], false) +-- Config for: nvim-treesitter +time([[Config for nvim-treesitter]], true) +require('config.treesitter') +time([[Config for nvim-treesitter]], false) +if should_profile then save_profiles() end + +end) + +if not no_errors then + vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') +end From c8af8c155a64309113224bbae5f2c4e455af347a Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Tue, 18 Jan 2022 15:14:03 +0100 Subject: [PATCH 2/4] Some quality of life nvim improvements --- .config/nvim/lua/config/ctrlp.lua | 10 +++++----- .config/nvim/lua/plugins.lua | 4 ---- .config/nvim/lua/settings.lua | 7 +++++-- .config/nvim/plugin/packer_compiled.lua | 5 ----- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/.config/nvim/lua/config/ctrlp.lua b/.config/nvim/lua/config/ctrlp.lua index 2a07eb9..fb7ba53 100644 --- a/.config/nvim/lua/config/ctrlp.lua +++ b/.config/nvim/lua/config/ctrlp.lua @@ -1,15 +1,15 @@ local g = vim.g g.ctrlp_map = "t" -g.ctrlp_use_caching = 1 -g.ctrlp_clear_cache_on_exit = 0 -g.ctrlp_cache_dir = "./.vim/cache/ctrlp" +-- g.ctrlp_use_caching = 1 +-- g.ctrlp_clear_cache_on_exit = 0 +-- g.ctrlp_cache_dir = "./.vim/cache/ctrlp" g.ctrlp_user_command = { '.git', 'git --git-dir=%s/.git ls-files -oc --exclude-standard' } --Limit max number of files --This prevents me from indexing my entire HOME by accident -g.ctrlp_max_files = 10000 +g.ctrlp_max_files = 1000 --Also limit recursion depth -g.ctrlp_max_depth = 40 +g.ctrlp_max_depth = 10 diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 5f946a1..321b013 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -10,7 +10,6 @@ local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then fn.system({'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path}) - vim.api.nvim_command('packadd packer.nvim') end require('packer').startup(function() @@ -57,9 +56,6 @@ require('packer').startup(function() config = [[require('config.nerdtree')]] } - -- Better support for toml files - use "cespare/vim-toml" - use "jiangmiao/auto-pairs" -- Align text diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua index 4f0ca72..b3e24e5 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/settings.lua @@ -37,15 +37,18 @@ o.smartcase = true -- Don't highlight search results after search is finished o.hlsearch = false +local swap_dir = vim.fn.stdpath('data') .. '/swap' +local undo_dir = vim.fn.stdpath('data') .. '/undo' + -- Create swap files o.swapfile = true -- Where to store the swap files; I store mine in the current directory -o.directory = "./.vim/swap//" +o.directory = swap_dir o.backup = false o.undofile = true -o.undodir = "./.vim/undo//" +o.undodir = undo_dir o.updatetime = 250 diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua index 57b2676..9818166 100644 --- a/.config/nvim/plugin/packer_compiled.lua +++ b/.config/nvim/plugin/packer_compiled.lua @@ -169,11 +169,6 @@ _G.packer_plugins = { path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-surround", url = "https://github.com/tpope/vim-surround" }, - ["vim-toml"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-toml", - url = "https://github.com/cespare/vim-toml" - }, vimtex = { loaded = true, path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vimtex", From d997a29169a2274a3ef27aa5b698a171f0658923 Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Tue, 18 Jan 2022 15:41:57 +0100 Subject: [PATCH 3/4] Small changes --- .config/htop/htoprc | 39 --------------------------------------- .tmux.conf | 4 ---- 2 files changed, 43 deletions(-) delete mode 100644 .config/htop/htoprc diff --git a/.config/htop/htoprc b/.config/htop/htoprc deleted file mode 100644 index c1c50f3..0000000 --- a/.config/htop/htoprc +++ /dev/null @@ -1,39 +0,0 @@ -# Beware! This file is rewritten by htop when settings are changed in the interface. -# The parser is also very primitive, and not human-friendly. -fields=0 48 17 18 38 39 40 2 46 47 49 1 -sort_key=46 -sort_direction=1 -tree_sort_key=0 -tree_sort_direction=1 -hide_kernel_threads=1 -hide_userland_threads=0 -shadow_other_users=0 -show_thread_names=0 -show_program_path=0 -highlight_base_name=0 -highlight_megabytes=1 -highlight_threads=1 -highlight_changes=0 -highlight_changes_delay_secs=5 -find_comm_in_cmdline=1 -strip_exe_from_cmdline=1 -show_merged_command=0 -tree_view=0 -tree_view_always_by_pid=0 -header_margin=1 -detailed_cpu_time=0 -cpu_count_from_one=1 -show_cpu_usage=1 -show_cpu_frequency=0 -show_cpu_temperature=0 -degree_fahrenheit=0 -update_process_names=0 -account_guest_in_cpu_meter=0 -color_scheme=0 -enable_mouse=1 -delay=15 -left_meters=LeftCPUs2 Memory Swap -left_meter_modes=1 1 1 -right_meters=RightCPUs2 Tasks LoadAverage Uptime -right_meter_modes=1 2 2 2 -hide_function_bar=0 diff --git a/.tmux.conf b/.tmux.conf index 12845ba..88c4f5e 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -1,6 +1,3 @@ -<<<<<<< Updated upstream -set -s escape-time 0 -======= # Change prefix to Ctrl-a unbind C-b set -g prefix C-a @@ -24,4 +21,3 @@ bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R ->>>>>>> Stashed changes From f76cf6b9dac355eae1c07c95755393f8cb59f615 Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Tue, 18 Jan 2022 18:29:23 +0100 Subject: [PATCH 4/4] Added auto-sync when first opening config --- .config/nvim/.gitignore | 1 + .config/nvim/lua/plugins.lua | 9 +- .config/nvim/plugin/packer_compiled.lua | 229 ------------------------ 3 files changed, 8 insertions(+), 231 deletions(-) delete mode 100644 .config/nvim/plugin/packer_compiled.lua diff --git a/.config/nvim/.gitignore b/.config/nvim/.gitignore index 060f79b..e15df4d 100644 --- a/.config/nvim/.gitignore +++ b/.config/nvim/.gitignore @@ -1 +1,2 @@ plugged/ +plugin/ diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 321b013..cf577db 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -9,10 +9,11 @@ local g = vim.g local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then - fn.system({'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path}) + packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) + vim.cmd [[ packadd packer.nvim ]] end -require('packer').startup(function() +require('packer').startup(function(use) use "wbthomason/packer.nvim" -- Improves boot times -- use {"lewis6991/impatient.nvim", rocks = 'mpack'} @@ -102,4 +103,8 @@ require('packer').startup(function() -- LaTeX editing use "lervag/vimtex" + + if packer_bootstrap then + require('packer').sync() + end end) diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua deleted file mode 100644 index 9818166..0000000 --- a/.config/nvim/plugin/packer_compiled.lua +++ /dev/null @@ -1,229 +0,0 @@ --- Automatically generated packer.nvim plugin loader code - -if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then - vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') - return -end - -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 - 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 - sorted_times[#sorted_times + 1] = {chunk_name, time_taken} - end - table.sort(sorted_times, function(a, b) return a[2] > b[2] end) - local results = {} - for i, elem in ipairs(sorted_times) do - if not threshold or threshold and elem[2] > threshold then - results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' - end - end - - _G._packer = _G._packer or {} - _G._packer.profile_output = results -end - -time([[Luarocks path setup]], true) -local package_path_str = "/home/jjr/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?.lua;/home/jjr/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?/init.lua;/home/jjr/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?.lua;/home/jjr/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/home/jjr/.cache/nvim/packer_hererocks/2.0.5/lib/lua/5.1/?.so" -if not string.find(package.path, package_path_str, 1, true) then - package.path = package.path .. ';' .. package_path_str -end - -if not string.find(package.cpath, install_cpath_pattern, 1, true) then - package.cpath = package.cpath .. ';' .. install_cpath_pattern -end - -time([[Luarocks path setup]], false) -time([[try_loadstring definition]], true) -local function try_loadstring(s, component, name) - local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) - if not success then - vim.schedule(function() - vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) - end) - end - return result -end - -time([[try_loadstring definition]], false) -time([[Defining packer_plugins]], true) -_G.packer_plugins = { - ["auto-pairs"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/auto-pairs", - url = "https://github.com/jiangmiao/auto-pairs" - }, - coq_nvim = { - config = { "require('config.coq')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/coq_nvim", - url = "https://github.com/ms-jpq/coq_nvim" - }, - ["ctrlp.vim"] = { - loaded = true, - needs_bufread = false, - path = "/home/jjr/.local/share/nvim/site/pack/packer/opt/ctrlp.vim", - url = "https://github.com/ctrlpvim/ctrlp.vim" - }, - ["editorconfig-vim"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/editorconfig-vim", - url = "https://github.com/editorconfig/editorconfig-vim" - }, - ["material.nvim"] = { - config = { "\27LJ\1\2‘\1\0\0\3\0\6\0\t4\0\0\0007\0\1\0%\1\2\0>\0\2\0014\0\3\0%\1\4\0%\2\5\0>\0\3\1G\0\1\0>lua require('material.functions').toggle_style()\14c\tnmap\25colorscheme material\bcmd\bvim\0" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/material.nvim", - url = "https://github.com/marko-cerovac/material.nvim" - }, - nerdtree = { - config = { "require('config.nerdtree')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nerdtree", - url = "https://github.com/preservim/nerdtree" - }, - ["nvim-lspconfig"] = { - config = { "require('config.lspconfig')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", - url = "https://github.com/neovim/nvim-lspconfig" - }, - ["nvim-toggleterm.lua"] = { - config = { "require('config.toggleterm')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nvim-toggleterm.lua", - url = "https://github.com/akinsho/nvim-toggleterm.lua" - }, - ["nvim-treesitter"] = { - config = { "require('config.treesitter')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/nvim-treesitter", - url = "https://github.com/nvim-treesitter/nvim-treesitter" - }, - ["packer.nvim"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/packer.nvim", - url = "https://github.com/wbthomason/packer.nvim" - }, - tabular = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/tabular", - url = "https://github.com/godlygeek/tabular" - }, - tagbar = { - config = { "require('config.tagbar')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/tagbar", - url = "https://github.com/majutsushi/tagbar" - }, - ["vim-commentary"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-commentary", - url = "https://github.com/tpope/vim-commentary" - }, - ["vim-fugitive"] = { - config = { "require('config.fugitive')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-fugitive", - url = "https://github.com/tpope/vim-fugitive" - }, - ["vim-gitgutter"] = { - config = { "require('config.gitgutter')" }, - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-gitgutter", - url = "https://github.com/airblade/vim-gitgutter" - }, - ["vim-indent-object"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-indent-object", - url = "https://github.com/michaeljsmith/vim-indent-object" - }, - ["vim-python-pep8-indent"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-python-pep8-indent", - url = "https://github.com/hynek/vim-python-pep8-indent" - }, - ["vim-surround"] = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vim-surround", - url = "https://github.com/tpope/vim-surround" - }, - vimtex = { - loaded = true, - path = "/home/jjr/.local/share/nvim/site/pack/packer/start/vimtex", - url = "https://github.com/lervag/vimtex" - } -} - -time([[Defining packer_plugins]], false) --- Setup for: ctrlp.vim -time([[Setup for ctrlp.vim]], true) -require('config.ctrlp') -time([[Setup for ctrlp.vim]], false) -time([[packadd for ctrlp.vim]], true) -vim.cmd [[packadd ctrlp.vim]] -time([[packadd for ctrlp.vim]], false) --- Config for: nvim-toggleterm.lua -time([[Config for nvim-toggleterm.lua]], true) -require('config.toggleterm') -time([[Config for nvim-toggleterm.lua]], false) --- Config for: nvim-lspconfig -time([[Config for nvim-lspconfig]], true) -require('config.lspconfig') -time([[Config for nvim-lspconfig]], false) --- Config for: material.nvim -time([[Config for material.nvim]], true) -try_loadstring("\27LJ\1\2‘\1\0\0\3\0\6\0\t4\0\0\0007\0\1\0%\1\2\0>\0\2\0014\0\3\0%\1\4\0%\2\5\0>\0\3\1G\0\1\0>lua require('material.functions').toggle_style()\14c\tnmap\25colorscheme material\bcmd\bvim\0", "config", "material.nvim") -time([[Config for material.nvim]], false) --- Config for: vim-gitgutter -time([[Config for vim-gitgutter]], true) -require('config.gitgutter') -time([[Config for vim-gitgutter]], false) --- Config for: coq_nvim -time([[Config for coq_nvim]], true) -require('config.coq') -time([[Config for coq_nvim]], false) --- Config for: tagbar -time([[Config for tagbar]], true) -require('config.tagbar') -time([[Config for tagbar]], false) --- Config for: nerdtree -time([[Config for nerdtree]], true) -require('config.nerdtree') -time([[Config for nerdtree]], false) --- Config for: vim-fugitive -time([[Config for vim-fugitive]], true) -require('config.fugitive') -time([[Config for vim-fugitive]], false) --- Config for: nvim-treesitter -time([[Config for nvim-treesitter]], true) -require('config.treesitter') -time([[Config for nvim-treesitter]], false) -if should_profile then save_profiles() end - -end) - -if not no_errors then - vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') -end