diff --git a/dotfiles/neovim/ftplugin/tex.lua b/dotfiles/neovim/ftplugin/tex.lua index f291e37..ac10e23 100644 --- a/dotfiles/neovim/ftplugin/tex.lua +++ b/dotfiles/neovim/ftplugin/tex.lua @@ -1,4 +1,5 @@ local A = require("my.abbreviations") +local AB = require("my.plugins.abolish") require("my.helpers.wrapMovement").setup() @@ -21,6 +22,7 @@ local abbreviations = { { "beta", "\\beta" }, { "theta", "\\theta" }, { "gamma", "\\gamma" }, + { "lam", "\\lambda" }, { "nuls", "\\varnothing" }, -- Exponents @@ -36,6 +38,7 @@ local abbreviations = { { "tmat", "^{T}" }, -- Tranpose of a matrix { "etp", "^{+}" }, + -- Subscripts { "s0", "_{0}" }, { "s1", "_{1}" }, @@ -98,4 +101,11 @@ local abbreviations = { { "rref", "reduced row echalon form" } } +local abolishAbbreviations = { + { "egv{a,e}{,s}", "eigenv{alue,ector}{}" } +} + +AB.abolishMany(abolishAbbreviations) + + A.manyLocalAbbr(abbreviations) diff --git a/dotfiles/neovim/lua/my/helpers/env.lua b/dotfiles/neovim/lua/my/helpers/env.lua new file mode 100644 index 0000000..fa53492 --- /dev/null +++ b/dotfiles/neovim/lua/my/helpers/env.lua @@ -0,0 +1,22 @@ +local function makeEnv(cond) + return { + active = cond, + unless = function(f) + if not cond() then f() + end + end, + when = function(f) + if cond() then f() + end + end + } +end + +return { + vscode = makeEnv(function() + return vim.g.vscode ~= nil + end), + firevim = makeEnv(function() + return vim.g.started_by_firenvim ~= nil + end) +} diff --git a/dotfiles/neovim/lua/my/helpers/vscode.lua b/dotfiles/neovim/lua/my/helpers/vscode.lua deleted file mode 100644 index c1365fd..0000000 --- a/dotfiles/neovim/lua/my/helpers/vscode.lua +++ /dev/null @@ -1,15 +0,0 @@ -local M = {} - -function M.when(f) - if vim.g.vscode ~= nil then - f() - end -end - -function M.unless(f) - if vim.g.vscode == nil then - f() - end -end - -return M diff --git a/dotfiles/neovim/lua/my/init.lua b/dotfiles/neovim/lua/my/init.lua index 38aa007..9e1af05 100644 --- a/dotfiles/neovim/lua/my/init.lua +++ b/dotfiles/neovim/lua/my/init.lua @@ -2,6 +2,7 @@ local M = {} function M.setup() -- Import my other files + require("impatient") -- should make startups take less require("my.paq").setup() require("my.theme").setup() require("my.options").setup() diff --git a/dotfiles/neovim/lua/my/keymaps.lua b/dotfiles/neovim/lua/my/keymaps.lua index ac513c6..f13bef2 100644 --- a/dotfiles/neovim/lua/my/keymaps.lua +++ b/dotfiles/neovim/lua/my/keymaps.lua @@ -21,25 +21,48 @@ function M.mapSilent(mode, lhs, rhs, opts) end -- Performs a basic move operation -function M.move(from, to) - vim.keymap.set("n", to, from) +function M.move(from, to, opts) + vim.keymap.set("n", to, from, opts) vim.keymap.set("n", from, "") end function M.setup() - M.move("q", "yq") + M.move("q", "yq", { desc = "Record macro" }) M.move("Q", "yQ") + M.move("", "a", { desc = "Go to previous file" }) - vim.keymap.set("n", "Q", ":wqa") -- Save and quit + vim.keymap.set("n", "Q", ":wqa", { desc = "Save all files and quit" }) + vim.keymap.set("n", "rw", ":%s//", { + desc = "Replace word in file" + }) -- Create chords if arpeggio ~= nil then - arpeggio.chord("n", "vs", "v") -- Create vertical split - arpeggio.chord("n", "ji", ":w") -- Saving + arpeggio.chordSilent("n", "ji", ":silent :write") -- Saving arpeggio.chord("i", "jk", "") -- Remap Esc to jk - arpeggio.chord("nv", "a", "") -- Rebind switching to the last pane using leader+a arpeggio.chord("nv", "cp", "\"+") -- Press cp to use the global clipboard - arpeggio.chord("n", "rw", ":%s//") -- Press rw to rename word under cursor + end + + local status, wk = pcall(require, "which-key") + + if status then + wk.register({ + [""] = { + f = { + name = "Files" + }, + g = { + name = "Go to" + }, + r = { + name = "Rename / Replace" + }, + [""] = { + name = "Easymotion" + }, + v = "which_key_ignore" + } + }) end return M diff --git a/dotfiles/neovim/lua/my/options.lua b/dotfiles/neovim/lua/my/options.lua index 7e33306..5002b34 100644 --- a/dotfiles/neovim/lua/my/options.lua +++ b/dotfiles/neovim/lua/my/options.lua @@ -3,40 +3,46 @@ local helpers = require("my.helpers") local M = {} function M.setup() - local opt = vim.opt -- to set options + local opt = vim.opt -- to set options - -- Basic options - opt.joinspaces = false -- No double spaces with join - opt.list = true -- Show some invisible characters + -- Disable filetype.vim + vim.g.do_filetype_lua = true + vim.g.did_load_filetypes = false - opt.number = true -- Show line numbers - opt.relativenumber = true -- Relative line numbers + -- Basic options + opt.joinspaces = false -- No double spaces with join + opt.list = true -- Show some invisible characters + opt.cmdheight = 0 -- Hide command line when it's not getting used - -- TODO: only do this for specific filestypes - opt.expandtab = true -- Use spaces for the tab char + -- Line numbers + opt.number = true -- Show line numbers + opt.relativenumber = true -- Relative line numbers - opt.scrolloff = 4 -- Lines of context - opt.shiftround = true -- Round indent - opt.shiftwidth = 2 -- Size of an indent - opt.termguicolors = true -- True color support + -- TODO: only do this for specific filestypes + opt.expandtab = true -- Use spaces for the tab char - opt.ignorecase = true -- Ignore case - opt.smartcase = true -- Do not ignore case with capitals + opt.scrolloff = 4 -- Lines of context + opt.shiftround = true -- Round indent + opt.shiftwidth = 2 -- Size of an indent + opt.termguicolors = true -- True color support - opt.smartindent = true -- Insert indents automatically + opt.ignorecase = true -- Ignore case + opt.smartcase = true -- Do not ignore case with capitals - opt.splitbelow = true -- Put new windows below current - opt.splitright = true -- Put new windows right of current + opt.smartindent = true -- Insert indents automatically - opt.wrap = false -- Disable line wrap - opt.wildmode = {'list', 'longest'} -- Command-line completion mode - opt.completeopt = {"menu", "menuone", "noselect"} + opt.splitbelow = true -- Put new windows below current + opt.splitright = true -- Put new windows right of current - -- Set leader - helpers.global("mapleader", " ") + opt.wrap = false -- Disable line wrap (by default) + opt.wildmode = { 'list', 'longest' } -- Command-line completion mode + opt.completeopt = { "menu", "menuone", "noselect" } - -- Import other options - require("my.options.folding").setup() + -- Set leader + helpers.global("mapleader", " ") + + -- Import other options + require("my.options.folding").setup() end return M diff --git a/dotfiles/neovim/lua/my/paq.lua b/dotfiles/neovim/lua/my/paq.lua index 80f0b6a..c22c119 100644 --- a/dotfiles/neovim/lua/my/paq.lua +++ b/dotfiles/neovim/lua/my/paq.lua @@ -47,7 +47,7 @@ function M.setup() "ShinKage/idris2-nvim", -- idris2 support "udalov/kotlin-vim", -- kotlin support "haringsrob/nvim_context_vt", -- show context on closing parenthesis - "vuki656/package-info.nvim", -- shows latest versions in package.json + -- "vuki656/package-info.nvim", -- shows latest versions in package.json "j-hui/fidget.nvim", -- show progress for lsp stuff "stevearc/dressing.nvim", -- better ui I guess "rktjmp/paperplanes.nvim", -- export to pastebin like services @@ -55,16 +55,16 @@ function M.setup() "jbyuki/venn.nvim", -- draw ascii diagrams "hrsh7th/cmp-omni", -- omnifunc source for cmp "ekickx/clipboard-image.nvim", -- paste images from clipbaord + "glacambre/firenvim", -- vim inside chrome + "lewis6991/impatient.nvim", -- faster startup times + "tpope/vim-abolish", -- abbreviations on steroids + "mrjones2014/smart-splits.nvim", -- the name says it all -- Git stuff "ruifm/gitlinker.nvim", -- generate permalinks for code - "TimUntersberger/neogit" -- magit clone + -- "TimUntersberger/neogit" -- magit clone } - -- This might get installed by nix! - if os.getenv("NVIM_INSTALL_TREESITTER") then - table.insert(base, 2, { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) - end table.insert(base, 2, { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) for _, v in ipairs(themePackages) do diff --git a/dotfiles/neovim/lua/my/plugins/abolish.lua b/dotfiles/neovim/lua/my/plugins/abolish.lua new file mode 100644 index 0000000..0e34836 --- /dev/null +++ b/dotfiles/neovim/lua/my/plugins/abolish.lua @@ -0,0 +1,13 @@ +local M = {} + +function M.abolish(from, to) + vim.cmd(":Abolish " .. from .. " " .. to) +end + +function M.abolishMany(many) + for _, entry in pairs(many) do + M.abolish(entry[1], entry[2]) + end +end + +return M diff --git a/dotfiles/neovim/lua/my/plugins/arpeggio.lua b/dotfiles/neovim/lua/my/plugins/arpeggio.lua index ba081ca..114675f 100644 --- a/dotfiles/neovim/lua/my/plugins/arpeggio.lua +++ b/dotfiles/neovim/lua/my/plugins/arpeggio.lua @@ -10,17 +10,17 @@ function M.chord(mode, lhs, rhs, opts) M.chord(c, lhs, rhs, opts) end else - local options = helpers.mergeTables(opts, { noremap = true }) + local options = helpers.mergeTables(opts or {}, { noremap = true }) local settings = options.settings or "" if options.silent then settings = settings .. "s" end - arpeggio(mode, settings, options.noremap, lhs, rhs) + arpeggio(mode, settings, not options.noremap, lhs, rhs) end end function M.chordSilent(mode, lhs, rhs, opts) - local options = helpers.mergeTables(opts, { silent = true }) + local options = helpers.mergeTables(opts or {}, { silent = true }) M.chord(mode, lhs, rhs, options) end diff --git a/dotfiles/neovim/lua/my/plugins/clipboard-image.lua b/dotfiles/neovim/lua/my/plugins/clipboard-image.lua index 7c7e800..4474729 100644 --- a/dotfiles/neovim/lua/my/plugins/clipboard-image.lua +++ b/dotfiles/neovim/lua/my/plugins/clipboard-image.lua @@ -22,7 +22,7 @@ function M.setup() }, } - vim.keymap.set("n", "p", ":PasteImg") + vim.keymap.set("n", "p", ":PasteImg", { desc = "Paste image from clipboard" }) end return M diff --git a/dotfiles/neovim/lua/my/plugins/easymotion.lua b/dotfiles/neovim/lua/my/plugins/easymotion.lua index d003407..b2bdb69 100644 --- a/dotfiles/neovim/lua/my/plugins/easymotion.lua +++ b/dotfiles/neovim/lua/my/plugins/easymotion.lua @@ -1,10 +1,27 @@ local M = {} function M.setup() - vim.keymap.set("n", "qf", "(easymotion-bd-f)") - vim.keymap.set("n", "qj", "(easymotion-overwin-f2)") - vim.keymap.set("n", "qw", "(easymotion-bd-w)") - vim.keymap.set("n", "qL", "(easymotion-bd-L)") + local opts = function(desc) + return { + desc = desc, + silent = true + } + end + -- vim.keymap.set("n", "q", "(easymotion-prefix)") + vim.keymap.set("n", "qf", "(easymotion-bd-f)", opts("Hop to char")) + vim.keymap.set("n", "qj", "(easymotion-overwin-f2)", opts("Hop to char pair")) + vim.keymap.set("n", "qw", ":silent (easymotion-bd-w)", opts("Hop to word")) + vim.keymap.set("n", "qL", "silent (easymotion-bd-L)", opts("Hop to line (?)")) + + local status, wk = pcall(require, "which-key") + + if status then + wk.register({ + q = { + name = "Easymotion" + } + }) + end end return M diff --git a/dotfiles/neovim/lua/my/plugins/firevim.lua b/dotfiles/neovim/lua/my/plugins/firevim.lua new file mode 100644 index 0000000..db7620d --- /dev/null +++ b/dotfiles/neovim/lua/my/plugins/firevim.lua @@ -0,0 +1,15 @@ +local M = {} + +function M.setup() + vim.g.firenvim_config = { + localSettings = { + ['.*'] = { + filename = '/tmp/firevim_{hostname}_{pathname%10}_{timestamp%32}.{extension}', + } + } + } + + print("Initialized firenvim") +end + +return M diff --git a/dotfiles/neovim/lua/my/plugins/hydra.lua b/dotfiles/neovim/lua/my/plugins/hydra.lua new file mode 100644 index 0000000..07f8712 --- /dev/null +++ b/dotfiles/neovim/lua/my/plugins/hydra.lua @@ -0,0 +1,101 @@ +local Hydra = require('hydra') +local pcmd = require('hydra.keymap-util').pcmd +local splits = require('smart-splits') + +local M = {} + +local venn_hint = [[ + Arrow^^^^^^ Select region with + ^ ^ _K_ ^ ^ _f_: surround it with box + _H_ ^ ^ _L_ + ^ ^ _J_ ^ ^ __ +]] + + +local window_hint = [[ + ^^^^^^^^^^^^ Move ^^ Size ^^ ^^ Split + ^^^^^^^^^^^^------------- ^^-----------^^ ^^--------------- + ^ ^ _k_ ^ ^ ^ ^ _K_ ^ ^ ^ __ ^ _s_: horizontally + _h_ ^ ^ _l_ _H_ ^ ^ _L_ __ __ _v_: vertically + ^ ^ _j_ ^ ^ ^ ^ _J_ ^ ^ ^ __ ^ _q_: close + focus^^^^^^ window^^^^^^ ^_=_: equalize^ _o_: close remaining +]] + +function M.setup() + + Hydra({ + name = 'Draw Diagram', + hint = venn_hint, + config = { + color = 'pink', + invoke_on_body = true, + hint = { + border = 'rounded' + }, + on_enter = function() + vim.o.virtualedit = 'all' + end, + }, + mode = 'n', + body = 'v', + heads = { + { 'H', 'h:VBox' }, + { 'J', 'j:VBox' }, + { 'K', 'k:VBox' }, + { 'L', 'l:VBox' }, + { 'f', ':VBox', { mode = 'v' } }, + { '', nil, { exit = true } }, + } + }) + + vim.keymap.set("n", "", "") + + Hydra({ + name = 'Windows', + hint = window_hint, + config = { + invoke_on_body = true, + hint = { + border = 'rounded', + offset = -1 + } + }, + mode = 'n', + body = '', + heads = { + { 'h', 'h' }, + { 'j', 'j' }, + { 'k', "k" }, + { 'l', 'l' }, + + { 'H', 'H' }, + { 'J', 'J' }, + { 'K', 'K' }, + { 'L', 'L' }, + + { '', function() splits.resize_left(2) end }, + { '', function() splits.resize_down(2) end }, + { '', function() splits.resize_up(2) end }, + { '', function() splits.resize_right(2) end }, + { '=', '=', { desc = 'equalize' } }, + + { 's', pcmd('split', 'E36') }, + { '', pcmd('split', 'E36'), { desc = false } }, + { 'v', pcmd('vsplit', 'E36') }, + { '', pcmd('vsplit', 'E36'), { desc = false } }, + + { 'w', 'w', { exit = true, desc = false } }, + { '', 'w', { exit = true, desc = false } }, + + { 'o', 'o', { exit = true, desc = 'remain only' } }, + { '', 'o', { exit = true, desc = false } }, + + { 'q', pcmd('close', 'E444'), { desc = 'close window' } }, + { '', pcmd('close', 'E444'), { desc = false } }, + + { '', nil, { exit = true, desc = false } } + } + }) +end + +return M diff --git a/dotfiles/neovim/lua/my/plugins/init.lua b/dotfiles/neovim/lua/my/plugins/init.lua index 38e48f9..a352803 100644 --- a/dotfiles/neovim/lua/my/plugins/init.lua +++ b/dotfiles/neovim/lua/my/plugins/init.lua @@ -1,36 +1,45 @@ -local vscode = require("my.helpers.vscode") +local env = require("my.helpers.env") local M = {} function M.setup() - require "gitlinker".setup() require('nvim_comment').setup() require('fidget').setup() require('dressing').setup() - vscode.unless(function() - require("presence"):setup({}) + env.vscode.unless(function() + env.firevim.unless(function() + require("presence"):setup({}) + require("my.plugins.nvim-tree").setup() + require("my.plugins.lualine").setup() + require("my.plugins.vimux").setup() + require("my.plugins.whichkey").setup() + end) + require("my.plugins.dashboard").setup() require("my.plugins.treesitter").setup() require("my.plugins.cmp").setup() require("my.plugins.lspconfig").setup() require("my.plugins.null-ls").setup() - require("my.plugins.nvim-tree").setup() require("my.plugins.vimtex").setup() require("my.plugins.lean").setup() - require("my.plugins.lualine").setup() - require("my.plugins.vimux").setup() end) + if env.firevim.active() then + require("my.plugins.firevim").setup() + else + require("gitlinker").setup() + -- require("my.plugins.neogit").setup() + require("my.plugins.paperplanes").setup() + end + require("my.plugins.easymotion").setup() require("my.plugins.autopairs").setup() - require("my.plugins.paperplanes").setup() - require("my.plugins.neogit").setup() require("my.plugins.telescope").setup() - require("my.plugins.venn").setup() + + require("my.plugins.hydra").setup() require("my.plugins.clipboard-image").setup() - -- require("my.plugins.idris").setup() - -- require("which-key").setup() + -- require("my.plugins.slam").setup() end return M diff --git a/dotfiles/neovim/lua/my/plugins/lspconfig.lua b/dotfiles/neovim/lua/my/plugins/lspconfig.lua index 16f7fa1..cf90e53 100644 --- a/dotfiles/neovim/lua/my/plugins/lspconfig.lua +++ b/dotfiles/neovim/lua/my/plugins/lspconfig.lua @@ -1,11 +1,5 @@ local M = {} -local function map(buf, mode, lhs, rhs, opts) - local options = { noremap = true, silent = true } - if opts then options = vim.tbl_extend('force', options, opts) end - vim.api.nvim_buf_set_keymap(buf, mode, lhs, rhs, options) -end - function M.on_attach(client, bufnr) -- Enable completion triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') @@ -16,38 +10,34 @@ function M.on_attach(client, bufnr) vim.api.nvim_create_autocmd("BufWritePre", { group = vim.api.nvim_create_augroup("LspFormatting", {}), - callback = function() - vim.lsp.buf.format({async = false}) + buffer = bufnr, + callback = function() + vim.lsp.buf.format({ async = false }) end }) end print("Setting up keybinds...") + + local opts = function(desc) + return { noremap = true, silent = true, desc = desc } + end + -- Go to declaration / definition / implementation - map(bufnr, "n", 'gD', 'lua vim.lsp.buf.declaration()') - map(bufnr, "n", 'gd', 'lua vim.lsp.buf.definition()') - map(bufnr, 'n', 'gi', 'lua vim.lsp.buf.implementation()') + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts("Go to declaration")) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts("Go to definition")) + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts("Go to implementation")) + vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Go to references")) -- Hover - map(bufnr, 'n', 'J', "lua vim.diagnostic.open_float()") - map(bufnr, 'n', 'K', 'lua vim.lsp.buf.hover()') - map(bufnr, 'n', 'L', 'lua vim.lsp.buf.signature_help()') - - -- Workspace stuff - -- map(bufnr, 'n', 'wa', - -- 'lua vim.lsp.buf.add_workspace_folder()') - -- map(bufnr, 'n', 'wr', - -- 'lua vim.lsp.buf.remove_workspace_folder()') - -- map(bufnr, 'n', 'wl', - -- 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))') + vim.keymap.set("n", "J", vim.diagnostic.open_float, opts("Show diagnostic")) + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts("Hover")) + vim.keymap.set("n", "L", vim.lsp.buf.signature_help, opts("Signature help")) -- Code actions - map(bufnr, 'n', 'D', 'lua vim.lsp.buf.type_definition()') - map(bufnr, 'n', 'rn', 'lua vim.lsp.buf.rename()') - map(bufnr, 'n', 'ca', 'lua vim.lsp.buf.code_action()') - map(bufnr, 'n', 'gr', 'lua vim.lsp.buf.references()') - map(bufnr, 'n', 'f', - 'lua vim.lsp.buf.format({async = true})') + vim.keymap.set("n", "rn", vim.lsp.buf.rename, opts("Rename")) + vim.keymap.set("n", "c", vim.lsp.buf.code_action, opts("Code actions")) + vim.keymap.set("n", "f", vim.lsp.buf.format, opts("Format")) print("Initialized language server!") end diff --git a/dotfiles/neovim/lua/my/plugins/null-ls.lua b/dotfiles/neovim/lua/my/plugins/null-ls.lua index 5d9a100..76a2611 100644 --- a/dotfiles/neovim/lua/my/plugins/null-ls.lua +++ b/dotfiles/neovim/lua/my/plugins/null-ls.lua @@ -3,14 +3,18 @@ local lspconfig = require("my.plugins.lspconfig") local M = {} function M.setup() - local null_ls = require("null-ls") + local null_ls = require("null-ls") - local sources = { - null_ls.builtins.formatting.prettierd.with({extra_filetypes = {}}), -- format ts files - -- null_ls.builtins.formatting.lua_format -- format lua code - } + local sources = { + -- null_ls.builtins.formatting.prettierd.with({extra_filetypes = {}}), -- format ts files - null_ls.setup({sources = sources, on_attach = lspconfig.on_attach}) + null_ls.builtins.formatting.prettier.with({ extra_filetypes = {} }), -- format ts files + -- null_ls.builtins.formatting.lua_format -- format lua code + } + + null_ls.setup({ + sources = sources, on_attach = lspconfig.on_attach + , debug = true }) end return M diff --git a/dotfiles/neovim/lua/my/plugins/slam.lua b/dotfiles/neovim/lua/my/plugins/slam.lua new file mode 100644 index 0000000..2d4b202 --- /dev/null +++ b/dotfiles/neovim/lua/my/plugins/slam.lua @@ -0,0 +1,11 @@ +vim.opt.runtimepath:append("/home/adrielus/Projects/nvim-slam") + +local slam = require("slam.") +local M = {} + +function M.setup() + slam.set("n", "ty", ":echo \"slammin'\"") + slam.set("i", "ty", "") +end + +return M diff --git a/dotfiles/neovim/lua/my/plugins/telescope.lua b/dotfiles/neovim/lua/my/plugins/telescope.lua index 210c27f..8de4635 100644 --- a/dotfiles/neovim/lua/my/plugins/telescope.lua +++ b/dotfiles/neovim/lua/my/plugins/telescope.lua @@ -6,13 +6,19 @@ local function find_files_by_extension(extension) return "find_files find_command=rg,--files,--glob=**/*." .. extension end +local function with_theme(base, theme) + return base .. " theme=" .. theme +end + +local defaultTheme = "ivy" + local keybinds = { - { "", "find_files" }, - { "ft", find_files_by_extension("tex") }, - { "fl", find_files_by_extension("lua") }, - { "d", "diagnostics" }, - { "", "live_grep" }, - { "t", "builtin" }, + { "", "find_files", "Find files" }, + { "ft", find_files_by_extension("tex"), "Find tex files" }, + { "fl", find_files_by_extension("lua"), "Find lua files" }, + { "d", "diagnostics", "Diagnostics" }, + { "", "live_grep", "Search in project" }, + { "t", "builtin", "Show builtin pickers" }, } local chords = { @@ -20,12 +26,16 @@ local chords = { } local function mkAction(action) + if not string.find(action, "theme=") then + action = with_theme(action, defaultTheme) + end + return ":Telescope " .. action .. "" end local function setupKeybinds() for _, mapping in pairs(keybinds) do - vim.keymap.set("n", mapping[1], mkAction(mapping[2])) + vim.keymap.set("n", mapping[1], mkAction(mapping[2]), { desc = mapping[3] }) end for _, mapping in pairs(chords) do diff --git a/dotfiles/neovim/lua/my/plugins/venn.lua b/dotfiles/neovim/lua/my/plugins/venn.lua deleted file mode 100644 index c86d9aa..0000000 --- a/dotfiles/neovim/lua/my/plugins/venn.lua +++ /dev/null @@ -1,38 +0,0 @@ -local M = {} -local hint = [[ - Arrow^^^^^^ Select region with - ^ ^ _K_ ^ ^ _f_: surround it with box - _H_ ^ ^ _L_ - ^ ^ _J_ ^ ^ __ -]] - -function M.setup() - local Hydra = require('hydra') - - Hydra({ - name = 'Draw Diagram', - hint = hint, - config = { - color = 'pink', - invoke_on_body = true, - hint = { - border = 'rounded' - }, - on_enter = function() - vim.o.virtualedit = 'all' - end, - }, - mode = 'n', - body = 'v', - heads = { - { 'H', 'h:VBox' }, - { 'J', 'j:VBox' }, - { 'K', 'k:VBox' }, - { 'L', 'l:VBox' }, - { 'f', ':VBox', { mode = 'v' } }, - { '', nil, { exit = true } }, - } - }) -end - -return M diff --git a/dotfiles/neovim/lua/my/plugins/whichkey.lua b/dotfiles/neovim/lua/my/plugins/whichkey.lua new file mode 100644 index 0000000..ab8d390 --- /dev/null +++ b/dotfiles/neovim/lua/my/plugins/whichkey.lua @@ -0,0 +1,9 @@ +local M = {} + +function M.setup() + require("which-key").setup({ + triggers = { "", "d", "y", "q", "z", "g", "c" } + }) +end + +return M diff --git a/startup b/startup new file mode 100644 index 0000000..2f821f8 --- /dev/null +++ b/startup @@ -0,0 +1,534 @@ + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +000.010 000.010: --- NVIM STARTING --- +000.145 000.135: event init +000.255 000.110: early init +000.321 000.066: locale set +000.357 000.036: init first window +000.744 000.387: inits 1 +000.774 000.030: window checked +000.778 000.004: parsing arguments +001.306 000.092 000.092: require('vim.shared') +001.466 000.078 000.078: require('vim._meta') +001.468 000.158 000.080: require('vim._editor') +001.469 000.281 000.032: require('vim._init_packages') +001.471 000.412: init lua interpreter +001.513 000.042: expanding arguments +001.603 000.090: inits 2 +002.005 000.402: init highlight +002.006 000.001: waiting for UI +003.255 001.249: done waiting for UI +003.272 000.017: init screen for UI +003.484 000.212: init default mappings +003.505 000.020: init default autocommands +007.104 000.073 000.073: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/ftplugin.vim +007.528 000.049 000.049: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/indent.vim +015.023 003.831 003.831: require('my.init') +024.138 009.107 009.107: require('impatient') +024.355 000.209 000.209: require('my.paq') +025.111 000.751 000.751: require('paq') +025.191 000.075 000.075: require('my.theme') +025.791 000.231 000.231: require('catppuccin') +025.963 000.163 000.163: require('catppuccin.config') +027.476 000.067 000.067: require('catppuccin.lib.highlighter') +027.530 000.049 000.049: require('catppuccin.lib.mapper') +027.582 000.047 000.047: require('catppuccin.palettes') +027.644 000.055 000.055: require('catppuccin.palettes.latte') +028.117 000.067 000.067: require('catppuccin.lib.hsluv') +028.123 000.136 000.068: require('catppuccin.utils.colors') +028.166 000.040 000.040: require('catppuccin.lib.ui') +028.247 000.052 000.052: require('catppuccin.groups.properties') +028.345 000.090 000.090: require('catppuccin.groups.syntax') +028.562 000.140 000.140: require('catppuccin.groups.editor') +028.709 000.107 000.107: require('catppuccin.groups.integrations.markdown') +028.944 000.128 000.128: require('catppuccin.groups.integrations.gitsigns') +029.110 000.101 000.101: require('catppuccin.groups.integrations.telescope') +029.185 000.061 000.061: require('catppuccin.groups.integrations.cmp') +029.312 000.075 000.075: require('catppuccin.groups.integrations.notify') +029.496 000.115 000.115: require('catppuccin.groups.integrations.treesitter') +029.895 000.271 000.271: require('vim.treesitter.language') +029.907 000.345 000.074: require('vim.treesitter.query') +029.985 000.075 000.075: require('vim.treesitter.languagetree') +030.040 000.540 000.119: require('vim.treesitter') +030.114 000.071 000.071: require('vim.treesitter.highlighter') +030.205 000.042 000.042: require('catppuccin.groups.integrations.dashboard') +030.271 000.041 000.041: require('catppuccin.groups.integrations.nvimtree') +030.348 000.041 000.041: require('catppuccin.groups.integrations.indent_blankline') +030.431 000.047 000.047: require('catppuccin.groups.integrations.native_lsp') +030.578 000.044 000.044: require('catppuccin.groups.terminal') +032.235 004.856 002.766: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/catppuccin/colors/catppuccin.lua +032.362 000.052 000.052: require('my.helpers') +032.366 000.117 000.065: require('my.options') +032.477 000.050 000.050: require('my.options.folding') +032.693 000.083 000.083: require('my.plugins.arpeggio') +032.700 000.211 000.129: require('my.keymaps') +032.709 000.006 000.006: require('vim.keymap') +033.361 000.226 000.226: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vim-arpeggio/autoload/arpeggio.vim +038.498 000.112 000.112: require('my.snippets') +038.994 000.034 000.034: require('luasnip.session') +039.060 000.063 000.063: require('luasnip.util.util') +039.097 000.035 000.035: require('luasnip.util.types') +039.183 000.041 000.041: require('luasnip.util.ext_opts') +039.212 000.113 000.072: require('luasnip.nodes.util') +039.252 000.038 000.038: require('luasnip.util.events') +039.261 000.364 000.080: require('luasnip.nodes.node') +039.396 000.035 000.035: require('luasnip.util.extend_decorator') +039.403 000.141 000.106: require('luasnip.nodes.insertNode') +039.470 000.065 000.065: require('luasnip.nodes.textNode') +039.513 000.040 000.040: require('luasnip.util.mark') +039.972 000.423 000.423: require('luasnip.util._builtin_vars') +040.030 000.052 000.052: require('vim.inspect') +040.072 000.557 000.082: require('luasnip.util.environ') +040.117 000.043 000.043: require('luasnip.util.pattern_tokenizer') +040.152 000.033 000.033: require('luasnip.util.dict') +040.197 000.043 000.043: require('luasnip.session.snippet_collection') +040.272 001.534 000.248: require('luasnip.nodes.snippet') +040.366 000.035 000.035: require('luasnip.loaders._caches') +040.427 000.059 000.059: require('luasnip.util.path') +040.448 000.173 000.079: require('luasnip.loaders') +040.535 000.070 000.070: require('luasnip.nodes.functionNode') +040.604 000.066 000.066: require('luasnip.nodes.choiceNode') +040.711 000.105 000.105: require('luasnip.nodes.dynamicNode') +040.826 000.111 000.111: require('luasnip.nodes.restoreNode') +041.045 000.065 000.065: require('luasnip.util.parser.neovim_ast') +042.390 000.085 000.085: require('luasnip.util.directed_graph') +042.401 001.511 001.361: require('luasnip.util.parser.ast_utils') +042.570 000.085 000.085: require('luasnip.util.functions') +042.577 000.173 000.089: require('luasnip.util.parser.ast_parser') +042.719 000.140 000.140: require('luasnip.util.parser.neovim_parser') +042.777 000.054 000.054: require('luasnip.util.str') +042.808 001.978 000.098: require('luasnip.util.parser') +043.302 000.364 000.364: require('nvim-treesitter.parsers') +043.436 000.067 000.067: require('nvim-treesitter.utils') +043.443 000.137 000.070: require('nvim-treesitter.ts_utils') +043.446 000.568 000.068: require('luasnip.extras.filetype_functions') +043.523 000.058 000.058: require('luasnip.extras') +043.576 000.050 000.050: require('luasnip.extras.fmt') +043.622 000.044 000.044: require('luasnip.extras.expand_conditions') +043.705 000.076 000.076: require('luasnip.nodes.absolute_indexer') +044.218 001.407 000.611: require('luasnip.config') +044.223 005.630 000.185: require('luasnip') +044.307 000.081 000.081: require('luasnip.loaders.util') +044.393 000.083 000.083: require('luasnip.nodes.snippetProxy') +044.401 005.898 000.103: require('luasnip.loaders.from_vscode') +045.387 000.079 000.079: require('my.helpers.env') +045.398 000.163 000.084: require('my.plugins') +045.472 000.071 000.071: require('nvim_comment') +045.880 000.257 000.257: require('fidget.log') +045.896 000.365 000.108: require('fidget') +046.093 000.112 000.112: require('fidget.spinners') +046.918 000.175 000.175: require('vim.lsp.log') +047.591 000.008 000.008: require('vim.F') +047.596 000.675 000.667: require('vim.lsp.protocol') +048.618 000.751 000.751: require('vim.lsp._snippet') +048.780 000.159 000.159: require('vim.highlight') +048.880 001.281 000.371: require('vim.lsp.util') +048.929 002.646 000.515: require('vim.lsp.handlers') +049.287 000.356 000.356: require('vim.lsp.rpc') +049.513 000.223 000.223: require('vim.lsp.sync') +049.703 000.186 000.186: require('vim.lsp.buf') +049.765 000.058 000.058: require('vim.lsp.diagnostic') +049.813 000.045 000.045: require('vim.lsp.codelens') +049.887 003.789 000.274: require('vim.lsp') +050.013 000.030 000.030: require('vim.ui') +050.018 000.065 000.034: require('dressing.patch') +050.020 000.104 000.039: require('dressing') +050.269 000.248 000.248: require('dressing.config') +050.430 000.038 000.038: require('lib.log') +050.488 000.055 000.055: require('deps.msgpack') +050.769 000.279 000.279: require('deps.serpent') +050.807 000.034 000.034: require('presence.file_explorers') +050.910 000.101 000.101: require('presence.file_assets') +050.941 000.028 000.028: require('presence.plugin_managers') +051.032 000.029 000.029: require('deps.struct') +051.036 000.071 000.042: require('presence.discord') +051.051 000.747 000.140: require('presence') +051.889 000.021 000.021: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/presence.nvim/autoload/presence.vim +053.534 000.116 000.116: require('my.plugins.nvim-tree') +054.661 000.042 000.042: require('nvim-tree.iterators.node-iterator') +054.735 000.752 000.711: require('nvim-tree.utils') +054.748 000.809 000.057: require('nvim-tree.events') +054.917 000.058 000.058: require('nvim-tree.log') +055.058 000.139 000.139: require('nvim-tree.git.utils') +055.116 000.055 000.055: require('nvim-tree.git.runner') +055.163 000.045 000.045: require('nvim-tree.watcher') +055.172 000.361 000.065: require('nvim-tree.git') +055.214 000.040 000.040: require('nvim-tree.explorer.watch') +055.256 000.041 000.041: require('nvim-tree.explorer.common') +055.340 000.043 000.043: require('nvim-tree.explorer.node-builders') +055.387 000.044 000.044: require('nvim-tree.explorer.sorters') +055.429 000.040 000.040: require('nvim-tree.explorer.filters') +055.571 000.093 000.093: require('nvim-tree.view') +055.576 000.145 000.052: require('nvim-tree.live-filter') +055.578 000.320 000.048: require('nvim-tree.explorer.explore') +055.625 000.045 000.045: require('nvim-tree.explorer.reload') +055.629 000.878 000.071: require('nvim-tree.explorer') +055.631 001.730 000.043: require('nvim-tree.core') +055.712 000.079 000.079: require('nvim-tree.diagnostics') +055.787 000.072 000.072: require('nvim-tree.renderer.components.padding') +055.833 000.044 000.044: require('nvim-tree.renderer.components.icons') +055.880 000.045 000.045: require('nvim-tree.renderer.components.full-name') +055.922 000.040 000.040: require('nvim-tree.renderer.help') +055.982 000.058 000.058: require('nvim-tree.renderer.components.git') +056.044 000.060 000.060: require('nvim-tree.renderer.builder') +056.084 000.039 000.039: require('nvim-tree.marks') +056.093 002.309 000.142: require('nvim-tree.renderer') +056.133 000.036 000.036: require('nvim-tree.actions.tree-modifiers.collapse-all') +056.171 000.036 000.036: require('nvim-tree.actions.root.dir-up') +056.215 000.042 000.042: require('nvim-tree.actions.root.change-dir') +056.256 000.037 000.037: require('nvim-tree.actions.reloaders.reloaders') +056.295 000.038 000.038: require('nvim-tree.actions.finders.find-file') +056.298 002.592 000.094: require('nvim-tree.lib') +056.349 000.049 000.049: require('nvim-tree.colors') +056.419 000.068 000.068: require('nvim-tree.legacy') +056.478 000.057 000.057: require('nvim-tree.actions.fs.copy-paste') +056.566 000.041 000.041: require('nvim-tree.actions.tree-modifiers.expand-all') +056.602 000.035 000.035: require('nvim-tree.actions.tree-modifiers.toggles') +056.664 000.056 000.056: require('nvim-tree.actions.fs.create-file') +056.738 000.066 000.066: require('nvim-tree.actions.fs.rename-file') +056.811 000.070 000.070: require('nvim-tree.actions.fs.trash') +056.854 000.041 000.041: require('nvim-tree.actions.fs.remove-file') +056.922 000.064 000.064: require('nvim-tree.actions.moves.parent') +056.980 000.056 000.056: require('nvim-tree.actions.moves.sibling') +057.058 000.075 000.075: require('nvim-tree.actions.moves.item') +057.120 000.055 000.055: require('nvim-tree.actions.finders.search-node') +057.194 000.071 000.071: require('nvim-tree.actions.node.run-command') +057.244 000.047 000.047: require('nvim-tree.actions.node.file-popup') +057.334 000.074 000.074: require('nvim-tree.actions.node.system-open') +057.417 000.076 000.076: require('nvim-tree.marks.bulk-move') +057.421 000.940 000.114: require('nvim-tree.actions.dispatch') +057.450 003.910 000.205: require('nvim-tree') +059.611 000.105 000.105: require('nvim-tree.actions') +059.700 000.082 000.082: require('nvim-tree.actions.node.open-file') +061.226 000.045 000.045: require('nvim-tree.marks.navigation') +061.231 000.128 000.083: require('nvim-tree.api') +061.249 000.232 000.104: require('nvim-tree.keymap') +062.131 000.468 000.468: require('nvim-web-devicons') +065.384 000.098 000.098: require('my.plugins.lualine') +065.529 000.055 000.055: require('lualine_require') +066.006 000.617 000.563: require('lualine') +073.116 000.082 000.082: require('lualine.utils.mode') +073.340 000.057 000.057: require('lualine.extensions.nerdtree') +073.824 000.092 000.092: require('my.plugins.vimux') +076.430 000.078 000.078: require('my.plugins.dashboard') +076.560 000.124 000.124: require('dashboard') +076.632 000.068 000.068: require('my.plugins.treesitter') +076.918 000.063 000.063: require('nvim-treesitter.tsrange') +076.969 000.047 000.047: require('nvim-treesitter.caching') +077.002 000.226 000.115: require('nvim-treesitter.query') +077.027 000.391 000.165: require('nvim-treesitter.configs') +077.241 000.062 000.062: require('nvim-treesitter.info') +077.352 000.107 000.107: require('nvim-treesitter.shell_command_selectors') +077.388 000.332 000.162: require('nvim-treesitter.install') +081.984 000.088 000.088: require('my.plugins.cmp') +082.202 000.045 000.045: require('cmp.utils.debug') +082.374 000.124 000.124: require('cmp.utils.char') +082.383 000.179 000.054: require('cmp.utils.str') +082.431 000.046 000.046: require('cmp.utils.pattern') +082.618 000.055 000.055: require('cmp.utils.misc') +082.659 000.038 000.038: require('cmp.utils.buffer') +082.765 000.104 000.104: require('cmp.utils.api') +082.771 000.287 000.091: require('cmp.utils.keymap') +082.776 000.342 000.055: require('cmp.utils.feedkeys') +082.855 000.077 000.077: require('cmp.utils.async') +082.982 000.042 000.042: require('cmp.types.cmp') +083.109 000.124 000.124: require('cmp.types.lsp') +083.159 000.046 000.046: require('cmp.types.vim') +083.162 000.258 000.045: require('cmp.types') +083.205 000.040 000.040: require('cmp.utils.cache') +083.211 000.354 000.056: require('cmp.context') +083.385 000.054 000.054: require('cmp.config.mapping') +083.524 000.082 000.082: require('cmp.config.compare') +083.527 000.138 000.056: require('cmp.config.default') +083.546 000.272 000.080: require('cmp.config') +083.695 000.073 000.073: require('cmp.matcher') +083.710 000.161 000.089: require('cmp.entry') +083.718 000.506 000.072: require('cmp.source') +083.839 000.033 000.033: require('cmp.utils.event') +083.940 000.055 000.055: require('cmp.utils.window') +083.943 000.102 000.047: require('cmp.view.docs_view') +084.050 000.044 000.044: require('cmp.utils.autocmd') +084.061 000.116 000.072: require('cmp.view.custom_entries_view') +084.126 000.063 000.063: require('cmp.view.wildmenu_entries_view') +084.176 000.048 000.048: require('cmp.view.native_entries_view') +084.219 000.041 000.041: require('cmp.view.ghost_text_view') +084.229 000.509 000.105: require('cmp.view') +084.316 002.244 000.188: require('cmp.core') +084.516 000.040 000.040: require('cmp.config.sources') +084.575 000.055 000.055: require('cmp.config.window') +084.657 002.668 000.328: require('cmp') +084.819 000.160 000.160: require('lspkind') +086.239 000.120 000.120: require('my.plugins.lspconfig') +086.335 000.046 000.046: require('cmp_nvim_lsp.source') +086.339 000.095 000.049: require('cmp_nvim_lsp') +086.776 000.291 000.291: require('lspconfig.util') +086.797 000.387 000.096: require('lspconfig.configs') +086.800 000.426 000.039: require('lspconfig') +086.862 000.059 000.059: require('lspconfig.server_configurations.kotlin_language_server') +087.975 000.091 000.091: require('lspconfig.server_configurations.hls') +088.650 000.061 000.061: require('lspconfig.server_configurations.rnix') +088.946 000.069 000.069: require('lspconfig.server_configurations.cssls') +089.216 000.071 000.071: require('lspconfig.server_configurations.dhall_lsp_server') +089.476 000.064 000.064: require('lspconfig.server_configurations.tsserver') +089.807 000.097 000.097: require('lspconfig.server_configurations.sumneko_lua') +090.100 000.071 000.071: require('lspconfig.server_configurations.purescriptls') +090.317 000.066 000.066: require('my.plugins.null-ls') +090.713 000.166 000.166: require('null-ls.methods') +090.732 000.253 000.087: require('null-ls.utils') +091.021 000.281 000.281: require('vim.diagnostic') +091.046 000.645 000.111: require('null-ls.config') +091.142 000.045 000.045: require('null-ls.helpers.cache') +091.216 000.071 000.071: require('null-ls.helpers.diagnostics') +091.261 000.042 000.042: require('null-ls.helpers.formatter_factory') +091.451 000.068 000.068: require('null-ls.logger') +091.513 000.059 000.059: require('null-ls.state') +091.519 000.255 000.128: require('null-ls.helpers.generator_factory') +091.641 000.069 000.069: require('null-ls.helpers.command_resolver') +091.644 000.124 000.055: require('null-ls.helpers.make_builtin') +091.741 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') +091.744 000.696 000.064: require('null-ls.helpers') +091.869 000.061 000.061: require('null-ls.diagnostics') +091.879 000.133 000.072: require('null-ls.sources') +091.951 000.068 000.068: require('null-ls.builtins') +091.955 001.609 000.067: require('null-ls') +092.036 000.078 000.078: require('null-ls.builtins.formatting.prettierd') +092.333 000.078 000.078: require('null-ls.client') +092.428 000.061 000.061: require('my.plugins.vimtex') +092.507 000.065 000.065: require('my.plugins.lean') +093.171 000.210 000.210: require('plenary.functional') +093.184 000.478 000.268: require('plenary.job') +093.482 000.051 000.051: require('plenary.tbl') +093.488 000.103 000.052: require('plenary.vararg.rotate') +093.490 000.149 000.046: require('plenary.vararg') +093.555 000.063 000.063: require('plenary.errors') +093.560 000.308 000.095: require('plenary.async.async') +093.957 000.085 000.085: require('plenary.async.structs') +093.966 000.216 000.131: require('plenary.async.control') +093.976 000.374 000.158: require('plenary.async.util') +093.981 000.418 000.045: require('plenary.async.tests') +093.983 000.797 000.071: require('plenary.async') +094.002 001.430 000.155: require('lean._util') +094.010 001.500 000.070: require('lean') +094.115 000.102 000.102: require('lean.abbreviations') +102.166 000.185 000.185: require('lean.widgets') +102.304 000.133 000.133: require('lean.infoview.components') +102.491 000.082 000.082: require('lean.lsp') +102.543 000.050 000.050: require('lean.progress') +102.552 000.244 000.113: require('lean.lean3') +102.625 000.071 000.071: require('lean.rpc') +102.702 000.952 000.319: require('lean.infoview') +102.865 000.106 000.106: require('lean.commands') +102.968 000.068 000.068: require('lspconfig.server_configurations.lean3ls') +103.231 000.073 000.073: require('lspconfig.server_configurations.leanls') +103.439 000.046 000.046: require('lean.treesitter') +103.515 000.068 000.068: require('lean.progress_bars') +103.631 000.083 000.083: require('lean.ft') +103.744 000.104 000.104: require('lean.stderr') +104.186 000.125 000.125: require('plenary.bit') +104.276 000.032 000.032: require('ffi') +104.309 000.350 000.193: require('plenary.path') +104.319 000.418 000.068: require('gitlinker.git') +104.394 000.072 000.072: require('gitlinker.buffer') +104.451 000.056 000.056: require('gitlinker.mappings') +104.547 000.048 000.048: require('gitlinker.actions') +104.550 000.096 000.048: require('gitlinker.opts') +104.615 000.063 000.063: require('gitlinker.hosts') +104.620 000.774 000.068: require('gitlinker') +104.817 000.157 000.157: require('my.plugins.paperplanes') +104.939 000.056 000.056: require('paperplanes.get_text') +104.946 000.126 000.070: require('paperplanes') +105.023 000.070 000.070: require('my.plugins.easymotion') +105.227 000.072 000.072: require('my.plugins.autopairs') +105.398 000.077 000.077: require('nvim-autopairs._log') +105.492 000.091 000.091: require('nvim-autopairs.utils') +105.745 000.129 000.129: require('nvim-autopairs.conds') +105.758 000.202 000.073: require('nvim-autopairs.rule') +105.761 000.267 000.065: require('nvim-autopairs.rules.basic') +105.793 000.563 000.128: require('nvim-autopairs') +106.377 000.117 000.117: require('my.plugins.telescope') +107.588 000.070 000.070: require('telescope._extensions') +107.595 000.174 000.104: require('telescope') +108.466 000.406 000.406: require('plenary.strings') +108.624 000.154 000.154: require('telescope.deprecated') +109.334 000.279 000.279: require('plenary.log') +109.389 000.521 000.242: require('telescope.log') +109.839 000.290 000.290: require('telescope.state') +109.876 000.485 000.195: require('telescope.utils') +109.904 001.277 000.272: require('telescope.sorters') +114.327 006.728 004.891: require('telescope.config') +115.805 000.077 000.077: require('telescope.actions.state') +115.813 000.167 000.091: require('telescope._extensions.file_browser.utils') +116.025 000.045 000.045: require('plenary.window.border') +116.062 000.034 000.034: require('plenary.window') +116.096 000.032 000.032: require('plenary.popup.utils') +116.100 000.170 000.058: require('plenary.popup') +116.141 000.039 000.039: require('telescope.pickers.scroller') +116.183 000.039 000.039: require('telescope.actions.utils') +116.270 000.041 000.041: require('telescope.actions.mt') +116.289 000.104 000.063: require('telescope.actions.set') +116.374 000.044 000.044: require('telescope.config.resolve') +116.377 000.086 000.042: require('telescope.pickers.entry_display') +116.412 000.033 000.033: require('telescope.from_entry') +116.604 000.788 000.317: require('telescope.actions') +116.647 001.088 000.133: require('telescope._extensions.file_browser.actions') +116.831 000.095 000.095: require('telescope._extensions.file_browser.make_entry') +116.951 000.034 000.034: require('plenary.class') +116.966 000.095 000.060: require('telescope._') +117.101 000.133 000.133: require('telescope.make_entry') +117.104 000.270 000.042: require('telescope.finders.async_oneshot_finder') +117.204 000.052 000.052: require('telescope.finders.async_static_finder') +117.242 000.036 000.036: require('telescope.finders.async_job_finder') +117.247 000.141 000.054: require('telescope.finders') +117.347 000.098 000.098: require('plenary.scandir') +117.413 000.764 000.159: require('telescope._extensions.file_browser.finders') +117.615 000.043 000.043: require('telescope.debounce') +117.805 000.188 000.188: require('telescope.mappings') +117.854 000.045 000.045: require('telescope.pickers.highlights') +117.892 000.036 000.036: require('telescope.pickers.window') +117.968 000.037 000.037: require('telescope.algos.linked_list') +117.972 000.078 000.041: require('telescope.entry_manager') +118.019 000.046 000.046: require('telescope.pickers.multi') +118.032 000.560 000.124: require('telescope.pickers') +118.035 000.620 000.061: require('telescope._extensions.file_browser.picker') +118.083 000.046 000.046: require('telescope._extensions.file_browser.config') +118.086 002.584 000.065: require('telescope._extensions.file_browser') +118.194 000.044 000.044: require('my.plugins.venn') +118.280 000.030 000.030: require('hydra.lib.class') +118.376 000.031 000.031: require('hydra.hint.hint') +118.410 000.032 000.032: require('hydra.lib.util') +118.445 000.032 000.032: require('hydra.hint.vim-options') +118.449 000.139 000.044: require('hydra.hint.cmdline') +118.526 000.034 000.034: require('hydra.lib.api-wrappers') +118.539 000.088 000.054: require('hydra.hint.window') +118.572 000.032 000.032: require('hydra.hint.statusline') +118.575 000.293 000.034: require('hydra.hint') +118.611 000.035 000.035: require('hydra.lib.meta-accessor') +118.616 000.419 000.062: require('hydra') +119.069 000.062 000.062: require('hydra.layer') +119.639 000.046 000.046: require('my.plugins.clipboard-image') +119.742 000.042 000.042: require('clipboard-image.config') +119.745 000.103 000.061: require('clipboard-image') +119.894 000.032 000.032: require('telescope.previewers.previewer') +120.052 000.156 000.156: require('telescope.previewers.term_previewer') +120.208 000.028 000.028: require('plenary.context_manager') +120.268 000.029 000.029: require('nvim-treesitter.statusline') +120.306 000.036 000.036: require('nvim-treesitter.query_predicates') +120.332 000.121 000.057: require('nvim-treesitter') +120.336 000.196 000.046: require('telescope.previewers.utils') +121.850 001.512 001.512: require('plenary.filetype') +121.948 001.893 000.186: require('telescope.previewers.buffer_previewer') +121.953 002.124 000.042: require('telescope.previewers') +121.956 002.186 000.062: require('telescope.extensions.unicode') +121.959 114.019 052.278: sourcing /home/adrielus/.config/nvim/init.lua +121.967 004.321: sourcing vimrc file(s) +122.592 000.016 000.016: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/LuaSnip/ftdetect/snippets.vim +122.755 000.017 000.017: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/dhall-vim/ftdetect/dhall.vim +122.895 000.011 000.011: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/idris2-nvim/ftdetect/idris2.vim +122.926 000.009 000.009: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/idris2-nvim/ftdetect/ipkg.vim +122.971 000.010 000.010: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/idris2-nvim/ftdetect/lidris2.vim +123.048 000.017 000.017: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/kmonad-vim/ftdetect/kbd.vim +123.116 000.015 000.015: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/kotlin-vim/ftdetect/kotlin.vim +123.381 000.012 000.012: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/purescript-vim/ftdetect/purescript.vim +123.544 000.024 000.024: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vimtex/ftdetect/cls.vim +123.588 000.021 000.021: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vimtex/ftdetect/tex.vim +123.627 000.016 000.016: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vimtex/ftdetect/tikz.vim +124.105 000.042 000.042: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/lean.nvim/ftdetect/lean.lua +124.506 000.031 000.031: sourcing /home/adrielus/Projects/nixos-config/dotfiles/neovim/ftdetect/hkf.lua +124.534 002.093 001.852: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/filetype.lua +124.580 000.016 000.016: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/filetype.vim +125.232 000.097 000.097: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/syntax/synload.vim +125.374 000.617 000.520: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/syntax/syntax.vim +127.817 000.219 000.219: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/gzip.vim +127.856 000.011 000.011: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/health.vim +128.644 000.186 000.186: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +128.883 001.005 000.819: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/matchit.vim +129.057 000.150 000.150: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/matchparen.vim +129.438 000.356 000.356: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/netrwPlugin.vim +134.275 000.262 000.262: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/autoload/remote/host.vim +134.959 000.167 000.167: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/autoload/remote/define.vim +135.113 005.425 004.996: sourcing /home/adrielus/.local/share/nvim/rplugin.vim +135.131 005.660 000.236: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/rplugin.vim +135.278 000.083 000.083: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/shada.vim +135.379 000.034 000.034: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/spellfile.vim +135.551 000.134 000.134: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/tarPlugin.vim +135.758 000.152 000.152: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/tohtml.vim +135.829 000.021 000.021: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/tutor.vim +136.048 000.185 000.185: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/zipPlugin.vim +136.760 000.128 000.128: sourcing /nix/store/lpaqrxrx2wh2prd87b5l87h9naab3zga-neovim-unwrapped-master/share/nvim/runtime/plugin/man.lua +136.827 003.995: loading rtp plugins +138.077 000.204 000.204: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/LuaSnip/plugin/luasnip.vim +138.269 000.035 000.035: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/catppuccin/plugin/catppuccin.vim +138.540 000.083 000.083: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/clipboard-image.nvim/plugin/clipboard-image.vim +139.217 000.077 000.077: require('dashboard.session') +139.228 000.157 000.080: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/dashboard-nvim/plugin/dashboard.lua +139.488 000.042 000.042: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/dressing.nvim/plugin/dressing.lua +139.728 000.079 000.079: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/firenvim/plugin/firenvim.vim +140.234 000.153 000.153: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/hydra.nvim/plugin/hydra.lua +140.980 000.049 000.049: require('cmp.utils.highlight') +141.591 000.705 000.656: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/nvim-cmp/plugin/cmp.lua +142.059 000.128 000.128: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/nvim-lspconfig/plugin/lspconfig.lua +142.886 000.136 000.136: require('nvim-treesitter.highlight') +143.106 000.812 000.676: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/nvim-treesitter/plugin/nvim-treesitter.lua +143.382 000.075 000.075: require('nvim-treesitter-textobjects') +143.520 000.040 000.040: require('nvim-treesitter.textobjects.shared') +143.525 000.095 000.054: require('nvim-treesitter.textobjects.select') +143.619 000.035 000.035: require('nvim-treesitter.textobjects.attach') +143.625 000.080 000.045: require('nvim-treesitter.textobjects.move') +143.852 000.041 000.041: require('nvim-treesitter.textobjects.swap') +143.940 000.045 000.045: require('nvim-treesitter.textobjects.lsp_interop') +143.955 000.669 000.334: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/nvim-treesitter-textobjects/plugin/nvim-treesitter-textobjects.vim +144.200 000.043 000.043: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +144.424 000.028 000.028: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/nvim_context_vt/plugin/nvim_context_vt.vim +144.580 000.014 000.014: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/paperplanes.nvim/plugin/paperplanes.vim +144.961 000.039 000.039: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/plenary.nvim/plugin/plenary.vim +145.132 000.016 000.016: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/presence.nvim/plugin/presence.vim +145.620 000.242 000.242: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/telescope.nvim/plugin/telescope.lua +145.974 000.104 000.104: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/venn.nvim/plugin/venn.lua +146.450 000.372 000.372: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vim-arpeggio/plugin/arpeggio.vim +152.583 005.970 005.970: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vim-easymotion/plugin/EasyMotion.vim +153.705 000.770 000.770: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vim-smoothie/plugin/smoothie.vim +154.497 000.495 000.495: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vim-surround/plugin/surround.vim +155.112 000.314 000.314: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vim-tmux-navigator/plugin/tmux_navigator.vim +156.886 001.540 001.540: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vim-wakatime/plugin/wakatime.vim +157.194 000.048 000.048: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vimtex/plugin/vimtex.vim +157.881 000.520 000.520: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/vimux/plugin/vimux.vim +158.083 000.017 000.017: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/which-key.nvim/plugin/which-key.vim +158.555 008.129: loading packages +159.392 000.031 000.031: require('cmp_buffer.timer') +159.398 000.090 000.059: require('cmp_buffer.buffer') +159.402 000.145 000.055: require('cmp_buffer.source') +159.404 000.217 000.073: require('cmp_buffer') +159.431 000.314 000.097: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/cmp-buffer/after/plugin/cmp_buffer.lua +159.739 000.145 000.145: require('cmp_cmdline') +159.765 000.241 000.095: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +160.033 000.095 000.095: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +160.187 000.039 000.039: require('cmp_omni') +160.205 000.080 000.041: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/cmp-omni/after/plugin/cmp_omni.lua +160.383 000.063 000.063: require('cmp_path') +160.399 000.099 000.035: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/cmp-path/after/plugin/cmp_path.lua +160.562 000.046 000.046: require('cmp_luasnip') +160.600 000.108 000.062: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +160.644 001.153: loading after plugins +160.663 000.019: inits 3 +166.205 005.542: reading ShaDa +166.587 000.087 000.087: require('luasnip.loaders.from_lua') +166.825 000.098 000.098: require('luasnip.loaders.from_snipmate') +166.860 000.470: opening buffers +167.962 001.102: BufEnter autocommands +167.967 000.005: editing files in windows +175.357 000.096 000.096: require('nvim-treesitter.indent') +175.760 000.079 000.079: require('dashboard.preview') +175.781 000.162 000.083: require('dashboard.events') +175.933 007.708: VimEnter autocommands +176.527 000.475 000.475: sourcing /home/adrielus/.local/share/nvim/site/pack/paqs/start/firenvim/autoload/firenvim.vim +176.576 000.168: UIEnter autocommands +176.580 000.004: before starting main loop +176.918 000.053 000.053: require('nvim_context_vt.config') +176.960 000.038 000.038: require('nvim_context_vt.utils') +176.965 000.189 000.098: require('nvim_context_vt') +178.400 001.631: first screen update +178.404 000.004: --- NVIM STARTED ---