From c349d1f7998d97f60d3a3945ce8da166b33bf1c8 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 12 Oct 2022 23:55:30 +0200 Subject: Initial commit --- .gitignore | 1 + init.lua | 149 + lua/keys.lua | 483 ++ lua/mods.lua | 138 + lua/opts.lua | 178 + lua/pack.lua | 279 + lua/plugins/airline.lua | 9 + lua/plugins/autopairs.lua | 33 + lua/plugins/bufferline.lua | 323 ++ lua/plugins/bufferline.lua-202209041657.backup | 322 + lua/plugins/cmp.lua | 134 + lua/plugins/colorizer.lua | 6 + lua/plugins/colorscheme.lua | 29 + lua/plugins/feline.lua | 726 +++ lua/plugins/floaterm.lua | 6 + lua/plugins/fzf.lua | 66 + lua/plugins/git.lua | 11 + lua/plugins/gitsigns.lua | 1 + lua/plugins/heirline.backup.lua | 733 +++ lua/plugins/heirline.backup2.lua | 1921 ++++++ lua/plugins/heirline.lua | 1124 ++++ lua/plugins/heirline.lua-202210111610.backup | 1452 +++++ lua/plugins/heirlinenew.lua | 1342 +++++ lua/plugins/linecolor.lua | 112 + lua/plugins/lsp-colors.lua | 9 + lua/plugins/lsp.lua | 227 + lua/plugins/lspOld.lsp | 531 ++ lua/plugins/lspconfig.lua | 148 + lua/plugins/lspkind.lua | 47 + lua/plugins/lspsaga.lua | 61 + lua/plugins/lualine.lua | 423 ++ lua/plugins/mason.lua | 27 + lua/plugins/neoscroll.lua | 21 + lua/plugins/null-ls.lua | 26 + lua/plugins/nvim-tree.lua | 68 + lua/plugins/prettier.lua | 19 + lua/plugins/tabline.lua | 22 + lua/plugins/telescope.lua | 177 + lua/plugins/toggleterm.lua | 90 + lua/plugins/treesitter.lua | 39 + lua/plugins/web-devicons.lua | 12 + lua/plugins/winbar.lua | 35 + lua/plugins/zen-mode.lua | 7 + lua/scripts/setcolors.lua | 121 + lua/startup.log | 6125 ++++++++++++++++++++ lua/utils.lua | 66 + nvim/init.lua | 158 + nvim/lua/keys.lua | 493 ++ nvim/lua/mods.lua | 138 + nvim/lua/opts.lua | 179 + nvim/lua/pack.lua | 347 ++ nvim/lua/plugins/airline.lua | 9 + nvim/lua/plugins/autopairs.lua | 33 + nvim/lua/plugins/bufferline.lua | 323 ++ .../lua/plugins/bufferline.lua-202209041657.backup | 322 + nvim/lua/plugins/cmp.lua | 134 + nvim/lua/plugins/colorizer.lua | 6 + nvim/lua/plugins/colorscheme.lua | 29 + nvim/lua/plugins/feline.lua | 726 +++ nvim/lua/plugins/floaterm.lua | 6 + nvim/lua/plugins/fzf.lua | 66 + nvim/lua/plugins/git.lua | 11 + nvim/lua/plugins/gitsigns.lua | 1 + nvim/lua/plugins/heirline.backup.lua | 733 +++ nvim/lua/plugins/heirline.backup2.lua | 1921 ++++++ nvim/lua/plugins/heirline.lua | 1124 ++++ nvim/lua/plugins/heirline.lua-202210111610.backup | 1452 +++++ nvim/lua/plugins/heirlinenew.lua | 1342 +++++ nvim/lua/plugins/linecolor.lua | 112 + .../lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua | 301 + nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua | 301 + nvim/lua/plugins/lsp-colors.lua | 9 + nvim/lua/plugins/lsp.lua | 231 + nvim/lua/plugins/lspOld.lsp | 531 ++ nvim/lua/plugins/lspconfig.lua | 148 + nvim/lua/plugins/lspkind.lua | 47 + nvim/lua/plugins/lspsaga.lua | 61 + nvim/lua/plugins/lualine.lua | 423 ++ nvim/lua/plugins/mason.lua | 27 + nvim/lua/plugins/neoscroll.lua | 21 + nvim/lua/plugins/null-ls.lua | 26 + nvim/lua/plugins/nvim-tree.lua | 68 + nvim/lua/plugins/prettier.lua | 19 + nvim/lua/plugins/tabline.lua | 22 + nvim/lua/plugins/telescope.lua | 177 + nvim/lua/plugins/toggleterm.lua | 90 + nvim/lua/plugins/treesitter.lua | 39 + nvim/lua/plugins/web-devicons.lua | 12 + nvim/lua/plugins/winbar.lua | 35 + nvim/lua/plugins/zen-mode.lua | 7 + nvim/lua/scripts/setcolors.lua | 121 + nvim/lua/startup.log | 6125 ++++++++++++++++++++ nvim/lua/utils.lua | 66 + nvim/plugin/packer_compiled.lua | 506 ++ 94 files changed, 36957 insertions(+) create mode 100644 .gitignore create mode 100644 init.lua create mode 100644 lua/keys.lua create mode 100644 lua/mods.lua create mode 100644 lua/opts.lua create mode 100644 lua/pack.lua create mode 100644 lua/plugins/airline.lua create mode 100644 lua/plugins/autopairs.lua create mode 100644 lua/plugins/bufferline.lua create mode 100644 lua/plugins/bufferline.lua-202209041657.backup create mode 100644 lua/plugins/cmp.lua create mode 100644 lua/plugins/colorizer.lua create mode 100644 lua/plugins/colorscheme.lua create mode 100644 lua/plugins/feline.lua create mode 100644 lua/plugins/floaterm.lua create mode 100644 lua/plugins/fzf.lua create mode 100644 lua/plugins/git.lua create mode 100644 lua/plugins/gitsigns.lua create mode 100644 lua/plugins/heirline.backup.lua create mode 100644 lua/plugins/heirline.backup2.lua create mode 100644 lua/plugins/heirline.lua create mode 100644 lua/plugins/heirline.lua-202210111610.backup create mode 100644 lua/plugins/heirlinenew.lua create mode 100644 lua/plugins/linecolor.lua create mode 100644 lua/plugins/lsp-colors.lua create mode 100644 lua/plugins/lsp.lua create mode 100644 lua/plugins/lspOld.lsp create mode 100644 lua/plugins/lspconfig.lua create mode 100644 lua/plugins/lspkind.lua create mode 100644 lua/plugins/lspsaga.lua create mode 100644 lua/plugins/lualine.lua create mode 100644 lua/plugins/mason.lua create mode 100644 lua/plugins/neoscroll.lua create mode 100644 lua/plugins/null-ls.lua create mode 100644 lua/plugins/nvim-tree.lua create mode 100644 lua/plugins/prettier.lua create mode 100644 lua/plugins/tabline.lua create mode 100644 lua/plugins/telescope.lua create mode 100644 lua/plugins/toggleterm.lua create mode 100644 lua/plugins/treesitter.lua create mode 100644 lua/plugins/web-devicons.lua create mode 100644 lua/plugins/winbar.lua create mode 100644 lua/plugins/zen-mode.lua create mode 100644 lua/scripts/setcolors.lua create mode 100644 lua/startup.log create mode 100644 lua/utils.lua create mode 100644 nvim/init.lua create mode 100644 nvim/lua/keys.lua create mode 100644 nvim/lua/mods.lua create mode 100644 nvim/lua/opts.lua create mode 100644 nvim/lua/pack.lua create mode 100644 nvim/lua/plugins/airline.lua create mode 100644 nvim/lua/plugins/autopairs.lua create mode 100644 nvim/lua/plugins/bufferline.lua create mode 100644 nvim/lua/plugins/bufferline.lua-202209041657.backup create mode 100644 nvim/lua/plugins/cmp.lua create mode 100644 nvim/lua/plugins/colorizer.lua create mode 100644 nvim/lua/plugins/colorscheme.lua create mode 100644 nvim/lua/plugins/feline.lua create mode 100644 nvim/lua/plugins/floaterm.lua create mode 100644 nvim/lua/plugins/fzf.lua create mode 100644 nvim/lua/plugins/git.lua create mode 100644 nvim/lua/plugins/gitsigns.lua create mode 100644 nvim/lua/plugins/heirline.backup.lua create mode 100644 nvim/lua/plugins/heirline.backup2.lua create mode 100644 nvim/lua/plugins/heirline.lua create mode 100644 nvim/lua/plugins/heirline.lua-202210111610.backup create mode 100644 nvim/lua/plugins/heirlinenew.lua create mode 100644 nvim/lua/plugins/linecolor.lua create mode 100644 nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua create mode 100644 nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua create mode 100644 nvim/lua/plugins/lsp-colors.lua create mode 100644 nvim/lua/plugins/lsp.lua create mode 100644 nvim/lua/plugins/lspOld.lsp create mode 100644 nvim/lua/plugins/lspconfig.lua create mode 100644 nvim/lua/plugins/lspkind.lua create mode 100644 nvim/lua/plugins/lspsaga.lua create mode 100644 nvim/lua/plugins/lualine.lua create mode 100644 nvim/lua/plugins/mason.lua create mode 100644 nvim/lua/plugins/neoscroll.lua create mode 100644 nvim/lua/plugins/null-ls.lua create mode 100644 nvim/lua/plugins/nvim-tree.lua create mode 100644 nvim/lua/plugins/prettier.lua create mode 100644 nvim/lua/plugins/tabline.lua create mode 100644 nvim/lua/plugins/telescope.lua create mode 100644 nvim/lua/plugins/toggleterm.lua create mode 100644 nvim/lua/plugins/treesitter.lua create mode 100644 nvim/lua/plugins/web-devicons.lua create mode 100644 nvim/lua/plugins/winbar.lua create mode 100644 nvim/lua/plugins/zen-mode.lua create mode 100644 nvim/lua/scripts/setcolors.lua create mode 100644 nvim/lua/startup.log create mode 100644 nvim/lua/utils.lua create mode 100644 nvim/plugin/packer_compiled.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c84aa4a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +plugin/packer_compiled.lua diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..fcdbe88 --- /dev/null +++ b/init.lua @@ -0,0 +1,149 @@ +--[[init.]] +-- +-- Initialize config with this one liner in the terminal +--nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit' +-- +--local impatient_ok, impatient = pcall(require, "impatient") +--if impatient_ok then +-- impatient.enable_profile() +--end +--local stdpath = vim.fn.stdpath +local api = vim.api +local utils = require("utils") + +-- check if we have the latest stable version of nvim +local expected_ver = "0.8.0" +local nvim_ver = utils.get_nvim_version() + +if nvim_ver ~= expected_ver then + local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) + api.nvim_err_writeln(msg) + return +end +-- schedule reading shadafile to improve the startup time +vim.opt.shadafile = "NONE" +vim.schedule(function() + vim.opt.shadafile = "" + vim.cmd("silent! rsh") +end) +-- IMPORTS +require("impatient") + +require("utils") +require("keys") -- Keymaps +require("opts") -- Options +require("pack") -- Plugins +--require("mods") -- Modules/functions +--require("deps") -- Plugins +require("plugins.treesitter") +require("plugins.telescope") +require("plugins.nvim-tree") +--require("scripts") +require("plugins.cmp") +require("plugins.toggleterm") +--require("plugins.floatterm") +require("plugins.autopairs") +--require("plugins.vimspector") +require("plugins.mason") +--require("plugins.dap") +require("plugins.colorizer") +require("plugins.prettier") +require("plugins.git") +require("plugins.gitsigns") +require("plugins.neoscroll") +require("plugins.lsp") +--require("plugins.lspconfig") +--require("plugins.lspsaga") +--require("plugins.lspkind") +--require("plugins.lsp-colors") +require("plugins.null-ls") +require("plugins.web-devicons") +require("plugins.zen-mode") +require("plugins.colorscheme") +--vim.opt.laststatus = 3 + +require("plugins.heirline") +--require("plugins.lualine") +--require("plugins.tabline") +--require("plugins.bufferline") +--require("plugins.airline") +--require("plugins.feline") +--require("plugins.winbar") + +---- Hide statusline by setting laststatus and cmdheight to 0. +--vim.o.ls = 0 +--vim.o.ch = 0 +-- +---- Set the winbar to the statusline. +--vim.o.wbr = vim.o.stl +-- +---- With vertical splits, the statusline would still show up at the +---- bottom of the split. A quick fix is to just set the statusline +---- to empty whitespace (it can't be an empty string because then +---- it'll get replaced by the default stline). +--vim.o.stl = " " + +--for builtin, status in pairs({ +-- ["2html_plugin"] = 1, +-- ["getscript"] = 1, +-- ["getscriptPlugin"] = 1, +-- ["gzip"] = 1, +-- ["logipat"] = 1, +-- ["netrwPlugin"] = 1, +-- ["tar"] = 1, +-- ["tarPlugin"] = 1, +-- ["rrhelper"] = 1, +-- ["vimball"] = 1, +-- ["vimballPlugin"] = 1, +-- ["zip"] = 1, +-- ["zipPlugin"] = 1, +-- ["tutor_mode_plugin"] = 1, +-- ["fzf"] = 1, +-- ["spellfile_plugin"] = 1, +-- ["sleuth"] = 1, +--}) do +-- vim.g["loaded_" .. builtin] = status +--end + +--local core_conf_files = { +-- "globals.lua", -- some global settings +-- "options.vim", -- setting options in nvim +-- "autocommands.vim", -- various autocommands +-- "mappings.lua", -- all the user-defined mappings +-- "plugins.vim", -- all the plugins installed and their configurations +-- "colorschemes.lua", -- colorscheme settings +--} +-- +---- source all the core config files +--for _, name in ipairs(core_conf_files) do +-- local path = string.format("%s/core/%s", vim.fn.stdpath("config"), name) +-- local source_cmd = "source " .. path +-- vim.cmd(source_cmd) +--end + +local builtins = { + "gzip", + "zip", + "zipPlugin", + "tar", + "tarPlugin", + "getscript", + "getscriptPlugin", + "vimball", + "vimballPlugin", + "2html_plugin", + --"matchit", + --"matchparen", + "logiPat", + "rrhelper", + "netrw", + "netrwPlugin", + "netrwSettings", + "netrwFileHandlers", +} + +for _, plugin in ipairs(builtins) do + vim.g["loaded_" .. plugin] = 1 +end +vim.g.do_filetype_nvim = 1 +vim.g.did_load_filetypes = 0 diff --git a/lua/keys.lua b/lua/keys.lua new file mode 100644 index 0000000..1995976 --- /dev/null +++ b/lua/keys.lua @@ -0,0 +1,483 @@ +--[[ key.lua ]] + +-- Shorten function name +local map = vim.api.nvim_set_keymap + +local function new_desc(d) + return { desc = d } +end + +local d = new_desc + +local opts = { noremap = true, silent = true } + +local term_opts = { silent = true } + +--------------- Standard Operations --------------- +-- Semi-colon as leader key +vim.g.mapleader = ";" +--vim.g.maplocalleader = ";" + +-- "jj" to exit insert-mode +map("i", "jj", "", opts) + +-- save quickly +map("n", ";w", ":w", d("Save buffer")) + +--Easier split navigations, just ctrl-j instead of ctrl-w then j +map("n", "", "", opts) +map("n", "", "", opts) +map("n", "", "", opts) +map("n", "", "", opts) + +-- Combine buffers list with buffer name +map("n", "b", ":buffers:buffer", opts) + +-- Map buffer next, prev and delete to +map("n", "n", ":bn", opts) +map("n", "p", ":bp", opts) +map("n", "d", ":bd", opts) + +-- Set alt + j/k to switch lines of texts or simply move them +map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) +map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) + +-- move block easily +map("n", "<", "<<", d("Decrease indent")) +map("n", ">", ">>", d("Increase indent")) +map("x", "<", "", ">gv", d("Decrease indent")) + +-- Resize Panes +map("n", "+", ":resize +5", opts) +map("n", "-", ":resize -5", opts) +map("n", "<", ":vertical resize +5", opts) +map("n", ">", ":vertical resize -5", opts) +map("n", "=", "=", opts) + +-- New tab +map("n", "e", ":tabedit", opts) + +-- create tab like window +map("n", "h", ":tabprevious", d("Goto previous tab")) +map("n", "l", ":tabnext", d("Goto next tab")) +map("n", "n", ":tabnew", d("Create a new tab")) + +-- Vim TABs +map("n", "1", "1gt", opts) +map("n", "2", "2gt", opts) +map("n", "3", "3gt", opts) +map("n", "4", "4gt", opts) +map("n", "5", "5gt", opts) +map("n", "6", "6gt", opts) +map("n", "7", "7gt", opts) +map("n", "8", "8gt", opts) +map("n", "9", "9gt", opts) +map("n", "0", "10gt", opts) + +-- Split window +map("n", "h", ":split", opts) +map("n", "v", ":vsplit", opts) +map("n", "c", "c", opts) + +-- Toggle set number +map("n", "$", ":NumbersToggle", opts) +map("n", "%", ":NumbersOnOff", opts) + +-- Change mode to executable +map("n", "x", ":!chmod +x %", opts) + +-- Paste without replace clipboard +map("v", "p", '"_dP', opts) + +-- Paste end of line +--map("n", ",", "$p", opts) +vim.cmd([[ + nmap , $p +]]) + +-- Select entire buffer +map("v", "", "ggG", opts) + +-- Delete without changing the registers +--map('n', 'x', '"_x', opts) + +-- Select all text in current buffer +--map('n', 'a', ':keepjumps normal! ggVG') + +-- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in +-- visual mode to select text to swap with +map("v", "", "`.``gvP``P", opts) + +-- Search and replace +map("v", "sr", 'y:%s/"//gc', opts) +--vnoremap ; :call Get_visual_selection() +-- +--function! Get_visual_selection() +-- " Why is this not a built-in Vim script function?! +-- let [lnum1, col1] = getpos("'<")[1:2] +-- let [lnum2, col2] = getpos("'>")[1:2] +-- let lines = getline(lnum1, lnum2) +-- let lines[-1] = lines[-1][: col2 - (&selection == 'inclusive' ? 1 : 2)] +-- let lines[0] = lines[0][col1 - 1:] +-- let selection = join(lines,'\n') +-- let change = input('Change the selection with: ') +-- execute ":%s/".selection."/".change."/g" +--endfunction +vim.cmd([[ +let s:hidden_all = 0 +function! ToggleHiddenAll() + if s:hidden_all == 0 + let s:hidden_all = 1 + set noshowmode + set noruler + set laststatus=0 + set noshowcmd + else + let s:hidden_all = 0 + set showmode + set ruler + set laststatus=2 + set showcmd + endif +endfunction +nnoremap :call ToggleHiddenAll() +]]) + +-------------- Telescope -------------- +--Telescope find_files cwd=.. +map("n", "fc", "lua require('telescope.builtin').commands()", opts) +map( + "n", + "ft", + "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))", + opts +) + +map("n", "fg", "lua require('telescope.builtin').live_grep()", opts) +map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()", opts) + +--map("n", "fz", ":FZF", opts) +--map("t", [[]], [[]], opts) +--map("n", "ff", ":NvimTreeToggle", {}) +map("n", "ff", ":NvimTreeToggle", {}) +-- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) +-- Find files in config dirs +--key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) +map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) +map("n", "ft", "lua require('plugins.telescope').file_explorer({})", opts) +map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) +map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})", opts) +-- registers picker +map("n", "r", "lua require('telescope.builtin').registers({})", opts) +-- find files including gitignored +--keymap( +-- "n", +-- "fg", +-- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})", opts) +-- open available commands & run it +map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})", opts) + +-------------- Autopairs -------------- +Toggle_autopairs = function() + local ok, autopairs = pcall(require, "nvim-autopairs") + if ok then + if autopairs.state.disabled then + autopairs.enable() + print("autopairs on") + else + autopairs.disable() + print("autopairs off") + end + else + print("autopairs not available") + end +end +map("n", "ww", ":lua Toggle_autopairs()", term_opts) + +-------------- Functions -------------- +-- Toggle transparency +vim.cmd([[ + let t:is_transparent = 0 + function! Toggle_transparent_background() + if t:is_transparent == 0 + hi Normal guibg=#111111 ctermbg=black + let t:is_transparent = 1 + else + hi Normal guibg=NONE ctermbg=NONE + let t:is_transparent = 0 + endif + endfunction + nnoremap tb :call Toggle_transparent_background() +]]) +--keymap('n', 'tb', ':Toggle_transparent_background', opts) + +-- Toggle zoom +vim.cmd([[ + function! s:ZoomToggle() abort + if exists('t:zoomed') && t:zoomed + execute t:zoom_winrestcmd + let t:zoomed = 0 + else + let t:zoom_winrestcmd = winrestcmd() + resize + vertical resize + let t:zoomed = 1 + endif + endfunction + command! ZoomToggle call s:ZoomToggle() + ]]) +map("n", "z", ":ZoomToggle", opts) +-- "Zoom" a split window into a tab and/or close it +--keymap('n', ',', ':tabnew %', opts) +--keymap('n', '.', ':tabclose', opts) + +-- Open last closed buffer +vim.cmd([[ + function! OpenLastClosed() + let last_buf = bufname('#') + if empty(last_buf) + echo "No recently closed buffer found" + return + endif + let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ") + if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n') + return + endif + if result ==# 't' + execute 'tabnew' + elseif result ==# 'v' + execute "vsplit" + elseif result ==# 's' + execute "split" + endif + execute 'b ' . last_buf + endfunction + ]]) +map("n", "", ":call OpenLastClosed() ", opts) + +-- Tabularize +vim.cmd([[ + vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" + nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" + "nnoremap i mc40A 080lDgelD`cP + "vnoremap ii mc0f-20i`cdt=j +]]) + +vim.cmd([[ + " Start interactive EasyAlign in visual mode (e.g. vipga) + xmap ga (EasyAlign) + " Start interactive EasyAlign for a motion/text object (e.g. gaip) + nmap ga (EasyAlign) + if !exists('g:easy_align_delimiters') + let g:easy_align_delimiters = {} + endif + let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } + nnoremap 21A d21\| + imap a +]]) +--:'<,'>EasyAlign /--/ +--EasyAlign /--/ +--:'<,'>Tabularize /-- + +map("n", ",", ":hide", opts) +map("n", ".", ":unhide", opts) + +--" Clean trailing whitespace +--nnoremap ww mz:%s/\s\+$//:let @/=''`z + +-- Save with root permission (not working for now) +--vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) + +-- Copy and Paste with and +--keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'', opts) +-- Use command :Vb for Visual Block or since is used for Copy +--command! Vb normal! +-- Map to save/edit a root permission/read-only file, only works in +-- traditional vim and not neovim +--keymap('c', 'w!! %!sudo tee > /dev/null', opts) +--" Copying text to the system clipboard. +--" +--" For some reason Vim no longer wants to talk to the OS X pasteboard through "*. +--" Computers are bullshit. +--function! g:FuckingCopyTheTextPlease() +-- let old_z = @z +-- normal! gv"zy +-- call system('pbcopy', @z) +-- let @z = old_z +--endfunction +--noremap p :silent! set paste"*p:set nopaste +--" noremap p mz:r!pbpaste`z +--vnoremap y :call g:FuckingCopyTheTextPlease() + +--" Indent/dedent/autoindent what you just pasted. +--nnoremap > V`]< +--nnoremap > V`]> +--nnoremap =- V`]= + +--" Keep the cursor in place while joining lines +--nnoremap J mzJ`z + +--" Toggle [i]nvisible characters +--nnoremap i :set list! +-- +--" Unfuck my screen +--nnoremap U :syntax sync fromstart:redraw! + +--" Ranger +--nnoremap r :silent !ranger %:h:redraw! +--nnoremap R :silent !ranger:redraw! +-- +--" Insert Mode Completion {{{ +-- +--inoremap +--inoremap +--inoremap +---- Open the current file in the default program (on Mac this should just be just `open`) +--keymap('n', 'x', ':!xdg-open %') + +--keymap("n", "ff", "lua require('telescope.builtin').find_files()", opts) +--keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()", opts) +--keymap('n', 'k', ':nohlsearch') +-- +--"This unsets the "last search pattern" register by hitting return +vim.cmd([[ + nnoremap :noh +]]) + +--keymap('n', 'Q', ':bufdo bdelete') +-- +---- Allow gf to open non-existent files +--keymap('', 'gf', ':edit ') +-- +---- Reselect visual selection after indenting +--keymap('v', '<', '', '>gv') +-- +---- Maintain the cursor position when yanking a visual selection +---- http://ddrscott.github.io/blog/2016/yank-without-jank/ +--keymap('v', 'y', 'myy`y') +--keymap('v', 'Y', 'myY`y') +--keymap("n", "", ":q", opts) +--keymap("n", "", ":qa!", opts) + +--" Sort lines +--nnoremap s vip:!sort +--vnoremap s :!sort +-- +--" Tabs +--nnoremap ( :tabprev +--nnoremap ) :tabnext +-- +--" Wrap +--nnoremap W :set wrap! + +--set foldlevelstart=0 +-- +--" Space to toggle folds. +--nnoremap za +--vnoremap za +--" Make zO recursively open whatever fold we're in, even if it's partially open. +--nnoremap zO zczO + +-- Packer +--maps.n["pc"] = { "PackerCompile", desc = "Packer Compile" } +--maps.n["pi"] = { "PackerInstall", desc = "Packer Install" } +--maps.n["ps"] = { "PackerSync", desc = "Packer Sync" } +--maps.n["pS"] = { "PackerStatus", desc = "Packer Status" } +--maps.n["pu"] = { "PackerUpdate", desc = "Packer Update" } +-- NeoTree +--if is_available "neo-tree.nvim" then +-- keymaps.n["e"] = { "Neotree toggle", desc = "Toggle Explorer" } +-- keymaps.n["o"] = { "Neotree focus", desc = "Focus Explorer" } +--end +-- Alpha +--if is_available "alpha-nvim" then maps.n["d"] = { "Alpha", desc = "Alpha Dashboard" } end + +-- Package Manager +-- TODO: v2 rework these key bindings to be more general +--if is_available "mason.nvim" then maps.n["lI"] = { "Mason", desc = "LSP installer" } end +-- Telescope +--if is_available "telescope.nvim" then +-- maps.n["fw"] = { function() require("telescope.builtin").live_grep() end, desc = "Search words" } +-- maps.n["fW"] = { +-- function() +-- require("telescope.builtin").live_grep { +-- additional_args = function(args) return vim.list_extend(args, { "--hidden", "--no-ignore" }) end, +-- } +-- end, +-- desc = "Search words in all files", +-- } +-- maps.n["gt"] = { function() require("telescope.builtin").git_status() end, desc = "Git status" } +-- maps.n["gb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } +-- maps.n["gc"] = { function() require("telescope.builtin").git_commits() end, desc = "Git commits" } +-- maps.n["ff"] = { function() require("telescope.builtin").find_files() end, desc = "Search files" } +-- maps.n["fF"] = { +-- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, +-- desc = "Search all files", +-- } +-- maps.n["fb"] = { function() require("telescope.builtin").buffers() end, desc = "Search buffers" } +-- maps.n["fh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } +-- maps.n["fm"] = { function() require("telescope.builtin").marks() end, desc = "Search marks" } +-- maps.n["fo"] = { function() require("telescope.builtin").oldfiles() end, desc = "Search history" } +-- maps.n["fc"] = +-- { function() require("telescope.builtin").grep_string() end, desc = "Search for word under cursor" } +-- maps.n["sb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } +-- maps.n["sh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } +-- maps.n["sm"] = { function() require("telescope.builtin").man_pages() end, desc = "Search man" } +-- maps.n["sn"] = +-- { function() require("telescope").extensions.notify.notify() end, desc = "Search notifications" } +-- maps.n["sr"] = { function() require("telescope.builtin").registers() end, desc = "Search registers" } +-- maps.n["sk"] = { function() require("telescope.builtin").keymaps() end, desc = "Search keymaps" } +-- maps.n["sc"] = { function() require("telescope.builtin").commands() end, desc = "Search commands" } +-- maps.n["ls"] = { +-- function() +-- local aerial_avail, _ = pcall(require, "aerial") +-- if aerial_avail then +-- require("telescope").extensions.aerial.aerial() +-- else +-- require("telescope.builtin").lsp_document_symbols() +-- end +-- end, +-- desc = "Search symbols", +-- } +-- maps.n["lR"] = { function() require("telescope.builtin").lsp_references() end, desc = "Search references" } +-- maps.n["lD"] = { function() require("telescope.builtin").diagnostics() end, desc = "Search diagnostics" } +--end +-- +---- Terminal +--if is_available "toggleterm.nvim" then +-- local toggle_term_cmd = astronvim.toggle_term_cmd +-- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } +-- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } +-- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } +-- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } +-- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } +-- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } +-- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } +-- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } +--end +-- +---- Stay in indent mode +--maps.v["<"] = { ""] = { ">gv", desc = "indent line" } +-- +---- Improved Terminal Mappings +--maps.t[""] = { "", desc = "Terminal normal mode" } +--maps.t["jk"] = { "", desc = "Terminal normal mode" } +--maps.t[""] = { "h", desc = "Terminal left window navigation" } +--maps.t[""] = { "j", desc = "Terminal down window navigation" } +--maps.t[""] = { "k", desc = "Terminal up window navigation" } +--maps.t[""] = { "l", desc = "Terminal right window naviation" } +-- LSP Installer +--if is_available "mason-lspconfig.nvim" then maps.n["li"] = { "LspInfo", desc = "LSP information" } end + +-- ALE: toggle _ALE activity +--keymap('n', 'a',[[:ALEToggle]]) + +--keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})', opts) +-- ":lua require('neogen').generate()", opts) +--keymap("n", "ww", ":set wrap!", opts) +-- diff --git a/lua/mods.lua b/lua/mods.lua new file mode 100644 index 0000000..b8866fc --- /dev/null +++ b/lua/mods.lua @@ -0,0 +1,138 @@ +vim.cmd([[ + function RandomColorScheme() + let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") + exe 'so ' . mycolors[localtime() % len(mycolors)] + unlet mycolors + endfunction + + call RandomColorScheme() + + :command NewColor call RandomColorScheme() +]]) + +--vim.cmd([[ +-- function RandomColorSchemeMyPicks() +-- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"] +-- let mypick = mypicks[localtime() % len(mypicks)] +-- echom mypick +-- execute 'colo' mypick +-- endfunction +-- +-- command NewColor call RandomColorSchemeMyPicks() +-- +-- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors) +-- if (s:use_gui) +-- call RandomColorSchemeMyPicks() +-- endif +--]]) + +vim.cmd([[ + let g:fzf_history_dir = '~/.local/share/fzf-history' + map z :FZF + map a :Files + map l :Lines + map L :BLines + map B :Buffers + map h :History: + nnoremap g :Rg + "nnoremap t :Tags + nnoremap m :Marks + " This is the default extra key bindings + let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-y': 'vsplit' } + let g:fzf_tags_command = 'ctags -R' + " Border color + let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } + let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' + let $FZF_DEFAULT_COMMAND="rg --files --hidden" + " Customize fzf colors to match your color scheme + let g:fzf_colors = + \ { 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Comment'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'Statement'], + \ 'info': ['fg', 'PreProc'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Conditional'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + " Get Files + command! -bang -nargs=? -complete=dir Files + \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) + " Get text in files with Rg + command! -bang -nargs=* Rg + \ call fzf#vim#grep( + \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, + \ fzf#vim#with_preview(), 0) + " Ripgrep advanced + function! RipgrepFzf(query, fullscreen) + let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' + let initial_command = printf(command_fmt, shellescape(a:query)) + let reload_command = printf(command_fmt, '{q}') + let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} + call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) + endfunction + command! -nargs=* -bang RG call RipgrepFzf(, 0) + " Git grep + command! -bang -nargs=* GGrep + \ call fzf#vim#grep( + \ 'git grep --line-number '.shellescape(), 0, + \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) + command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) +]]) + +vim.cmd([[ + " Enable mouse scrollback + set mouse=a + tnoremap + tnoremap + function! ClearTerminal() + set scrollback=1 + let &g:scrollback=1 + echo &scrollback + call feedkeys("\i") + call feedkeys("clear\") + call feedkeys("\\") + call feedkeys("\i") + sleep 100m + let &scrollback=s:scroll_value + endfunction +]]) + +vim.cmd([[ + " :Rename {newname} + function! RenameFile() + let old_name = expand('%') + let new_name = input('New file name: ', expand('%'), 'file') + if new_name != '' && new_name != old_name + exec ':saveas ' . new_name + exec ':silent !rm ' . old_name + redraw! + endif + endfunction + map re :call RenameFile() +]]) + +--vim.cmd([[ +-- " Markdown Settings +-- autocmd BufNewFile,BufReadPost *.md set filetype=markdown +-- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug'] +-- let g:markdown_minlines = 100 +-- let g:instant_markdown_autostart = 0 +--]]) +-- +--vim.cmd([[ +-- " On The Fly Table mode +-- function! s:isAtStartOfLine(mapping) +-- let text_before_cursor = getline('.')[0 : col('.')-1] +-- let mapping_pattern = '\V' . escape(a:mapping, '\') +-- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\') +-- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$') +-- endfunction +--]]) diff --git a/lua/opts.lua b/lua/opts.lua new file mode 100644 index 0000000..06e15fd --- /dev/null +++ b/lua/opts.lua @@ -0,0 +1,178 @@ +--[[ opts.lua ]] + +vim.cmd([[ + "filetype plugin indent on " Load indent files, to automatically do language-dependent indenting. + "autocmd BufEnter * :syntax sync fromstart + "syntax enable + let g:clipbrdDefaultReg = '+' + "set nocompatible + "autocmd FileType lua set comments=s1:---,m:--,ex:-- +]]) + +-- Environment +vim.opt.shell = "zsh" -- +vim.scriptencoding = "utf-8" -- +vim.opt.encoding = "utf-8" -- +vim.opt.fileencoding = "utf-8" -- +vim.g.python3_host_prog = "/usr/bin/python3" -- +vim.g.loaded_python3_provider = 1 -- +vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file +--vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" -- + +vim.opt.termguicolors = true +-- Behaviour +vim.opt.clipboard:append({ "unnamedplus" }) -- +vim.opt.backspace = { "start", "eol", "indent" } -- Make backspace work as you would expect. +vim.opt.hidden = true -- Switch between buffers without having to save first. +vim.opt.splitbelow = true -- make split put the new buffer below the current buffer +vim.opt.splitright = true -- make vsplit put the new buffer on the right of the current buffer +vim.opt.scrolloff = 8 -- +vim.opt.sidescrolloff = 8 -- how many lines to scroll when using the scrollbar +vim.opt.autoread = true -- reload files if changed externally +vim.opt.display = "lastline" -- Show as much as possible of the last line. +vim.opt.inccommand = "split" -- +vim.opt.ttyfast = true -- Faster redrawing. +vim.opt.lazyredraw = true -- Only redraw when necessary +vim.opt.keywordprg = ":help" -- :help options +--vim.opt.ruler = true -- +vim.opt.errorbells = false -- +vim.opt.list = true -- Show non-printable characters. +vim.opt.showmatch = true -- +vim.opt.matchtime = 3 -- +vim.opt.showbreak = "↪ " -- +vim.opt.linebreak = true -- +vim.opt.exrc = true -- +--vim.opt.autochdir = true -- or use this to use <:e> to create a file in current directory +vim.opt.autoread = true -- if a file is changed outside of vim, automatically reload it without asking +--vim.opt.notimeout = true -- Timeout on keycodes and not mappings +vim.opt.ttimeout = true -- Makes terminal vim work sanely +vim.opt.ttimeoutlen = 10 -- +--vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds) +--vim.cmd([[set diffopt = vertical = true]]) -- diffs are shown side-by-side not above/below + +-- Indent/tab +vim.opt.breakindent = true -- +vim.opt.autoindent = true -- Indent according to previous line. +vim.opt.smarttab = false -- +vim.opt.tabstop = 2 -- +vim.opt.expandtab = true -- Indent according to previous line. +--vim.opt.expandtab = true -- Use spaces instead of tabs. +vim.opt.softtabstop = 2 -- Tab key indents by 2 spaces. +vim.opt.shiftwidth = 2 -- >> indents by 2 spaces. +vim.opt.shiftround = true -- >> indents to next multiple of 'shiftwidth'. +vim.opt.smartindent = true -- smart indent + +-- Column/statusline/Cl +vim.opt.number = true -- +--vim.opt.title = true -- +--vim.opt.colorcolumn = "+1" -- +--vim.opt.signcolumn = "yes:1" -- always show the sign column +vim.opt.signcolumn = "number" +--vim.opt.signcolumn = "no" -- +vim.opt.laststatus = 3 -- " Always show statusline. +vim.opt.showmode = true -- Show current mode in command-line, example: -- INSERT -- mode +vim.opt.showcmd = true -- Show the command in the status bar +vim.opt.cmdheight = 1 -- +--vim.opt.cmdheight = 0 -- +vim.opt.report = 0 -- Always report changed lines. +--local autocmd = vim.api.nvim_create_autocmd +--autocmd("bufenter", { +-- pattern = "*", +-- callback = function() +-- if vim.bo.ft ~= "terminal" then +-- vim.opt.statusline = "%!v:lua.require'ui.statusline'.run()" +-- else +-- vim.opt.statusline = "%#normal# " +-- end +-- end, +--}) + +-- Backup/undo +vim.opt.backup = false -- +--vim.opt.noswapfile = true -- +--vim.opt.undofile = true -- +vim.opt.backupskip = { "/tmp/*", "/private/tmp/*" } -- + +-- Format +vim.opt.textwidth = 80 -- +vim.cmd([[let &t_Cs = "\e[4:3m"]]) -- Undercurl +vim.cmd([[let &t_Ce = "\e[4:0m"]]) -- +vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder +vim.cmd("set whichwrap+=<,>,[,],h,l") -- +vim.cmd([[set iskeyword+=-]]) -- +vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work +vim.opt.wrapscan = true -- " Searches wrap around end-of-file. +--vim.wo.number = true -- +--vim.opt.wrap = false -- No Wrap lines +--vim.opt.foldmethod = 'manual' -- +--vim.opt.foldmethod = "expr" -- +vim.opt.modeline = true -- +vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis) +--vim.opt.nofoldenable = true -- turn folding off +vim.opt.foldenable = false -- turn folding off + +-- Highlights +vim.opt.incsearch = true -- Highlight while searching with / or ?. +vim.opt.hlsearch = true -- Keep matches highlighted. +vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital in search +vim.opt.smartcase = true -- smart case +vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. +vim.opt.winblend = 0 -- +vim.opt.wildoptions = "pum" -- +vim.opt.pumblend = 5 -- +vim.opt.pumheight = 10 -- pop up menu height + +-- Better Completion +vim.opt.complete = { ".", "w", "b", "u", "t" } -- +vim.opt.completeopt = { "longest,menuone,preview" } -- +--vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp +--vim.opt.completeopt = { "menu", "menuone", "noselect" } -- + +-- Wildmenu completion -- +vim.opt.wildmenu = true -- +vim.opt.wildmode = { "list:longest" } -- +vim.opt.wildignore:append({ ".hg", ".git", ".svn" }) -- Version control +vim.opt.wildignore:append({ "*.aux", "*.out", "*.toc" }) -- LaTeX intermediate files +vim.opt.wildignore:append({ "*.jpg", "*.bmp", "*.gif", "*.png", "*.jpeg" }) -- binary images +vim.opt.wildignore:append({ "*.o", "*.obj", "*.exe", "*.dll", "*.manifest" }) -- compiled object files +vim.opt.wildignore:append({ "*.spl" }) -- compiled spelling word lists +vim.opt.wildignore:append({ "*.sw?" }) -- Vim swap files +vim.opt.wildignore:append({ "*.DS_Store" }) -- OSX bullshit +vim.opt.wildignore:append({ "*.luac" }) -- Lua byte code +vim.opt.wildignore:append({ "migrations" }) -- Django migrations +vim.opt.wildignore:append({ "*.pyc" }) -- Python byte code +vim.opt.wildignore:append({ "*.orig" }) -- Merge resolution files +vim.opt.wildignore:append({ "*/node_modules/*" }) -- + +-- Cursorline +vim.cmd([[ " Only show cursorline in the current window and in normal mode + augroup cline + au! + au WinLeave,InsertEnter * set nocursorline + au WinEnter,InsertLeave * set cursorline + augroup END +]]) +vim.opt.cursorline = true -- +vim.opt.guicursor = "i:ver100,r:hor100" -- + +-- Trailing whitespace +vim.cmd([[ " Only show in insert mode + augroup trailing + au! + au InsertEnter * :set listchars-=trail:⌴ + au InsertLeave * :set listchars+=trail:⌴ + augroup END +]]) +vim.opt.listchars = { tab = "▸ ", trail = "·" } -- +vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer + +-- Line Return +vim.cmd([[ " Return to the same line when we reopen a file + augroup line_return + au! + au BufReadPost * + \ if line("'\"") > 0 && line("'\"") <= line("$") | + \ execute 'normal! g`"zvzz' | + \ endif + augroup END +]]) diff --git a/lua/pack.lua b/lua/pack.lua new file mode 100644 index 0000000..b864872 --- /dev/null +++ b/lua/pack.lua @@ -0,0 +1,279 @@ +local utils = require("utils") +local fn = vim.fn + +-- Automatically install packer +local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" +if fn.empty(fn.glob(install_path)) > 0 then + PACKER_BOOTSTRAP = fn.system({ + "git", + "clone", + "--depth", + "1", + "https://github.com/wbthomason/packer.nvim", + install_path, + }) + print("Installing packer close and reopen Neovim...") + vim.cmd([[packadd packer.nvim]]) +end + +-- Autocommand that reloads neovim whenever you save the plugins.lua file +vim.cmd([[ + augroup packer_user_config + autocmd! + autocmd BufWritePost pack.lua source | PackerSync + augroup end +]]) + +-- Use a protected call so we don't error out on first use +local status_ok, packer = pcall(require, "packer") +if not status_ok then + return +end + +-- Have packer use a popup window +packer.init({ + auto_reload_compiled = true, + display = { + open_fn = function() + return require("packer.util").float({ border = "rounded" }) + end, + }, +}) + +-- Install your plugins here +return packer.startup(function(use) + use("wbthomason/packer.nvim") -- Have packer manage itself + + -- nvimlsp plugins + --use({ + -- "williamboman/mason.nvim", + -- config = function() + -- require("mason").setup() + -- require("mason-lspconfig").setup({ + -- ensure_installed = { "sumneko_lua", "clangd", "rust_analyzer" }, + -- }) + -- end, + --}) + use("williamboman/mason.nvim") + use("williamboman/mason-lspconfig.nvim") + use("neovim/nvim-lspconfig") + use("williamboman/nvim-lsp-installer") + use("glepnir/lspsaga.nvim") + use("nvim-lua/lsp-status.nvim") + --use({ + -- "glepnir/lspsaga.nvim", + -- branch = "main", + -- config = function() + -- local saga = require("lspsaga") + + -- saga.init_lsp_saga({ + -- -- your configuration + -- }) + -- end, + --}) + -- use("nvim-lua/popup.nvim") + use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins + use("jose-elias-alvarez/null-ls.nvim") + use({ + "SmiteshP/nvim-navic", + requires = "neovim/nvim-lspconfig", + }) + --use("SmiteshP/nvim-gps") + -- autocomplete plugins + use("hrsh7th/nvim-cmp") + use("hrsh7th/cmp-nvim-lsp") + use("hrsh7th/cmp-buffer") + use("hrsh7th/cmp-path") + use("hrsh7th/cmp-cmdline") + use("onsails/lspkind-nvim") + use("saadparwaiz1/cmp_luasnip") + + -- snippets + use("L3MON4D3/LuaSnip") --snippet engine + use("rafamadriz/friendly-snippets") -- a bunch of snippets to use + --use("github/copilot.vim") + --use({ + --"zbirenbaum/copilot.lua", + --event = { "VimEnter" }, + --config = function() + --vim.defer_fn(function() + --require("plugins.copilot") + --end, 100) + --end, + --}) + --use({ + --"zbirenbaum/copilot-cmp", + --module = "copilot_cmp", + --}) + + -- treesitter plugins + use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) --folding, jumping, refactoring... + use("nvim-treesitter/nvim-treesitter-refactor") + use("nvim-treesitter/nvim-treesitter-context") + --use({ + -- "danymat/neogen", + -- config = function() + -- require("neogen").setup({ snippet_engine = "luasnip" }) + -- end, + -- requires = "nvim-treesitter/nvim-treesitter", + --}) + use({ "junegunn/fzf", run = ":call fzf#install()" }) + -- telescope plugins + use("nvim-telescope/telescope.nvim") + use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) + use("tami5/sqlite.lua") + use("nvim-telescope/telescope-frecency.nvim") + use("nvim-telescope/telescope-ui-select.nvim") + use("nvim-telescope/telescope-media-files.nvim") + use("nvim-telescope/telescope-file-browser.nvim") + -- search emoji and other symbols + use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) + -- statusline plugins + --use("nvim-lualine/lualine.nvim") + use({ + "nvim-lualine/lualine.nvim", + requires = { "kyazdani42/nvim-web-devicons", opt = true }, + }) + --use({ + -- "folke/trouble.nvim", + -- requires = "kyazdani42/nvim-web-devicons", + -- config = function() + -- require("trouble").setup({ + -- -- your configuration comes here + -- -- or leave it empty to use the default settings + -- -- refer to the configuration section below + -- }) + -- end, + --}) + use("rebelot/heirline.nvim") + --use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" }) + --use("itchyny/lightline.vim") + -- debug plugins + --use("puremourning/vimspector") + use("mfussenegger/nvim-dap") + use("rcarriga/nvim-dap-ui") + --use({ + -- "rcarriga/neotest", + -- requires = { + -- "nvim-lua/plenary.nvim", + -- "nvim-treesitter/nvim-treesitter", + -- "antoinemadec/FixCursorHold.nvim", + -- "rcarriga/neotest-python", + -- "rcarriga/neotest-vim-test", + -- "rcarriga/neotest-plenary", + -- "vim-test/vim-test", + -- }, + -- config = function() + -- require("plugins.neotest") + -- end, + --}) + --use("vim-test/vim-test") + --use({ + -- "rcarriga/vim-ultest", + -- requires = { "vim-test/vim-test" }, + -- run = ":UpdateRemotePlugins", + -- config = function() + -- require("plugins.ultest") + -- end, + --}) + -- UI + use("karb94/neoscroll.nvim") + use("folke/which-key.nvim") + use("folke/lsp-colors.nvim") + use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client + use("norcalli/nvim-colorizer.lua") + use("folke/zen-mode.nvim") + use("romainl/vim-cool") + --use("p00f/nvim-ts-rainbow") + --use("goolord/alpha-nvim") + --use("feline-nvim/feline.nvim") + --use({ "fgheng/winbar.nvim" }) + --use("vim-airline/vim-airline") + --use("kdheepak/tabline.nvim") + -- use({ + -- "kdheepak/tabline.nvim", + -- config = function() + -- require("tabline").setup({ enable = false }) + -- end, + -- requires = { "hoob3rt/lualine.nvim", "kyazdani42/nvim-web-devicons" }, + -- notification plugin + use("rcarriga/nvim-notify") + --use("lukas-reineke/indent-blankline.nvim") + use("kyazdani42/nvim-web-devicons") + -- Colorschemes + use("Mofiqul/vscode.nvim") + use("gruvbox-community/gruvbox") + use("srcery-colors/srcery-vim") + use("tomasr/molokai") + use("ayu-theme/ayu-vim") + --use("sjl/badwolf") + use("joshdick/onedark.vim") + use("folke/tokyonight.nvim") + use("everblush/everblush.nvim") + use("sainnhe/edge") + use("EdenEast/nightfox.nvim") + use("bluz71/vim-nightfly-guicolors") + --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" }) + use("jacoborus/tender.vim") + use("sainnhe/sonokai") + use("NTBBloodbath/doom-one.nvim") + + -- Utilities + use("nathom/filetype.nvim") + use("christoomey/vim-tmux-navigator") + --use("preservim/vimux") + use("myusuf3/numbers.vim") + use("windwp/nvim-autopairs") + use("lewis6991/gitsigns.nvim") + use("dinhhuy258/git.nvim") -- For git blame & browse + use("kyazdani42/nvim-tree.lua") + use("numToStr/Comment.nvim") + use("akinsho/toggleterm.nvim") + --use("godlygeek/tabular") + --use("Vonr/align.nvim") + --use("junegunn/vim-easy-align") + --use("dstein64/vim-startuptime") + use("tweekmonster/startuptime.vim") + use("lewis6991/impatient.nvim") + -- use("luukvbaal/stabilize.nvim") + --use({ + -- "ggandor/leap.nvim", + -- config = function() + -- require("leap").set_default_keymaps() + -- end, + --}) + --use("Shatur/neovim-session-manager") + --use("rmagatti/auto-session") + --use("rmagatti/session-lens") + --use("ahmedkhalf/project.nvim") + --use("aserowy/tmux.nvim") + --use("wakatime/vim-wakatime") + --use("tpope/vim-eunuch") + -- Handy unix command inside Vim (Rename, Move etc.) + use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) + --use("tpope/vim-fugitive") + --use("tpope/vim-surround") + --use("tpope/vim-obsession") + --use("tpope/vim-unimpaired") + --use("voldikss/vim-floaterm") + --use("vimpostor/vim-tpipeline") + --use({ + -- "vimwiki/vimwiki", + -- config = function() + -- vim.g.vimwiki_list = { + -- { + -- path = "~/", + -- syntax = "markdown", + -- ext = ".md", + -- }, + -- } + -- vim.g.vimwiki_ext2syntax = { + -- [".md"] = "markdown", + -- [".markdown"] = "markdown", + -- [".mdown"] = "markdown", + -- Automatically set up your configuration after cloning packer.nvim + -- Put this at the end after all plugins + if PACKER_BOOTSTRAP then + require("packer").sync() + end +end) diff --git a/lua/plugins/airline.lua b/lua/plugins/airline.lua new file mode 100644 index 0000000..76f3655 --- /dev/null +++ b/lua/plugins/airline.lua @@ -0,0 +1,9 @@ +-- airline +vim.cmd([[ + let g:airline#extensions#tabline#enabled = 1 + let g:airline#extensions#tabline#show_buffers = 1 + let g:airline_powerline_fonts = 1 + let g:airline#extensions#tabline#buffer_nr_show = 1 + let g:airline#extensions#tagbar#enabled = 0 + let g:airline_theme='onedark' +]]) diff --git a/lua/plugins/autopairs.lua b/lua/plugins/autopairs.lua new file mode 100644 index 0000000..577e571 --- /dev/null +++ b/lua/plugins/autopairs.lua @@ -0,0 +1,33 @@ +-- Setup nvim-cmp. +local status_ok, npairs = pcall(require, "nvim-autopairs") +if not status_ok then + return +end + +npairs.setup { + check_ts = true, + ts_config = { + lua = { "string", "source" }, + javascript = { "string", "template_string" }, + java = false, + }, + disable_filetype = { "TelescopePrompt", "spectre_panel" }, + fast_wrap = { + map = "", + chars = { "{", "[", "(", '"', "'" }, + pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), + offset = 0, -- Offset from pattern match + end_key = "$", + keys = "qwertyuiopzxcvbnmasdfghjkl", + check_comma = true, + highlight = "PmenuSel", + highlight_grey = "LineNr", + }, +} + +local cmp_autopairs = require "nvim-autopairs.completion.cmp" +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end +cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } }) diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua new file mode 100644 index 0000000..6488f29 --- /dev/null +++ b/lua/plugins/bufferline.lua @@ -0,0 +1,323 @@ +require("bufferline").setup({ + options = { + numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, + close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + --indicator = { + -- icon = '', -- this should be omitted if indicator style is not 'icon' + -- style = 'icon', -- | 'underline' | 'none', + --}, + --indicator_icon = " ", + --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + modified_icon = '●', + left_trunc_marker = "", + right_trunc_marker = "", + show_buffer_close_icons = true, + --diagnostics = "nvim_lsp", + diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", + diagnostics_update_in_insert = false, + buffer_close_icon = "", + separator_style = "thin", + enforce_regular_tabs = true, + always_show_bufferline = true, + max_name_length = 25, + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + highlight = "StatusLine", + text_align = "center", + }, + }, + custom_areas = { + right = function() + local result = {} + local error = vim.diagnostic.get_count(0, [[Error]]) + local warning = vim.diagnostic.get_count(0, [[Warning]]) + local info = vim.diagnostic.get_count(0, [[Information]]) + local hint = vim.diagnostic.get_count(0, [[Hint]]) + + if error ~= 0 then + result[1] = { text = "  " .. error, fg = "#EC5241" } + end + + if warning ~= 0 then + result[2] = { text = "  " .. warning, fg = "#EFB839" } + end + + if hint ~= 0 then + result[3] = { text = "  " .. hint, fg = "#A3BA5E" } + end + + if info ~= 0 then + result[4] = { text = "  " .. info, fg = "#7EA9A7" } + end + + return result + end, + }, + }, + highlights = { + background = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab_selected = { + fg = "#fdf6e3", + bg = "#002b36", + --fg = tabline_sel_bg, + }, + tab_close = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_selected = { + fg = "002b36", + bg = "#fdf6e3", + bold = true, + italic = true, + }, + numbers = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + hint = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + hint_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + error = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + error_diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + modified = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + duplicate_selected = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true, + }, + duplicate_visible = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + duplicate = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + separator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator = { + fg = "#fdf6e3", + bg = "#002b36", + }, + indicator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + pick_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick_visible = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + --offset_separator = { + -- fg = win_separator_fg, + -- bg = separator_background_color, + --}, + } +}) diff --git a/lua/plugins/bufferline.lua-202209041657.backup b/lua/plugins/bufferline.lua-202209041657.backup new file mode 100644 index 0000000..1d45e5f --- /dev/null +++ b/lua/plugins/bufferline.lua-202209041657.backup @@ -0,0 +1,322 @@ +require("bufferline").setup({ + options = { + numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, + close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + --indicator = { + -- icon = '', -- this should be omitted if indicator style is not 'icon' + -- style = 'icon', -- | 'underline' | 'none', + --}, + --indicator_icon = " ", + --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + modified_icon = '●', + left_trunc_marker = "", + right_trunc_marker = "", + show_buffer_close_icons = true, + --diagnostics = "nvim_lsp", + diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", + diagnostics_update_in_insert = false, + buffer_close_icon = "", + separator_style = "slant", + enforce_regular_tabs = true, + always_show_bufferline = true, + max_name_length = 25, + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + highlight = "StatusLine", + text_align = "center", + }, + }, + custom_areas = { + right = function() + local result = {} + local error = vim.diagnostic.get_count(0, [[Error]]) + local warning = vim.diagnostic.get_count(0, [[Warning]]) + local info = vim.diagnostic.get_count(0, [[Information]]) + local hint = vim.diagnostic.get_count(0, [[Hint]]) + + if error ~= 0 then + result[1] = { text = "  " .. error, fg = "#EC5241" } + end + + if warning ~= 0 then + result[2] = { text = "  " .. warning, fg = "#EFB839" } + end + + if hint ~= 0 then + result[3] = { text = "  " .. hint, fg = "#A3BA5E" } + end + + if info ~= 0 then + result[4] = { text = "  " .. info, fg = "#7EA9A7" } + end + + return result + end, + }, + }, + highlights = { + background = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab_selected = { + fg = tabline_sel_bg, + bg = "#002b36", + }, + tab_close = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_selected = { + fg = normal_fg, + bg = "#002b36", + bold = true, + italic = true, + }, + numbers = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + hint = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + hint_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + error = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + error_diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + modified = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + duplicate_selected = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true, + }, + duplicate_visible = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + duplicate = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + separator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator = { + fg = "#fdf6e3", + bg = "#002b36", + }, + indicator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + pick_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick_visible = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + --offset_separator = { + -- fg = win_separator_fg, + -- bg = separator_background_color, + --}, + } +}) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua new file mode 100644 index 0000000..39c08d7 --- /dev/null +++ b/lua/plugins/cmp.lua @@ -0,0 +1,134 @@ +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end + +local lspkind = require("lspkind") +cmp.setup({ + formatting = { + format = lspkind.cmp_format({ + mode = "symbol", -- show only symbol annotations + maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) + + -- The function below will be called before any actual modifications from lspkind + -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) + before = function(entry, vim_item) + --... + return vim_item + end, + }), + }, +}) + +require("luasnip/loaders/from_vscode").lazy_load() + +--   פּ ﯟ  some other good icons +local kind_icons = { + Text = "", + Method = "", + Function = "", + Constructor = "⚙️", + Field = "", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "", + Event = "", + Operator = "", + TypeParameter = "", +} + +-- find more here: https://www.nerdfonts.com/cheat-sheet + +cmp.setup({ + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.close(), + [""] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }), + }), + sources = cmp.config.sources({ + { name = "path" }, + { name = "nvim_lsp", keyword_length = 3 }, + { name = "buffer", keyword_length = 3 }, + { name = "luasnip", keyword_length = 4 }, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this + --{name = 'luasnip', keyword_length = 2}, + }), + formatting = { + fields = { "kind", "abbr", "menu" }, + format = function(entry, vim_item) + -- Kind icons + vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + vim_item.menu = ({ + nvim_lsp = "[LSP]", + luasnip = "[Snippet]", + buffer = "[Buffer]", + path = "[Path]", + })[entry.source.name] + return vim_item + end, + }, + confirm_opts = { + behavior = cmp.ConfirmBehavior.Replace, + select = false, + }, + window = { + documentation = { + border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + }, + }, + experimental = { + ghost_text = true, + native_menu = false, + --view = { + -- entries = "native" + --}, + }, +}) + +vim.cmd([[ + set completeopt=menuone,noinsert,noselect + highlight! default link CmpItemKind CmpItemMenuDefault +]]) + +cmp.setup.cmdline("/", { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, +}) + +cmp.setup.cmdline(":", { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = "path" }, + }, { + { name = "cmdline" }, + }), +}) diff --git a/lua/plugins/colorizer.lua b/lua/plugins/colorizer.lua new file mode 100644 index 0000000..14d25e2 --- /dev/null +++ b/lua/plugins/colorizer.lua @@ -0,0 +1,6 @@ +local status, colorizer = pcall(require, "colorizer") +if (not status) then return end + +colorizer.setup({ + '*'; +}) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..a7653e2 --- /dev/null +++ b/lua/plugins/colorscheme.lua @@ -0,0 +1,29 @@ +-- Colorscheme +-- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly +local colorscheme = "onedark" +local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) +if not status_ok then + vim.notify("colorscheme " .. colorscheme .. " not found!") + return +end + +vim.api.nvim_command("syntax on") +vim.api.nvim_command("highlight Normal guibg=none") +vim.api.nvim_command("highlight SignColumn guibg=none") +vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight TabLine guibg=none gui=bold") +vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") +vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") +vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") +vim.api.nvim_command("highlight WinBar guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") + +require("notify").setup({ + background_colour = "#000000", +}) diff --git a/lua/plugins/feline.lua b/lua/plugins/feline.lua new file mode 100644 index 0000000..f259108 --- /dev/null +++ b/lua/plugins/feline.lua @@ -0,0 +1,726 @@ +require('feline').setup() +--local lsp = require("feline.providers.lsp") +--local vi_mode_utils = require("feline.providers.vi_mode") +--local navic = require("nvim-navic") +-- +--local force_inactive = { +-- filetypes = {}, +-- buftypes = {}, +-- bufnames = {}, +--} +-- +--local winbar_components = { +-- active = { {}, {}, {} }, +-- inactive = { {}, {}, {} }, +--} +-- +--local components = { +-- active = { {}, {}, {} }, +-- inactive = { {}, {}, {} }, +--} +-- +--local colors = { +-- bg = "#282828", +-- black = "#282828", +-- yellow = "#d8a657", +-- cyan = "#89b482", +-- oceanblue = "#45707a", +-- green = "#a9b665", +-- orange = "#e78a4e", +-- violet = "#d3869b", +-- magenta = "#c14a4a", +-- white = "#a89984", +-- fg = "#a89984", +-- skyblue = "#7daea3", +-- red = "#ea6962", +--} +-- +--local vi_mode_colors = { +-- NORMAL = "green", +-- OP = "green", +-- INSERT = "red", +-- CONFIRM = "red", +-- VISUAL = "skyblue", +-- LINES = "skyblue", +-- BLOCK = "skyblue", +-- REPLACE = "violet", +-- ["V-REPLACE"] = "violet", +-- ENTER = "cyan", +-- MORE = "cyan", +-- SELECT = "orange", +-- COMMAND = "green", +-- SHELL = "green", +-- TERM = "green", +-- NONE = "yellow", +--} +-- +--local vi_mode_text = { +-- NORMAL = "<|", +-- OP = "<|", +-- INSERT = "|>", +-- VISUAL = "<>", +-- LINES = "<>", +-- BLOCK = "<>", +-- REPLACE = "<>", +-- ["V-REPLACE"] = "<>", +-- ENTER = "<>", +-- MORE = "<>", +-- SELECT = "<>", +-- COMMAND = "<|", +-- SHELL = "<|", +-- TERM = "<|", +-- NONE = "<>", +-- CONFIRM = "|>", +--} +-- +--local buffer_not_empty = function() +-- if vim.fn.empty(vim.fn.expand("%:t")) ~= 1 then +-- return true +-- end +-- return false +--end +-- +--local checkwidth = function() +-- local squeeze_width = vim.fn.winwidth(0) / 2 +-- if squeeze_width > 40 then +-- return true +-- end +-- return false +--end +-- +--force_inactive.filetypes = { +-- "NvimTree", +-- "dbui", +-- "packer", +-- "startify", +-- "fugitive", +-- "fugitiveblame", +--} +-- +--force_inactive.buftypes = { +-- "terminal", +--} +-- +---- STATUSLINE +---- LEFT +-- +---- vi-mode +--components.active[1][1] = { +-- provider = " NV-IDE ", +-- hl = function() +-- local val = {} +-- +-- val.bg = vi_mode_utils.get_mode_color() +-- val.fg = "black" +-- val.style = "bold" +-- +-- return val +-- end, +-- right_sep = " ", +--} +---- vi-symbol +--components.active[1][2] = { +-- provider = function() +-- return vi_mode_text[vi_mode_utils.get_vim_mode()] +-- end, +-- hl = function() +-- local val = {} +-- val.fg = vi_mode_utils.get_mode_color() +-- val.bg = "bg" +-- val.style = "bold" +-- return val +-- end, +-- right_sep = " ", +--} +---- filename +--components.active[1][3] = { +-- provider = function() +-- return vim.fn.expand("%:F") +-- end, +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- MID +-- +---- gitBranch +--components.active[2][1] = { +-- provider = "git_branch", +-- hl = { +-- fg = "yellow", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- diffAdd +--components.active[2][2] = { +-- provider = "git_diff_added", +-- hl = { +-- fg = "green", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- diffModfified +--components.active[2][3] = { +-- provider = "git_diff_changed", +-- hl = { +-- fg = "orange", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- diffRemove +--components.active[2][4] = { +-- provider = "git_diff_removed", +-- hl = { +-- fg = "red", +-- bg = "bg", +-- style = "bold", +-- }, +--} +-- +---- RIGHT +-- +---- fileIcon +--components.active[3][1] = { +-- provider = function() +-- local filename = vim.fn.expand("%:t") +-- local extension = vim.fn.expand("%:e") +-- local icon = require("nvim-web-devicons").get_icon(filename, extension) +-- if icon == nil then +-- icon = "" +-- end +-- return icon +-- end, +-- hl = function() +-- local val = {} +-- local filename = vim.fn.expand("%:t") +-- local extension = vim.fn.expand("%:e") +-- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) +-- if icon ~= nil then +-- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") +-- else +-- val.fg = "white" +-- end +-- val.bg = "bg" +-- val.style = "bold" +-- return val +-- end, +-- right_sep = " ", +--} +---- fileType +--components.active[3][2] = { +-- provider = "file_type", +-- hl = function() +-- local val = {} +-- local filename = vim.fn.expand("%:t") +-- local extension = vim.fn.expand("%:e") +-- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) +-- if icon ~= nil then +-- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") +-- else +-- val.fg = "white" +-- end +-- val.bg = "bg" +-- val.style = "bold" +-- return val +-- end, +-- right_sep = " ", +--} +---- fileSize +--components.active[3][3] = { +-- provider = "file_size", +-- enabled = function() +-- return vim.fn.getfsize(vim.fn.expand("%:t")) > 0 +-- end, +-- hl = { +-- fg = "skyblue", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- fileFormat +--components.active[3][4] = { +-- provider = function() +-- return "" .. vim.bo.fileformat:upper() .. "" +-- end, +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- fileEncode +--components.active[3][5] = { +-- provider = "file_encoding", +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +--components.active[3][6] = { +-- provider = "position", +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- linePercent +--components.active[3][7] = { +-- provider = "line_percentage", +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- scrollBar +--components.active[3][8] = { +-- provider = "scroll_bar", +-- hl = { +-- fg = "yellow", +-- bg = "bg", +-- }, +--} +-- +---- INACTIVE +-- +---- fileType +--components.inactive[1][1] = { +-- provider = "file_type", +-- hl = { +-- fg = "black", +-- bg = "cyan", +-- style = "bold", +-- }, +-- left_sep = { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- right_sep = { +-- { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- " ", +-- }, +--} +-- +---- WINBAR +---- LEFT +-- +---- nvimGps +--winbar_components.active[1][1] = { +-- provider = function() +-- return navic.get_location() +-- end, +-- enabled = function() +-- return navic.is_available() +-- end, +-- hl = { +-- fg = "orange", +-- style = "bold", +-- }, +--} +-- +---- MID +-- +---- RIGHT +-- +---- LspName +--winbar_components.active[3][1] = { +-- provider = "lsp_client_names", +-- hl = { +-- fg = "yellow", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- diagnosticErrors +--winbar_components.active[3][2] = { +-- provider = "diagnostic_errors", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.ERROR) +-- end, +-- hl = { +-- fg = "red", +-- style = "bold", +-- }, +--} +---- diagnosticWarn +--winbar_components.active[3][3] = { +-- provider = "diagnostic_warnings", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.WARN) +-- end, +-- hl = { +-- fg = "yellow", +-- style = "bold", +-- }, +--} +---- diagnosticHint +--winbar_components.active[3][4] = { +-- provider = "diagnostic_hints", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.HINT) +-- end, +-- hl = { +-- fg = "cyan", +-- style = "bold", +-- }, +--} +---- diagnosticInfo +--winbar_components.active[3][5] = { +-- provider = "diagnostic_info", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.INFO) +-- end, +-- hl = { +-- fg = "skyblue", +-- style = "bold", +-- }, +--} +-- +---- INACTIVE +-- +---- fileType +--winbar_components.inactive[1][1] = { +-- provider = "file_type", +-- hl = { +-- fg = "black", +-- bg = "cyan", +-- style = "bold", +-- }, +-- left_sep = { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- right_sep = { +-- { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- " ", +-- }, +--} +-- +--require("feline").setup({ +-- theme = colors, +-- default_bg = bg, +-- default_fg = fg, +-- vi_mode_colors = vi_mode_colors, +-- components = components, +-- force_inactive = force_inactive, +--}) +-- +--require("feline").winbar.setup({ +-- components = winbar_components, +-- force_inactive = force_inactive, +--}) +----local M = { vi = {} } +---- +---- +----M.vi.text = { +---- n = "NORMAL", +---- no = "NORMAL", +---- i = "INSERT", +---- v = "VISUAL", +---- V = "V-LINE", +---- [""] = "V-BLOCK", +---- c = "COMMAND", +---- cv = "COMMAND", +---- ce = "COMMAND", +---- R = "REPLACE", +---- Rv = "REPLACE", +---- s = "SELECT", +---- S = "SELECT", +---- [""] = "SELECT", +---- t = "TERMINAL", +----} +---- +----M.vi.colors = { +---- n = "FlnViCyan", +---- no = "FlnViCyan", +---- i = "FlnStatus", +---- v = "FlnViMagenta", +---- V = "FlnViMagenta", +---- [""] = "FlnViMagenta", +---- R = "FlnViRed", +---- Rv = "FlnViRed", +---- r = "FlnViBlue", +---- rm = "FlnViBlue", +---- s = "FlnViMagenta", +---- S = "FlnViMagenta", +---- [""] = "FelnMagenta", +---- c = "FlnViYellow", +---- ["!"] = "FlnViBlue", +---- t = "FlnViBlue", +----} +---- +----M.vi.sep = { +---- n = "FlnCyan", +---- no = "FlnCyan", +---- i = "FlnStatusBg", +---- v = "FlnMagenta", +---- V = "FlnMagenta", +---- [""] = "FlnMagenta", +---- R = "FlnRed", +---- Rv = "FlnRed", +---- r = "FlnBlue", +---- rm = "FlnBlue", +---- s = "FlnMagenta", +---- S = "FlnMagenta", +---- [""] = "FelnMagenta", +---- c = "FlnYellow", +---- ["!"] = "FlnBlue", +---- t = "FlnBlue", +----} +---- +----M.icons = { +---- locker = "", -- #f023 +---- page = "☰", -- 2630 +---- line_number = "", -- e0a1 +---- connected = "", -- f817 +---- dos = "", -- e70f +---- unix = "", -- f17c +---- mac = "", -- f179 +---- mathematical_L = "𝑳", +---- vertical_bar = "┃", +---- vertical_bar_thin = "│", +---- left = "", +---- right = "", +---- block = "█", +---- left_filled = "", +---- right_filled = "", +---- slant_left = "", +---- slant_left_thin = "", +---- slant_right = "", +---- slant_right_thin = "", +---- slant_left_2 = "", +---- slant_left_2_thin = "", +---- slant_right_2 = "", +---- slant_right_2_thin = "", +---- left_rounded = "", +---- left_rounded_thin = "", +---- right_rounded = "", +---- right_rounded_thin = "", +---- circle = "●", +----} +---- +----return M +------ Feline statusline definition. +------ +------ Note: This statusline does not define any colors. Instead the statusline is +------ built on custom highlight groups that I define. The colors for these +------ highlight groups are pulled from the current colorscheme applied. Check the +------ file: `lua/eden/modules/ui/colors.lua` to see how they are defined. +---- +----local u = require("eden.modules.ui.feline.util") +----local fmt = string.format +---- +------ "┃", "█", "", "", "", "", "", "", "●" +---- +----local get_diag = function(str) +---- local count = vim.lsp.diagnostic.get_count(0, str) +---- return (count > 0) and " " .. count .. " " or "" +----end +---- +----local function vi_mode_hl() +---- return u.vi.colors[vim.fn.mode()] or "FlnViBlack" +----end +---- +----local function vi_sep_hl() +---- return u.vi.sep[vim.fn.mode()] or "FlnBlack" +----end +---- +----local c = { +---- vimode = { +---- provider = function() +---- return string.format(" %s ", u.vi.text[vim.fn.mode()]) +---- end, +---- hl = vi_mode_hl, +---- right_sep = { str = " ", hl = vi_sep_hl }, +---- }, +---- gitbranch = { +---- provider = "git_branch", +---- icon = " ", +---- hl = "FlnGitBranch", +---- right_sep = { str = " ", hl = "FlnGitBranch" }, +---- enabled = function() +---- return vim.b.gitsigns_status_dict ~= nil +---- end, +---- }, +---- file_type = { +---- provider = function() +---- return fmt(" %s ", vim.bo.filetype:upper()) +---- end, +---- hl = "FlnAlt", +---- }, +---- fileinfo = { +---- provider = { name = "file_info", opts = { type = "relative" } }, +---- hl = "FlnAlt", +---- left_sep = { str = " ", hl = "FlnAltSep" }, +---- right_sep = { str = "", hl = "FlnAltSep" }, +---- }, +---- file_enc = { +---- provider = function() +---- local os = u.icons[vim.bo.fileformat] or "" +---- return fmt(" %s %s ", os, vim.bo.fileencoding) +---- end, +---- hl = "StatusLine", +---- left_sep = { str = u.icons.left_filled, hl = "FlnAltSep" }, +---- }, +---- cur_position = { +---- provider = function() +---- -- TODO: What about 4+ diget line numbers? +---- return fmt(" %3d:%-2d ", unpack(vim.api.nvim_win_get_cursor(0))) +---- end, +---- hl = vi_mode_hl, +---- left_sep = { str = u.icons.left_filled, hl = vi_sep_hl }, +---- }, +---- cur_percent = { +---- provider = function() +---- return " " .. require("feline.providers.cursor").line_percentage() .. " " +---- end, +---- hl = vi_mode_hl, +---- left_sep = { str = u.icons.left, hl = vi_mode_hl }, +---- }, +---- default = { -- needed to pass the parent StatusLine hl group to right hand side +---- provider = "", +---- hl = "StatusLine", +---- }, +---- lsp_status = { +---- provider = function() +---- return require("lsp-status").status() +---- end, +---- hl = "FlnStatus", +---- left_sep = { str = "", hl = "FlnStatusBg", always_visible = true }, +---- right_sep = { str = "", hl = "FlnErrorStatus", always_visible = true }, +---- }, +---- lsp_error = { +---- provider = function() +---- return get_diag("Error") +---- end, +---- hl = "FlnError", +---- right_sep = { str = "", hl = "FlnWarnError", always_visible = true }, +---- }, +---- lsp_warn = { +---- provider = function() +---- return get_diag("Warning") +---- end, +---- hl = "FlnWarn", +---- right_sep = { str = "", hl = "FlnInfoWarn", always_visible = true }, +---- }, +---- lsp_info = { +---- provider = function() +---- return get_diag("Information") +---- end, +---- hl = "FlnInfo", +---- right_sep = { str = "", hl = "FlnHintInfo", always_visible = true }, +---- }, +---- lsp_hint = { +---- provider = function() +---- return get_diag("Hint") +---- end, +---- hl = "FlnHint", +---- right_sep = { str = "", hl = "FlnBgHint", always_visible = true }, +---- }, +---- +---- in_fileinfo = { +---- provider = "file_info", +---- hl = "StatusLine", +---- }, +---- in_position = { +---- provider = "position", +---- hl = "StatusLine", +---- }, +----} +---- +----local active = { +---- { -- left +---- c.vimode, +---- c.gitbranch, +---- c.fileinfo, +---- c.default, -- must be last +---- }, +---- { -- right +---- c.lsp_status, +---- c.lsp_error, +---- c.lsp_warn, +---- c.lsp_info, +---- c.lsp_hint, +---- c.file_type, +---- c.file_enc, +---- c.cur_position, +---- c.cur_percent, +---- }, +----} +---- +----local inactive = { +---- { c.in_fileinfo }, -- left +---- { c.in_position }, -- right +----} +---- +------ -- Define autocmd that generates the highlight groups from the new colorscheme +------ -- Then reset the highlights for feline +------ edn.aug.FelineColorschemeReload = { +------ { +------ { "SessionLoadPost", "ColorScheme" }, +------ function() +------ require("eden.modules.ui.feline.colors").gen_highlights() +------ -- This does not look like it is required. If this is called I see the ^^^^^^ that +------ -- seperates the two sides of the bar. Since the entire config uses highlight groups +------ -- all that is required is to redefine them. +------ -- require("feline").reset_highlights() +------ end, +------ }, +------ } +---- +----require("feline").setup({ +---- components = { active = active, inactive = inactive }, +---- highlight_reset_triggers = {}, +---- force_inactive = { +---- filetypes = { +---- "NvimTree", +---- "packer", +---- "dap-repl", +---- "dapui_scopes", +---- "dapui_stacks", +---- "dapui_watches", +---- "dapui_repl", +---- "LspTrouble", +---- "qf", +---- "help", +---- }, +---- buftypes = { "terminal" }, +---- bufnames = {}, +---- }, +---- disable = { +---- filetypes = { +---- "dashboard", +---- "startify", +---- }, +---- }, +----}) diff --git a/lua/plugins/floaterm.lua b/lua/plugins/floaterm.lua new file mode 100644 index 0000000..ea554af --- /dev/null +++ b/lua/plugins/floaterm.lua @@ -0,0 +1,6 @@ +vim.cmd([[ + let g:floaterm_keymap_new = 't' + let g:floaterm_keymap_prev = 'tn' + let g:floaterm_keymap_next = 'tp' + let g:floaterm_keymap_toggle = 'tt' +]]) diff --git a/lua/plugins/fzf.lua b/lua/plugins/fzf.lua new file mode 100644 index 0000000..4195cd6 --- /dev/null +++ b/lua/plugins/fzf.lua @@ -0,0 +1,66 @@ +vim.cmd([[ + " FZF fuzzy finder + "--------------------------------------- + " Enable per-command history. + " CTRL-N and CTRL-P will be automatically bound to next-history and + " previous-history instead of down and up. If you don't like the change, + " explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS. + let g:fzf_history_dir = '~/.local/share/fzf-history' + map fz :FZF + map a :Files + map l :Lines + map L :BLines + map B :Buffers + map h :History: + nnoremap g :Rg + "nnoremap t :Tags + nnoremap m :Marks + " This is the default extra key bindings + let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-y': 'vsplit' } + let g:fzf_tags_command = 'ctags -R' + " Border color + let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } + let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' + let $FZF_DEFAULT_COMMAND="rg --files --hidden" + " Customize fzf colors to match your color scheme + let g:fzf_colors = + \ { 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Comment'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'Statement'], + \ 'info': ['fg', 'PreProc'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Conditional'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + " Get Files + command! -bang -nargs=? -complete=dir Files + \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) + " Get text in files with Rg + command! -bang -nargs=* Rg + \ call fzf#vim#grep( + \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, + \ fzf#vim#with_preview(), 0) + " Ripgrep advanced + function! RipgrepFzf(query, fullscreen) + let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' + let initial_command = printf(command_fmt, shellescape(a:query)) + let reload_command = printf(command_fmt, '{q}') + let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} + call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) + endfunction + command! -nargs=* -bang RG call RipgrepFzf(, 0) + " Git grep + command! -bang -nargs=* GGrep + \ call fzf#vim#grep( + \ 'git grep --line-number '.shellescape(), 0, + \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) + command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) +]]) diff --git a/lua/plugins/git.lua b/lua/plugins/git.lua new file mode 100644 index 0000000..963f7f9 --- /dev/null +++ b/lua/plugins/git.lua @@ -0,0 +1,11 @@ +local status, git = pcall(require, "git") +if (not status) then return end + +git.setup({ + keymaps = { + -- Open blame window + blame = "gb", + -- Open file/folder in git repository + browse = "go", + } +}) diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua new file mode 100644 index 0000000..53d1a1e --- /dev/null +++ b/lua/plugins/gitsigns.lua @@ -0,0 +1 @@ +require('gitsigns').setup {} diff --git a/lua/plugins/heirline.backup.lua b/lua/plugins/heirline.backup.lua new file mode 100644 index 0000000..d65de92 --- /dev/null +++ b/lua/plugins/heirline.backup.lua @@ -0,0 +1,733 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +require("nvim-gps").setup({ + icons = { + ["class-name"] = " ", + ["function-name"] = " ", + ["method-name"] = " ", + ["container-name"] = "炙", + ["tag-name"] = "炙", + }, +}) + +vim.o.laststatus = 3 + +local colors = { + bg = "#333842", + brown = "#504945", + white = "#f8f8f0", + grey = "#8F908A", + black = "#000000", + pink = "#f92672", + green = "#a6e22e", + blue = "#66d9ef", + yellow = "#e6db74", + orange = "#fd971f", + purple = "#ae81ff", + red = "#e95678", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +local ViMode = { + -- get vim current mode, this information will be required by the provider + -- and the highlight functions, so we compute it only once per component + -- evaluation and store it as a component attribute + init = function(self) + self.mode = vim.fn.mode(1) -- :h mode() + end, + -- Now we define some dictionaries to map the output of mode() to the + -- corresponding string and color. We can put these into `static` to compute + -- them at initialisation time. + static = { + mode_names = { + -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + mode_colors = { + n = colors.green, + i = colors.pink, + v = colors.blue, + V = colors.blue, + [""] = colors.blue, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + }, + -- We can now access the value of mode() that, by now, would have been + -- computed by `init()` and use it to index our strings dictionary. + -- note how `static` fields become just regular attributes once the + -- component is instantiated. + -- To be extra meticulous, we can also add some vim statusline syntax to + -- control the padding and make sure our string is always at least 2 + -- characters long. Plus a nice Icon. + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + -- Same goes for the highlight. Now the foreground will change according to the current mode. + hl = function(self) + local mode = self.mode:sub(1, 1) -- get only the first mode character + return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } + end, +} + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} +-- We can now define some children separately and add them later + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "[No Name]" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return "" + end + end, + hl = { fg = colors.orange }, + }, +} + +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + -- use `force` because we need to override the child's hl foreground + return { fg = colors.cyan, bold = true, force = true, bg = colors.bg } + end + end, +} + +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local Diagnostics = { + condition = conditions.has_diagnostics, + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, +} + +local Git = { + condition = conditions.is_git_repo, + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + hl = { fg = colors.orange, bg = colors.bg }, + { + -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.change, bg = colors.bg }, + }, +} + +local WorkDir = { + provider = function() + local icon = " " + local cwd = vim.fn.getcwd(0) + cwd = vim.fn.fnamemodify(cwd, ":~") + if not conditions.width_percent_below(#cwd, 0.25) then + cwd = vim.fn.pathshorten(cwd) + end + local trail = cwd:sub(-1) == "/" and "" or "/" + return icon .. cwd .. trail + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, +} + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + hl = { bold = true, bg = colors.bg }, +} + +local Ruler = { + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + provider = "%7 %p%% Ln %l, Col %c", +} + +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " " } + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileEncoding = { + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:upper() + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + FileEncoding, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileNameShort = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":t") + if filename == "" then + return "[No Name]" + end + return filename + end, + hl = { fg = colors.gray, bg = colors.bg }, +} + +local FileNameShortBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileNameShortBlock = utils.insert( + FileNameShortBlock, + FileIcon, + FileNameShort, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local Gps = { + condition = require("nvim-gps").is_available, + provider = function() + local loc = require("nvim-gps").get_location() + if loc == "" then + return "" + end + return "> " .. loc + end, + hl = { fg = colors.gray, bg = colors.bg }, +} + +local DefaultStatusline = { + ViMode, + Space, + FileNameBlock, + Space, + Diagnostics, + Align, + Ruler, + Space, + FileInfoBlock, + Space, + Git, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + FileType, + Space, + Align, +} + +local TerminalStatusline = { + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + TerminalName, + Align, +} + +local StatusLines = { + fallthrough = false, + SpecialStatusline, + TerminalStatusline, + DefaultStatusline, +} + +local GSpace = { provider = " ", hl = { bg = colors.bg } } + +local WinBars = { + fallthrough = false, + { + -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix", "nofile", "promt" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + provider = "", + }, + { + -- An inactive winbar for regular files + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) and not conditions.is_active() + end, + utils.surround( + { "", "" }, + colors.bright_bg, + { hl = { fg = "gray", force = true }, GSpace, TerminalName, Align } + ), + }, + { + -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, colors.dark_red, { + GSpace, + TerminalName, + Align, + }), + }, + { + -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround( + { "", "" }, + colors.bright_bg, + { hl = { fg = "gray", force = true }, GSpace, FileNameShortBlock, Align } + ), + }, + -- A winbar for regular files + { GSpace, FileNameShortBlock, GSpace, Gps, Align }, +} + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+]" + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "" + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineDiagnostics = { + static = { + error_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + init = function(self) + self.errors = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.INFO }) + end, + { + provider = function(self) + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + else + return "TabLine" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = true }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineFileIcon, + TablineFileName, + TablineFileFlags, + TablineDiagnostics, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.bo[self.bufnr].modified + end, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLine").bg + end +end, { TablineFileNameBlock, TablineCloseButton }) + +-- and here we go +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + hl = "TabLine", +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +local TabLine = { TabLineOffset, BufferLine, TabPages } + +require("heirline").setup(StatusLines, WinBars, TabLine) + +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +vim.api.nvim_create_augroup("Heirline", { clear = true }) +vim.api.nvim_create_autocmd("ColorScheme", { + callback = function() + local colors = setup_colors() + utils.on_colorscheme(colors) + end, + group = "Heirline", +}) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) diff --git a/lua/plugins/heirline.backup2.lua b/lua/plugins/heirline.backup2.lua new file mode 100644 index 0000000..9f5c4ca --- /dev/null +++ b/lua/plugins/heirline.backup2.lua @@ -0,0 +1,1921 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +-- Colors +--local colors = { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +--} + +--local colors = { +-- gray = '#23232e', +-- lightgray = '#5f6a8e', +-- orange = '#ffb86c', +-- purple = '#bd93f9', +-- red = '#ff5555', +-- yellow = '#f1fa8c', +-- green = '#50fa7b', +-- white = '#f8f8f2', +-- black = '#282a36', +--} +local colors = { + bg = "#333842", + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + brown = "#504945", + white = "#f8f8f0", + grey = "#8F908A", + pink = "#f92672", + --green = "#a6e22e", + green = "#AAD94C", + --blue = "#66d9ef", + blue = "#39BAE6", + yellow = "#e6db74", + --orange = "#fd971f", + orange = "#FA8D3F", + purple = "#ae81ff", + --red = "#e95678", + red = "#F07171", + cyan = "#66d9eC", + mode_fg = "#242424", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +--local mode_lable = { +-- n = 'NORMAL', +-- no = 'OPPEND', +-- nov = 'N?', +-- noV = 'N?', +-- ['no\22'] = 'N?', +-- niI = 'Ni', +-- niR = 'Nr', +-- niV = 'Nv', +-- nt = 'N-TERM', +-- v = 'VISUAL', +-- vs = 'Vs', +-- V = 'V-LINE', +-- Vs = 'Vs', +-- ['\22'] = 'V-BLCK', +-- ['\22s'] = '^V', +-- s = 'SELECT', +-- S = 'S-LINE', +-- ['\19'] = 'S-BLCK', +-- i = 'INSERT', +-- ic = 'ICOMPL', +-- ix = 'Ix', +-- R = 'REPLACE', +-- Rc = 'Rc', +-- Rx = 'Rx', +-- Rv = 'VRPLCE', +-- Rvc = 'Rv', +-- Rvx = 'Rv', +-- c = 'CMMAND', +-- cv = 'PROMPT', +-- r = '...', +-- rm = 'MORE', +-- ['r?'] = 'CNFIRM', +-- ['!'] = 'SHELL', +-- t = 'TERM', +--} +-- +--local mode_colors_table = { +-- n = 'red', +-- no = 'blue', +-- nov = 'blue', +-- noV = 'blue', +-- niI = 'red', +-- niR = 'red', +-- niV = 'red', +-- nt = 'red', +-- v = 'cyan', +-- vs = 'cyan', +-- V = 'cyan', +-- Vs = 'cyan', +-- ['\22'] = 'cyan', +-- ['\22s'] = 'cyan', +-- s = 'purple', +-- S = 'purple', +-- ['\19'] = 'purple', +-- i = 'blue', +-- ic = 'blue', +-- ix = 'blue', +-- R = 'orange', +-- Rc = 'orange', +-- Rx = 'orange', +-- Rv = 'orange', +-- Rvc = 'orange', +-- Rvx = 'orange', +-- c = 'green', +-- cv = 'green', +-- r = 'green', +-- rm = 'green', +-- ['r?'] = 'green', +-- ['!'] = 'red', +-- t = 'red', +--} +-- +--local mode_colors = setmetatable({ +-- n = { fg = 'red' } +--}, { +-- __index = function(_, mode) +-- return { +-- fg = 'mode_fg', +-- bg = mode_colors_table[mode], +-- } +-- end +--}) +-- +-- +--local VimModeNormal = { +-- condition = function(self) +-- return self.mode == 'n' +-- end, +-- provider = ' ●', +--} +-- +--local VimModeOthers = { +-- condition = function(self) +-- return self.mode ~= 'n' +-- end, +-- +-- utils.surround({ '', '' }, +-- function(self) +-- return mode_colors[self.mode].bg +-- end, +-- { +-- { +-- provider = function(self) +-- return '● ' .. mode_lable[self.mode] +-- end, +-- }, +-- hl = function(self) +-- return mode_colors[self.mode] +-- end +-- } +-- ), +--} +-- +--local ViMode = { +-- init = function(self) +-- self.mode = vim.fn.mode(1) +-- end, +-- +-- VimModeNormal, VimModeOthers, +-- +-- update = { 'ModeChanged' } +--} +--local colors = require'kanagawa.colors'.setup() -- wink + +--utils.surround({ "", "" }, function(self) return self:mode_color() end, {Ruler, hl = {fg = 'black'}} ), +-- we are surrounding the component and adjusting the foreground in one go! + +-- ViMode truemode +--local ViMode = { +-- -- get vim current mode, this information will be required by the provider +-- -- and the highlight functions, so we compute it only once per component +-- -- evaluation and store it as a component attribute +-- init = function(self) +-- self.mode = vim.fn.mode(1) -- :h mode() +-- +-- -- execute this only once, this is required if you want the ViMode +-- -- component to be updated on operator pending mode +-- if not self.once then +-- vim.api.nvim_create_autocmd("ModeChanged", { +-- pattern = "*:*o", +-- command = "redrawstatus", +-- }) +-- self.once = true +-- end +-- end, +-- -- Now we define some dictionaries to map the output of mode() to the +-- -- corresponding string and color. We can put these into `static` to compute +-- -- them at initialisation time. +-- static = { +-- mode_names = { -- change the strings if you like it vvvvverbose! +-- ["n"] = "NORMAL ", +-- ["no"] = "N·OPERATOR PENDING ", +-- ["v"] = "VISUAL ", +-- ["V"] = "V·LINE ", +-- [""] = "V·BLOCK ", +-- ["s"] = "SELECT ", +-- ["S"] = "S·LINE ", +-- [""] = "S·BLOCK ", +-- ["i"] = "INSERT ", +-- ["R"] = "REPLACE ", +-- ["Rv"] = "V·REPLACE ", +-- ["c"] = "COMMAND ", +-- ["cv"] = "VIM EX ", +-- ["ce"] = "EX ", +-- ["r"] = "PROMPT ", +-- ["rm"] = "MORE ", +-- ["r?"] = "CONFIRM ", +-- ["!"] = "SHELL ", +-- ["t"] = "TERMINAL ", +-- }, +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- --n = "blue" , +-- --i = "green", +-- --v = "cyan", +-- --V = "cyan", +-- --["\22"] = "cyan", +-- --c = "orange", +-- --s = "purple", +-- --S = "purple", +-- --["\19"] = "purple", +-- --R = "orange", +-- --r = "orange", +-- --["!"] = "red", +-- --t = "red", +-- }, +-- }, +-- -- We can now access the value of mode() that, by now, would have been +-- -- computed by `init()` and use it to index our strings dictionary. +-- -- note how `static` fields become just regular attributes once the +-- -- component is instantiated. +-- -- To be extra meticulous, we can also add some vim statusline syntax to +-- -- control the padding and make sure our string is always at least 2 +-- -- characters long. Plus a nice Icon. +-- provider = function(self) +-- return " %2(" .. self.mode_names[self.mode] .. "%)" +-- --return " %2("..self.mode_names[self.mode].."%)" +-- -- +-- -- +-- -- +-- end, +-- -- Same goes for the highlight. Now the foreground will change according to the current mode. +-- hl = function(self) +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- end, +-- -- Re-evaluate the component only on ModeChanged event! +-- -- This is not required in any way, but it's there, and it's a small +-- -- performance improvement. +-- update = { +-- "ModeChanged", +-- }, --optional +--} +local ViMode = { + static = { + mode_names = { -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color, fg = colors.bg, bold = true } + end, +} + +local ViModeColor = { + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + }, +} + +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} +-- +---- lsp status +---- I personally use it only to display progress messages! +---- See lsp-status/README.md for configuration options. +-- +---- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +--local LSPMessages = { +-- provider = require("lsp-status").status, +-- hl = { fg = "gray" }, +--} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local fill = { provider = "%=", hl = { bg = colors.nobg } } +--local LeftSep = { provider = "" hl = { fg = colors.bg } } +--local RightSep = { provider = "" hl = { fg = colors.bg }} + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + --return { fg = self.icon_color } + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "[No Name]" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return "" + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + -- use `force` because we need to override the child's hl foreground + --return { fg = "cyan", bold = true, force = true } + return { fg = "blue", bold = true, force = true, bg = colors.bg } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + -- return string.upper(vim.bo.filetype) + --end, + ----hl = { fg = utils.get_highlight("Type").fg, bold = true }, + --hl = { fg = utils.get_highlight("Type").fg, bold = true, bg = colors.bg }, + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:upper() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + provider = "%3(%2l%):%c %P", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} +--local ScrollBar = { +-- static = { +-- --sbar = { "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" }, +-- sbar = { "🭶", "🭷", "🭸", "🭹", "🭺", "🭻" }, +-- }, +-- provider = function(self) +-- local curr_line = vim.api.nvim_win_get_cursor(0)[1] +-- local lines = vim.api.nvim_buf_line_count(0) +-- local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1 +-- return string.rep(self.sbar[i], 2) +-- end, +-- --hl = { fg = "blue", bg = "bright_bg" }, +-- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +--} +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%p%%" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + --hl = { fg = "blue", bold = true }, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + --hl = { fg = "blue", bold = true }, + hl = { bold = true, bg = colors.bg }, +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + FileEncoding, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +-- Statusline + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) + +--utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), +local DefaultStatusline = { + ViMode, + Space, + FileNameBlock, + Space, + Git, + Space, + Diagnostics, + Align, + Navic, + DAPMessages, + Align, + Space, + FileInfoBlock, + Space, + WordCount, + Ruler, + Space, + --Position, + --Percentage, + --ScrollBar, + --Space, + --LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +} + +--local InactiveStatusline = { +-- condition = conditions.is_not_active, +-- FileType, +-- Space, +-- FileName, +-- Align, +--} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + FileType, + Space, + Align, + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + hl = { bg = "dark_red" }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + { condition = conditions.is_active, ViMode, Space }, + FileType, + Space, + TerminalName, + Align, +} + +--local StatusLines = { +-- +-- hl = function() +-- if conditions.is_active() then +-- return "StatusLine" +-- else +-- return "StatusLineNC" +-- end +-- end, +-- +-- -- the first statusline with no condition, or which condition returns true is used. +-- -- think of it as a switch case with breaks to stop fallthrough. +-- fallthrough = false, +-- +-- SpecialStatusline, +-- TerminalStatusline, +-- --InactiveStatusline, +-- DefaultStatusline, +--} +local StatusLines = { + + hl = function() + if conditions.is_active() then + return "StatusLine" + else + return "StatusLineNC" + end + end, + + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + --InactiveStatusline, + DefaultStatusline, +} +--hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +-- hl = { bg = colors.bg }, +--require("heirline").setup(StatusLines) +-- we're done. + +--local FelineStyle = { +-- +-- -- stop at child where buftype/filetype/bufname matches +-- fallthrough = false, +-- +-- { -- Identify the buftype/filetype/bufname first +-- condtion = function() +-- return conditions.buffer_matches({...}) +-- end, +-- +-- -- Evaluate only the "active" or "inactive" child +-- fallthrough = false, +-- +-- { -- If it's the current window, display some components +-- condition = conditions.is_active +-- {...} -- +-- }, +-- { -- Otherwise, display some other components +-- {...} -- +-- } +-- }, +-- { -- this block can be exactly as the one above for a different kind of +-- -- buffer +-- ... +-- } +--} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) +local active_middle_segment = { --{{{ + -- provider = "%999X  %X", + + --provider = function(self) + -- --return " %999X %999X " + -- return " %2("..self.mode_names[self.mode].."%)" + -- -- + -- -- + -- -- + --end, + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + --utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), + }, + -- A winbar for regular files + --utils.surround({ "", "" }, "bright_bg", FileNameBlock), + --█🙼🙽🙼█⮘██⮚ + --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = function(self) + -- local color = self:mode_color() -- here! + -- return { bg = color, bold = true, force = true } + --end, + --}), + --utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), +} + +--utils.surround({ "", "" }, function(self) return self:mode_color() end, { active_middle_segment, hl = { fg = colors.bg, force = true } }) + +local WinBars = { + fill, + active_middle_segment, + fill, +} +-- --utils.surround({ " ", " " }, colors.nobg, { fill, active_middle_segment, fill }) +-- --static = { +-- -- mode_colors_map = { +-- -- n = colors.blue, +-- -- i = colors.green, +-- -- v = colors.purple, +-- -- V = colors.purple, +-- -- [""] = colors.purple, +-- -- c = colors.red, +-- -- s = colors.purple, +-- -- S = colors.purple, +-- -- [""] = colors.purple, +-- -- R = colors.orange, +-- -- r = colors.orange, +-- -- ["!"] = colors.red, +-- -- t = colors.red, +-- -- }, +-- -- mode_color = function(self) +-- -- local mode = conditions.is_active() and vim.fn.mode() or "n" +-- -- return self.mode_colors_map[mode] +-- -- end, +-- --}, +-- --utils.surround({ " ", " " }, colors.nobg, { active_middle_segment, hl = function(self) +-- -- local color = self:mode_color() -- here! +-- -- return { bg = color, bold = true, force = true } +-- --end, +-- --}) +--} +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +-- Use it anywhere! +--local WinBarFileName = utils.surround({ "", "" }, "bright_bg", { +-- hl = function() +-- if not conditions.is_active() then +-- return { fg = "gray", force = true } +-- end +-- end, +-- FileNameBlock, +-- Space, +-- CloseButton, +--}) + +--local WinBars = { +-- -- init = utils.pick_child_on_condition, +-- fallthrough = false, +-- { +-- condition = function() +-- return conditions.buffer_matches({ +-- buftype = { "nofile", "prompt", "help", "quickfix" }, +-- filetype = { "^git.*", "fugitive" }, +-- }) +-- end, +-- init = function() +-- vim.opt_local.winbar = nil +-- end, +-- }, +-- { +-- condition = function() +-- return conditions.buffer_matches({ buftype = { "terminal" } }) +-- end, +-- utils.surround({ "", "" }, "dark_red", { +-- FileType, +-- Space, +-- TerminalName, +-- CloseButton, +-- }), +-- }, +-- utils.surround({ "", "" }, "bright_bg", { +-- hl = function() +-- if conditions.is_not_active() then +-- return { fg = "gray", force = true } +-- end +-- end, +-- +-- FileNameBlock, +-- CloseButton, +-- }), +--} + +-- TabLine +--local TabLine ={ +-- hl = { bg = colors.bg }, +--} +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. ". " + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +-- this looks exactly like the FileFlags component that we saw in +-- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly +-- also, we are adding a nice icon for terminal buffers. +--local TablineFileFlags = { +-- { +-- condition = function(self) +-- return vim.api.nvim_buf_get_option(self.bufnr, "modified") +-- end, +-- provider = "[+]", +-- --hl = { fg = colors.green }, +-- hl = { fg = colors.green, bold = true, bg = colors.bg }, +-- }, +-- { +-- condition = function(self) +-- return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable") +-- or vim.api.nvim_buf_get_option(self.bufnr, "readonly") +-- end, +-- provider = function(self) +-- if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then +-- return "  " +-- else +-- return "" +-- end +-- end, +-- hl = { fg = "orange", bg = colors.bg }, +-- }, +--} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+]" + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "" + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLine" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +--local TablineBufferBlock = utils.surround({ "", "", hl = { bg =colors.bg } }, function(self) +-- if self.is_active then +-- return utils.get_highlight("TabLineSel").fg, utils.get_highlight("TabLineSel").bg +-- else +-- return utils.get_highlight("TabLine").fg, utils.get_highlight("TabLine").bg +-- end +----end, { TabLine, TablineFileNameBlock, TablineCloseButton }) +--end, { TablineFileNameBlock, TablineCloseButton }) + +--local TablineBufferBlock = utils.surround({ "█", "█" }, "bg", { +-- hl = function() +-- if not conditions.is_active() then +-- return { fg = "gray", force = true, bg = colors.bg } +-- end +-- end, +-- TablineFileNameBlock, +-- TablineCloseButton, +--}) +--local TablineBufferBlock = utils.surround({ "█", "█" }, +-- { hl = function(self) +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- end, }, +--{ TablineFileNameBlock, TablineCloseButton, { hl = ViMode }, }) + +--local TablineBufferBlock = { +-- init = function(self) +-- +-- self.mode = vim.fn.mode(1) -- :h mode() +-- +-- vim.api.nvim_create_autocmd("ModeChanged", { +-- pattern = "*:*o", +-- command = "redrawstatus", +-- }) +-- self.once = true +-- end, +-- static = { +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- }, +-- hl = function(self) +-- if self.is_active then +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("TabLine").bg +-- end +-- end, +-- update = { +-- "ModeChanged", +-- }, --optional +-- { TablineFileNameBlock, TablineCloseButton } +--} + +--local TabLineSel = { +-- hl = { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +--} +--local ViMode2 = { +-- init = function(self) +-- self.mode = vim.fn.mode() +-- end, +-- static = { +-- mode_colors = { +-- n = "red", +-- i = "green", +-- v = "blue", +-- c = "orange" +-- +-- } +-- }, +-- provider = function(self) +-- return string.upper(self.mode) +-- end, +-- hl = function(self) +-- return { fg = self.mode_colors[self.mode], bold = true, } +-- end +--} +--local surrr = { +-- utils.surround({ "", "" }, "red", { +-- utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), +-- { provider = "Normal" }, +-- }), +--} +--local statusline = ViMode + +--local TablineBufferBlock = utils.surround({ "", "" }, function(self) +-- if self.is_active then +-- --self.mode = vim.fn.mode(1) -- :h mode() +-- +-- --return utils.get_highlight(vim.api.nvim_get_mode().mode).bg +-- return utils.get_highlight("TabLineSel").bg +-- --return utils.get_highlight("Normal").bg +-- --local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { bg = TabLineSel, fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("TabLine").bg +-- end +--end, { TablineFileNameBlock, TablineCloseButton }) + +local TablineBufferBlock = utils.surround({ "█", "▎" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLine").bg + end +end, { TablineFileNameBlock, TablineCloseButton }) +--█ +--local TablineBufferBlock = { +-- init = function(self) +-- self.mode = vim.fn.mode() +-- end, +-- static = { +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- }, +-- hl = function(self) +-- if conditions.is_active() then +-- return { bg = self.mode_colors[self.mode], fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("Tabline").bg +-- end +-- end, +-- update = { +-- "ModeChanged", +-- }, --optional +-- { TablineFileNameBlock, TablineCloseButton }, +--} + +--local TablineBufferBlock = { +-- static = { +-- mode_colors_map = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- mode_color = function(self) +-- local mode = conditions.is_active() and vim.fn.mode() or "n" +-- return self.mode_colors_map[mode] +-- end, +-- }, +-- { -- A special winbar for terminals +-- condition = function() +-- return conditions.buffer_matches({ buftype = { "terminal" } }) +-- end, +-- utils.surround({ "", "" }, "dark_red", { +-- FileType, +-- Space, +-- TerminalName, +-- }), +-- }, +-- { -- An inactive winbar for regular files +-- condition = function() +-- return conditions.is_not_active() +-- end, +-- utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton } ) +-- }, +-- { +-- condition = function() +-- return conditions.is_active() +-- end, +-- utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ) +-- }, +--function() +--if self.is_active then +--utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), +--utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), +--utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ), +--} +--ViMode = utils.surround({ "", "" }, function(self) +-- if self.is_active then +-- return self:mode_color() +-- else +-- return utils.get_highlight("TabLine").bg +-- end +-- end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } ) +-- +----} +--local TablineBufferBlock = { +-- ViMode, +-- TablineFileName, +-- TablineCloseButton, +--} +-- A winbar for regular files +--utils.surround({ "", "" }, "bright_bg", FileNameBlock), +--utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- if self.is_active then +-- return utils.get_highlight("TabLineSel").bg +-- else +-- return utils.get_highlight("TabLine").bg +-- end +--end, { TablineFileNameBlock, TablineCloseButton, } ) +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) +--local StatusLines = { +-- +-- hl = function() +-- if conditions.is_active() then +-- return "StatusLine" +-- else +-- return "StatusLineNC" +-- end +-- end, +-- +-- -- the first statusline with no condition, or which condition returns true is used. +-- -- think of it as a switch case with breaks to stop fallthrough. +-- fallthrough = false, +-- +-- SpecialStatusline, +-- TerminalStatusline, +-- --InactiveStatusline, +-- DefaultStatusline, +--} +-- +-- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +-- hl = { bg = colors.bg }, +--local TabLine ={ +-- hl = { bg = colors.bg }, +--} +-- Window Close button: Let the callback know from which window it was clicked from! +-- The following is the recommended way of achieving that: +require("heirline").setup(StatusLines, WinBars, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +vim.api.nvim_create_augroup("Heirline", { clear = true }) +vim.api.nvim_create_autocmd("ColorScheme", { + callback = function() + local colors = setup_colors() + utils.on_colorscheme(colors) + end, + group = "Heirline", +}) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) +-- Theming +--local function setup_colors() +-- return { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +-- } +--end +--require('heirline').load_colors(setup_colors()) +-- +--vim.api.nvim_create_augroup("Heirline", { clear = true }) +--vim.api.nvim_create_autocmd("ColorScheme", { +-- callback = function() +-- local colors = setup_colors() +-- utils.on_colorscheme(colors) +-- end, +-- group = "Heirline", +--}) diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua new file mode 100644 index 0000000..ae2bf41 --- /dev/null +++ b/lua/plugins/heirline.lua @@ -0,0 +1,1124 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + white = "#f8f8f2", + darkgray = "#23232e", + gray = "#2d2b3a", + lightgray = "#d6d3ea", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + purple = "#BF40BF", + violet = "#7F00FF", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local ViMode = { + init = function(self) + self.mode = vim.fn.mode(1) + if not self.once then + vim.cmd("au ModeChanged *:*o redrawstatus") + end + self.once = true + end, + static = { + mode_names = { + n = "NORMAL ", + no = "N·OPERATOR PENDING ", + nov = "N?", + noV = "N?", + ["no\22"] = "N? ", + niI = "Ni", + niR = "Nr", + niV = "Nv", + nt = "Nt", + v = "VISUAL ", + vs = "Vs", + V = "V·LINE ", + ["\22"] = "V·BLOCK ", + ["\22s"] = "V·BLOCK ", + s = "SELECT ", + S = "S·LINE ", + ["\19"] = "S·BLOCK ", + i = "INSERT ", + ix = "insert x ", + ic = "insert c ", + R = "REPLACE ", + Rc = "Rc", + Rx = "Rx", + Rv = "V·REPLACE ", + Rvc = "Rv", + Rvx = "Rv", + c = "COMMAND ", + cv = "VIM EX ", + ce = "EX ", + r = "PROMPT ", + rm = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + t = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + update = { + "ModeChanged", + }, +} + +-- LSP +local LSPActive = { + condition = conditions.lsp_attached, + update = { "LspAttach", "LspDetach" }, + + provider = function() + local buf_clients = vim.lsp.buf_get_clients() + local buf_client_names = {} + + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" then + table.insert(buf_client_names, client.name) + end + end + return "⚙️ " .. table.concat(buf_client_names, "") + end, + hl = { fg = colors.lightgray, bold = false }, +} + +-- Navic +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = colors.white }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = colors.white }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and (" 柳" .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileNameBlock: FileIcon, FileName and friends +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} + +-- FileIcon, FileName, FileFlags and FileNameModifier +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" -- ±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} + +local FileNameModifier = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + --return fmt ~= "unix" and fmt:upper() + return fmt ~= "unix" and fmt:lower() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = " 暈", + hl = { bold = true, fg = colors.yellow }, +} + +local help_file_name = { + condition = function() + return vim.bo.filetype == "help" + end, + provider = function() + local filename = vim.api.nvim_buf_get_name(0) + return vim.fn.fnamemodify(filename, ":t") + end, + hl = { fg = colors.blue }, +} + +-- Cursor position: Ruler +local Ruler = { + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + --provider = "%6(%l:%1.5c/%L%) ", + --provider = "%3(%l:%1.5c/%L%) ", + --provider = "%7(%l/%3L%):%2c ", + provider = "%7(%l:%c%) ", + --provider = "%l:%c ", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, + hl = { fg = colors.darkgray, bold = true }, +} + +local cursor_location = { + { provider = "%l/%L|%c ", hl = { bold = true } }, + { + provider = " %P ", + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +RightSpace = utils.surround( + { "", "" }, + colors.gray, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround( + { "█", "" }, + colors.darkgray, + { RightSpace2, hl = { fg = colors.darkgray, force = true } } +) + +RightSpace3 = utils.surround( + { "█", "" }, + utils.get_highlight("statusline").bg, + { RightSpace3, hl = { fg = colors.darkgray, force = true } } +) + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } }) + +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { + RightSpace3, + hl = { bg = colors.darkgray, force = true }, + }, + { LSPActive, hl = { bg = colors.darkgray, force = true } }, + { RightSpace2, hl = { bg = colors.gray, force = true } }, + { FileInfoBlock, hl = { bg = colors.gray, force = true } }, + { RightSpace, hl = { fg = colors.gray, force = true } }, + --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --utils.make_flexible_component( + -- 3, + -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + -- { provider = "%<" } + --), +} +--local Align = { provider = "%=", hl = { bg = colors.bg } } + +local sections = { left, middle, right } +local DefaultStatusline = { sections } +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar + +local InactiveStatusline = { + condition = conditions.is_not_active, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + --FileType, + --Space, + --Align, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + --hl = { bg = colors.red }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + --{ condition = conditions.is_active, ViMode, Space }, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --FileType, + --Space, + --TerminalName, + --Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + ["\22"] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + ["\19"] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + InactiveStatusline, + DefaultStatusline, +} + +-- WinBar +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +On_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + On_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local Center = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { Space }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), +} + +--local WinBar = { Align, Center, Align } +local WinBar = { Space, Center } + +-- TabLine +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + hl = { fg = colors.white, bold = false }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = colors.red }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them and here's some + -- free icons  ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLineFill" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { + provider = "%=", + }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then + self.title = "NvimTree" + return true + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "TablineFill" + end + end, +} + +local TabLine = { + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) diff --git a/lua/plugins/heirline.lua-202210111610.backup b/lua/plugins/heirline.lua-202210111610.backup new file mode 100644 index 0000000..e1a54e3 --- /dev/null +++ b/lua/plugins/heirline.lua-202210111610.backup @@ -0,0 +1,1452 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + white = "#f8f8f2", + --darkgray = "#1c1c29", + --darkgray = "#2d2b3a", + --darkgray = "#181818", + darkgray = "#23232e", + --darkgray = "#404040", + --gray = "#333842", + --gray = "#393547", + --gray = "#333842", + --lightgray = "#888888", + gray = "#2d2b3a", + lightgray = "#d6d3ea", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + ---purple = "#bd93f9", + ---purple = "#be2ed6", + purple = "#BF40BF", + --purple = "#5D3FD3", + --purple = "#DA70D6", + violet = "#7F00FF", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +local ViMode = { + init = function(self) + self.mode = vim.fn.mode(1) + if not self.once then + vim.cmd("au ModeChanged *:*o redrawstatus") + end + self.once = true + end, + static = { + mode_names = { + n = "NORMAL ", + no = "N·OPERATOR PENDING ", + nov = "N?", + noV = "N?", + ["no\22"] = "N? ", + niI = "Ni", + niR = "Nr", + niV = "Nv", + nt = "Nt", + v = "VISUAL ", + vs = "Vs", + V = "V·LINE ", + ["\22"] = "V·BLOCK ", + ["\22s"] = "V·BLOCK ", + s = "SELECT ", + S = "S·LINE ", + ["\19"] = "S·BLOCK ", + i = "INSERT ", + ix = "insert x ", + ic = "insert c ", + R = "REPLACE ", + Rc = "Rc", + Rx = "Rx", + Rv = "V·REPLACE ", + Rvc = "Rv", + Rvx = "Rv", + c = "COMMAND ", + cv = "VIM EX ", + --ce = "EX ", + r = "PROMPT ", + rm = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + t = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + update = { + "ModeChanged", + }, +} + +-- +-- +-- +--  +--凜兩 +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = { "LspAttach", "LspDetach" }, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- +-- provider = function() +-- local names = vim.tbl_values(vim.tbl_map(function(cl) +-- return cl.name +-- end, vim.lsp.buf_get_clients(0))) +-- +-- return "LSP " .. table.concat(names, " ") .. "" +-- end, +-- hl = { fg = colors.bg }, +--} +local LSPActive = { + condition = conditions.lsp_attached, + update = { "LspAttach", "LspDetach" }, + + -- You can keep it simple, + -- provider = " [LSP]", + + -- Or complicate things a bit and get the servers names + provider = function() + local buf_clients = vim.lsp.buf_get_clients() + local buf_ft = vim.bo.filetype + local buf_client_names = {} + + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" then + table.insert(buf_client_names, client.name) + end + end + return "⚙️ " .. table.concat(buf_client_names, "") + --return table.concat(buf_client_names, " ") + --return "⚙️﬉ " .. table.concat(buf_client_names, ", ") .. " " + --return " " .. table.concat(names, " ") .. " " + end, + hl = { fg = colors.lightgray, bold = false }, +} +--local LSPActive = { +-- function(msg) +-- msg = msg or "LS Inactive" +-- local buf_clients = vim.lsp.buf_get_clients() +-- if next(buf_clients) == nil then +-- if type(msg) == "boolean" or #msg == 0 then +-- return "LS Inactive" +-- end +-- return msg +-- end +-- +-- local buf_ft = vim.bo.filetype +-- local buf_client_names = {} +-- +-- -- add client +-- for _, client in pairs(buf_clients) do +-- if client.name ~= "null-ls" then +-- table.insert(buf_client_names, client.name) +-- end +-- end +-- +-- -- add formatter +-- local formatters = require("user.lsp.null-ls.formatters") +-- local supported_formatters = formatters.list_registered(buf_ft) +-- vim.list_extend(buf_client_names, supported_formatters) +-- +-- -- add linter +-- local linters = require("user.lsp.null-ls.linters") +-- local supported_linters = linters.list_registered(buf_ft) +-- vim.list_extend(buf_client_names, supported_linters) +-- +-- return table.concat(buf_client_names, " ") +-- -- return "[" .. table.concat(buf_client_names, ", ") .. "]" +-- end, +-- hl = { fg = colors.bg }, +--} +-- lsp status +-- I personally use it only to display progress messages! +-- See lsp-status/README.md for configuration options. + +-- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +local LSPMessages = { + provider = require("lsp-status").status, + hl = { fg = "gray" }, +} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + --±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +-- hl = { bg = colors.bg }, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + provider = "%3(%l:%1.5c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) ", + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +local Total = { + provider = "%L", + hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%P" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +--local TerminalName = { +-- -- we could add a condition to check that buftype == 'terminal' +-- -- or we could do that later (see #conditional-statuslines below) +-- provider = function() +-- local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") +-- return " " .. tname +-- end, +-- hl = { bold = true, bg = colors.bg }, +--} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) +-- Statusline +--BackgroundStatusline = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) +-- +local Surrr = { + utils.surround({ "", "" }, "gray", { + FileInfoBlock, + hl = { bg = colors.gray }, + utils.surround({ "", "" }, "gray", { + Percentage, + utils.surround({ "", "" }, function(self) + return self:mode_color() + end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), + }), + }), +} + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +-- +RightSpace = utils.surround( + { "", "" }, + colors.gray, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround( + { "█", "" }, + colors.darkgray, + { RightSpace2, hl = { fg = colors.darkgray, force = true } } +) + +RightSpace3 = utils.surround( + { "█", "" }, + utils.get_highlight("statusline").bg, + { RightSpace3, hl = { fg = colors.darkgray, force = true } } +) +--RightSpace = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +---- +-- +--Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) +-- + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.gray, { Space, Ruler, hl = { fg = colors.gray, force = true } }) + +local align = { provider = "%=" } +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { + RightSpace3, + hl = { bg = colors.darkgray, force = true }, + }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { LSPActive, hl = { bg = colors.darkgray, force = true } }, + --{ FileEncoding, hl = { bg = colors.orange, force = true } }, + { RightSpace2, hl = { bg = colors.gray, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileInfoBlock, hl = { bg = colors.gray, force = true } }, + --{ Space, hl = { bg = colors.red, force = true } }, + --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = colors.gray, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local sections = { left, middle, right } +local DefaultStatusline = { sections } + +--local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } +--local statusline = { +--Space, +--Space, +--Git, +--Space, +--Diagnostics, +--Align, +--Navic, +--DAPMessages, +--Align, +--Space, +--FileInfoBlock, +--Space, +--WordCount, +--Ruler, +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +--} + +local InactiveStatusline = { + condition = conditions.is_not_active, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + --FileType, + --Space, + --Align, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + --hl = { bg = colors.red }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + --{ condition = conditions.is_active, ViMode, Space }, + + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --FileType, + --Space, + --TerminalName, + --Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + ["\22"] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + ["\19"] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + --mode_colors_map = { + -- n = colors.blue, + -- i = colors.green, + -- v = colors.purple, + -- V = colors.violet, + -- [""] = colors.red, + -- c = colors.yellow, + -- s = colors.orange, + -- S = colors.orange, + -- [""] = colors.purple, + -- R = colors.orange, + -- r = colors.orange, + -- ["!"] = colors.red, + -- t = colors.red, + }, + --mode_color = function(self) + -- local mode = conditions.is_active() and vim.fn.mode() or "n" + -- return self.mode_colors_map[mode] + --end, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + InactiveStatusline, + DefaultStatusline, +} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local active_middle_segment = { --{{{ + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), + }, +} + +--local WinBar = { +-- Fill, +-- active_middle_segment, +-- Fill, +--} +local WinBar = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, colors.nobg, FileNameBlock), +} + +-- TabLine +-- + +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + --+ + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) +--require("heirline").setup(StatusLine, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/lua/plugins/heirlinenew.lua b/lua/plugins/heirlinenew.lua new file mode 100644 index 0000000..64a33b2 --- /dev/null +++ b/lua/plugins/heirlinenew.lua @@ -0,0 +1,1342 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + white = "#f8f8f2", + gray = "#23232e", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + purple = "#bd93f9", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +--local function setup_colors() +-- return { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +-- } +--end +--require('heirline').load_colors(setup_colors()) +-- +--vim.api.nvim_create_augroup("Heirline", { clear = true }) +--vim.api.nvim_create_autocmd("ColorScheme", { +-- callback = function() +-- local colors = setup_colors() +-- utils.on_colorscheme(colors) +-- end, +-- group = "Heirline", +--}) + +local ViMode = { + static = { + mode_names = { -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color, fg = colors.bg, bold = true } + end, +} + +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = { "LspAttach", "LspDetach" }, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +--} + +local LSPActive = { + condition = conditions.lsp_attached, + + provider = function() + local names = vim.tbl_values(vim.tbl_map(function(cl) + return cl.name + end, vim.lsp.buf_get_clients(0))) + + return "LSP [" .. table.concat(names, " ") .. "]" + end, + hl = { fg = colors.green }, +} +-- lsp status +-- I personally use it only to display progress messages! +-- See lsp-status/README.md for configuration options. + +-- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +local LSPMessages = { + provider = require("lsp-status").status, + hl = { fg = "gray" }, +} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + --±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +-- hl = { bg = colors.bg }, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + provider = "%6(%l:%1.5c/%L%) ", + hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%P" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + hl = { bold = true, bg = colors.bg }, +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) +-- Statusline +--BackgroundStatusline = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) +-- +local Surrr = { + utils.surround({ "", "" }, "gray", { + FileInfoBlock, + hl = { bg = colors.gray }, + utils.surround({ "", "" }, "gray", { + Percentage, + utils.surround({ "", "" }, function(self) + return self:mode_color() + end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), + }), + }), +} + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +-- +RightSpace = utils.surround( + { "", "" }, + colors.red, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround({ "", "" }, colors.orange, { RightSpace2, hl = { bg = colors.red, force = true } }) +--RightSpace = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +---- +-- +--Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) +-- + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.orange, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.red, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.red, { Space, Ruler, hl = { fg = colors.red, force = true } }) + +local align = { provider = "%=" } +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { LSPActive, hl = { bg = colors.orange, force = true } }, + --{ FileEncoding, hl = { bg = colors.orange, force = true } }, + { RightSpace2, hl = { fg = colors.orange, bg = colors.red, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileInfoBlock, hl = { bg = colors.red, force = true } }, + --{ Space, hl = { bg = colors.red, force = true } }, + --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = colors.red, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local sections = { left, align, middle, align, right } +local DefaultStatusline = { sections } + +--local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } +--local statusline = { +--Space, +--Space, +--Git, +--Space, +--Diagnostics, +--Align, +--Navic, +--DAPMessages, +--Align, +--Space, +--FileInfoBlock, +--Space, +--WordCount, +--Ruler, +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +--} + +--local InactiveStatusline = { +-- condition = conditions.is_not_active, +-- FileType, +-- Space, +-- FileName, +-- Align, +--} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + FileType, + Space, + Align, + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + hl = { bg = "dark_red" }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + { condition = conditions.is_active, ViMode, Space }, + FileType, + Space, + TerminalName, + Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + --mode_colors_map = { + -- n = colors.blue, + -- i = colors.green, + -- v = colors.purple, + -- V = colors.violet, + -- [""] = colors.red, + -- c = colors.yellow, + -- s = colors.orange, + -- S = colors.orange, + -- [""] = colors.purple, + -- R = colors.orange, + -- r = colors.orange, + -- ["!"] = colors.red, + -- t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + --InactiveStatusline, + DefaultStatusline, +} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local active_middle_segment = { --{{{ + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + }, +} + +--local WinBar = { +-- Fill, +-- active_middle_segment, +-- Fill, +--} +local WinBar = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, "bright_bg", FileNameBlock), +} + +-- TabLine +-- + +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + --+ + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) +--require("heirline").setup(StatusLine, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/lua/plugins/linecolor.lua b/lua/plugins/linecolor.lua new file mode 100644 index 0000000..37550dd --- /dev/null +++ b/lua/plugins/linecolor.lua @@ -0,0 +1,112 @@ +--local M = {} +--M.theme = function() +-- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future +-- local colors = { +-- nobg = nil, +-- blue = "#87b0f9", +-- mauve = "#cba6f7", +-- red = "#f38ba8", +-- green = "#a6e3a1", +-- peach = "#fab387", +-- white = "#c6d0f5", +-- gray = "#a1a8c9", +-- black = "#1e1e2e", +-- } +-- return { +-- inactive = { +-- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, +-- b = { fg = colors.white, bg = colors.black }, +-- c = { fg = colors.gray, bg = colors.nobg }, +-- }, +-- visual = { +-- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, +-- b = { fg = colors.mauve, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- replace = { +-- a = { fg = colors.black, bg = colors.red, gui = "bold" }, +-- b = { fg = colors.red, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- normal = { +-- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, +-- b = { fg = colors.black, bg = colors.green }, +-- c = { fg = colors.white, bg = colors.black }, +-- }, +-- insert = { +-- a = { fg = colors.black, bg = colors.green, gui = "bold" }, +-- b = { fg = colors.teal, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- command = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- modified = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.peach }, +-- c = { fg = colors.white, bg = colors.peach }, +-- }, +-- } +--end +--return M +local M = {} +M.theme = function() + --local colors = { + -- darkgray = "#16161d", + -- gray = "#727169", + -- innerbg = nil, + -- outerbg = "#16161D", + -- normal = "#7e9cd8", + -- insert = "#98bb6c", + -- visual = "#ffa066", + -- replace = "#e46876", + -- command = "#e6c384", + --} + local colors = { + darkgray = "#16161d", + gray = "#727169", + innerbg = nil, + outerbg = "#16161D", + normal = "#39BAE6", + insert = "#AAD94C", + visual = "#FA8D3F", + replace = "#F07171", + command = "#F2AE49", + } + return { + inactive = { + a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + visual = { + a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + replace = { + a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + normal = { + a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + y = { fg = colors.gray, bg = colors.outerbg }, + }, + insert = { + a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + command = { + a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + } +end +return M diff --git a/lua/plugins/lsp-colors.lua b/lua/plugins/lsp-colors.lua new file mode 100644 index 0000000..1398123 --- /dev/null +++ b/lua/plugins/lsp-colors.lua @@ -0,0 +1,9 @@ +local status, colors = pcall(require, "lsp-colors") +if (not status) then return end + +colors.setup { + Error = "#db4b4b", + Warning = "#e0af68", + Information = "#0db9d7", + Hint = "#10B981" +} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua new file mode 100644 index 0000000..5e7a680 --- /dev/null +++ b/lua/plugins/lsp.lua @@ -0,0 +1,227 @@ +local fn = vim.fn +local api = vim.api +local keymap = vim.keymap +local lsp = vim.lsp + +local utils = require("utils") + +local custom_attach = function(client, bufnr) + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + + map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) + map("n", "", vim.lsp.buf.definition) + map("n", "K", vim.lsp.buf.hover) + map("n", "", vim.lsp.buf.signature_help) + map("n", "rn", vim.lsp.buf.rename, { desc = "varialbe rename" }) + map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) + map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) + map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) + map("n", "q", function() + vim.diagnostic.setqflist({ open = true }) + end, { desc = "put diagnostic to qf" }) + map("n", "ca", vim.lsp.buf.code_action, { desc = "LSP code action" }) + map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) + map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) + map("n", "wl", function() + inspect(vim.lsp.buf.list_workspace_folders()) + end, { desc = "list workspace folder" }) + + -- Set some key bindings conditional on server capabilities + if client.server_capabilities.documentFormattingProvider then + map("n", "f", vim.lsp.buf.format, { desc = "format code" }) + end + + api.nvim_create_autocmd("CursorHold", { + buffer = bufnr, + callback = function() + local float_opts = { + focusable = false, + close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, + border = "rounded", + source = "always", -- show source in diagnostic popup window + prefix = " ", + } + + if not vim.b.diagnostics_pos then + vim.b.diagnostics_pos = { nil, nil } + end + + local cursor_pos = api.nvim_win_get_cursor(0) + if + (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) + and #vim.diagnostic.get() > 0 + then + vim.diagnostic.open_float(nil, float_opts) + end + + vim.b.diagnostics_pos = cursor_pos + end, + }) + + -- The blow command will highlight the current variable and its usages in the buffer. + if client.server_capabilities.documentHighlightProvider then + vim.cmd([[ + hi! link LspReferenceRead Visual + hi! link LspReferenceText Visual + hi! link LspReferenceWrite Visual + augroup lsp_document_highlight + autocmd! * + autocmd CursorHold lua vim.lsp.buf.document_highlight() + autocmd CursorMoved lua vim.lsp.buf.clear_references() + augroup END + ]]) + end + + if vim.g.logging_level == "debug" then + local msg = string.format("Language server %s started!", client.name) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Nvim-config" }) + end +end + +local capabilities = lsp.protocol.make_client_capabilities() +capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) +capabilities.textDocument.completion.completionItem.snippetSupport = true + +local lspconfig = require("lspconfig") + +if utils.executable("pylsp") then + lspconfig.pylsp.setup({ + on_attach = custom_attach, + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + }) +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup({ + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + }) +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup({ + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + }) +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup({ + on_attach = custom_attach, + capabilities = capabilities, + }) +end + +if utils.executable("lua-language-server") then + -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . + lspconfig.sumneko_lua.setup({ + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + }) +end + +-- Change diagnostic signs. +--fn.sign_define("DiagnosticSignError", { text = "✗", texthl = "DiagnosticSignError" }) +--fn.sign_define("DiagnosticSignWarn", { text = "!", texthl = "DiagnosticSignWarn" }) +--fn.sign_define("DiagnosticSignInformation", { text = "", texthl = "DiagnosticSignInfo" }) +--fn.sign_define("DiagnosticSignHint", { text = "", texthl = "DiagnosticSignHint" }) + +-- global config for diagnostic +vim.diagnostic.config({ + underline = false, + virtual_text = false, + signs = true, + severity_sort = true, +}) + +lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_publish_diagnostics, { + underline = false, + virtual_text = false, + signs = true, + update_in_insert = false, +}) + +--local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } +local signs = { Error = "✘", Warn = "▲", Info = "", Hint = "⚑" } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end + +--sign({name = 'DiagnosticSignError', text = '✘'}) +--sign({name = 'DiagnosticSignWarn', text = '▲'}) +--sign({name = 'DiagnosticSignHint', text = '⚑'}) +--sign({name = 'DiagnosticSignInfo', text = ''}) + +-- Change border of documentation hover window, See https://github.com/neovim/neovim/pull/13998. +lsp.handlers["textDocument/hover"] = lsp.with(vim.lsp.handlers.hover, { + border = "rounded", +}) diff --git a/lua/plugins/lspOld.lsp b/lua/plugins/lspOld.lsp new file mode 100644 index 0000000..206ea57 --- /dev/null +++ b/lua/plugins/lspOld.lsp @@ -0,0 +1,531 @@ +-- lspconfig + nvim-cmp + lspsaga +-- Dependencies +-- nvim-lspconfig +-- nvim-cmp +-- cmp-buffer +-- cmp-path +-- cmp_luasnip +-- cmp-nvim-lsp +-- LuaSnip +-- friendly-snippets +local fn = vim.fn +local api = vim.api +local keymap = vim.keymap +local lsp = vim.lsp + +local utils = require("utils") + +local custom_attach = function(client, bufnr) + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + + +local lsp_defaults = { + flags = { + debounce_text_changes = 150, -- Amount of miliseconds neovim will wait to send the next document update notification. + }, + + -- The data on this option is send to the server, to announce what features the editor can support. + capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds("User", { pattern = "LspAttached" }) + end, +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +--- +-- LSP Servers +--- + +if utils.executable("pylsp") then + lspconfig.pylsp.setup { + on_attach = custom_attach, + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + } +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup { + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + } +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup { + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + } +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup { + on_attach = custom_attach, + capabilities = capabilities, + } +end + +if utils.executable("lua-language-server") then + -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . + lspconfig.sumneko_lua.setup { + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + } +end +-- Lua +lspconfig.sumneko_lua.setup({ + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, + single_file_support = true, + on_attach = function(client, bufnr) + print('hello') + lspconfig.util.default_config.on_attach(client, bufnr) + end +}) + +lspconfig.sumneko_lua.setup({ +on_attach = custom_attach, +settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + -- Setup your lua path + path = runtime_path, + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, +}, +}) + + lspconfig.sumneko_lua.setup { + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + } + +require'lspconfig'.sumneko_lua.setup { + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, +} + + + +require'lspconfig'.sumneko_lua.setup{} + + +**Default values:** + - `cmd` : + { "lua-language-server" } + - `filetypes` : + - `log_level` : + ```lua + 2 + ``` + - `root_dir` : + ```lua + root_pattern(".luarc.json", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", ".git") + ``` + - `settings` : + ```lua + { + Lua = { + telemetry = { + enable = false + } + } + } + - `single_file_support` : + true + + + + + + + + + + + + + + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.ccls.setup{} +``` + + +**Default values:** + - `cmd` : + ```lua + { "ccls" } + ``` + - `filetypes` : + ```lua + { "c", "cpp", "objc", "objcpp" } + ``` + - `offset_encoding` : + ```lua + "utf-32" + ``` + - `root_dir` : + ```lua + root_pattern('compile_commands.json', '.ccls', '.git') + ``` + - `single_file_support` : + ```lua + false + ``` + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.clangd.setup{} +``` +**Commands:** +- ClangdSwitchSourceHeader: Switch between source/header + +**Default values:** + - `capabilities` : + ```lua + default capabilities, with offsetEncoding utf-8 + ``` + - `cmd` : + ```lua + { "clangd" } + ``` + - `filetypes` : + ```lua + { "c", "cpp", "objc", "objcpp", "cuda", "proto" } + ``` + - `root_dir` : + ```lua + root_pattern( + '.clangd', + '.clang-tidy', + '.clang-format', + 'compile_commands.json', + 'compile_flags.txt', + 'configure.ac', + '.git' + ) + + ``` + - `single_file_support` : + ```lua + true + ``` + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.pyright.setup{} +``` +**Commands:** +- PyrightOrganizeImports: Organize Imports + +**Default values:** + - `cmd` : + ```lua + { "pyright-langserver", "--stdio" } + ``` + - `filetypes` : + ```lua + { "python" } + ``` + - `root_dir` : + ```lua + see source file + ``` + - `settings` : + ```lua + { + python = { + analysis = { + autoSearchPaths = true, + diagnosticMode = "workspace", + useLibraryCodeForTypes = true + } + } + } + ``` + - `single_file_support` : + ```lua + true + ``` + +## rls + +https://github.com/rust-lang/rls + +rls, a language server for Rust + +See https://github.com/rust-lang/rls#setup to setup rls itself. +See https://github.com/rust-lang/rls#configuration for rls-specific settings. +All settings listed on the rls configuration section of the readme +must be set under settings.rust as follows: + +```lua +nvim_lsp.rls.setup { + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + }, +} +``` + +If you want to use rls for a particular build, eg nightly, set cmd as follows: + +```lua +cmd = {"rustup", "run", "nightly", "rls"} +``` + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rls.setup{} +``` + + +**Default values:** + - `cmd` : + ```lua + { "rls" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml") + ``` + + +## rust_analyzer + +https://github.com/rust-analyzer/rust-analyzer + +rust-analyzer (aka rls 2.0), a language server for Rust + +See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rust_analyzer.setup{} +``` +**Commands:** +- CargoReload: Reload current cargo workspace + +**Default values:** + - `cmd` : + ```lua + { "rust-analyzer" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml", "rust-project.json") + ``` + - `settings` : + ```lua + { + ["rust-analyzer"] = {} + } + ``` + +## rust_analyzer + +https://github.com/rust-analyzer/rust-analyzer + +rust-analyzer (aka rls 2.0), a language server for Rust + +See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rust_analyzer.setup{} +``` +**Commands:** +- CargoReload: Reload current cargo workspace + +**Default values:** + - `cmd` : + ```lua + { "rust-analyzer" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml", "rust-project.json") + ``` + - `settings` : + ```lua + { + ["rust-analyzer"] = {} + } + ``` + + diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua new file mode 100644 index 0000000..a130dcd --- /dev/null +++ b/lua/plugins/lspconfig.lua @@ -0,0 +1,148 @@ +--vim.lsp.set_log_level("debug") + +local status, nvim_lsp = pcall(require, "lspconfig") +if not status then + return +end + +local protocol = require("vim.lsp.protocol") + +-- Use an on_attach function to only map the following keys +-- after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + local function buf_set_keymap(...) + vim.api.nvim_buf_set_keymap(bufnr, ...) + end + + local function buf_set_option(...) + vim.api.nvim_buf_set_option(bufnr, ...) + end + + --Enable completion triggered by + buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") + + -- Mappings. + local opts = { noremap = true, silent = true } + + -- See `:help vim.lsp.*` for documentation on any of the below functions + buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) -- most of the lsp server don't implement textDocument/Declaration, so gD is useless for now. + --buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) + --buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + + -- add rust specific keymappings + if client.name == "rust_analyzer" then + buf_set_keymap("n", "rr", "RustRunnables", opts) + buf_set_keymap("n", "ra", "RustHoverAction", opts) + end + + -- formatting + if client.server_capabilities.documentFormattingProvider then + vim.api.nvim_create_autocmd("BufWritePre", { + group = vim.api.nvim_create_augroup("Format", { clear = true }), + buffer = bufnr, + callback = function() + vim.lsp.buf.format() + end, + }) + end +end + +protocol.CompletionItemKind = { + -- "", -- Text + -- "", -- Method + -- "", -- Function + -- "", -- Constructor + -- "", -- Field + -- "", -- Variable + -- "", -- Class + -- "ﰮ", -- Interface + -- "", -- Module + -- "", -- Property + -- "", -- Unit + -- "", -- Value + -- "", -- Enum + -- "", -- Keyword + -- "", -- Snippet + -- "", -- Color + -- "", -- File + -- "", -- Reference + -- "", -- Folder + -- "", -- EnumMember + -- "", -- Constant + -- "", -- Struct + -- "", -- Event + -- "ﬦ", -- Operator + -- "", -- TypeParameter + File = { icon = "", hl = "TSURI" }, + Module = { icon = "", hl = "TSNamespace" }, + Namespace = { icon = "", hl = "TSNamespace" }, + Package = { icon = "", hl = "TSNamespace" }, + Class = { icon = "ﴯ", hl = "TSType" }, + Method = { icon = "", hl = "TSMethod" }, + Property = { icon = "", hl = "TSMethod" }, + Field = { icon = "", hl = "TSField" }, + Constructor = { icon = "", hl = "TSConstructor" }, + Enum = { icon = "", hl = "TSType" }, + Interface = { icon = "", hl = "TSType" }, + Function = { icon = "", hl = "TSFunction" }, + Variable = { icon = "", hl = "TSConstant" }, + Constant = { icon = "", hl = "TSConstant" }, + String = { icon = "ﮜ", hl = "TSString" }, + Number = { icon = "", hl = "TSNumber" }, + Boolean = { icon = "ﮒ", hl = "TSBoolean" }, + Array = { icon = "", hl = "TSConstant" }, + Object = { icon = "⦿", hl = "TSType" }, + Key = { icon = "", hl = "TSType" }, + Null = { icon = "ﳠ", hl = "TSType" }, + EnumMember = { icon = "", hl = "TSField" }, + Struct = { icon = "ﴯ", hl = "TSType" }, + Event = { icon = "🗲", hl = "TSType" }, + Operator = { icon = "+", hl = "TSOperator" }, + TypeParameter = { icon = "𝙏", hl = "TSParameter" }, +} + +-- Set up completion using nvim_cmp with LSP source +local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) + +nvim_lsp.flow.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) + +nvim_lsp.sumneko_lua.setup({ + on_attach = on_attach, + settings = { + Lua = { + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, + }, + }, + }, +}) + +-- Diagnostic symbols in the sign column (gutter) +--local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } +--local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } +local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end +-- +vim.diagnostic.config({ + virtual_text = { + prefix = "●", + }, + update_in_insert = true, + float = { + source = "always", -- Or "if_many" + }, +}) diff --git a/lua/plugins/lspkind.lua b/lua/plugins/lspkind.lua new file mode 100644 index 0000000..72ca5c2 --- /dev/null +++ b/lua/plugins/lspkind.lua @@ -0,0 +1,47 @@ +local status, lspkind = pcall(require, "lspkind") +if (not status) then return end + +lspkind.init({ + -- enables text annotations + -- + -- default: true + mode = 'symbol', + + -- default symbol map + -- can be either 'default' (requires nerd-fonts font) or + -- 'codicons' for codicon preset (requires vscode-codicons font) + -- + -- default: 'default' + preset = 'codicons', + + -- override preset symbols + -- + -- default: {} + symbol_map = { + Text = "", + Method = "", + Function = "", + Constructor = "", + Field = "ﰠ", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "塞", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "פּ", + Event = "", + Operator = "", + TypeParameter = "" + }, +}) diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua new file mode 100644 index 0000000..ceb1099 --- /dev/null +++ b/lua/plugins/lspsaga.lua @@ -0,0 +1,61 @@ +local status, saga = pcall(require, "lspsaga") +if not status then + return +end + +saga.init_lsp_saga({ + -- when cursor in saga window you config these to move + move_in_saga = { prev = "k", next = "j" }, + diagnostic_header = { " ", " ", " ", " " }, + scroll_in_preview = { + scroll_down = "", + scroll_up = "", + }, + code_action_icon = "ﯦ ", + -- Same as nvim-lightbulb but async + code_action_lightbulb = { + sign = false, + virtual_text = true, + }, + finder_icons = { + def = " ", + ref = " ", + link = " ", + }, + finder_action_keys = { + open = "", + "o", + vsplit = "gv", + split = "gs", + tabe = "t", + quit = "gq", + scroll_down = "", + scroll_up = "", + }, + + -- Show symbols in winbar must be neovim 0.8.0, + -- Close it until neovim 0.8.0 become stable + symbol_in_winbar = { + in_custom = false, + --enable = enable_winbar, + separator = "  ", + show_file = true, + click_support = false, + }, +}) + + -- Mappings. +local map = vim.api.nvim_set_keymap +local opts = { noremap = true, silent = true } + +map("n", "gd", "Lspsaga lsp_finder", opts) -- Press "o" to open the reference location +map("n", "gp", "Lspsaga peek_definition", opts) +map("n", "K", "Lspsaga hover_doc", opts) +map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) +map("n", "gj", "Lspsaga diagnostic_jump_next", opts) +map("n", "gs", "Lspsaga signature_help", opts) -- Default is +map("n", "go", "Lspsaga show_line_diagnostics", opts) +map("n", "gr", "Lspsaga rename", opts) +map("n", "ga", "Lspsaga code_action", opts) +map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) +map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 0000000..9d86e21 --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,423 @@ +local lualine_status_ok, lualine = pcall(require, "lualine") +if not lualine_status_ok then + print("lualine.nvim is etiher broken or is not installed.") + return +end + +--local colors = require('tokyonight.colors').setup() +--local colors = { +--bg_dark = "#1f2335", +--bg = "#24283b", +--fg = "#c0caf5", +--fg_gutter = "#3b4261", +--green = "#a6e3a1", +--red = "#f38ba8", +--} + +--local colors = { +-- gray = '#23232e', +-- lightgray = '#5f6a8e', +-- orange = '#ffb86c', +-- purple = '#bd93f9', +-- red = '#ff5555', +-- yellow = '#f1fa8c', +-- green = '#50fa7b', +-- white = '#f8f8f2', +-- black = '#282a36', +--} +local colors = { + nobg = nil, + blue = "#87b0f9", + mauve = "#cba6f7", + red = "#f38ba8", + green = "#a6e3a1", + peach = "#fab387", + white = "#c6d0f5", + gray = "#a1a8c9", + black = "#1e1e2e", + innerbg = nil, + outerbg = "#16161D", +} +--require("lualine").setup({ +-- Your lua part of config goes here +require("lualine").setup({ + options = { + icons_enabled = true, + --theme = "auto", + theme = require("plugins.linecolor").theme(), + --theme = { + -- We are going to use lualine_c an lualine_x as left and + -- right section. Both are highlighte by c theme . So we + -- are just setting default looks o statusline + --normal = { c = { fg = colors.fg, bg = colors.bg } }, + --inactive = { c = { fg = colors.fg, bg = colors.bg } }, + --}, + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + --component_separators = { left = '|', right = '|'}, + --section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = true, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + }, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { + "branch", + { + "diff", + colored = true, + diff_color = { + added = "DiffAdd", + modified = "DiffChange", + removed = "DiffDelete", + }, + }, + { + "diagnostics", + + sources = { "nvim_lsp" }, + sections = { "error", "warn", "info" }, + + diagnostics_color = { + error = "DiagnosticError", + warn = "DiagnosticWarn", + info = "DiagnosticInfo", + }, + colored = true, + update_in_insert = false, + always_visible = false, + }, + }, + --lualine_b = { "branch", "diff", "diagnostics" }, + lualine_c = { + --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, + --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, + --{ "filetype", + -- icon_only = true, + --}, + { + "filename", + --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, + --component_separators = {left = "", right = ""}, + }, + }, + lualine_x = { "encoding", "fileformat", "filetype" }, + --lualine_x = { + -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + --}, + lualine_y = { "progress" }, + lualine_z = { "location" }, + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = { "location" }, + lualine_y = {}, + lualine_z = {}, + }, + -- tabline = {}, + tabline = { + --lualine_a = { "mode" }, + --lualine_a = {custom_fname}, + lualine_a = { + { + "buffers", + show_filename_only = false, + show_modified_status = true, + mode = 4, + buffers_color = { + active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer + --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer + --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer + --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer + ----color = function() + ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } + ----end, + }, + symbols = { + modified = " ●", -- Text to show when the buffer is modified + alternate_file = "", -- Text to show to identify the alternate file + --directory = "", -- Text to show when the buffer is a directory + }, + max_length = vim.o.columns * 5 / 6, + --{{function() + -- local bg = 'hi! lualine_buffers_color' -- not modified + -- if vim.bo.modified then bg = '#c70039' -- unsaved + -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly + -- vim.cmd('hi! lualine_buffers_color guibg='..bg) + --end, + --color = 'hi! lualine_buffers_color', + --}}, + }, + }, + lualine_b = {}, + lualine_c = {}, + lualine_x = {}, + lualine_y = {}, + lualine_z = {}, + --lualine_z = { "tabs" }, + }, + --tabline = { + -- lualine_a = { "mode" }, + -- lualine_b = { "buffers" }, + -- lualine_c = { "branch" }, + -- --lualine_c = { "branch", "diff", "diagnostics" }, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = { "tabs" }, + --}, + --winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {'filename'}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + --inactive_winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + winbar = {}, + inactive_winbar = {}, + --extensions = {}, + extensions = { "quickfix" }, +}) +--require("lualine").statusline() +--require("lualine").tabline() +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local lualine_status_ok, lualine = pcall(require, "lualine") +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local utils = require("heirline.utils") + +--local M = {} + +-- stylua: ignore start +--M.colours = {--{{{ +---- Color table for highlights +---- stylua: ignore +--local colors = { +-- bg = '#2E3440', +-- fg = '#E5E9F0', +-- yellow = '#EBCB8B', +-- cyan = '#88C0D0', +-- darkblue = '#5E81AC', +-- green = '#A3BE8C', +-- orange = '#D08770', +-- violet = '#B48EAD', +-- magenta = '#B48EAD', +-- blue = '#81A1C1', +-- red = '#BF616A', +--} +-- +--local conditions = { +-- buffer_not_empty = function() +-- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 +-- end, +-- hide_in_width = function() +-- return vim.fn.winwidth(0) > 80 +-- end, +-- check_git_workspace = function() +-- local filepath = vim.fn.expand("%:p:h") +-- local gitdir = vim.fn.finddir(".git", filepath .. ";") +-- return gitdir and #gitdir > 0 and #gitdir < #filepath +-- end, +--} + +-- Config +--local config = { +--require('lualine').setup { +-- options = { +-- -- Disable sections and component separators +-- component_separators = "", +-- section_separators = "", +-- theme = { +-- -- We are going to use lualine_c an lualine_x as left and +-- -- right section. Both are highlighte by c theme . So we +-- -- are just setting default looks o statusline +-- normal = { c = { fg = colors.fg, bg = colors.bg } }, +-- inactive = { c = { fg = colors.fg, bg = colors.bg } }, +-- }, +-- disabled_filetypes = { "NvimTree" }, +-- }, +-- sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- -- These will be filled later +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +-- inactive_sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +--} +-- +---- Inserts a component in lualine_c at left section +--local function ins_left(component) +-- table.insert(lualine.sections.lualine_c, component) +--end +-- +---- Inserts a component in lualine_x ot right section +--local function ins_right(component) +-- table.insert(lualine.sections.lualine_x, component) +--end +-- +--ins_left({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, -- Sets highlighting of component +-- padding = { left = 0, right = 1 }, -- We don't need space before this +--}) +-- +--ins_left({ +-- -- mode component +-- function() +-- return "" +-- end, +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- -- mode component +-- "mode", +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.red, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- "branch", +-- icon = "", +-- color = { fg = colors.violet, gui = "bold" }, +--}) +-- +--ins_left({ +-- "filename", +-- cond = conditions.buffer_not_empty, +-- color = { fg = colors.aqua, gui = "bold" }, +--}) +-- +--ins_left({ +-- -- filesize component +-- "filesize", +-- cond = conditions.buffer_not_empty, +--}) +-- +---- Add components to right sections +--ins_right({ +-- "o:encoding", -- option component same as &encoding in viml +-- fmt = string.lower, -- I'm not sure why it's upper case either ;) +-- cond = conditions.hide_in_width, +-- color = { fg = colors.yellow }, +--}) +-- +--ins_right({ +-- "fileformat", +-- fmt = string.upper, +-- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh +-- color = { fg = colors.fg, gui = "bold" }, +--}) +-- +--ins_right({ +-- "filetype", +--}) +-- +--ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) +-- +--ins_right({ +-- "location", +--}) +-- +--ins_right({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, +-- padding = { left = 1 }, +--}) +--return M +-- Now don't forget to initialize lualine +--require("lualine").setup(config) +--require"lualine".setup(config) +--lualine.setup(config) diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua new file mode 100644 index 0000000..69c61ba --- /dev/null +++ b/lua/plugins/mason.lua @@ -0,0 +1,27 @@ +local status, mason = pcall(require, "mason") +if (not status) then return end +local status2, lspconfig = pcall(require, "mason-lspconfig") +if (not status2) then return end + +mason.setup({ + +}) + +lspconfig.setup { + ensure_installed = { "sumneko_lua" }, +} +local keymap = vim.api.nvim_set_keymap +local opts = { noremap = true } + + +keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) +keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) +keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) +keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) +keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) +keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) +keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) +keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) +keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) diff --git a/lua/plugins/neoscroll.lua b/lua/plugins/neoscroll.lua new file mode 100644 index 0000000..d122584 --- /dev/null +++ b/lua/plugins/neoscroll.lua @@ -0,0 +1,21 @@ +require("neoscroll").setup({ + easing_function = "quadratic", +}) + +local t = {} +-- Syntax: t[keys] = {function, {function arguments}} +-- Use the "sine" easing function +t[""] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } } +t[""] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } } +-- Use the "circular" easing function +t[""] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +t[""] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +-- Pass "nil" to disable the easing animation (constant scrolling speed) +t[""] = { "scroll", { "-0.10", "false", "100", nil } } +t[""] = { "scroll", { "0.10", "false", "100", nil } } +-- When no easing function is provided the default easing function (in this case "quadratic") will be used +t["zt"] = { "zt", { "10" } } +t["zz"] = { "zz", { "10" } } +t["zb"] = { "zb", { "10" } } + +require("neoscroll.config").set_mappings(t) diff --git a/lua/plugins/null-ls.lua b/lua/plugins/null-ls.lua new file mode 100644 index 0000000..7fc4377 --- /dev/null +++ b/lua/plugins/null-ls.lua @@ -0,0 +1,26 @@ +local null_ls_status_ok, null_ls = pcall(require, "null-ls") +if not null_ls_status_ok then + return +end + +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting +local formatting = null_ls.builtins.formatting +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics +local diagnostics = null_ls.builtins.diagnostics + +--null_ls.setup({ +-- debug = false, +-- sources = { +-- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), +-- formatting.black.with({ extra_args = { "--fast" } }), +-- formatting.stylua, +-- -- diagnostics.flake8 +-- }, +--}) +require("null-ls").setup({ + sources = { + require("null-ls").builtins.formatting.stylua, + require("null-ls").builtins.diagnostics.eslint, + require("null-ls").builtins.completion.spell, + }, +}) diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua new file mode 100644 index 0000000..f362659 --- /dev/null +++ b/lua/plugins/nvim-tree.lua @@ -0,0 +1,68 @@ +local status_ok, nvim_tree = pcall(require, "nvim-tree") +if not status_ok then + return +end + +local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") +if not config_status_ok then + return +end + +local tree_cb = nvim_tree_config.nvim_tree_callback + +nvim_tree.setup({ + update_focused_file = { + enable = true, + update_cwd = true, + }, + renderer = { + root_folder_modifier = ":t", + icons = { + glyphs = { + default = "", + symlink = "", + folder = { + arrow_open = "", + arrow_closed = "", + default = "", + open = "", + empty = "", + empty_open = "", + symlink = "", + symlink_open = "", + }, + git = { + unstaged = "", + staged = "S", + unmerged = "", + renamed = "➜", + untracked = "U", + deleted = "", + ignored = "◌", + }, + }, + }, + }, + diagnostics = { + enable = true, + show_on_dirs = true, + icons = { + hint = "", + info = "", + warning = "", + error = "", + }, + }, + view = { + width = 30, + --height = 30, + side = "right", + mappings = { + list = { + { key = { "l", "", "o" }, cb = tree_cb("edit") }, + { key = "h", cb = tree_cb("close_node") }, + { key = "v", cb = tree_cb("vsplit") }, + }, + }, + }, +}) diff --git a/lua/plugins/prettier.lua b/lua/plugins/prettier.lua new file mode 100644 index 0000000..05d4665 --- /dev/null +++ b/lua/plugins/prettier.lua @@ -0,0 +1,19 @@ +local status, prettier = pcall(require, "prettier") +if (not status) then return end + +prettier.setup { + bin = 'prettierd', + filetypes = { + "c", + "lua", + "vim", + --"css", + --"javascript", + --"javascriptreact", + --"typescript", + --"typescriptreact", + --"json", + --"scss", + "less" + } +} diff --git a/lua/plugins/tabline.lua b/lua/plugins/tabline.lua new file mode 100644 index 0000000..4e1c506 --- /dev/null +++ b/lua/plugins/tabline.lua @@ -0,0 +1,22 @@ +require("tabline").setup({ + -- Defaults configuration options + enable = true, + options = { + -- If lualine is installed tabline will use separators configured in lualine by default. + -- These options can be used to override those settings. + section_separators = { "", "" }, + component_separators = { "", "" }, + max_bufferline_percent = 66, -- set to nil by default, and it uses vim.o.columns * 2/3 + show_tabs_always = true, -- this shows tabs only when there are more than one tab or if the first tab is named + show_devicons = true, -- this shows devicons in buffer section + show_bufnr = true, -- this appends [bufnr] to buffer section, + show_filename_only = false, -- shows base filename only instead of relative path in filename + modified_icon = "+", -- change the default modified icon + modified_italic = true, -- set to true by default; this determines whether the filename turns italic if modified + show_tabs_only = false, -- this shows only tabs instead of tabs + buffers + }, +}) +vim.cmd([[ + set guioptions-=e " Use showtabline in gui vim + set sessionoptions+=tabpages,globals " store tabpages and globals in session +]]) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua new file mode 100644 index 0000000..dcf6b9e --- /dev/null +++ b/lua/plugins/telescope.lua @@ -0,0 +1,177 @@ +local status_ok, telescope = pcall(require, "telescope") +if not status_ok then + return +end +local actions = require("telescope.actions") +local builtin = require("telescope.builtin") + +local function telescope_buffer_dir() + return vim.fn.expand("%:p:h") +end + +telescope.load_extension("fzf") +telescope.load_extension("file_browser") +require("telescope").load_extension("file_browser") +local fb_actions = require("telescope").extensions.file_browser.actions +--telescope.load_extension('media_files') + +telescope.setup({ + defaults = { + -- + prompt_prefix = " ", + selection_caret = " ", + path_display = { "smart" }, + -- + mappings = { + i = { + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.close, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + [""] = actions.complete_tag, + [""] = actions.which_key, -- keys from pressing + }, + + n = { + [""] = actions.close, + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + + ["j"] = actions.move_selection_next, + ["k"] = actions.move_selection_previous, + ["H"] = actions.move_to_top, + ["M"] = actions.move_to_middle, + ["L"] = actions.move_to_bottom, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + ["gg"] = actions.move_to_top, + ["G"] = actions.move_to_bottom, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + ["?"] = actions.which_key, + ["cd"] = function(prompt_bufnr) + local selection = require("telescope.actions.state").get_selected_entry() + local dir = vim.fn.fnamemodify(selection.path, ":p:h") + require("telescope.actions").close(prompt_bufnr) + -- Depending on what you want put `cd`, `lcd`, `tcd` + vim.cmd(string.format("silent lcd %s", dir)) + end, + }, + }, + }, + pickers = { + -- Default configuration for builtin pickers goes here: + -- picker_name = { + -- picker_config_key = value, + -- ... + -- } + -- Now the picker_config_key will be applied every time you call this + -- builtin picker + }, + extensions = { + file_browser = { + theme = "dropdown", + -- disables netrw and use telescope-file-browser in its place + hijack_netrw = true, + mappings = { + -- your custom insert mode mappings + ["i"] = { + [""] = function() + vim.cmd("normal vbd") + end, + }, + ["n"] = { + -- your custom normal mode mappings + ["N"] = fb_actions.create, + ["h"] = fb_actions.goto_parent_dir, + ["/"] = function() + vim.cmd("startinsert") + end, + }, + }, + }, + + media_files = { + -- filetypes whitelist + -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} + filetypes = { "png", "webp", "jpg", "jpeg" }, + find_cmd = "rg", -- find command (defaults to `fd`) + }, + -- Your extension configuration goes here: + -- extension_name = { + -- extension_config_key = value, + -- } + -- please take a look at the readme of the extension you want to configure + }, +}) + +telescope.load_extension("file_browser") + +vim.keymap.set("n", ";f", function() + builtin.find_files({ + no_ignore = false, + hidden = true, + }) +end) +vim.keymap.set("n", ";r", function() + builtin.live_grep() +end) +vim.keymap.set("n", "\\\\", function() + builtin.buffers() +end) +vim.keymap.set("n", ";t", function() + builtin.help_tags() +end) +vim.keymap.set("n", ";;", function() + builtin.resume() +end) +vim.keymap.set("n", ";e", function() + builtin.diagnostics() +end) +vim.keymap.set("n", "sf", function() + telescope.extensions.file_browser.file_browser({ + path = "%:p:h", + cwd = telescope_buffer_dir(), + respect_gitignore = false, + hidden = true, + grouped = true, + previewer = false, + initial_mode = "normal", + layout_config = { height = 40 }, + }) +end) diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..912729a --- /dev/null +++ b/lua/plugins/toggleterm.lua @@ -0,0 +1,90 @@ +local status_ok, toggleterm = pcall(require, "toggleterm") +if not status_ok then + return +end + +toggleterm.setup({ + size = function(term) + if term.direction == "horizontal" then + return 12 + elseif term.direction == "vertical" then + return vim.o.columns * 0.3 + end + end, + --size = 20, + open_mapping = [[to]], + hide_numbers = true, + shade_filetypes = {}, + shade_terminals = false, + shading_factor = 1, + start_in_insert = true, + insert_mappings = true, + persist_size = true, + direction = "float", + --direction = "vertical", + --direction = "horizontal", + close_on_exit = true, + shell = vim.o.shell, + highlights = { + -- highlights which map to a highlight group name and a table of it's values + -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split + Normal = { + background = "#000000", + }, + }, + float_opts = { + width = 70, + height = 15, + winblend = 3, + border = "curved", + --winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, +}) + +function _G.set_terminal_keymaps() + local opts = { noremap = true } + --local opts = {buffer = 0} + vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) +end + +vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") + +local Terminal = require("toggleterm.terminal").Terminal +local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + +function _LAZYGIT_TOGGLE() + lazygit:toggle() +end + +local node = Terminal:new({ cmd = "node", hidden = true }) + +function _NODE_TOGGLE() + node:toggle() +end + +local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) + +function _NCDU_TOGGLE() + ncdu:toggle() +end + +local htop = Terminal:new({ cmd = "htop", hidden = true }) + +function _HTOP_TOGGLE() + htop:toggle() +end + +local python = Terminal:new({ cmd = "python", hidden = true }) + +function _PYTHON_TOGGLE() + python:toggle() +end diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua new file mode 100644 index 0000000..261e262 --- /dev/null +++ b/lua/plugins/treesitter.lua @@ -0,0 +1,39 @@ +local status, treesitter = pcall(require, "nvim-treesitter.configs") +if (not status) then return end + +treesitter.setup { + highlight = { + enable = true, + disable = {}, + }, + indent = { + enable = true, + disable = {}, + --disable = { "python", "css" } + }, + --ensure_installed = { + -- "c", + -- "zsh", + -- "lua" + -- --"rust", + -- --"php", + -- --"json", + -- --"yaml", + -- --"swift", + -- --"css", + -- --"html", + -- --"toml", + -- --"tsx", + --}, + ensure_installed = "all", -- one of "all" or a list of languages + --ignore_install = { "" }, -- List of parsers to ignore installing + + autotag = { + enable = true, + }, +} +--vim.opt.foldmethod = "expr" +--vim.opt.foldexpr = "nvim_treesitter#foldexpr()" + +--local parser_config = require "nvim-treesitter.parsers".get_parser_configs() +--parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" } diff --git a/lua/plugins/web-devicons.lua b/lua/plugins/web-devicons.lua new file mode 100644 index 0000000..b8396bc --- /dev/null +++ b/lua/plugins/web-devicons.lua @@ -0,0 +1,12 @@ +local status, icons = pcall(require, "nvim-web-devicons") +if (not status) then return end + +icons.setup { + -- your personnal icons can go here (to override) + -- DevIcon will be appended to `name` + override = { + }, + -- globally enable default icons (default to false) + -- will get overriden by `get_icons` option + default = true +} diff --git a/lua/plugins/winbar.lua b/lua/plugins/winbar.lua new file mode 100644 index 0000000..1573828 --- /dev/null +++ b/lua/plugins/winbar.lua @@ -0,0 +1,35 @@ +require("winbar").setup({ + enabled = true, + + show_file_path = true, + show_symbols = true, + + colors = { + path = "", -- You can customize colors like #c946fd + file_name = "", + symbols = "", + }, + + icons = { + file_icon_default = "", + seperator = ">", + editor_state = "●", + lock_icon = "", + }, + + exclude_filetype = { + "help", + "startify", + "dashboard", + "packer", + "neogitstatus", + "NvimTree", + "Trouble", + "alpha", + "lir", + "Outline", + "spectre_panel", + "toggleterm", + "qf", + }, +}) diff --git a/lua/plugins/zen-mode.lua b/lua/plugins/zen-mode.lua new file mode 100644 index 0000000..7e52854 --- /dev/null +++ b/lua/plugins/zen-mode.lua @@ -0,0 +1,7 @@ +local status, zenMode = pcall(require, "zen-mode") +if (not status) then return end + +zenMode.setup { +} + +vim.keymap.set('n', 'o', 'ZenMode', { silent = true }) diff --git a/lua/scripts/setcolors.lua b/lua/scripts/setcolors.lua new file mode 100644 index 0000000..605bc84 --- /dev/null +++ b/lua/scripts/setcolors.lua @@ -0,0 +1,121 @@ +vim.cmd([[ +" Change the color scheme from a list of color scheme names. +" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341 +" Press key: +" F8 next scheme +" Shift-F8 previous scheme +" Alt-F8 random scheme +" Set the list of color schemes used by the above (default is 'all'): +" :SetColors all (all $VIMRUNTIME/colors/*.vim) +" :SetColors my (names built into script) +" :SetColors blue ayu ron (these schemes) +" :SetColors (display current scheme names) +" Set the current color scheme based on time of day: +" :SetColors now +if v:version < 700 || exists('loaded_setcolors') || &cp + finish +endif + +let loaded_setcolors = 1 +let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color + +" Set list of color scheme names that we will use, except +" argument 'now' actually changes the current color scheme. +function! s:SetColors(args) + if len(a:args) == 0 + echo 'Current color scheme names:' + let i = 0 + while i < len(s:mycolors) + echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)')) + let i += 5 + endwhile + elseif a:args == 'all' + let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n") + let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")'))) + echo 'List of colors set from all installed color schemes' + elseif a:args == 'my' + let c1 = 'default srcery everblush' + let c2 = 'gruvbox onedark' + let c3 = 'ayu molokai' + let s:mycolors = split(c1.' '.c2.' '.c3) + echo 'List of colors set from built-in names' + elseif a:args == 'now' + call s:HourColor() + else + let s:mycolors = split(a:args) + echo 'List of colors set from argument (space-separated names)' + endif +endfunction + +command! -nargs=* SetColors call s:SetColors('') + +" Set next/previous/random (how = 1/-1/0) color from our list of colors. +" The 'random' index is actually set from the current time in seconds. +" Global (no 's:') so can easily call from command line. +function! NextColor(how) + call s:NextColor(a:how, 1) +endfunction + +" Helper function for NextColor(), allows echoing of the color name to be +" disabled. +function! s:NextColor(how, echo_color) + if len(s:mycolors) == 0 + call s:SetColors('all') + endif + if exists('g:colors_name') + let current = index(s:mycolors, g:colors_name) + else + let current = -1 + endif + let missing = [] + let how = a:how + for i in range(len(s:mycolors)) + if how == 0 + let current = localtime() % len(s:mycolors) + let how = 1 " in case random color does not exist + else + let current += how + if !(0 <= current && current < len(s:mycolors)) + let current = (how>0 ? 0 : len(s:mycolors)-1) + endif + endif + try + execute 'colorscheme '.s:mycolors[current] + break + catch /E185:/ + call add(missing, s:mycolors[current]) + endtry + endfor + redraw + if len(missing) > 0 + echo 'Error: colorscheme not found:' join(missing) + endif + if (a:echo_color) + echo g:colors_name + endif +endfunction + +nnoremap cn :call NextColor(1) +nnoremap cp :call NextColor(-1) +nnoremap cc :call NextColor(0) + +" Set color scheme according to current time of day. +function! s:HourColor() + let hr = str2nr(strftime('%H')) + if hr <= 3 + let i = 0 + elseif hr <= 7 + let i = 1 + elseif hr <= 14 + let i = 2 + elseif hr <= 18 + let i = 3 + else + let i = 4 + endif + let nowcolors = 'srcery onedark molokai' + execute 'colorscheme '.split(nowcolors)[i] + redraw + echo g:colors_name +endfunction +]]) diff --git a/lua/startup.log b/lua/startup.log new file mode 100644 index 0000000..cd880b7 --- /dev/null +++ b/lua/startup.log @@ -0,0 +1,6125 @@ + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +000.030 000.030: --- NVIM STARTING --- +000.690 000.660: locale set +001.457 000.767: inits 1 +001.481 000.024: window checked +001.489 000.008: parsing arguments +006.143 004.654: init lua interpreter +006.432 000.289: expanding arguments +006.485 000.054: inits 2 +007.386 000.901: init highlight +007.390 000.004: waiting for UI +009.710 002.320: done waiting for UI +009.741 000.031: init screen for UI +009.777 000.036: init default mappings +009.849 000.072: init default autocommands +014.503 000.337 000.337: sourcing /usr/share/nvim/runtime/ftplugin.vim +015.383 000.089 000.089: sourcing /usr/share/nvim/runtime/indent.vim +015.552 000.030 000.030: sourcing /usr/share/nvim/archlinux.vim +015.561 000.082 000.052: sourcing /etc/xdg/nvim/sysinit.vim +021.171 000.093 000.093: sourcing /usr/share/nvim/runtime/filetype.lua +036.308 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim +037.051 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim +037.378 000.026 000.026: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim +037.446 000.036 000.036: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim +037.617 000.131 000.131: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim +037.716 000.064 000.064: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim +038.773 017.553 017.236: sourcing /usr/share/nvim/runtime/filetype.vim +039.391 000.027 000.027: sourcing /usr/share/nvim/runtime/ftplugin.vim +039.936 000.021 000.021: sourcing /usr/share/nvim/runtime/indent.vim +365.797 003.542 003.542: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim +368.520 000.193 000.193: sourcing /usr/share/nvim/runtime/syntax/synload.vim +368.860 001.099 000.906: sourcing /usr/share/nvim/runtime/syntax/syntax.vim +369.137 353.529 331.193: sourcing /home/sxrdusr/.config/nvim/init.lua +369.157 005.272: sourcing vimrc file(s) +373.085 000.554 000.554: sourcing /usr/share/nvim/runtime/plugin/gzip.vim +373.151 000.025 000.025: sourcing /usr/share/nvim/runtime/plugin/health.vim +373.327 000.144 000.144: sourcing /usr/share/nvim/runtime/plugin/man.vim +374.418 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +374.626 001.264 000.820: sourcing /usr/share/nvim/runtime/plugin/matchit.vim +374.959 000.297 000.297: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim +375.038 000.042 000.042: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim +375.374 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +375.392 000.321 000.299: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim +375.631 000.209 000.209: sourcing /usr/share/nvim/runtime/plugin/shada.vim +375.731 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim +376.093 000.318 000.318: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim +376.308 000.167 000.167: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim +376.393 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/tutor.vim +376.825 000.397 000.397: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim +378.105 001.110 001.110: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +387.539 009.175 009.175: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +388.054 004.777: loading rtp plugins +391.529 001.769 001.769: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +392.303 000.615 000.615: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +393.117 000.042 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +396.623 003.164 003.164: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +397.394 000.420 000.420: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +398.575 000.976 000.976: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +399.616 000.673 000.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +400.317 000.481 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim +401.132 000.394 000.394: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +402.646 001.181 001.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +402.889 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +403.318 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +403.887 000.309 000.309: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +410.104 005.911 005.911: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +411.745 001.430 001.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +412.774 000.731 000.731: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +413.166 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +413.556 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +413.859 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +414.509 000.341 000.341: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +414.920 000.062 000.062: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +416.289 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +417.493 000.175 000.175: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim +419.578 001.080 001.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim +420.400 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim +423.478 000.285 000.285: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim +423.652 007.107 005.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim +424.176 000.279 000.279: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim +425.502 001.103 001.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim +426.259 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim +428.992 002.485 002.485: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim +429.902 000.528 000.528: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim +431.653 001.300 001.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim +432.720 000.543 000.543: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +447.697 014.724 014.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim +449.392 000.133 000.133: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim +450.395 000.326 000.326: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim +450.586 001.896 001.437: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim +451.786 003.739 001.843: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim +452.701 000.649 000.649: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +454.329 000.593 000.593: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim +457.139 000.166 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim +463.032 010.052 009.294: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim +463.438 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +463.709 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +464.077 013.014: loading packages +465.745 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +469.545 004.983 004.590: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +470.936 001.172 001.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +471.544 000.451 000.451: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +472.050 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +472.695 000.497 000.497: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +473.371 000.514 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +473.511 001.472: loading after plugins +473.539 000.029: inits 3 +478.437 004.898: reading ShaDa +482.242 000.511 000.511: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim +482.916 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim +483.659 000.282 000.282: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim +484.393 000.066 000.066: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim +485.973 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim +486.960 000.329 000.329: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim +487.570 002.286 001.851: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim +488.773 000.379 000.379: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim +489.544 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim +490.389 000.116 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim +491.221 000.199 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim +492.050 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim +492.776 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim +493.511 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim +494.153 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim +495.585 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim +515.108 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim +516.155 001.981 001.862: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim +554.910 000.246 000.246: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim +556.123 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim +663.827 178.485: opening buffers +664.368 000.541: BufEnter autocommands +664.379 000.010: editing files in windows +667.364 000.707 000.707: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +000.016 000.016: --- NVIM STARTING --- +000.645 000.628: locale set +001.314 000.670: inits 1 +001.351 000.036: window checked +001.360 000.010: parsing arguments +007.583 006.223: init lua interpreter +007.958 000.374: expanding arguments +008.022 000.064: inits 2 +009.122 001.100: init highlight +009.128 000.006: waiting for UI +012.871 003.743: done waiting for UI +012.918 000.047: init screen for UI +012.972 000.054: init default mappings +013.052 000.080: init default autocommands +017.713 000.148 000.148: sourcing /usr/share/nvim/runtime/ftplugin.vim +018.500 000.086 000.086: sourcing /usr/share/nvim/runtime/indent.vim +018.734 000.034 000.034: sourcing /usr/share/nvim/archlinux.vim +018.747 000.102 000.068: sourcing /etc/xdg/nvim/sysinit.vim +026.363 000.143 000.143: sourcing /usr/share/nvim/runtime/filetype.lua +040.626 000.040 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim +041.433 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim +041.845 000.030 000.030: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim +041.980 000.099 000.099: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim +042.145 000.127 000.127: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim +042.247 000.068 000.068: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim +043.487 017.063 016.671: sourcing /usr/share/nvim/runtime/filetype.vim +044.228 000.039 000.039: sourcing /usr/share/nvim/runtime/ftplugin.vim +044.826 000.023 000.023: sourcing /usr/share/nvim/runtime/indent.vim +354.645 003.386 003.386: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim +357.306 000.212 000.212: sourcing /usr/share/nvim/runtime/syntax/synload.vim +357.593 001.082 000.870: sourcing /usr/share/nvim/runtime/syntax/syntax.vim +357.862 339.061 317.325: sourcing /home/sxrdusr/.config/nvim/init.lua +357.884 005.435: sourcing vimrc file(s) +361.965 000.572 000.572: sourcing /usr/share/nvim/runtime/plugin/gzip.vim +362.033 000.026 000.026: sourcing /usr/share/nvim/runtime/plugin/health.vim +362.218 000.153 000.153: sourcing /usr/share/nvim/runtime/plugin/man.vim +363.321 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +363.527 001.273 000.829: sourcing /usr/share/nvim/runtime/plugin/matchit.vim +363.867 000.305 000.305: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim +363.944 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim +364.272 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +364.291 000.314 000.277: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim +364.528 000.206 000.206: sourcing /usr/share/nvim/runtime/plugin/shada.vim +364.630 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim +364.985 000.311 000.311: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim +365.214 000.177 000.177: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim +365.321 000.049 000.049: sourcing /usr/share/nvim/runtime/plugin/tutor.vim +365.765 000.406 000.406: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim +367.088 001.150 001.150: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +375.323 008.056 008.056: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +375.841 004.866: loading rtp plugins +379.412 001.854 001.854: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +380.146 000.570 000.570: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +380.990 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +383.716 002.369 002.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +384.344 000.301 000.301: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +385.072 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +386.341 000.878 000.878: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +386.938 000.366 000.366: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim +387.768 000.406 000.406: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +389.297 001.189 001.189: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +389.543 000.070 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +389.981 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +390.544 000.298 000.298: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +394.211 003.349 003.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +395.750 001.332 001.332: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +396.621 000.626 000.626: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +396.957 000.101 000.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +397.349 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +397.652 000.089 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +398.317 000.358 000.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +398.678 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +399.781 000.665 000.665: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +400.996 000.181 000.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim +403.064 001.038 001.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim +403.886 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim +406.913 000.299 000.299: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim +407.082 007.039 005.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim +407.616 000.277 000.277: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim +408.966 001.122 001.122: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim +409.735 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim +412.162 002.181 002.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim +412.683 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim +413.367 000.438 000.438: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +414.379 000.760 000.760: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim +415.083 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +429.507 014.133 014.133: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim +431.102 000.130 000.130: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim +432.166 000.343 000.343: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim +432.357 001.966 001.493: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim +433.372 003.592 001.625: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim +434.296 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +435.993 000.612 000.612: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim +438.802 000.176 000.176: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim +444.128 009.557 008.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim +444.497 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +444.772 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +445.139 012.625: loading packages +446.629 000.373 000.373: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +450.348 004.674 004.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +451.730 001.165 001.165: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +452.362 000.473 000.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +452.781 000.268 000.268: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +453.460 000.534 000.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +454.136 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +454.275 001.498: loading after plugins +454.303 000.028: inits 3 +459.084 004.781: reading ShaDa +462.255 000.518 000.518: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim +462.914 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim +463.666 000.283 000.283: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim +464.405 000.068 000.068: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim +465.992 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim +466.989 000.346 000.346: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim +467.604 002.304 001.840: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim +468.826 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim +469.599 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim +470.437 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim +471.295 000.208 000.208: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim +472.141 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim +472.878 000.162 000.162: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim +473.615 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim +474.255 000.065 000.065: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim +475.552 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim +493.677 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim +494.652 001.780 001.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim +531.806 000.251 000.251: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim +533.020 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim +634.041 168.210: opening buffers +634.303 000.263: BufEnter autocommands +634.310 000.007: editing files in windows +636.729 000.726 000.726: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.077 001.077: --- NVIM STARTING --- +028.689 027.612: event init +046.977 018.288: early init +048.697 001.720: locale set +054.356 005.659: init first window +065.332 010.976: inits 1 +065.359 000.027: window checked +065.367 000.008: parsing arguments +077.586 000.123 000.123: require('vim.shared') +077.824 000.107 000.107: require('vim._meta') +077.830 000.231 000.124: require('vim._editor') +077.834 000.414 000.060: require('vim._init_packages') +077.837 012.056: init lua interpreter +077.932 000.095: expanding arguments +079.680 001.748: inits 2 +080.294 000.614: init highlight +080.299 000.004: waiting for UI +082.730 002.431: done waiting for UI +082.778 000.048: init screen for UI +083.210 000.432: init default mappings +083.247 000.037: init default autocommands +094.132 004.012 004.012: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/ftplugin.vim +096.795 000.983 000.983: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/indent.vim +097.228 000.051 000.051: sourcing /usr/share/nvim/archlinux.vim +097.252 000.163 000.112: sourcing /etc/xdg/nvim/sysinit.vim +114.521 016.974 016.974: require('impatient') +114.662 000.125 000.125: require('impatient.profile') +118.350 000.854 000.854: require('keys') +119.312 000.215 000.215: require('packer.util') +119.373 000.674 000.458: require('packer') +120.180 000.435 000.435: require('packer.log') +120.196 000.556 000.122: require('packer.async') +120.438 000.116 000.116: require('packer.result') +120.447 000.245 000.128: require('packer.jobs') +120.463 001.034 000.234: require('packer.plugin_utils') +120.612 000.125 000.125: require('packer.snapshot') +121.714 003.350 001.517: require('pack') +121.772 024.427 003.123: sourcing /home/sxrdusr/.config/nvim/init.lua +121.801 008.970: sourcing vimrc file(s) +122.332 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +123.500 000.086 000.086: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.lua +124.937 001.189 001.189: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.vim +127.169 000.260 000.260: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/synload.vim +127.861 002.338 002.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/syntax.vim +133.403 001.041 001.041: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/gzip.vim +133.559 000.065 000.065: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/health.vim +136.590 001.376 001.376: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +137.190 003.546 002.170: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchit.vim +137.698 000.421 000.421: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchparen.vim +137.887 000.097 000.097: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/netrwPlugin.vim +138.490 000.036 000.036: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +138.512 000.537 000.501: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/rplugin.vim +138.798 000.197 000.197: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/shada.vim +138.955 000.064 000.064: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/spellfile.vim +139.124 000.079 000.079: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tarPlugin.vim +139.292 000.078 000.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tohtml.vim +139.438 000.058 000.058: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tutor.vim +140.205 000.679 000.679: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/zipPlugin.vim +140.504 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +142.282 000.260 000.260: require('lspsaga') +142.901 000.205 000.205: require('lspsaga.window') +142.926 000.443 000.238: require('lspsaga.libs') +145.564 000.465 000.465: require('vim.lsp.log') +169.723 000.018 000.018: require('vim.F') +169.738 002.191 002.173: require('vim.lsp.protocol') +170.357 000.261 000.261: require('vim.lsp._snippet') +170.593 000.227 000.227: require('vim.highlight') +170.630 000.886 000.398: require('vim.lsp.util') +170.668 026.257 022.716: require('vim.lsp.handlers') +171.061 000.383 000.383: require('vim.lsp.rpc') +171.364 000.291 000.291: require('vim.lsp.sync') +171.679 000.305 000.305: require('vim.lsp.buf') +171.894 000.205 000.205: require('vim.lsp.diagnostic') +172.159 000.256 000.256: require('vim.lsp.codelens') +172.312 028.804 001.107: require('vim.lsp') +172.481 000.122 000.122: require('lspsaga.wrap') +172.495 029.494 000.568: require('lspsaga.codeaction') +172.544 030.250 000.313: require('lspsaga.lightbulb') +172.784 000.198 000.198: require('lspsaga.lspkind') +173.147 000.146 000.146: require('mason-core.path') +173.167 000.276 000.130: require('mason.settings') +173.545 000.105 000.105: require('mason-core.functional.data') +173.558 000.217 000.112: require('mason-core.functional.function') +173.598 000.425 000.208: require('mason-core.platform') +173.603 000.806 000.106: require('mason') +173.894 000.141 000.141: require('mason-core.functional') +174.044 000.126 000.126: require('mason-core.functional.list') +174.089 000.456 000.189: require('mason.api.command') +174.347 000.139 000.139: require('mason-core.log') +174.356 000.261 000.122: require('mason-lspconfig') +174.461 000.097 000.097: require('mason-lspconfig.settings') +174.648 000.119 000.119: require('mason-lspconfig.lspconfig_hook') +174.939 000.283 000.283: require('lspconfig.util') +175.274 000.102 000.102: require('mason-core.functional.table') +175.368 000.408 000.306: require('mason-lspconfig.mappings.server') +175.698 000.113 000.113: require('mason-core.async') +175.804 000.091 000.091: require('mason-core.async.uv') +175.815 000.334 000.131: require('mason-core.fs') +175.919 000.098 000.098: require('mason-core.optional') +176.021 000.095 000.095: require('mason-core.EventEmitter') +176.228 000.201 000.201: require('mason-registry.index') +176.254 000.877 000.150: require('mason-registry') +176.363 000.102 000.102: require('mason-lspconfig.server_config_extensions') +176.490 000.120 000.120: require('lspconfig.configs') +176.635 000.138 000.138: require('lspconfig.server_configurations.omnisharp') +176.840 000.105 000.105: require('mason-lspconfig.ensure_installed') +177.337 000.145 000.145: require('mason-core.result') +178.358 000.752 000.752: require('mason-core.process') +178.492 000.118 000.118: require('mason-core.functional.relation') +178.603 000.097 000.097: require('mason-core.functional.logic') +178.620 001.137 000.169: require('mason-core.spawn') +178.751 000.119 000.119: require('mason-core.receipt') +178.880 000.108 000.108: require('mason-core.functional.string') +178.910 001.564 000.201: require('mason-core.installer.context') +179.062 000.145 000.145: require('mason-core.installer.linker') +179.227 000.153 000.153: require('mason-core.async.control') +179.237 002.268 000.260: require('mason-core.installer') +179.374 000.128 000.128: require('mason-core.installer.handle') +179.949 000.105 000.105: require('mason-core.managers.powershell') +179.957 000.222 000.117: require('mason-core.fetch') +179.961 000.376 000.154: require('mason-core.managers.cargo.client') +179.995 000.514 000.138: require('mason-core.managers.cargo') +180.147 000.146 000.146: require('mason-core.managers.composer') +180.301 000.147 000.147: require('mason-core.managers.gem') +180.417 000.109 000.109: require('mason-core.managers.git') +180.670 000.129 000.129: require('mason-core.managers.std') +180.789 000.112 000.112: require('mason-core.managers.github.client') +180.806 000.382 000.142: require('mason-core.managers.github') +180.957 000.146 000.146: require('mason-core.managers.go') +181.140 000.176 000.176: require('mason-core.managers.luarocks') +181.503 000.356 000.356: require('mason-core.managers.npm') +181.709 000.181 000.181: require('mason-core.managers.pip3') +181.763 002.376 000.219: require('mason-core.package.version-check') +181.774 004.926 000.154: require('mason-core.package') +182.043 000.228 000.228: require('mason-registry.lua-language-server') +182.376 000.155 000.155: require('mason-registry.clangd') +182.814 000.414 000.414: require('mason-registry.rust-analyzer') +183.076 000.094 000.094: require('mason-core.notify') +183.229 000.143 000.143: require('mason-core.functional.number') +183.286 000.458 000.221: require('mason-lspconfig.api.command') +183.293 042.652 001.993: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +184.424 000.122 000.122: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/man.lua +184.966 009.773: loading rtp plugins +186.975 000.018 000.018: require('vim.keymap') +187.357 000.155 000.155: require('Comment.config') +187.549 000.182 000.182: require('Comment.utils') +187.822 000.264 000.264: require('Comment.opfunc') +187.947 000.116 000.116: require('Comment.extra') +187.974 000.986 000.269: require('Comment.api') +188.811 001.972 000.968: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +189.751 000.207 000.207: require('luasnip.util.types') +189.955 000.191 000.191: require('luasnip.util.ext_opts') +191.461 000.264 000.264: require('vim.treesitter.language') +191.494 000.686 000.422: require('vim.treesitter.query') +191.893 000.391 000.391: require('vim.treesitter.languagetree') +191.972 001.516 000.439: require('vim.treesitter') +192.479 002.387 000.871: require('nvim-treesitter.parsers') +192.816 000.163 000.163: require('nvim-treesitter.utils') +192.831 000.341 000.179: require('nvim-treesitter.ts_utils') +192.840 002.877 000.148: require('luasnip.extras.filetype_functions') +192.983 000.138 000.138: require('luasnip.session') +193.462 000.187 000.187: require('luasnip.util.util') +193.599 000.125 000.125: require('luasnip.nodes.util') +193.707 000.099 000.099: require('luasnip.util.events') +193.739 000.614 000.203: require('luasnip.nodes.node') +194.029 000.113 000.113: require('luasnip.util.extend_decorator') +194.044 001.053 000.326: require('luasnip.nodes.insertNode') +194.823 000.255 000.255: require('luasnip.util.mark') +196.003 000.498 000.498: require('luasnip.nodes.textNode') +197.798 001.448 001.448: require('luasnip.util._builtin_vars') +198.128 000.299 000.299: require('vim.inspect') +198.478 002.453 000.707: require('luasnip.util.environ') +198.613 000.122 000.122: require('luasnip.util.pattern_tokenizer') +198.708 000.087 000.087: require('luasnip.util.dict') +198.828 000.112 000.112: require('luasnip.session.snippet_collection') +198.893 004.060 000.790: require('luasnip.nodes.snippet') +198.913 004.863 000.548: require('luasnip.nodes.choiceNode') +199.131 000.188 000.188: require('luasnip.nodes.functionNode') +199.295 000.151 000.151: require('luasnip.nodes.dynamicNode') +199.572 000.268 000.268: require('luasnip.nodes.restoreNode') +199.761 000.158 000.158: require('luasnip.extras') +200.016 000.106 000.106: require('luasnip.util.str') +200.029 000.252 000.146: require('luasnip.extras.fmt') +200.132 000.096 000.096: require('luasnip.extras.expand_conditions') +200.444 000.095 000.095: require('luasnip.util.parser.neovim_ast') +211.625 000.154 000.154: require('luasnip.util.directed_graph') +211.650 011.406 011.157: require('luasnip.util.parser.ast_utils') +211.868 000.087 000.087: require('luasnip.util.functions') +211.882 000.224 000.137: require('luasnip.util.parser.ast_parser') +212.035 000.148 000.148: require('luasnip.util.parser.neovim_parser') +212.051 011.907 000.129: require('luasnip.util.parser') +212.142 000.084 000.084: require('luasnip.nodes.absolute_indexer') +212.684 023.347 000.915: require('luasnip.config') +212.841 023.839 000.491: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +213.735 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +214.713 000.113 000.113: require('indent_blankline/utils') +214.723 000.309 000.196: require('indent_blankline') +215.272 000.101 000.101: require('indent_blankline.commands') +215.432 001.197 000.787: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +215.854 000.112 000.112: require('lsp-colors') +216.374 000.683 000.572: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +217.476 000.712 000.712: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +218.519 000.405 000.405: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +219.096 000.111 000.111: require('cmp.utils.api') +219.265 000.080 000.080: require('cmp.types.cmp') +219.455 000.092 000.092: require('cmp.utils.misc') +219.550 000.277 000.186: require('cmp.types.lsp') +219.639 000.080 000.080: require('cmp.types.vim') +219.644 000.539 000.102: require('cmp.types') +219.729 000.079 000.079: require('cmp.utils.highlight') +219.888 000.073 000.073: require('cmp.utils.debug') +219.903 000.167 000.094: require('cmp.utils.autocmd') +220.440 001.544 000.647: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +220.714 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +221.137 000.108 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +221.612 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +222.733 000.097 000.097: require('nvim-treesitter.tsrange') +222.825 000.082 000.082: require('nvim-treesitter.caching') +222.842 000.306 000.128: require('nvim-treesitter.query') +222.868 000.449 000.143: require('nvim-treesitter.configs') +222.875 000.549 000.100: require('nvim-treesitter.info') +222.999 000.117 000.117: require('nvim-treesitter.shell_command_selectors') +223.061 000.878 000.211: require('nvim-treesitter.install') +223.160 000.089 000.089: require('nvim-treesitter.statusline') +223.261 000.094 000.094: require('nvim-treesitter.query_predicates') +223.267 001.169 000.108: require('nvim-treesitter') +224.518 000.332 000.332: require('vim.treesitter.highlighter') +224.815 000.781 000.449: require('nvim-treesitter.highlight') +225.463 003.438 001.488: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +225.909 000.214 000.214: require('treesitter-context') +225.919 000.259 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +226.301 000.100 000.100: require('nvim-treesitter-refactor') +226.635 000.463 000.363: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +227.006 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +227.383 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +227.709 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +228.502 000.446 000.446: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +228.871 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +229.853 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +230.676 000.537 000.537: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +231.318 000.391 000.391: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +232.188 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +232.511 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +232.791 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +233.904 011.128: loading packages +235.602 000.461 000.461: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +240.266 005.819 005.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +241.144 000.147 000.147: require('cmp.utils.char') +241.159 000.257 000.110: require('cmp.utils.str') +241.254 000.088 000.088: require('cmp.utils.pattern') +241.600 000.126 000.126: require('cmp.utils.buffer') +241.614 000.252 000.126: require('cmp.utils.keymap') +241.626 000.364 000.112: require('cmp.utils.feedkeys') +241.741 000.109 000.109: require('cmp.utils.async') +241.924 000.083 000.083: require('cmp.utils.cache') +241.933 000.184 000.101: require('cmp.context') +242.260 000.117 000.117: require('cmp.config.mapping') +242.477 000.106 000.106: require('cmp.config.compare') +242.483 000.212 000.106: require('cmp.config.default') +242.509 000.462 000.134: require('cmp.config') +242.732 000.085 000.085: require('cmp.matcher') +242.746 000.230 000.145: require('cmp.entry') +242.761 000.824 000.131: require('cmp.source') +242.948 000.084 000.084: require('cmp.utils.event') +243.168 000.111 000.111: require('cmp.utils.window') +243.176 000.220 000.109: require('cmp.view.docs_view') +243.327 000.146 000.146: require('cmp.view.custom_entries_view') +243.466 000.132 000.132: require('cmp.view.wildmenu_entries_view') +243.584 000.112 000.112: require('cmp.view.native_entries_view') +243.688 000.098 000.098: require('cmp.view.ghost_text_view') +243.706 000.940 000.150: require('cmp.view') +243.817 003.068 000.302: require('cmp.core') +244.161 000.093 000.093: require('cmp.config.sources') +244.259 000.087 000.087: require('cmp.config.window') +244.362 003.763 000.515: require('cmp') +244.731 000.083 000.083: require('cmp_buffer.timer') +244.743 000.196 000.113: require('cmp_buffer.buffer') +244.748 000.295 000.099: require('cmp_buffer.source') +244.752 000.384 000.089: require('cmp_buffer') +244.783 004.279 000.132: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +245.357 000.256 000.256: require('cmp_cmdline') +245.393 000.408 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +245.812 000.099 000.099: require('cmp_nvim_lsp.source') +245.820 000.204 000.105: require('cmp_nvim_lsp') +245.917 000.363 000.159: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +246.284 000.146 000.146: require('cmp_path') +246.318 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +246.649 000.105 000.105: require('cmp_luasnip') +246.719 000.244 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +246.874 001.611: loading after plugins +246.910 000.036: inits 3 +246.920 000.011: reading ShaDa +247.351 000.091 000.091: require('luasnip.loaders._caches') +247.486 000.126 000.126: require('luasnip.util.path') +247.606 000.112 000.112: require('luasnip.loaders.util') +247.897 000.141 000.141: require('luasnip.loaders') +247.951 000.337 000.196: require('luasnip') +247.957 000.805 000.139: require('luasnip.loaders.from_lua') +248.252 000.121 000.121: require('luasnip.nodes.snippetProxy') +248.266 000.255 000.134: require('luasnip.loaders.from_snipmate') +248.494 000.122 000.122: require('luasnip.loaders.from_vscode') +249.362 001.259: opening buffers +249.368 000.006: BufEnter autocommands +249.371 000.004: editing files in windows + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.215 001.215: --- NVIM STARTING --- +028.665 027.450: event init +045.736 017.071: early init +047.546 001.811: locale set +053.272 005.725: init first window +063.706 010.434: inits 1 +063.737 000.031: window checked +063.745 000.009: parsing arguments +075.797 000.281 000.281: require('vim.shared') +076.316 000.237 000.237: require('vim._meta') +076.329 000.509 000.272: require('vim._editor') +076.337 000.917 000.127: require('vim._init_packages') +076.345 011.682: init lua interpreter +076.535 000.191: expanding arguments +078.389 001.854: inits 2 +079.780 001.390: init highlight +079.790 000.010: waiting for UI +082.769 002.979: done waiting for UI +082.820 000.051: init screen for UI +083.178 000.358: init default mappings +083.214 000.036: init default autocommands +091.921 004.068 004.068: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/ftplugin.vim +095.030 001.354 001.354: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/indent.vim +095.750 000.072 000.072: sourcing /usr/share/nvim/archlinux.vim +095.777 000.241 000.169: sourcing /etc/xdg/nvim/sysinit.vim +121.943 025.794 025.794: require('impatient') +122.199 000.229 000.229: require('impatient.profile') +131.279 002.028 002.028: require('keys') +136.986 005.676 005.676: require('opts') +138.889 000.369 000.369: require('packer.util') +139.047 001.067 000.698: require('packer') +140.531 000.662 000.662: require('packer.log') +140.554 000.943 000.281: require('packer.async') +141.218 000.285 000.285: require('packer.result') +141.238 000.669 000.384: require('packer.jobs') +141.379 002.217 000.605: require('packer.plugin_utils') +142.546 001.109 001.109: require('packer.snapshot') +145.067 008.052 003.658: require('pack') +147.725 000.587 000.587: require('vim.treesitter.language') +147.771 001.260 000.673: require('vim.treesitter.query') +150.344 000.518 000.518: require('vim.treesitter.languagetree') +150.457 001.130 000.611: require('vim.treesitter') +151.134 002.622 001.492: require('nvim-treesitter.parsers') +152.015 000.862 000.862: require('nvim-treesitter.utils') +152.043 003.863 000.379: require('nvim-treesitter.ts_utils') +152.074 004.281 000.417: require('nvim-treesitter.tsrange') +152.465 000.373 000.373: require('nvim-treesitter.caching') +152.508 006.281 000.367: require('nvim-treesitter.query') +152.584 006.707 000.426: require('nvim-treesitter.configs') +153.878 000.354 000.354: require('nvim-treesitter.info') +154.194 000.294 000.294: require('nvim-treesitter.shell_command_selectors') +154.311 001.429 000.781: require('nvim-treesitter.install') +222.484 077.393 069.257: require('plugins.treesitter') +223.003 000.151 000.151: require('telescope._extensions') +223.015 000.272 000.121: require('telescope') +223.849 000.143 000.143: require('plenary.bit') +223.949 000.091 000.091: require('plenary.functional') +224.011 000.035 000.035: require('ffi') +224.034 000.483 000.214: require('plenary.path') +224.051 000.602 000.119: require('plenary.strings') +224.140 000.083 000.083: require('telescope.deprecated') +224.650 000.303 000.303: require('plenary.log') +224.723 000.456 000.153: require('telescope.log') +225.018 000.150 000.150: require('plenary.job') +225.112 000.085 000.085: require('telescope.state') +225.127 000.396 000.160: require('telescope.utils') +225.141 000.994 000.142: require('telescope.sorters') +225.248 000.080 000.080: require('vim.inspect') +225.765 000.019 000.019: require('vim.F') +229.308 006.007 004.228: require('telescope.config') +229.577 000.120 000.120: require('plenary.window.border') +229.683 000.098 000.098: require('plenary.window') +229.770 000.080 000.080: require('plenary.popup.utils') +229.781 000.456 000.158: require('plenary.popup') +229.882 000.095 000.095: require('telescope.pickers.scroller') +229.979 000.091 000.091: require('telescope.actions.state') +230.081 000.095 000.095: require('telescope.actions.utils') +230.286 000.096 000.096: require('telescope.actions.mt') +230.366 000.280 000.184: require('telescope.actions.set') +230.575 000.101 000.101: require('telescope.config.resolve') +230.582 000.209 000.107: require('telescope.pickers.entry_display') +230.672 000.086 000.086: require('telescope.from_entry') +231.015 007.994 000.677: require('telescope.actions') +231.930 000.115 000.115: require('plenary.tbl') +231.939 000.219 000.104: require('plenary.vararg.rotate') +231.943 000.319 000.100: require('plenary.vararg') +232.042 000.086 000.086: require('plenary.errors') +232.062 000.539 000.134: require('plenary.async.async') +232.167 000.100 000.100: require('plenary.async.structs') +232.186 000.783 000.144: require('plenary.async.control') +232.710 000.361 000.361: require('telescope.make_entry') +233.194 000.129 000.129: require('plenary.async.util') +233.201 000.233 000.104: require('plenary.async.tests') +233.207 000.357 000.124: require('plenary.async') +233.213 000.488 000.131: require('telescope.finders.async_static_finder') +233.549 000.093 000.093: require('plenary.class') +233.580 000.246 000.153: require('telescope._') +233.587 000.369 000.123: require('telescope.finders.async_oneshot_finder') +233.698 000.105 000.105: require('telescope.finders.async_job_finder') +233.710 001.515 000.192: require('telescope.finders') +234.124 000.171 000.171: require('telescope.debounce') +234.362 000.229 000.229: require('telescope.mappings') +234.498 000.126 000.126: require('telescope.pickers.highlights') +234.610 000.104 000.104: require('telescope.pickers.window') +234.844 000.108 000.108: require('telescope.algos.linked_list') +234.853 000.236 000.128: require('telescope.entry_manager') +234.963 000.106 000.106: require('telescope.pickers.multi') +235.003 001.288 000.316: require('telescope.pickers') +235.020 003.806 000.220: require('telescope.builtin.__lsp') +235.078 004.055 000.249: require('telescope.builtin') +235.503 000.287 000.287: require('fzf_lib') +235.517 000.432 000.145: require('telescope._extensions.fzf') +236.042 000.183 000.183: require('telescope._extensions.file_browser.utils') +236.187 000.522 000.339: require('telescope._extensions.file_browser.actions') +236.536 000.198 000.198: require('telescope._extensions.file_browser.make_entry') +236.753 000.204 000.204: require('plenary.scandir') +236.804 000.609 000.208: require('telescope._extensions.file_browser.finders') +236.937 000.124 000.124: require('telescope._extensions.file_browser.picker') +237.091 000.147 000.147: require('telescope._extensions.file_browser.config') +237.098 001.565 000.163: require('telescope._extensions.file_browser') +243.325 000.017 000.017: require('vim.keymap') +243.488 020.979 006.644: require('plugins.telescope') +245.555 000.085 000.085: require('notify.util.queue') +245.565 000.495 000.410: require('notify.util') +245.823 000.253 000.253: require('notify.config.highlights') +245.834 001.119 000.371: require('notify.config') +246.182 000.341 000.341: require('notify.stages') +246.287 000.097 000.097: require('notify.service.notification') +246.645 000.079 000.079: require('notify.animate.spring') +246.652 000.175 000.096: require('notify.animate') +246.661 000.367 000.192: require('notify.windows') +247.013 000.098 000.098: require('notify.service.buffer.highlights') +247.023 000.262 000.164: require('notify.service.buffer') +247.028 000.362 000.100: require('notify.service') +247.128 000.095 000.095: require('notify.stages.util') +247.137 002.804 000.422: require('notify') +247.232 000.089 000.089: require('nvim-tree.iterators.node-iterator') +247.295 003.077 000.183: require('nvim-tree.utils') +247.307 003.176 000.100: require('nvim-tree.events') +247.638 000.084 000.084: require('nvim-tree.log') +247.810 000.164 000.164: require('nvim-tree.git.utils') +247.913 000.095 000.095: require('nvim-tree.git.runner') +248.009 000.090 000.090: require('nvim-tree.watcher') +248.019 000.608 000.174: require('nvim-tree.git') +248.113 000.089 000.089: require('nvim-tree.explorer.watch') +248.246 000.086 000.086: require('nvim-tree.explorer.common') +248.436 000.098 000.098: require('nvim-tree.explorer.node-builders') +248.530 000.086 000.086: require('nvim-tree.explorer.sorters') +248.634 000.089 000.089: require('nvim-tree.explorer.filters') +248.908 000.177 000.177: require('nvim-tree.view') +248.920 000.279 000.102: require('nvim-tree.live-filter') +248.925 000.671 000.119: require('nvim-tree.explorer.explore') +249.050 000.104 000.104: require('nvim-tree.explorer.reload') +249.058 001.745 000.187: require('nvim-tree.explorer') +249.065 005.013 000.091: require('nvim-tree.core') +249.181 000.110 000.110: require('nvim-tree.diagnostics') +249.279 000.090 000.090: require('nvim-tree.renderer.components.padding') +249.374 000.088 000.088: require('nvim-tree.renderer.components.icons') +249.474 000.094 000.094: require('nvim-tree.renderer.components.full-name') +249.562 000.082 000.082: require('nvim-tree.renderer.help') +249.675 000.107 000.107: require('nvim-tree.renderer.components.git') +249.794 000.112 000.112: require('nvim-tree.renderer.builder') +249.901 000.100 000.100: require('nvim-tree.marks') +249.916 005.971 000.175: require('nvim-tree.renderer') +250.022 000.095 000.095: require('nvim-tree.actions.tree-modifiers.collapse-all') +250.110 000.081 000.081: require('nvim-tree.actions.root.dir-up') +250.210 000.094 000.094: require('nvim-tree.actions.root.change-dir') +250.308 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') +250.406 000.089 000.089: require('nvim-tree.actions.finders.find-file') +250.411 006.559 000.137: require('nvim-tree.lib') +250.512 000.096 000.096: require('nvim-tree.colors') +250.633 000.111 000.111: require('nvim-tree.legacy') +250.749 000.108 000.108: require('nvim-tree.actions.fs.copy-paste') +250.948 000.093 000.093: require('nvim-tree.actions.tree-modifiers.expand-all') +251.044 000.089 000.089: require('nvim-tree.actions.tree-modifiers.toggles') +251.152 000.093 000.093: require('nvim-tree.actions.fs.create-file') +251.249 000.089 000.089: require('nvim-tree.actions.fs.rename-file') +251.369 000.113 000.113: require('nvim-tree.actions.fs.trash') +251.472 000.095 000.095: require('nvim-tree.actions.fs.remove-file') +251.566 000.085 000.085: require('nvim-tree.actions.moves.parent') +251.657 000.084 000.084: require('nvim-tree.actions.moves.sibling') +251.747 000.083 000.083: require('nvim-tree.actions.moves.item') +251.856 000.090 000.090: require('nvim-tree.actions.finders.search-node') +251.945 000.083 000.083: require('nvim-tree.actions.node.run-command') +252.039 000.088 000.088: require('nvim-tree.actions.node.file-popup') +252.148 000.103 000.103: require('nvim-tree.actions.node.system-open') +252.247 000.088 000.088: require('nvim-tree.marks.bulk-move') +252.253 001.494 000.219: require('nvim-tree.actions.dispatch') +252.298 008.630 000.262: require('nvim-tree') +252.386 000.080 000.080: require('nvim-tree.config') +257.095 000.193 000.193: require('nvim-tree.actions') +257.240 000.128 000.128: require('nvim-tree.actions.node.open-file') +260.691 000.107 000.107: require('nvim-tree.marks.navigation') +260.703 000.318 000.211: require('nvim-tree.api') +260.730 000.478 000.160: require('nvim-tree.keymap') +261.644 000.460 000.460: require('nvim-web-devicons') +265.847 022.349 012.380: require('plugins.nvim-tree') +266.218 000.107 000.107: require('lualine_require') +266.776 000.811 000.704: require('lualine') +266.861 000.076 000.076: require('plugins.linecolor') +271.822 000.113 000.113: require('lualine.utils.mode') +278.657 012.797 011.798: require('plugins.lualine') +278.733 182.854 007.556: sourcing /home/sxrdusr/.config/nvim/init.lua +278.753 007.023: sourcing vimrc file(s) +279.069 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +280.561 000.083 000.083: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.lua +282.097 001.197 001.197: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.vim +284.560 000.271 000.271: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/synload.vim +284.797 002.162 001.892: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/syntax.vim +290.655 001.081 001.081: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/gzip.vim +290.838 000.074 000.074: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/health.vim +293.462 001.365 001.365: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +293.908 003.000 001.635: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchit.vim +294.379 000.409 000.409: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchparen.vim +294.523 000.076 000.076: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/netrwPlugin.vim +294.930 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +294.951 000.364 000.340: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/rplugin.vim +295.198 000.188 000.188: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/shada.vim +295.317 000.052 000.052: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/spellfile.vim +295.444 000.062 000.062: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tarPlugin.vim +295.569 000.061 000.061: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tohtml.vim +295.694 000.049 000.049: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tutor.vim +296.445 000.685 000.685: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/zipPlugin.vim +296.743 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +298.142 000.181 000.181: require('lspsaga') +298.522 000.126 000.126: require('lspsaga.window') +298.545 000.267 000.141: require('lspsaga.libs') +299.708 000.362 000.362: require('vim.lsp.log') +300.673 000.954 000.954: require('vim.lsp.protocol') +301.346 000.346 000.346: require('vim.lsp._snippet') +301.641 000.285 000.285: require('vim.highlight') +301.680 000.996 000.365: require('vim.lsp.util') +301.701 002.616 000.304: require('vim.lsp.handlers') +301.930 000.222 000.222: require('vim.lsp.rpc') +302.074 000.133 000.133: require('vim.lsp.sync') +302.593 000.511 000.511: require('vim.lsp.buf') +303.020 000.417 000.417: require('vim.lsp.diagnostic') +303.435 000.406 000.406: require('vim.lsp.codelens') +303.596 004.920 000.615: require('vim.lsp') +303.708 000.100 000.100: require('lspsaga.wrap') +303.723 005.172 000.152: require('lspsaga.codeaction') +303.769 005.615 000.176: require('lspsaga.lightbulb') +303.937 000.131 000.131: require('lspsaga.lspkind') +304.222 000.093 000.093: require('mason-core.path') +304.240 000.198 000.105: require('mason.settings') +304.542 000.086 000.086: require('mason-core.functional.data') +304.553 000.189 000.104: require('mason-core.functional.function') +304.594 000.347 000.158: require('mason-core.platform') +304.599 000.650 000.105: require('mason') +304.884 000.145 000.145: require('mason-core.functional') +305.020 000.116 000.116: require('mason-core.functional.list') +305.058 000.434 000.173: require('mason.api.command') +305.320 000.142 000.142: require('mason-core.log') +305.331 000.268 000.126: require('mason-lspconfig') +305.425 000.088 000.088: require('mason-lspconfig.settings') +305.553 000.105 000.105: require('mason-lspconfig.lspconfig_hook') +305.792 000.233 000.233: require('lspconfig.util') +306.061 000.092 000.092: require('mason-core.functional.table') +306.169 000.352 000.260: require('mason-lspconfig.mappings.server') +306.537 000.120 000.120: require('mason-core.async') +306.641 000.094 000.094: require('mason-core.async.uv') +306.661 000.347 000.133: require('mason-core.fs') +306.767 000.099 000.099: require('mason-core.optional') +306.864 000.089 000.089: require('mason-core.EventEmitter') +307.048 000.178 000.178: require('mason-registry.index') +307.071 000.893 000.181: require('mason-registry') +307.172 000.094 000.094: require('mason-lspconfig.server_config_extensions') +307.343 000.126 000.126: require('lspconfig.configs') +307.463 000.113 000.113: require('lspconfig.server_configurations.omnisharp') +307.665 000.101 000.101: require('mason-lspconfig.ensure_installed') +308.014 000.094 000.094: require('mason-core.result') +308.491 000.256 000.256: require('mason-core.process') +308.603 000.100 000.100: require('mason-core.functional.relation') +308.703 000.089 000.089: require('mason-core.functional.logic') +308.723 000.583 000.138: require('mason-core.spawn') +308.851 000.120 000.120: require('mason-core.receipt') +308.984 000.113 000.113: require('mason-core.functional.string') +309.020 000.998 000.182: require('mason-core.installer.context') +309.126 000.099 000.099: require('mason-core.installer.linker') +309.229 000.096 000.096: require('mason-core.async.control') +309.237 001.439 000.151: require('mason-core.installer') +309.364 000.122 000.122: require('mason-core.installer.handle') +311.696 000.112 000.112: require('mason-core.managers.powershell') +311.706 002.028 001.916: require('mason-core.fetch') +311.711 002.119 000.092: require('mason-core.managers.cargo.client') +311.749 002.278 000.158: require('mason-core.managers.cargo') +312.009 000.255 000.255: require('mason-core.managers.composer') +312.211 000.193 000.193: require('mason-core.managers.gem') +312.357 000.134 000.134: require('mason-core.managers.git') +312.604 000.124 000.124: require('mason-core.managers.std') +312.724 000.112 000.112: require('mason-core.managers.github.client') +312.738 000.373 000.137: require('mason-core.managers.github') +312.893 000.150 000.150: require('mason-core.managers.go') +313.074 000.174 000.174: require('mason-core.managers.luarocks') +313.273 000.193 000.193: require('mason-core.managers.npm') +313.429 000.148 000.148: require('mason-core.managers.pip3') +313.440 004.063 000.166: require('mason-core.package.version-check') +313.453 005.780 000.156: require('mason-core.package') +313.596 000.120 000.120: require('mason-registry.lua-language-server') +314.016 000.148 000.148: require('mason-registry.clangd') +314.251 000.202 000.202: require('mason-registry.rust-analyzer') +314.478 000.079 000.079: require('mason-core.notify') +314.587 000.100 000.100: require('mason-core.functional.number') +314.647 000.385 000.206: require('mason-lspconfig.api.command') +314.654 017.774 001.756: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +315.963 000.101 000.101: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/man.lua +316.291 010.027: loading rtp plugins +318.118 000.121 000.121: require('Comment.config') +318.235 000.108 000.108: require('Comment.utils') +318.334 000.092 000.092: require('Comment.opfunc') +318.429 000.089 000.089: require('Comment.extra') +318.444 000.586 000.176: require('Comment.api') +318.874 001.089 000.503: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +319.655 000.090 000.090: require('luasnip.util.types') +319.758 000.094 000.094: require('luasnip.util.ext_opts') +319.863 000.098 000.098: require('luasnip.extras.filetype_functions') +319.970 000.100 000.100: require('luasnip.session') +320.338 000.137 000.137: require('luasnip.util.util') +320.444 000.098 000.098: require('luasnip.nodes.util') +320.531 000.080 000.080: require('luasnip.util.events') +320.549 000.467 000.152: require('luasnip.nodes.node') +320.704 000.092 000.092: require('luasnip.util.extend_decorator') +320.715 000.738 000.179: require('luasnip.nodes.insertNode') +321.030 000.111 000.111: require('luasnip.util.mark') +321.311 000.122 000.122: require('luasnip.nodes.textNode') +323.154 001.735 001.735: require('luasnip.util._builtin_vars') +323.344 002.021 000.286: require('luasnip.util.environ') +323.470 000.114 000.114: require('luasnip.util.pattern_tokenizer') +323.562 000.085 000.085: require('luasnip.util.dict') +323.680 000.110 000.110: require('luasnip.session.snippet_collection') +323.746 002.707 000.255: require('luasnip.nodes.snippet') +323.805 003.084 000.266: require('luasnip.nodes.choiceNode') +323.972 000.139 000.139: require('luasnip.nodes.functionNode') +324.195 000.214 000.214: require('luasnip.nodes.dynamicNode') +324.383 000.179 000.179: require('luasnip.nodes.restoreNode') +324.509 000.119 000.119: require('luasnip.extras') +324.709 000.086 000.086: require('luasnip.util.str') +324.718 000.193 000.107: require('luasnip.extras.fmt') +324.812 000.088 000.088: require('luasnip.extras.expand_conditions') +325.142 000.106 000.106: require('luasnip.util.parser.neovim_ast') +337.540 000.132 000.132: require('luasnip.util.directed_graph') +337.562 012.634 012.397: require('luasnip.util.parser.ast_utils') +337.788 000.094 000.094: require('luasnip.util.functions') +337.804 000.235 000.140: require('luasnip.util.parser.ast_parser') +337.986 000.177 000.177: require('luasnip.util.parser.neovim_parser') +338.002 013.180 000.134: require('luasnip.util.parser') +338.102 000.093 000.093: require('luasnip.nodes.absolute_indexer') +338.653 019.224 000.817: require('luasnip.config') +338.816 019.693 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +339.740 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +340.704 000.121 000.121: require('indent_blankline/utils') +340.714 000.328 000.207: require('indent_blankline') +341.171 000.107 000.107: require('indent_blankline.commands') +341.331 001.120 000.686: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +341.766 000.120 000.120: require('lsp-colors') +342.120 000.527 000.407: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +343.544 001.016 001.016: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +344.414 000.400 000.400: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +345.007 000.111 000.111: require('cmp.utils.api') +345.199 000.086 000.086: require('cmp.types.cmp') +345.402 000.100 000.100: require('cmp.utils.misc') +345.503 000.297 000.197: require('cmp.types.lsp') +345.626 000.113 000.113: require('cmp.types.vim') +345.632 000.615 000.119: require('cmp.types') +345.728 000.090 000.090: require('cmp.utils.highlight') +345.899 000.080 000.080: require('cmp.utils.debug') +345.915 000.180 000.101: require('cmp.utils.autocmd') +346.453 001.651 000.655: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +346.722 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +347.167 000.120 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +347.647 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +348.348 000.094 000.094: require('nvim-treesitter.statusline') +348.460 000.104 000.104: require('nvim-treesitter.query_predicates') +348.467 000.315 000.116: require('nvim-treesitter') +349.846 000.554 000.554: require('vim.treesitter.highlighter') +350.210 001.095 000.541: require('nvim-treesitter.highlight') +350.824 002.752 001.342: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +351.290 000.239 000.239: require('treesitter-context') +351.300 000.282 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +351.700 000.111 000.111: require('nvim-treesitter-refactor') +351.993 000.433 000.322: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +352.381 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +352.769 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +353.140 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +353.923 000.425 000.425: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +354.290 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +355.450 000.659 000.659: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +356.275 000.502 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +356.887 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +357.732 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +358.028 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +358.315 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +359.679 011.023: loading packages +361.384 000.464 000.464: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +365.756 005.510 005.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +366.647 000.195 000.195: require('cmp.utils.char') +366.667 000.306 000.111: require('cmp.utils.str') +366.765 000.090 000.090: require('cmp.utils.pattern') +367.066 000.082 000.082: require('cmp.utils.buffer') +367.081 000.207 000.126: require('cmp.utils.keymap') +367.091 000.315 000.108: require('cmp.utils.feedkeys') +367.201 000.105 000.105: require('cmp.utils.async') +367.380 000.082 000.082: require('cmp.utils.cache') +367.389 000.180 000.098: require('cmp.context') +367.705 000.104 000.104: require('cmp.config.mapping') +367.927 000.112 000.112: require('cmp.config.compare') +367.934 000.218 000.106: require('cmp.config.default') +367.962 000.455 000.133: require('cmp.config') +368.178 000.083 000.083: require('cmp.matcher') +368.191 000.223 000.140: require('cmp.entry') +368.209 000.816 000.138: require('cmp.source') +368.392 000.080 000.080: require('cmp.utils.event') +368.603 000.111 000.111: require('cmp.utils.window') +368.611 000.211 000.101: require('cmp.view.docs_view') +368.766 000.150 000.150: require('cmp.view.custom_entries_view') +368.897 000.124 000.124: require('cmp.view.wildmenu_entries_view') +369.028 000.124 000.124: require('cmp.view.native_entries_view') +369.135 000.100 000.100: require('cmp.view.ghost_text_view') +369.152 000.938 000.148: require('cmp.view') +369.269 003.048 000.297: require('cmp.core') +369.712 000.089 000.089: require('cmp.config.sources') +369.804 000.082 000.082: require('cmp.config.window') +369.904 003.832 000.613: require('cmp') +370.290 000.081 000.081: require('cmp_buffer.timer') +370.302 000.203 000.122: require('cmp_buffer.buffer') +370.308 000.305 000.102: require('cmp_buffer.source') +370.312 000.401 000.095: require('cmp_buffer') +370.344 004.362 000.130: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +370.777 000.183 000.183: require('cmp_cmdline') +370.811 000.289 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +371.233 000.099 000.099: require('cmp_nvim_lsp.source') +371.241 000.212 000.113: require('cmp_nvim_lsp') +371.290 000.324 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +371.645 000.140 000.140: require('cmp_path') +371.743 000.303 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +372.089 000.120 000.120: require('cmp_luasnip') +372.183 000.285 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +372.388 001.635: loading after plugins +372.417 000.029: inits 3 +372.430 000.013: reading ShaDa +372.874 000.094 000.094: require('luasnip.loaders._caches') +373.012 000.130 000.130: require('luasnip.util.path') +373.134 000.114 000.114: require('luasnip.loaders.util') +373.430 000.135 000.135: require('luasnip.loaders') +373.482 000.340 000.205: require('luasnip') +373.489 000.831 000.154: require('luasnip.loaders.from_lua') +373.761 000.100 000.100: require('luasnip.nodes.snippetProxy') +373.775 000.232 000.132: require('luasnip.loaders.from_snipmate') +373.944 000.123 000.123: require('luasnip.loaders.from_vscode') +374.862 001.247: opening buffers +375.085 000.223: BufEnter autocommands +375.092 000.007: editing files in windows +411.604 001.608 001.608: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.111 001.111: --- NVIM STARTING --- +027.185 026.074: event init +043.596 016.411: early init +045.265 001.669: locale set +050.725 005.460: init first window +060.579 009.854: inits 1 +060.609 000.030: window checked +060.619 000.010: parsing arguments +071.284 000.124 000.124: require('vim.shared') +071.506 000.108 000.108: require('vim._meta') +071.512 000.217 000.109: require('vim._editor') +071.515 000.397 000.055: require('vim._init_packages') +071.519 010.503: init lua interpreter +071.592 000.073: expanding arguments +073.348 001.755: inits 2 +073.982 000.634: init highlight +073.987 000.005: waiting for UI +077.805 003.818: done waiting for UI +077.840 000.035: init screen for UI +078.079 000.239: init default mappings +078.106 000.027: init default autocommands +087.815 004.243 004.243: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/ftplugin.vim +089.992 001.017 001.017: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/indent.vim +090.372 000.035 000.035: sourcing /usr/share/nvim/archlinux.vim +090.385 000.098 000.064: sourcing /etc/xdg/nvim/sysinit.vim +105.119 014.531 014.531: require('impatient') +105.253 000.119 000.119: require('impatient.profile') +108.631 000.731 000.731: require('keys') +111.118 002.475 002.475: require('opts') +111.846 000.144 000.144: require('packer.util') +111.903 000.510 000.366: require('packer') +112.587 000.275 000.275: require('packer.log') +112.597 000.463 000.188: require('packer.async') +112.989 000.210 000.210: require('packer.result') +112.997 000.394 000.183: require('packer.jobs') +113.012 001.062 000.206: require('packer.plugin_utils') +113.532 000.496 000.496: require('packer.snapshot') +114.562 003.432 001.363: require('pack') +115.890 000.293 000.293: require('vim.treesitter.language') +115.910 000.727 000.434: require('vim.treesitter.query') +117.287 000.216 000.216: require('vim.treesitter.languagetree') +117.351 000.578 000.363: require('vim.treesitter') +117.630 001.176 000.598: require('nvim-treesitter.parsers') +117.859 000.220 000.220: require('nvim-treesitter.utils') +117.871 001.701 000.305: require('nvim-treesitter.ts_utils') +117.885 001.964 000.263: require('nvim-treesitter.tsrange') +117.988 000.096 000.096: require('nvim-treesitter.caching') +118.007 002.945 000.158: require('nvim-treesitter.query') +118.039 003.132 000.187: require('nvim-treesitter.configs') +118.536 000.114 000.114: require('nvim-treesitter.info') +118.675 000.129 000.129: require('nvim-treesitter.shell_command_selectors') +118.724 000.480 000.236: require('nvim-treesitter.install') +157.329 042.756 039.144: require('plugins.treesitter') +157.746 000.103 000.103: require('telescope._extensions') +157.757 000.215 000.113: require('telescope') +158.664 000.097 000.097: require('plenary.bit') +158.765 000.092 000.092: require('plenary.functional') +158.812 000.031 000.031: require('ffi') +158.835 000.422 000.202: require('plenary.path') +158.850 000.595 000.173: require('plenary.strings') +158.947 000.092 000.092: require('telescope.deprecated') +159.473 000.318 000.318: require('plenary.log') +159.514 000.439 000.120: require('telescope.log') +159.793 000.137 000.137: require('plenary.job') +159.900 000.098 000.098: require('telescope.state') +159.916 000.395 000.160: require('telescope.utils') +159.931 000.977 000.143: require('telescope.sorters') +160.097 000.145 000.145: require('vim.inspect') +160.525 000.020 000.020: require('vim.F') +164.303 006.263 004.434: require('telescope.config') +164.534 000.095 000.095: require('plenary.window.border') +164.641 000.100 000.100: require('plenary.window') +164.732 000.083 000.083: require('plenary.popup.utils') +164.741 000.423 000.145: require('plenary.popup') +164.846 000.099 000.099: require('telescope.pickers.scroller') +164.947 000.094 000.094: require('telescope.actions.state') +165.047 000.094 000.094: require('telescope.actions.utils') +165.255 000.098 000.098: require('telescope.actions.mt') +165.339 000.285 000.187: require('telescope.actions.set') +165.628 000.111 000.111: require('telescope.config.resolve') +165.635 000.290 000.180: require('telescope.pickers.entry_display') +165.765 000.089 000.089: require('telescope.from_entry') +166.096 008.333 000.695: require('telescope.actions') +167.038 000.094 000.094: require('plenary.tbl') +167.049 000.215 000.122: require('plenary.vararg.rotate') +167.053 000.346 000.131: require('plenary.vararg') +167.177 000.112 000.112: require('plenary.errors') +167.190 000.618 000.160: require('plenary.async.async') +167.317 000.121 000.121: require('plenary.async.structs') +167.332 000.898 000.159: require('plenary.async.control') +167.818 000.360 000.360: require('telescope.make_entry') +168.264 000.119 000.119: require('plenary.async.util') +168.271 000.220 000.101: require('plenary.async.tests') +168.277 000.330 000.110: require('plenary.async') +168.287 000.453 000.123: require('telescope.finders.async_static_finder') +168.613 000.092 000.092: require('plenary.class') +168.647 000.246 000.155: require('telescope._') +168.654 000.362 000.115: require('telescope.finders.async_oneshot_finder') +168.772 000.113 000.113: require('telescope.finders.async_job_finder') +168.788 001.448 000.161: require('telescope.finders') +169.220 000.156 000.156: require('telescope.debounce') +169.470 000.241 000.241: require('telescope.mappings') +169.610 000.129 000.129: require('telescope.pickers.highlights') +169.755 000.136 000.136: require('telescope.pickers.window') +169.976 000.103 000.103: require('telescope.algos.linked_list') +169.989 000.227 000.124: require('telescope.entry_manager') +170.088 000.094 000.094: require('telescope.pickers.multi') +170.141 001.347 000.364: require('telescope.pickers') +170.166 003.902 000.209: require('telescope.builtin.__lsp') +170.213 004.110 000.208: require('telescope.builtin') +170.621 000.277 000.277: require('fzf_lib') +170.638 000.414 000.136: require('telescope._extensions.fzf') +171.172 000.187 000.187: require('telescope._extensions.file_browser.utils') +171.332 000.559 000.372: require('telescope._extensions.file_browser.actions') +171.693 000.212 000.212: require('telescope._extensions.file_browser.make_entry') +171.940 000.235 000.235: require('plenary.scandir') +171.994 000.653 000.206: require('telescope._extensions.file_browser.finders') +172.126 000.124 000.124: require('telescope._extensions.file_browser.picker') +172.281 000.148 000.148: require('telescope._extensions.file_browser.config') +172.287 001.634 000.149: require('telescope._extensions.file_browser') +177.884 000.017 000.017: require('vim.keymap') +178.248 020.907 006.185: require('plugins.telescope') +179.753 000.165 000.165: require('notify.util.queue') +179.763 000.341 000.175: require('notify.util') +180.014 000.244 000.244: require('notify.config.highlights') +180.024 000.708 000.123: require('notify.config') +180.121 000.091 000.091: require('notify.stages') +180.279 000.128 000.128: require('notify.service.notification') +180.547 000.077 000.077: require('notify.animate.spring') +180.553 000.163 000.086: require('notify.animate') +180.562 000.276 000.113: require('notify.windows') +180.849 000.099 000.099: require('notify.service.buffer.highlights') +180.859 000.202 000.104: require('notify.service.buffer') +180.864 000.297 000.095: require('notify.service') +180.964 000.096 000.096: require('notify.stages.util') +180.973 001.863 000.268: require('notify') +181.067 000.088 000.088: require('nvim-tree.iterators.node-iterator') +181.131 002.139 000.187: require('nvim-tree.utils') +181.143 002.243 000.104: require('nvim-tree.events') +181.520 000.083 000.083: require('nvim-tree.log') +181.695 000.166 000.166: require('nvim-tree.git.utils') +181.800 000.098 000.098: require('nvim-tree.git.runner') +181.898 000.091 000.091: require('nvim-tree.watcher') +181.908 000.566 000.128: require('nvim-tree.git') +182.001 000.088 000.088: require('nvim-tree.explorer.watch') +182.135 000.087 000.087: require('nvim-tree.explorer.common') +182.325 000.099 000.099: require('nvim-tree.explorer.node-builders') +182.421 000.087 000.087: require('nvim-tree.explorer.sorters') +182.521 000.085 000.085: require('nvim-tree.explorer.filters') +182.808 000.182 000.182: require('nvim-tree.view') +182.825 000.297 000.115: require('nvim-tree.live-filter') +182.833 000.691 000.123: require('nvim-tree.explorer.explore') +182.993 000.151 000.151: require('nvim-tree.explorer.reload') +183.004 001.856 000.273: require('nvim-tree.explorer') +183.016 004.199 000.099: require('nvim-tree.core') +183.191 000.168 000.168: require('nvim-tree.diagnostics') +183.342 000.138 000.138: require('nvim-tree.renderer.components.padding') +183.522 000.170 000.170: require('nvim-tree.renderer.components.icons') +183.685 000.151 000.151: require('nvim-tree.renderer.components.full-name') +183.825 000.130 000.130: require('nvim-tree.renderer.help') +184.007 000.171 000.171: require('nvim-tree.renderer.components.git') +184.195 000.178 000.178: require('nvim-tree.renderer.builder') +184.347 000.141 000.141: require('nvim-tree.marks') +184.368 005.654 000.208: require('nvim-tree.renderer') +184.535 000.149 000.149: require('nvim-tree.actions.tree-modifiers.collapse-all') +184.674 000.129 000.129: require('nvim-tree.actions.root.dir-up') +184.832 000.147 000.147: require('nvim-tree.actions.root.change-dir') +184.958 000.116 000.116: require('nvim-tree.actions.reloaders.reloaders') +185.064 000.095 000.095: require('nvim-tree.actions.finders.find-file') +185.070 006.451 000.159: require('nvim-tree.lib') +185.173 000.098 000.098: require('nvim-tree.colors') +185.295 000.112 000.112: require('nvim-tree.legacy') +185.413 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') +185.615 000.095 000.095: require('nvim-tree.actions.tree-modifiers.expand-all') +185.712 000.090 000.090: require('nvim-tree.actions.tree-modifiers.toggles') +185.821 000.094 000.094: require('nvim-tree.actions.fs.create-file') +185.919 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +186.041 000.114 000.114: require('nvim-tree.actions.fs.trash') +186.143 000.095 000.095: require('nvim-tree.actions.fs.remove-file') +186.240 000.086 000.086: require('nvim-tree.actions.moves.parent') +186.331 000.085 000.085: require('nvim-tree.actions.moves.sibling') +186.423 000.084 000.084: require('nvim-tree.actions.moves.item') +186.533 000.091 000.091: require('nvim-tree.actions.finders.search-node') +186.622 000.083 000.083: require('nvim-tree.actions.node.run-command') +186.719 000.091 000.091: require('nvim-tree.actions.node.file-popup') +186.848 000.121 000.121: require('nvim-tree.actions.node.system-open') +186.948 000.090 000.090: require('nvim-tree.marks.bulk-move') +186.954 001.531 000.224: require('nvim-tree.actions.dispatch') +186.983 008.551 000.251: require('nvim-tree') +187.065 000.076 000.076: require('nvim-tree.config') +190.975 000.179 000.179: require('nvim-tree.actions') +191.118 000.126 000.126: require('nvim-tree.actions.node.open-file') +194.601 000.103 000.103: require('nvim-tree.marks.navigation') +194.613 000.300 000.197: require('nvim-tree.api') +194.642 000.462 000.162: require('nvim-tree.keymap') +195.607 000.463 000.463: require('nvim-web-devicons') +200.113 021.854 011.996: require('plugins.nvim-tree') +200.819 000.138 000.138: require('lualine_require') +201.441 000.999 000.861: require('lualine') +201.530 000.079 000.079: require('plugins.linecolor') +209.975 000.135 000.135: require('lualine.utils.mode') +213.198 013.006 011.794: require('plugins.lualine') +213.236 122.803 002.991: sourcing /home/sxrdusr/.config/nvim/init.lua +213.254 006.986: sourcing vimrc file(s) +213.571 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +214.883 000.074 000.074: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.lua +216.250 001.156 001.156: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.vim +218.459 000.289 000.289: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/synload.vim +218.710 001.984 001.695: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/syntax.vim +224.924 001.037 001.037: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/gzip.vim +225.080 000.065 000.065: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/health.vim +228.009 001.454 001.454: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +228.576 003.411 001.957: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchit.vim +229.076 000.413 000.413: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchparen.vim +229.256 000.090 000.090: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/netrwPlugin.vim +229.702 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +229.723 000.379 000.355: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/rplugin.vim +230.008 000.198 000.198: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/shada.vim +230.190 000.091 000.091: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/spellfile.vim +230.360 000.080 000.080: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tarPlugin.vim +230.524 000.075 000.075: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tohtml.vim +230.670 000.058 000.058: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tutor.vim +231.429 000.673 000.673: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/zipPlugin.vim +231.723 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +233.248 000.155 000.155: require('lspsaga') +233.650 000.126 000.126: require('lspsaga.window') +233.674 000.289 000.163: require('lspsaga.libs') +234.831 000.402 000.402: require('vim.lsp.log') +235.514 000.671 000.671: require('vim.lsp.protocol') +236.036 000.228 000.228: require('vim.lsp._snippet') +236.195 000.149 000.149: require('vim.highlight') +236.231 000.707 000.330: require('vim.lsp.util') +236.254 002.041 000.262: require('vim.lsp.handlers') +236.548 000.287 000.287: require('vim.lsp.rpc') +236.714 000.154 000.154: require('vim.lsp.sync') +236.982 000.258 000.258: require('vim.lsp.buf') +237.189 000.194 000.194: require('vim.lsp.diagnostic') +237.383 000.186 000.186: require('vim.lsp.codelens') +237.546 003.740 000.620: require('vim.lsp') +237.656 000.098 000.098: require('lspsaga.wrap') +237.672 003.992 000.153: require('lspsaga.codeaction') +237.713 004.454 000.172: require('lspsaga.lightbulb') +237.892 000.137 000.137: require('lspsaga.lspkind') +238.160 000.086 000.086: require('mason-core.path') +238.178 000.190 000.104: require('mason.settings') +238.483 000.086 000.086: require('mason-core.functional.data') +238.491 000.190 000.104: require('mason-core.functional.function') +238.531 000.345 000.156: require('mason-core.platform') +238.536 000.631 000.096: require('mason') +238.821 000.142 000.142: require('mason-core.functional') +238.957 000.113 000.113: require('mason-core.functional.list') +239.001 000.437 000.182: require('mason.api.command') +239.249 000.137 000.137: require('mason-core.log') +239.258 000.250 000.114: require('mason-lspconfig') +239.355 000.092 000.092: require('mason-lspconfig.settings') +239.481 000.107 000.107: require('mason-lspconfig.lspconfig_hook') +239.804 000.316 000.316: require('lspconfig.util') +240.204 000.126 000.126: require('mason-core.functional.table') +240.364 000.446 000.320: require('mason-lspconfig.mappings.server') +240.714 000.112 000.112: require('mason-core.async') +240.810 000.087 000.087: require('mason-core.async.uv') +240.822 000.314 000.115: require('mason-core.fs') +240.921 000.090 000.090: require('mason-core.optional') +241.022 000.094 000.094: require('mason-core.EventEmitter') +241.210 000.181 000.181: require('mason-registry.index') +241.234 000.860 000.181: require('mason-registry') +241.334 000.093 000.093: require('mason-lspconfig.server_config_extensions') +241.505 000.118 000.118: require('lspconfig.configs') +241.623 000.110 000.110: require('lspconfig.server_configurations.omnisharp') +241.763 000.097 000.097: require('mason-lspconfig.ensure_installed') +242.095 000.095 000.095: require('mason-core.result') +242.582 000.251 000.251: require('mason-core.process') +242.688 000.094 000.094: require('mason-core.functional.relation') +242.788 000.090 000.090: require('mason-core.functional.logic') +242.807 000.575 000.140: require('mason-core.spawn') +242.922 000.106 000.106: require('mason-core.receipt') +243.037 000.096 000.096: require('mason-core.functional.string') +243.067 000.964 000.187: require('mason-core.installer.context') +243.173 000.100 000.100: require('mason-core.installer.linker') +243.274 000.095 000.095: require('mason-core.async.control') +243.283 001.396 000.141: require('mason-core.installer') +243.420 000.132 000.132: require('mason-core.installer.handle') +245.806 000.120 000.120: require('mason-core.managers.powershell') +245.817 002.066 001.945: require('mason-core.fetch') +245.822 002.152 000.086: require('mason-core.managers.cargo.client') +245.863 002.308 000.156: require('mason-core.managers.cargo') +246.012 000.143 000.143: require('mason-core.managers.composer') +246.163 000.144 000.144: require('mason-core.managers.gem') +246.277 000.107 000.107: require('mason-core.managers.git') +246.520 000.120 000.120: require('mason-core.managers.std') +246.633 000.106 000.106: require('mason-core.managers.github.client') +246.652 000.368 000.142: require('mason-core.managers.github') +246.927 000.270 000.270: require('mason-core.managers.go') +247.120 000.184 000.184: require('mason-core.managers.luarocks') +247.268 000.141 000.141: require('mason-core.managers.npm') +247.446 000.171 000.171: require('mason-core.managers.pip3') +247.459 004.027 000.192: require('mason-core.package.version-check') +247.472 005.702 000.147: require('mason-core.package') +247.697 000.125 000.125: require('mason-registry.lua-language-server') +248.154 000.144 000.144: require('mason-registry.clangd') +248.338 000.142 000.142: require('mason-registry.rust-analyzer') +248.567 000.079 000.079: require('mason-core.notify') +248.681 000.104 000.104: require('mason-core.functional.number') +248.744 000.395 000.212: require('mason-lspconfig.api.command') +248.751 016.895 002.084: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +250.216 000.149 000.149: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/man.lua +250.464 010.291: loading rtp plugins +252.317 000.130 000.130: require('Comment.config') +252.432 000.105 000.105: require('Comment.utils') +252.532 000.092 000.092: require('Comment.opfunc') +252.631 000.092 000.092: require('Comment.extra') +252.648 000.616 000.196: require('Comment.api') +253.164 001.202 000.586: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +253.955 000.088 000.088: require('luasnip.util.types') +254.062 000.098 000.098: require('luasnip.util.ext_opts') +254.171 000.101 000.101: require('luasnip.extras.filetype_functions') +254.272 000.094 000.094: require('luasnip.session') +254.636 000.137 000.137: require('luasnip.util.util') +254.743 000.099 000.099: require('luasnip.nodes.util') +254.843 000.092 000.092: require('luasnip.util.events') +254.861 000.475 000.147: require('luasnip.nodes.node') +255.012 000.094 000.094: require('luasnip.util.extend_decorator') +255.023 000.743 000.175: require('luasnip.nodes.insertNode') +255.408 000.109 000.109: require('luasnip.util.mark') +255.695 000.123 000.123: require('luasnip.nodes.textNode') +256.595 000.792 000.792: require('luasnip.util._builtin_vars') +256.841 001.133 000.341: require('luasnip.util.environ') +256.963 000.111 000.111: require('luasnip.util.pattern_tokenizer') +257.055 000.084 000.084: require('luasnip.util.dict') +257.172 000.110 000.110: require('luasnip.session.snippet_collection') +257.232 001.814 000.254: require('luasnip.nodes.snippet') +257.291 002.263 000.339: require('luasnip.nodes.choiceNode') +257.465 000.139 000.139: require('luasnip.nodes.functionNode') +257.663 000.187 000.187: require('luasnip.nodes.dynamicNode') +257.824 000.153 000.153: require('luasnip.nodes.restoreNode') +257.940 000.109 000.109: require('luasnip.extras') +258.135 000.088 000.088: require('luasnip.util.str') +258.144 000.193 000.104: require('luasnip.extras.fmt') +258.239 000.087 000.087: require('luasnip.extras.expand_conditions') +258.565 000.104 000.104: require('luasnip.util.parser.neovim_ast') +268.931 000.123 000.123: require('luasnip.util.directed_graph') +268.952 010.600 010.373: require('luasnip.util.parser.ast_utils') +269.185 000.096 000.096: require('luasnip.util.functions') +269.202 000.243 000.147: require('luasnip.util.parser.ast_parser') +269.421 000.212 000.212: require('luasnip.util.parser.neovim_parser') +269.442 011.193 000.138: require('luasnip.util.parser') +269.543 000.094 000.094: require('luasnip.nodes.absolute_indexer') +269.972 016.251 000.709: require('luasnip.config') +270.152 016.806 000.555: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +271.034 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +271.973 000.123 000.123: require('indent_blankline/utils') +271.982 000.313 000.190: require('indent_blankline') +272.343 000.105 000.105: require('indent_blankline.commands') +272.499 001.006 000.587: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +272.937 000.132 000.132: require('lsp-colors') +273.381 000.626 000.495: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +274.698 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +275.547 000.392 000.392: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +276.124 000.110 000.110: require('cmp.utils.api') +276.308 000.089 000.089: require('cmp.types.cmp') +276.520 000.102 000.102: require('cmp.utils.misc') +276.553 000.238 000.136: require('cmp.types.lsp') +276.641 000.081 000.081: require('cmp.types.vim') +276.647 000.514 000.105: require('cmp.types') +276.740 000.088 000.088: require('cmp.utils.highlight') +276.942 000.083 000.083: require('cmp.utils.debug') +276.958 000.211 000.128: require('cmp.utils.autocmd') +277.710 001.788 000.865: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +277.977 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +278.441 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +278.924 000.182 000.182: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +279.607 000.095 000.095: require('nvim-treesitter.statusline') +279.735 000.120 000.120: require('nvim-treesitter.query_predicates') +279.743 000.332 000.117: require('nvim-treesitter') +280.880 000.218 000.218: require('vim.treesitter.highlighter') +281.220 000.738 000.520: require('nvim-treesitter.highlight') +281.584 002.249 001.180: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +282.055 000.247 000.247: require('treesitter-context') +282.065 000.289 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +282.467 000.116 000.116: require('nvim-treesitter-refactor') +282.639 000.316 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +282.999 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +283.374 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +283.801 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +284.568 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +284.926 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +285.791 000.378 000.378: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +286.575 000.492 000.492: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +287.223 000.361 000.361: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +288.060 000.588 000.588: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +288.358 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +288.635 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +289.572 010.432: loading packages +291.291 000.474 000.474: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +295.675 005.526 005.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +296.520 000.147 000.147: require('cmp.utils.char') +296.536 000.263 000.115: require('cmp.utils.str') +296.633 000.090 000.090: require('cmp.utils.pattern') +296.969 000.081 000.081: require('cmp.utils.buffer') +296.982 000.246 000.166: require('cmp.utils.keymap') +296.995 000.354 000.108: require('cmp.utils.feedkeys') +297.107 000.107 000.107: require('cmp.utils.async') +297.291 000.081 000.081: require('cmp.utils.cache') +297.301 000.186 000.104: require('cmp.context') +297.636 000.107 000.107: require('cmp.config.mapping') +297.858 000.108 000.108: require('cmp.config.compare') +297.868 000.220 000.112: require('cmp.config.default') +297.896 000.466 000.139: require('cmp.config') +298.116 000.086 000.086: require('cmp.matcher') +298.130 000.228 000.142: require('cmp.entry') +298.150 000.844 000.150: require('cmp.source') +298.347 000.087 000.087: require('cmp.utils.event') +298.569 000.111 000.111: require('cmp.utils.window') +298.577 000.222 000.112: require('cmp.view.docs_view') +298.733 000.151 000.151: require('cmp.view.custom_entries_view') +298.868 000.128 000.128: require('cmp.view.wildmenu_entries_view') +298.986 000.112 000.112: require('cmp.view.native_entries_view') +299.096 000.102 000.102: require('cmp.view.ghost_text_view') +299.114 000.959 000.156: require('cmp.view') +299.197 003.078 000.275: require('cmp.core') +299.687 000.092 000.092: require('cmp.config.sources') +299.782 000.085 000.085: require('cmp.config.window') +299.886 003.913 000.659: require('cmp') +300.287 000.084 000.084: require('cmp_buffer.timer') +300.296 000.211 000.127: require('cmp_buffer.buffer') +300.304 000.319 000.108: require('cmp_buffer.source') +300.309 000.416 000.097: require('cmp_buffer') +300.342 004.448 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +300.758 000.175 000.175: require('cmp_cmdline') +300.793 000.281 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +301.292 000.176 000.176: require('cmp_nvim_lsp.source') +301.303 000.288 000.112: require('cmp_nvim_lsp') +301.353 000.407 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +301.714 000.146 000.146: require('cmp_path') +301.753 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +302.079 000.105 000.105: require('cmp_luasnip') +302.261 000.359 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +302.459 001.620: loading after plugins +302.488 000.029: inits 3 +302.501 000.013: reading ShaDa +302.942 000.097 000.097: require('luasnip.loaders._caches') +303.083 000.132 000.132: require('luasnip.util.path') +303.202 000.111 000.111: require('luasnip.loaders.util') +303.527 000.159 000.159: require('luasnip.loaders') +303.585 000.375 000.215: require('luasnip') +303.592 000.859 000.145: require('luasnip.loaders.from_lua') +303.889 000.122 000.122: require('luasnip.nodes.snippetProxy') +303.901 000.254 000.133: require('luasnip.loaders.from_snipmate') +304.069 000.123 000.123: require('luasnip.loaders.from_vscode') +305.197 001.459: opening buffers +305.422 000.225: BufEnter autocommands +305.429 000.007: editing files in windows +322.290 000.943 000.943: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.092 001.092: --- NVIM STARTING --- +027.470 026.378: event init +043.953 016.484: early init +045.599 001.646: locale set +051.045 005.446: init first window +060.894 009.849: inits 1 +060.923 000.029: window checked +060.933 000.011: parsing arguments +071.709 000.123 000.123: require('vim.shared') +071.945 000.108 000.108: require('vim._meta') +071.950 000.231 000.123: require('vim._editor') +071.954 000.411 000.057: require('vim._init_packages') +071.957 010.613: init lua interpreter +072.034 000.077: expanding arguments +073.708 001.674: inits 2 +074.323 000.616: init highlight +074.327 000.004: waiting for UI +078.106 003.778: done waiting for UI +078.157 000.052: init screen for UI +078.520 000.363: init default mappings +078.555 000.035: init default autocommands +088.938 004.488 004.488: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/ftplugin.vim +090.930 000.943 000.943: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/indent.vim +091.231 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim +091.243 000.084 000.057: sourcing /etc/xdg/nvim/sysinit.vim +105.580 014.174 014.174: require('impatient') +105.713 000.118 000.118: require('impatient.profile') +109.123 000.739 000.739: require('keys') +111.607 002.472 002.472: require('opts') +112.518 000.214 000.214: require('packer.util') +112.571 000.683 000.470: require('packer') +113.172 000.202 000.202: require('packer.log') +113.182 000.366 000.164: require('packer.async') +113.454 000.161 000.161: require('packer.result') +113.465 000.277 000.116: require('packer.jobs') +113.478 000.858 000.215: require('packer.plugin_utils') +113.774 000.272 000.272: require('packer.snapshot') +114.919 003.300 001.486: require('pack') +116.141 000.252 000.252: require('vim.treesitter.language') +116.161 000.730 000.479: require('vim.treesitter.query') +117.088 000.211 000.211: require('vim.treesitter.languagetree') +117.193 000.526 000.315: require('vim.treesitter') +117.477 001.084 000.558: require('nvim-treesitter.parsers') +117.613 000.127 000.127: require('nvim-treesitter.utils') +117.627 001.344 000.133: require('nvim-treesitter.ts_utils') +117.641 001.470 000.126: require('nvim-treesitter.tsrange') +117.738 000.090 000.090: require('nvim-treesitter.caching') +117.759 002.507 000.217: require('nvim-treesitter.query') +117.790 002.780 000.273: require('nvim-treesitter.configs') +118.152 000.107 000.107: require('nvim-treesitter.info') +118.293 000.132 000.132: require('nvim-treesitter.shell_command_selectors') +118.339 000.451 000.212: require('nvim-treesitter.install') +156.898 041.970 038.738: require('plugins.treesitter') +157.216 000.091 000.091: require('telescope._extensions') +157.226 000.195 000.105: require('telescope') +157.946 000.092 000.092: require('plenary.bit') +158.045 000.090 000.090: require('plenary.functional') +158.093 000.029 000.029: require('ffi') +158.116 000.407 000.196: require('plenary.path') +158.132 000.520 000.113: require('plenary.strings') +158.310 000.173 000.173: require('telescope.deprecated') +158.887 000.298 000.298: require('plenary.log') +159.000 000.494 000.196: require('telescope.log') +159.285 000.138 000.138: require('plenary.job') +159.380 000.086 000.086: require('telescope.state') +159.395 000.386 000.162: require('telescope.utils') +159.405 001.086 000.207: require('telescope.sorters') +159.514 000.086 000.086: require('vim.inspect') +160.442 000.019 000.019: require('vim.F') +164.246 006.778 004.895: require('telescope.config') +164.541 000.161 000.161: require('plenary.window.border') +164.687 000.136 000.136: require('plenary.window') +164.772 000.076 000.076: require('plenary.popup.utils') +164.780 000.520 000.147: require('plenary.popup') +164.894 000.108 000.108: require('telescope.pickers.scroller') +164.993 000.091 000.091: require('telescope.actions.state') +165.092 000.092 000.092: require('telescope.actions.utils') +165.296 000.095 000.095: require('telescope.actions.mt') +165.373 000.274 000.179: require('telescope.actions.set') +165.577 000.097 000.097: require('telescope.config.resolve') +165.583 000.204 000.107: require('telescope.pickers.entry_display') +165.670 000.081 000.081: require('telescope.from_entry') +166.061 008.829 000.680: require('telescope.actions') +166.884 000.089 000.089: require('plenary.tbl') +166.896 000.201 000.112: require('plenary.vararg.rotate') +166.900 000.295 000.094: require('plenary.vararg') +167.037 000.125 000.125: require('plenary.errors') +167.063 000.564 000.144: require('plenary.async.async') +167.168 000.098 000.098: require('plenary.async.structs') +167.185 000.805 000.142: require('plenary.async.control') +167.596 000.295 000.295: require('telescope.make_entry') +168.063 000.142 000.142: require('plenary.async.util') +168.070 000.240 000.098: require('plenary.async.tests') +168.076 000.347 000.107: require('plenary.async') +168.088 000.480 000.133: require('telescope.finders.async_static_finder') +168.440 000.106 000.106: require('plenary.class') +168.476 000.270 000.163: require('telescope._') +168.482 000.389 000.119: require('telescope.finders.async_oneshot_finder') +168.596 000.108 000.108: require('telescope.finders.async_job_finder') +168.611 001.418 000.147: require('telescope.finders') +169.013 000.151 000.151: require('telescope.debounce') +169.240 000.217 000.217: require('telescope.mappings') +169.382 000.132 000.132: require('telescope.pickers.highlights') +169.541 000.146 000.146: require('telescope.pickers.window') +169.887 000.127 000.127: require('telescope.algos.linked_list') +169.898 000.304 000.178: require('telescope.entry_manager') +170.005 000.102 000.102: require('telescope.pickers.multi') +170.047 001.428 000.376: require('telescope.pickers') +170.069 003.829 000.178: require('telescope.builtin.__lsp') +170.126 004.055 000.227: require('telescope.builtin') +170.538 000.280 000.280: require('fzf_lib') +170.556 000.422 000.142: require('telescope._extensions.fzf') +171.114 000.177 000.177: require('telescope._extensions.file_browser.utils') +171.256 000.523 000.345: require('telescope._extensions.file_browser.actions') +171.607 000.207 000.207: require('telescope._extensions.file_browser.make_entry') +171.830 000.210 000.210: require('plenary.scandir') +171.885 000.621 000.204: require('telescope._extensions.file_browser.finders') +172.019 000.126 000.126: require('telescope._extensions.file_browser.picker') +172.179 000.153 000.153: require('telescope._extensions.file_browser.config') +172.195 001.582 000.159: require('telescope._extensions.file_browser') +177.155 000.039 000.039: require('vim.keymap') +177.505 020.593 005.471: require('plugins.telescope') +179.728 000.170 000.170: require('notify.util.queue') +179.739 000.342 000.172: require('notify.util') +179.999 000.254 000.254: require('notify.config.highlights') +180.010 000.712 000.116: require('notify.config') +180.101 000.086 000.086: require('notify.stages') +180.201 000.092 000.092: require('notify.service.notification') +180.473 000.076 000.076: require('notify.animate.spring') +180.479 000.174 000.098: require('notify.animate') +180.488 000.281 000.107: require('notify.windows') +180.766 000.095 000.095: require('notify.service.buffer.highlights') +180.775 000.195 000.100: require('notify.service.buffer') +180.780 000.287 000.091: require('notify.service') +180.878 000.093 000.093: require('notify.stages.util') +180.888 001.802 000.250: require('notify') +180.980 000.087 000.087: require('nvim-tree.iterators.node-iterator') +181.047 002.073 000.184: require('nvim-tree.utils') +181.058 002.174 000.101: require('nvim-tree.events') +181.322 000.081 000.081: require('nvim-tree.log') +181.491 000.161 000.161: require('nvim-tree.git.utils') +181.595 000.097 000.097: require('nvim-tree.git.runner') +181.696 000.094 000.094: require('nvim-tree.watcher') +181.707 000.555 000.122: require('nvim-tree.git') +181.802 000.090 000.090: require('nvim-tree.explorer.watch') +181.935 000.086 000.086: require('nvim-tree.explorer.common') +182.126 000.098 000.098: require('nvim-tree.explorer.node-builders') +182.222 000.087 000.087: require('nvim-tree.explorer.sorters') +182.325 000.086 000.086: require('nvim-tree.explorer.filters') +182.606 000.178 000.178: require('nvim-tree.view') +182.618 000.286 000.108: require('nvim-tree.live-filter') +182.623 000.680 000.123: require('nvim-tree.explorer.explore') +182.725 000.098 000.098: require('nvim-tree.explorer.reload') +182.733 001.669 000.160: require('nvim-tree.explorer') +182.740 003.940 000.096: require('nvim-tree.core') +182.854 000.110 000.110: require('nvim-tree.diagnostics') +182.951 000.089 000.089: require('nvim-tree.renderer.components.padding') +183.045 000.087 000.087: require('nvim-tree.renderer.components.icons') +183.143 000.092 000.092: require('nvim-tree.renderer.components.full-name') +183.231 000.081 000.081: require('nvim-tree.renderer.help') +183.343 000.105 000.105: require('nvim-tree.renderer.components.git') +183.459 000.110 000.110: require('nvim-tree.renderer.builder') +183.554 000.088 000.088: require('nvim-tree.marks') +183.569 004.957 000.255: require('nvim-tree.renderer') +183.714 000.133 000.133: require('nvim-tree.actions.tree-modifiers.collapse-all') +183.809 000.088 000.088: require('nvim-tree.actions.root.dir-up') +183.909 000.093 000.093: require('nvim-tree.actions.root.change-dir') +184.006 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') +184.106 000.090 000.090: require('nvim-tree.actions.finders.find-file') +184.111 006.027 000.576: require('nvim-tree.lib') +184.209 000.093 000.093: require('nvim-tree.colors') +184.329 000.110 000.110: require('nvim-tree.legacy') +184.447 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') +184.645 000.092 000.092: require('nvim-tree.actions.tree-modifiers.expand-all') +184.740 000.088 000.088: require('nvim-tree.actions.tree-modifiers.toggles') +184.847 000.092 000.092: require('nvim-tree.actions.fs.create-file') +184.944 000.088 000.088: require('nvim-tree.actions.fs.rename-file') +185.063 000.112 000.112: require('nvim-tree.actions.fs.trash') +185.164 000.093 000.093: require('nvim-tree.actions.fs.remove-file') +185.257 000.084 000.084: require('nvim-tree.actions.moves.parent') +185.347 000.083 000.083: require('nvim-tree.actions.moves.sibling') +185.436 000.081 000.081: require('nvim-tree.actions.moves.item') +185.544 000.090 000.090: require('nvim-tree.actions.finders.search-node') +185.634 000.083 000.083: require('nvim-tree.actions.node.run-command') +185.729 000.089 000.089: require('nvim-tree.actions.node.file-popup') +185.840 000.104 000.104: require('nvim-tree.actions.node.system-open') +185.937 000.087 000.087: require('nvim-tree.marks.bulk-move') +185.943 001.485 000.221: require('nvim-tree.actions.dispatch') +185.973 008.278 000.454: require('nvim-tree') +186.053 000.074 000.074: require('nvim-tree.config') +192.349 000.155 000.155: require('nvim-tree.actions') +192.479 000.113 000.113: require('nvim-tree.actions.node.open-file') +196.244 000.112 000.112: require('nvim-tree.marks.navigation') +196.255 000.312 000.199: require('nvim-tree.api') +196.284 000.470 000.158: require('nvim-tree.keymap') +197.266 000.487 000.487: require('nvim-web-devicons') +202.059 024.544 014.966: require('plugins.nvim-tree') +202.450 000.103 000.103: require('lualine_require') +203.033 000.835 000.732: require('lualine') +203.120 000.078 000.078: require('plugins.linecolor') +211.064 000.113 000.113: require('lualine.utils.mode') +213.472 011.399 010.372: require('plugins.lualine') +213.595 122.306 002.998: sourcing /home/sxrdusr/.config/nvim/init.lua +213.617 007.239: sourcing vimrc file(s) +214.062 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +215.663 000.110 000.110: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.lua +218.896 002.865 002.865: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.vim +222.633 000.464 000.464: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/synload.vim +222.910 003.277 002.813: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/syntax.vim +230.982 002.165 002.165: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/gzip.vim +231.269 000.080 000.080: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/health.vim +234.916 002.388 002.388: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +235.394 004.055 001.667: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchit.vim +235.851 000.389 000.389: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchparen.vim +235.996 000.075 000.075: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/netrwPlugin.vim +236.395 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +236.416 000.357 000.333: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/rplugin.vim +236.661 000.185 000.185: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/shada.vim +236.780 000.051 000.051: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/spellfile.vim +236.906 000.061 000.061: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tarPlugin.vim +237.061 000.091 000.091: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tohtml.vim +237.174 000.046 000.046: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tutor.vim +238.457 001.220 001.220: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/zipPlugin.vim +238.752 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +240.127 000.153 000.153: require('lspsaga') +240.603 000.125 000.125: require('lspsaga.window') +240.623 000.279 000.154: require('lspsaga.libs') +241.874 000.487 000.487: require('vim.lsp.log') +242.691 000.807 000.807: require('vim.lsp.protocol') +243.422 000.332 000.332: require('vim.lsp._snippet') +243.615 000.184 000.184: require('vim.highlight') +243.648 000.946 000.430: require('vim.lsp.util') +243.726 002.598 000.358: require('vim.lsp.handlers') +244.087 000.352 000.352: require('vim.lsp.rpc') +244.346 000.248 000.248: require('vim.lsp.sync') +244.661 000.306 000.306: require('vim.lsp.buf') +244.922 000.253 000.253: require('vim.lsp.diagnostic') +245.190 000.257 000.257: require('vim.lsp.codelens') +245.375 004.624 000.610: require('vim.lsp') +245.483 000.096 000.096: require('lspsaga.wrap') +245.499 004.869 000.149: require('lspsaga.codeaction') +245.544 005.350 000.202: require('lspsaga.lightbulb') +245.715 000.129 000.129: require('lspsaga.lspkind') +245.979 000.083 000.083: require('mason-core.path') +246.000 000.191 000.108: require('mason.settings') +246.299 000.084 000.084: require('mason-core.functional.data') +246.308 000.184 000.100: require('mason-core.functional.function') +246.351 000.344 000.159: require('mason-core.platform') +246.356 000.629 000.095: require('mason') +246.650 000.148 000.148: require('mason-core.functional') +246.787 000.115 000.115: require('mason-core.functional.list') +246.828 000.447 000.184: require('mason.api.command') +247.090 000.151 000.151: require('mason-core.log') +247.099 000.265 000.115: require('mason-lspconfig') +247.239 000.098 000.098: require('mason-lspconfig.settings') +247.367 000.107 000.107: require('mason-lspconfig.lspconfig_hook') +247.717 000.343 000.343: require('lspconfig.util') +247.999 000.096 000.096: require('mason-core.functional.table') +248.100 000.356 000.260: require('mason-lspconfig.mappings.server') +248.444 000.109 000.109: require('mason-core.async') +248.538 000.084 000.084: require('mason-core.async.uv') +248.552 000.314 000.121: require('mason-core.fs') +248.651 000.092 000.092: require('mason-core.optional') +248.748 000.089 000.089: require('mason-core.EventEmitter') +248.943 000.189 000.189: require('mason-registry.index') +248.967 000.858 000.174: require('mason-registry') +249.068 000.094 000.094: require('mason-lspconfig.server_config_extensions') +249.236 000.119 000.119: require('lspconfig.configs') +249.356 000.112 000.112: require('lspconfig.server_configurations.omnisharp') +249.701 000.098 000.098: require('mason-lspconfig.ensure_installed') +250.043 000.099 000.099: require('mason-core.result') +250.531 000.264 000.264: require('mason-core.process') +250.642 000.095 000.095: require('mason-core.functional.relation') +250.743 000.090 000.090: require('mason-core.functional.logic') +250.762 000.589 000.140: require('mason-core.spawn') +250.889 000.119 000.119: require('mason-core.receipt') +251.006 000.101 000.101: require('mason-core.functional.string') +251.040 000.990 000.181: require('mason-core.installer.context') +251.152 000.105 000.105: require('mason-core.installer.linker') +251.255 000.096 000.096: require('mason-core.async.control') +251.263 001.435 000.145: require('mason-core.installer') +251.392 000.124 000.124: require('mason-core.installer.handle') +251.882 000.093 000.093: require('mason-core.managers.powershell') +251.892 000.198 000.105: require('mason-core.fetch') +251.896 000.286 000.089: require('mason-core.managers.cargo.client') +251.931 000.430 000.143: require('mason-core.managers.cargo') +252.157 000.220 000.220: require('mason-core.managers.composer') +252.349 000.184 000.184: require('mason-core.managers.gem') +252.472 000.116 000.116: require('mason-core.managers.git') +252.713 000.124 000.124: require('mason-core.managers.std') +252.826 000.107 000.107: require('mason-core.managers.github.client') +252.842 000.363 000.132: require('mason-core.managers.github') +253.075 000.228 000.228: require('mason-core.managers.go') +253.279 000.192 000.192: require('mason-core.managers.luarocks') +255.465 002.178 002.178: require('mason-core.managers.npm') +255.647 000.171 000.171: require('mason-core.managers.pip3') +255.660 004.254 000.173: require('mason-core.package.version-check') +255.672 005.963 000.150: require('mason-core.package') +255.814 000.120 000.120: require('mason-registry.lua-language-server') +256.247 000.143 000.143: require('mason-registry.clangd') +256.412 000.142 000.142: require('mason-registry.rust-analyzer') +256.636 000.080 000.080: require('mason-core.notify') +256.741 000.092 000.092: require('mason-core.functional.number') +256.804 000.378 000.207: require('mason-lspconfig.api.command') +256.810 017.922 002.017: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +258.334 000.124 000.124: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/man.lua +258.674 011.862: loading rtp plugins +260.488 000.126 000.126: require('Comment.config') +260.600 000.103 000.103: require('Comment.utils') +260.698 000.091 000.091: require('Comment.opfunc') +260.790 000.085 000.085: require('Comment.extra') +260.805 000.590 000.185: require('Comment.api') +261.303 001.171 000.580: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +262.020 000.084 000.084: require('luasnip.util.types') +262.125 000.095 000.095: require('luasnip.util.ext_opts') +262.226 000.094 000.094: require('luasnip.extras.filetype_functions') +262.320 000.088 000.088: require('luasnip.session') +262.672 000.136 000.136: require('luasnip.util.util') +262.777 000.096 000.096: require('luasnip.nodes.util') +262.872 000.088 000.088: require('luasnip.util.events') +262.889 000.459 000.138: require('luasnip.nodes.node') +263.033 000.092 000.092: require('luasnip.util.extend_decorator') +263.047 000.717 000.166: require('luasnip.nodes.insertNode') +263.389 000.102 000.102: require('luasnip.util.mark') +263.702 000.152 000.152: require('luasnip.nodes.textNode') +264.565 000.754 000.754: require('luasnip.util._builtin_vars') +264.807 001.092 000.338: require('luasnip.util.environ') +264.926 000.108 000.108: require('luasnip.util.pattern_tokenizer') +265.014 000.082 000.082: require('luasnip.util.dict') +265.129 000.108 000.108: require('luasnip.session.snippet_collection') +265.186 001.787 000.246: require('luasnip.nodes.snippet') +265.245 002.193 000.304: require('luasnip.nodes.choiceNode') +265.415 000.135 000.135: require('luasnip.nodes.functionNode') +265.607 000.182 000.182: require('luasnip.nodes.dynamicNode') +265.760 000.145 000.145: require('luasnip.nodes.restoreNode') +265.872 000.104 000.104: require('luasnip.extras') +266.061 000.084 000.084: require('luasnip.util.str') +266.070 000.187 000.103: require('luasnip.extras.fmt') +266.166 000.089 000.089: require('luasnip.extras.expand_conditions') +266.477 000.098 000.098: require('luasnip.util.parser.neovim_ast') +279.924 000.122 000.122: require('luasnip.util.directed_graph') +279.941 013.672 013.452: require('luasnip.util.parser.ast_utils') +280.168 000.093 000.093: require('luasnip.util.functions') +280.187 000.238 000.145: require('luasnip.util.parser.ast_parser') +280.414 000.221 000.221: require('luasnip.util.parser.neovim_parser') +280.432 014.256 000.125: require('luasnip.util.parser') +280.551 000.113 000.113: require('luasnip.nodes.absolute_indexer') +281.168 019.368 000.886: require('luasnip.config') +281.363 019.881 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +282.264 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +283.237 000.123 000.123: require('indent_blankline/utils') +283.246 000.329 000.206: require('indent_blankline') +283.723 000.159 000.159: require('indent_blankline.commands') +283.889 001.158 000.670: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +284.318 000.120 000.120: require('lsp-colors') +284.791 000.644 000.524: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +286.230 001.057 001.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +287.117 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +287.689 000.109 000.109: require('cmp.utils.api') +287.867 000.085 000.085: require('cmp.types.cmp') +288.082 000.103 000.103: require('cmp.utils.misc') +288.116 000.242 000.139: require('cmp.types.lsp') +288.203 000.080 000.080: require('cmp.types.vim') +288.209 000.511 000.103: require('cmp.types') +288.300 000.087 000.087: require('cmp.utils.highlight') +288.468 000.075 000.075: require('cmp.utils.debug') +288.487 000.180 000.104: require('cmp.utils.autocmd') +289.175 001.687 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +289.438 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +289.877 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +290.371 000.202 000.202: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +291.056 000.093 000.093: require('nvim-treesitter.statusline') +291.170 000.105 000.105: require('nvim-treesitter.query_predicates') +291.177 000.314 000.116: require('nvim-treesitter') +292.449 000.351 000.351: require('vim.treesitter.highlighter') +292.800 000.880 000.529: require('nvim-treesitter.highlight') +293.462 002.680 001.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +293.983 000.281 000.281: require('treesitter-context') +293.994 000.339 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +294.391 000.113 000.113: require('nvim-treesitter-refactor') +294.702 000.452 000.339: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +295.066 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +295.444 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +295.810 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +296.594 000.435 000.435: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +296.954 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +297.994 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +298.775 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +299.392 000.369 000.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +300.231 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +300.559 000.031 000.031: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +300.840 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +302.316 010.862: loading packages +304.000 000.477 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +308.385 005.527 005.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +309.211 000.138 000.138: require('cmp.utils.char') +309.226 000.246 000.108: require('cmp.utils.str') +309.320 000.084 000.084: require('cmp.utils.pattern') +309.610 000.079 000.079: require('cmp.utils.buffer') +309.623 000.201 000.121: require('cmp.utils.keymap') +309.635 000.307 000.107: require('cmp.utils.feedkeys') +309.744 000.104 000.104: require('cmp.utils.async') +309.917 000.078 000.078: require('cmp.utils.cache') +309.929 000.177 000.100: require('cmp.context') +310.244 000.102 000.102: require('cmp.config.mapping') +310.511 000.110 000.110: require('cmp.config.compare') +310.519 000.263 000.153: require('cmp.config.default') +310.547 000.500 000.136: require('cmp.config') +310.761 000.084 000.084: require('cmp.matcher') +310.780 000.227 000.142: require('cmp.entry') +310.799 000.864 000.138: require('cmp.source') +310.988 000.084 000.084: require('cmp.utils.event') +311.203 000.111 000.111: require('cmp.utils.window') +311.211 000.215 000.103: require('cmp.view.docs_view') +311.357 000.142 000.142: require('cmp.view.custom_entries_view') +311.490 000.126 000.126: require('cmp.view.wildmenu_entries_view') +311.604 000.107 000.107: require('cmp.view.native_entries_view') +311.710 000.100 000.100: require('cmp.view.ghost_text_view') +311.727 000.924 000.150: require('cmp.view') +311.803 002.979 000.272: require('cmp.core') +312.217 000.087 000.087: require('cmp.config.sources') +312.306 000.080 000.080: require('cmp.config.window') +312.410 003.722 000.577: require('cmp') +312.773 000.080 000.080: require('cmp_buffer.timer') +312.784 000.190 000.110: require('cmp_buffer.buffer') +312.790 000.291 000.101: require('cmp_buffer.source') +312.794 000.377 000.086: require('cmp_buffer') +312.824 004.222 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +313.238 000.172 000.172: require('cmp_cmdline') +313.309 000.311 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +313.744 000.113 000.113: require('cmp_nvim_lsp.source') +313.752 000.215 000.102: require('cmp_nvim_lsp') +313.803 000.339 000.125: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +314.151 000.135 000.135: require('cmp_path') +314.182 000.229 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +314.508 000.108 000.108: require('cmp_luasnip') +314.576 000.248 000.140: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +314.766 001.573: loading after plugins +314.793 000.027: inits 3 +314.807 000.013: reading ShaDa +315.224 000.089 000.089: require('luasnip.loaders._caches') +315.359 000.126 000.126: require('luasnip.util.path') +315.478 000.111 000.111: require('luasnip.loaders.util') +315.758 000.127 000.127: require('luasnip.loaders') +315.808 000.320 000.193: require('luasnip') +315.817 000.790 000.144: require('luasnip.loaders.from_lua') +316.103 000.118 000.118: require('luasnip.nodes.snippetProxy') +316.113 000.248 000.130: require('luasnip.loaders.from_snipmate') +316.273 000.116 000.116: require('luasnip.loaders.from_vscode') +316.685 000.723: opening buffers +316.958 000.273: BufEnter autocommands +316.964 000.006: editing files in windows +332.727 000.884 000.884: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.446 001.446: --- NVIM STARTING --- +034.391 032.946: event init +053.253 018.862: early init +055.138 001.885: locale set +061.173 006.035: init first window +072.093 010.921: inits 1 +072.119 000.025: window checked +072.127 000.008: parsing arguments +084.299 000.253 000.253: require('vim.shared') +084.825 000.245 000.245: require('vim._meta') +084.838 000.515 000.270: require('vim._editor') +084.846 000.907 000.138: require('vim._init_packages') +084.854 011.820: init lua interpreter +085.014 000.160: expanding arguments +086.871 001.857: inits 2 +088.296 001.425: init highlight +088.307 000.011: waiting for UI +091.281 002.974: done waiting for UI +091.320 000.039: init screen for UI +091.587 000.268: init default mappings +091.617 000.029: init default autocommands +105.862 004.615 004.615: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/ftplugin.vim +109.042 001.072 001.072: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/indent.vim +109.527 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim +109.553 000.203 000.145: sourcing /etc/xdg/nvim/sysinit.vim +124.517 008.169 008.169: require('keys') +127.624 003.092 003.092: require('opts') +131.344 000.876 000.876: require('packer.util') +131.441 003.319 002.443: require('packer') +134.792 001.317 001.317: require('packer.log') +134.809 002.095 000.778: require('packer.async') +135.940 000.481 000.481: require('packer.result') +135.957 001.143 000.661: require('packer.jobs') +135.990 004.473 001.236: require('packer.plugin_utils') +137.171 001.140 001.140: require('packer.snapshot') +138.112 010.477 001.545: require('pack') +174.631 004.832 004.832: require('vim.treesitter.language') +174.731 034.723 029.891: require('vim.treesitter.query') +182.498 001.394 001.394: require('vim.treesitter.languagetree') +182.620 003.179 001.784: require('vim.treesitter') +182.807 005.430 002.251: require('nvim-treesitter.parsers') +183.323 000.510 000.510: require('nvim-treesitter.utils') +183.337 007.243 001.303: require('nvim-treesitter.ts_utils') +183.347 008.606 001.362: require('nvim-treesitter.tsrange') +183.675 000.325 000.325: require('nvim-treesitter.caching') +183.693 044.437 000.783: require('nvim-treesitter.query') +183.713 045.495 001.058: require('nvim-treesitter.configs') +185.283 000.496 000.496: require('nvim-treesitter.info') +185.901 000.611 000.611: require('nvim-treesitter.shell_command_selectors') +185.950 002.216 001.109: require('nvim-treesitter.install') +226.316 088.194 040.483: require('plugins.treesitter') +228.281 000.510 000.510: require('telescope._extensions') +228.291 001.388 000.878: require('telescope') +233.980 000.661 000.661: require('plenary.bit') +234.407 000.418 000.418: require('plenary.functional') +234.465 000.034 000.034: require('ffi') +234.502 002.597 001.485: require('plenary.path') +234.518 003.286 000.689: require('plenary.strings') +234.981 000.459 000.459: require('telescope.deprecated') +237.389 000.899 000.899: require('plenary.log') +237.465 001.393 000.494: require('telescope.log') +239.791 000.910 000.910: require('plenary.job') +240.261 000.462 000.462: require('telescope.state') +240.275 002.804 001.432: require('telescope.utils') +240.286 005.300 001.103: require('telescope.sorters') +240.377 000.064 000.064: require('vim.inspect') +240.801 000.009 000.009: require('vim.F') +243.617 013.288 004.171: require('telescope.config') +245.047 000.635 000.635: require('plenary.window.border') +245.396 000.343 000.343: require('plenary.window') +245.741 000.339 000.339: require('plenary.popup.utils') +245.751 002.123 000.807: require('plenary.popup') +246.288 000.534 000.534: require('telescope.pickers.scroller') +246.712 000.418 000.418: require('telescope.actions.state') +247.221 000.504 000.504: require('telescope.actions.utils') +248.426 000.575 000.575: require('telescope.actions.mt') +248.453 001.226 000.652: require('telescope.actions.set') +249.553 000.570 000.570: require('telescope.config.resolve') +249.638 001.181 000.611: require('telescope.pickers.entry_display') +250.094 000.451 000.451: require('telescope.from_entry') +250.351 022.055 002.330: require('telescope.actions') +254.012 000.350 000.350: require('plenary.tbl') +254.026 000.776 000.426: require('plenary.vararg.rotate') +254.030 001.103 000.327: require('plenary.vararg') +254.379 000.345 000.345: require('plenary.errors') +254.392 001.900 000.451: require('plenary.async.async') +254.792 000.396 000.396: require('plenary.async.structs') +254.807 002.825 000.529: require('plenary.async.control') +257.266 001.853 001.853: require('telescope.make_entry') +258.923 000.455 000.455: require('plenary.async.util') +258.934 000.802 000.347: require('plenary.async.tests') +258.939 001.187 000.385: require('plenary.async') +258.944 001.672 000.485: require('telescope.finders.async_static_finder') +260.499 000.373 000.373: require('plenary.class') +260.528 001.112 000.739: require('telescope._') +260.533 001.586 000.474: require('telescope.finders.async_oneshot_finder') +261.012 000.476 000.476: require('telescope.finders.async_job_finder') +261.026 006.214 000.628: require('telescope.finders') +263.707 000.618 000.618: require('telescope.debounce') +264.575 000.861 000.861: require('telescope.mappings') +265.147 000.563 000.563: require('telescope.pickers.highlights') +265.602 000.448 000.448: require('telescope.pickers.window') +266.839 000.597 000.597: require('telescope.algos.linked_list') +266.852 001.244 000.647: require('telescope.entry_manager') +267.303 000.447 000.447: require('telescope.pickers.multi') +267.343 006.314 002.133: require('telescope.pickers') +267.363 016.250 000.898: require('telescope.builtin.__lsp') +267.438 017.081 000.831: require('telescope.builtin') +268.963 000.874 000.874: require('fzf_lib') +268.976 001.531 000.657: require('telescope._extensions.fzf') +271.538 000.669 000.669: require('telescope._extensions.file_browser.utils') +271.680 002.230 001.561: require('telescope._extensions.file_browser.actions') +273.005 000.728 000.728: require('telescope._extensions.file_browser.make_entry') +274.099 001.086 001.086: require('plenary.scandir') +274.156 002.470 000.656: require('telescope._extensions.file_browser.finders') +274.619 000.457 000.457: require('telescope._extensions.file_browser.picker') +275.155 000.530 000.530: require('telescope._extensions.file_browser.config') +275.162 006.170 000.482: require('telescope._extensions.file_browser') +278.191 000.015 000.015: require('vim.keymap') +278.481 052.148 003.907: require('plugins.telescope') +285.455 000.308 000.308: require('notify.util.queue') +285.467 000.754 000.445: require('notify.util') +285.896 000.425 000.425: require('notify.config.highlights') +285.906 001.633 000.454: require('notify.config') +286.199 000.289 000.289: require('notify.stages') +286.532 000.328 000.328: require('notify.service.notification') +287.750 000.370 000.370: require('notify.animate.spring') +287.757 000.655 000.286: require('notify.animate') +287.764 001.227 000.571: require('notify.windows') +289.020 000.462 000.462: require('notify.service.buffer.highlights') +289.029 000.888 000.426: require('notify.service.buffer') +289.034 001.267 000.380: require('notify.service') +289.541 000.504 000.504: require('notify.stages.util') +289.551 005.996 000.749: require('notify') +289.891 000.337 000.337: require('nvim-tree.iterators.node-iterator') +289.949 007.136 000.803: require('nvim-tree.utils') +289.961 007.521 000.385: require('nvim-tree.events') +291.151 000.375 000.375: require('nvim-tree.log') +291.600 000.442 000.442: require('nvim-tree.git.utils') +292.069 000.463 000.463: require('nvim-tree.git.runner') +292.502 000.427 000.427: require('nvim-tree.watcher') +292.512 002.201 000.494: require('nvim-tree.git') +292.881 000.365 000.365: require('nvim-tree.explorer.watch') +293.219 000.332 000.332: require('nvim-tree.explorer.common') +293.979 000.387 000.387: require('nvim-tree.explorer.node-builders') +294.448 000.427 000.427: require('nvim-tree.explorer.sorters') +294.804 000.350 000.350: require('nvim-tree.explorer.filters') +296.091 000.838 000.838: require('nvim-tree.view') +296.102 001.293 000.455: require('nvim-tree.live-filter') +296.108 002.883 000.427: require('nvim-tree.explorer.explore') +296.528 000.417 000.417: require('nvim-tree.explorer.reload') +296.536 006.571 000.373: require('nvim-tree.explorer') +296.542 014.417 000.324: require('nvim-tree.core') +297.024 000.478 000.478: require('nvim-tree.diagnostics') +297.445 000.416 000.416: require('nvim-tree.renderer.components.padding') +297.856 000.406 000.406: require('nvim-tree.renderer.components.icons') +298.237 000.375 000.375: require('nvim-tree.renderer.components.full-name') +298.610 000.367 000.367: require('nvim-tree.renderer.help') +299.064 000.448 000.448: require('nvim-tree.renderer.components.git') +299.738 000.670 000.670: require('nvim-tree.renderer.builder') +300.117 000.372 000.372: require('nvim-tree.marks') +300.132 018.530 000.582: require('nvim-tree.renderer') +300.461 000.320 000.320: require('nvim-tree.actions.tree-modifiers.collapse-all') +300.771 000.305 000.305: require('nvim-tree.actions.root.dir-up') +301.187 000.412 000.412: require('nvim-tree.actions.root.change-dir') +301.543 000.350 000.350: require('nvim-tree.actions.reloaders.reloaders') +301.898 000.348 000.348: require('nvim-tree.actions.finders.find-file') +301.903 020.827 000.561: require('nvim-tree.lib') +302.310 000.402 000.402: require('nvim-tree.colors') +302.938 000.622 000.622: require('nvim-tree.legacy') +303.510 000.566 000.566: require('nvim-tree.actions.fs.copy-paste') +304.307 000.377 000.377: require('nvim-tree.actions.tree-modifiers.expand-all') +304.608 000.295 000.295: require('nvim-tree.actions.tree-modifiers.toggles') +305.033 000.418 000.418: require('nvim-tree.actions.fs.create-file') +305.373 000.335 000.335: require('nvim-tree.actions.fs.rename-file') +305.812 000.433 000.433: require('nvim-tree.actions.fs.trash') +306.212 000.394 000.394: require('nvim-tree.actions.fs.remove-file') +306.534 000.316 000.316: require('nvim-tree.actions.moves.parent') +306.873 000.333 000.333: require('nvim-tree.actions.moves.sibling') +307.195 000.316 000.316: require('nvim-tree.actions.moves.item') +307.593 000.389 000.389: require('nvim-tree.actions.finders.search-node') +307.893 000.293 000.293: require('nvim-tree.actions.node.run-command') +308.255 000.357 000.357: require('nvim-tree.actions.node.file-popup') +308.639 000.379 000.379: require('nvim-tree.actions.node.system-open') +308.972 000.327 000.327: require('nvim-tree.marks.bulk-move') +308.979 005.461 000.499: require('nvim-tree.actions.dispatch') +309.002 030.359 002.482: require('nvim-tree') +309.279 000.272 000.272: require('nvim-tree.config') +313.941 000.732 000.732: require('nvim-tree.actions') +314.588 000.636 000.636: require('nvim-tree.actions.node.open-file') +319.150 000.373 000.373: require('nvim-tree.marks.navigation') +319.161 000.910 000.538: require('nvim-tree.api') +319.173 001.467 000.556: require('nvim-tree.keymap') +321.363 001.634 001.634: require('nvim-web-devicons') +325.370 046.882 011.781: require('plugins.nvim-tree') +326.951 000.407 000.407: require('lualine_require') +327.467 001.916 001.508: require('lualine') +327.617 000.143 000.143: require('plugins.linecolor') +332.743 000.275 000.275: require('lualine.utils.mode') +339.312 013.933 011.599: require('plugins.lualine') +339.349 229.696 006.802: sourcing /home/sxrdusr/.config/nvim/init.lua +339.368 012.165: sourcing vimrc file(s) +339.660 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +348.941 007.971 007.971: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.lua +350.389 001.116 001.116: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.vim +352.816 000.289 000.289: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/synload.vim +353.026 001.998 001.709: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/syntax.vim +362.102 002.096 002.096: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/gzip.vim +362.366 000.082 000.082: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/health.vim +365.926 002.326 002.326: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +366.374 003.940 001.614: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchit.vim +366.845 000.408 000.408: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchparen.vim +366.988 000.075 000.075: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/netrwPlugin.vim +367.396 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +367.417 000.366 000.342: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/rplugin.vim +367.690 000.199 000.199: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/shada.vim +367.917 000.107 000.107: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/spellfile.vim +368.083 000.077 000.077: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tarPlugin.vim +368.210 000.061 000.061: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tohtml.vim +368.322 000.049 000.049: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tutor.vim +369.032 000.646 000.646: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/zipPlugin.vim +369.289 000.036 000.036: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +376.726 005.767 005.767: require('lspsaga') +378.402 000.532 000.532: require('lspsaga.window') +378.422 001.147 000.615: require('lspsaga.libs') +389.942 001.342 001.342: require('vim.lsp.log') +392.272 002.318 002.318: require('vim.lsp.protocol') +401.933 003.948 003.948: require('vim.lsp._snippet') +403.138 001.193 001.193: require('vim.highlight') +403.242 010.961 005.820: require('vim.lsp.util') +403.387 018.830 004.210: require('vim.lsp.handlers') +405.766 002.373 002.373: require('vim.lsp.rpc') +407.189 001.413 001.413: require('vim.lsp.sync') +409.652 002.454 002.454: require('vim.lsp.buf') +410.617 000.956 000.956: require('vim.lsp.diagnostic') +411.642 001.017 001.017: require('vim.lsp.codelens') +411.828 032.776 005.732: require('vim.lsp') +412.130 000.294 000.294: require('lspsaga.wrap') +412.144 033.717 000.648: require('lspsaga.codeaction') +412.193 035.457 000.593: require('lspsaga.lightbulb') +412.561 000.325 000.325: require('lspsaga.lspkind') +413.496 000.317 000.317: require('mason-core.path') +413.516 000.581 000.264: require('mason.settings') +414.437 000.214 000.214: require('mason-core.functional.data') +414.448 000.531 000.317: require('mason-core.functional.function') +414.490 000.970 000.440: require('mason-core.platform') +414.496 001.923 000.371: require('mason') +415.290 000.369 000.369: require('mason-core.functional') +415.678 000.368 000.368: require('mason-core.functional.list') +415.717 001.197 000.461: require('mason.api.command') +416.606 000.463 000.463: require('mason-core.log') +416.615 000.893 000.430: require('mason-lspconfig') +416.821 000.202 000.202: require('mason-lspconfig.settings') +417.142 000.303 000.303: require('mason-lspconfig.lspconfig_hook') +418.153 001.006 001.006: require('lspconfig.util') +418.901 000.238 000.238: require('mason-core.functional.table') +419.004 000.655 000.418: require('mason-lspconfig.mappings.server') +420.276 000.481 000.481: require('mason-core.async') +420.497 000.214 000.214: require('mason-core.async.uv') +420.511 001.074 000.379: require('mason-core.fs') +420.786 000.271 000.271: require('mason-core.optional') +421.104 000.313 000.313: require('mason-core.EventEmitter') +421.522 000.412 000.412: require('mason-registry.index') +421.542 002.532 000.462: require('mason-registry') +421.738 000.191 000.191: require('mason-lspconfig.server_config_extensions') +422.345 000.601 000.601: require('lspconfig.configs') +422.688 000.337 000.337: require('lspconfig.server_configurations.omnisharp') +422.997 000.230 000.230: require('mason-lspconfig.ensure_installed') +424.154 000.316 000.316: require('mason-core.result') +425.593 000.568 000.568: require('mason-core.process') +425.846 000.244 000.244: require('mason-core.functional.relation') +426.105 000.249 000.249: require('mason-core.functional.logic') +426.120 001.428 000.367: require('mason-core.spawn') +426.454 000.329 000.329: require('mason-core.receipt') +426.731 000.262 000.262: require('mason-core.functional.string') +426.762 002.602 000.582: require('mason-core.installer.context') +427.049 000.282 000.282: require('mason-core.installer.linker') +427.332 000.278 000.278: require('mason-core.async.control') +427.342 003.909 000.431: require('mason-core.installer') +427.790 000.445 000.445: require('mason-core.installer.handle') +429.210 000.257 000.257: require('mason-core.managers.powershell') +429.217 000.596 000.339: require('mason-core.fetch') +429.221 000.800 000.204: require('mason-core.managers.cargo.client') +429.295 001.234 000.434: require('mason-core.managers.cargo') +429.685 000.384 000.384: require('mason-core.managers.composer') +430.162 000.472 000.472: require('mason-core.managers.gem') +430.485 000.316 000.316: require('mason-core.managers.git') +431.314 000.415 000.415: require('mason-core.managers.std') +431.638 000.318 000.318: require('mason-core.managers.github.client') +431.650 001.160 000.427: require('mason-core.managers.github') +432.174 000.520 000.520: require('mason-core.managers.go') +432.583 000.402 000.402: require('mason-core.managers.luarocks') +432.980 000.391 000.391: require('mason-core.managers.npm') +433.412 000.426 000.426: require('mason-core.managers.pip3') +433.421 005.623 000.317: require('mason-core.package.version-check') +433.431 010.428 000.451: require('mason-core.package') +433.830 000.366 000.366: require('mason-registry.lua-language-server') +434.422 000.329 000.329: require('mason-registry.clangd') +434.839 000.397 000.397: require('mason-registry.rust-analyzer') +435.484 000.210 000.210: require('mason-core.notify') +435.716 000.224 000.224: require('mason-core.functional.number') +435.772 000.908 000.473: require('mason-lspconfig.api.command') +435.779 066.357 002.308: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +439.475 002.338 002.338: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/man.lua +439.843 012.502: loading rtp plugins +442.029 000.114 000.114: require('Comment.config') +442.422 000.385 000.385: require('Comment.utils') +442.685 000.256 000.256: require('Comment.opfunc') +442.851 000.160 000.160: require('Comment.extra') +442.866 001.436 000.520: require('Comment.api') +443.317 001.976 000.541: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +444.238 000.106 000.106: require('luasnip.util.types') +444.437 000.191 000.191: require('luasnip.util.ext_opts') +444.592 000.150 000.150: require('luasnip.extras.filetype_functions') +444.701 000.103 000.103: require('luasnip.session') +445.990 000.652 000.652: require('luasnip.util.util') +446.208 000.211 000.211: require('luasnip.nodes.util') +446.297 000.083 000.083: require('luasnip.util.events') +446.313 001.341 000.396: require('luasnip.nodes.node') +446.475 000.118 000.118: require('luasnip.util.extend_decorator') +446.488 001.780 000.321: require('luasnip.nodes.insertNode') +447.282 000.230 000.230: require('luasnip.util.mark') +448.571 000.146 000.146: require('luasnip.nodes.textNode') +449.775 000.953 000.953: require('luasnip.util._builtin_vars') +450.037 001.457 000.505: require('luasnip.util.environ') +450.246 000.202 000.202: require('luasnip.util.pattern_tokenizer') +450.380 000.128 000.128: require('luasnip.util.dict') +450.730 000.343 000.343: require('luasnip.session.snippet_collection') +450.829 003.540 001.263: require('luasnip.nodes.snippet') +450.849 004.357 000.587: require('luasnip.nodes.choiceNode') +451.126 000.254 000.254: require('luasnip.nodes.functionNode') +451.619 000.452 000.452: require('luasnip.nodes.dynamicNode') +451.977 000.351 000.351: require('luasnip.nodes.restoreNode') +452.271 000.288 000.288: require('luasnip.extras') +452.718 000.171 000.171: require('luasnip.util.str') +452.728 000.449 000.278: require('luasnip.extras.fmt') +452.808 000.077 000.077: require('luasnip.extras.expand_conditions') +453.711 000.215 000.215: require('luasnip.util.parser.neovim_ast') +458.522 000.207 000.207: require('luasnip.util.directed_graph') +458.539 005.513 005.091: require('luasnip.util.parser.ast_utils') +459.047 000.120 000.120: require('luasnip.util.functions') +459.063 000.520 000.400: require('luasnip.util.parser.ast_parser') +459.638 000.572 000.572: require('luasnip.util.parser.neovim_parser') +459.651 006.836 000.232: require('luasnip.util.parser') +459.756 000.101 000.101: require('luasnip.nodes.absolute_indexer') +460.442 016.621 001.125: require('luasnip.config') +460.594 017.096 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +461.486 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +463.733 000.544 000.544: require('indent_blankline/utils') +463.745 001.635 001.091: require('indent_blankline') +464.372 000.237 000.237: require('indent_blankline.commands') +464.543 002.607 000.734: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +465.254 000.402 000.402: require('lsp-colors') +465.702 000.898 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +466.844 000.759 000.759: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +467.709 000.416 000.416: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +468.674 000.425 000.425: require('cmp.utils.api') +469.191 000.266 000.266: require('cmp.types.cmp') +470.001 000.463 000.463: require('cmp.utils.misc') +470.060 000.862 000.399: require('cmp.types.lsp') +470.289 000.224 000.224: require('cmp.types.vim') +470.295 001.614 000.262: require('cmp.types') +470.561 000.263 000.263: require('cmp.utils.highlight') +471.101 000.238 000.238: require('cmp.utils.debug') +471.116 000.550 000.312: require('cmp.utils.autocmd') +471.737 003.659 000.807: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +472.001 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +472.457 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +473.092 000.330 000.330: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +474.378 000.356 000.356: require('nvim-treesitter.statusline') +474.870 000.486 000.486: require('nvim-treesitter.query_predicates') +474.878 001.286 000.445: require('nvim-treesitter') +479.565 003.214 003.214: require('vim.treesitter.highlighter') +479.952 004.226 001.012: require('nvim-treesitter.highlight') +480.541 007.035 001.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +482.236 001.440 001.440: require('treesitter-context') +482.247 001.482 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +483.082 000.547 000.547: require('nvim-treesitter-refactor') +483.498 000.991 000.444: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +483.892 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +484.296 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +484.629 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +485.454 000.430 000.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +485.825 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +486.950 000.637 000.637: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +487.796 000.557 000.557: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +488.430 000.375 000.375: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +489.286 000.600 000.600: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +489.580 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +489.862 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +491.430 011.024: loading packages +493.086 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +497.379 005.411 004.941: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +500.257 000.501 000.501: require('cmp.utils.char') +500.273 000.919 000.418: require('cmp.utils.str') +500.546 000.269 000.269: require('cmp.utils.pattern') +501.678 000.247 000.247: require('cmp.utils.buffer') +501.690 000.802 000.554: require('cmp.utils.keymap') +501.702 001.149 000.348: require('cmp.utils.feedkeys') +502.073 000.368 000.368: require('cmp.utils.async') +502.672 000.260 000.260: require('cmp.utils.cache') +502.681 000.601 000.341: require('cmp.context') +504.215 000.421 000.421: require('cmp.config.mapping') +505.148 000.576 000.576: require('cmp.config.compare') +505.155 000.931 000.355: require('cmp.config.default') +505.188 001.869 000.517: require('cmp.config') +506.646 000.505 000.505: require('cmp.matcher') +506.659 001.467 000.962: require('cmp.entry') +506.671 003.987 000.652: require('cmp.source') +507.468 000.270 000.270: require('cmp.utils.event') +508.541 000.609 000.609: require('cmp.utils.window') +508.550 001.039 000.430: require('cmp.view.docs_view') +509.426 000.873 000.873: require('cmp.view.custom_entries_view') +510.050 000.618 000.618: require('cmp.view.wildmenu_entries_view') +510.582 000.526 000.526: require('cmp.view.native_entries_view') +510.984 000.394 000.394: require('cmp.view.ghost_text_view') +511.006 004.332 000.612: require('cmp.view') +511.082 012.635 001.010: require('cmp.core') +511.722 000.253 000.253: require('cmp.config.sources') +511.975 000.245 000.245: require('cmp.config.window') +512.091 014.421 001.288: require('cmp') +513.095 000.131 000.131: require('cmp_buffer.timer') +513.109 000.631 000.500: require('cmp_buffer.buffer') +513.124 000.906 000.274: require('cmp_buffer.source') +513.128 001.032 000.126: require('cmp_buffer') +513.165 015.538 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +513.841 000.456 000.456: require('cmp_cmdline') +513.874 000.532 000.076: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +514.568 000.254 000.254: require('cmp_nvim_lsp.source') +514.576 000.508 000.254: require('cmp_nvim_lsp') +514.632 000.604 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +515.335 000.509 000.509: require('cmp_path') +515.377 000.588 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +515.975 000.377 000.377: require('cmp_luasnip') +516.048 000.514 000.137: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +516.202 001.586: loading after plugins +516.230 000.028: inits 3 +516.270 000.040: reading ShaDa +516.927 000.117 000.117: require('luasnip.loaders._caches') +517.217 000.282 000.282: require('luasnip.util.path') +517.595 000.372 000.372: require('luasnip.loaders.util') +518.720 000.249 000.249: require('luasnip.loaders') +518.763 001.161 000.912: require('luasnip') +518.773 002.250 000.318: require('luasnip.loaders.from_lua') +519.505 000.161 000.161: require('luasnip.nodes.snippetProxy') +519.520 000.565 000.403: require('luasnip.loaders.from_snipmate') +519.981 000.416 000.416: require('luasnip.loaders.from_vscode') +521.013 001.514: opening buffers +521.250 000.236: BufEnter autocommands +521.256 000.007: editing files in windows +541.936 005.547 005.547: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.130 001.130: --- NVIM STARTING --- +028.662 027.532: event init +045.564 016.901: early init +047.354 001.791: locale set +053.076 005.722: init first window +063.419 010.343: inits 1 +063.444 000.025: window checked +063.452 000.008: parsing arguments +075.453 000.269 000.269: require('vim.shared') +075.970 000.243 000.243: require('vim._meta') +075.984 000.508 000.265: require('vim._editor') +075.992 000.906 000.129: require('vim._init_packages') +075.999 011.641: init lua interpreter +076.163 000.165: expanding arguments +078.127 001.963: inits 2 +079.512 001.385: init highlight +079.523 000.011: waiting for UI +082.429 002.906: done waiting for UI +082.481 000.051: init screen for UI +082.734 000.253: init default mappings +082.761 000.027: init default autocommands +096.037 004.070 004.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/ftplugin.vim +098.005 000.870 000.870: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/indent.vim +098.228 000.026 000.026: sourcing /usr/share/nvim/archlinux.vim +098.239 000.082 000.056: sourcing /etc/xdg/nvim/sysinit.vim +106.098 004.759 004.759: require('keys') +108.429 002.320 002.320: require('opts') +110.994 000.525 000.525: require('packer.util') +111.051 002.259 001.734: require('packer') +113.022 000.703 000.703: require('packer.log') +113.033 001.190 000.487: require('packer.async') +114.010 000.399 000.399: require('packer.result') +114.019 000.983 000.584: require('packer.jobs') +114.037 002.940 000.767: require('packer.plugin_utils') +114.709 000.650 000.650: require('packer.snapshot') +115.767 007.330 001.481: require('pack') +122.285 001.983 001.983: require('vim.treesitter.language') +122.321 004.812 002.828: require('vim.treesitter.query') +127.167 001.367 001.367: require('vim.treesitter.languagetree') +127.282 002.610 001.243: require('vim.treesitter') +127.465 003.928 001.318: require('nvim-treesitter.parsers') +127.973 000.502 000.502: require('nvim-treesitter.utils') +127.986 005.169 000.738: require('nvim-treesitter.ts_utils') +127.995 005.670 000.501: require('nvim-treesitter.tsrange') +128.361 000.362 000.362: require('nvim-treesitter.caching') +128.381 011.616 000.772: require('nvim-treesitter.query') +128.399 012.541 000.926: require('nvim-treesitter.configs') +129.960 000.492 000.492: require('nvim-treesitter.info') +130.546 000.578 000.578: require('nvim-treesitter.shell_command_selectors') +130.590 002.170 001.100: require('nvim-treesitter.install') +169.623 053.848 039.137: require('plugins.treesitter') +170.997 000.453 000.453: require('telescope._extensions') +171.008 000.966 000.513: require('telescope') +176.579 000.682 000.682: require('plenary.bit') +177.000 000.412 000.412: require('plenary.functional') +177.065 000.045 000.045: require('ffi') +177.103 002.623 001.485: require('plenary.path') +177.117 003.190 000.567: require('plenary.strings') +177.539 000.418 000.418: require('telescope.deprecated') +179.950 000.907 000.907: require('plenary.log') +180.034 001.388 000.481: require('telescope.log') +182.278 000.962 000.962: require('plenary.job') +182.711 000.423 000.423: require('telescope.state') +182.730 002.690 001.304: require('telescope.utils') +182.741 005.196 001.118: require('telescope.sorters') +182.830 000.070 000.070: require('vim.inspect') +183.420 000.009 000.009: require('vim.F') +186.156 013.120 004.238: require('telescope.config') +187.621 000.692 000.692: require('plenary.window.border') +187.974 000.344 000.344: require('plenary.window') +188.373 000.393 000.393: require('plenary.popup.utils') +188.389 002.223 000.794: require('plenary.popup') +188.911 000.516 000.516: require('telescope.pickers.scroller') +189.373 000.455 000.455: require('telescope.actions.state') +189.899 000.520 000.520: require('telescope.actions.utils') +191.115 000.591 000.591: require('telescope.actions.mt') +191.142 001.237 000.646: require('telescope.actions.set') +192.310 000.591 000.591: require('telescope.config.resolve') +192.455 001.309 000.718: require('telescope.pickers.entry_display') +192.880 000.420 000.420: require('telescope.from_entry') +193.232 022.221 002.421: require('telescope.actions') +196.969 000.355 000.355: require('plenary.tbl') +196.980 000.779 000.424: require('plenary.vararg.rotate') +196.983 001.106 000.327: require('plenary.vararg') +197.327 000.340 000.340: require('plenary.errors') +197.336 001.903 000.457: require('plenary.async.async') +197.766 000.426 000.426: require('plenary.async.structs') +197.780 002.921 000.592: require('plenary.async.control') +200.322 001.961 001.961: require('telescope.make_entry') +202.215 000.477 000.477: require('plenary.async.util') +202.224 000.921 000.444: require('plenary.async.tests') +202.229 001.339 000.419: require('plenary.async') +202.234 001.903 000.563: require('telescope.finders.async_static_finder') +204.011 000.466 000.466: require('plenary.class') +204.053 001.282 000.816: require('telescope._') +204.059 001.822 000.540: require('telescope.finders.async_oneshot_finder') +204.571 000.509 000.509: require('telescope.finders.async_job_finder') +204.589 006.805 000.611: require('telescope.finders') +207.500 000.676 000.676: require('telescope.debounce') +208.415 000.901 000.901: require('telescope.mappings') +209.040 000.615 000.615: require('telescope.pickers.highlights') +209.508 000.460 000.460: require('telescope.pickers.window') +210.723 000.587 000.587: require('telescope.algos.linked_list') +210.737 001.223 000.636: require('telescope.entry_manager') +211.200 000.458 000.458: require('telescope.pickers.multi') +211.247 006.653 002.320: require('telescope.pickers') +211.270 017.287 000.908: require('telescope.builtin.__lsp') +211.337 018.097 000.809: require('telescope.builtin') +212.713 000.700 000.700: require('fzf_lib') +212.727 001.383 000.682: require('telescope._extensions.fzf') +215.338 000.735 000.735: require('telescope._extensions.file_browser.utils') +215.473 002.261 001.526: require('telescope._extensions.file_browser.actions') +216.814 000.755 000.755: require('telescope._extensions.file_browser.make_entry') +217.929 001.107 001.107: require('plenary.scandir') +217.978 002.498 000.636: require('telescope._extensions.file_browser.finders') +218.472 000.489 000.489: require('telescope._extensions.file_browser.picker') +219.064 000.585 000.585: require('telescope._extensions.file_browser.config') +219.072 006.331 000.498: require('telescope._extensions.file_browser') +222.320 000.022 000.022: require('vim.keymap') +222.663 053.030 004.011: require('plugins.telescope') +229.348 000.311 000.311: require('notify.util.queue') +229.360 000.746 000.436: require('notify.util') +229.801 000.437 000.437: require('notify.config.highlights') +229.811 001.652 000.469: require('notify.config') +230.096 000.281 000.281: require('notify.stages') +230.429 000.328 000.328: require('notify.service.notification') +231.660 000.387 000.387: require('notify.animate.spring') +231.668 000.673 000.287: require('notify.animate') +231.676 001.241 000.568: require('notify.windows') +232.939 000.468 000.468: require('notify.service.buffer.highlights') +232.950 000.892 000.424: require('notify.service.buffer') +232.955 001.276 000.383: require('notify.service') +233.458 000.500 000.500: require('notify.stages.util') +233.469 005.847 000.570: require('notify') +233.816 000.343 000.343: require('nvim-tree.iterators.node-iterator') +233.876 007.006 000.816: require('nvim-tree.utils') +233.888 007.404 000.398: require('nvim-tree.events') +235.090 000.396 000.396: require('nvim-tree.log') +235.550 000.452 000.452: require('nvim-tree.git.utils') +236.022 000.467 000.467: require('nvim-tree.git.runner') +236.460 000.431 000.431: require('nvim-tree.watcher') +236.471 002.238 000.492: require('nvim-tree.git') +236.846 000.372 000.372: require('nvim-tree.explorer.watch') +237.192 000.340 000.340: require('nvim-tree.explorer.common') +237.942 000.374 000.374: require('nvim-tree.explorer.node-builders') +238.415 000.428 000.428: require('nvim-tree.explorer.sorters') +238.782 000.360 000.360: require('nvim-tree.explorer.filters') +240.087 000.849 000.849: require('nvim-tree.view') +240.099 001.311 000.462: require('nvim-tree.live-filter') +240.104 002.906 000.433: require('nvim-tree.explorer.explore') +240.531 000.423 000.423: require('nvim-tree.explorer.reload') +240.540 006.649 000.370: require('nvim-tree.explorer') +240.546 014.389 000.336: require('nvim-tree.core') +241.036 000.486 000.486: require('nvim-tree.diagnostics') +241.460 000.417 000.417: require('nvim-tree.renderer.components.padding') +241.895 000.429 000.429: require('nvim-tree.renderer.components.icons') +242.283 000.380 000.380: require('nvim-tree.renderer.components.full-name') +242.655 000.366 000.366: require('nvim-tree.renderer.help') +243.131 000.470 000.470: require('nvim-tree.renderer.components.git') +243.809 000.672 000.672: require('nvim-tree.renderer.builder') +244.178 000.362 000.362: require('nvim-tree.marks') +244.193 018.557 000.586: require('nvim-tree.renderer') +244.526 000.323 000.323: require('nvim-tree.actions.tree-modifiers.collapse-all') +244.826 000.294 000.294: require('nvim-tree.actions.root.dir-up') +245.239 000.407 000.407: require('nvim-tree.actions.root.change-dir') +245.597 000.351 000.351: require('nvim-tree.actions.reloaders.reloaders') +245.955 000.351 000.351: require('nvim-tree.actions.finders.find-file') +245.962 020.902 000.617: require('nvim-tree.lib') +246.374 000.408 000.408: require('nvim-tree.colors') +247.007 000.626 000.626: require('nvim-tree.legacy') +247.592 000.578 000.578: require('nvim-tree.actions.fs.copy-paste') +248.402 000.383 000.383: require('nvim-tree.actions.tree-modifiers.expand-all') +248.711 000.302 000.302: require('nvim-tree.actions.tree-modifiers.toggles') +249.141 000.423 000.423: require('nvim-tree.actions.fs.create-file') +249.494 000.346 000.346: require('nvim-tree.actions.fs.rename-file') +249.956 000.455 000.455: require('nvim-tree.actions.fs.trash') +250.366 000.404 000.404: require('nvim-tree.actions.fs.remove-file') +250.696 000.323 000.323: require('nvim-tree.actions.moves.parent') +251.027 000.325 000.325: require('nvim-tree.actions.moves.sibling') +251.358 000.324 000.324: require('nvim-tree.actions.moves.item') +251.755 000.387 000.387: require('nvim-tree.actions.finders.search-node') +252.054 000.293 000.293: require('nvim-tree.actions.node.run-command') +252.422 000.363 000.363: require('nvim-tree.actions.node.file-popup') +252.815 000.387 000.387: require('nvim-tree.actions.node.system-open') +253.155 000.334 000.334: require('nvim-tree.marks.bulk-move') +253.163 005.563 000.514: require('nvim-tree.actions.dispatch') +253.187 030.363 002.286: require('nvim-tree') +253.472 000.281 000.281: require('nvim-tree.config') +258.166 000.718 000.718: require('nvim-tree.actions') +258.838 000.660 000.660: require('nvim-tree.actions.node.open-file') +262.869 000.364 000.364: require('nvim-tree.marks.navigation') +262.880 000.869 000.505: require('nvim-tree.api') +262.891 001.433 000.564: require('nvim-tree.keymap') +264.972 001.417 001.417: require('nvim-web-devicons') +268.994 046.324 011.453: require('plugins.nvim-tree') +270.370 000.316 000.316: require('lualine_require') +270.882 001.704 001.388: require('lualine') +271.018 000.129 000.129: require('plugins.linecolor') +275.708 000.256 000.256: require('lualine.utils.mode') +282.774 013.771 011.683: require('plugins.lualine') +282.808 184.508 003.124: sourcing /home/sxrdusr/.config/nvim/init.lua +282.826 010.535: sourcing vimrc file(s) +283.117 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +285.405 000.888 000.888: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.lua +288.117 002.272 002.272: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.vim +292.092 000.281 000.281: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/synload.vim +292.295 003.051 002.770: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/syntax.vim +300.224 002.091 002.091: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/gzip.vim +300.446 000.070 000.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/health.vim +303.966 002.282 002.282: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +304.438 003.923 001.640: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchit.vim +304.891 000.386 000.386: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchparen.vim +305.113 000.103 000.103: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/netrwPlugin.vim +305.539 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +305.560 000.386 000.362: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/rplugin.vim +305.852 000.210 000.210: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/shada.vim +305.972 000.053 000.053: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/spellfile.vim +306.099 000.062 000.062: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tarPlugin.vim +306.224 000.061 000.061: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tohtml.vim +306.332 000.045 000.045: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tutor.vim +307.601 001.207 001.207: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/zipPlugin.vim +307.896 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +315.401 005.658 005.658: require('lspsaga') +317.073 000.553 000.553: require('lspsaga.window') +317.093 001.174 000.621: require('lspsaga.libs') +327.566 001.347 001.347: require('vim.lsp.log') +329.533 001.954 001.954: require('vim.lsp.protocol') +335.456 002.092 002.092: require('vim.lsp._snippet') +336.370 000.904 000.904: require('vim.highlight') +336.415 006.873 003.878: require('vim.lsp.util') +336.447 013.200 003.026: require('vim.lsp.handlers') +338.763 002.311 002.311: require('vim.lsp.rpc') +340.121 001.348 001.348: require('vim.lsp.sync') +342.921 002.791 002.791: require('vim.lsp.buf') +344.093 001.161 001.161: require('vim.lsp.diagnostic') +345.202 001.102 001.102: require('vim.lsp.codelens') +345.388 027.654 005.740: require('vim.lsp') +345.692 000.295 000.295: require('lspsaga.wrap') +345.705 028.607 000.659: require('lspsaga.codeaction') +345.751 030.339 000.558: require('lspsaga.lightbulb') +346.108 000.317 000.317: require('lspsaga.lspkind') +346.885 000.249 000.249: require('mason-core.path') +346.905 000.522 000.274: require('mason.settings') +347.804 000.214 000.214: require('mason-core.functional.data') +347.824 000.525 000.310: require('mason-core.functional.function') +347.863 000.954 000.429: require('mason-core.platform') +347.868 001.714 000.238: require('mason') +348.650 000.336 000.336: require('mason-core.functional') +349.056 000.385 000.385: require('mason-core.functional.list') +349.098 001.207 000.486: require('mason.api.command') +349.944 000.489 000.489: require('mason-core.log') +349.953 000.851 000.363: require('mason-lspconfig') +350.166 000.209 000.209: require('mason-lspconfig.settings') +350.488 000.303 000.303: require('mason-lspconfig.lspconfig_hook') +351.357 000.863 000.863: require('lspconfig.util') +352.102 000.240 000.240: require('mason-core.functional.table') +352.205 000.679 000.439: require('mason-lspconfig.mappings.server') +353.344 000.475 000.475: require('mason-core.async') +353.567 000.215 000.215: require('mason-core.async.uv') +353.581 001.068 000.378: require('mason-core.fs') +353.858 000.274 000.274: require('mason-core.optional') +354.125 000.261 000.261: require('mason-core.EventEmitter') +354.540 000.408 000.408: require('mason-registry.index') +354.560 002.349 000.337: require('mason-registry') +354.774 000.194 000.194: require('mason-lspconfig.server_config_extensions') +355.406 000.626 000.626: require('lspconfig.configs') +355.759 000.346 000.346: require('lspconfig.server_configurations.omnisharp') +356.173 000.238 000.238: require('mason-lspconfig.ensure_installed') +357.319 000.316 000.316: require('mason-core.result') +358.773 000.589 000.589: require('mason-core.process') +359.014 000.232 000.232: require('mason-core.functional.relation') +359.271 000.248 000.248: require('mason-core.functional.logic') +359.286 001.434 000.366: require('mason-core.spawn') +359.639 000.348 000.348: require('mason-core.receipt') +359.919 000.265 000.265: require('mason-core.functional.string') +359.992 002.667 000.620: require('mason-core.installer.context') +360.293 000.295 000.295: require('mason-core.installer.linker') +360.573 000.274 000.274: require('mason-core.async.control') +360.584 003.980 000.428: require('mason-core.installer') +361.020 000.432 000.432: require('mason-core.installer.handle') +362.441 000.255 000.255: require('mason-core.managers.powershell') +362.449 000.590 000.334: require('mason-core.fetch') +362.453 000.800 000.210: require('mason-core.managers.cargo.client') +362.485 001.188 000.388: require('mason-core.managers.cargo') +362.937 000.447 000.447: require('mason-core.managers.composer') +363.425 000.481 000.481: require('mason-core.managers.gem') +363.736 000.304 000.304: require('mason-core.managers.git') +364.544 000.414 000.414: require('mason-core.managers.std') +364.866 000.316 000.316: require('mason-core.managers.github.client') +364.879 001.136 000.407: require('mason-core.managers.github') +365.439 000.556 000.556: require('mason-core.managers.go') +365.845 000.399 000.399: require('mason-core.managers.luarocks') +366.240 000.389 000.389: require('mason-core.managers.npm') +366.667 000.421 000.421: require('mason-core.managers.pip3') +366.677 005.650 000.327: require('mason-core.package.version-check') +366.688 010.508 000.446: require('mason-core.package') +367.072 000.351 000.351: require('mason-registry.lua-language-server') +367.593 000.337 000.337: require('mason-registry.clangd') +368.004 000.391 000.391: require('mason-registry.rust-analyzer') +368.654 000.215 000.215: require('mason-core.notify') +368.894 000.232 000.232: require('mason-core.functional.number') +368.937 000.921 000.475: require('mason-lspconfig.api.command') +368.943 060.914 002.513: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +372.883 002.516 002.516: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/man.lua +373.092 011.939: loading rtp plugins +375.285 000.120 000.120: require('Comment.config') +375.689 000.396 000.396: require('Comment.utils') +375.957 000.261 000.261: require('Comment.opfunc') +376.127 000.163 000.163: require('Comment.extra') +376.142 001.495 000.555: require('Comment.api') +376.586 002.031 000.535: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +377.477 000.089 000.089: require('luasnip.util.types') +377.675 000.191 000.191: require('luasnip.util.ext_opts') +377.832 000.150 000.150: require('luasnip.extras.filetype_functions') +377.934 000.097 000.097: require('luasnip.session') +379.260 000.652 000.652: require('luasnip.util.util') +379.484 000.217 000.217: require('luasnip.nodes.util') +379.576 000.085 000.085: require('luasnip.util.events') +379.592 001.391 000.437: require('luasnip.nodes.node') +379.758 000.120 000.120: require('luasnip.util.extend_decorator') +379.772 001.831 000.320: require('luasnip.nodes.insertNode') +380.477 000.226 000.226: require('luasnip.util.mark') +381.700 000.190 000.190: require('luasnip.nodes.textNode') +382.881 000.927 000.927: require('luasnip.util._builtin_vars') +383.108 001.398 000.472: require('luasnip.util.environ') +383.314 000.199 000.199: require('luasnip.util.pattern_tokenizer') +383.448 000.127 000.127: require('luasnip.util.dict') +383.802 000.347 000.347: require('luasnip.session.snippet_collection') +383.864 003.380 001.118: require('luasnip.nodes.snippet') +383.885 004.109 000.503: require('luasnip.nodes.choiceNode') +384.209 000.306 000.306: require('luasnip.nodes.functionNode') +384.709 000.453 000.453: require('luasnip.nodes.dynamicNode') +385.091 000.376 000.376: require('luasnip.nodes.restoreNode') +385.380 000.281 000.281: require('luasnip.extras') +385.829 000.173 000.173: require('luasnip.util.str') +385.843 000.455 000.282: require('luasnip.extras.fmt') +385.921 000.074 000.074: require('luasnip.extras.expand_conditions') +386.811 000.218 000.218: require('luasnip.util.parser.neovim_ast') +394.178 000.216 000.216: require('luasnip.util.directed_graph') +394.197 008.074 007.640: require('luasnip.util.parser.ast_utils') +394.712 000.119 000.119: require('luasnip.util.functions') +394.724 000.523 000.404: require('luasnip.util.parser.ast_parser') +395.338 000.610 000.610: require('luasnip.util.parser.neovim_parser') +395.354 009.426 000.219: require('luasnip.util.parser') +395.462 000.103 000.103: require('luasnip.nodes.absolute_indexer') +395.919 018.839 000.897: require('luasnip.config') +396.076 019.310 000.471: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +396.949 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +399.137 000.540 000.540: require('indent_blankline/utils') +399.147 001.578 001.038: require('indent_blankline') +399.631 000.228 000.228: require('indent_blankline.commands') +399.796 002.397 000.592: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +400.425 000.323 000.323: require('lsp-colors') +401.069 001.016 000.693: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +402.327 000.871 000.871: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +403.161 000.384 000.384: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +404.040 000.344 000.344: require('cmp.utils.api') +404.538 000.261 000.261: require('cmp.types.cmp') +405.386 000.498 000.498: require('cmp.utils.misc') +405.496 000.948 000.450: require('cmp.types.lsp') +405.726 000.223 000.223: require('cmp.types.vim') +405.732 001.684 000.251: require('cmp.types') +406.002 000.267 000.267: require('cmp.utils.highlight') +406.540 000.242 000.242: require('cmp.utils.debug') +406.556 000.548 000.306: require('cmp.utils.autocmd') +407.084 003.553 000.711: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +407.344 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +407.801 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +408.480 000.388 000.388: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +409.656 000.348 000.348: require('nvim-treesitter.statusline') +410.199 000.536 000.536: require('nvim-treesitter.query_predicates') +410.209 001.231 000.346: require('nvim-treesitter') +415.282 003.359 003.359: require('vim.treesitter.highlighter') +415.649 004.397 001.038: require('nvim-treesitter.highlight') +416.245 007.349 001.721: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +417.669 001.190 001.190: require('treesitter-context') +417.680 001.230 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +418.365 000.398 000.398: require('nvim-treesitter-refactor') +418.550 000.610 000.212: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +418.917 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +419.292 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +419.612 000.090 000.090: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +420.406 000.409 000.409: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +420.761 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +421.920 000.679 000.679: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +422.693 000.489 000.489: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +423.304 000.356 000.356: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +424.131 000.577 000.577: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +424.430 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +424.709 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +426.618 011.192: loading packages +428.473 000.582 000.582: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +435.277 008.051 007.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +439.647 000.636 000.636: require('cmp.utils.char') +439.672 001.332 000.696: require('cmp.utils.str') +440.141 000.462 000.462: require('cmp.utils.pattern') +441.991 000.487 000.487: require('cmp.utils.buffer') +442.020 001.349 000.862: require('cmp.utils.keymap') +442.036 001.884 000.535: require('cmp.utils.feedkeys') +442.696 000.654 000.654: require('cmp.utils.async') +443.685 000.436 000.436: require('cmp.utils.cache') +443.699 000.993 000.557: require('cmp.context') +446.228 000.680 000.680: require('cmp.config.mapping') +447.627 000.842 000.842: require('cmp.config.compare') +447.639 001.397 000.555: require('cmp.config.default') +447.677 002.938 000.861: require('cmp.config') +449.991 000.843 000.843: require('cmp.matcher') +450.012 002.328 001.484: require('cmp.entry') +450.031 006.326 001.060: require('cmp.source') +451.346 000.454 000.454: require('cmp.utils.event') +453.138 001.051 001.051: require('cmp.utils.window') +453.154 001.797 000.747: require('cmp.view.docs_view') +454.619 001.457 001.457: require('cmp.view.custom_entries_view') +455.631 001.002 001.002: require('cmp.view.wildmenu_entries_view') +456.455 000.814 000.814: require('cmp.view.native_entries_view') +457.096 000.631 000.631: require('cmp.view.ghost_text_view') +457.135 007.098 000.943: require('cmp.view') +457.324 020.479 001.729: require('cmp.core') +458.114 000.426 000.426: require('cmp.config.sources') +458.585 000.459 000.459: require('cmp.config.window') +458.791 023.106 001.741: require('cmp') +460.357 000.200 000.200: require('cmp_buffer.timer') +460.383 001.018 000.819: require('cmp_buffer.buffer') +460.396 001.462 000.444: require('cmp_buffer.source') +460.403 001.600 000.138: require('cmp_buffer') +460.617 025.003 000.297: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +461.566 000.629 000.629: require('cmp_cmdline') +461.645 000.769 000.141: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +462.627 000.390 000.390: require('cmp_nvim_lsp.source') +462.640 000.711 000.321: require('cmp_nvim_lsp') +462.717 000.840 000.129: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +463.711 000.710 000.710: require('cmp_path') +463.773 000.827 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +464.614 000.517 000.517: require('cmp_luasnip') +464.722 000.716 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +464.985 002.160: loading after plugins +465.026 000.041: inits 3 +465.094 000.068: reading ShaDa +465.979 000.175 000.175: require('luasnip.loaders._caches') +466.558 000.569 000.569: require('luasnip.util.path') +467.066 000.497 000.497: require('luasnip.loaders.util') +468.731 000.293 000.293: require('luasnip.loaders') +468.782 001.705 001.413: require('luasnip') +468.795 003.396 000.449: require('luasnip.loaders.from_lua') +469.563 000.191 000.191: require('luasnip.nodes.snippetProxy') +469.575 000.593 000.402: require('luasnip.loaders.from_snipmate') +470.027 000.403 000.403: require('luasnip.loaders.from_vscode') +471.125 001.641: opening buffers +471.367 000.241: BufEnter autocommands +471.374 000.007: editing files in windows +492.712 005.083 005.083: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.282 001.282: --- NVIM STARTING --- +029.206 027.924: event init +046.400 017.195: early init +048.223 001.823: locale set +053.937 005.714: init first window +064.347 010.410: inits 1 +064.372 000.025: window checked +064.380 000.008: parsing arguments +076.420 000.295 000.295: require('vim.shared') +076.917 000.241 000.241: require('vim._meta') +076.931 000.488 000.247: require('vim._editor') +076.938 000.901 000.118: require('vim._init_packages') +076.946 011.665: init lua interpreter +077.114 000.168: expanding arguments +079.080 001.966: inits 2 +080.421 001.341: init highlight +080.430 000.009: waiting for UI +083.335 002.905: done waiting for UI +083.386 000.051: init screen for UI +084.183 000.797: init default mappings +084.250 000.068: init default autocommands +095.904 004.673 004.673: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/ftplugin.vim +098.355 001.073 001.073: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/indent.vim +098.631 000.029 000.029: sourcing /usr/share/nvim/archlinux.vim +098.642 000.086 000.057: sourcing /etc/xdg/nvim/sysinit.vim +109.895 006.296 006.296: require('keys') +112.293 002.386 002.386: require('opts') +114.877 000.524 000.524: require('packer.util') +114.935 002.267 001.743: require('packer') +116.828 000.639 000.639: require('packer.log') +116.838 001.118 000.479: require('packer.async') +117.810 000.400 000.400: require('packer.result') +117.819 000.976 000.577: require('packer.jobs') +117.836 002.853 000.759: require('packer.plugin_utils') +118.494 000.636 000.636: require('packer.snapshot') +119.546 007.244 001.489: require('pack') +130.393 010.839 010.839: require('impatient') +131.485 000.276 000.276: require('vim.treesitter.language') +131.511 000.729 000.454: require('vim.treesitter.query') +132.514 000.241 000.241: require('vim.treesitter.languagetree') +132.575 000.456 000.215: require('vim.treesitter') +132.857 001.011 000.556: require('nvim-treesitter.parsers') +132.981 000.118 000.118: require('nvim-treesitter.utils') +132.995 001.348 000.218: require('nvim-treesitter.ts_utils') +133.005 001.489 000.141: require('nvim-treesitter.tsrange') +133.084 000.076 000.076: require('nvim-treesitter.caching') +133.105 002.472 000.178: require('nvim-treesitter.query') +133.133 002.641 000.168: require('nvim-treesitter.configs') +133.974 000.524 000.524: require('nvim-treesitter.info') +134.163 000.182 000.182: require('nvim-treesitter.shell_command_selectors') +134.209 000.904 000.198: require('nvim-treesitter.install') +172.984 042.575 039.031: require('plugins.treesitter') +173.299 000.131 000.131: require('telescope._extensions') +173.308 000.211 000.080: require('telescope') +174.714 000.323 000.323: require('plenary.bit') +175.035 000.315 000.315: require('plenary.functional') +175.105 000.031 000.031: require('ffi') +175.128 001.120 000.451: require('plenary.path') +175.141 001.487 000.367: require('plenary.strings') +175.261 000.116 000.116: require('telescope.deprecated') +175.722 000.276 000.276: require('plenary.log') +175.802 000.416 000.140: require('telescope.log') +176.040 000.117 000.117: require('plenary.job') +176.114 000.069 000.069: require('telescope.state') +176.129 000.321 000.136: require('telescope.utils') +176.149 000.882 000.145: require('telescope.sorters') +176.244 000.075 000.075: require('vim.inspect') +176.749 000.013 000.013: require('vim.F') +179.793 006.266 003.693: require('telescope.config') +180.432 000.092 000.092: require('plenary.window.border') +180.569 000.130 000.130: require('plenary.window') +180.636 000.061 000.061: require('plenary.popup.utils') +180.647 000.846 000.563: require('plenary.popup') +180.720 000.069 000.069: require('telescope.pickers.scroller') +180.793 000.068 000.068: require('telescope.actions.state') +180.866 000.068 000.068: require('telescope.actions.utils') +181.014 000.068 000.068: require('telescope.actions.mt') +181.045 000.175 000.107: require('telescope.actions.set') +181.358 000.152 000.152: require('telescope.config.resolve') +181.365 000.267 000.115: require('telescope.pickers.entry_display') +181.470 000.101 000.101: require('telescope.from_entry') +181.848 008.537 000.678: require('telescope.actions') +182.823 000.058 000.058: require('plenary.tbl') +182.833 000.129 000.071: require('plenary.vararg.rotate') +182.837 000.192 000.063: require('plenary.vararg') +182.898 000.058 000.058: require('plenary.errors') +182.906 000.330 000.081: require('plenary.async.async') +183.025 000.115 000.115: require('plenary.async.structs') +183.038 000.834 000.388: require('plenary.async.control') +183.329 000.214 000.214: require('telescope.make_entry') +183.599 000.074 000.074: require('plenary.async.util') +183.605 000.138 000.064: require('plenary.async.tests') +183.610 000.207 000.069: require('plenary.async') +183.614 000.279 000.072: require('telescope.finders.async_static_finder') +183.821 000.058 000.058: require('plenary.class') +183.846 000.163 000.105: require('telescope._') +183.851 000.234 000.071: require('telescope.finders.async_oneshot_finder') +183.919 000.066 000.066: require('telescope.finders.async_job_finder') +183.931 000.890 000.097: require('telescope.finders') +184.185 000.079 000.079: require('telescope.debounce') +184.335 000.144 000.144: require('telescope.mappings') +184.428 000.088 000.088: require('telescope.pickers.highlights') +184.499 000.066 000.066: require('telescope.pickers.window') +184.648 000.072 000.072: require('telescope.algos.linked_list') +184.656 000.152 000.080: require('telescope.entry_manager') +184.783 000.124 000.124: require('telescope.pickers.multi') +184.814 000.879 000.226: require('telescope.pickers') +184.829 002.770 000.167: require('telescope.builtin.__lsp') +184.852 002.997 000.227: require('telescope.builtin') +185.164 000.225 000.225: require('fzf_lib') +185.175 000.317 000.093: require('telescope._extensions.fzf') +185.568 000.096 000.096: require('telescope._extensions.file_browser.utils') +185.662 000.348 000.252: require('telescope._extensions.file_browser.actions') +185.891 000.137 000.137: require('telescope._extensions.file_browser.make_entry') +186.045 000.148 000.148: require('plenary.scandir') +186.092 000.425 000.140: require('telescope._extensions.file_browser.finders') +186.173 000.077 000.077: require('telescope._extensions.file_browser.picker') +186.271 000.093 000.093: require('telescope._extensions.file_browser.config') +186.277 001.039 000.097: require('telescope._extensions.file_browser') +189.722 000.012 000.012: require('vim.keymap') +189.980 016.986 003.873: require('plugins.telescope') +191.812 000.068 000.068: require('notify.util.queue') +191.822 000.421 000.352: require('notify.util') +192.063 000.237 000.237: require('notify.config.highlights') +192.078 001.067 000.409: require('notify.config') +192.463 000.380 000.380: require('notify.stages') +192.560 000.091 000.091: require('notify.service.notification') +192.902 000.085 000.085: require('notify.animate.spring') +192.908 000.166 000.081: require('notify.animate') +192.920 000.354 000.188: require('notify.windows') +193.224 000.108 000.108: require('notify.service.buffer.highlights') +193.235 000.219 000.112: require('notify.service.buffer') +193.243 000.320 000.101: require('notify.service') +193.375 000.129 000.129: require('notify.stages.util') +193.389 002.748 000.406: require('notify') +193.485 000.091 000.091: require('nvim-tree.iterators.node-iterator') +193.580 003.039 000.200: require('nvim-tree.utils') +193.599 003.130 000.091: require('nvim-tree.events') +193.918 000.090 000.090: require('nvim-tree.log') +194.118 000.194 000.194: require('nvim-tree.git.utils') +194.227 000.102 000.102: require('nvim-tree.git.runner') +194.333 000.101 000.101: require('nvim-tree.watcher') +194.345 000.616 000.129: require('nvim-tree.git') +194.437 000.089 000.089: require('nvim-tree.explorer.watch') +194.521 000.079 000.079: require('nvim-tree.explorer.common') +194.761 000.104 000.104: require('nvim-tree.explorer.node-builders') +194.865 000.098 000.098: require('nvim-tree.explorer.sorters') +194.953 000.083 000.083: require('nvim-tree.explorer.filters') +195.346 000.289 000.289: require('nvim-tree.view') +195.370 000.412 000.123: require('nvim-tree.live-filter') +195.381 000.815 000.117: require('nvim-tree.explorer.explore') +195.522 000.136 000.136: require('nvim-tree.explorer.reload') +195.542 001.939 000.204: require('nvim-tree.explorer') +195.554 005.142 000.073: require('nvim-tree.core') +195.717 000.158 000.158: require('nvim-tree.diagnostics') +195.848 000.124 000.124: require('nvim-tree.renderer.components.padding') +195.995 000.140 000.140: require('nvim-tree.renderer.components.icons') +196.151 000.149 000.149: require('nvim-tree.renderer.components.full-name') +196.312 000.153 000.153: require('nvim-tree.renderer.help') +196.492 000.171 000.171: require('nvim-tree.renderer.components.git') +196.678 000.179 000.179: require('nvim-tree.renderer.builder') +196.813 000.127 000.127: require('nvim-tree.marks') +196.834 006.502 000.159: require('nvim-tree.renderer') +197.065 000.215 000.215: require('nvim-tree.actions.tree-modifiers.collapse-all') +197.186 000.112 000.112: require('nvim-tree.actions.root.dir-up') +197.335 000.142 000.142: require('nvim-tree.actions.root.change-dir') +197.451 000.108 000.108: require('nvim-tree.actions.reloaders.reloaders') +197.551 000.092 000.092: require('nvim-tree.actions.finders.find-file') +197.557 007.300 000.128: require('nvim-tree.lib') +197.687 000.127 000.127: require('nvim-tree.colors') +197.844 000.150 000.150: require('nvim-tree.legacy') +197.974 000.125 000.125: require('nvim-tree.actions.fs.copy-paste') +198.172 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') +198.258 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') +198.368 000.102 000.102: require('nvim-tree.actions.fs.create-file') +198.462 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +198.587 000.119 000.119: require('nvim-tree.actions.fs.trash') +198.728 000.135 000.135: require('nvim-tree.actions.fs.remove-file') +198.838 000.098 000.098: require('nvim-tree.actions.moves.parent') +198.925 000.080 000.080: require('nvim-tree.actions.moves.sibling') +199.012 000.081 000.081: require('nvim-tree.actions.moves.item') +199.114 000.087 000.087: require('nvim-tree.actions.finders.search-node') +199.278 000.160 000.160: require('nvim-tree.actions.node.run-command') +199.385 000.101 000.101: require('nvim-tree.actions.node.file-popup') +199.549 000.159 000.159: require('nvim-tree.actions.node.system-open') +199.652 000.095 000.095: require('nvim-tree.marks.bulk-move') +199.667 001.685 000.210: require('nvim-tree.actions.dispatch') +199.728 009.650 000.262: require('nvim-tree') +199.813 000.080 000.080: require('nvim-tree.config') +203.971 000.220 000.220: require('nvim-tree.actions') +204.111 000.129 000.129: require('nvim-tree.actions.node.open-file') +209.463 000.522 000.522: require('nvim-tree.marks.navigation') +209.477 001.387 000.866: require('nvim-tree.api') +209.608 002.226 000.838: require('nvim-tree.keymap') +212.901 002.345 002.345: require('nvim-web-devicons') +217.310 027.323 012.673: require('plugins.nvim-tree') +217.684 000.085 000.085: require('lualine_require') +218.261 000.793 000.708: require('lualine') +218.340 000.072 000.072: require('plugins.linecolor') +222.766 000.090 000.090: require('lualine.utils.mode') +229.111 011.786 010.831: require('plugins.lualine') +229.143 130.389 004.953: sourcing /home/sxrdusr/.config/nvim/init.lua +229.161 008.689: sourcing vimrc file(s) +229.452 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +230.601 000.057 000.057: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.lua +232.794 002.048 002.048: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.vim +236.078 000.256 000.256: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/synload.vim +236.340 002.832 002.576: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/syntax.vim +242.671 001.056 001.056: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/gzip.vim +242.829 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/health.vim +245.729 001.412 001.412: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +246.361 003.446 002.034: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchit.vim +246.870 000.420 000.420: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchparen.vim +247.052 000.090 000.090: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/netrwPlugin.vim +247.500 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +247.522 000.383 000.358: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/rplugin.vim +247.811 000.203 000.203: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/shada.vim +247.967 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/spellfile.vim +248.132 000.075 000.075: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tarPlugin.vim +248.296 000.078 000.078: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tohtml.vim +248.442 000.059 000.059: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tutor.vim +249.216 000.687 000.687: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/zipPlugin.vim +249.516 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +250.932 000.127 000.127: require('lspsaga') +251.194 000.086 000.086: require('lspsaga.window') +251.213 000.185 000.099: require('lspsaga.libs') +252.990 000.425 000.425: require('vim.lsp.log') +253.817 000.818 000.818: require('vim.lsp.protocol') +254.531 000.456 000.456: require('vim.lsp._snippet') +254.675 000.136 000.136: require('vim.highlight') +254.704 000.879 000.287: require('vim.lsp.util') +254.723 002.459 000.337: require('vim.lsp.handlers') +254.916 000.189 000.189: require('vim.lsp.rpc') +255.049 000.125 000.125: require('vim.lsp.sync') +255.512 000.456 000.456: require('vim.lsp.buf') +255.898 000.378 000.378: require('vim.lsp.diagnostic') +256.286 000.381 000.381: require('vim.lsp.codelens') +256.435 005.130 001.140: require('vim.lsp') +256.519 000.076 000.076: require('lspsaga.wrap') +256.530 005.313 000.107: require('lspsaga.codeaction') +256.569 005.629 000.131: require('lspsaga.lightbulb') +256.699 000.095 000.095: require('lspsaga.lspkind') +256.886 000.058 000.058: require('mason-core.path') +256.903 000.134 000.076: require('mason.settings') +257.101 000.054 000.054: require('mason-core.functional.data') +257.109 000.123 000.069: require('mason-core.functional.function') +257.145 000.238 000.115: require('mason-core.platform') +257.150 000.437 000.066: require('mason') +257.357 000.105 000.105: require('mason-core.functional') +257.475 000.101 000.101: require('mason-core.functional.list') +257.521 000.349 000.143: require('mason.api.command') +257.719 000.110 000.110: require('mason-core.log') +257.726 000.201 000.091: require('mason-lspconfig') +257.798 000.068 000.068: require('mason-lspconfig.settings') +257.891 000.077 000.077: require('mason-lspconfig.lspconfig_hook') +258.211 000.315 000.315: require('lspconfig.util') +258.438 000.079 000.079: require('mason-core.functional.table') +258.544 000.310 000.231: require('mason-lspconfig.mappings.server') +258.849 000.091 000.091: require('mason-core.async') +258.922 000.065 000.065: require('mason-core.async.uv') +258.933 000.303 000.147: require('mason-core.fs') +259.009 000.073 000.073: require('mason-core.optional') +259.080 000.067 000.067: require('mason-core.EventEmitter') +259.241 000.156 000.156: require('mason-registry.index') +259.260 000.710 000.112: require('mason-registry') +259.341 000.076 000.076: require('mason-lspconfig.server_config_extensions') +259.439 000.093 000.093: require('lspconfig.configs') +259.568 000.085 000.085: require('lspconfig.server_configurations.omnisharp') +259.680 000.072 000.072: require('mason-lspconfig.ensure_installed') +259.937 000.075 000.075: require('mason-core.result') +260.355 000.248 000.248: require('mason-core.process') +260.434 000.070 000.070: require('mason-core.functional.relation') +260.509 000.067 000.067: require('mason-core.functional.logic') +260.524 000.485 000.101: require('mason-core.spawn') +260.611 000.082 000.082: require('mason-core.receipt') +260.695 000.069 000.069: require('mason-core.functional.string') +260.727 000.784 000.147: require('mason-core.installer.context') +260.802 000.071 000.071: require('mason-core.installer.linker') +260.878 000.071 000.071: require('mason-core.async.control') +260.886 001.109 000.108: require('mason-core.installer') +260.986 000.097 000.097: require('mason-core.installer.handle') +261.352 000.075 000.075: require('mason-core.managers.powershell') +261.358 000.152 000.077: require('mason-core.fetch') +261.362 000.213 000.061: require('mason-core.managers.cargo.client') +261.471 000.410 000.197: require('mason-core.managers.cargo') +261.626 000.150 000.150: require('mason-core.managers.composer') +261.751 000.118 000.118: require('mason-core.managers.gem') +261.836 000.080 000.080: require('mason-core.managers.git') +262.055 000.129 000.129: require('mason-core.managers.std') +262.144 000.084 000.084: require('mason-core.managers.github.client') +262.158 000.317 000.104: require('mason-core.managers.github') +262.335 000.174 000.174: require('mason-core.managers.go') +262.467 000.127 000.127: require('mason-core.managers.luarocks') +262.578 000.106 000.106: require('mason-core.managers.npm') +262.694 000.111 000.111: require('mason-core.managers.pip3') +262.705 001.714 000.122: require('mason-core.package.version-check') +262.717 003.032 000.112: require('mason-core.package') +262.825 000.089 000.089: require('mason-registry.lua-language-server') +263.139 000.116 000.116: require('mason-registry.clangd') +263.374 000.126 000.126: require('mason-registry.rust-analyzer') +263.531 000.060 000.060: require('mason-core.notify') +263.611 000.074 000.074: require('mason-core.functional.number') +263.665 000.282 000.149: require('mason-lspconfig.api.command') +263.672 014.021 001.730: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +264.646 000.093 000.093: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/man.lua +264.859 009.930: loading rtp plugins +266.616 000.071 000.071: require('Comment.config') +266.723 000.099 000.099: require('Comment.utils') +266.800 000.072 000.072: require('Comment.opfunc') +266.873 000.068 000.068: require('Comment.extra') +266.888 000.475 000.165: require('Comment.api') +267.312 000.956 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +267.990 000.074 000.074: require('luasnip.util.types') +268.278 000.281 000.281: require('luasnip.util.ext_opts') +268.369 000.085 000.085: require('luasnip.extras.filetype_functions') +268.451 000.077 000.077: require('luasnip.session') +268.969 000.166 000.166: require('luasnip.util.util') +269.057 000.081 000.081: require('luasnip.nodes.util') +269.128 000.066 000.066: require('luasnip.util.events') +269.145 000.440 000.128: require('luasnip.nodes.node') +269.338 000.080 000.080: require('luasnip.util.extend_decorator') +269.350 000.893 000.373: require('luasnip.nodes.insertNode') +269.673 000.091 000.091: require('luasnip.util.mark') +270.003 000.192 000.192: require('luasnip.nodes.textNode') +271.216 001.044 001.044: require('luasnip.util._builtin_vars') +271.484 001.472 000.428: require('luasnip.util.environ') +271.584 000.093 000.093: require('luasnip.util.pattern_tokenizer') +271.677 000.087 000.087: require('luasnip.util.dict') +271.776 000.093 000.093: require('luasnip.session.snippet_collection') +271.836 002.157 000.219: require('luasnip.nodes.snippet') +271.857 002.504 000.256: require('luasnip.nodes.choiceNode') +272.071 000.154 000.154: require('luasnip.nodes.functionNode') +272.213 000.134 000.134: require('luasnip.nodes.dynamicNode') +272.335 000.116 000.116: require('luasnip.nodes.restoreNode') +272.429 000.089 000.089: require('luasnip.extras') +272.581 000.069 000.069: require('luasnip.util.str') +272.593 000.156 000.088: require('luasnip.extras.fmt') +272.659 000.062 000.062: require('luasnip.extras.expand_conditions') +274.837 000.115 000.115: require('luasnip.util.parser.neovim_ast') +285.484 000.102 000.102: require('luasnip.util.directed_graph') +285.508 012.765 012.548: require('luasnip.util.parser.ast_utils') +285.683 000.077 000.077: require('luasnip.util.functions') +285.694 000.181 000.104: require('luasnip.util.parser.ast_parser') +285.864 000.166 000.166: require('luasnip.util.parser.neovim_parser') +285.880 013.211 000.100: require('luasnip.util.parser') +285.961 000.076 000.076: require('luasnip.nodes.absolute_indexer') +286.571 018.788 000.878: require('luasnip.config') +286.736 019.252 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +287.625 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +288.516 000.096 000.096: require('indent_blankline/utils') +288.525 000.261 000.164: require('indent_blankline') +289.078 000.085 000.085: require('indent_blankline.commands') +289.243 001.156 000.810: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +289.661 000.100 000.100: require('lsp-colors') +290.066 000.560 000.459: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +291.337 000.883 000.883: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +292.198 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +292.735 000.093 000.093: require('cmp.utils.api') +292.879 000.068 000.068: require('cmp.types.cmp') +293.040 000.078 000.078: require('cmp.utils.misc') +293.161 000.276 000.197: require('cmp.types.lsp') +293.233 000.066 000.066: require('cmp.types.vim') +293.239 000.498 000.088: require('cmp.types') +293.311 000.069 000.069: require('cmp.utils.highlight') +293.438 000.060 000.060: require('cmp.utils.debug') +293.453 000.137 000.077: require('cmp.utils.autocmd') +294.094 001.520 000.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +294.361 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +294.791 000.107 000.107: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +295.290 000.200 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +295.922 000.069 000.069: require('nvim-treesitter.statusline') +296.008 000.079 000.079: require('nvim-treesitter.query_predicates') +296.014 000.235 000.087: require('nvim-treesitter') +297.249 000.211 000.211: require('vim.treesitter.highlighter') +297.604 000.717 000.506: require('nvim-treesitter.highlight') +298.233 002.511 001.559: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +298.701 000.250 000.250: require('treesitter-context') +298.712 000.288 000.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +299.085 000.089 000.089: require('nvim-treesitter-refactor') +299.521 000.552 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +299.907 000.123 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +300.288 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +300.657 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +301.449 000.439 000.439: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +301.814 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +302.983 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +303.777 000.499 000.499: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +304.414 000.381 000.381: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +305.285 000.605 000.605: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +305.595 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +305.881 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +306.951 010.557: loading packages +308.634 000.475 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +313.061 005.554 005.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +313.787 000.116 000.116: require('cmp.utils.char') +313.803 000.204 000.088: require('cmp.utils.str') +313.877 000.070 000.070: require('cmp.utils.pattern') +314.102 000.060 000.060: require('cmp.utils.buffer') +314.113 000.161 000.101: require('cmp.utils.keymap') +314.124 000.242 000.080: require('cmp.utils.feedkeys') +314.212 000.084 000.084: require('cmp.utils.async') +314.351 000.064 000.064: require('cmp.utils.cache') +314.358 000.141 000.077: require('cmp.context') +314.613 000.081 000.081: require('cmp.config.mapping') +314.787 000.091 000.091: require('cmp.config.compare') +314.796 000.176 000.085: require('cmp.config.default') +314.822 000.365 000.108: require('cmp.config') +314.996 000.067 000.067: require('cmp.matcher') +315.009 000.183 000.116: require('cmp.entry') +315.023 000.661 000.114: require('cmp.source') +315.170 000.064 000.064: require('cmp.utils.event') +315.349 000.099 000.099: require('cmp.utils.window') +315.357 000.181 000.082: require('cmp.view.docs_view') +315.477 000.117 000.117: require('cmp.view.custom_entries_view') +315.589 000.107 000.107: require('cmp.view.wildmenu_entries_view') +315.680 000.086 000.086: require('cmp.view.native_entries_view') +315.757 000.073 000.073: require('cmp.view.ghost_text_view') +315.774 000.748 000.120: require('cmp.view') +315.888 002.417 000.267: require('cmp.core') +316.199 000.074 000.074: require('cmp.config.sources') +316.266 000.059 000.059: require('cmp.config.window') +316.365 003.024 000.473: require('cmp') +316.650 000.063 000.063: require('cmp_buffer.timer') +316.662 000.153 000.090: require('cmp_buffer.buffer') +316.667 000.232 000.079: require('cmp_buffer.source') +316.671 000.301 000.069: require('cmp_buffer') +316.767 003.486 000.161: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +317.148 000.154 000.154: require('cmp_cmdline') +317.183 000.237 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +317.538 000.084 000.084: require('cmp_nvim_lsp.source') +317.546 000.168 000.084: require('cmp_nvim_lsp') +317.596 000.258 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +318.051 000.260 000.260: require('cmp_path') +318.087 000.339 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +318.379 000.087 000.087: require('cmp_luasnip') +318.445 000.203 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +318.598 001.570: loading after plugins +318.676 000.078: inits 3 +318.691 000.015: reading ShaDa +319.079 000.072 000.072: require('luasnip.loaders._caches') +319.267 000.181 000.181: require('luasnip.util.path') +319.366 000.092 000.092: require('luasnip.loaders.util') +319.603 000.104 000.104: require('luasnip.loaders') +319.642 000.271 000.167: require('luasnip') +319.649 000.734 000.119: require('luasnip.loaders.from_lua') +319.877 000.075 000.075: require('luasnip.nodes.snippetProxy') +319.886 000.177 000.102: require('luasnip.loaders.from_snipmate') +320.022 000.091 000.091: require('luasnip.loaders.from_vscode') +320.658 000.965: opening buffers +320.916 000.258: BufEnter autocommands +320.923 000.007: editing files in windows +335.685 000.594 000.594: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.315 001.315: --- NVIM STARTING --- +029.519 028.204: event init +045.885 016.366: early init +047.405 001.520: locale set +052.798 005.393: init first window +063.084 010.286: inits 1 +063.111 000.026: window checked +063.119 000.008: parsing arguments +075.078 000.268 000.268: require('vim.shared') +075.596 000.245 000.245: require('vim._meta') +075.609 000.509 000.263: require('vim._editor') +075.617 000.903 000.126: require('vim._init_packages') +075.624 011.602: init lua interpreter +075.789 000.165: expanding arguments +077.774 001.985: inits 2 +079.125 001.351: init highlight +079.134 000.009: waiting for UI +082.047 002.914: done waiting for UI +082.119 000.071: init screen for UI +082.613 000.495: init default mappings +082.660 000.047: init default autocommands +093.091 004.347 004.347: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/ftplugin.vim +095.882 001.064 001.064: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/indent.vim +096.229 000.037 000.037: sourcing /usr/share/nvim/archlinux.vim +096.246 000.117 000.080: sourcing /etc/xdg/nvim/sysinit.vim +106.342 005.865 005.865: require('keys') +108.711 002.358 002.358: require('opts') +112.148 001.046 001.046: require('packer.util') +112.298 003.211 002.165: require('packer') +116.366 001.643 001.643: require('packer.log') +116.396 002.522 000.879: require('packer.async') +118.234 000.752 000.752: require('packer.result') +118.250 001.845 001.093: require('packer.jobs') +118.281 005.884 001.517: require('packer.plugin_utils') +119.461 001.139 001.139: require('packer.snapshot') +120.985 012.265 002.031: require('pack') +137.495 016.498 016.498: require('impatient') +138.790 000.212 000.212: require('vim.treesitter.language') +138.824 000.831 000.619: require('vim.treesitter.query') +140.076 000.251 000.251: require('vim.treesitter.languagetree') +140.174 000.578 000.326: require('vim.treesitter') +140.627 001.447 000.869: require('nvim-treesitter.parsers') +140.797 000.161 000.161: require('nvim-treesitter.utils') +140.818 001.862 000.253: require('nvim-treesitter.ts_utils') +140.835 002.005 000.143: require('nvim-treesitter.tsrange') +141.528 000.687 000.687: require('nvim-treesitter.caching') +141.559 003.700 000.177: require('nvim-treesitter.query') +141.598 003.967 000.267: require('nvim-treesitter.configs') +142.951 000.527 000.527: require('nvim-treesitter.info') +143.550 000.590 000.590: require('nvim-treesitter.shell_command_selectors') +143.619 001.783 000.666: require('nvim-treesitter.install') +192.821 055.307 049.557: require('plugins.treesitter') +193.168 000.081 000.081: require('telescope._extensions') +193.177 000.173 000.092: require('telescope') +193.960 000.087 000.087: require('plenary.bit') +194.045 000.078 000.078: require('plenary.functional') +194.102 000.040 000.040: require('ffi') +194.152 000.438 000.234: require('plenary.path') +194.171 000.539 000.101: require('plenary.strings') +194.537 000.363 000.363: require('telescope.deprecated') +195.061 000.255 000.255: require('plenary.log') +195.141 000.488 000.233: require('telescope.log') +195.420 000.156 000.156: require('plenary.job') +195.511 000.085 000.085: require('telescope.state') +195.526 000.380 000.139: require('telescope.utils') +195.538 000.993 000.126: require('telescope.sorters') +195.706 000.144 000.144: require('vim.inspect') +196.270 000.015 000.015: require('vim.F') +200.294 006.805 004.751: require('telescope.config') +201.142 000.155 000.155: require('plenary.window.border') +201.222 000.074 000.074: require('plenary.window') +201.445 000.214 000.214: require('plenary.popup.utils') +201.461 001.156 000.713: require('plenary.popup') +201.595 000.128 000.128: require('telescope.pickers.scroller') +201.749 000.148 000.148: require('telescope.actions.state') +201.827 000.072 000.072: require('telescope.actions.utils') +201.984 000.071 000.071: require('telescope.actions.mt') +202.017 000.184 000.113: require('telescope.actions.set') +202.212 000.078 000.078: require('telescope.config.resolve') +202.218 000.157 000.079: require('telescope.pickers.entry_display') +202.292 000.070 000.070: require('telescope.from_entry') +202.894 009.714 000.995: require('telescope.actions') +203.744 000.059 000.059: require('plenary.tbl') +203.753 000.131 000.073: require('plenary.vararg.rotate') +203.756 000.192 000.061: require('plenary.vararg') +203.872 000.113 000.113: require('plenary.errors') +203.892 000.393 000.087: require('plenary.async.async') +203.963 000.068 000.068: require('plenary.async.structs') +203.978 000.558 000.097: require('plenary.async.control') +204.289 000.233 000.233: require('telescope.make_entry') +204.577 000.085 000.085: require('plenary.async.util') +204.584 000.151 000.066: require('plenary.async.tests') +204.589 000.225 000.074: require('plenary.async') +204.594 000.299 000.074: require('telescope.finders.async_static_finder') +204.816 000.062 000.062: require('plenary.class') +204.845 000.177 000.116: require('telescope._') +204.850 000.253 000.076: require('telescope.finders.async_oneshot_finder') +204.930 000.076 000.076: require('telescope.finders.async_job_finder') +204.942 000.959 000.098: require('telescope.finders') +205.285 000.099 000.099: require('telescope.debounce') +205.562 000.270 000.270: require('telescope.mappings') +205.686 000.115 000.115: require('telescope.pickers.highlights') +205.793 000.101 000.101: require('telescope.pickers.window') +205.962 000.076 000.076: require('telescope.algos.linked_list') +205.970 000.171 000.096: require('telescope.entry_manager') +206.040 000.067 000.067: require('telescope.pickers.multi') +206.079 001.133 000.311: require('telescope.pickers') +206.097 002.802 000.151: require('telescope.builtin.__lsp') +206.126 003.202 000.400: require('telescope.builtin') +206.457 000.236 000.236: require('fzf_lib') +206.469 000.338 000.102: require('telescope._extensions.fzf') +206.811 000.097 000.097: require('telescope._extensions.file_browser.utils') +206.921 000.358 000.261: require('telescope._extensions.file_browser.actions') +207.218 000.200 000.200: require('telescope._extensions.file_browser.make_entry') +207.387 000.161 000.161: require('plenary.scandir') +207.444 000.519 000.158: require('telescope._extensions.file_browser.finders') +207.545 000.097 000.097: require('telescope._extensions.file_browser.picker') +207.650 000.099 000.099: require('telescope._extensions.file_browser.config') +207.657 001.177 000.103: require('telescope._extensions.file_browser') +211.310 000.020 000.020: require('vim.keymap') +211.563 018.727 004.104: require('plugins.telescope') +212.720 000.062 000.062: require('notify.util.queue') +212.735 000.155 000.093: require('notify.util') +213.007 000.269 000.269: require('notify.config.highlights') +213.022 000.525 000.101: require('notify.config') +213.094 000.068 000.068: require('notify.stages') +213.169 000.069 000.069: require('notify.service.notification') +213.682 000.175 000.175: require('notify.animate.spring') +213.690 000.392 000.217: require('notify.animate') +213.704 000.530 000.139: require('notify.windows') +214.066 000.097 000.097: require('notify.service.buffer.highlights') +214.077 000.258 000.161: require('notify.service.buffer') +214.082 000.375 000.117: require('notify.service') +214.184 000.099 000.099: require('notify.stages.util') +214.194 001.784 000.118: require('notify') +214.350 000.152 000.152: require('nvim-tree.iterators.node-iterator') +214.431 002.141 000.206: require('nvim-tree.utils') +214.445 002.227 000.086: require('nvim-tree.events') +214.713 000.088 000.088: require('nvim-tree.log') +214.890 000.171 000.171: require('nvim-tree.git.utils') +215.009 000.114 000.114: require('nvim-tree.git.runner') +215.174 000.161 000.161: require('nvim-tree.watcher') +215.192 000.657 000.124: require('nvim-tree.git') +215.298 000.103 000.103: require('nvim-tree.explorer.watch') +215.406 000.102 000.102: require('nvim-tree.explorer.common') +215.643 000.101 000.101: require('nvim-tree.explorer.node-builders') +215.743 000.094 000.094: require('nvim-tree.explorer.sorters') +215.833 000.085 000.085: require('nvim-tree.explorer.filters') +216.211 000.273 000.273: require('nvim-tree.view') +216.236 000.399 000.126: require('nvim-tree.live-filter') +216.246 000.795 000.117: require('nvim-tree.explorer.explore') +216.401 000.150 000.150: require('nvim-tree.explorer.reload') +216.415 001.967 000.159: require('nvim-tree.explorer') +216.427 004.273 000.079: require('nvim-tree.core') +216.599 000.166 000.166: require('nvim-tree.diagnostics') +216.736 000.128 000.128: require('nvim-tree.renderer.components.padding') +216.878 000.135 000.135: require('nvim-tree.renderer.components.icons') +217.023 000.137 000.137: require('nvim-tree.renderer.components.full-name') +217.159 000.130 000.130: require('nvim-tree.renderer.help') +217.462 000.200 000.200: require('nvim-tree.renderer.components.git') +217.671 000.201 000.201: require('nvim-tree.renderer.builder') +217.860 000.182 000.182: require('nvim-tree.marks') +217.885 005.824 000.272: require('nvim-tree.renderer') +218.041 000.140 000.140: require('nvim-tree.actions.tree-modifiers.collapse-all') +218.225 000.176 000.176: require('nvim-tree.actions.root.dir-up') +218.363 000.130 000.130: require('nvim-tree.actions.root.change-dir') +218.464 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') +218.613 000.139 000.139: require('nvim-tree.actions.finders.find-file') +218.622 006.686 000.182: require('nvim-tree.lib') +218.780 000.153 000.153: require('nvim-tree.colors') +218.941 000.154 000.154: require('nvim-tree.legacy') +219.076 000.130 000.130: require('nvim-tree.actions.fs.copy-paste') +219.307 000.103 000.103: require('nvim-tree.actions.tree-modifiers.expand-all') +219.397 000.084 000.084: require('nvim-tree.actions.tree-modifiers.toggles') +219.500 000.097 000.097: require('nvim-tree.actions.fs.create-file') +219.594 000.088 000.088: require('nvim-tree.actions.fs.rename-file') +219.723 000.124 000.124: require('nvim-tree.actions.fs.trash') +219.830 000.101 000.101: require('nvim-tree.actions.fs.remove-file') +219.918 000.080 000.080: require('nvim-tree.actions.moves.parent') +220.008 000.085 000.085: require('nvim-tree.actions.moves.sibling') +220.096 000.082 000.082: require('nvim-tree.actions.moves.item') +220.192 000.086 000.086: require('nvim-tree.actions.finders.search-node') +220.275 000.078 000.078: require('nvim-tree.actions.node.run-command') +220.377 000.098 000.098: require('nvim-tree.actions.node.file-popup') +220.493 000.111 000.111: require('nvim-tree.actions.node.system-open') +220.617 000.095 000.095: require('nvim-tree.marks.bulk-move') +220.629 001.547 000.234: require('nvim-tree.actions.dispatch') +220.682 008.952 000.284: require('nvim-tree') +220.763 000.077 000.077: require('nvim-tree.config') +225.457 000.258 000.258: require('nvim-tree.actions') +225.612 000.138 000.138: require('nvim-tree.actions.node.open-file') +231.177 000.215 000.215: require('nvim-tree.marks.navigation') +231.192 000.752 000.537: require('nvim-tree.api') +231.319 001.308 000.556: require('nvim-tree.keymap') +233.412 001.322 001.322: require('nvim-web-devicons') +237.819 026.249 014.194: require('plugins.nvim-tree') +238.149 000.080 000.080: require('lualine_require') +238.693 000.744 000.664: require('lualine') +238.769 000.068 000.068: require('plugins.linecolor') +246.769 000.098 000.098: require('lualine.utils.mode') +249.215 011.383 010.473: require('plugins.lualine') +249.247 152.936 004.285: sourcing /home/sxrdusr/.config/nvim/init.lua +249.266 008.141: sourcing vimrc file(s) +249.558 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +250.909 000.165 000.165: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.lua +252.249 001.187 001.187: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.vim +254.478 000.324 000.324: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/synload.vim +254.864 002.122 001.798: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/syntax.vim +261.357 001.228 001.228: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/gzip.vim +261.572 000.105 000.105: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/health.vim +264.456 001.402 001.402: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +264.907 003.231 001.828: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchit.vim +265.364 000.392 000.392: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchparen.vim +265.507 000.075 000.075: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/netrwPlugin.vim +265.913 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +265.934 000.361 000.337: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/rplugin.vim +266.179 000.184 000.184: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/shada.vim +266.298 000.051 000.051: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/spellfile.vim +266.427 000.062 000.062: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tarPlugin.vim +266.555 000.063 000.063: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tohtml.vim +266.666 000.045 000.045: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tutor.vim +267.424 000.693 000.693: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/zipPlugin.vim +267.688 000.035 000.035: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +269.082 000.120 000.120: require('lspsaga') +269.341 000.083 000.083: require('lspsaga.window') +269.360 000.181 000.097: require('lspsaga.libs') +270.284 000.369 000.369: require('vim.lsp.log') +270.982 000.690 000.690: require('vim.lsp.protocol') +271.405 000.179 000.179: require('vim.lsp._snippet') +271.540 000.128 000.128: require('vim.highlight') +271.568 000.579 000.272: require('vim.lsp.util') +271.602 001.846 000.207: require('vim.lsp.handlers') +271.792 000.185 000.185: require('vim.lsp.rpc') +271.899 000.100 000.100: require('vim.lsp.sync') +272.049 000.144 000.144: require('vim.lsp.buf') +272.158 000.102 000.102: require('vim.lsp.diagnostic') +272.268 000.104 000.104: require('vim.lsp.codelens') +272.410 002.961 000.479: require('vim.lsp') +272.488 000.069 000.069: require('lspsaga.wrap') +272.498 003.134 000.105: require('lspsaga.codeaction') +272.539 003.448 000.133: require('lspsaga.lightbulb') +272.662 000.089 000.089: require('lspsaga.lspkind') +272.840 000.056 000.056: require('mason-core.path') +272.856 000.130 000.074: require('mason.settings') +273.051 000.055 000.055: require('mason-core.functional.data') +273.059 000.122 000.068: require('mason-core.functional.function') +273.095 000.234 000.112: require('mason-core.platform') +273.099 000.427 000.063: require('mason') +273.317 000.110 000.110: require('mason-core.functional') +273.431 000.094 000.094: require('mason-core.functional.list') +273.472 000.351 000.146: require('mason.api.command') +273.730 000.170 000.170: require('mason-core.log') +273.738 000.261 000.091: require('mason-lspconfig') +273.810 000.069 000.069: require('mason-lspconfig.settings') +273.930 000.083 000.083: require('mason-lspconfig.lspconfig_hook') +274.191 000.255 000.255: require('lspconfig.util') +274.407 000.070 000.070: require('mason-core.functional.table') +274.515 000.300 000.230: require('mason-lspconfig.mappings.server') +274.819 000.121 000.121: require('mason-core.async') +274.889 000.063 000.063: require('mason-core.async.uv') +274.903 000.305 000.121: require('mason-core.fs') +274.984 000.077 000.077: require('mason-core.optional') +275.055 000.066 000.066: require('mason-core.EventEmitter') +275.213 000.154 000.154: require('mason-registry.index') +275.233 000.711 000.111: require('mason-registry') +275.320 000.069 000.069: require('mason-lspconfig.server_config_extensions') +275.415 000.090 000.090: require('lspconfig.configs') +275.544 000.085 000.085: require('lspconfig.server_configurations.omnisharp') +275.748 000.074 000.074: require('mason-lspconfig.ensure_installed') +276.005 000.072 000.072: require('mason-core.result') +276.417 000.240 000.240: require('mason-core.process') +276.495 000.070 000.070: require('mason-core.functional.relation') +276.570 000.064 000.064: require('mason-core.functional.logic') +276.586 000.480 000.107: require('mason-core.spawn') +276.672 000.081 000.081: require('mason-core.receipt') +276.761 000.078 000.078: require('mason-core.functional.string') +276.793 000.783 000.144: require('mason-core.installer.context') +276.869 000.072 000.072: require('mason-core.installer.linker') +276.943 000.070 000.070: require('mason-core.async.control') +276.955 001.111 000.114: require('mason-core.installer') +277.048 000.090 000.090: require('mason-core.installer.handle') +277.418 000.067 000.067: require('mason-core.managers.powershell') +277.428 000.146 000.079: require('mason-core.fetch') +277.432 000.212 000.066: require('mason-core.managers.cargo.client') +277.559 000.435 000.223: require('mason-core.managers.cargo') +277.681 000.116 000.116: require('mason-core.managers.composer') +277.797 000.110 000.110: require('mason-core.managers.gem') +277.878 000.076 000.076: require('mason-core.managers.git') +278.059 000.095 000.095: require('mason-core.managers.std') +278.142 000.078 000.078: require('mason-core.managers.github.client') +278.155 000.273 000.100: require('mason-core.managers.github') +278.342 000.183 000.183: require('mason-core.managers.go') +278.486 000.139 000.139: require('mason-core.managers.luarocks') +278.592 000.101 000.101: require('mason-core.managers.npm') +278.705 000.108 000.108: require('mason-core.managers.pip3') +278.716 001.661 000.121: require('mason-core.package.version-check') +278.728 002.974 000.112: require('mason-core.package') +278.830 000.089 000.089: require('mason-registry.lua-language-server') +279.275 000.122 000.122: require('mason-registry.clangd') +279.487 000.147 000.147: require('mason-registry.rust-analyzer') +279.655 000.067 000.067: require('mason-core.notify') +279.733 000.071 000.071: require('mason-core.functional.number') +279.785 000.289 000.152: require('mason-lspconfig.api.command') +279.791 011.969 001.915: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +280.735 000.090 000.090: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/man.lua +280.920 009.546: loading rtp plugins +282.674 000.073 000.073: require('Comment.config') +282.771 000.089 000.089: require('Comment.utils') +282.846 000.071 000.071: require('Comment.opfunc') +282.917 000.066 000.066: require('Comment.extra') +282.933 000.458 000.160: require('Comment.api') +283.468 001.047 000.589: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +284.190 000.090 000.090: require('luasnip.util.types') +284.274 000.076 000.076: require('luasnip.util.ext_opts') +284.352 000.074 000.074: require('luasnip.extras.filetype_functions') +284.425 000.068 000.068: require('luasnip.session') +284.739 000.127 000.127: require('luasnip.util.util') +284.819 000.075 000.075: require('luasnip.nodes.util') +284.887 000.062 000.062: require('luasnip.util.events') +284.908 000.387 000.123: require('luasnip.nodes.node') +285.048 000.095 000.095: require('luasnip.util.extend_decorator') +285.063 000.633 000.151: require('luasnip.nodes.insertNode') +285.330 000.083 000.083: require('luasnip.util.mark') +285.616 000.140 000.140: require('luasnip.nodes.textNode') +286.531 000.827 000.827: require('luasnip.util._builtin_vars') +286.833 001.209 000.383: require('luasnip.util.environ') +286.926 000.086 000.086: require('luasnip.util.pattern_tokenizer') +286.999 000.068 000.068: require('luasnip.util.dict') +287.096 000.092 000.092: require('luasnip.session.snippet_collection') +287.152 001.816 000.221: require('luasnip.nodes.snippet') +287.188 002.122 000.223: require('luasnip.nodes.choiceNode') +287.368 000.112 000.112: require('luasnip.nodes.functionNode') +287.544 000.169 000.169: require('luasnip.nodes.dynamicNode') +287.688 000.138 000.138: require('luasnip.nodes.restoreNode') +287.780 000.086 000.086: require('luasnip.extras') +287.977 000.068 000.068: require('luasnip.util.str') +287.989 000.202 000.133: require('luasnip.extras.fmt') +288.054 000.061 000.061: require('luasnip.extras.expand_conditions') +290.201 000.078 000.078: require('luasnip.util.parser.neovim_ast') +300.163 000.097 000.097: require('luasnip.util.directed_graph') +300.185 012.054 011.879: require('luasnip.util.parser.ast_utils') +300.367 000.085 000.085: require('luasnip.util.functions') +300.387 000.196 000.111: require('luasnip.util.parser.ast_parser') +300.563 000.173 000.173: require('luasnip.util.parser.neovim_parser') +300.577 012.513 000.090: require('luasnip.util.parser') +300.655 000.074 000.074: require('luasnip.nodes.absolute_indexer') +301.222 017.241 000.824: require('luasnip.config') +301.385 017.742 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +302.266 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +303.147 000.099 000.099: require('indent_blankline/utils') +303.156 000.256 000.156: require('indent_blankline') +303.623 000.093 000.093: require('indent_blankline.commands') +303.782 001.055 000.706: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +304.216 000.098 000.098: require('lsp-colors') +305.024 000.956 000.858: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +306.488 001.075 001.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +307.360 000.411 000.411: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +307.912 000.092 000.092: require('cmp.utils.api') +308.048 000.066 000.066: require('cmp.types.cmp') +308.210 000.080 000.080: require('cmp.utils.misc') +308.328 000.274 000.194: require('cmp.types.lsp') +308.401 000.067 000.067: require('cmp.types.vim') +308.406 000.487 000.081: require('cmp.types') +308.475 000.065 000.065: require('cmp.utils.highlight') +308.602 000.060 000.060: require('cmp.utils.debug') +308.617 000.137 000.077: require('cmp.utils.autocmd') +309.515 001.773 000.991: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +309.780 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +310.207 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +310.692 000.172 000.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +311.299 000.065 000.065: require('nvim-treesitter.statusline') +311.390 000.084 000.084: require('nvim-treesitter.query_predicates') +311.397 000.237 000.087: require('nvim-treesitter') +312.386 000.250 000.250: require('vim.treesitter.highlighter') +312.746 000.762 000.512: require('nvim-treesitter.highlight') +313.417 002.309 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +313.878 000.234 000.234: require('treesitter-context') +313.888 000.278 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +314.260 000.086 000.086: require('nvim-treesitter-refactor') +314.421 000.273 000.187: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +314.787 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +315.167 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +315.536 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +316.316 000.428 000.428: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +316.677 000.059 000.059: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +317.659 000.460 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +318.449 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +319.069 000.362 000.362: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +319.927 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +320.227 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +320.530 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +322.022 011.008: loading packages +323.663 000.443 000.443: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +328.017 005.446 005.003: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +328.726 000.122 000.122: require('cmp.utils.char') +328.741 000.206 000.084: require('cmp.utils.str') +328.812 000.067 000.067: require('cmp.utils.pattern') +329.041 000.067 000.067: require('cmp.utils.buffer') +329.055 000.166 000.099: require('cmp.utils.keymap') +329.064 000.247 000.081: require('cmp.utils.feedkeys') +329.153 000.085 000.085: require('cmp.utils.async') +329.288 000.060 000.060: require('cmp.utils.cache') +329.295 000.137 000.076: require('cmp.context') +329.538 000.082 000.082: require('cmp.config.mapping') +329.700 000.081 000.081: require('cmp.config.compare') +329.705 000.160 000.079: require('cmp.config.default') +329.731 000.347 000.104: require('cmp.config') +329.907 000.066 000.066: require('cmp.matcher') +329.920 000.185 000.119: require('cmp.entry') +329.934 000.636 000.104: require('cmp.source') +330.070 000.059 000.059: require('cmp.utils.event') +330.244 000.086 000.086: require('cmp.utils.window') +330.251 000.175 000.089: require('cmp.view.docs_view') +330.368 000.115 000.115: require('cmp.view.custom_entries_view') +330.485 000.111 000.111: require('cmp.view.wildmenu_entries_view') +330.590 000.100 000.100: require('cmp.view.native_entries_view') +330.668 000.073 000.073: require('cmp.view.ghost_text_view') +330.686 000.748 000.115: require('cmp.view') +330.759 002.340 000.215: require('cmp.core') +331.206 000.068 000.068: require('cmp.config.sources') +331.275 000.061 000.061: require('cmp.config.window') +331.378 003.082 000.613: require('cmp') +331.667 000.065 000.065: require('cmp_buffer.timer') +331.676 000.156 000.090: require('cmp_buffer.buffer') +331.684 000.236 000.080: require('cmp_buffer.source') +331.688 000.305 000.069: require('cmp_buffer') +331.717 003.480 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +332.116 000.150 000.150: require('cmp_cmdline') +332.152 000.259 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +332.495 000.072 000.072: require('cmp_nvim_lsp.source') +332.502 000.149 000.078: require('cmp_nvim_lsp') +332.552 000.244 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +332.866 000.115 000.115: require('cmp_path') +332.896 000.193 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +333.187 000.090 000.090: require('cmp_luasnip') +333.256 000.210 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +333.412 001.558: loading after plugins +333.475 000.062: inits 3 +333.487 000.013: reading ShaDa +333.892 000.092 000.092: require('luasnip.loaders._caches') +334.006 000.108 000.108: require('luasnip.util.path') +334.098 000.086 000.086: require('luasnip.loaders.util') +334.316 000.100 000.100: require('luasnip.loaders') +334.355 000.252 000.151: require('luasnip') +334.362 000.653 000.115: require('luasnip.loaders.from_lua') +334.576 000.074 000.074: require('luasnip.nodes.snippetProxy') +334.586 000.175 000.101: require('luasnip.loaders.from_snipmate') +334.714 000.088 000.088: require('luasnip.loaders.from_vscode') +335.773 001.369: opening buffers +335.985 000.212: BufEnter autocommands +335.991 000.006: editing files in windows +351.037 000.897 000.897: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.080 001.080: --- NVIM STARTING --- +027.406 026.326: event init +043.818 016.412: early init +045.469 001.651: locale set +050.897 005.428: init first window +060.729 009.831: inits 1 +060.758 000.029: window checked +060.768 000.010: parsing arguments +071.499 000.121 000.121: require('vim.shared') +071.736 000.114 000.114: require('vim._meta') +071.742 000.234 000.119: require('vim._editor') +071.746 000.411 000.057: require('vim._init_packages') +071.749 010.570: init lua interpreter +071.828 000.079: expanding arguments +073.656 001.828: inits 2 +074.260 000.605: init highlight +074.265 000.004: waiting for UI +076.636 002.371: done waiting for UI +076.670 000.035: init screen for UI +076.912 000.241: init default mappings +076.939 000.028: init default autocommands +085.849 003.940 003.940: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/ftplugin.vim +087.715 000.864 000.864: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/indent.vim +087.951 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim +087.963 000.086 000.059: sourcing /etc/xdg/nvim/sysinit.vim +096.976 005.642 005.642: require('keys') +099.478 002.489 002.489: require('opts') +102.067 000.524 000.524: require('packer.util') +102.123 002.264 001.740: require('packer') +103.995 000.611 000.611: require('packer.log') +104.017 001.096 000.485: require('packer.async') +105.004 000.395 000.395: require('packer.result') +105.013 000.991 000.596: require('packer.jobs') +105.029 002.859 000.772: require('packer.plugin_utils') +105.671 000.619 000.619: require('packer.snapshot') +106.678 007.192 001.450: require('pack') +117.616 010.929 010.929: require('impatient') +118.465 000.192 000.192: require('vim.treesitter.language') +118.485 000.545 000.353: require('vim.treesitter.query') +119.777 000.239 000.239: require('vim.treesitter.languagetree') +119.839 000.619 000.380: require('vim.treesitter') +120.125 001.208 000.589: require('nvim-treesitter.parsers') +120.247 000.116 000.116: require('nvim-treesitter.utils') +120.262 001.550 000.226: require('nvim-treesitter.ts_utils') +120.271 001.781 000.231: require('nvim-treesitter.tsrange') +120.346 000.072 000.072: require('nvim-treesitter.caching') +120.368 002.520 000.122: require('nvim-treesitter.query') +120.394 002.687 000.167: require('nvim-treesitter.configs') +120.789 000.085 000.085: require('nvim-treesitter.info') +120.911 000.116 000.116: require('nvim-treesitter.shell_command_selectors') +120.959 000.452 000.250: require('nvim-treesitter.install') +163.436 045.806 042.666: require('plugins.treesitter') +163.913 000.263 000.263: require('telescope._extensions') +163.923 000.350 000.088: require('telescope') +164.650 000.083 000.083: require('plenary.bit') +164.727 000.071 000.071: require('plenary.functional') +164.774 000.028 000.028: require('ffi') +164.798 000.360 000.178: require('plenary.path') +164.812 000.452 000.092: require('plenary.strings') +164.881 000.066 000.066: require('telescope.deprecated') +165.525 000.355 000.355: require('plenary.log') +165.613 000.628 000.273: require('telescope.log') +166.068 000.281 000.281: require('plenary.job') +166.146 000.071 000.071: require('telescope.state') +166.167 000.548 000.196: require('telescope.utils') +166.178 001.291 000.115: require('telescope.sorters') +166.339 000.139 000.139: require('vim.inspect') +166.544 000.011 000.011: require('vim.F') +169.773 005.637 003.678: require('telescope.config') +170.373 000.089 000.089: require('plenary.window.border') +170.442 000.063 000.063: require('plenary.window') +170.504 000.057 000.057: require('plenary.popup.utils') +170.515 000.733 000.525: require('plenary.popup') +170.584 000.065 000.065: require('telescope.pickers.scroller') +170.652 000.064 000.064: require('telescope.actions.state') +170.724 000.067 000.067: require('telescope.actions.utils') +170.865 000.067 000.067: require('telescope.actions.mt') +170.895 000.167 000.099: require('telescope.actions.set') +171.089 000.072 000.072: require('telescope.config.resolve') +171.099 000.152 000.080: require('telescope.pickers.entry_display') +171.158 000.056 000.056: require('telescope.from_entry') +171.494 007.567 000.626: require('telescope.actions') +172.112 000.077 000.077: require('plenary.tbl') +172.121 000.172 000.094: require('plenary.vararg.rotate') +172.125 000.232 000.060: require('plenary.vararg') +172.186 000.058 000.058: require('plenary.errors') +172.198 000.367 000.077: require('plenary.async.async') +172.264 000.063 000.063: require('plenary.async.structs') +172.278 000.518 000.089: require('plenary.async.control') +172.615 000.234 000.234: require('telescope.make_entry') +172.879 000.074 000.074: require('plenary.async.util') +172.886 000.136 000.063: require('plenary.async.tests') +172.890 000.203 000.066: require('plenary.async') +172.894 000.273 000.070: require('telescope.finders.async_static_finder') +173.099 000.057 000.057: require('plenary.class') +173.124 000.162 000.106: require('telescope._') +173.129 000.232 000.070: require('telescope.finders.async_oneshot_finder') +173.199 000.066 000.066: require('telescope.finders.async_job_finder') +173.208 000.925 000.119: require('telescope.finders') +173.492 000.103 000.103: require('telescope.debounce') +173.650 000.152 000.152: require('telescope.mappings') +173.736 000.081 000.081: require('telescope.pickers.highlights') +173.812 000.070 000.070: require('telescope.pickers.window') +173.959 000.070 000.070: require('telescope.algos.linked_list') +173.966 000.150 000.080: require('telescope.entry_manager') +174.031 000.062 000.062: require('telescope.pickers.multi') +174.060 000.849 000.232: require('telescope.pickers') +174.075 002.421 000.129: require('telescope.builtin.__lsp') +174.124 002.624 000.203: require('telescope.builtin') +174.430 000.222 000.222: require('fzf_lib') +174.440 000.310 000.088: require('telescope._extensions.fzf') +174.788 000.093 000.093: require('telescope._extensions.file_browser.utils') +174.884 000.353 000.260: require('telescope._extensions.file_browser.actions') +175.118 000.142 000.142: require('telescope._extensions.file_browser.make_entry') +175.267 000.143 000.143: require('plenary.scandir') +175.316 000.427 000.142: require('telescope._extensions.file_browser.finders') +175.401 000.081 000.081: require('telescope._extensions.file_browser.picker') +175.494 000.088 000.088: require('telescope._extensions.file_browser.config') +175.500 001.050 000.100: require('telescope._extensions.file_browser') +179.114 000.014 000.014: require('vim.keymap') +179.332 015.886 003.971: require('plugins.telescope') +180.337 000.061 000.061: require('notify.util.queue') +180.346 000.147 000.085: require('notify.util') +180.570 000.221 000.221: require('notify.config.highlights') +180.587 000.469 000.102: require('notify.config') +180.765 000.174 000.174: require('notify.stages') +180.841 000.069 000.069: require('notify.service.notification') +181.057 000.060 000.060: require('notify.animate.spring') +181.063 000.120 000.060: require('notify.animate') +181.076 000.230 000.110: require('notify.windows') +181.365 000.108 000.108: require('notify.service.buffer.highlights') +181.379 000.225 000.116: require('notify.service.buffer') +181.385 000.306 000.081: require('notify.service') +181.497 000.108 000.108: require('notify.stages.util') +181.507 001.480 000.123: require('notify') +181.616 000.106 000.106: require('nvim-tree.iterators.node-iterator') +181.725 001.805 000.219: require('nvim-tree.utils') +181.738 001.887 000.083: require('nvim-tree.events') +181.989 000.078 000.078: require('nvim-tree.log') +182.151 000.156 000.156: require('nvim-tree.git.utils') +182.251 000.095 000.095: require('nvim-tree.git.runner') +182.369 000.113 000.113: require('nvim-tree.watcher') +182.393 000.567 000.125: require('nvim-tree.git') +182.492 000.095 000.095: require('nvim-tree.explorer.watch') +182.580 000.083 000.083: require('nvim-tree.explorer.common') +182.807 000.090 000.090: require('nvim-tree.explorer.node-builders') +182.903 000.089 000.089: require('nvim-tree.explorer.sorters') +183.040 000.132 000.132: require('nvim-tree.explorer.filters') +183.398 000.251 000.251: require('nvim-tree.view') +183.410 000.366 000.114: require('nvim-tree.live-filter') +183.421 000.797 000.120: require('nvim-tree.explorer.explore') +183.517 000.093 000.093: require('nvim-tree.explorer.reload') +183.527 001.785 000.150: require('nvim-tree.explorer') +183.545 003.754 000.082: require('nvim-tree.core') +183.660 000.111 000.111: require('nvim-tree.diagnostics') +183.753 000.087 000.087: require('nvim-tree.renderer.components.padding') +183.842 000.084 000.084: require('nvim-tree.renderer.components.icons') +183.948 000.101 000.101: require('nvim-tree.renderer.components.full-name') +184.037 000.085 000.085: require('nvim-tree.renderer.help') +184.170 000.127 000.127: require('nvim-tree.renderer.components.git') +184.303 000.128 000.128: require('nvim-tree.renderer.builder') +184.399 000.091 000.091: require('nvim-tree.marks') +184.415 004.706 000.137: require('nvim-tree.renderer') +184.518 000.089 000.089: require('nvim-tree.actions.tree-modifiers.collapse-all') +184.609 000.086 000.086: require('nvim-tree.actions.root.dir-up') +184.703 000.089 000.089: require('nvim-tree.actions.root.change-dir') +184.787 000.079 000.079: require('nvim-tree.actions.reloaders.reloaders') +184.875 000.079 000.079: require('nvim-tree.actions.finders.find-file') +184.880 005.245 000.117: require('nvim-tree.lib') +184.995 000.111 000.111: require('nvim-tree.colors') +185.150 000.149 000.149: require('nvim-tree.legacy') +185.288 000.132 000.132: require('nvim-tree.actions.fs.copy-paste') +185.532 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') +185.617 000.078 000.078: require('nvim-tree.actions.tree-modifiers.toggles') +185.756 000.132 000.132: require('nvim-tree.actions.fs.create-file') +185.858 000.095 000.095: require('nvim-tree.actions.fs.rename-file') +185.985 000.121 000.121: require('nvim-tree.actions.fs.trash') +186.111 000.121 000.121: require('nvim-tree.actions.fs.remove-file') +186.203 000.085 000.085: require('nvim-tree.actions.moves.parent') +186.287 000.079 000.079: require('nvim-tree.actions.moves.sibling') +186.369 000.076 000.076: require('nvim-tree.actions.moves.item') +186.482 000.089 000.089: require('nvim-tree.actions.finders.search-node') +186.565 000.078 000.078: require('nvim-tree.actions.node.run-command') +186.658 000.088 000.088: require('nvim-tree.actions.node.file-popup') +186.795 000.132 000.132: require('nvim-tree.actions.node.system-open') +186.898 000.095 000.095: require('nvim-tree.marks.bulk-move') +186.906 001.612 000.242: require('nvim-tree.actions.dispatch') +186.960 007.522 000.273: require('nvim-tree') +187.039 000.075 000.075: require('nvim-tree.config') +192.091 000.306 000.306: require('nvim-tree.actions') +192.263 000.152 000.152: require('nvim-tree.actions.node.open-file') +196.580 000.258 000.258: require('nvim-tree.marks.navigation') +196.599 001.236 000.978: require('nvim-tree.api') +196.734 001.594 000.357: require('nvim-tree.keymap') +199.512 002.025 002.025: require('nvim-web-devicons') +203.706 024.367 012.694: require('plugins.nvim-tree') +204.070 000.080 000.080: require('lualine_require') +204.613 000.770 000.690: require('lualine') +204.685 000.065 000.065: require('plugins.linecolor') +213.446 000.088 000.088: require('lualine.utils.mode') +215.545 011.829 010.906: require('plugins.lualine') +215.554 127.545 003.406: sourcing /home/sxrdusr/.config/nvim/init.lua +215.571 006.197: sourcing vimrc file(s) +215.888 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +217.247 000.068 000.068: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.lua +218.594 001.163 001.163: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.vim +222.514 000.412 000.412: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/synload.vim +222.762 003.325 002.913: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/syntax.vim +231.144 002.457 002.457: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/gzip.vim +231.338 000.069 000.069: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/health.vim +234.897 002.302 002.302: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +235.369 003.968 001.667: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchit.vim +235.874 000.439 000.439: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchparen.vim +236.128 000.132 000.132: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/netrwPlugin.vim +236.569 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +236.590 000.393 000.372: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/rplugin.vim +236.889 000.215 000.215: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/shada.vim +237.045 000.083 000.083: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/spellfile.vim +237.420 000.309 000.309: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tarPlugin.vim +237.699 000.210 000.210: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tohtml.vim +237.832 000.066 000.066: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tutor.vim +239.418 001.521 001.521: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/zipPlugin.vim +240.901 001.250 001.250: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +242.244 000.130 000.130: require('lspsaga') +242.541 000.087 000.087: require('lspsaga.window') +242.561 000.223 000.135: require('lspsaga.libs') +243.563 000.403 000.403: require('vim.lsp.log') +244.323 000.753 000.753: require('vim.lsp.protocol') +244.738 000.179 000.179: require('vim.lsp._snippet') +244.874 000.130 000.130: require('vim.highlight') +244.902 000.572 000.264: require('vim.lsp.util') +244.921 001.953 000.225: require('vim.lsp.handlers') +245.149 000.225 000.225: require('vim.lsp.rpc') +245.278 000.122 000.122: require('vim.lsp.sync') +245.455 000.170 000.170: require('vim.lsp.buf') +245.583 000.123 000.123: require('vim.lsp.diagnostic') +245.762 000.173 000.173: require('vim.lsp.codelens') +245.998 003.347 000.582: require('vim.lsp') +246.078 000.072 000.072: require('lspsaga.wrap') +246.088 003.523 000.104: require('lspsaga.codeaction') +246.147 003.895 000.150: require('lspsaga.lightbulb') +246.279 000.090 000.090: require('lspsaga.lspkind') +246.456 000.056 000.056: require('mason-core.path') +246.472 000.128 000.072: require('mason.settings') +246.696 000.053 000.053: require('mason-core.functional.data') +246.704 000.122 000.069: require('mason-core.functional.function') +246.741 000.265 000.143: require('mason-core.platform') +246.746 000.457 000.064: require('mason') +246.951 000.103 000.103: require('mason-core.functional') +247.046 000.077 000.077: require('mason-core.functional.list') +247.086 000.318 000.138: require('mason.api.command') +247.253 000.093 000.093: require('mason-core.log') +247.260 000.170 000.077: require('mason-lspconfig') +247.323 000.059 000.059: require('mason-lspconfig.settings') +247.407 000.066 000.066: require('mason-lspconfig.lspconfig_hook') +247.643 000.232 000.232: require('lspconfig.util') +247.953 000.084 000.084: require('mason-core.functional.table') +248.053 000.296 000.211: require('mason-lspconfig.mappings.server') +248.324 000.084 000.084: require('mason-core.async') +248.393 000.062 000.062: require('mason-core.async.uv') +248.404 000.269 000.123: require('mason-core.fs') +248.477 000.069 000.069: require('mason-core.optional') +248.549 000.068 000.068: require('mason-core.EventEmitter') +248.699 000.145 000.145: require('mason-registry.index') +248.726 000.667 000.117: require('mason-registry') +248.799 000.068 000.068: require('mason-lspconfig.server_config_extensions') +248.932 000.129 000.129: require('lspconfig.configs') +249.152 000.176 000.176: require('lspconfig.server_configurations.omnisharp') +249.411 000.075 000.075: require('mason-lspconfig.ensure_installed') +249.664 000.076 000.076: require('mason-core.result') +250.074 000.234 000.234: require('mason-core.process') +250.151 000.069 000.069: require('mason-core.functional.relation') +250.225 000.066 000.066: require('mason-core.functional.logic') +250.238 000.475 000.106: require('mason-core.spawn') +250.323 000.082 000.082: require('mason-core.receipt') +250.409 000.071 000.071: require('mason-core.functional.string') +250.437 000.768 000.141: require('mason-core.installer.context') +250.513 000.072 000.072: require('mason-core.installer.linker') +250.587 000.070 000.070: require('mason-core.async.control') +250.595 001.086 000.101: require('mason-core.installer') +250.695 000.097 000.097: require('mason-core.installer.handle') +251.037 000.066 000.066: require('mason-core.managers.powershell') +251.043 000.138 000.073: require('mason-core.fetch') +251.047 000.200 000.061: require('mason-core.managers.cargo.client') +251.294 000.526 000.327: require('mason-core.managers.cargo') +251.449 000.148 000.148: require('mason-core.managers.composer') +251.567 000.112 000.112: require('mason-core.managers.gem') +251.649 000.077 000.077: require('mason-core.managers.git') +251.832 000.090 000.090: require('mason-core.managers.std') +251.912 000.075 000.075: require('mason-core.managers.github.client') +251.925 000.271 000.106: require('mason-core.managers.github') +252.028 000.100 000.100: require('mason-core.managers.go') +252.155 000.122 000.122: require('mason-core.managers.luarocks') +252.261 000.101 000.101: require('mason-core.managers.npm') +252.406 000.139 000.139: require('mason-core.managers.pip3') +252.423 001.722 000.125: require('mason-core.package.version-check') +252.433 003.015 000.110: require('mason-core.package') +252.549 000.091 000.091: require('mason-registry.lua-language-server') +252.939 000.191 000.191: require('mason-registry.clangd') +253.173 000.194 000.194: require('mason-registry.rust-analyzer') +253.330 000.055 000.055: require('mason-core.notify') +253.408 000.068 000.068: require('mason-core.functional.number') +253.465 000.282 000.159: require('mason-lspconfig.api.command') +253.471 012.397 001.794: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +254.877 000.113 000.113: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/man.lua +255.100 011.297: loading rtp plugins +256.891 000.076 000.076: require('Comment.config') +256.985 000.086 000.086: require('Comment.utils') +257.060 000.070 000.070: require('Comment.opfunc') +257.130 000.065 000.065: require('Comment.extra') +257.145 000.468 000.170: require('Comment.api') +257.568 000.946 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +258.251 000.068 000.068: require('luasnip.util.types') +258.335 000.077 000.077: require('luasnip.util.ext_opts') +258.413 000.073 000.073: require('luasnip.extras.filetype_functions') +258.485 000.067 000.067: require('luasnip.session') +258.793 000.118 000.118: require('luasnip.util.util') +258.874 000.075 000.075: require('luasnip.nodes.util') +258.941 000.063 000.063: require('luasnip.util.events') +258.958 000.376 000.119: require('luasnip.nodes.node') +259.103 000.096 000.096: require('luasnip.util.extend_decorator') +259.115 000.625 000.153: require('luasnip.nodes.insertNode') +259.378 000.090 000.090: require('luasnip.util.mark') +259.606 000.093 000.093: require('luasnip.nodes.textNode') +260.491 000.806 000.806: require('luasnip.util._builtin_vars') +260.690 001.078 000.272: require('luasnip.util.environ') +260.786 000.090 000.090: require('luasnip.util.pattern_tokenizer') +260.853 000.062 000.062: require('luasnip.util.dict') +260.946 000.088 000.088: require('luasnip.session.snippet_collection') +261.000 001.615 000.205: require('luasnip.nodes.snippet') +261.029 001.911 000.206: require('luasnip.nodes.choiceNode') +261.206 000.114 000.114: require('luasnip.nodes.functionNode') +261.370 000.157 000.157: require('luasnip.nodes.dynamicNode') +261.490 000.114 000.114: require('luasnip.nodes.restoreNode') +261.582 000.086 000.086: require('luasnip.extras') +263.685 002.019 002.019: require('luasnip.util.str') +263.699 002.110 000.091: require('luasnip.extras.fmt') +263.788 000.083 000.083: require('luasnip.extras.expand_conditions') +264.029 000.075 000.075: require('luasnip.util.parser.neovim_ast') +277.336 000.093 000.093: require('luasnip.util.directed_graph') +277.357 013.492 013.325: require('luasnip.util.parser.ast_utils') +277.516 000.067 000.067: require('luasnip.util.functions') +277.529 000.167 000.100: require('luasnip.util.parser.ast_parser') +277.696 000.163 000.163: require('luasnip.util.parser.neovim_parser') +277.708 013.913 000.090: require('luasnip.util.parser') +277.779 000.066 000.066: require('luasnip.nodes.absolute_indexer') +278.395 020.332 000.867: require('luasnip.config') +278.560 020.810 000.478: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +279.482 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +280.347 000.091 000.091: require('indent_blankline/utils') +280.356 000.243 000.152: require('indent_blankline') +280.865 000.093 000.093: require('indent_blankline.commands') +281.069 001.130 000.793: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +281.484 000.096 000.096: require('lsp-colors') +281.881 000.545 000.449: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +283.314 001.039 001.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +284.157 000.385 000.385: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +284.682 000.088 000.088: require('cmp.utils.api') +284.811 000.061 000.061: require('cmp.types.cmp') +284.973 000.083 000.083: require('cmp.utils.misc') +285.067 000.251 000.168: require('cmp.types.lsp') +285.136 000.063 000.063: require('cmp.types.vim') +285.142 000.453 000.079: require('cmp.types') +285.208 000.062 000.062: require('cmp.utils.highlight') +285.330 000.055 000.055: require('cmp.utils.debug') +285.351 000.139 000.084: require('cmp.utils.autocmd') +285.930 001.404 000.661: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +286.193 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +286.604 000.102 000.102: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +287.061 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +287.709 000.068 000.068: require('nvim-treesitter.statusline') +287.795 000.080 000.080: require('nvim-treesitter.query_predicates') +287.802 000.235 000.087: require('nvim-treesitter') +289.115 000.255 000.255: require('vim.treesitter.highlighter') +289.471 000.761 000.506: require('nvim-treesitter.highlight') +289.873 002.400 001.404: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +290.336 000.219 000.219: require('treesitter-context') +290.346 000.259 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +290.708 000.080 000.080: require('nvim-treesitter-refactor') +290.977 000.375 000.295: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +291.352 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +291.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +292.092 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +292.887 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +293.259 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +294.235 000.484 000.484: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +295.020 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +295.620 000.349 000.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +296.512 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +296.818 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +297.099 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +298.594 011.053: loading packages +300.317 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +304.622 005.447 004.964: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +305.441 000.235 000.235: require('cmp.utils.char') +305.461 000.333 000.098: require('cmp.utils.str') +305.537 000.071 000.071: require('cmp.utils.pattern') +305.802 000.083 000.083: require('cmp.utils.buffer') +305.818 000.210 000.128: require('cmp.utils.keymap') +305.827 000.285 000.075: require('cmp.utils.feedkeys') +305.917 000.087 000.087: require('cmp.utils.async') +306.045 000.057 000.057: require('cmp.utils.cache') +306.058 000.135 000.078: require('cmp.context') +306.303 000.077 000.077: require('cmp.config.mapping') +306.465 000.079 000.079: require('cmp.config.compare') +306.470 000.161 000.081: require('cmp.config.default') +306.496 000.349 000.111: require('cmp.config') +306.668 000.065 000.065: require('cmp.matcher') +306.681 000.182 000.116: require('cmp.entry') +306.692 000.631 000.100: require('cmp.source') +306.832 000.064 000.064: require('cmp.utils.event') +306.997 000.088 000.088: require('cmp.utils.window') +307.004 000.167 000.079: require('cmp.view.docs_view') +307.117 000.110 000.110: require('cmp.view.custom_entries_view') +307.224 000.102 000.102: require('cmp.view.wildmenu_entries_view') +307.309 000.080 000.080: require('cmp.view.native_entries_view') +307.385 000.072 000.072: require('cmp.view.ghost_text_view') +307.402 000.707 000.112: require('cmp.view') +307.510 002.498 000.249: require('cmp.core') +307.774 000.074 000.074: require('cmp.config.sources') +307.838 000.058 000.058: require('cmp.config.window') +307.940 003.047 000.417: require('cmp') +308.208 000.061 000.061: require('cmp_buffer.timer') +308.217 000.143 000.082: require('cmp_buffer.buffer') +308.222 000.220 000.078: require('cmp_buffer.source') +308.226 000.281 000.061: require('cmp_buffer') +308.256 003.417 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +308.633 000.153 000.153: require('cmp_cmdline') +308.667 000.236 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +308.999 000.072 000.072: require('cmp_nvim_lsp.source') +309.006 000.147 000.075: require('cmp_nvim_lsp') +309.084 000.268 000.121: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +309.398 000.114 000.114: require('cmp_path') +309.432 000.197 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +309.712 000.085 000.085: require('cmp_luasnip') +309.781 000.199 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +309.930 001.571: loading after plugins +309.992 000.062: inits 3 +310.006 000.014: reading ShaDa +310.393 000.068 000.068: require('luasnip.loaders._caches') +310.505 000.105 000.105: require('luasnip.util.path') +310.592 000.082 000.082: require('luasnip.loaders.util') +310.822 000.111 000.111: require('luasnip.loaders') +310.860 000.263 000.151: require('luasnip') +310.867 000.635 000.118: require('luasnip.loaders.from_lua') +311.072 000.071 000.071: require('luasnip.nodes.snippetProxy') +311.081 000.167 000.096: require('luasnip.loaders.from_snipmate') +311.240 000.091 000.091: require('luasnip.loaders.from_vscode') +311.943 001.045: opening buffers +312.150 000.207: BufEnter autocommands +312.157 000.006: editing files in windows +327.507 000.688 000.688: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.319 001.319: --- NVIM STARTING --- +030.721 029.402: event init +047.792 017.071: early init +049.585 001.792: locale set +055.317 005.732: init first window +065.751 010.434: inits 1 +065.775 000.025: window checked +065.783 000.008: parsing arguments +077.866 000.266 000.266: require('vim.shared') +078.373 000.236 000.236: require('vim._meta') +078.386 000.497 000.261: require('vim._editor') +078.394 000.903 000.139: require('vim._init_packages') +078.401 011.715: init lua interpreter +078.562 000.161: expanding arguments +080.531 001.969: inits 2 +081.878 001.347: init highlight +081.888 000.010: waiting for UI +084.866 002.978: done waiting for UI +084.916 000.050: init screen for UI +085.278 000.361: init default mappings +085.312 000.035: init default autocommands +097.149 004.626 004.626: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/ftplugin.vim +100.189 001.071 001.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/indent.vim +100.744 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim +100.769 000.180 000.123: sourcing /etc/xdg/nvim/sysinit.vim +114.486 007.066 007.066: require('keys') +116.767 002.270 002.270: require('opts') +119.360 000.518 000.518: require('packer.util') +119.441 002.273 001.755: require('packer') +121.592 000.885 000.885: require('packer.log') +121.606 001.371 000.486: require('packer.async') +122.581 000.395 000.395: require('packer.result') +122.589 000.978 000.583: require('packer.jobs') +122.606 003.115 000.766: require('packer.plugin_utils') +123.247 000.619 000.619: require('packer.snapshot') +124.534 007.759 001.752: require('pack') +143.252 018.703 018.703: require('impatient') +145.195 000.383 000.383: require('vim.treesitter.language') +145.225 001.260 000.877: require('vim.treesitter.query') +146.906 000.447 000.447: require('vim.treesitter.languagetree') +147.037 000.947 000.500: require('vim.treesitter') +147.497 001.828 000.882: require('nvim-treesitter.parsers') +147.696 000.190 000.190: require('nvim-treesitter.utils') +147.719 002.227 000.209: require('nvim-treesitter.ts_utils') +147.732 002.501 000.273: require('nvim-treesitter.tsrange') +147.854 000.116 000.116: require('nvim-treesitter.caching') +147.890 004.072 000.195: require('nvim-treesitter.query') +147.933 004.487 000.416: require('nvim-treesitter.configs') +148.437 000.212 000.212: require('nvim-treesitter.info') +148.898 000.450 000.450: require('nvim-treesitter.shell_command_selectors') +148.976 001.005 000.343: require('nvim-treesitter.install') +198.789 055.516 050.023: require('plugins.treesitter') +199.156 000.076 000.076: require('telescope._extensions') +199.170 000.197 000.121: require('telescope') +199.903 000.086 000.086: require('plenary.bit') +199.981 000.071 000.071: require('plenary.functional') +200.068 000.067 000.067: require('ffi') +200.094 000.469 000.244: require('plenary.path') +200.107 000.558 000.089: require('plenary.strings') +200.177 000.067 000.067: require('telescope.deprecated') +200.582 000.238 000.238: require('plenary.log') +200.663 000.379 000.141: require('telescope.log') +201.029 000.245 000.245: require('plenary.job') +201.108 000.073 000.073: require('telescope.state') +201.123 000.454 000.136: require('telescope.utils') +201.136 000.954 000.122: require('telescope.sorters') +201.247 000.088 000.088: require('vim.inspect') +201.726 000.011 000.011: require('vim.F') +205.122 005.710 004.033: require('telescope.config') +205.782 000.089 000.089: require('plenary.window.border') +205.852 000.062 000.062: require('plenary.window') +205.913 000.056 000.056: require('plenary.popup.utils') +205.925 000.793 000.585: require('plenary.popup') +205.993 000.065 000.065: require('telescope.pickers.scroller') +206.062 000.064 000.064: require('telescope.actions.state') +206.136 000.069 000.069: require('telescope.actions.utils') +206.279 000.068 000.068: require('telescope.actions.mt') +206.310 000.169 000.101: require('telescope.actions.set') +206.504 000.073 000.073: require('telescope.config.resolve') +206.510 000.147 000.075: require('telescope.pickers.entry_display') +206.575 000.061 000.061: require('telescope.from_entry') +206.997 007.823 000.744: require('telescope.actions') +207.559 000.058 000.058: require('plenary.tbl') +207.568 000.123 000.065: require('plenary.vararg.rotate') +207.572 000.184 000.061: require('plenary.vararg') +207.667 000.092 000.092: require('plenary.errors') +207.677 000.352 000.076: require('plenary.async.async') +207.862 000.182 000.182: require('plenary.async.structs') +207.879 000.623 000.089: require('plenary.async.control') +208.162 000.201 000.201: require('telescope.make_entry') +208.425 000.073 000.073: require('plenary.async.util') +208.431 000.135 000.063: require('plenary.async.tests') +208.435 000.204 000.068: require('plenary.async') +208.440 000.273 000.069: require('telescope.finders.async_static_finder') +208.641 000.058 000.058: require('plenary.class') +208.667 000.161 000.103: require('telescope._') +208.672 000.229 000.068: require('telescope.finders.async_oneshot_finder') +208.741 000.066 000.066: require('telescope.finders.async_job_finder') +208.751 000.867 000.098: require('telescope.finders') +209.003 000.075 000.075: require('telescope.debounce') +209.169 000.161 000.161: require('telescope.mappings') +209.256 000.081 000.081: require('telescope.pickers.highlights') +209.330 000.069 000.069: require('telescope.pickers.window') +209.471 000.069 000.069: require('telescope.algos.linked_list') +209.479 000.144 000.075: require('telescope.entry_manager') +209.542 000.061 000.061: require('telescope.pickers.multi') +209.574 000.820 000.230: require('telescope.pickers') +209.589 002.444 000.134: require('telescope.builtin.__lsp') +209.612 002.607 000.163: require('telescope.builtin') +209.917 000.224 000.224: require('fzf_lib') +209.927 000.310 000.087: require('telescope._extensions.fzf') +210.257 000.090 000.090: require('telescope._extensions.file_browser.utils') +210.353 000.324 000.234: require('telescope._extensions.file_browser.actions') +210.580 000.137 000.137: require('telescope._extensions.file_browser.make_entry') +210.726 000.140 000.140: require('plenary.scandir') +210.774 000.416 000.139: require('telescope._extensions.file_browser.finders') +210.858 000.079 000.079: require('telescope._extensions.file_browser.picker') +210.951 000.088 000.088: require('telescope._extensions.file_browser.config') +210.957 001.019 000.112: require('telescope._extensions.file_browser') +213.828 000.012 000.012: require('vim.keymap') +214.133 015.325 003.356: require('plugins.telescope') +215.166 000.060 000.060: require('notify.util.queue') +215.175 000.142 000.083: require('notify.util') +215.388 000.209 000.209: require('notify.config.highlights') +215.402 000.458 000.106: require('notify.config') +215.472 000.066 000.066: require('notify.stages') +215.542 000.065 000.065: require('notify.service.notification') +215.796 000.078 000.078: require('notify.animate.spring') +215.801 000.160 000.082: require('notify.animate') +215.809 000.262 000.102: require('notify.windows') +216.106 000.110 000.110: require('notify.service.buffer.highlights') +216.116 000.217 000.107: require('notify.service.buffer') +216.123 000.311 000.094: require('notify.service') +216.229 000.103 000.103: require('notify.stages.util') +216.244 001.471 000.207: require('notify') +216.328 000.080 000.080: require('nvim-tree.iterators.node-iterator') +216.417 001.742 000.190: require('nvim-tree.utils') +216.453 001.850 000.108: require('nvim-tree.events') +216.712 000.089 000.089: require('nvim-tree.log') +216.874 000.156 000.156: require('nvim-tree.git.utils') +216.970 000.091 000.091: require('nvim-tree.git.runner') +217.064 000.090 000.090: require('nvim-tree.watcher') +217.075 000.536 000.110: require('nvim-tree.git') +217.170 000.092 000.092: require('nvim-tree.explorer.watch') +217.254 000.078 000.078: require('nvim-tree.explorer.common') +217.514 000.128 000.128: require('nvim-tree.explorer.node-builders') +217.619 000.099 000.099: require('nvim-tree.explorer.sorters') +217.714 000.090 000.090: require('nvim-tree.explorer.filters') +218.054 000.223 000.223: require('nvim-tree.view') +218.067 000.349 000.125: require('nvim-tree.live-filter') +218.074 000.777 000.112: require('nvim-tree.explorer.explore') +218.180 000.102 000.102: require('nvim-tree.explorer.reload') +218.193 001.736 000.150: require('nvim-tree.explorer') +218.201 003.654 000.068: require('nvim-tree.core') +218.320 000.115 000.115: require('nvim-tree.diagnostics') +218.413 000.087 000.087: require('nvim-tree.renderer.components.padding') +218.510 000.093 000.093: require('nvim-tree.renderer.components.icons') +218.610 000.095 000.095: require('nvim-tree.renderer.components.full-name') +218.693 000.078 000.078: require('nvim-tree.renderer.help') +218.820 000.122 000.122: require('nvim-tree.renderer.components.git') +218.949 000.124 000.124: require('nvim-tree.renderer.builder') +219.045 000.091 000.091: require('nvim-tree.marks') +219.065 004.592 000.133: require('nvim-tree.renderer') +219.158 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') +219.256 000.094 000.094: require('nvim-tree.actions.root.dir-up') +219.354 000.092 000.092: require('nvim-tree.actions.root.change-dir') +219.445 000.087 000.087: require('nvim-tree.actions.reloaders.reloaders') +219.533 000.082 000.082: require('nvim-tree.actions.finders.find-file') +219.538 005.136 000.107: require('nvim-tree.lib') +219.654 000.112 000.112: require('nvim-tree.colors') +219.809 000.149 000.149: require('nvim-tree.legacy') +219.940 000.126 000.126: require('nvim-tree.actions.fs.copy-paste') +220.210 000.120 000.120: require('nvim-tree.actions.tree-modifiers.expand-all') +220.313 000.096 000.096: require('nvim-tree.actions.tree-modifiers.toggles') +220.456 000.134 000.134: require('nvim-tree.actions.fs.create-file') +220.597 000.133 000.133: require('nvim-tree.actions.fs.rename-file') +220.741 000.133 000.133: require('nvim-tree.actions.fs.trash') +220.840 000.093 000.093: require('nvim-tree.actions.fs.remove-file') +220.929 000.079 000.079: require('nvim-tree.actions.moves.parent') +221.015 000.081 000.081: require('nvim-tree.actions.moves.sibling') +221.098 000.078 000.078: require('nvim-tree.actions.moves.item') +221.197 000.085 000.085: require('nvim-tree.actions.finders.search-node') +221.282 000.080 000.080: require('nvim-tree.actions.node.run-command') +221.377 000.090 000.090: require('nvim-tree.actions.node.file-popup') +221.479 000.097 000.097: require('nvim-tree.actions.node.system-open') +221.574 000.084 000.084: require('nvim-tree.marks.bulk-move') +221.586 001.639 000.257: require('nvim-tree.actions.dispatch') +221.649 007.424 000.262: require('nvim-tree') +221.726 000.073 000.073: require('nvim-tree.config') +225.771 000.220 000.220: require('nvim-tree.actions') +225.914 000.131 000.131: require('nvim-tree.actions.node.open-file') +230.601 000.428 000.428: require('nvim-tree.marks.navigation') +230.613 000.910 000.482: require('nvim-tree.api') +230.739 001.334 000.423: require('nvim-tree.keymap') +232.960 001.583 001.583: require('nvim-web-devicons') +237.002 022.861 012.097: require('plugins.nvim-tree') +237.294 000.076 000.076: require('lualine_require') +237.847 000.737 000.661: require('lualine') +237.917 000.063 000.063: require('plugins.linecolor') +245.353 000.079 000.079: require('lualine.utils.mode') +247.774 010.763 009.884: require('plugins.lualine') +247.783 146.914 006.650: sourcing /home/sxrdusr/.config/nvim/init.lua +247.800 009.697: sourcing vimrc file(s) +248.092 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +249.536 000.063 000.063: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.lua +252.421 002.539 002.539: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.vim +255.626 000.259 000.259: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/synload.vim +255.875 002.652 002.393: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/syntax.vim +264.298 002.416 002.416: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/gzip.vim +264.568 000.071 000.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/health.vim +268.136 002.317 002.317: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +268.581 003.942 001.625: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchit.vim +269.046 000.402 000.402: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchparen.vim +269.193 000.077 000.077: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/netrwPlugin.vim +269.596 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +269.616 000.360 000.339: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/rplugin.vim +269.864 000.186 000.186: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/shada.vim +270.034 000.101 000.101: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/spellfile.vim +270.474 000.343 000.343: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tarPlugin.vim +270.876 000.269 000.269: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tohtml.vim +271.243 000.249 000.249: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tutor.vim +273.325 001.871 001.871: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/zipPlugin.vim +275.008 001.252 001.252: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +276.428 000.132 000.132: require('lspsaga') +276.723 000.115 000.115: require('lspsaga.window') +276.745 000.219 000.104: require('lspsaga.libs') +277.875 000.496 000.496: require('vim.lsp.log') +278.559 000.676 000.676: require('vim.lsp.protocol') +279.115 000.243 000.243: require('vim.lsp._snippet') +279.299 000.178 000.178: require('vim.highlight') +279.329 000.762 000.341: require('vim.lsp.util') +279.348 002.182 000.248: require('vim.lsp.handlers') +279.618 000.266 000.266: require('vim.lsp.rpc') +279.748 000.123 000.123: require('vim.lsp.sync') +279.924 000.169 000.169: require('vim.lsp.buf') +280.123 000.193 000.193: require('vim.lsp.diagnostic') +280.307 000.178 000.178: require('vim.lsp.codelens') +280.454 003.614 000.502: require('vim.lsp') +280.531 000.069 000.069: require('lspsaga.wrap') +280.541 003.792 000.109: require('lspsaga.codeaction') +280.582 004.146 000.135: require('lspsaga.lightbulb') +280.712 000.090 000.090: require('lspsaga.lspkind') +280.888 000.054 000.054: require('mason-core.path') +280.905 000.127 000.073: require('mason.settings') +281.098 000.053 000.053: require('mason-core.functional.data') +281.107 000.120 000.067: require('mason-core.functional.function') +281.164 000.255 000.135: require('mason-core.platform') +281.169 000.446 000.064: require('mason') +281.386 000.115 000.115: require('mason-core.functional') +281.494 000.089 000.089: require('mason-core.functional.list') +281.542 000.350 000.146: require('mason.api.command') +281.730 000.105 000.105: require('mason-core.log') +281.740 000.194 000.089: require('mason-lspconfig') +281.808 000.064 000.064: require('mason-lspconfig.settings') +281.901 000.076 000.076: require('mason-lspconfig.lspconfig_hook') +282.200 000.294 000.294: require('lspconfig.util') +282.434 000.073 000.073: require('mason-core.functional.table') +282.539 000.313 000.240: require('mason-lspconfig.mappings.server') +282.810 000.086 000.086: require('mason-core.async') +282.878 000.061 000.061: require('mason-core.async.uv') +282.892 000.271 000.124: require('mason-core.fs') +282.962 000.066 000.066: require('mason-core.optional') +283.034 000.068 000.068: require('mason-core.EventEmitter') +283.206 000.167 000.167: require('mason-registry.index') +283.228 000.682 000.110: require('mason-registry') +283.298 000.066 000.066: require('mason-lspconfig.server_config_extensions') +283.428 000.125 000.125: require('lspconfig.configs') +283.560 000.087 000.087: require('lspconfig.server_configurations.omnisharp') +283.773 000.072 000.072: require('mason-lspconfig.ensure_installed') +284.028 000.072 000.072: require('mason-core.result') +284.440 000.229 000.229: require('mason-core.process') +284.519 000.070 000.070: require('mason-core.functional.relation') +284.595 000.067 000.067: require('mason-core.functional.logic') +284.608 000.468 000.101: require('mason-core.spawn') +284.698 000.085 000.085: require('mason-core.receipt') +284.781 000.071 000.071: require('mason-core.functional.string') +284.810 000.776 000.153: require('mason-core.installer.context') +284.890 000.076 000.076: require('mason-core.installer.linker') +284.972 000.078 000.078: require('mason-core.async.control') +284.981 001.107 000.105: require('mason-core.installer') +285.078 000.094 000.094: require('mason-core.installer.handle') +285.427 000.066 000.066: require('mason-core.managers.powershell') +285.433 000.140 000.074: require('mason-core.fetch') +285.436 000.205 000.065: require('mason-core.managers.cargo.client') +285.472 000.319 000.114: require('mason-core.managers.cargo') +285.581 000.104 000.104: require('mason-core.managers.composer') +285.755 000.169 000.169: require('mason-core.managers.gem') +285.850 000.089 000.089: require('mason-core.managers.git') +286.034 000.095 000.095: require('mason-core.managers.std') +286.124 000.084 000.084: require('mason-core.managers.github.client') +286.134 000.279 000.099: require('mason-core.managers.github') +286.323 000.186 000.186: require('mason-core.managers.go') +286.458 000.129 000.129: require('mason-core.managers.luarocks') +286.603 000.139 000.139: require('mason-core.managers.npm') +286.811 000.202 000.202: require('mason-core.managers.pip3') +286.831 001.746 000.130: require('mason-core.package.version-check') +286.851 003.071 000.124: require('mason-core.package') +287.185 000.212 000.212: require('mason-registry.lua-language-server') +287.599 000.121 000.121: require('mason-registry.clangd') +287.807 000.156 000.156: require('mason-registry.rust-analyzer') +287.971 000.059 000.059: require('mason-core.notify') +288.048 000.070 000.070: require('mason-core.functional.number') +288.105 000.288 000.159: require('mason-lspconfig.api.command') +288.111 012.924 001.940: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +289.627 000.116 000.116: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/man.lua +289.926 012.241: loading rtp plugins +291.669 000.068 000.068: require('Comment.config') +291.770 000.093 000.093: require('Comment.utils') +291.845 000.070 000.070: require('Comment.opfunc') +291.913 000.063 000.063: require('Comment.extra') +291.931 000.454 000.161: require('Comment.api') +292.336 000.918 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +293.020 000.065 000.065: require('luasnip.util.types') +293.097 000.070 000.070: require('luasnip.util.ext_opts') +293.175 000.073 000.073: require('luasnip.extras.filetype_functions') +293.253 000.073 000.073: require('luasnip.session') +293.586 000.123 000.123: require('luasnip.util.util') +293.668 000.075 000.075: require('luasnip.nodes.util') +293.740 000.067 000.067: require('luasnip.util.events') +293.759 000.415 000.150: require('luasnip.nodes.node') +293.874 000.069 000.069: require('luasnip.util.extend_decorator') +293.890 000.632 000.147: require('luasnip.nodes.insertNode') +294.141 000.080 000.080: require('luasnip.util.mark') +294.372 000.092 000.092: require('luasnip.nodes.textNode') +295.150 000.699 000.699: require('luasnip.util._builtin_vars') +295.399 001.020 000.321: require('luasnip.util.environ') +295.489 000.083 000.083: require('luasnip.util.pattern_tokenizer') +295.557 000.063 000.063: require('luasnip.util.dict') +295.649 000.087 000.087: require('luasnip.session.snippet_collection') +295.706 001.558 000.213: require('luasnip.nodes.snippet') +295.735 001.841 000.203: require('luasnip.nodes.choiceNode') +295.954 000.158 000.158: require('luasnip.nodes.functionNode') +296.138 000.175 000.175: require('luasnip.nodes.dynamicNode') +296.263 000.119 000.119: require('luasnip.nodes.restoreNode') +296.351 000.082 000.082: require('luasnip.extras') +298.885 000.081 000.081: require('luasnip.util.str') +298.898 002.540 002.459: require('luasnip.extras.fmt') +298.964 000.061 000.061: require('luasnip.extras.expand_conditions') +299.206 000.074 000.074: require('luasnip.util.parser.neovim_ast') +310.443 000.088 000.088: require('luasnip.util.directed_graph') +310.466 011.416 011.254: require('luasnip.util.parser.ast_utils') +310.629 000.069 000.069: require('luasnip.util.functions') +310.643 000.173 000.103: require('luasnip.util.parser.ast_parser') +310.828 000.181 000.181: require('luasnip.util.parser.neovim_parser') +310.841 011.869 000.099: require('luasnip.util.parser') +310.920 000.075 000.075: require('luasnip.nodes.absolute_indexer') +311.421 018.589 000.756: require('luasnip.config') +311.587 019.067 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +312.464 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +313.335 000.094 000.094: require('indent_blankline/utils') +313.345 000.250 000.155: require('indent_blankline') +313.879 000.080 000.080: require('indent_blankline.commands') +314.049 001.124 000.794: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +314.476 000.103 000.103: require('lsp-colors') +315.271 000.951 000.848: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +316.489 000.830 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +317.341 000.380 000.380: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +317.862 000.085 000.085: require('cmp.utils.api') +318.005 000.073 000.073: require('cmp.types.cmp') +318.157 000.075 000.075: require('cmp.utils.misc') +318.188 000.177 000.102: require('cmp.types.lsp') +318.250 000.057 000.057: require('cmp.types.vim') +318.255 000.386 000.079: require('cmp.types') +318.323 000.065 000.065: require('cmp.utils.highlight') +318.445 000.056 000.056: require('cmp.utils.debug') +318.463 000.135 000.078: require('cmp.utils.autocmd') +319.108 001.399 000.728: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +319.363 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +319.779 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +320.253 000.163 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +320.855 000.065 000.065: require('nvim-treesitter.statusline') +320.945 000.083 000.083: require('nvim-treesitter.query_predicates') +320.952 000.230 000.082: require('nvim-treesitter') +322.295 000.193 000.193: require('vim.treesitter.highlighter') +322.662 000.704 000.510: require('nvim-treesitter.highlight') +323.417 002.749 001.816: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +323.932 000.256 000.256: require('treesitter-context') +323.942 000.298 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +324.311 000.082 000.082: require('nvim-treesitter-refactor') +324.529 000.327 000.245: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +324.909 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +325.289 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +325.655 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +326.420 000.419 000.419: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +326.828 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +327.883 000.564 000.564: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +328.663 000.487 000.487: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +329.274 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +330.130 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +330.437 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +330.720 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +332.100 010.893: loading packages +333.792 000.490 000.490: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +338.131 005.488 004.998: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +338.944 000.173 000.173: require('cmp.utils.char') +338.960 000.260 000.087: require('cmp.utils.str') +339.037 000.072 000.072: require('cmp.utils.pattern') +339.257 000.059 000.059: require('cmp.utils.buffer') +339.268 000.156 000.097: require('cmp.utils.keymap') +339.279 000.237 000.082: require('cmp.utils.feedkeys') +339.372 000.089 000.089: require('cmp.utils.async') +339.505 000.058 000.058: require('cmp.utils.cache') +339.512 000.135 000.076: require('cmp.context') +339.751 000.077 000.077: require('cmp.config.mapping') +339.918 000.085 000.085: require('cmp.config.compare') +339.924 000.165 000.080: require('cmp.config.default') +339.950 000.350 000.108: require('cmp.config') +340.139 000.066 000.066: require('cmp.matcher') +340.154 000.199 000.133: require('cmp.entry') +340.168 000.653 000.104: require('cmp.source') +340.306 000.058 000.058: require('cmp.utils.event') +340.467 000.084 000.084: require('cmp.utils.window') +340.474 000.163 000.078: require('cmp.view.docs_view') +340.593 000.116 000.116: require('cmp.view.custom_entries_view') +340.706 000.109 000.109: require('cmp.view.wildmenu_entries_view') +340.794 000.083 000.083: require('cmp.view.native_entries_view') +340.869 000.071 000.071: require('cmp.view.ghost_text_view') +340.886 000.715 000.116: require('cmp.view') +340.961 002.378 000.217: require('cmp.core') +341.208 000.064 000.064: require('cmp.config.sources') +341.271 000.055 000.055: require('cmp.config.window') +341.368 002.921 000.423: require('cmp') +341.641 000.060 000.060: require('cmp_buffer.timer') +341.652 000.145 000.085: require('cmp_buffer.buffer') +341.658 000.223 000.078: require('cmp_buffer.source') +341.662 000.289 000.066: require('cmp_buffer') +341.699 003.345 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +342.059 000.148 000.148: require('cmp_cmdline') +342.093 000.222 000.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +342.424 000.070 000.070: require('cmp_nvim_lsp.source') +342.434 000.147 000.076: require('cmp_nvim_lsp') +342.494 000.251 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +342.793 000.115 000.115: require('cmp_path') +342.826 000.184 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +343.121 000.086 000.086: require('cmp_luasnip') +343.190 000.203 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +343.339 001.544: loading after plugins +343.447 000.108: inits 3 +343.452 000.005: reading ShaDa +343.839 000.070 000.070: require('luasnip.loaders._caches') +343.956 000.110 000.110: require('luasnip.util.path') +344.050 000.088 000.088: require('luasnip.loaders.util') +344.269 000.099 000.099: require('luasnip.loaders') +344.305 000.250 000.151: require('luasnip') +344.318 000.637 000.119: require('luasnip.loaders.from_lua') +344.553 000.102 000.102: require('luasnip.nodes.snippetProxy') +344.567 000.203 000.101: require('luasnip.loaders.from_snipmate') +344.694 000.088 000.088: require('luasnip.loaders.from_vscode') +345.712 001.333: opening buffers +345.922 000.210: BufEnter autocommands +345.929 000.007: editing files in windows +363.002 000.669 000.669: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.322 001.322: --- NVIM STARTING --- +029.108 027.786: event init +046.110 017.002: early init +047.930 001.821: locale set +053.675 005.744: init first window +064.058 010.383: inits 1 +064.083 000.025: window checked +064.091 000.008: parsing arguments +075.019 000.133 000.133: require('vim.shared') +075.240 000.108 000.108: require('vim._meta') +075.247 000.218 000.109: require('vim._editor') +075.251 000.404 000.054: require('vim._init_packages') +075.254 010.759: init lua interpreter +075.336 000.082: expanding arguments +077.080 001.744: inits 2 +077.695 000.615: init highlight +077.699 000.004: waiting for UI +080.125 002.426: done waiting for UI +080.175 000.050: init screen for UI +080.470 000.294: init default mappings +080.497 000.027: init default autocommands +091.758 004.623 004.623: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/ftplugin.vim +095.325 001.210 001.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/indent.vim +095.907 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim +095.932 000.182 000.125: sourcing /etc/xdg/nvim/sysinit.vim +111.541 008.988 008.988: require('keys') +115.565 004.013 004.013: require('opts') +120.844 001.016 001.016: require('packer.util') +120.952 004.563 003.547: require('packer') +124.638 001.239 001.239: require('packer.log') +124.655 002.203 000.964: require('packer.async') +126.342 000.685 000.685: require('packer.result') +126.357 001.694 001.009: require('packer.jobs') +126.384 005.338 001.441: require('packer.plugin_utils') +127.605 001.102 001.102: require('packer.snapshot') +129.209 013.625 002.622: require('pack') +145.528 016.305 016.305: require('impatient') +146.779 000.225 000.225: require('vim.treesitter.language') +146.806 000.728 000.503: require('vim.treesitter.query') +148.454 000.354 000.354: require('vim.treesitter.languagetree') +148.543 000.890 000.536: require('vim.treesitter') +148.929 001.667 000.777: require('nvim-treesitter.parsers') +149.095 000.158 000.158: require('nvim-treesitter.utils') +149.110 002.017 000.192: require('nvim-treesitter.ts_utils') +149.127 002.315 000.298: require('nvim-treesitter.tsrange') +149.233 000.101 000.101: require('nvim-treesitter.caching') +149.259 003.314 000.170: require('nvim-treesitter.query') +149.296 003.607 000.293: require('nvim-treesitter.configs') +149.827 000.157 000.157: require('nvim-treesitter.info') +150.068 000.234 000.234: require('nvim-treesitter.shell_command_selectors') +150.133 000.656 000.264: require('nvim-treesitter.install') +198.197 052.650 048.387: require('plugins.treesitter') +198.978 000.175 000.175: require('telescope._extensions') +198.988 000.419 000.244: require('telescope') +199.670 000.080 000.080: require('plenary.bit') +199.751 000.074 000.074: require('plenary.functional') +199.872 000.035 000.035: require('ffi') +199.897 000.444 000.255: require('plenary.path') +199.911 000.544 000.100: require('plenary.strings') +199.991 000.077 000.077: require('telescope.deprecated') +200.551 000.253 000.253: require('plenary.log') +200.660 000.556 000.304: require('telescope.log') +200.909 000.124 000.124: require('plenary.job') +200.988 000.073 000.073: require('telescope.state') +201.011 000.344 000.147: require('telescope.utils') +201.022 001.025 000.124: require('telescope.sorters') +201.131 000.085 000.085: require('vim.inspect') +201.401 000.009 000.009: require('vim.F') +205.141 005.915 004.175: require('telescope.config') +205.454 000.098 000.098: require('plenary.window.border') +206.220 000.759 000.759: require('plenary.window') +206.291 000.062 000.062: require('plenary.popup.utils') +206.300 001.140 000.221: require('plenary.popup') +206.374 000.070 000.070: require('telescope.pickers.scroller') +206.471 000.092 000.092: require('telescope.actions.state') +206.548 000.072 000.072: require('telescope.actions.utils') +206.700 000.070 000.070: require('telescope.actions.mt') +206.731 000.178 000.108: require('telescope.actions.set') +206.953 000.091 000.091: require('telescope.config.resolve') +206.959 000.171 000.080: require('telescope.pickers.entry_display') +207.019 000.056 000.056: require('telescope.from_entry') +207.478 008.486 000.793: require('telescope.actions') +208.123 000.061 000.061: require('plenary.tbl') +208.134 000.133 000.073: require('plenary.vararg.rotate') +208.138 000.196 000.062: require('plenary.vararg') +208.205 000.064 000.064: require('plenary.errors') +208.218 000.340 000.080: require('plenary.async.async') +208.295 000.074 000.074: require('plenary.async.structs') +208.310 000.514 000.100: require('plenary.async.control') +208.644 000.244 000.244: require('telescope.make_entry') +208.929 000.077 000.077: require('plenary.async.util') +208.935 000.142 000.066: require('plenary.async.tests') +208.940 000.220 000.078: require('plenary.async') +208.944 000.295 000.075: require('telescope.finders.async_static_finder') +209.164 000.060 000.060: require('plenary.class') +209.192 000.177 000.117: require('telescope._') +209.197 000.250 000.073: require('telescope.finders.async_oneshot_finder') +209.270 000.070 000.070: require('telescope.finders.async_job_finder') +209.280 000.965 000.106: require('telescope.finders') +209.749 000.157 000.157: require('telescope.debounce') +209.958 000.201 000.201: require('telescope.mappings') +210.050 000.086 000.086: require('telescope.pickers.highlights') +210.123 000.067 000.067: require('telescope.pickers.window') +210.263 000.066 000.066: require('telescope.algos.linked_list') +210.271 000.143 000.078: require('telescope.entry_manager') +210.337 000.064 000.064: require('telescope.pickers.multi') +210.372 001.087 000.369: require('telescope.pickers') +210.386 002.716 000.149: require('telescope.builtin.__lsp') +210.436 002.947 000.231: require('telescope.builtin') +210.773 000.249 000.249: require('fzf_lib') +210.783 000.341 000.092: require('telescope._extensions.fzf') +211.122 000.091 000.091: require('telescope._extensions.file_browser.utils') +211.200 000.319 000.229: require('telescope._extensions.file_browser.actions') +211.438 000.145 000.145: require('telescope._extensions.file_browser.make_entry') +211.592 000.147 000.147: require('plenary.scandir') +211.643 000.439 000.147: require('telescope._extensions.file_browser.finders') +211.726 000.078 000.078: require('telescope._extensions.file_browser.picker') +211.821 000.091 000.091: require('telescope._extensions.file_browser.config') +211.827 001.030 000.102: require('telescope._extensions.file_browser') +215.018 000.012 000.012: require('vim.keymap') +215.222 017.012 003.777: require('plugins.telescope') +216.619 000.066 000.066: require('notify.util.queue') +216.628 000.405 000.339: require('notify.util') +216.852 000.220 000.220: require('notify.config.highlights') +216.866 000.729 000.104: require('notify.config') +217.028 000.158 000.158: require('notify.stages') +217.107 000.072 000.072: require('notify.service.notification') +217.362 000.090 000.090: require('notify.animate.spring') +217.368 000.164 000.074: require('notify.animate') +217.376 000.264 000.100: require('notify.windows') +217.666 000.105 000.105: require('notify.service.buffer.highlights') +217.677 000.209 000.104: require('notify.service.buffer') +217.683 000.304 000.095: require('notify.service') +217.796 000.110 000.110: require('notify.stages.util') +217.806 001.754 000.117: require('notify') +217.895 000.086 000.086: require('nvim-tree.iterators.node-iterator') +217.998 002.054 000.213: require('nvim-tree.utils') +218.018 002.239 000.185: require('nvim-tree.events') +218.391 000.101 000.101: require('nvim-tree.log') +218.565 000.167 000.167: require('nvim-tree.git.utils') +218.670 000.100 000.100: require('nvim-tree.git.runner') +218.777 000.102 000.102: require('nvim-tree.watcher') +218.810 000.653 000.184: require('nvim-tree.git') +218.907 000.093 000.093: require('nvim-tree.explorer.watch') +218.987 000.075 000.075: require('nvim-tree.explorer.common') +219.196 000.087 000.087: require('nvim-tree.explorer.node-builders') +219.280 000.078 000.078: require('nvim-tree.explorer.sorters') +219.363 000.078 000.078: require('nvim-tree.explorer.filters') +219.691 000.235 000.235: require('nvim-tree.view') +219.701 000.334 000.099: require('nvim-tree.live-filter') +219.708 000.677 000.100: require('nvim-tree.explorer.explore') +219.838 000.127 000.127: require('nvim-tree.explorer.reload') +219.849 001.827 000.201: require('nvim-tree.explorer') +219.857 004.139 000.073: require('nvim-tree.core') +219.989 000.129 000.129: require('nvim-tree.diagnostics') +220.084 000.089 000.089: require('nvim-tree.renderer.components.padding') +220.180 000.091 000.091: require('nvim-tree.renderer.components.icons') +220.281 000.097 000.097: require('nvim-tree.renderer.components.full-name') +220.366 000.080 000.080: require('nvim-tree.renderer.help') +220.500 000.128 000.128: require('nvim-tree.renderer.components.git') +220.628 000.123 000.123: require('nvim-tree.renderer.builder') +220.724 000.091 000.091: require('nvim-tree.marks') +220.744 005.108 000.142: require('nvim-tree.renderer') +220.838 000.084 000.084: require('nvim-tree.actions.tree-modifiers.collapse-all') +220.936 000.093 000.093: require('nvim-tree.actions.root.dir-up') +221.036 000.096 000.096: require('nvim-tree.actions.root.change-dir') +221.124 000.082 000.082: require('nvim-tree.actions.reloaders.reloaders') +221.213 000.083 000.083: require('nvim-tree.actions.finders.find-file') +221.219 005.692 000.146: require('nvim-tree.lib') +221.342 000.120 000.120: require('nvim-tree.colors') +221.500 000.151 000.151: require('nvim-tree.legacy') +221.623 000.118 000.118: require('nvim-tree.actions.fs.copy-paste') +221.826 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') +221.919 000.087 000.087: require('nvim-tree.actions.tree-modifiers.toggles') +222.020 000.093 000.093: require('nvim-tree.actions.fs.create-file') +222.111 000.086 000.086: require('nvim-tree.actions.fs.rename-file') +222.241 000.124 000.124: require('nvim-tree.actions.fs.trash') +222.345 000.098 000.098: require('nvim-tree.actions.fs.remove-file') +222.427 000.075 000.075: require('nvim-tree.actions.moves.parent') +222.511 000.079 000.079: require('nvim-tree.actions.moves.sibling') +222.593 000.076 000.076: require('nvim-tree.actions.moves.item') +222.688 000.082 000.082: require('nvim-tree.actions.finders.search-node') +222.768 000.074 000.074: require('nvim-tree.actions.node.run-command') +222.863 000.091 000.091: require('nvim-tree.actions.node.file-popup') +222.971 000.103 000.103: require('nvim-tree.actions.node.system-open') +223.078 000.099 000.099: require('nvim-tree.marks.bulk-move') +223.086 001.453 000.198: require('nvim-tree.actions.dispatch') +223.158 007.841 000.307: require('nvim-tree') +223.239 000.076 000.076: require('nvim-tree.config') +227.868 000.224 000.224: require('nvim-tree.actions') +228.009 000.128 000.128: require('nvim-tree.actions.node.open-file') +232.689 000.182 000.182: require('nvim-tree.marks.navigation') +232.700 000.678 000.496: require('nvim-tree.api') +232.818 001.097 000.419: require('nvim-tree.keymap') +234.928 001.392 001.392: require('nvim-web-devicons') +238.932 023.703 012.946: require('plugins.nvim-tree') +239.221 000.075 000.075: require('lualine_require') +239.776 000.738 000.663: require('lualine') +239.865 000.078 000.078: require('plugins.linecolor') +248.350 000.085 000.085: require('lualine.utils.mode') +250.201 011.260 010.360: require('plugins.lualine') +250.210 154.176 006.621: sourcing /home/sxrdusr/.config/nvim/init.lua +250.227 009.539: sourcing vimrc file(s) +250.562 000.098 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +251.765 000.124 000.124: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.lua +253.184 001.213 001.213: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.vim +255.318 000.259 000.259: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/synload.vim +255.565 001.872 001.613: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/syntax.vim +261.462 001.488 001.488: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/gzip.vim +261.738 000.176 000.176: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/health.vim +264.612 001.404 001.404: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +265.083 003.248 001.845: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchit.vim +265.547 000.397 000.397: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchparen.vim +265.699 000.083 000.083: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/netrwPlugin.vim +266.102 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +266.122 000.357 000.335: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/rplugin.vim +266.369 000.188 000.188: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/shada.vim +266.530 000.085 000.085: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/spellfile.vim +266.916 000.319 000.319: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tarPlugin.vim +267.194 000.210 000.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tohtml.vim +267.330 000.070 000.070: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tutor.vim +268.418 001.023 001.023: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/zipPlugin.vim +269.943 001.270 001.270: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +271.634 000.129 000.129: require('lspsaga') +271.896 000.081 000.081: require('lspsaga.window') +271.917 000.184 000.103: require('lspsaga.libs') +272.998 000.411 000.411: require('vim.lsp.log') +273.656 000.651 000.651: require('vim.lsp.protocol') +274.070 000.175 000.175: require('vim.lsp._snippet') +274.203 000.126 000.126: require('vim.highlight') +274.231 000.567 000.267: require('vim.lsp.util') +274.265 001.891 000.262: require('vim.lsp.handlers') +274.453 000.184 000.184: require('vim.lsp.rpc') +274.578 000.119 000.119: require('vim.lsp.sync') +274.751 000.165 000.165: require('vim.lsp.buf') +274.881 000.123 000.123: require('vim.lsp.diagnostic') +275.010 000.123 000.123: require('vim.lsp.codelens') +275.159 003.151 000.545: require('vim.lsp') +275.236 000.070 000.070: require('lspsaga.wrap') +275.247 003.325 000.105: require('lspsaga.codeaction') +275.287 003.644 000.134: require('lspsaga.lightbulb') +275.414 000.089 000.089: require('lspsaga.lspkind') +275.590 000.054 000.054: require('mason-core.path') +275.607 000.128 000.074: require('mason.settings') +275.797 000.052 000.052: require('mason-core.functional.data') +275.805 000.118 000.066: require('mason-core.functional.function') +275.841 000.229 000.112: require('mason-core.platform') +275.846 000.421 000.063: require('mason') +276.050 000.105 000.105: require('mason-core.functional') +276.160 000.089 000.089: require('mason-core.functional.list') +276.208 000.340 000.145: require('mason.api.command') +276.402 000.108 000.108: require('mason-core.log') +276.410 000.197 000.090: require('mason-lspconfig') +276.490 000.077 000.077: require('mason-lspconfig.settings') +276.585 000.076 000.076: require('mason-lspconfig.lspconfig_hook') +276.984 000.394 000.394: require('lspconfig.util') +277.217 000.066 000.066: require('mason-core.functional.table') +277.322 000.301 000.235: require('mason-lspconfig.mappings.server') +277.585 000.082 000.082: require('mason-core.async') +277.652 000.061 000.061: require('mason-core.async.uv') +277.666 000.262 000.119: require('mason-core.fs') +277.743 000.073 000.073: require('mason-core.optional') +277.812 000.064 000.064: require('mason-core.EventEmitter') +277.971 000.155 000.155: require('mason-registry.index') +277.991 000.663 000.110: require('mason-registry') +278.063 000.068 000.068: require('mason-lspconfig.server_config_extensions') +278.159 000.090 000.090: require('lspconfig.configs') +278.284 000.081 000.081: require('lspconfig.server_configurations.omnisharp') +278.517 000.076 000.076: require('mason-lspconfig.ensure_installed') +278.766 000.073 000.073: require('mason-core.result') +279.162 000.221 000.221: require('mason-core.process') +279.239 000.069 000.069: require('mason-core.functional.relation') +279.313 000.067 000.067: require('mason-core.functional.logic') +279.329 000.457 000.101: require('mason-core.spawn') +279.415 000.081 000.081: require('mason-core.receipt') +279.500 000.070 000.070: require('mason-core.functional.string') +279.530 000.758 000.149: require('mason-core.installer.context') +279.606 000.072 000.072: require('mason-core.installer.linker') +279.689 000.079 000.079: require('mason-core.async.control') +279.698 001.086 000.104: require('mason-core.installer') +279.814 000.113 000.113: require('mason-core.installer.handle') +280.159 000.069 000.069: require('mason-core.managers.powershell') +280.165 000.145 000.076: require('mason-core.fetch') +280.169 000.203 000.059: require('mason-core.managers.cargo.client') +280.199 000.311 000.107: require('mason-core.managers.cargo') +280.306 000.103 000.103: require('mason-core.managers.composer') +280.419 000.108 000.108: require('mason-core.managers.gem') +280.507 000.083 000.083: require('mason-core.managers.git') +280.683 000.090 000.090: require('mason-core.managers.std') +280.766 000.078 000.078: require('mason-core.managers.github.client') +280.780 000.268 000.100: require('mason-core.managers.github') +280.887 000.104 000.104: require('mason-core.managers.go') +281.031 000.139 000.139: require('mason-core.managers.luarocks') +281.318 000.281 000.281: require('mason-core.managers.npm') +281.444 000.120 000.120: require('mason-core.managers.pip3') +281.459 001.638 000.121: require('mason-core.package.version-check') +281.468 002.944 000.107: require('mason-core.package') +281.574 000.088 000.088: require('mason-registry.lua-language-server') +281.992 000.116 000.116: require('mason-registry.clangd') +282.246 000.198 000.198: require('mason-registry.rust-analyzer') +282.408 000.057 000.057: require('mason-core.notify') +282.484 000.066 000.066: require('mason-core.functional.number') +282.540 000.284 000.160: require('mason-lspconfig.api.command') +282.547 012.419 002.143: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +283.519 000.094 000.094: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/man.lua +283.761 008.799: loading rtp plugins +285.454 000.072 000.072: require('Comment.config') +285.549 000.088 000.088: require('Comment.utils') +285.625 000.070 000.070: require('Comment.opfunc') +285.695 000.065 000.065: require('Comment.extra') +285.711 000.458 000.163: require('Comment.api') +286.065 000.870 000.412: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +286.768 000.069 000.069: require('luasnip.util.types') +286.846 000.071 000.071: require('luasnip.util.ext_opts') +286.923 000.072 000.072: require('luasnip.extras.filetype_functions') +286.996 000.068 000.068: require('luasnip.session') +287.298 000.115 000.115: require('luasnip.util.util') +287.380 000.076 000.076: require('luasnip.nodes.util') +287.446 000.060 000.060: require('luasnip.util.events') +287.467 000.372 000.121: require('luasnip.nodes.node') +287.583 000.069 000.069: require('luasnip.util.extend_decorator') +287.594 000.593 000.152: require('luasnip.nodes.insertNode') +287.879 000.086 000.086: require('luasnip.util.mark') +288.102 000.087 000.087: require('luasnip.nodes.textNode') +288.965 000.784 000.784: require('luasnip.util._builtin_vars') +289.156 001.047 000.263: require('luasnip.util.environ') +289.245 000.082 000.082: require('luasnip.util.pattern_tokenizer') +289.318 000.068 000.068: require('luasnip.util.dict') +289.407 000.084 000.084: require('luasnip.session.snippet_collection') +289.464 001.578 000.210: require('luasnip.nodes.snippet') +289.482 001.884 000.220: require('luasnip.nodes.choiceNode') +289.656 000.108 000.108: require('luasnip.nodes.functionNode') +289.832 000.169 000.169: require('luasnip.nodes.dynamicNode') +289.954 000.115 000.115: require('luasnip.nodes.restoreNode') +291.929 001.969 001.969: require('luasnip.extras') +292.090 000.062 000.062: require('luasnip.util.str') +292.099 000.159 000.097: require('luasnip.extras.fmt') +292.163 000.060 000.060: require('luasnip.extras.expand_conditions') +292.402 000.072 000.072: require('luasnip.util.parser.neovim_ast') +302.428 000.095 000.095: require('luasnip.util.directed_graph') +302.448 010.211 010.044: require('luasnip.util.parser.ast_utils') +302.614 000.071 000.071: require('luasnip.util.functions') +302.625 000.171 000.100: require('luasnip.util.parser.ast_parser') +302.778 000.150 000.150: require('luasnip.util.parser.neovim_parser') +302.795 010.626 000.094: require('luasnip.util.parser') +302.866 000.066 000.066: require('luasnip.nodes.absolute_indexer') +303.377 016.798 000.767: require('luasnip.config') +303.545 017.302 000.504: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +304.431 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +305.901 000.877 000.877: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +306.799 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +307.353 000.100 000.100: require('cmp.utils.api') +307.486 000.063 000.063: require('cmp.types.cmp') +307.645 000.078 000.078: require('cmp.utils.misc') +307.676 000.183 000.105: require('cmp.types.lsp') +307.736 000.056 000.056: require('cmp.types.vim') +307.742 000.382 000.079: require('cmp.types') +307.810 000.065 000.065: require('cmp.utils.highlight') +307.933 000.056 000.056: require('cmp.utils.debug') +307.951 000.136 000.080: require('cmp.utils.autocmd') +308.471 001.284 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +308.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +309.148 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +309.640 000.196 000.196: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +310.274 000.069 000.069: require('nvim-treesitter.statusline') +310.361 000.080 000.080: require('nvim-treesitter.query_predicates') +310.368 000.231 000.083: require('nvim-treesitter') +311.777 000.241 000.241: require('vim.treesitter.highlighter') +312.243 000.859 000.618: require('nvim-treesitter.highlight') +312.932 002.859 001.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +313.468 000.264 000.264: require('treesitter-context') +313.478 000.308 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +313.858 000.083 000.083: require('nvim-treesitter-refactor') +314.072 000.327 000.244: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +314.445 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +314.840 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +315.176 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +315.945 000.415 000.415: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +316.320 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +317.353 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +318.205 000.523 000.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +318.818 000.355 000.355: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +319.671 000.596 000.596: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +319.991 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +320.278 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +321.792 010.515: loading packages +323.446 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +327.698 005.367 004.898: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +328.389 000.115 000.115: require('cmp.utils.char') +328.404 000.200 000.085: require('cmp.utils.str') +328.474 000.065 000.065: require('cmp.utils.pattern') +328.690 000.060 000.060: require('cmp.utils.buffer') +328.713 000.165 000.105: require('cmp.utils.keymap') +328.722 000.244 000.078: require('cmp.utils.feedkeys') +328.808 000.082 000.082: require('cmp.utils.async') +328.940 000.058 000.058: require('cmp.utils.cache') +328.948 000.134 000.076: require('cmp.context') +329.187 000.077 000.077: require('cmp.config.mapping') +329.353 000.084 000.084: require('cmp.config.compare') +329.359 000.164 000.080: require('cmp.config.default') +329.384 000.345 000.104: require('cmp.config') +329.559 000.066 000.066: require('cmp.matcher') +329.570 000.182 000.115: require('cmp.entry') +329.584 000.633 000.106: require('cmp.source') +329.722 000.058 000.058: require('cmp.utils.event') +329.918 000.086 000.086: require('cmp.utils.window') +329.930 000.203 000.117: require('cmp.view.docs_view') +330.048 000.115 000.115: require('cmp.view.custom_entries_view') +330.163 000.110 000.110: require('cmp.view.wildmenu_entries_view') +330.251 000.082 000.082: require('cmp.view.native_entries_view') +330.331 000.076 000.076: require('cmp.view.ghost_text_view') +330.346 000.758 000.114: require('cmp.view') +330.416 002.325 000.209: require('cmp.core') +330.712 000.066 000.066: require('cmp.config.sources') +330.779 000.059 000.059: require('cmp.config.window') +330.877 002.905 000.453: require('cmp') +331.159 000.067 000.067: require('cmp_buffer.timer') +331.171 000.152 000.086: require('cmp_buffer.buffer') +331.177 000.233 000.081: require('cmp_buffer.source') +331.181 000.299 000.066: require('cmp_buffer') +331.276 003.361 000.157: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +331.654 000.153 000.153: require('cmp_cmdline') +331.685 000.231 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +332.024 000.071 000.071: require('cmp_nvim_lsp.source') +332.032 000.150 000.079: require('cmp_nvim_lsp') +332.086 000.248 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +332.388 000.114 000.114: require('cmp_path') +332.423 000.187 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +332.706 000.086 000.086: require('cmp_luasnip') +332.774 000.201 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +332.928 001.541: loading after plugins +332.955 000.027: inits 3 +332.969 000.014: reading ShaDa +333.378 000.068 000.068: require('luasnip.loaders._caches') +333.497 000.113 000.113: require('luasnip.util.path') +333.589 000.086 000.086: require('luasnip.loaders.util') +333.813 000.099 000.099: require('luasnip.loaders') +333.855 000.260 000.161: require('luasnip') +333.862 000.635 000.108: require('luasnip.loaders.from_lua') +334.083 000.069 000.069: require('luasnip.nodes.snippetProxy') +334.095 000.168 000.099: require('luasnip.loaders.from_snipmate') +334.263 000.091 000.091: require('luasnip.loaders.from_vscode') +334.302 000.439: opening buffers +334.522 000.221: BufEnter autocommands +334.529 000.007: editing files in windows +349.099 000.632 000.632: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.170 001.170: --- NVIM STARTING --- +030.530 029.361: event init +047.939 017.409: early init +049.639 001.699: locale set +055.163 005.524: init first window +064.966 009.803: inits 1 +064.989 000.023: window checked +064.997 000.009: parsing arguments +076.902 000.266 000.266: require('vim.shared') +077.425 000.241 000.241: require('vim._meta') +077.438 000.513 000.273: require('vim._editor') +077.446 000.901 000.121: require('vim._init_packages') +077.454 011.555: init lua interpreter +077.612 000.158: expanding arguments +079.498 001.886: inits 2 +080.971 001.472: init highlight +080.983 000.012: waiting for UI +084.759 003.776: done waiting for UI +084.791 000.032: init screen for UI +085.030 000.239: init default mappings +085.056 000.027: init default autocommands +095.848 004.168 004.168: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/ftplugin.vim +098.579 001.149 001.149: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/indent.vim +099.101 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim +099.127 000.187 000.129: sourcing /etc/xdg/nvim/sysinit.vim +113.526 006.784 006.784: require('keys') +118.451 004.902 004.902: require('opts') +123.870 001.098 001.098: require('packer.util') +124.002 004.774 003.676: require('packer') +128.144 001.664 001.664: require('packer.log') +128.165 002.615 000.951: require('packer.async') +129.891 000.733 000.733: require('packer.result') +129.909 001.735 001.003: require('packer.jobs') +129.934 005.826 001.476: require('packer.plugin_utils') +131.122 001.143 001.143: require('packer.snapshot') +132.785 014.316 002.573: require('pack') +150.741 017.940 017.940: require('impatient') +152.207 000.384 000.384: require('vim.treesitter.language') +152.241 001.024 000.640: require('vim.treesitter.query') +154.123 000.382 000.382: require('vim.treesitter.languagetree') +154.235 000.878 000.495: require('vim.treesitter') +154.661 001.800 000.922: require('nvim-treesitter.parsers') +154.846 000.176 000.176: require('nvim-treesitter.utils') +154.867 002.236 000.260: require('nvim-treesitter.ts_utils') +154.881 002.633 000.396: require('nvim-treesitter.tsrange') +154.997 000.111 000.111: require('nvim-treesitter.caching') +155.031 003.990 000.223: require('nvim-treesitter.query') +155.071 004.197 000.207: require('nvim-treesitter.configs') +155.678 000.124 000.124: require('nvim-treesitter.info') +155.935 000.250 000.250: require('nvim-treesitter.shell_command_selectors') +156.003 000.658 000.284: require('nvim-treesitter.install') +196.263 045.502 040.647: require('plugins.treesitter') +197.005 000.512 000.512: require('telescope._extensions') +197.018 000.617 000.105: require('telescope') +199.073 000.401 000.401: require('plenary.bit') +199.180 000.097 000.097: require('plenary.functional') +199.240 000.036 000.036: require('ffi') +199.268 000.818 000.284: require('plenary.path') +199.284 001.226 000.408: require('plenary.strings') +199.445 000.157 000.157: require('telescope.deprecated') +200.029 000.248 000.248: require('plenary.log') +200.134 000.426 000.178: require('telescope.log') +200.532 000.213 000.213: require('plenary.job') +200.629 000.089 000.089: require('telescope.state') +200.646 000.505 000.204: require('telescope.utils') +200.657 001.204 000.273: require('telescope.sorters') +200.775 000.085 000.085: require('vim.inspect') +201.684 000.015 000.015: require('vim.F') +205.169 007.578 004.892: require('telescope.config') +205.905 000.559 000.559: require('plenary.window.border') +206.101 000.187 000.187: require('plenary.window') +206.179 000.070 000.070: require('plenary.popup.utils') +206.188 001.009 000.193: require('plenary.popup') +206.310 000.117 000.117: require('telescope.pickers.scroller') +206.392 000.076 000.076: require('telescope.actions.state') +206.466 000.069 000.069: require('telescope.actions.utils') +206.670 000.115 000.115: require('telescope.actions.mt') +206.709 000.238 000.123: require('telescope.actions.set') +206.910 000.069 000.069: require('telescope.config.resolve') +206.917 000.151 000.082: require('telescope.pickers.entry_display') +207.087 000.167 000.167: require('telescope.from_entry') +207.560 010.538 001.131: require('telescope.actions') +208.168 000.061 000.061: require('plenary.tbl') +208.181 000.140 000.079: require('plenary.vararg.rotate') +208.185 000.204 000.064: require('plenary.vararg') +208.245 000.057 000.057: require('plenary.errors') +208.257 000.341 000.080: require('plenary.async.async') +208.335 000.075 000.075: require('plenary.async.structs') +208.347 000.510 000.095: require('plenary.async.control') +208.643 000.208 000.208: require('telescope.make_entry') +208.923 000.079 000.079: require('plenary.async.util') +208.929 000.145 000.066: require('plenary.async.tests') +208.934 000.214 000.069: require('plenary.async') +208.939 000.290 000.075: require('telescope.finders.async_static_finder') +209.161 000.064 000.064: require('plenary.class') +209.184 000.169 000.105: require('telescope._') +209.189 000.247 000.079: require('telescope.finders.async_oneshot_finder') +209.264 000.072 000.072: require('telescope.finders.async_job_finder') +209.274 000.922 000.105: require('telescope.finders') +209.542 000.077 000.077: require('telescope.debounce') +209.743 000.195 000.195: require('telescope.mappings') +209.838 000.088 000.088: require('telescope.pickers.highlights') +209.914 000.071 000.071: require('telescope.pickers.window') +210.064 000.074 000.074: require('telescope.algos.linked_list') +210.072 000.153 000.080: require('telescope.entry_manager') +210.141 000.066 000.066: require('telescope.pickers.multi') +210.172 000.894 000.244: require('telescope.pickers') +210.187 002.467 000.140: require('telescope.builtin.__lsp') +210.211 002.643 000.176: require('telescope.builtin') +210.537 000.239 000.239: require('fzf_lib') +210.552 000.335 000.096: require('telescope._extensions.fzf') +210.882 000.094 000.094: require('telescope._extensions.file_browser.utils') +210.984 000.343 000.249: require('telescope._extensions.file_browser.actions') +211.232 000.144 000.144: require('telescope._extensions.file_browser.make_entry') +211.387 000.149 000.149: require('plenary.scandir') +211.441 000.452 000.159: require('telescope._extensions.file_browser.finders') +211.528 000.082 000.082: require('telescope._extensions.file_browser.picker') +211.669 000.136 000.136: require('telescope._extensions.file_browser.config') +211.676 001.113 000.101: require('telescope._extensions.file_browser') +215.882 000.019 000.019: require('vim.keymap') +216.141 019.866 004.600: require('plugins.telescope') +217.337 000.107 000.107: require('notify.util.queue') +217.352 000.200 000.092: require('notify.util') +217.591 000.235 000.235: require('notify.config.highlights') +217.607 000.539 000.104: require('notify.config') +217.684 000.073 000.073: require('notify.stages') +217.757 000.067 000.067: require('notify.service.notification') +218.011 000.090 000.090: require('notify.animate.spring') +218.017 000.152 000.062: require('notify.animate') +218.024 000.263 000.111: require('notify.windows') +218.321 000.139 000.139: require('notify.service.buffer.highlights') +218.332 000.232 000.093: require('notify.service.buffer') +218.340 000.312 000.080: require('notify.service') +218.468 000.126 000.126: require('notify.stages.util') +218.481 001.512 000.133: require('notify') +218.572 000.087 000.087: require('nvim-tree.iterators.node-iterator') +218.665 001.808 000.209: require('nvim-tree.utils') +218.683 001.902 000.094: require('nvim-tree.events') +218.980 000.091 000.091: require('nvim-tree.log') +219.156 000.170 000.170: require('nvim-tree.git.utils') +219.354 000.192 000.192: require('nvim-tree.git.runner') +219.493 000.134 000.134: require('nvim-tree.watcher') +219.506 000.725 000.138: require('nvim-tree.git') +219.640 000.130 000.130: require('nvim-tree.explorer.watch') +219.762 000.117 000.117: require('nvim-tree.explorer.common') +220.044 000.111 000.111: require('nvim-tree.explorer.node-builders') +220.134 000.084 000.084: require('nvim-tree.explorer.sorters') +220.217 000.078 000.078: require('nvim-tree.explorer.filters') +220.565 000.247 000.247: require('nvim-tree.view') +220.581 000.359 000.112: require('nvim-tree.live-filter') +220.588 000.766 000.134: require('nvim-tree.explorer.explore') +220.709 000.117 000.117: require('nvim-tree.explorer.reload') +220.718 002.031 000.176: require('nvim-tree.explorer') +220.726 004.007 000.074: require('nvim-tree.core') +220.909 000.180 000.180: require('nvim-tree.diagnostics') +221.015 000.099 000.099: require('nvim-tree.renderer.components.padding') +221.118 000.098 000.098: require('nvim-tree.renderer.components.icons') +221.226 000.103 000.103: require('nvim-tree.renderer.components.full-name') +221.318 000.088 000.088: require('nvim-tree.renderer.help') +221.462 000.138 000.138: require('nvim-tree.renderer.components.git') +221.608 000.142 000.142: require('nvim-tree.renderer.builder') +221.714 000.101 000.101: require('nvim-tree.marks') +221.737 005.101 000.146: require('nvim-tree.renderer') +221.833 000.087 000.087: require('nvim-tree.actions.tree-modifiers.collapse-all') +221.937 000.098 000.098: require('nvim-tree.actions.root.dir-up') +222.038 000.097 000.097: require('nvim-tree.actions.root.change-dir') +222.133 000.090 000.090: require('nvim-tree.actions.reloaders.reloaders') +222.232 000.093 000.093: require('nvim-tree.actions.finders.find-file') +222.237 005.683 000.118: require('nvim-tree.lib') +222.366 000.125 000.125: require('nvim-tree.colors') +222.542 000.170 000.170: require('nvim-tree.legacy') +222.681 000.133 000.133: require('nvim-tree.actions.fs.copy-paste') +222.892 000.091 000.091: require('nvim-tree.actions.tree-modifiers.expand-all') +223.020 000.122 000.122: require('nvim-tree.actions.tree-modifiers.toggles') +223.130 000.103 000.103: require('nvim-tree.actions.fs.create-file') +223.238 000.102 000.102: require('nvim-tree.actions.fs.rename-file') +223.383 000.139 000.139: require('nvim-tree.actions.fs.trash') +223.530 000.141 000.141: require('nvim-tree.actions.fs.remove-file') +223.668 000.128 000.128: require('nvim-tree.actions.moves.parent') +223.754 000.081 000.081: require('nvim-tree.actions.moves.sibling') +223.838 000.078 000.078: require('nvim-tree.actions.moves.item') +223.939 000.092 000.092: require('nvim-tree.actions.finders.search-node') +224.022 000.078 000.078: require('nvim-tree.actions.node.run-command') +224.119 000.092 000.092: require('nvim-tree.actions.node.file-popup') +224.227 000.103 000.103: require('nvim-tree.actions.node.system-open') +224.338 000.098 000.098: require('nvim-tree.marks.bulk-move') +224.347 001.659 000.211: require('nvim-tree.actions.dispatch') +224.407 008.093 000.322: require('nvim-tree') +224.486 000.074 000.074: require('nvim-tree.config') +229.437 000.237 000.237: require('nvim-tree.actions') +229.603 000.154 000.154: require('nvim-tree.actions.node.open-file') +233.354 000.233 000.233: require('nvim-tree.marks.navigation') +233.364 000.784 000.551: require('nvim-tree.api') +233.479 001.040 000.255: require('nvim-tree.keymap') +236.336 002.170 002.170: require('nvim-web-devicons') +240.525 024.376 012.609: require('plugins.nvim-tree') +240.824 000.077 000.077: require('lualine_require') +241.367 000.729 000.652: require('lualine') +241.438 000.064 000.064: require('plugins.linecolor') +246.560 000.082 000.082: require('lualine.utils.mode') +253.179 012.644 011.770: require('plugins.lualine') +253.188 153.957 007.627: sourcing /home/sxrdusr/.config/nvim/init.lua +253.205 008.688: sourcing vimrc file(s) +253.467 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +254.341 000.051 000.051: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.lua +255.729 001.187 001.187: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.vim +257.642 000.267 000.267: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/synload.vim +257.880 001.755 001.488: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/syntax.vim +263.910 001.409 001.409: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/gzip.vim +264.075 000.066 000.066: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/health.vim +267.945 002.388 002.388: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +268.522 004.362 001.974: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchit.vim +269.029 000.421 000.421: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchparen.vim +269.214 000.092 000.092: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/netrwPlugin.vim +269.707 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +269.729 000.427 000.394: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/rplugin.vim +270.014 000.201 000.201: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/shada.vim +270.210 000.104 000.104: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/spellfile.vim +270.625 000.323 000.323: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tarPlugin.vim +270.959 000.232 000.232: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tohtml.vim +271.133 000.083 000.083: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tutor.vim +272.220 000.996 000.996: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/zipPlugin.vim +273.782 001.296 001.296: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +275.117 001.158 001.158: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +275.996 000.097 000.097: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/man.lua +276.202 008.682: loading rtp plugins +277.568 000.100 000.100: require('Comment.config') +277.655 000.079 000.079: require('Comment.utils') +277.724 000.064 000.064: require('Comment.opfunc') +277.788 000.059 000.059: require('Comment.extra') +277.800 000.452 000.150: require('Comment.api') +278.245 000.948 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +278.890 000.062 000.062: require('luasnip.util.types') +279.005 000.108 000.108: require('luasnip.util.ext_opts') +279.079 000.068 000.068: require('luasnip.extras.filetype_functions') +279.148 000.065 000.065: require('luasnip.session') +279.402 000.098 000.098: require('luasnip.util.util') +279.473 000.066 000.066: require('luasnip.nodes.util') +279.534 000.056 000.056: require('luasnip.util.events') +279.547 000.319 000.099: require('luasnip.nodes.node') +279.674 000.069 000.069: require('luasnip.util.extend_decorator') +279.686 000.533 000.146: require('luasnip.nodes.insertNode') +279.919 000.074 000.074: require('luasnip.util.mark') +280.169 000.139 000.139: require('luasnip.nodes.textNode') +281.040 000.795 000.795: require('luasnip.util._builtin_vars') +281.351 001.174 000.379: require('luasnip.util.environ') +281.437 000.079 000.079: require('luasnip.util.pattern_tokenizer') +281.498 000.056 000.056: require('luasnip.util.dict') +281.575 000.072 000.072: require('luasnip.session.snippet_collection') +281.623 001.697 000.177: require('luasnip.nodes.snippet') +281.637 001.947 000.176: require('luasnip.nodes.choiceNode') +281.746 000.092 000.092: require('luasnip.nodes.functionNode') +281.890 000.138 000.138: require('luasnip.nodes.dynamicNode') +282.120 000.223 000.223: require('luasnip.nodes.restoreNode') +282.206 000.080 000.080: require('luasnip.extras') +282.337 000.058 000.058: require('luasnip.util.str') +282.346 000.132 000.074: require('luasnip.extras.fmt') +282.406 000.056 000.056: require('luasnip.extras.expand_conditions') +282.614 000.065 000.065: require('luasnip.util.parser.neovim_ast') +292.804 000.087 000.087: require('luasnip.util.directed_graph') +292.822 010.347 010.195: require('luasnip.util.parser.ast_utils') +293.128 000.099 000.099: require('luasnip.util.functions') +293.176 000.350 000.251: require('luasnip.util.parser.ast_parser') +293.310 000.128 000.128: require('luasnip.util.parser.neovim_parser') +293.321 010.908 000.083: require('luasnip.util.parser') +293.386 000.062 000.062: require('luasnip.nodes.absolute_indexer') +294.059 015.332 000.858: require('luasnip.config') +294.221 015.792 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +294.977 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +295.967 000.371 000.371: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +296.524 000.083 000.083: require('cmp.utils.api') +296.647 000.059 000.059: require('cmp.types.cmp') +296.839 000.119 000.119: require('cmp.utils.misc') +297.081 000.429 000.310: require('cmp.types.lsp') +297.226 000.138 000.138: require('cmp.types.vim') +297.234 000.702 000.076: require('cmp.types') +297.305 000.067 000.067: require('cmp.utils.highlight') +297.431 000.059 000.059: require('cmp.utils.debug') +297.450 000.140 000.081: require('cmp.utils.autocmd') +298.078 001.706 000.713: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +298.486 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +299.035 000.067 000.067: require('nvim-treesitter.statusline') +299.120 000.078 000.078: require('nvim-treesitter.query_predicates') +299.127 000.230 000.085: require('nvim-treesitter') +300.467 000.465 000.465: require('vim.treesitter.highlighter') +300.868 001.027 000.563: require('nvim-treesitter.highlight') +301.483 002.641 001.383: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +301.941 000.234 000.234: require('treesitter-context') +301.952 000.276 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +302.323 000.085 000.085: require('nvim-treesitter-refactor') +302.482 000.270 000.185: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +302.850 000.115 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +303.268 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +303.688 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +304.627 000.442 000.442: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +305.382 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +305.980 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +307.047 007.082: loading packages +308.141 000.120 000.120: require('cmp.utils.char') +308.156 000.213 000.094: require('cmp.utils.str') +308.227 000.067 000.067: require('cmp.utils.pattern') +308.445 000.058 000.058: require('cmp.utils.buffer') +308.459 000.156 000.099: require('cmp.utils.keymap') +308.467 000.235 000.078: require('cmp.utils.feedkeys') +308.560 000.090 000.090: require('cmp.utils.async') +308.700 000.060 000.060: require('cmp.utils.cache') +308.708 000.142 000.081: require('cmp.context') +308.960 000.082 000.082: require('cmp.config.mapping') +309.130 000.083 000.083: require('cmp.config.compare') +309.135 000.165 000.082: require('cmp.config.default') +309.162 000.364 000.117: require('cmp.config') +309.340 000.067 000.067: require('cmp.matcher') +309.351 000.185 000.119: require('cmp.entry') +309.365 000.655 000.105: require('cmp.source') +309.506 000.060 000.060: require('cmp.utils.event') +309.707 000.096 000.096: require('cmp.utils.window') +309.715 000.204 000.108: require('cmp.view.docs_view') +309.873 000.119 000.119: require('cmp.view.custom_entries_view') +309.983 000.105 000.105: require('cmp.view.wildmenu_entries_view') +310.074 000.086 000.086: require('cmp.view.native_entries_view') +310.155 000.077 000.077: require('cmp.view.ghost_text_view') +310.173 000.804 000.152: require('cmp.view') +310.282 002.463 000.258: require('cmp.core') +310.552 000.080 000.080: require('cmp.config.sources') +310.621 000.061 000.061: require('cmp.config.window') +310.730 003.033 000.429: require('cmp') +311.020 000.062 000.062: require('cmp_buffer.timer') +311.032 000.152 000.089: require('cmp_buffer.buffer') +311.037 000.238 000.087: require('cmp_buffer.source') +311.042 000.307 000.069: require('cmp_buffer') +311.140 003.495 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +311.571 000.162 000.162: require('cmp_cmdline') +311.603 000.289 000.127: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +311.961 000.072 000.072: require('cmp_nvim_lsp.source') +311.969 000.157 000.085: require('cmp_nvim_lsp') +312.022 000.252 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +312.343 000.115 000.115: require('cmp_path') +312.378 000.198 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +313.734 000.697 000.697: require('vim.lsp.protocol') +313.987 000.246 000.246: require('vim.lsp._snippet') +314.131 000.137 000.137: require('vim.highlight') +314.170 001.507 000.427: require('vim.lsp.util') +314.178 001.594 000.087: require('cmp_luasnip') +314.253 001.713 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +314.335 001.341: loading after plugins +314.364 000.028: inits 3 +314.376 000.012: reading ShaDa +314.772 000.072 000.072: require('luasnip.loaders._caches') +314.885 000.106 000.106: require('luasnip.util.path') +314.974 000.083 000.083: require('luasnip.loaders.util') +315.202 000.105 000.105: require('luasnip.loaders') +315.244 000.265 000.160: require('luasnip') +315.251 000.649 000.123: require('luasnip.loaders.from_lua') +315.568 000.075 000.075: require('luasnip.nodes.snippetProxy') +315.581 000.183 000.107: require('luasnip.loaders.from_snipmate') +315.717 000.098 000.098: require('luasnip.loaders.from_vscode') +315.757 000.452: opening buffers +315.967 000.210: BufEnter autocommands +315.973 000.006: editing files in windows +332.180 000.541 000.541: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.440 001.440: --- NVIM STARTING --- +033.506 032.067: event init +051.827 018.320: early init +053.736 001.909: locale set +059.318 005.583: init first window +069.727 010.408: inits 1 +069.752 000.026: window checked +069.761 000.008: parsing arguments +081.649 000.270 000.270: require('vim.shared') +082.171 000.244 000.244: require('vim._meta') +082.184 000.512 000.267: require('vim._editor') +082.192 000.908 000.126: require('vim._init_packages') +082.199 011.531: init lua interpreter +082.371 000.172: expanding arguments +084.237 001.866: inits 2 +085.649 001.412: init highlight +085.660 000.011: waiting for UI +088.638 002.978: done waiting for UI +088.708 000.071: init screen for UI +089.210 000.502: init default mappings +089.266 000.055: init default autocommands +099.603 004.098 004.098: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/ftplugin.vim +102.742 001.689 001.689: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/indent.vim +103.345 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim +103.371 000.184 000.127: sourcing /etc/xdg/nvim/sysinit.vim +120.420 009.662 009.662: require('keys') +125.718 005.274 005.274: require('opts') +131.048 001.043 001.043: require('packer.util') +131.141 004.676 003.633: require('packer') +135.503 001.909 001.909: require('packer.log') +135.523 002.818 000.910: require('packer.async') +137.175 000.657 000.657: require('packer.result') +137.192 001.660 001.003: require('packer.jobs') +137.218 005.968 001.490: require('packer.plugin_utils') +138.471 001.209 001.209: require('packer.snapshot') +139.913 014.177 002.324: require('pack') +157.971 018.042 018.042: require('impatient') +159.695 000.228 000.228: require('vim.treesitter.language') +159.725 000.906 000.678: require('vim.treesitter.query') +161.084 000.390 000.390: require('vim.treesitter.languagetree') +161.183 000.765 000.374: require('vim.treesitter') +161.604 001.571 000.806: require('nvim-treesitter.parsers') +161.821 000.208 000.208: require('nvim-treesitter.utils') +161.843 001.948 000.169: require('nvim-treesitter.ts_utils') +161.860 002.128 000.180: require('nvim-treesitter.tsrange') +162.042 000.176 000.176: require('nvim-treesitter.caching') +162.071 003.524 000.313: require('nvim-treesitter.query') +162.111 003.996 000.471: require('nvim-treesitter.configs') +162.983 000.371 000.371: require('nvim-treesitter.info') +163.160 000.166 000.166: require('nvim-treesitter.shell_command_selectors') +163.230 000.973 000.436: require('nvim-treesitter.install') +201.529 043.537 038.568: require('plugins.treesitter') +201.858 000.117 000.117: require('telescope._extensions') +201.869 000.215 000.098: require('telescope') +202.748 000.087 000.087: require('plenary.bit') +202.837 000.080 000.080: require('plenary.functional') +202.894 000.036 000.036: require('ffi') +202.920 000.413 000.210: require('plenary.path') +202.941 000.534 000.120: require('plenary.strings') +203.036 000.087 000.087: require('telescope.deprecated') +203.433 000.180 000.180: require('plenary.log') +203.526 000.350 000.170: require('telescope.log') +203.805 000.143 000.143: require('plenary.job') +203.893 000.081 000.081: require('telescope.state') +203.912 000.380 000.156: require('telescope.utils') +203.928 000.886 000.156: require('telescope.sorters') +204.097 000.144 000.144: require('vim.inspect') +205.037 000.017 000.017: require('vim.F') +208.736 006.621 004.954: require('telescope.config') +209.238 000.193 000.193: require('plenary.window.border') +209.784 000.538 000.538: require('plenary.window') +209.860 000.069 000.069: require('plenary.popup.utils') +209.870 001.122 000.323: require('plenary.popup') +209.955 000.081 000.081: require('telescope.pickers.scroller') +210.034 000.073 000.073: require('telescope.actions.state') +210.120 000.080 000.080: require('telescope.actions.utils') +210.388 000.082 000.082: require('telescope.actions.mt') +210.427 000.302 000.220: require('telescope.actions.set') +210.812 000.085 000.085: require('telescope.config.resolve') +210.821 000.232 000.147: require('telescope.pickers.entry_display') +210.890 000.066 000.066: require('telescope.from_entry') +211.423 009.549 000.972: require('telescope.actions') +212.041 000.064 000.064: require('plenary.tbl') +212.051 000.140 000.076: require('plenary.vararg.rotate') +212.055 000.208 000.068: require('plenary.vararg') +212.122 000.064 000.064: require('plenary.errors') +212.132 000.357 000.085: require('plenary.async.async') +212.210 000.075 000.075: require('plenary.async.structs') +212.223 000.527 000.095: require('plenary.async.control') +212.539 000.229 000.229: require('telescope.make_entry') +212.832 000.078 000.078: require('plenary.async.util') +212.839 000.148 000.070: require('plenary.async.tests') +212.844 000.222 000.075: require('plenary.async') +212.849 000.304 000.082: require('telescope.finders.async_static_finder') +213.073 000.065 000.065: require('plenary.class') +213.101 000.176 000.110: require('telescope._') +213.107 000.255 000.079: require('telescope.finders.async_oneshot_finder') +213.182 000.072 000.072: require('telescope.finders.async_job_finder') +213.196 000.968 000.108: require('telescope.finders') +213.485 000.082 000.082: require('telescope.debounce') +213.656 000.164 000.164: require('telescope.mappings') +213.782 000.120 000.120: require('telescope.pickers.highlights') +213.862 000.074 000.074: require('telescope.pickers.window') +214.038 000.079 000.079: require('telescope.algos.linked_list') +214.047 000.179 000.101: require('telescope.entry_manager') +214.124 000.074 000.074: require('telescope.pickers.multi') +214.157 000.957 000.264: require('telescope.pickers') +214.173 002.597 000.145: require('telescope.builtin.__lsp') +214.216 002.785 000.188: require('telescope.builtin') +214.575 000.265 000.265: require('fzf_lib') +214.587 000.364 000.099: require('telescope._extensions.fzf') +214.921 000.101 000.101: require('telescope._extensions.file_browser.utils') +215.026 000.349 000.248: require('telescope._extensions.file_browser.actions') +215.273 000.154 000.154: require('telescope._extensions.file_browser.make_entry') +215.417 000.138 000.138: require('plenary.scandir') +215.468 000.437 000.146: require('telescope._extensions.file_browser.finders') +215.551 000.079 000.079: require('telescope._extensions.file_browser.picker') +215.658 000.103 000.103: require('telescope._extensions.file_browser.config') +215.665 001.067 000.100: require('telescope._extensions.file_browser') +220.007 000.023 000.023: require('vim.keymap') +220.326 018.786 004.781: require('plugins.telescope') +221.609 000.069 000.069: require('notify.util.queue') +221.623 000.194 000.125: require('notify.util') +221.878 000.251 000.251: require('notify.config.highlights') +221.888 000.546 000.101: require('notify.config') +222.030 000.137 000.137: require('notify.stages') +222.195 000.158 000.158: require('notify.service.notification') +222.535 000.066 000.066: require('notify.animate.spring') +222.543 000.234 000.168: require('notify.animate') +222.554 000.353 000.119: require('notify.windows') +222.793 000.082 000.082: require('notify.service.buffer.highlights') +222.814 000.184 000.102: require('notify.service.buffer') +222.820 000.261 000.077: require('notify.service') +222.910 000.087 000.087: require('notify.stages.util') +222.920 001.678 000.135: require('notify') +222.997 000.073 000.073: require('nvim-tree.iterators.node-iterator') +223.085 001.979 000.229: require('nvim-tree.utils') +223.099 002.132 000.153: require('nvim-tree.events') +223.342 000.070 000.070: require('nvim-tree.log') +223.507 000.159 000.159: require('nvim-tree.git.utils') +223.603 000.090 000.090: require('nvim-tree.git.runner') +223.692 000.085 000.085: require('nvim-tree.watcher') +223.706 000.526 000.124: require('nvim-tree.git') +223.825 000.116 000.116: require('nvim-tree.explorer.watch') +223.921 000.091 000.091: require('nvim-tree.explorer.common') +224.186 000.113 000.113: require('nvim-tree.explorer.node-builders') +224.289 000.096 000.096: require('nvim-tree.explorer.sorters') +224.436 000.142 000.142: require('nvim-tree.explorer.filters') +224.920 000.367 000.367: require('nvim-tree.view') +224.935 000.493 000.126: require('nvim-tree.live-filter') +224.948 000.968 000.124: require('nvim-tree.explorer.explore') +225.061 000.110 000.110: require('nvim-tree.explorer.reload') +225.071 001.969 000.158: require('nvim-tree.explorer') +225.111 004.209 000.108: require('nvim-tree.core') +225.253 000.138 000.138: require('nvim-tree.diagnostics') +225.338 000.080 000.080: require('nvim-tree.renderer.components.padding') +225.425 000.082 000.082: require('nvim-tree.renderer.components.icons') +225.518 000.089 000.089: require('nvim-tree.renderer.components.full-name') +225.601 000.078 000.078: require('nvim-tree.renderer.help') +225.719 000.113 000.113: require('nvim-tree.renderer.components.git') +225.868 000.144 000.144: require('nvim-tree.renderer.builder') +225.977 000.104 000.104: require('nvim-tree.marks') +226.002 005.207 000.172: require('nvim-tree.renderer') +226.097 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') +226.187 000.085 000.085: require('nvim-tree.actions.root.dir-up') +226.284 000.093 000.093: require('nvim-tree.actions.root.change-dir') +226.372 000.083 000.083: require('nvim-tree.actions.reloaders.reloaders') +226.462 000.084 000.084: require('nvim-tree.actions.finders.find-file') +226.467 005.755 000.119: require('nvim-tree.lib') +226.592 000.121 000.121: require('nvim-tree.colors') +226.766 000.169 000.169: require('nvim-tree.legacy') +226.916 000.145 000.145: require('nvim-tree.actions.fs.copy-paste') +227.109 000.085 000.085: require('nvim-tree.actions.tree-modifiers.expand-all') +227.195 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') +227.297 000.091 000.091: require('nvim-tree.actions.fs.create-file') +227.396 000.094 000.094: require('nvim-tree.actions.fs.rename-file') +227.529 000.127 000.127: require('nvim-tree.actions.fs.trash') +227.629 000.094 000.094: require('nvim-tree.actions.fs.remove-file') +227.737 000.102 000.102: require('nvim-tree.actions.moves.parent') +227.819 000.077 000.077: require('nvim-tree.actions.moves.sibling') +227.903 000.079 000.079: require('nvim-tree.actions.moves.item') +228.001 000.087 000.087: require('nvim-tree.actions.finders.search-node') +228.117 000.111 000.111: require('nvim-tree.actions.node.run-command') +228.214 000.092 000.092: require('nvim-tree.actions.node.file-popup') +228.325 000.106 000.106: require('nvim-tree.actions.node.system-open') +228.423 000.087 000.087: require('nvim-tree.marks.bulk-move') +228.432 001.507 000.196: require('nvim-tree.actions.dispatch') +228.491 008.030 000.333: require('nvim-tree') +228.567 000.071 000.071: require('nvim-tree.config') +233.557 000.315 000.315: require('nvim-tree.actions') +233.708 000.138 000.138: require('nvim-tree.actions.node.open-file') +237.087 000.092 000.092: require('nvim-tree.marks.navigation') +237.098 000.268 000.177: require('nvim-tree.api') +237.135 000.443 000.175: require('nvim-tree.keymap') +238.686 001.052 001.052: require('nvim-web-devicons') +244.255 023.921 013.872: require('plugins.nvim-tree') +245.221 000.395 000.395: require('lualine_require') +246.164 001.579 001.185: require('lualine') +246.240 000.069 000.069: require('plugins.linecolor') +249.546 000.081 000.081: require('lualine.utils.mode') +255.637 011.372 009.643: require('plugins.lualine') +255.647 152.176 007.406: sourcing /home/sxrdusr/.config/nvim/init.lua +255.665 008.252: sourcing vimrc file(s) +255.924 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +257.174 000.058 000.058: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.lua +259.475 002.166 002.166: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.vim +262.509 000.376 000.376: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/synload.vim +262.752 002.375 001.999: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/syntax.vim +268.292 001.428 001.428: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/gzip.vim +268.426 000.061 000.061: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/health.vim +271.039 001.395 001.395: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +271.512 003.018 001.624: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchit.vim +271.977 000.398 000.398: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchparen.vim +272.126 000.080 000.080: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/netrwPlugin.vim +272.541 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +272.561 000.371 000.348: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/rplugin.vim +272.808 000.186 000.186: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/shada.vim +272.959 000.082 000.082: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/spellfile.vim +273.333 000.308 000.308: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tarPlugin.vim +273.622 000.219 000.219: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tohtml.vim +273.757 000.068 000.068: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tutor.vim +274.800 000.978 000.978: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/zipPlugin.vim +276.286 001.257 001.257: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +277.474 001.016 001.016: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +278.325 000.101 000.101: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/man.lua +278.494 008.606: loading rtp plugins +279.975 000.149 000.149: require('Comment.config') +280.069 000.086 000.086: require('Comment.utils') +280.138 000.063 000.063: require('Comment.opfunc') +280.200 000.058 000.058: require('Comment.extra') +280.213 000.601 000.245: require('Comment.api') +280.666 001.108 000.508: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +281.327 000.059 000.059: require('luasnip.util.types') +281.398 000.064 000.064: require('luasnip.util.ext_opts') +281.468 000.065 000.065: require('luasnip.extras.filetype_functions') +281.536 000.063 000.063: require('luasnip.session') +281.783 000.095 000.095: require('luasnip.util.util') +281.853 000.064 000.064: require('luasnip.nodes.util') +281.911 000.054 000.054: require('luasnip.util.events') +281.926 000.314 000.100: require('luasnip.nodes.node') +282.059 000.063 000.063: require('luasnip.util.extend_decorator') +282.070 000.530 000.153: require('luasnip.nodes.insertNode') +282.340 000.076 000.076: require('luasnip.util.mark') +282.529 000.079 000.079: require('luasnip.nodes.textNode') +283.386 000.788 000.788: require('luasnip.util._builtin_vars') +283.668 001.132 000.344: require('luasnip.util.environ') +283.751 000.077 000.077: require('luasnip.util.pattern_tokenizer') +283.811 000.055 000.055: require('luasnip.util.dict') +283.886 000.070 000.070: require('luasnip.session.snippet_collection') +283.934 001.587 000.174: require('luasnip.nodes.snippet') +283.949 001.875 000.212: require('luasnip.nodes.choiceNode') +284.098 000.132 000.132: require('luasnip.nodes.functionNode') +284.205 000.100 000.100: require('luasnip.nodes.dynamicNode') +284.306 000.095 000.095: require('luasnip.nodes.restoreNode') +284.408 000.097 000.097: require('luasnip.extras') +284.538 000.058 000.058: require('luasnip.util.str') +284.547 000.132 000.074: require('luasnip.extras.fmt') +284.608 000.057 000.057: require('luasnip.extras.expand_conditions') +284.811 000.065 000.065: require('luasnip.util.parser.neovim_ast') +293.026 000.084 000.084: require('luasnip.util.directed_graph') +293.043 008.368 008.219: require('luasnip.util.parser.ast_utils') +293.210 000.061 000.061: require('luasnip.util.functions') +293.258 000.211 000.149: require('luasnip.util.parser.ast_parser') +293.400 000.138 000.138: require('luasnip.util.parser.neovim_parser') +293.411 008.797 000.081: require('luasnip.util.parser') +293.477 000.062 000.062: require('luasnip.nodes.absolute_indexer') +293.898 012.734 000.606: require('luasnip.config') +294.056 013.203 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +294.842 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +295.836 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +296.359 000.081 000.081: require('cmp.utils.api') +296.480 000.057 000.057: require('cmp.types.cmp') +296.619 000.068 000.068: require('cmp.utils.misc') +296.743 000.258 000.190: require('cmp.types.lsp') +296.810 000.060 000.060: require('cmp.types.vim') +296.815 000.449 000.074: require('cmp.types') +296.876 000.057 000.057: require('cmp.utils.highlight') +296.985 000.050 000.050: require('cmp.utils.debug') +297.002 000.122 000.072: require('cmp.utils.autocmd') +297.720 001.509 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +298.111 000.135 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +298.635 000.059 000.059: require('nvim-treesitter.statusline') +298.711 000.069 000.069: require('nvim-treesitter.query_predicates') +298.718 000.204 000.076: require('nvim-treesitter') +300.054 000.290 000.290: require('vim.treesitter.highlighter') +300.401 000.792 000.501: require('nvim-treesitter.highlight') +300.770 002.306 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +301.262 000.278 000.278: require('treesitter-context') +301.273 000.317 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +301.636 000.084 000.084: require('nvim-treesitter-refactor') +301.851 000.326 000.242: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +302.218 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +302.588 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +303.010 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +303.920 000.429 000.429: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +304.696 000.549 000.549: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +305.310 000.352 000.352: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +306.794 007.375: loading packages +307.896 000.127 000.127: require('cmp.utils.char') +307.914 000.249 000.122: require('cmp.utils.str') +307.981 000.062 000.062: require('cmp.utils.pattern') +308.199 000.057 000.057: require('cmp.utils.buffer') +308.210 000.157 000.100: require('cmp.utils.keymap') +308.221 000.235 000.078: require('cmp.utils.feedkeys') +308.314 000.089 000.089: require('cmp.utils.async') +308.447 000.059 000.059: require('cmp.utils.cache') +308.454 000.134 000.076: require('cmp.context') +308.705 000.085 000.085: require('cmp.config.mapping') +308.866 000.082 000.082: require('cmp.config.compare') +308.872 000.160 000.077: require('cmp.config.default') +308.897 000.350 000.105: require('cmp.config') +309.068 000.062 000.062: require('cmp.matcher') +309.081 000.180 000.118: require('cmp.entry') +309.095 000.638 000.108: require('cmp.source') +309.233 000.059 000.059: require('cmp.utils.event') +309.405 000.096 000.096: require('cmp.utils.window') +309.412 000.175 000.078: require('cmp.view.docs_view') +309.573 000.120 000.120: require('cmp.view.custom_entries_view') +309.681 000.103 000.103: require('cmp.view.wildmenu_entries_view') +309.769 000.083 000.083: require('cmp.view.native_entries_view') +309.847 000.074 000.074: require('cmp.view.ghost_text_view') +309.865 000.766 000.153: require('cmp.view') +309.975 002.429 000.254: require('cmp.core') +310.464 000.071 000.071: require('cmp.config.sources') +310.532 000.061 000.061: require('cmp.config.window') +310.651 003.219 000.659: require('cmp') +310.932 000.062 000.062: require('cmp_buffer.timer') +310.940 000.144 000.083: require('cmp_buffer.buffer') +310.949 000.232 000.087: require('cmp_buffer.source') +310.953 000.297 000.065: require('cmp_buffer') +310.984 003.601 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +311.371 000.155 000.155: require('cmp_cmdline') +311.405 000.233 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +311.754 000.072 000.072: require('cmp_nvim_lsp.source') +311.761 000.148 000.076: require('cmp_nvim_lsp') +311.854 000.284 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +312.173 000.114 000.114: require('cmp_path') +312.208 000.192 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +313.680 000.681 000.681: require('vim.lsp.protocol') +313.997 000.309 000.309: require('vim.lsp._snippet') +314.150 000.147 000.147: require('vim.highlight') +314.183 001.671 000.534: require('vim.lsp.util') +314.193 001.759 000.089: require('cmp_luasnip') +314.266 001.907 000.148: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +314.409 001.397: loading after plugins +314.443 000.034: inits 3 +314.458 000.014: reading ShaDa +314.850 000.070 000.070: require('luasnip.loaders._caches') +314.966 000.109 000.109: require('luasnip.util.path') +315.062 000.091 000.091: require('luasnip.loaders.util') +315.293 000.104 000.104: require('luasnip.loaders') +315.332 000.265 000.160: require('luasnip') +315.339 000.648 000.114: require('luasnip.loaders.from_lua') +315.551 000.074 000.074: require('luasnip.nodes.snippetProxy') +315.561 000.172 000.097: require('luasnip.loaders.from_snipmate') +315.691 000.089 000.089: require('luasnip.loaders.from_vscode') +315.726 000.360: opening buffers +315.996 000.269: BufEnter autocommands +316.003 000.007: editing files in windows +331.179 000.499 000.499: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.200 001.200: --- NVIM STARTING --- +028.869 027.670: event init +045.983 017.113: early init +047.792 001.810: locale set +053.512 005.720: init first window +063.922 010.410: inits 1 +063.947 000.025: window checked +063.955 000.008: parsing arguments +076.112 000.253 000.253: require('vim.shared') +076.628 000.246 000.246: require('vim._meta') +076.644 000.505 000.259: require('vim._editor') +076.652 000.941 000.183: require('vim._init_packages') +076.660 011.764: init lua interpreter +076.862 000.202: expanding arguments +078.857 001.995: inits 2 +080.284 001.427: init highlight +080.295 000.011: waiting for UI +082.949 002.654: done waiting for UI +083.000 000.051: init screen for UI +083.246 000.246: init default mappings +083.273 000.027: init default autocommands +093.988 004.253 004.253: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/ftplugin.vim +096.789 001.077 001.077: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/indent.vim +097.277 000.056 000.056: sourcing /usr/share/nvim/archlinux.vim +097.304 000.182 000.126: sourcing /etc/xdg/nvim/sysinit.vim +111.429 006.947 006.947: require('keys') +113.908 002.467 002.467: require('opts') +117.673 001.187 001.187: require('packer.util') +117.808 003.545 002.358: require('packer') +122.146 001.171 001.171: require('packer.log') +122.166 002.129 000.957: require('packer.async') +124.195 000.802 000.802: require('packer.result') +124.220 002.045 001.244: require('packer.jobs') +124.252 005.833 001.659: require('packer.plugin_utils') +125.549 001.251 001.251: require('packer.snapshot') +127.162 013.245 002.616: require('pack') +158.488 031.310 031.310: require('impatient') +159.340 000.277 000.277: require('lualine_require') +160.073 001.430 001.153: require('lualine') +160.228 000.146 000.146: require('plugins.linecolor') +169.390 000.177 000.177: require('lualine.utils.mode') +172.397 013.891 012.138: require('plugins.lualine') +172.450 075.045 007.184: sourcing /home/sxrdusr/.config/nvim/init.lua +172.493 008.664: sourcing vimrc file(s) +172.853 000.064 000.064: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +174.426 000.083 000.083: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.lua +176.471 001.751 001.751: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.vim +179.037 000.296 000.296: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/synload.vim +179.314 002.168 001.872: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/syntax.vim +179.520 000.026 000.026: require('vim.F') +186.212 001.264 001.264: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/gzip.vim +186.358 000.064 000.064: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/health.vim +186.496 000.065 000.065: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchit.vim +186.634 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchparen.vim +186.802 000.097 000.097: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/netrwPlugin.vim +187.224 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +187.244 000.381 000.343: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/rplugin.vim +187.485 000.182 000.182: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/shada.vim +187.643 000.091 000.091: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/spellfile.vim +187.770 000.062 000.062: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tarPlugin.vim +187.893 000.059 000.059: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tohtml.vim +188.022 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tutor.vim +188.970 000.884 000.884: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/zipPlugin.vim +190.447 001.228 001.228: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +191.939 001.259 001.259: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +192.809 000.149 000.149: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/man.lua +193.044 010.542: loading rtp plugins +194.557 000.015 000.015: require('vim.keymap') +194.979 000.089 000.089: require('Comment.config') +195.098 000.111 000.111: require('Comment.utils') +195.179 000.075 000.075: require('Comment.opfunc') +195.356 000.171 000.171: require('Comment.extra') +195.374 000.809 000.362: require('Comment.api') +195.696 001.258 000.434: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +196.405 000.067 000.067: require('luasnip.util.types') +196.489 000.076 000.076: require('luasnip.util.ext_opts') +198.131 000.221 000.221: require('vim.treesitter.language') +198.166 000.785 000.564: require('vim.treesitter.query') +198.468 000.297 000.297: require('vim.treesitter.languagetree') +198.532 001.607 000.525: require('vim.treesitter') +198.791 002.228 000.622: require('nvim-treesitter.parsers') +198.993 000.100 000.100: require('nvim-treesitter.utils') +199.005 000.208 000.108: require('nvim-treesitter.ts_utils') +199.011 002.516 000.080: require('luasnip.extras.filetype_functions') +199.094 000.079 000.079: require('luasnip.session') +199.418 000.126 000.126: require('luasnip.util.util') +199.498 000.074 000.074: require('luasnip.nodes.util') +199.570 000.067 000.067: require('luasnip.util.events') +199.587 000.382 000.115: require('luasnip.nodes.node') +199.701 000.066 000.066: require('luasnip.util.extend_decorator') +199.712 000.613 000.165: require('luasnip.nodes.insertNode') +199.969 000.081 000.081: require('luasnip.util.mark') +200.192 000.093 000.093: require('luasnip.nodes.textNode') +200.914 000.645 000.645: require('luasnip.util._builtin_vars') +201.113 000.189 000.189: require('vim.inspect') +201.340 001.141 000.306: require('luasnip.util.environ') +201.452 000.105 000.105: require('luasnip.util.pattern_tokenizer') +201.569 000.108 000.108: require('luasnip.util.dict') +201.675 000.094 000.094: require('luasnip.session.snippet_collection') +201.787 001.810 000.270: require('luasnip.nodes.snippet') +201.807 002.091 000.199: require('luasnip.nodes.choiceNode') +201.938 000.106 000.106: require('luasnip.nodes.functionNode') +202.112 000.166 000.166: require('luasnip.nodes.dynamicNode') +202.290 000.172 000.172: require('luasnip.nodes.restoreNode') +202.386 000.089 000.089: require('luasnip.extras') +202.561 000.072 000.072: require('luasnip.util.str') +202.575 000.181 000.109: require('luasnip.extras.fmt') +202.643 000.063 000.063: require('luasnip.extras.expand_conditions') +202.880 000.077 000.077: require('luasnip.util.parser.neovim_ast') +215.457 000.113 000.113: require('luasnip.util.directed_graph') +215.486 012.764 012.575: require('luasnip.util.parser.ast_utils') +215.665 000.071 000.071: require('luasnip.util.functions') +215.677 000.184 000.113: require('luasnip.util.parser.ast_parser') +215.881 000.200 000.200: require('luasnip.util.parser.neovim_parser') +215.894 013.244 000.096: require('luasnip.util.parser') +215.971 000.071 000.071: require('luasnip.nodes.absolute_indexer') +217.153 020.941 001.407: require('luasnip.config') +217.313 021.401 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +218.109 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +218.673 000.108 000.108: require('lsp-colors') +219.216 000.706 000.598: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +220.523 000.925 000.925: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +221.323 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +221.864 000.096 000.096: require('cmp.utils.api') +222.010 000.072 000.072: require('cmp.types.cmp') +222.182 000.079 000.079: require('cmp.utils.misc') +222.383 000.366 000.287: require('cmp.types.lsp') +222.479 000.088 000.088: require('cmp.types.vim') +222.486 000.614 000.088: require('cmp.types') +222.558 000.068 000.068: require('cmp.utils.highlight') +222.684 000.058 000.058: require('cmp.utils.debug') +222.699 000.136 000.078: require('cmp.utils.autocmd') +223.440 001.744 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +223.708 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +224.265 000.243 000.243: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +224.744 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer/plugin/nvim-lsp-installer.vim +225.221 000.152 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +226.304 000.080 000.080: require('nvim-treesitter.tsrange') +226.375 000.063 000.063: require('nvim-treesitter.caching') +226.395 000.257 000.113: require('nvim-treesitter.query') +226.423 000.394 000.137: require('nvim-treesitter.configs') +226.435 000.486 000.092: require('nvim-treesitter.info') +226.559 000.120 000.120: require('nvim-treesitter.shell_command_selectors') +226.608 000.850 000.243: require('nvim-treesitter.install') +226.680 000.067 000.067: require('nvim-treesitter.statusline') +226.764 000.079 000.079: require('nvim-treesitter.query_predicates') +226.771 001.082 000.087: require('nvim-treesitter') +228.041 000.342 000.342: require('vim.treesitter.highlighter') +228.350 000.802 000.461: require('nvim-treesitter.highlight') +228.990 003.358 001.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +229.487 000.218 000.218: require('treesitter-context') +229.498 000.262 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +229.869 000.082 000.082: require('nvim-treesitter-refactor') +230.155 000.393 000.311: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +230.535 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +230.984 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +231.332 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +231.669 000.028 000.028: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +232.027 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +233.279 000.677 000.677: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +233.906 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +234.199 000.032 000.032: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +234.492 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +236.377 010.537: loading packages +237.770 000.206 000.206: require('cmp.utils.char') +237.795 000.307 000.101: require('cmp.utils.str') +237.874 000.073 000.073: require('cmp.utils.pattern') +238.114 000.058 000.058: require('cmp.utils.buffer') +238.126 000.165 000.107: require('cmp.utils.keymap') +238.139 000.259 000.095: require('cmp.utils.feedkeys') +238.243 000.100 000.100: require('cmp.utils.async') +238.378 000.062 000.062: require('cmp.utils.cache') +238.386 000.137 000.075: require('cmp.context') +238.631 000.076 000.076: require('cmp.config.mapping') +238.815 000.092 000.092: require('cmp.config.compare') +238.825 000.186 000.094: require('cmp.config.default') +238.903 000.422 000.160: require('cmp.config') +239.078 000.067 000.067: require('cmp.matcher') +239.092 000.184 000.117: require('cmp.entry') +239.109 000.720 000.114: require('cmp.source') +239.317 000.061 000.061: require('cmp.utils.event') +239.485 000.088 000.088: require('cmp.utils.window') +239.495 000.172 000.084: require('cmp.view.docs_view') +239.626 000.127 000.127: require('cmp.view.custom_entries_view') +239.733 000.101 000.101: require('cmp.view.wildmenu_entries_view') +239.821 000.083 000.083: require('cmp.view.native_entries_view') +239.912 000.085 000.085: require('cmp.view.ghost_text_view') +239.931 000.818 000.189: require('cmp.view') +240.078 002.714 000.300: require('cmp.core') +240.402 000.068 000.068: require('cmp.config.sources') +240.473 000.062 000.062: require('cmp.config.window') +240.589 003.405 000.561: require('cmp') +240.880 000.061 000.061: require('cmp_buffer.timer') +240.889 000.145 000.084: require('cmp_buffer.buffer') +240.898 000.225 000.079: require('cmp_buffer.source') +240.903 000.308 000.083: require('cmp_buffer') +240.932 003.863 000.149: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +241.333 000.156 000.156: require('cmp_cmdline') +241.367 000.241 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +241.724 000.072 000.072: require('cmp_nvim_lsp.source') +241.735 000.152 000.080: require('cmp_nvim_lsp') +241.792 000.253 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +242.117 000.119 000.119: require('cmp_path') +242.152 000.200 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +244.719 000.990 000.990: require('vim.lsp.protocol') +245.045 000.318 000.318: require('vim.lsp._snippet') +245.341 000.289 000.289: require('vim.highlight') +245.373 002.812 001.214: require('vim.lsp.util') +245.381 003.021 000.210: require('cmp_luasnip') +245.454 003.140 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +245.540 001.468: loading after plugins +245.570 000.029: inits 3 +245.584 000.014: reading ShaDa +246.009 000.071 000.071: require('luasnip.loaders._caches') +246.125 000.109 000.109: require('luasnip.util.path') +246.226 000.094 000.094: require('luasnip.loaders.util') +246.457 000.106 000.106: require('luasnip.loaders') +246.497 000.264 000.159: require('luasnip') +246.504 000.653 000.114: require('luasnip.loaders.from_lua') +246.720 000.069 000.069: require('luasnip.nodes.snippetProxy') +246.733 000.169 000.100: require('luasnip.loaders.from_snipmate') +246.974 000.094 000.094: require('luasnip.loaders.from_vscode') +247.013 000.513: opening buffers +247.262 000.249: BufEnter autocommands +247.269 000.007: editing files in windows +337.636 000.735 000.735: require('vim.diagnostic') +339.538 000.687 000.687: require('nvim-web-devicons') diff --git a/lua/utils.lua b/lua/utils.lua new file mode 100644 index 0000000..ab1473f --- /dev/null +++ b/lua/utils.lua @@ -0,0 +1,66 @@ +local fn = vim.fn + +local M = {} + +function M.executable(name) + if fn.executable(name) > 0 then + return true + end + + return false +end + +--- check whether a feature exists in Nvim +--- @feat: string +--- the feature name, like `nvim-0.7` or `unix`. +--- return: bool +M.has = function(feat) + if fn.has(feat) == 1 then + return true + end + + return false +end + +--- Create a dir if it does not exist +function M.may_create_dir(dir) + local res = fn.isdirectory(dir) + + if res == 0 then + fn.mkdir(dir, "p") + end +end + +function M.get_nvim_version() + local actual_ver = vim.version() + + local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch) + return nvim_ver_str +end + +--- Generate random integers in the range [Low, High], inclusive, +--- adapted from https://stackoverflow.com/a/12739441/6064933 +--- @low: the lower value for this range +--- @high: the upper value for this range +function M.rand_int(low, high) + -- Use lua to generate random int, see also: https://stackoverflow.com/a/20157671/6064933 + math.randomseed(os.time()) + + return math.random(low, high) +end + +--- Select a random element from a sequence/list. +--- @seq: the sequence to choose an element +function M.rand_element(seq) + local idx = M.rand_int(1, #seq) + + return seq[idx] +end + +function M.add_pack(name) + local status, error = pcall(vim.cmd, "packadd " .. name) + + return status +end + +return M diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..1cfd68b --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,158 @@ +--[[init.]] +-- ========================================================================== -- +-- == DEPENDENCIES == -- +-- ========================================================================== -- + +-- ripgrep - https://github.com/BurntSushi/ripgrep +-- fd - https://github.com/sharkdp/fd +-- git - https://git-scm.com/ +-- make - https://www.gnu.org/software/make/ +-- c compiler - gcc or tcc or zig + +-- Initialize config with this one liner in the terminal +--nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit' +-- +--local impatient_ok, impatient = pcall(require, "impatient") +--if impatient_ok then +-- impatient.enable_profile() +--end +--local stdpath = vim.fn.stdpath +local api = vim.api +local utils = require("utils") + +-- check if we have the latest stable version of nvim +local expected_ver = "0.8.0" +local nvim_ver = utils.get_nvim_version() + +if nvim_ver ~= expected_ver then + local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) + api.nvim_err_writeln(msg) + return +end +-- schedule reading shadafile to improve the startup time +vim.opt.shadafile = "NONE" +vim.schedule(function() + vim.opt.shadafile = "" + vim.cmd("silent! rsh") +end) +-- IMPORTS +require("impatient") + +require("utils") +require("keys") -- Keymaps +require("opts") -- Options +require("pack") -- Plugins +--require("mods") -- Modules/functions +--require("deps") -- Plugins +require("plugins.treesitter") +require("plugins.telescope") +require("plugins.nvim-tree") +--require("scripts") +require("plugins.cmp") +require("plugins.toggleterm") +--require("plugins.floatterm") +require("plugins.autopairs") +--require("plugins.vimspector") +require("plugins.mason") +--require("plugins.dap") +require("plugins.colorizer") +require("plugins.prettier") +require("plugins.git") +require("plugins.gitsigns") +require("plugins.neoscroll") +require("plugins.lsp") +--require("plugins.lspconfig") +--require("plugins.lspsaga") +--require("plugins.lspkind") +--require("plugins.lsp-colors") +require("plugins.null-ls") +require("plugins.web-devicons") +require("plugins.zen-mode") +require("plugins.colorscheme") +--vim.opt.laststatus = 3 + +require("plugins.heirline") +--require("plugins.lualine") +--require("plugins.tabline") +--require("plugins.bufferline") +--require("plugins.airline") +--require("plugins.feline") +--require("plugins.winbar") + +---- Hide statusline by setting laststatus and cmdheight to 0. +--vim.o.ls = 0 +--vim.o.ch = 0 +-- +---- Set the winbar to the statusline. +--vim.o.wbr = vim.o.stl +-- +---- With vertical splits, the statusline would still show up at the +---- bottom of the split. A quick fix is to just set the statusline +---- to empty whitespace (it can't be an empty string because then +---- it'll get replaced by the default stline). +--vim.o.stl = " " + +--for builtin, status in pairs({ +-- ["2html_plugin"] = 1, +-- ["getscript"] = 1, +-- ["getscriptPlugin"] = 1, +-- ["gzip"] = 1, +-- ["logipat"] = 1, +-- ["netrwPlugin"] = 1, +-- ["tar"] = 1, +-- ["tarPlugin"] = 1, +-- ["rrhelper"] = 1, +-- ["vimball"] = 1, +-- ["vimballPlugin"] = 1, +-- ["zip"] = 1, +-- ["zipPlugin"] = 1, +-- ["tutor_mode_plugin"] = 1, +-- ["fzf"] = 1, +-- ["spellfile_plugin"] = 1, +-- ["sleuth"] = 1, +--}) do +-- vim.g["loaded_" .. builtin] = status +--end + +--local core_conf_files = { +-- "globals.lua", -- some global settings +-- "options.vim", -- setting options in nvim +-- "autocommands.vim", -- various autocommands +-- "mappings.lua", -- all the user-defined mappings +-- "plugins.vim", -- all the plugins installed and their configurations +-- "colorschemes.lua", -- colorscheme settings +--} +-- +---- source all the core config files +--for _, name in ipairs(core_conf_files) do +-- local path = string.format("%s/core/%s", vim.fn.stdpath("config"), name) +-- local source_cmd = "source " .. path +-- vim.cmd(source_cmd) +--end + +local builtins = { + "gzip", + "zip", + "zipPlugin", + "tar", + "tarPlugin", + "getscript", + "getscriptPlugin", + "vimball", + "vimballPlugin", + "2html_plugin", + --"matchit", + --"matchparen", + "logiPat", + "rrhelper", + "netrw", + "netrwPlugin", + "netrwSettings", + "netrwFileHandlers", +} + +for _, plugin in ipairs(builtins) do + vim.g["loaded_" .. plugin] = 1 +end +vim.g.do_filetype_nvim = 1 +vim.g.did_load_filetypes = 0 diff --git a/nvim/lua/keys.lua b/nvim/lua/keys.lua new file mode 100644 index 0000000..fc28e52 --- /dev/null +++ b/nvim/lua/keys.lua @@ -0,0 +1,493 @@ +--[[ key.lua ]] + +-- Shorten function name +local map = vim.api.nvim_set_keymap + +local function new_desc(d) + return { desc = d } +end + +local d = new_desc + +local opts = { noremap = true, silent = true } + +local term_opts = { silent = true } + +--------------- Standard Operations --------------- +-- Semi-colon as leader key +vim.g.mapleader = ";" +--vim.g.maplocalleader = ";" + +-- "jj" to exit insert-mode +map("i", "jj", "", opts) + +-- save quickly +map("n", ";w", ":w", d("Save buffer")) + +--Easier split navigations, just ctrl-j instead of ctrl-w then j +map("n", "", "", opts) +map("n", "", "", opts) +map("n", "", "", opts) +map("n", "", "", opts) + +-- Combine buffers list with buffer name +map("n", "b", ":buffers:buffer", opts) + +-- Map buffer next, prev and delete to +map("n", "n", ":bn", opts) +map("n", "p", ":bp", opts) +map("n", "d", ":bd", opts) + +-- Set alt + j/k to switch lines of texts or simply move them +map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) +map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) + +vim.cmd([[ + inoremap + inoremap + inoremap + inoremap +]]) +-- move block easily +map("n", "<", "<<", d("Decrease indent")) +map("n", ">", ">>", d("Increase indent")) +map("x", "<", "", ">gv", d("Decrease indent")) + +-- Resize Panes +map("n", "+", ":resize +5", opts) +map("n", "-", ":resize -5", opts) +map("n", "<", ":vertical resize +5", opts) +map("n", ">", ":vertical resize -5", opts) +map("n", "=", "=", opts) + +-- New tab +map("n", "e", ":tabedit", opts) + +-- create tab like window +map("n", "h", ":tabprevious", d("Goto previous tab")) +map("n", "l", ":tabnext", d("Goto next tab")) +map("n", "n", ":tabnew", d("Create a new tab")) + +-- Vim TABs +map("n", "1", "1gt", opts) +map("n", "2", "2gt", opts) +map("n", "3", "3gt", opts) +map("n", "4", "4gt", opts) +map("n", "5", "5gt", opts) +map("n", "6", "6gt", opts) +map("n", "7", "7gt", opts) +map("n", "8", "8gt", opts) +map("n", "9", "9gt", opts) +map("n", "0", "10gt", opts) + +-- Split window +map("n", "h", ":split", opts) +map("n", "v", ":vsplit", opts) +map("n", "c", "c", opts) + +-- Toggle set number +map("n", "$", ":NumbersToggle", opts) +map("n", "%", ":NumbersOnOff", opts) + +-- Change mode to executable +map("n", "x", ":!chmod +x %", opts) + +-- Paste without replace clipboard +map("v", "p", '"_dP', opts) + +-- Paste end of line +--map("n", ",", "$p", opts) +vim.cmd([[ + nmap , $p +]]) + +-- Select entire buffer +map("v", "", "ggG", opts) + +-- Delete without changing the registers +--map('n', 'x', '"_x', opts) + +-- Select all text in current buffer +--map('n', 'a', ':keepjumps normal! ggVG') + +-- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in +-- visual mode to select text to swap with +map("v", "", "`.``gvP``P", opts) + +-- Search and replace +map("v", "sr", 'y:%s/"//gc', opts) +--vnoremap ; :call Get_visual_selection() +-- +--function! Get_visual_selection() +-- " Why is this not a built-in Vim script function?! +-- let [lnum1, col1] = getpos("'<")[1:2] +-- let [lnum2, col2] = getpos("'>")[1:2] +-- let lines = getline(lnum1, lnum2) +-- let lines[-1] = lines[-1][: col2 - (&selection == 'inclusive' ? 1 : 2)] +-- let lines[0] = lines[0][col1 - 1:] +-- let selection = join(lines,'\n') +-- let change = input('Change the selection with: ') +-- execute ":%s/".selection."/".change."/g" +--endfunction +vim.cmd([[ +let s:hidden_all = 0 +function! ToggleHiddenAll() + if s:hidden_all == 0 + let s:hidden_all = 1 + set noshowmode + set noruler + set laststatus=0 + set noshowcmd + else + let s:hidden_all = 0 + set showmode + set ruler + set laststatus=2 + set showcmd + endif +endfunction +nnoremap :call ToggleHiddenAll() +]]) + +vim.cmd([[ + map s :up \| saveas! %:p:r-=strftime("%y.%m.%d-%H:%M")-bak.=expand("%:e") \| 3sleep \| e # +]]) + +-------------- Telescope -------------- +--Telescope find_files cwd=.. +map("n", "fc", "lua require('telescope.builtin').commands()", opts) +map( + "n", + "ft", + "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))", + opts +) + +map("n", "fg", "lua require('telescope.builtin').live_grep()", opts) +map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()", opts) + +--map("n", "fz", ":FZF", opts) +--map("t", [[]], [[]], opts) +--map("n", "ff", ":NvimTreeToggle", {}) +map("n", "ff", ":NvimTreeToggle", {}) +-- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) +-- Find files in config dirs +--key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) +map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) +map("n", "ft", "lua require('plugins.telescope').file_explorer({})", opts) +map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) +map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})", opts) +-- registers picker +map("n", "r", "lua require('telescope.builtin').registers({})", opts) +-- find files including gitignored +--keymap( +-- "n", +-- "fg", +-- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})", opts) +-- open available commands & run it +map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})", opts) + +-------------- Autopairs -------------- +Toggle_autopairs = function() + local ok, autopairs = pcall(require, "nvim-autopairs") + if ok then + if autopairs.state.disabled then + autopairs.enable() + print("autopairs on") + else + autopairs.disable() + print("autopairs off") + end + else + print("autopairs not available") + end +end +map("n", "ww", ":lua Toggle_autopairs()", term_opts) + +-------------- Functions -------------- +-- Toggle transparency +vim.cmd([[ + let t:is_transparent = 0 + function! Toggle_transparent_background() + if t:is_transparent == 0 + hi Normal guibg=#111111 ctermbg=black + let t:is_transparent = 1 + else + hi Normal guibg=NONE ctermbg=NONE + let t:is_transparent = 0 + endif + endfunction + nnoremap tb :call Toggle_transparent_background() +]]) +--keymap('n', 'tb', ':Toggle_transparent_background', opts) + +-- Toggle zoom +vim.cmd([[ + function! s:ZoomToggle() abort + if exists('t:zoomed') && t:zoomed + execute t:zoom_winrestcmd + let t:zoomed = 0 + else + let t:zoom_winrestcmd = winrestcmd() + resize + vertical resize + let t:zoomed = 1 + endif + endfunction + command! ZoomToggle call s:ZoomToggle() + ]]) +map("n", "z", ":ZoomToggle", opts) +-- "Zoom" a split window into a tab and/or close it +--keymap('n', ',', ':tabnew %', opts) +--keymap('n', '.', ':tabclose', opts) + +-- Open last closed buffer +vim.cmd([[ + function! OpenLastClosed() + let last_buf = bufname('#') + if empty(last_buf) + echo "No recently closed buffer found" + return + endif + let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ") + if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n') + return + endif + if result ==# 't' + execute 'tabnew' + elseif result ==# 'v' + execute "vsplit" + elseif result ==# 's' + execute "split" + endif + execute 'b ' . last_buf + endfunction + ]]) +map("n", "", ":call OpenLastClosed() ", opts) + +-- Tabularize +vim.cmd([[ + vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" + nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" + "nnoremap i mc40A 080lDgelD`cP + "vnoremap ii mc0f-20i`cdt=j +]]) + +vim.cmd([[ + " Start interactive EasyAlign in visual mode (e.g. vipga) + xmap ga (EasyAlign) + " Start interactive EasyAlign for a motion/text object (e.g. gaip) + nmap ga (EasyAlign) + if !exists('g:easy_align_delimiters') + let g:easy_align_delimiters = {} + endif + let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } + nnoremap 21A d21\| + imap a +]]) +--:'<,'>EasyAlign /--/ +--EasyAlign /--/ +--:'<,'>Tabularize /-- + +map("n", ",", ":hide", opts) +map("n", ".", ":unhide", opts) + +--" Clean trailing whitespace +--nnoremap ww mz:%s/\s\+$//:let @/=''`z + +-- Save with root permission (not working for now) +--vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) + +-- Copy and Paste with and +--keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'', opts) +-- Use command :Vb for Visual Block or since is used for Copy +--command! Vb normal! +-- Map to save/edit a root permission/read-only file, only works in +-- traditional vim and not neovim +--keymap('c', 'w!! %!sudo tee > /dev/null', opts) +--" Copying text to the system clipboard. +--" +--" For some reason Vim no longer wants to talk to the OS X pasteboard through "*. +--" Computers are bullshit. +--function! g:FuckingCopyTheTextPlease() +-- let old_z = @z +-- normal! gv"zy +-- call system('pbcopy', @z) +-- let @z = old_z +--endfunction +--noremap p :silent! set paste"*p:set nopaste +--" noremap p mz:r!pbpaste`z +--vnoremap y :call g:FuckingCopyTheTextPlease() + +--" Indent/dedent/autoindent what you just pasted. +--nnoremap > V`]< +--nnoremap > V`]> +--nnoremap =- V`]= + +--" Keep the cursor in place while joining lines +--nnoremap J mzJ`z + +--" Toggle [i]nvisible characters +--nnoremap i :set list! +-- +--" Unfuck my screen +--nnoremap U :syntax sync fromstart:redraw! + +--" Ranger +--nnoremap r :silent !ranger %:h:redraw! +--nnoremap R :silent !ranger:redraw! +-- +--" Insert Mode Completion {{{ +-- +--inoremap +--inoremap +--inoremap +---- Open the current file in the default program (on Mac this should just be just `open`) +--keymap('n', 'x', ':!xdg-open %') + +--keymap("n", "ff", "lua require('telescope.builtin').find_files()", opts) +--keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()", opts) +--keymap('n', 'k', ':nohlsearch') +-- +--"This unsets the "last search pattern" register by hitting return +vim.cmd([[ + nnoremap :noh +]]) + +--keymap('n', 'Q', ':bufdo bdelete') +-- +---- Allow gf to open non-existent files +--keymap('', 'gf', ':edit ') +-- +---- Reselect visual selection after indenting +--keymap('v', '<', '', '>gv') +-- +---- Maintain the cursor position when yanking a visual selection +---- http://ddrscott.github.io/blog/2016/yank-without-jank/ +--keymap('v', 'y', 'myy`y') +--keymap('v', 'Y', 'myY`y') +--keymap("n", "", ":q", opts) +--keymap("n", "", ":qa!", opts) + +--" Sort lines +--nnoremap s vip:!sort +--vnoremap s :!sort +-- +--" Tabs +--nnoremap ( :tabprev +--nnoremap ) :tabnext +-- +--" Wrap +--nnoremap W :set wrap! + +--set foldlevelstart=0 +-- +--" Space to toggle folds. +--nnoremap za +--vnoremap za +--" Make zO recursively open whatever fold we're in, even if it's partially open. +--nnoremap zO zczO + +-- Packer +--maps.n["pc"] = { "PackerCompile", desc = "Packer Compile" } +--maps.n["pi"] = { "PackerInstall", desc = "Packer Install" } +--maps.n["ps"] = { "PackerSync", desc = "Packer Sync" } +--maps.n["pS"] = { "PackerStatus", desc = "Packer Status" } +--maps.n["pu"] = { "PackerUpdate", desc = "Packer Update" } +-- NeoTree +--if is_available "neo-tree.nvim" then +-- keymaps.n["e"] = { "Neotree toggle", desc = "Toggle Explorer" } +-- keymaps.n["o"] = { "Neotree focus", desc = "Focus Explorer" } +--end +-- Alpha +--if is_available "alpha-nvim" then maps.n["d"] = { "Alpha", desc = "Alpha Dashboard" } end + +-- Package Manager +-- TODO: v2 rework these key bindings to be more general +--if is_available "mason.nvim" then maps.n["lI"] = { "Mason", desc = "LSP installer" } end +-- Telescope +--if is_available "telescope.nvim" then +-- maps.n["fw"] = { function() require("telescope.builtin").live_grep() end, desc = "Search words" } +-- maps.n["fW"] = { +-- function() +-- require("telescope.builtin").live_grep { +-- additional_args = function(args) return vim.list_extend(args, { "--hidden", "--no-ignore" }) end, +-- } +-- end, +-- desc = "Search words in all files", +-- } +-- maps.n["gt"] = { function() require("telescope.builtin").git_status() end, desc = "Git status" } +-- maps.n["gb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } +-- maps.n["gc"] = { function() require("telescope.builtin").git_commits() end, desc = "Git commits" } +-- maps.n["ff"] = { function() require("telescope.builtin").find_files() end, desc = "Search files" } +-- maps.n["fF"] = { +-- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, +-- desc = "Search all files", +-- } +-- maps.n["fb"] = { function() require("telescope.builtin").buffers() end, desc = "Search buffers" } +-- maps.n["fh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } +-- maps.n["fm"] = { function() require("telescope.builtin").marks() end, desc = "Search marks" } +-- maps.n["fo"] = { function() require("telescope.builtin").oldfiles() end, desc = "Search history" } +-- maps.n["fc"] = +-- { function() require("telescope.builtin").grep_string() end, desc = "Search for word under cursor" } +-- maps.n["sb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } +-- maps.n["sh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } +-- maps.n["sm"] = { function() require("telescope.builtin").man_pages() end, desc = "Search man" } +-- maps.n["sn"] = +-- { function() require("telescope").extensions.notify.notify() end, desc = "Search notifications" } +-- maps.n["sr"] = { function() require("telescope.builtin").registers() end, desc = "Search registers" } +-- maps.n["sk"] = { function() require("telescope.builtin").keymaps() end, desc = "Search keymaps" } +-- maps.n["sc"] = { function() require("telescope.builtin").commands() end, desc = "Search commands" } +-- maps.n["ls"] = { +-- function() +-- local aerial_avail, _ = pcall(require, "aerial") +-- if aerial_avail then +-- require("telescope").extensions.aerial.aerial() +-- else +-- require("telescope.builtin").lsp_document_symbols() +-- end +-- end, +-- desc = "Search symbols", +-- } +-- maps.n["lR"] = { function() require("telescope.builtin").lsp_references() end, desc = "Search references" } +-- maps.n["lD"] = { function() require("telescope.builtin").diagnostics() end, desc = "Search diagnostics" } +--end +-- +---- Terminal +--if is_available "toggleterm.nvim" then +-- local toggle_term_cmd = astronvim.toggle_term_cmd +-- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } +-- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } +-- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } +-- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } +-- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } +-- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } +-- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } +-- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } +--end +-- +---- Stay in indent mode +--maps.v["<"] = { ""] = { ">gv", desc = "indent line" } +-- +---- Improved Terminal Mappings +--maps.t[""] = { "", desc = "Terminal normal mode" } +--maps.t["jk"] = { "", desc = "Terminal normal mode" } +--maps.t[""] = { "h", desc = "Terminal left window navigation" } +--maps.t[""] = { "j", desc = "Terminal down window navigation" } +--maps.t[""] = { "k", desc = "Terminal up window navigation" } +--maps.t[""] = { "l", desc = "Terminal right window naviation" } +-- LSP Installer +--if is_available "mason-lspconfig.nvim" then maps.n["li"] = { "LspInfo", desc = "LSP information" } end + +-- ALE: toggle _ALE activity +--keymap('n', 'a',[[:ALEToggle]]) + +--keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})', opts) +-- ":lua require('neogen').generate()", opts) +--keymap("n", "ww", ":set wrap!", opts) +-- diff --git a/nvim/lua/mods.lua b/nvim/lua/mods.lua new file mode 100644 index 0000000..b8866fc --- /dev/null +++ b/nvim/lua/mods.lua @@ -0,0 +1,138 @@ +vim.cmd([[ + function RandomColorScheme() + let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") + exe 'so ' . mycolors[localtime() % len(mycolors)] + unlet mycolors + endfunction + + call RandomColorScheme() + + :command NewColor call RandomColorScheme() +]]) + +--vim.cmd([[ +-- function RandomColorSchemeMyPicks() +-- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"] +-- let mypick = mypicks[localtime() % len(mypicks)] +-- echom mypick +-- execute 'colo' mypick +-- endfunction +-- +-- command NewColor call RandomColorSchemeMyPicks() +-- +-- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors) +-- if (s:use_gui) +-- call RandomColorSchemeMyPicks() +-- endif +--]]) + +vim.cmd([[ + let g:fzf_history_dir = '~/.local/share/fzf-history' + map z :FZF + map a :Files + map l :Lines + map L :BLines + map B :Buffers + map h :History: + nnoremap g :Rg + "nnoremap t :Tags + nnoremap m :Marks + " This is the default extra key bindings + let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-y': 'vsplit' } + let g:fzf_tags_command = 'ctags -R' + " Border color + let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } + let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' + let $FZF_DEFAULT_COMMAND="rg --files --hidden" + " Customize fzf colors to match your color scheme + let g:fzf_colors = + \ { 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Comment'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'Statement'], + \ 'info': ['fg', 'PreProc'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Conditional'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + " Get Files + command! -bang -nargs=? -complete=dir Files + \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) + " Get text in files with Rg + command! -bang -nargs=* Rg + \ call fzf#vim#grep( + \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, + \ fzf#vim#with_preview(), 0) + " Ripgrep advanced + function! RipgrepFzf(query, fullscreen) + let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' + let initial_command = printf(command_fmt, shellescape(a:query)) + let reload_command = printf(command_fmt, '{q}') + let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} + call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) + endfunction + command! -nargs=* -bang RG call RipgrepFzf(, 0) + " Git grep + command! -bang -nargs=* GGrep + \ call fzf#vim#grep( + \ 'git grep --line-number '.shellescape(), 0, + \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) + command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) +]]) + +vim.cmd([[ + " Enable mouse scrollback + set mouse=a + tnoremap + tnoremap + function! ClearTerminal() + set scrollback=1 + let &g:scrollback=1 + echo &scrollback + call feedkeys("\i") + call feedkeys("clear\") + call feedkeys("\\") + call feedkeys("\i") + sleep 100m + let &scrollback=s:scroll_value + endfunction +]]) + +vim.cmd([[ + " :Rename {newname} + function! RenameFile() + let old_name = expand('%') + let new_name = input('New file name: ', expand('%'), 'file') + if new_name != '' && new_name != old_name + exec ':saveas ' . new_name + exec ':silent !rm ' . old_name + redraw! + endif + endfunction + map re :call RenameFile() +]]) + +--vim.cmd([[ +-- " Markdown Settings +-- autocmd BufNewFile,BufReadPost *.md set filetype=markdown +-- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug'] +-- let g:markdown_minlines = 100 +-- let g:instant_markdown_autostart = 0 +--]]) +-- +--vim.cmd([[ +-- " On The Fly Table mode +-- function! s:isAtStartOfLine(mapping) +-- let text_before_cursor = getline('.')[0 : col('.')-1] +-- let mapping_pattern = '\V' . escape(a:mapping, '\') +-- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\') +-- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$') +-- endfunction +--]]) diff --git a/nvim/lua/opts.lua b/nvim/lua/opts.lua new file mode 100644 index 0000000..d425f22 --- /dev/null +++ b/nvim/lua/opts.lua @@ -0,0 +1,179 @@ +--[[ opts.lua ]] + +vim.cmd([[ + "filetype plugin indent on " Load indent files, to automatically do language-dependent indenting. + "autocmd BufEnter * :syntax sync fromstart + "syntax enable + let g:clipbrdDefaultReg = '+' + "set nocompatible + "autocmd FileType lua set comments=s1:---,m:--,ex:-- +]]) + +-- Environment +vim.opt.shell = "zsh" -- +vim.scriptencoding = "utf-8" -- +vim.opt.encoding = "utf-8" -- +vim.opt.fileencoding = "utf-8" -- +vim.g.python3_host_prog = "/usr/bin/python3" -- +vim.g.loaded_python3_provider = 1 -- +vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file +--vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" -- + +vim.opt.termguicolors = true +-- Behaviour +vim.opt.clipboard:append({ "unnamedplus" }) -- +vim.opt.backspace = { "start", "eol", "indent" } -- Make backspace work as you would expect. +vim.opt.hidden = true -- Switch between buffers without having to save first. +vim.opt.splitbelow = true -- make split put the new buffer below the current buffer +vim.opt.splitright = true -- make vsplit put the new buffer on the right of the current buffer +vim.opt.scrolloff = 8 -- +vim.opt.sidescrolloff = 8 -- how many lines to scroll when using the scrollbar +vim.opt.autoread = true -- reload files if changed externally +vim.opt.display = "lastline" -- Show as much as possible of the last line. +vim.opt.inccommand = "split" -- +vim.opt.ttyfast = true -- Faster redrawing. +vim.opt.lazyredraw = true -- Only redraw when necessary +vim.opt.keywordprg = ":help" -- :help options +--vim.opt.ruler = true -- +vim.opt.errorbells = false -- +vim.opt.list = true -- Show non-printable characters. +vim.opt.showmatch = true -- +vim.opt.matchtime = 3 -- +vim.opt.showbreak = "↪ " -- +vim.opt.linebreak = true -- +vim.opt.exrc = true -- +--vim.opt.autochdir = true -- or use this to use <:e> to create a file in current directory +vim.opt.autoread = true -- if a file is changed outside of vim, automatically reload it without asking +--vim.opt.notimeout = true -- Timeout on keycodes and not mappings +vim.opt.ttimeout = true -- Makes terminal vim work sanely +vim.opt.ttimeoutlen = 10 -- +--vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds) +--vim.cmd([[set diffopt = vertical = true]]) -- diffs are shown side-by-side not above/below + +-- Indent/tab +vim.opt.breakindent = true -- +vim.opt.autoindent = true -- Indent according to previous line. +vim.opt.smarttab = false -- +vim.opt.tabstop = 2 -- +vim.opt.expandtab = true -- Indent according to previous line. +--vim.opt.expandtab = true -- Use spaces instead of tabs. +vim.opt.softtabstop = 2 -- Tab key indents by 2 spaces. +vim.opt.shiftwidth = 2 -- >> indents by 2 spaces. +vim.opt.shiftround = true -- >> indents to next multiple of 'shiftwidth'. +vim.opt.smartindent = true -- smart indent + +-- Column/statusline/Cl +vim.opt.number = true -- +--vim.opt.title = true -- +--vim.opt.colorcolumn = "+1" -- +--vim.opt.signcolumn = "yes:1" -- always show the sign column +vim.opt.signcolumn = "number" +--vim.opt.signcolumn = "no" -- +vim.opt.laststatus = 3 -- " Always show statusline. +vim.opt.showmode = true -- Show current mode in command-line, example: -- INSERT -- mode +vim.opt.showcmd = true -- Show the command in the status bar +vim.opt.cmdheight = 1 -- +--vim.opt.cmdheight = 0 -- +vim.opt.report = 0 -- Always report changed lines. +--local autocmd = vim.api.nvim_create_autocmd +--autocmd("bufenter", { +-- pattern = "*", +-- callback = function() +-- if vim.bo.ft ~= "terminal" then +-- vim.opt.statusline = "%!v:lua.require'ui.statusline'.run()" +-- else +-- vim.opt.statusline = "%#normal# " +-- end +-- end, +--}) + +-- Backup/undo +vim.opt.backup = false -- +--vim.opt.noswapfile = true -- +--vim.opt.undofile = true -- +vim.opt.backupskip = { "/tmp/*", "/private/tmp/*" } -- + +-- Format +vim.opt.textwidth = 80 -- +vim.cmd([[let &t_Cs = "\e[4:3m"]]) -- Undercurl +vim.cmd([[let &t_Ce = "\e[4:0m"]]) -- +vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder +vim.cmd("set whichwrap+=<,>,[,],h,l") -- +vim.cmd([[set iskeyword+=-]]) -- +vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work +vim.opt.wrapscan = true -- " Searches wrap around end-of-file. +--vim.wo.number = true -- +--vim.opt.wrap = false -- No Wrap lines +--vim.opt.foldmethod = 'manual' -- +--vim.opt.foldmethod = "expr" -- +vim.opt.modeline = true -- +vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis) +--vim.opt.nofoldenable = true -- turn folding off +vim.opt.foldenable = false -- turn folding off + +-- Highlights +vim.opt.incsearch = true -- Highlight while searching with / or ?. +vim.opt.hlsearch = true -- Keep matches highlighted. +vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital in search +vim.opt.smartcase = true -- smart case +vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. +vim.opt.winblend = 0 -- +vim.opt.wildoptions = "pum" -- +vim.opt.pumblend = 5 -- +vim.opt.pumheight = 10 -- pop up menu height + +-- Better Completion +vim.opt.complete = { ".", "w", "b", "u", "t" } -- +--vim.opt.completeopt = { "longest,menuone,preview" } -- +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} +--vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp +--vim.opt.completeopt = { "menu", "menuone", "noselect" } -- + +-- Wildmenu completion -- +vim.opt.wildmenu = true -- +vim.opt.wildmode = { "list:longest" } -- +vim.opt.wildignore:append({ ".hg", ".git", ".svn" }) -- Version control +vim.opt.wildignore:append({ "*.aux", "*.out", "*.toc" }) -- LaTeX intermediate files +vim.opt.wildignore:append({ "*.jpg", "*.bmp", "*.gif", "*.png", "*.jpeg" }) -- binary images +vim.opt.wildignore:append({ "*.o", "*.obj", "*.exe", "*.dll", "*.manifest" }) -- compiled object files +vim.opt.wildignore:append({ "*.spl" }) -- compiled spelling word lists +vim.opt.wildignore:append({ "*.sw?" }) -- Vim swap files +vim.opt.wildignore:append({ "*.DS_Store" }) -- OSX bullshit +vim.opt.wildignore:append({ "*.luac" }) -- Lua byte code +vim.opt.wildignore:append({ "migrations" }) -- Django migrations +vim.opt.wildignore:append({ "*.pyc" }) -- Python byte code +vim.opt.wildignore:append({ "*.orig" }) -- Merge resolution files +vim.opt.wildignore:append({ "*/node_modules/*" }) -- + +-- Cursorline +vim.cmd([[ " Only show cursorline in the current window and in normal mode + augroup cline + au! + au WinLeave,InsertEnter * set nocursorline + au WinEnter,InsertLeave * set cursorline + augroup END +]]) +vim.opt.cursorline = true -- +vim.opt.guicursor = "i:ver100,r:hor100" -- + +-- Trailing whitespace +vim.cmd([[ " Only show in insert mode + augroup trailing + au! + au InsertEnter * :set listchars-=trail:⌴ + au InsertLeave * :set listchars+=trail:⌴ + augroup END +]]) +vim.opt.listchars = { tab = "▸ ", trail = "·" } -- +vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer + +-- Line Return +vim.cmd([[ " Return to the same line when we reopen a file + augroup line_return + au! + au BufReadPost * + \ if line("'\"") > 0 && line("'\"") <= line("$") | + \ execute 'normal! g`"zvzz' | + \ endif + augroup END +]]) diff --git a/nvim/lua/pack.lua b/nvim/lua/pack.lua new file mode 100644 index 0000000..2c105ed --- /dev/null +++ b/nvim/lua/pack.lua @@ -0,0 +1,347 @@ +local utils = require("utils") +local fn = vim.fn + +-- Automatically install packer +local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" +if fn.empty(fn.glob(install_path)) > 0 then + PACKER_BOOTSTRAP = fn.system({ + "git", + "clone", + "--depth", + "1", + "https://github.com/wbthomason/packer.nvim", + install_path, + }) + print("Installing packer close and reopen Neovim...") + vim.cmd([[packadd packer.nvim]]) +end + +-- Autocommand that reloads neovim whenever you save the plugins.lua file +vim.cmd([[ + augroup packer_user_config + autocmd! + autocmd BufWritePost pack.lua source | PackerSync + augroup end +]]) + +-- Use a protected call so we don't error out on first use +local status_ok, packer = pcall(require, "packer") +if not status_ok then + return +end + +-- Have packer use a popup window +packer.init({ + auto_reload_compiled = true, + display = { + open_fn = function() + return require("packer.util").float({ border = "rounded" }) + end, + }, +}) + +-- Install your plugins here +return packer.startup(function(use) + use("wbthomason/packer.nvim") -- Have packer manage itself + + use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins + use("jose-elias-alvarez/null-ls.nvim") + + -- lsp + use { + "williamboman/mason.nvim", + "williamboman/mason-lspconfig.nvim", + "neovim/nvim-lspconfig", + } + require("mason").setup() + local mason_lspconfig = require("mason-lspconfig") + mason_lspconfig.setup({ + ensure_installed = { + "pylsp", + "pyright", + "clangd", + "vim-language-server", + "bash-language-server", + "lua-language-server", + "sumneko_lua", + } + }) + use { "j-hui/fidget.nvim", + config = function() + require("fidget").setup() + end + } + use { "folke/trouble.nvim", + config = function() + require("trouble").setup() + end + } + use({ + "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim + config = function() + require("lsp_lines").setup() + + -- disable virtual_text since it's redundant due to lsp_lines. + vim.diagnostic.config({ + virtual_text = false, + }) + end, + }) + use { "simrat39/symbols-outline.nvim", + config = function() + require("symbols-outline").setup({ + auto_close = true, + }) + end + } + use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } + use "folke/lsp-colors.nvim" + use "mfussenegger/nvim-lint" + use "weilbith/nvim-code-action-menu" + use "simrat39/rust-tools.nvim" + use { "saecki/crates.nvim", + requires = { "nvim-lua/plenary.nvim" }, + config = function() + require("crates").setup() + end, + } + use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't + + -- null-ls + use { "jose-elias-alvarez/null-ls.nvim", + config = function() + require("null-ls").setup({ + sources = { + require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake + } + }) + end + } + use({ + "SmiteshP/nvim-navic", + requires = "neovim/nvim-lspconfig", + }) + + -- nvimlsp plugins + --use({ + -- "williamboman/mason.nvim", + -- config = function() + -- require("mason").setup() + -- require("mason-lspconfig").setup({ + -- ensure_installed = { "sumneko_lua", "clangd", "rust_analyzer" }, + -- }) + -- end, + --}) + --use("williamboman/mason.nvim") + --use("williamboman/mason-lspconfig.nvim") + --use("neovim/nvim-lspconfig") + --use("williamboman/nvim-lsp-installer") + --use("glepnir/lspsaga.nvim") + --use("nvim-lua/lsp-status.nvim") + --use({ + -- "glepnir/lspsaga.nvim", + -- branch = "main", + -- config = function() + -- local saga = require("lspsaga") + + -- saga.init_lsp_saga({ + -- -- your configuration + -- }) + -- end, + --}) + -- use("nvim-lua/popup.nvim") + --use("SmiteshP/nvim-gps") + -- autocomplete plugins + use("hrsh7th/nvim-cmp") + use("hrsh7th/cmp-nvim-lsp") + use("hrsh7th/cmp-buffer") + use("hrsh7th/cmp-path") + use("hrsh7th/cmp-cmdline") + use("onsails/lspkind-nvim") + use("saadparwaiz1/cmp_luasnip") + + -- snippets + use("L3MON4D3/LuaSnip") --snippet engine + use("rafamadriz/friendly-snippets") -- a bunch of snippets to use + --use("github/copilot.vim") + --use({ + --"zbirenbaum/copilot.lua", + --event = { "VimEnter" }, + --config = function() + --vim.defer_fn(function() + --require("plugins.copilot") + --end, 100) + --end, + --}) + --use({ + --"zbirenbaum/copilot-cmp", + --module = "copilot_cmp", + --}) + + -- treesitter plugins + use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) --folding, jumping, refactoring... + use("nvim-treesitter/nvim-treesitter-refactor") + use("nvim-treesitter/nvim-treesitter-context") + --use({ + -- "danymat/neogen", + -- config = function() + -- require("neogen").setup({ snippet_engine = "luasnip" }) + -- end, + -- requires = "nvim-treesitter/nvim-treesitter", + --}) + use({ "junegunn/fzf", run = ":call fzf#install()" }) + -- telescope plugins + use("nvim-telescope/telescope.nvim") + use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) + use("tami5/sqlite.lua") + use("nvim-telescope/telescope-frecency.nvim") + use("nvim-telescope/telescope-ui-select.nvim") + use("nvim-telescope/telescope-media-files.nvim") + use("nvim-telescope/telescope-file-browser.nvim") + -- search emoji and other symbols + use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) + -- statusline plugins + --use("nvim-lualine/lualine.nvim") + --use({ + -- "nvim-lualine/lualine.nvim", + -- requires = { "kyazdani42/nvim-web-devicons", opt = true }, + --}) + --use({ + -- "folke/trouble.nvim", + -- requires = "kyazdani42/nvim-web-devicons", + -- config = function() + -- require("trouble").setup({ + -- -- your configuration comes here + -- -- or leave it empty to use the default settings + -- -- refer to the configuration section below + -- }) + -- end, + --}) + use("rebelot/heirline.nvim") + --use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" }) + --use("itchyny/lightline.vim") + -- debug plugins + --use("puremourning/vimspector") + use("mfussenegger/nvim-dap") + use("rcarriga/nvim-dap-ui") + --use({ + -- "rcarriga/neotest", + -- requires = { + -- "nvim-lua/plenary.nvim", + -- "nvim-treesitter/nvim-treesitter", + -- "antoinemadec/FixCursorHold.nvim", + -- "rcarriga/neotest-python", + -- "rcarriga/neotest-vim-test", + -- "rcarriga/neotest-plenary", + -- "vim-test/vim-test", + -- }, + -- config = function() + -- require("plugins.neotest") + -- end, + --}) + --use("vim-test/vim-test") + --use({ + -- "rcarriga/vim-ultest", + -- requires = { "vim-test/vim-test" }, + -- run = ":UpdateRemotePlugins", + -- config = function() + -- require("plugins.ultest") + -- end, + --}) + -- UI + use("karb94/neoscroll.nvim") + use("folke/which-key.nvim") + use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client + use("norcalli/nvim-colorizer.lua") + use("folke/zen-mode.nvim") + use("romainl/vim-cool") + --use("p00f/nvim-ts-rainbow") + --use("goolord/alpha-nvim") + --use("feline-nvim/feline.nvim") + --use({ "fgheng/winbar.nvim" }) + --use("vim-airline/vim-airline") + --use("kdheepak/tabline.nvim") + -- use({ + -- "kdheepak/tabline.nvim", + -- config = function() + -- require("tabline").setup({ enable = false }) + -- end, + -- requires = { "hoob3rt/lualine.nvim", "kyazdani42/nvim-web-devicons" }, + -- notification plugin + use("rcarriga/nvim-notify") + --use("lukas-reineke/indent-blankline.nvim") + use("kyazdani42/nvim-web-devicons") + -- Colorschemes + use("gruvbox-community/gruvbox") + use("srcery-colors/srcery-vim") + use("tomasr/molokai") + use("ayu-theme/ayu-vim") + --use("sjl/badwolf") + use("joshdick/onedark.vim") + use("everblush/everblush.nvim") + use("EdenEast/nightfox.nvim") + use("bluz71/vim-nightfly-guicolors") + --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" }) + use("jacoborus/tender.vim") + use("sainnhe/sonokai") + use("NTBBloodbath/doom-one.nvim") + + -- Utilities + use("nathom/filetype.nvim") + use("christoomey/vim-tmux-navigator") + --use("preservim/vimux") + use("myusuf3/numbers.vim") + use("windwp/nvim-autopairs") + use("lewis6991/gitsigns.nvim") + use("dinhhuy258/git.nvim") -- For git blame & browse + use("kyazdani42/nvim-tree.lua") + use("numToStr/Comment.nvim") + use("akinsho/toggleterm.nvim") + --use("godlygeek/tabular") + --use("Vonr/align.nvim") + --use("junegunn/vim-easy-align") + --use("dstein64/vim-startuptime") + use("tweekmonster/startuptime.vim") + use("lewis6991/impatient.nvim") + -- use("luukvbaal/stabilize.nvim") + --use({ + -- "ggandor/leap.nvim", + -- config = function() + -- require("leap").set_default_keymaps() + -- end, + --}) + --use("Shatur/neovim-session-manager") + --use("rmagatti/auto-session") + --use("rmagatti/session-lens") + --use("ahmedkhalf/project.nvim") + --use("aserowy/tmux.nvim") + --use("wakatime/vim-wakatime") + --use("tpope/vim-eunuch") + -- Handy unix command inside Vim (Rename, Move etc.) + use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) + --use("tpope/vim-fugitive") + --use("tpope/vim-surround") + --use("tpope/vim-obsession") + --use("tpope/vim-unimpaired") + --use("voldikss/vim-floaterm") + --use("vimpostor/vim-tpipeline") + --use({ + -- "vimwiki/vimwiki", + -- config = function() + -- vim.g.vimwiki_list = { + -- { + -- path = "~/", + -- syntax = "markdown", + -- ext = ".md", + -- }, + -- } + -- vim.g.vimwiki_ext2syntax = { + -- [".md"] = "markdown", + -- [".markdown"] = "markdown", + -- [".mdown"] = "markdown", + -- Automatically set up your configuration after cloning packer.nvim + -- Put this at the end after all plugins + if PACKER_BOOTSTRAP then + require("packer").sync() + end +end) diff --git a/nvim/lua/plugins/airline.lua b/nvim/lua/plugins/airline.lua new file mode 100644 index 0000000..76f3655 --- /dev/null +++ b/nvim/lua/plugins/airline.lua @@ -0,0 +1,9 @@ +-- airline +vim.cmd([[ + let g:airline#extensions#tabline#enabled = 1 + let g:airline#extensions#tabline#show_buffers = 1 + let g:airline_powerline_fonts = 1 + let g:airline#extensions#tabline#buffer_nr_show = 1 + let g:airline#extensions#tagbar#enabled = 0 + let g:airline_theme='onedark' +]]) diff --git a/nvim/lua/plugins/autopairs.lua b/nvim/lua/plugins/autopairs.lua new file mode 100644 index 0000000..577e571 --- /dev/null +++ b/nvim/lua/plugins/autopairs.lua @@ -0,0 +1,33 @@ +-- Setup nvim-cmp. +local status_ok, npairs = pcall(require, "nvim-autopairs") +if not status_ok then + return +end + +npairs.setup { + check_ts = true, + ts_config = { + lua = { "string", "source" }, + javascript = { "string", "template_string" }, + java = false, + }, + disable_filetype = { "TelescopePrompt", "spectre_panel" }, + fast_wrap = { + map = "", + chars = { "{", "[", "(", '"', "'" }, + pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), + offset = 0, -- Offset from pattern match + end_key = "$", + keys = "qwertyuiopzxcvbnmasdfghjkl", + check_comma = true, + highlight = "PmenuSel", + highlight_grey = "LineNr", + }, +} + +local cmp_autopairs = require "nvim-autopairs.completion.cmp" +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end +cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } }) diff --git a/nvim/lua/plugins/bufferline.lua b/nvim/lua/plugins/bufferline.lua new file mode 100644 index 0000000..6488f29 --- /dev/null +++ b/nvim/lua/plugins/bufferline.lua @@ -0,0 +1,323 @@ +require("bufferline").setup({ + options = { + numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, + close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + --indicator = { + -- icon = '', -- this should be omitted if indicator style is not 'icon' + -- style = 'icon', -- | 'underline' | 'none', + --}, + --indicator_icon = " ", + --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + modified_icon = '●', + left_trunc_marker = "", + right_trunc_marker = "", + show_buffer_close_icons = true, + --diagnostics = "nvim_lsp", + diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", + diagnostics_update_in_insert = false, + buffer_close_icon = "", + separator_style = "thin", + enforce_regular_tabs = true, + always_show_bufferline = true, + max_name_length = 25, + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + highlight = "StatusLine", + text_align = "center", + }, + }, + custom_areas = { + right = function() + local result = {} + local error = vim.diagnostic.get_count(0, [[Error]]) + local warning = vim.diagnostic.get_count(0, [[Warning]]) + local info = vim.diagnostic.get_count(0, [[Information]]) + local hint = vim.diagnostic.get_count(0, [[Hint]]) + + if error ~= 0 then + result[1] = { text = "  " .. error, fg = "#EC5241" } + end + + if warning ~= 0 then + result[2] = { text = "  " .. warning, fg = "#EFB839" } + end + + if hint ~= 0 then + result[3] = { text = "  " .. hint, fg = "#A3BA5E" } + end + + if info ~= 0 then + result[4] = { text = "  " .. info, fg = "#7EA9A7" } + end + + return result + end, + }, + }, + highlights = { + background = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab_selected = { + fg = "#fdf6e3", + bg = "#002b36", + --fg = tabline_sel_bg, + }, + tab_close = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_selected = { + fg = "002b36", + bg = "#fdf6e3", + bold = true, + italic = true, + }, + numbers = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + hint = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + hint_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + error = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + error_diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + modified = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + duplicate_selected = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true, + }, + duplicate_visible = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + duplicate = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + separator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator = { + fg = "#fdf6e3", + bg = "#002b36", + }, + indicator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + pick_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick_visible = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + --offset_separator = { + -- fg = win_separator_fg, + -- bg = separator_background_color, + --}, + } +}) diff --git a/nvim/lua/plugins/bufferline.lua-202209041657.backup b/nvim/lua/plugins/bufferline.lua-202209041657.backup new file mode 100644 index 0000000..1d45e5f --- /dev/null +++ b/nvim/lua/plugins/bufferline.lua-202209041657.backup @@ -0,0 +1,322 @@ +require("bufferline").setup({ + options = { + numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, + close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + --indicator = { + -- icon = '', -- this should be omitted if indicator style is not 'icon' + -- style = 'icon', -- | 'underline' | 'none', + --}, + --indicator_icon = " ", + --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + modified_icon = '●', + left_trunc_marker = "", + right_trunc_marker = "", + show_buffer_close_icons = true, + --diagnostics = "nvim_lsp", + diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", + diagnostics_update_in_insert = false, + buffer_close_icon = "", + separator_style = "slant", + enforce_regular_tabs = true, + always_show_bufferline = true, + max_name_length = 25, + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + highlight = "StatusLine", + text_align = "center", + }, + }, + custom_areas = { + right = function() + local result = {} + local error = vim.diagnostic.get_count(0, [[Error]]) + local warning = vim.diagnostic.get_count(0, [[Warning]]) + local info = vim.diagnostic.get_count(0, [[Information]]) + local hint = vim.diagnostic.get_count(0, [[Hint]]) + + if error ~= 0 then + result[1] = { text = "  " .. error, fg = "#EC5241" } + end + + if warning ~= 0 then + result[2] = { text = "  " .. warning, fg = "#EFB839" } + end + + if hint ~= 0 then + result[3] = { text = "  " .. hint, fg = "#A3BA5E" } + end + + if info ~= 0 then + result[4] = { text = "  " .. info, fg = "#7EA9A7" } + end + + return result + end, + }, + }, + highlights = { + background = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab_selected = { + fg = tabline_sel_bg, + bg = "#002b36", + }, + tab_close = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_selected = { + fg = normal_fg, + bg = "#002b36", + bold = true, + italic = true, + }, + numbers = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + hint = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + hint_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + error = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + error_diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + modified = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + duplicate_selected = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true, + }, + duplicate_visible = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + duplicate = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + separator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator = { + fg = "#fdf6e3", + bg = "#002b36", + }, + indicator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + pick_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick_visible = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + --offset_separator = { + -- fg = win_separator_fg, + -- bg = separator_background_color, + --}, + } +}) diff --git a/nvim/lua/plugins/cmp.lua b/nvim/lua/plugins/cmp.lua new file mode 100644 index 0000000..93bc5b2 --- /dev/null +++ b/nvim/lua/plugins/cmp.lua @@ -0,0 +1,134 @@ +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end + +local lspkind = require("lspkind") +cmp.setup({ + formatting = { + format = lspkind.cmp_format({ + mode = "symbol", -- show only symbol annotations + maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) + + -- The function below will be called before any actual modifications from lspkind + -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) + before = function(entry, vim_item) + --... + return vim_item + end, + }), + }, +}) + +require("luasnip/loaders/from_vscode").lazy_load() + +--   פּ ﯟ  some other good icons +local kind_icons = { + Text = "", + Method = "", + Function = "", + Constructor = "⚙️", + Field = "", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "", + Event = "", + Operator = "", + TypeParameter = "", +} + +-- find more here: https://www.nerdfonts.com/cheat-sheet + +cmp.setup({ + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.close(), + [""] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }), + }), + sources = cmp.config.sources({ + { name = "path" }, + { name = "nvim_lsp", keyword_length = 3 }, + { name = "buffer", keyword_length = 3 }, + { name = "luasnip", keyword_length = 4 }, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this + --{name = 'luasnip', keyword_length = 2}, + }), + formatting = { + fields = { "kind", "abbr", "menu" }, + format = function(entry, vim_item) + -- Kind icons + vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + vim_item.menu = ({ + nvim_lsp = "[LSP]", + luasnip = "[Snippet]", + buffer = "[Buffer]", + path = "[Path]", + })[entry.source.name] + return vim_item + end, + }, + confirm_opts = { + behavior = cmp.ConfirmBehavior.Replace, + select = false, + }, + window = { + documentation = { + border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + }, + }, + experimental = { + ghost_text = true, + native_menu = false, + --view = { + -- entries = "native" + --}, + }, +}) + +--vim.cmd([[ +-- set completeopt=menuone,noinsert,noselect +-- highlight! default link CmpItemKind CmpItemMenuDefault +--]]) + +cmp.setup.cmdline("/", { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, +}) + +cmp.setup.cmdline(":", { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = "path" }, + }, { + { name = "cmdline" }, + }), +}) diff --git a/nvim/lua/plugins/colorizer.lua b/nvim/lua/plugins/colorizer.lua new file mode 100644 index 0000000..14d25e2 --- /dev/null +++ b/nvim/lua/plugins/colorizer.lua @@ -0,0 +1,6 @@ +local status, colorizer = pcall(require, "colorizer") +if (not status) then return end + +colorizer.setup({ + '*'; +}) diff --git a/nvim/lua/plugins/colorscheme.lua b/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..a7653e2 --- /dev/null +++ b/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,29 @@ +-- Colorscheme +-- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly +local colorscheme = "onedark" +local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) +if not status_ok then + vim.notify("colorscheme " .. colorscheme .. " not found!") + return +end + +vim.api.nvim_command("syntax on") +vim.api.nvim_command("highlight Normal guibg=none") +vim.api.nvim_command("highlight SignColumn guibg=none") +vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight TabLine guibg=none gui=bold") +vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") +vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") +vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") +vim.api.nvim_command("highlight WinBar guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") + +require("notify").setup({ + background_colour = "#000000", +}) diff --git a/nvim/lua/plugins/feline.lua b/nvim/lua/plugins/feline.lua new file mode 100644 index 0000000..f259108 --- /dev/null +++ b/nvim/lua/plugins/feline.lua @@ -0,0 +1,726 @@ +require('feline').setup() +--local lsp = require("feline.providers.lsp") +--local vi_mode_utils = require("feline.providers.vi_mode") +--local navic = require("nvim-navic") +-- +--local force_inactive = { +-- filetypes = {}, +-- buftypes = {}, +-- bufnames = {}, +--} +-- +--local winbar_components = { +-- active = { {}, {}, {} }, +-- inactive = { {}, {}, {} }, +--} +-- +--local components = { +-- active = { {}, {}, {} }, +-- inactive = { {}, {}, {} }, +--} +-- +--local colors = { +-- bg = "#282828", +-- black = "#282828", +-- yellow = "#d8a657", +-- cyan = "#89b482", +-- oceanblue = "#45707a", +-- green = "#a9b665", +-- orange = "#e78a4e", +-- violet = "#d3869b", +-- magenta = "#c14a4a", +-- white = "#a89984", +-- fg = "#a89984", +-- skyblue = "#7daea3", +-- red = "#ea6962", +--} +-- +--local vi_mode_colors = { +-- NORMAL = "green", +-- OP = "green", +-- INSERT = "red", +-- CONFIRM = "red", +-- VISUAL = "skyblue", +-- LINES = "skyblue", +-- BLOCK = "skyblue", +-- REPLACE = "violet", +-- ["V-REPLACE"] = "violet", +-- ENTER = "cyan", +-- MORE = "cyan", +-- SELECT = "orange", +-- COMMAND = "green", +-- SHELL = "green", +-- TERM = "green", +-- NONE = "yellow", +--} +-- +--local vi_mode_text = { +-- NORMAL = "<|", +-- OP = "<|", +-- INSERT = "|>", +-- VISUAL = "<>", +-- LINES = "<>", +-- BLOCK = "<>", +-- REPLACE = "<>", +-- ["V-REPLACE"] = "<>", +-- ENTER = "<>", +-- MORE = "<>", +-- SELECT = "<>", +-- COMMAND = "<|", +-- SHELL = "<|", +-- TERM = "<|", +-- NONE = "<>", +-- CONFIRM = "|>", +--} +-- +--local buffer_not_empty = function() +-- if vim.fn.empty(vim.fn.expand("%:t")) ~= 1 then +-- return true +-- end +-- return false +--end +-- +--local checkwidth = function() +-- local squeeze_width = vim.fn.winwidth(0) / 2 +-- if squeeze_width > 40 then +-- return true +-- end +-- return false +--end +-- +--force_inactive.filetypes = { +-- "NvimTree", +-- "dbui", +-- "packer", +-- "startify", +-- "fugitive", +-- "fugitiveblame", +--} +-- +--force_inactive.buftypes = { +-- "terminal", +--} +-- +---- STATUSLINE +---- LEFT +-- +---- vi-mode +--components.active[1][1] = { +-- provider = " NV-IDE ", +-- hl = function() +-- local val = {} +-- +-- val.bg = vi_mode_utils.get_mode_color() +-- val.fg = "black" +-- val.style = "bold" +-- +-- return val +-- end, +-- right_sep = " ", +--} +---- vi-symbol +--components.active[1][2] = { +-- provider = function() +-- return vi_mode_text[vi_mode_utils.get_vim_mode()] +-- end, +-- hl = function() +-- local val = {} +-- val.fg = vi_mode_utils.get_mode_color() +-- val.bg = "bg" +-- val.style = "bold" +-- return val +-- end, +-- right_sep = " ", +--} +---- filename +--components.active[1][3] = { +-- provider = function() +-- return vim.fn.expand("%:F") +-- end, +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- MID +-- +---- gitBranch +--components.active[2][1] = { +-- provider = "git_branch", +-- hl = { +-- fg = "yellow", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- diffAdd +--components.active[2][2] = { +-- provider = "git_diff_added", +-- hl = { +-- fg = "green", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- diffModfified +--components.active[2][3] = { +-- provider = "git_diff_changed", +-- hl = { +-- fg = "orange", +-- bg = "bg", +-- style = "bold", +-- }, +--} +---- diffRemove +--components.active[2][4] = { +-- provider = "git_diff_removed", +-- hl = { +-- fg = "red", +-- bg = "bg", +-- style = "bold", +-- }, +--} +-- +---- RIGHT +-- +---- fileIcon +--components.active[3][1] = { +-- provider = function() +-- local filename = vim.fn.expand("%:t") +-- local extension = vim.fn.expand("%:e") +-- local icon = require("nvim-web-devicons").get_icon(filename, extension) +-- if icon == nil then +-- icon = "" +-- end +-- return icon +-- end, +-- hl = function() +-- local val = {} +-- local filename = vim.fn.expand("%:t") +-- local extension = vim.fn.expand("%:e") +-- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) +-- if icon ~= nil then +-- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") +-- else +-- val.fg = "white" +-- end +-- val.bg = "bg" +-- val.style = "bold" +-- return val +-- end, +-- right_sep = " ", +--} +---- fileType +--components.active[3][2] = { +-- provider = "file_type", +-- hl = function() +-- local val = {} +-- local filename = vim.fn.expand("%:t") +-- local extension = vim.fn.expand("%:e") +-- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) +-- if icon ~= nil then +-- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") +-- else +-- val.fg = "white" +-- end +-- val.bg = "bg" +-- val.style = "bold" +-- return val +-- end, +-- right_sep = " ", +--} +---- fileSize +--components.active[3][3] = { +-- provider = "file_size", +-- enabled = function() +-- return vim.fn.getfsize(vim.fn.expand("%:t")) > 0 +-- end, +-- hl = { +-- fg = "skyblue", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- fileFormat +--components.active[3][4] = { +-- provider = function() +-- return "" .. vim.bo.fileformat:upper() .. "" +-- end, +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- fileEncode +--components.active[3][5] = { +-- provider = "file_encoding", +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +--components.active[3][6] = { +-- provider = "position", +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- linePercent +--components.active[3][7] = { +-- provider = "line_percentage", +-- hl = { +-- fg = "white", +-- bg = "bg", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- scrollBar +--components.active[3][8] = { +-- provider = "scroll_bar", +-- hl = { +-- fg = "yellow", +-- bg = "bg", +-- }, +--} +-- +---- INACTIVE +-- +---- fileType +--components.inactive[1][1] = { +-- provider = "file_type", +-- hl = { +-- fg = "black", +-- bg = "cyan", +-- style = "bold", +-- }, +-- left_sep = { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- right_sep = { +-- { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- " ", +-- }, +--} +-- +---- WINBAR +---- LEFT +-- +---- nvimGps +--winbar_components.active[1][1] = { +-- provider = function() +-- return navic.get_location() +-- end, +-- enabled = function() +-- return navic.is_available() +-- end, +-- hl = { +-- fg = "orange", +-- style = "bold", +-- }, +--} +-- +---- MID +-- +---- RIGHT +-- +---- LspName +--winbar_components.active[3][1] = { +-- provider = "lsp_client_names", +-- hl = { +-- fg = "yellow", +-- style = "bold", +-- }, +-- right_sep = " ", +--} +---- diagnosticErrors +--winbar_components.active[3][2] = { +-- provider = "diagnostic_errors", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.ERROR) +-- end, +-- hl = { +-- fg = "red", +-- style = "bold", +-- }, +--} +---- diagnosticWarn +--winbar_components.active[3][3] = { +-- provider = "diagnostic_warnings", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.WARN) +-- end, +-- hl = { +-- fg = "yellow", +-- style = "bold", +-- }, +--} +---- diagnosticHint +--winbar_components.active[3][4] = { +-- provider = "diagnostic_hints", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.HINT) +-- end, +-- hl = { +-- fg = "cyan", +-- style = "bold", +-- }, +--} +---- diagnosticInfo +--winbar_components.active[3][5] = { +-- provider = "diagnostic_info", +-- enabled = function() +-- return lsp.diagnostics_exist(vim.diagnostic.severity.INFO) +-- end, +-- hl = { +-- fg = "skyblue", +-- style = "bold", +-- }, +--} +-- +---- INACTIVE +-- +---- fileType +--winbar_components.inactive[1][1] = { +-- provider = "file_type", +-- hl = { +-- fg = "black", +-- bg = "cyan", +-- style = "bold", +-- }, +-- left_sep = { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- right_sep = { +-- { +-- str = " ", +-- hl = { +-- fg = "NONE", +-- bg = "cyan", +-- }, +-- }, +-- " ", +-- }, +--} +-- +--require("feline").setup({ +-- theme = colors, +-- default_bg = bg, +-- default_fg = fg, +-- vi_mode_colors = vi_mode_colors, +-- components = components, +-- force_inactive = force_inactive, +--}) +-- +--require("feline").winbar.setup({ +-- components = winbar_components, +-- force_inactive = force_inactive, +--}) +----local M = { vi = {} } +---- +---- +----M.vi.text = { +---- n = "NORMAL", +---- no = "NORMAL", +---- i = "INSERT", +---- v = "VISUAL", +---- V = "V-LINE", +---- [""] = "V-BLOCK", +---- c = "COMMAND", +---- cv = "COMMAND", +---- ce = "COMMAND", +---- R = "REPLACE", +---- Rv = "REPLACE", +---- s = "SELECT", +---- S = "SELECT", +---- [""] = "SELECT", +---- t = "TERMINAL", +----} +---- +----M.vi.colors = { +---- n = "FlnViCyan", +---- no = "FlnViCyan", +---- i = "FlnStatus", +---- v = "FlnViMagenta", +---- V = "FlnViMagenta", +---- [""] = "FlnViMagenta", +---- R = "FlnViRed", +---- Rv = "FlnViRed", +---- r = "FlnViBlue", +---- rm = "FlnViBlue", +---- s = "FlnViMagenta", +---- S = "FlnViMagenta", +---- [""] = "FelnMagenta", +---- c = "FlnViYellow", +---- ["!"] = "FlnViBlue", +---- t = "FlnViBlue", +----} +---- +----M.vi.sep = { +---- n = "FlnCyan", +---- no = "FlnCyan", +---- i = "FlnStatusBg", +---- v = "FlnMagenta", +---- V = "FlnMagenta", +---- [""] = "FlnMagenta", +---- R = "FlnRed", +---- Rv = "FlnRed", +---- r = "FlnBlue", +---- rm = "FlnBlue", +---- s = "FlnMagenta", +---- S = "FlnMagenta", +---- [""] = "FelnMagenta", +---- c = "FlnYellow", +---- ["!"] = "FlnBlue", +---- t = "FlnBlue", +----} +---- +----M.icons = { +---- locker = "", -- #f023 +---- page = "☰", -- 2630 +---- line_number = "", -- e0a1 +---- connected = "", -- f817 +---- dos = "", -- e70f +---- unix = "", -- f17c +---- mac = "", -- f179 +---- mathematical_L = "𝑳", +---- vertical_bar = "┃", +---- vertical_bar_thin = "│", +---- left = "", +---- right = "", +---- block = "█", +---- left_filled = "", +---- right_filled = "", +---- slant_left = "", +---- slant_left_thin = "", +---- slant_right = "", +---- slant_right_thin = "", +---- slant_left_2 = "", +---- slant_left_2_thin = "", +---- slant_right_2 = "", +---- slant_right_2_thin = "", +---- left_rounded = "", +---- left_rounded_thin = "", +---- right_rounded = "", +---- right_rounded_thin = "", +---- circle = "●", +----} +---- +----return M +------ Feline statusline definition. +------ +------ Note: This statusline does not define any colors. Instead the statusline is +------ built on custom highlight groups that I define. The colors for these +------ highlight groups are pulled from the current colorscheme applied. Check the +------ file: `lua/eden/modules/ui/colors.lua` to see how they are defined. +---- +----local u = require("eden.modules.ui.feline.util") +----local fmt = string.format +---- +------ "┃", "█", "", "", "", "", "", "", "●" +---- +----local get_diag = function(str) +---- local count = vim.lsp.diagnostic.get_count(0, str) +---- return (count > 0) and " " .. count .. " " or "" +----end +---- +----local function vi_mode_hl() +---- return u.vi.colors[vim.fn.mode()] or "FlnViBlack" +----end +---- +----local function vi_sep_hl() +---- return u.vi.sep[vim.fn.mode()] or "FlnBlack" +----end +---- +----local c = { +---- vimode = { +---- provider = function() +---- return string.format(" %s ", u.vi.text[vim.fn.mode()]) +---- end, +---- hl = vi_mode_hl, +---- right_sep = { str = " ", hl = vi_sep_hl }, +---- }, +---- gitbranch = { +---- provider = "git_branch", +---- icon = " ", +---- hl = "FlnGitBranch", +---- right_sep = { str = " ", hl = "FlnGitBranch" }, +---- enabled = function() +---- return vim.b.gitsigns_status_dict ~= nil +---- end, +---- }, +---- file_type = { +---- provider = function() +---- return fmt(" %s ", vim.bo.filetype:upper()) +---- end, +---- hl = "FlnAlt", +---- }, +---- fileinfo = { +---- provider = { name = "file_info", opts = { type = "relative" } }, +---- hl = "FlnAlt", +---- left_sep = { str = " ", hl = "FlnAltSep" }, +---- right_sep = { str = "", hl = "FlnAltSep" }, +---- }, +---- file_enc = { +---- provider = function() +---- local os = u.icons[vim.bo.fileformat] or "" +---- return fmt(" %s %s ", os, vim.bo.fileencoding) +---- end, +---- hl = "StatusLine", +---- left_sep = { str = u.icons.left_filled, hl = "FlnAltSep" }, +---- }, +---- cur_position = { +---- provider = function() +---- -- TODO: What about 4+ diget line numbers? +---- return fmt(" %3d:%-2d ", unpack(vim.api.nvim_win_get_cursor(0))) +---- end, +---- hl = vi_mode_hl, +---- left_sep = { str = u.icons.left_filled, hl = vi_sep_hl }, +---- }, +---- cur_percent = { +---- provider = function() +---- return " " .. require("feline.providers.cursor").line_percentage() .. " " +---- end, +---- hl = vi_mode_hl, +---- left_sep = { str = u.icons.left, hl = vi_mode_hl }, +---- }, +---- default = { -- needed to pass the parent StatusLine hl group to right hand side +---- provider = "", +---- hl = "StatusLine", +---- }, +---- lsp_status = { +---- provider = function() +---- return require("lsp-status").status() +---- end, +---- hl = "FlnStatus", +---- left_sep = { str = "", hl = "FlnStatusBg", always_visible = true }, +---- right_sep = { str = "", hl = "FlnErrorStatus", always_visible = true }, +---- }, +---- lsp_error = { +---- provider = function() +---- return get_diag("Error") +---- end, +---- hl = "FlnError", +---- right_sep = { str = "", hl = "FlnWarnError", always_visible = true }, +---- }, +---- lsp_warn = { +---- provider = function() +---- return get_diag("Warning") +---- end, +---- hl = "FlnWarn", +---- right_sep = { str = "", hl = "FlnInfoWarn", always_visible = true }, +---- }, +---- lsp_info = { +---- provider = function() +---- return get_diag("Information") +---- end, +---- hl = "FlnInfo", +---- right_sep = { str = "", hl = "FlnHintInfo", always_visible = true }, +---- }, +---- lsp_hint = { +---- provider = function() +---- return get_diag("Hint") +---- end, +---- hl = "FlnHint", +---- right_sep = { str = "", hl = "FlnBgHint", always_visible = true }, +---- }, +---- +---- in_fileinfo = { +---- provider = "file_info", +---- hl = "StatusLine", +---- }, +---- in_position = { +---- provider = "position", +---- hl = "StatusLine", +---- }, +----} +---- +----local active = { +---- { -- left +---- c.vimode, +---- c.gitbranch, +---- c.fileinfo, +---- c.default, -- must be last +---- }, +---- { -- right +---- c.lsp_status, +---- c.lsp_error, +---- c.lsp_warn, +---- c.lsp_info, +---- c.lsp_hint, +---- c.file_type, +---- c.file_enc, +---- c.cur_position, +---- c.cur_percent, +---- }, +----} +---- +----local inactive = { +---- { c.in_fileinfo }, -- left +---- { c.in_position }, -- right +----} +---- +------ -- Define autocmd that generates the highlight groups from the new colorscheme +------ -- Then reset the highlights for feline +------ edn.aug.FelineColorschemeReload = { +------ { +------ { "SessionLoadPost", "ColorScheme" }, +------ function() +------ require("eden.modules.ui.feline.colors").gen_highlights() +------ -- This does not look like it is required. If this is called I see the ^^^^^^ that +------ -- seperates the two sides of the bar. Since the entire config uses highlight groups +------ -- all that is required is to redefine them. +------ -- require("feline").reset_highlights() +------ end, +------ }, +------ } +---- +----require("feline").setup({ +---- components = { active = active, inactive = inactive }, +---- highlight_reset_triggers = {}, +---- force_inactive = { +---- filetypes = { +---- "NvimTree", +---- "packer", +---- "dap-repl", +---- "dapui_scopes", +---- "dapui_stacks", +---- "dapui_watches", +---- "dapui_repl", +---- "LspTrouble", +---- "qf", +---- "help", +---- }, +---- buftypes = { "terminal" }, +---- bufnames = {}, +---- }, +---- disable = { +---- filetypes = { +---- "dashboard", +---- "startify", +---- }, +---- }, +----}) diff --git a/nvim/lua/plugins/floaterm.lua b/nvim/lua/plugins/floaterm.lua new file mode 100644 index 0000000..ea554af --- /dev/null +++ b/nvim/lua/plugins/floaterm.lua @@ -0,0 +1,6 @@ +vim.cmd([[ + let g:floaterm_keymap_new = 't' + let g:floaterm_keymap_prev = 'tn' + let g:floaterm_keymap_next = 'tp' + let g:floaterm_keymap_toggle = 'tt' +]]) diff --git a/nvim/lua/plugins/fzf.lua b/nvim/lua/plugins/fzf.lua new file mode 100644 index 0000000..4195cd6 --- /dev/null +++ b/nvim/lua/plugins/fzf.lua @@ -0,0 +1,66 @@ +vim.cmd([[ + " FZF fuzzy finder + "--------------------------------------- + " Enable per-command history. + " CTRL-N and CTRL-P will be automatically bound to next-history and + " previous-history instead of down and up. If you don't like the change, + " explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS. + let g:fzf_history_dir = '~/.local/share/fzf-history' + map fz :FZF + map a :Files + map l :Lines + map L :BLines + map B :Buffers + map h :History: + nnoremap g :Rg + "nnoremap t :Tags + nnoremap m :Marks + " This is the default extra key bindings + let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-y': 'vsplit' } + let g:fzf_tags_command = 'ctags -R' + " Border color + let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } + let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' + let $FZF_DEFAULT_COMMAND="rg --files --hidden" + " Customize fzf colors to match your color scheme + let g:fzf_colors = + \ { 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Comment'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'Statement'], + \ 'info': ['fg', 'PreProc'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Conditional'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + " Get Files + command! -bang -nargs=? -complete=dir Files + \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) + " Get text in files with Rg + command! -bang -nargs=* Rg + \ call fzf#vim#grep( + \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, + \ fzf#vim#with_preview(), 0) + " Ripgrep advanced + function! RipgrepFzf(query, fullscreen) + let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' + let initial_command = printf(command_fmt, shellescape(a:query)) + let reload_command = printf(command_fmt, '{q}') + let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} + call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) + endfunction + command! -nargs=* -bang RG call RipgrepFzf(, 0) + " Git grep + command! -bang -nargs=* GGrep + \ call fzf#vim#grep( + \ 'git grep --line-number '.shellescape(), 0, + \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) + command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) +]]) diff --git a/nvim/lua/plugins/git.lua b/nvim/lua/plugins/git.lua new file mode 100644 index 0000000..963f7f9 --- /dev/null +++ b/nvim/lua/plugins/git.lua @@ -0,0 +1,11 @@ +local status, git = pcall(require, "git") +if (not status) then return end + +git.setup({ + keymaps = { + -- Open blame window + blame = "gb", + -- Open file/folder in git repository + browse = "go", + } +}) diff --git a/nvim/lua/plugins/gitsigns.lua b/nvim/lua/plugins/gitsigns.lua new file mode 100644 index 0000000..53d1a1e --- /dev/null +++ b/nvim/lua/plugins/gitsigns.lua @@ -0,0 +1 @@ +require('gitsigns').setup {} diff --git a/nvim/lua/plugins/heirline.backup.lua b/nvim/lua/plugins/heirline.backup.lua new file mode 100644 index 0000000..d65de92 --- /dev/null +++ b/nvim/lua/plugins/heirline.backup.lua @@ -0,0 +1,733 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +require("nvim-gps").setup({ + icons = { + ["class-name"] = " ", + ["function-name"] = " ", + ["method-name"] = " ", + ["container-name"] = "炙", + ["tag-name"] = "炙", + }, +}) + +vim.o.laststatus = 3 + +local colors = { + bg = "#333842", + brown = "#504945", + white = "#f8f8f0", + grey = "#8F908A", + black = "#000000", + pink = "#f92672", + green = "#a6e22e", + blue = "#66d9ef", + yellow = "#e6db74", + orange = "#fd971f", + purple = "#ae81ff", + red = "#e95678", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +local ViMode = { + -- get vim current mode, this information will be required by the provider + -- and the highlight functions, so we compute it only once per component + -- evaluation and store it as a component attribute + init = function(self) + self.mode = vim.fn.mode(1) -- :h mode() + end, + -- Now we define some dictionaries to map the output of mode() to the + -- corresponding string and color. We can put these into `static` to compute + -- them at initialisation time. + static = { + mode_names = { + -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + mode_colors = { + n = colors.green, + i = colors.pink, + v = colors.blue, + V = colors.blue, + [""] = colors.blue, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + }, + -- We can now access the value of mode() that, by now, would have been + -- computed by `init()` and use it to index our strings dictionary. + -- note how `static` fields become just regular attributes once the + -- component is instantiated. + -- To be extra meticulous, we can also add some vim statusline syntax to + -- control the padding and make sure our string is always at least 2 + -- characters long. Plus a nice Icon. + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + -- Same goes for the highlight. Now the foreground will change according to the current mode. + hl = function(self) + local mode = self.mode:sub(1, 1) -- get only the first mode character + return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } + end, +} + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} +-- We can now define some children separately and add them later + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "[No Name]" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return "" + end + end, + hl = { fg = colors.orange }, + }, +} + +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + -- use `force` because we need to override the child's hl foreground + return { fg = colors.cyan, bold = true, force = true, bg = colors.bg } + end + end, +} + +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local Diagnostics = { + condition = conditions.has_diagnostics, + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, +} + +local Git = { + condition = conditions.is_git_repo, + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + hl = { fg = colors.orange, bg = colors.bg }, + { + -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.change, bg = colors.bg }, + }, +} + +local WorkDir = { + provider = function() + local icon = " " + local cwd = vim.fn.getcwd(0) + cwd = vim.fn.fnamemodify(cwd, ":~") + if not conditions.width_percent_below(#cwd, 0.25) then + cwd = vim.fn.pathshorten(cwd) + end + local trail = cwd:sub(-1) == "/" and "" or "/" + return icon .. cwd .. trail + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, +} + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + hl = { bold = true, bg = colors.bg }, +} + +local Ruler = { + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + provider = "%7 %p%% Ln %l, Col %c", +} + +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " " } + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileEncoding = { + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:upper() + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + FileEncoding, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileNameShort = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":t") + if filename == "" then + return "[No Name]" + end + return filename + end, + hl = { fg = colors.gray, bg = colors.bg }, +} + +local FileNameShortBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileNameShortBlock = utils.insert( + FileNameShortBlock, + FileIcon, + FileNameShort, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local Gps = { + condition = require("nvim-gps").is_available, + provider = function() + local loc = require("nvim-gps").get_location() + if loc == "" then + return "" + end + return "> " .. loc + end, + hl = { fg = colors.gray, bg = colors.bg }, +} + +local DefaultStatusline = { + ViMode, + Space, + FileNameBlock, + Space, + Diagnostics, + Align, + Ruler, + Space, + FileInfoBlock, + Space, + Git, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + FileType, + Space, + Align, +} + +local TerminalStatusline = { + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + TerminalName, + Align, +} + +local StatusLines = { + fallthrough = false, + SpecialStatusline, + TerminalStatusline, + DefaultStatusline, +} + +local GSpace = { provider = " ", hl = { bg = colors.bg } } + +local WinBars = { + fallthrough = false, + { + -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix", "nofile", "promt" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + provider = "", + }, + { + -- An inactive winbar for regular files + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) and not conditions.is_active() + end, + utils.surround( + { "", "" }, + colors.bright_bg, + { hl = { fg = "gray", force = true }, GSpace, TerminalName, Align } + ), + }, + { + -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, colors.dark_red, { + GSpace, + TerminalName, + Align, + }), + }, + { + -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround( + { "", "" }, + colors.bright_bg, + { hl = { fg = "gray", force = true }, GSpace, FileNameShortBlock, Align } + ), + }, + -- A winbar for regular files + { GSpace, FileNameShortBlock, GSpace, Gps, Align }, +} + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+]" + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "" + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineDiagnostics = { + static = { + error_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + init = function(self) + self.errors = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.INFO }) + end, + { + provider = function(self) + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + else + return "TabLine" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = true }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineFileIcon, + TablineFileName, + TablineFileFlags, + TablineDiagnostics, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.bo[self.bufnr].modified + end, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLine").bg + end +end, { TablineFileNameBlock, TablineCloseButton }) + +-- and here we go +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + hl = "TabLine", +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +local TabLine = { TabLineOffset, BufferLine, TabPages } + +require("heirline").setup(StatusLines, WinBars, TabLine) + +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +vim.api.nvim_create_augroup("Heirline", { clear = true }) +vim.api.nvim_create_autocmd("ColorScheme", { + callback = function() + local colors = setup_colors() + utils.on_colorscheme(colors) + end, + group = "Heirline", +}) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) diff --git a/nvim/lua/plugins/heirline.backup2.lua b/nvim/lua/plugins/heirline.backup2.lua new file mode 100644 index 0000000..9f5c4ca --- /dev/null +++ b/nvim/lua/plugins/heirline.backup2.lua @@ -0,0 +1,1921 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +-- Colors +--local colors = { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +--} + +--local colors = { +-- gray = '#23232e', +-- lightgray = '#5f6a8e', +-- orange = '#ffb86c', +-- purple = '#bd93f9', +-- red = '#ff5555', +-- yellow = '#f1fa8c', +-- green = '#50fa7b', +-- white = '#f8f8f2', +-- black = '#282a36', +--} +local colors = { + bg = "#333842", + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + brown = "#504945", + white = "#f8f8f0", + grey = "#8F908A", + pink = "#f92672", + --green = "#a6e22e", + green = "#AAD94C", + --blue = "#66d9ef", + blue = "#39BAE6", + yellow = "#e6db74", + --orange = "#fd971f", + orange = "#FA8D3F", + purple = "#ae81ff", + --red = "#e95678", + red = "#F07171", + cyan = "#66d9eC", + mode_fg = "#242424", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +--local mode_lable = { +-- n = 'NORMAL', +-- no = 'OPPEND', +-- nov = 'N?', +-- noV = 'N?', +-- ['no\22'] = 'N?', +-- niI = 'Ni', +-- niR = 'Nr', +-- niV = 'Nv', +-- nt = 'N-TERM', +-- v = 'VISUAL', +-- vs = 'Vs', +-- V = 'V-LINE', +-- Vs = 'Vs', +-- ['\22'] = 'V-BLCK', +-- ['\22s'] = '^V', +-- s = 'SELECT', +-- S = 'S-LINE', +-- ['\19'] = 'S-BLCK', +-- i = 'INSERT', +-- ic = 'ICOMPL', +-- ix = 'Ix', +-- R = 'REPLACE', +-- Rc = 'Rc', +-- Rx = 'Rx', +-- Rv = 'VRPLCE', +-- Rvc = 'Rv', +-- Rvx = 'Rv', +-- c = 'CMMAND', +-- cv = 'PROMPT', +-- r = '...', +-- rm = 'MORE', +-- ['r?'] = 'CNFIRM', +-- ['!'] = 'SHELL', +-- t = 'TERM', +--} +-- +--local mode_colors_table = { +-- n = 'red', +-- no = 'blue', +-- nov = 'blue', +-- noV = 'blue', +-- niI = 'red', +-- niR = 'red', +-- niV = 'red', +-- nt = 'red', +-- v = 'cyan', +-- vs = 'cyan', +-- V = 'cyan', +-- Vs = 'cyan', +-- ['\22'] = 'cyan', +-- ['\22s'] = 'cyan', +-- s = 'purple', +-- S = 'purple', +-- ['\19'] = 'purple', +-- i = 'blue', +-- ic = 'blue', +-- ix = 'blue', +-- R = 'orange', +-- Rc = 'orange', +-- Rx = 'orange', +-- Rv = 'orange', +-- Rvc = 'orange', +-- Rvx = 'orange', +-- c = 'green', +-- cv = 'green', +-- r = 'green', +-- rm = 'green', +-- ['r?'] = 'green', +-- ['!'] = 'red', +-- t = 'red', +--} +-- +--local mode_colors = setmetatable({ +-- n = { fg = 'red' } +--}, { +-- __index = function(_, mode) +-- return { +-- fg = 'mode_fg', +-- bg = mode_colors_table[mode], +-- } +-- end +--}) +-- +-- +--local VimModeNormal = { +-- condition = function(self) +-- return self.mode == 'n' +-- end, +-- provider = ' ●', +--} +-- +--local VimModeOthers = { +-- condition = function(self) +-- return self.mode ~= 'n' +-- end, +-- +-- utils.surround({ '', '' }, +-- function(self) +-- return mode_colors[self.mode].bg +-- end, +-- { +-- { +-- provider = function(self) +-- return '● ' .. mode_lable[self.mode] +-- end, +-- }, +-- hl = function(self) +-- return mode_colors[self.mode] +-- end +-- } +-- ), +--} +-- +--local ViMode = { +-- init = function(self) +-- self.mode = vim.fn.mode(1) +-- end, +-- +-- VimModeNormal, VimModeOthers, +-- +-- update = { 'ModeChanged' } +--} +--local colors = require'kanagawa.colors'.setup() -- wink + +--utils.surround({ "", "" }, function(self) return self:mode_color() end, {Ruler, hl = {fg = 'black'}} ), +-- we are surrounding the component and adjusting the foreground in one go! + +-- ViMode truemode +--local ViMode = { +-- -- get vim current mode, this information will be required by the provider +-- -- and the highlight functions, so we compute it only once per component +-- -- evaluation and store it as a component attribute +-- init = function(self) +-- self.mode = vim.fn.mode(1) -- :h mode() +-- +-- -- execute this only once, this is required if you want the ViMode +-- -- component to be updated on operator pending mode +-- if not self.once then +-- vim.api.nvim_create_autocmd("ModeChanged", { +-- pattern = "*:*o", +-- command = "redrawstatus", +-- }) +-- self.once = true +-- end +-- end, +-- -- Now we define some dictionaries to map the output of mode() to the +-- -- corresponding string and color. We can put these into `static` to compute +-- -- them at initialisation time. +-- static = { +-- mode_names = { -- change the strings if you like it vvvvverbose! +-- ["n"] = "NORMAL ", +-- ["no"] = "N·OPERATOR PENDING ", +-- ["v"] = "VISUAL ", +-- ["V"] = "V·LINE ", +-- [""] = "V·BLOCK ", +-- ["s"] = "SELECT ", +-- ["S"] = "S·LINE ", +-- [""] = "S·BLOCK ", +-- ["i"] = "INSERT ", +-- ["R"] = "REPLACE ", +-- ["Rv"] = "V·REPLACE ", +-- ["c"] = "COMMAND ", +-- ["cv"] = "VIM EX ", +-- ["ce"] = "EX ", +-- ["r"] = "PROMPT ", +-- ["rm"] = "MORE ", +-- ["r?"] = "CONFIRM ", +-- ["!"] = "SHELL ", +-- ["t"] = "TERMINAL ", +-- }, +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- --n = "blue" , +-- --i = "green", +-- --v = "cyan", +-- --V = "cyan", +-- --["\22"] = "cyan", +-- --c = "orange", +-- --s = "purple", +-- --S = "purple", +-- --["\19"] = "purple", +-- --R = "orange", +-- --r = "orange", +-- --["!"] = "red", +-- --t = "red", +-- }, +-- }, +-- -- We can now access the value of mode() that, by now, would have been +-- -- computed by `init()` and use it to index our strings dictionary. +-- -- note how `static` fields become just regular attributes once the +-- -- component is instantiated. +-- -- To be extra meticulous, we can also add some vim statusline syntax to +-- -- control the padding and make sure our string is always at least 2 +-- -- characters long. Plus a nice Icon. +-- provider = function(self) +-- return " %2(" .. self.mode_names[self.mode] .. "%)" +-- --return " %2("..self.mode_names[self.mode].."%)" +-- -- +-- -- +-- -- +-- end, +-- -- Same goes for the highlight. Now the foreground will change according to the current mode. +-- hl = function(self) +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- end, +-- -- Re-evaluate the component only on ModeChanged event! +-- -- This is not required in any way, but it's there, and it's a small +-- -- performance improvement. +-- update = { +-- "ModeChanged", +-- }, --optional +--} +local ViMode = { + static = { + mode_names = { -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color, fg = colors.bg, bold = true } + end, +} + +local ViModeColor = { + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + }, +} + +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} +-- +---- lsp status +---- I personally use it only to display progress messages! +---- See lsp-status/README.md for configuration options. +-- +---- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +--local LSPMessages = { +-- provider = require("lsp-status").status, +-- hl = { fg = "gray" }, +--} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local fill = { provider = "%=", hl = { bg = colors.nobg } } +--local LeftSep = { provider = "" hl = { fg = colors.bg } } +--local RightSep = { provider = "" hl = { fg = colors.bg }} + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + --return { fg = self.icon_color } + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "[No Name]" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return "" + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + -- use `force` because we need to override the child's hl foreground + --return { fg = "cyan", bold = true, force = true } + return { fg = "blue", bold = true, force = true, bg = colors.bg } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + -- return string.upper(vim.bo.filetype) + --end, + ----hl = { fg = utils.get_highlight("Type").fg, bold = true }, + --hl = { fg = utils.get_highlight("Type").fg, bold = true, bg = colors.bg }, + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:upper() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + provider = "%3(%2l%):%c %P", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} +--local ScrollBar = { +-- static = { +-- --sbar = { "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" }, +-- sbar = { "🭶", "🭷", "🭸", "🭹", "🭺", "🭻" }, +-- }, +-- provider = function(self) +-- local curr_line = vim.api.nvim_win_get_cursor(0)[1] +-- local lines = vim.api.nvim_buf_line_count(0) +-- local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1 +-- return string.rep(self.sbar[i], 2) +-- end, +-- --hl = { fg = "blue", bg = "bright_bg" }, +-- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +--} +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%p%%" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + --hl = { fg = "blue", bold = true }, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + --hl = { fg = "blue", bold = true }, + hl = { bold = true, bg = colors.bg }, +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + FileEncoding, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +-- Statusline + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) + +--utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), +local DefaultStatusline = { + ViMode, + Space, + FileNameBlock, + Space, + Git, + Space, + Diagnostics, + Align, + Navic, + DAPMessages, + Align, + Space, + FileInfoBlock, + Space, + WordCount, + Ruler, + Space, + --Position, + --Percentage, + --ScrollBar, + --Space, + --LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +} + +--local InactiveStatusline = { +-- condition = conditions.is_not_active, +-- FileType, +-- Space, +-- FileName, +-- Align, +--} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + FileType, + Space, + Align, + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + hl = { bg = "dark_red" }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + { condition = conditions.is_active, ViMode, Space }, + FileType, + Space, + TerminalName, + Align, +} + +--local StatusLines = { +-- +-- hl = function() +-- if conditions.is_active() then +-- return "StatusLine" +-- else +-- return "StatusLineNC" +-- end +-- end, +-- +-- -- the first statusline with no condition, or which condition returns true is used. +-- -- think of it as a switch case with breaks to stop fallthrough. +-- fallthrough = false, +-- +-- SpecialStatusline, +-- TerminalStatusline, +-- --InactiveStatusline, +-- DefaultStatusline, +--} +local StatusLines = { + + hl = function() + if conditions.is_active() then + return "StatusLine" + else + return "StatusLineNC" + end + end, + + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + --InactiveStatusline, + DefaultStatusline, +} +--hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +-- hl = { bg = colors.bg }, +--require("heirline").setup(StatusLines) +-- we're done. + +--local FelineStyle = { +-- +-- -- stop at child where buftype/filetype/bufname matches +-- fallthrough = false, +-- +-- { -- Identify the buftype/filetype/bufname first +-- condtion = function() +-- return conditions.buffer_matches({...}) +-- end, +-- +-- -- Evaluate only the "active" or "inactive" child +-- fallthrough = false, +-- +-- { -- If it's the current window, display some components +-- condition = conditions.is_active +-- {...} -- +-- }, +-- { -- Otherwise, display some other components +-- {...} -- +-- } +-- }, +-- { -- this block can be exactly as the one above for a different kind of +-- -- buffer +-- ... +-- } +--} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) +local active_middle_segment = { --{{{ + -- provider = "%999X  %X", + + --provider = function(self) + -- --return " %999X %999X " + -- return " %2("..self.mode_names[self.mode].."%)" + -- -- + -- -- + -- -- + --end, + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + --utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), + }, + -- A winbar for regular files + --utils.surround({ "", "" }, "bright_bg", FileNameBlock), + --█🙼🙽🙼█⮘██⮚ + --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = function(self) + -- local color = self:mode_color() -- here! + -- return { bg = color, bold = true, force = true } + --end, + --}), + --utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), +} + +--utils.surround({ "", "" }, function(self) return self:mode_color() end, { active_middle_segment, hl = { fg = colors.bg, force = true } }) + +local WinBars = { + fill, + active_middle_segment, + fill, +} +-- --utils.surround({ " ", " " }, colors.nobg, { fill, active_middle_segment, fill }) +-- --static = { +-- -- mode_colors_map = { +-- -- n = colors.blue, +-- -- i = colors.green, +-- -- v = colors.purple, +-- -- V = colors.purple, +-- -- [""] = colors.purple, +-- -- c = colors.red, +-- -- s = colors.purple, +-- -- S = colors.purple, +-- -- [""] = colors.purple, +-- -- R = colors.orange, +-- -- r = colors.orange, +-- -- ["!"] = colors.red, +-- -- t = colors.red, +-- -- }, +-- -- mode_color = function(self) +-- -- local mode = conditions.is_active() and vim.fn.mode() or "n" +-- -- return self.mode_colors_map[mode] +-- -- end, +-- --}, +-- --utils.surround({ " ", " " }, colors.nobg, { active_middle_segment, hl = function(self) +-- -- local color = self:mode_color() -- here! +-- -- return { bg = color, bold = true, force = true } +-- --end, +-- --}) +--} +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +-- Use it anywhere! +--local WinBarFileName = utils.surround({ "", "" }, "bright_bg", { +-- hl = function() +-- if not conditions.is_active() then +-- return { fg = "gray", force = true } +-- end +-- end, +-- FileNameBlock, +-- Space, +-- CloseButton, +--}) + +--local WinBars = { +-- -- init = utils.pick_child_on_condition, +-- fallthrough = false, +-- { +-- condition = function() +-- return conditions.buffer_matches({ +-- buftype = { "nofile", "prompt", "help", "quickfix" }, +-- filetype = { "^git.*", "fugitive" }, +-- }) +-- end, +-- init = function() +-- vim.opt_local.winbar = nil +-- end, +-- }, +-- { +-- condition = function() +-- return conditions.buffer_matches({ buftype = { "terminal" } }) +-- end, +-- utils.surround({ "", "" }, "dark_red", { +-- FileType, +-- Space, +-- TerminalName, +-- CloseButton, +-- }), +-- }, +-- utils.surround({ "", "" }, "bright_bg", { +-- hl = function() +-- if conditions.is_not_active() then +-- return { fg = "gray", force = true } +-- end +-- end, +-- +-- FileNameBlock, +-- CloseButton, +-- }), +--} + +-- TabLine +--local TabLine ={ +-- hl = { bg = colors.bg }, +--} +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. ". " + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +-- this looks exactly like the FileFlags component that we saw in +-- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly +-- also, we are adding a nice icon for terminal buffers. +--local TablineFileFlags = { +-- { +-- condition = function(self) +-- return vim.api.nvim_buf_get_option(self.bufnr, "modified") +-- end, +-- provider = "[+]", +-- --hl = { fg = colors.green }, +-- hl = { fg = colors.green, bold = true, bg = colors.bg }, +-- }, +-- { +-- condition = function(self) +-- return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable") +-- or vim.api.nvim_buf_get_option(self.bufnr, "readonly") +-- end, +-- provider = function(self) +-- if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then +-- return "  " +-- else +-- return "" +-- end +-- end, +-- hl = { fg = "orange", bg = colors.bg }, +-- }, +--} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+]" + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "" + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLine" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +--local TablineBufferBlock = utils.surround({ "", "", hl = { bg =colors.bg } }, function(self) +-- if self.is_active then +-- return utils.get_highlight("TabLineSel").fg, utils.get_highlight("TabLineSel").bg +-- else +-- return utils.get_highlight("TabLine").fg, utils.get_highlight("TabLine").bg +-- end +----end, { TabLine, TablineFileNameBlock, TablineCloseButton }) +--end, { TablineFileNameBlock, TablineCloseButton }) + +--local TablineBufferBlock = utils.surround({ "█", "█" }, "bg", { +-- hl = function() +-- if not conditions.is_active() then +-- return { fg = "gray", force = true, bg = colors.bg } +-- end +-- end, +-- TablineFileNameBlock, +-- TablineCloseButton, +--}) +--local TablineBufferBlock = utils.surround({ "█", "█" }, +-- { hl = function(self) +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- end, }, +--{ TablineFileNameBlock, TablineCloseButton, { hl = ViMode }, }) + +--local TablineBufferBlock = { +-- init = function(self) +-- +-- self.mode = vim.fn.mode(1) -- :h mode() +-- +-- vim.api.nvim_create_autocmd("ModeChanged", { +-- pattern = "*:*o", +-- command = "redrawstatus", +-- }) +-- self.once = true +-- end, +-- static = { +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- }, +-- hl = function(self) +-- if self.is_active then +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("TabLine").bg +-- end +-- end, +-- update = { +-- "ModeChanged", +-- }, --optional +-- { TablineFileNameBlock, TablineCloseButton } +--} + +--local TabLineSel = { +-- hl = { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +--} +--local ViMode2 = { +-- init = function(self) +-- self.mode = vim.fn.mode() +-- end, +-- static = { +-- mode_colors = { +-- n = "red", +-- i = "green", +-- v = "blue", +-- c = "orange" +-- +-- } +-- }, +-- provider = function(self) +-- return string.upper(self.mode) +-- end, +-- hl = function(self) +-- return { fg = self.mode_colors[self.mode], bold = true, } +-- end +--} +--local surrr = { +-- utils.surround({ "", "" }, "red", { +-- utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), +-- { provider = "Normal" }, +-- }), +--} +--local statusline = ViMode + +--local TablineBufferBlock = utils.surround({ "", "" }, function(self) +-- if self.is_active then +-- --self.mode = vim.fn.mode(1) -- :h mode() +-- +-- --return utils.get_highlight(vim.api.nvim_get_mode().mode).bg +-- return utils.get_highlight("TabLineSel").bg +-- --return utils.get_highlight("Normal").bg +-- --local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { bg = TabLineSel, fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("TabLine").bg +-- end +--end, { TablineFileNameBlock, TablineCloseButton }) + +local TablineBufferBlock = utils.surround({ "█", "▎" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLine").bg + end +end, { TablineFileNameBlock, TablineCloseButton }) +--█ +--local TablineBufferBlock = { +-- init = function(self) +-- self.mode = vim.fn.mode() +-- end, +-- static = { +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- }, +-- hl = function(self) +-- if conditions.is_active() then +-- return { bg = self.mode_colors[self.mode], fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("Tabline").bg +-- end +-- end, +-- update = { +-- "ModeChanged", +-- }, --optional +-- { TablineFileNameBlock, TablineCloseButton }, +--} + +--local TablineBufferBlock = { +-- static = { +-- mode_colors_map = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- mode_color = function(self) +-- local mode = conditions.is_active() and vim.fn.mode() or "n" +-- return self.mode_colors_map[mode] +-- end, +-- }, +-- { -- A special winbar for terminals +-- condition = function() +-- return conditions.buffer_matches({ buftype = { "terminal" } }) +-- end, +-- utils.surround({ "", "" }, "dark_red", { +-- FileType, +-- Space, +-- TerminalName, +-- }), +-- }, +-- { -- An inactive winbar for regular files +-- condition = function() +-- return conditions.is_not_active() +-- end, +-- utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton } ) +-- }, +-- { +-- condition = function() +-- return conditions.is_active() +-- end, +-- utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ) +-- }, +--function() +--if self.is_active then +--utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), +--utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), +--utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ), +--} +--ViMode = utils.surround({ "", "" }, function(self) +-- if self.is_active then +-- return self:mode_color() +-- else +-- return utils.get_highlight("TabLine").bg +-- end +-- end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } ) +-- +----} +--local TablineBufferBlock = { +-- ViMode, +-- TablineFileName, +-- TablineCloseButton, +--} +-- A winbar for regular files +--utils.surround({ "", "" }, "bright_bg", FileNameBlock), +--utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- if self.is_active then +-- return utils.get_highlight("TabLineSel").bg +-- else +-- return utils.get_highlight("TabLine").bg +-- end +--end, { TablineFileNameBlock, TablineCloseButton, } ) +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) +--local StatusLines = { +-- +-- hl = function() +-- if conditions.is_active() then +-- return "StatusLine" +-- else +-- return "StatusLineNC" +-- end +-- end, +-- +-- -- the first statusline with no condition, or which condition returns true is used. +-- -- think of it as a switch case with breaks to stop fallthrough. +-- fallthrough = false, +-- +-- SpecialStatusline, +-- TerminalStatusline, +-- --InactiveStatusline, +-- DefaultStatusline, +--} +-- +-- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +-- hl = { bg = colors.bg }, +--local TabLine ={ +-- hl = { bg = colors.bg }, +--} +-- Window Close button: Let the callback know from which window it was clicked from! +-- The following is the recommended way of achieving that: +require("heirline").setup(StatusLines, WinBars, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +vim.api.nvim_create_augroup("Heirline", { clear = true }) +vim.api.nvim_create_autocmd("ColorScheme", { + callback = function() + local colors = setup_colors() + utils.on_colorscheme(colors) + end, + group = "Heirline", +}) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) +-- Theming +--local function setup_colors() +-- return { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +-- } +--end +--require('heirline').load_colors(setup_colors()) +-- +--vim.api.nvim_create_augroup("Heirline", { clear = true }) +--vim.api.nvim_create_autocmd("ColorScheme", { +-- callback = function() +-- local colors = setup_colors() +-- utils.on_colorscheme(colors) +-- end, +-- group = "Heirline", +--}) diff --git a/nvim/lua/plugins/heirline.lua b/nvim/lua/plugins/heirline.lua new file mode 100644 index 0000000..007f45a --- /dev/null +++ b/nvim/lua/plugins/heirline.lua @@ -0,0 +1,1124 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + white = "#f8f8f2", + darkgray = "#23232e", + gray = "#2d2b3a", + lightgray = "#d6d3ea", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + purple = "#BF40BF", + violet = "#7F00FF", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local ViMode = { + init = function(self) + self.mode = vim.fn.mode(1) + if not self.once then + vim.cmd("au ModeChanged *:*o redrawstatus") + end + self.once = true + end, + static = { + mode_names = { + n = "NORMAL ", + no = "N·OPERATOR PENDING ", + nov = "N?", + noV = "N?", + ["no\22"] = "N? ", + niI = "Ni", + niR = "Nr", + niV = "Nv", + nt = "Nt", + v = "VISUAL ", + vs = "Vs", + V = "V·LINE ", + ["\22"] = "V·BLOCK ", + ["\22s"] = "V·BLOCK ", + s = "SELECT ", + S = "S·LINE ", + ["\19"] = "S·BLOCK ", + i = "INSERT ", + ix = "insert x ", + ic = "insert c ", + R = "REPLACE ", + Rc = "Rc", + Rx = "Rx", + Rv = "V·REPLACE ", + Rvc = "Rv", + Rvx = "Rv", + c = "COMMAND ", + cv = "VIM EX ", + ce = "EX ", + r = "PROMPT ", + rm = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + t = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + update = { + "ModeChanged", + }, +} + +-- LSP +local LSPActive = { + condition = conditions.lsp_attached, + update = { "LspAttach", "LspDetach" }, + + provider = function() + local buf_clients = vim.lsp.buf_get_clients() + local buf_client_names = {} + + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" then + table.insert(buf_client_names, client.name) + end + end + return "⚙️ " .. table.concat(buf_client_names, "") + end, + hl = { fg = colors.lightgray, bold = false }, +} + +-- Navic +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = colors.white }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = colors.white }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and (" 柳" .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileNameBlock: FileIcon, FileName and friends +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} + +-- FileIcon, FileName, FileFlags and FileNameModifier +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" -- ±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} + +local FileNameModifier = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + --return fmt ~= "unix" and fmt:upper() + return fmt ~= "unix" and fmt:lower() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = " 暈", + hl = { bold = true, fg = colors.yellow }, +} + +local help_file_name = { + condition = function() + return vim.bo.filetype == "help" + end, + provider = function() + local filename = vim.api.nvim_buf_get_name(0) + return vim.fn.fnamemodify(filename, ":t") + end, + hl = { fg = colors.blue }, +} + +-- Cursor position: Ruler +local Ruler = { + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + --provider = "%6(%l:%1.5c/%L%) ", + --provider = "%3(%l:%1.5c/%L%) ", + --provider = "%7(%l/%3L%):%2c ", + provider = "%7(%l:%c%) ", + --provider = "%l:%c ", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, + hl = { fg = colors.darkgray, bold = true }, +} + +local cursor_location = { + { provider = "%l/%L|%c ", hl = { bold = true } }, + { + provider = " %P ", + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +RightSpace = utils.surround( + { "", "" }, + colors.gray, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround( + { "█", "" }, + colors.darkgray, + { RightSpace2, hl = { fg = colors.darkgray, force = true } } +) + +RightSpace3 = utils.surround( + { "█", "" }, + utils.get_highlight("statusline").bg, + { RightSpace3, hl = { fg = colors.darkgray, force = true } } +) + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } }) + +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { + RightSpace3, + hl = { bg = colors.darkgray, force = true }, + }, + { LSPActive, hl = { bg = colors.darkgray, force = true } }, + { RightSpace2, hl = { bg = colors.gray, force = true } }, + { FileInfoBlock, hl = { bg = colors.gray, force = true } }, + { RightSpace, hl = { fg = colors.gray, force = true } }, + --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --utils.make_flexible_component( + -- 3, + -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + -- { provider = "%<" } + --), +} +--local Align = { provider = "%=", hl = { bg = colors.bg } } + +local sections = { left, middle, right } +local DefaultStatusline = { sections } +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar + +local InactiveStatusline = { + condition = conditions.is_not_active, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + --FileType, + --Space, + --Align, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + --hl = { bg = colors.red }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + --{ condition = conditions.is_active, ViMode, Space }, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --FileType, + --Space, + --TerminalName, + --Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + ["\22"] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + ["\19"] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + InactiveStatusline, + DefaultStatusline, +} + +-- WinBar +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +On_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + On_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local Center = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { Space }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), +} + +--local WinBar = { Align, Center, Align } +local WinBar = { Space, Center } + +-- TabLine +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + hl = { fg = colors.white, bold = false }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = colors.red }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "⮘ ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") + { provider = " ⮚", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them and here's some + -- free icons  ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLineFill" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { + provider = "%=", + }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then + self.title = "NvimTree" + return true + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "TablineFill" + end + end, +} + +local TabLine = { + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) diff --git a/nvim/lua/plugins/heirline.lua-202210111610.backup b/nvim/lua/plugins/heirline.lua-202210111610.backup new file mode 100644 index 0000000..e1a54e3 --- /dev/null +++ b/nvim/lua/plugins/heirline.lua-202210111610.backup @@ -0,0 +1,1452 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + white = "#f8f8f2", + --darkgray = "#1c1c29", + --darkgray = "#2d2b3a", + --darkgray = "#181818", + darkgray = "#23232e", + --darkgray = "#404040", + --gray = "#333842", + --gray = "#393547", + --gray = "#333842", + --lightgray = "#888888", + gray = "#2d2b3a", + lightgray = "#d6d3ea", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + ---purple = "#bd93f9", + ---purple = "#be2ed6", + purple = "#BF40BF", + --purple = "#5D3FD3", + --purple = "#DA70D6", + violet = "#7F00FF", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +local ViMode = { + init = function(self) + self.mode = vim.fn.mode(1) + if not self.once then + vim.cmd("au ModeChanged *:*o redrawstatus") + end + self.once = true + end, + static = { + mode_names = { + n = "NORMAL ", + no = "N·OPERATOR PENDING ", + nov = "N?", + noV = "N?", + ["no\22"] = "N? ", + niI = "Ni", + niR = "Nr", + niV = "Nv", + nt = "Nt", + v = "VISUAL ", + vs = "Vs", + V = "V·LINE ", + ["\22"] = "V·BLOCK ", + ["\22s"] = "V·BLOCK ", + s = "SELECT ", + S = "S·LINE ", + ["\19"] = "S·BLOCK ", + i = "INSERT ", + ix = "insert x ", + ic = "insert c ", + R = "REPLACE ", + Rc = "Rc", + Rx = "Rx", + Rv = "V·REPLACE ", + Rvc = "Rv", + Rvx = "Rv", + c = "COMMAND ", + cv = "VIM EX ", + --ce = "EX ", + r = "PROMPT ", + rm = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + t = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + update = { + "ModeChanged", + }, +} + +-- +-- +-- +--  +--凜兩 +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = { "LspAttach", "LspDetach" }, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- +-- provider = function() +-- local names = vim.tbl_values(vim.tbl_map(function(cl) +-- return cl.name +-- end, vim.lsp.buf_get_clients(0))) +-- +-- return "LSP " .. table.concat(names, " ") .. "" +-- end, +-- hl = { fg = colors.bg }, +--} +local LSPActive = { + condition = conditions.lsp_attached, + update = { "LspAttach", "LspDetach" }, + + -- You can keep it simple, + -- provider = " [LSP]", + + -- Or complicate things a bit and get the servers names + provider = function() + local buf_clients = vim.lsp.buf_get_clients() + local buf_ft = vim.bo.filetype + local buf_client_names = {} + + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" then + table.insert(buf_client_names, client.name) + end + end + return "⚙️ " .. table.concat(buf_client_names, "") + --return table.concat(buf_client_names, " ") + --return "⚙️﬉ " .. table.concat(buf_client_names, ", ") .. " " + --return " " .. table.concat(names, " ") .. " " + end, + hl = { fg = colors.lightgray, bold = false }, +} +--local LSPActive = { +-- function(msg) +-- msg = msg or "LS Inactive" +-- local buf_clients = vim.lsp.buf_get_clients() +-- if next(buf_clients) == nil then +-- if type(msg) == "boolean" or #msg == 0 then +-- return "LS Inactive" +-- end +-- return msg +-- end +-- +-- local buf_ft = vim.bo.filetype +-- local buf_client_names = {} +-- +-- -- add client +-- for _, client in pairs(buf_clients) do +-- if client.name ~= "null-ls" then +-- table.insert(buf_client_names, client.name) +-- end +-- end +-- +-- -- add formatter +-- local formatters = require("user.lsp.null-ls.formatters") +-- local supported_formatters = formatters.list_registered(buf_ft) +-- vim.list_extend(buf_client_names, supported_formatters) +-- +-- -- add linter +-- local linters = require("user.lsp.null-ls.linters") +-- local supported_linters = linters.list_registered(buf_ft) +-- vim.list_extend(buf_client_names, supported_linters) +-- +-- return table.concat(buf_client_names, " ") +-- -- return "[" .. table.concat(buf_client_names, ", ") .. "]" +-- end, +-- hl = { fg = colors.bg }, +--} +-- lsp status +-- I personally use it only to display progress messages! +-- See lsp-status/README.md for configuration options. + +-- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +local LSPMessages = { + provider = require("lsp-status").status, + hl = { fg = "gray" }, +} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + --±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +-- hl = { bg = colors.bg }, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + provider = "%3(%l:%1.5c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) ", + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +local Total = { + provider = "%L", + hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%P" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +--local TerminalName = { +-- -- we could add a condition to check that buftype == 'terminal' +-- -- or we could do that later (see #conditional-statuslines below) +-- provider = function() +-- local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") +-- return " " .. tname +-- end, +-- hl = { bold = true, bg = colors.bg }, +--} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) +-- Statusline +--BackgroundStatusline = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) +-- +local Surrr = { + utils.surround({ "", "" }, "gray", { + FileInfoBlock, + hl = { bg = colors.gray }, + utils.surround({ "", "" }, "gray", { + Percentage, + utils.surround({ "", "" }, function(self) + return self:mode_color() + end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), + }), + }), +} + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +-- +RightSpace = utils.surround( + { "", "" }, + colors.gray, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround( + { "█", "" }, + colors.darkgray, + { RightSpace2, hl = { fg = colors.darkgray, force = true } } +) + +RightSpace3 = utils.surround( + { "█", "" }, + utils.get_highlight("statusline").bg, + { RightSpace3, hl = { fg = colors.darkgray, force = true } } +) +--RightSpace = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +---- +-- +--Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) +-- + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.gray, { Space, Ruler, hl = { fg = colors.gray, force = true } }) + +local align = { provider = "%=" } +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { + RightSpace3, + hl = { bg = colors.darkgray, force = true }, + }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { LSPActive, hl = { bg = colors.darkgray, force = true } }, + --{ FileEncoding, hl = { bg = colors.orange, force = true } }, + { RightSpace2, hl = { bg = colors.gray, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileInfoBlock, hl = { bg = colors.gray, force = true } }, + --{ Space, hl = { bg = colors.red, force = true } }, + --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = colors.gray, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local sections = { left, middle, right } +local DefaultStatusline = { sections } + +--local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } +--local statusline = { +--Space, +--Space, +--Git, +--Space, +--Diagnostics, +--Align, +--Navic, +--DAPMessages, +--Align, +--Space, +--FileInfoBlock, +--Space, +--WordCount, +--Ruler, +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +--} + +local InactiveStatusline = { + condition = conditions.is_not_active, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + --FileType, + --Space, + --Align, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + --hl = { bg = colors.red }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + --{ condition = conditions.is_active, ViMode, Space }, + + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --FileType, + --Space, + --TerminalName, + --Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + ["\22"] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + ["\19"] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + --mode_colors_map = { + -- n = colors.blue, + -- i = colors.green, + -- v = colors.purple, + -- V = colors.violet, + -- [""] = colors.red, + -- c = colors.yellow, + -- s = colors.orange, + -- S = colors.orange, + -- [""] = colors.purple, + -- R = colors.orange, + -- r = colors.orange, + -- ["!"] = colors.red, + -- t = colors.red, + }, + --mode_color = function(self) + -- local mode = conditions.is_active() and vim.fn.mode() or "n" + -- return self.mode_colors_map[mode] + --end, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + InactiveStatusline, + DefaultStatusline, +} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local active_middle_segment = { --{{{ + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), + }, +} + +--local WinBar = { +-- Fill, +-- active_middle_segment, +-- Fill, +--} +local WinBar = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, colors.nobg, FileNameBlock), +} + +-- TabLine +-- + +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + --+ + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) +--require("heirline").setup(StatusLine, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/nvim/lua/plugins/heirlinenew.lua b/nvim/lua/plugins/heirlinenew.lua new file mode 100644 index 0000000..64a33b2 --- /dev/null +++ b/nvim/lua/plugins/heirlinenew.lua @@ -0,0 +1,1342 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + white = "#f8f8f2", + gray = "#23232e", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + purple = "#bd93f9", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +--local function setup_colors() +-- return { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +-- } +--end +--require('heirline').load_colors(setup_colors()) +-- +--vim.api.nvim_create_augroup("Heirline", { clear = true }) +--vim.api.nvim_create_autocmd("ColorScheme", { +-- callback = function() +-- local colors = setup_colors() +-- utils.on_colorscheme(colors) +-- end, +-- group = "Heirline", +--}) + +local ViMode = { + static = { + mode_names = { -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color, fg = colors.bg, bold = true } + end, +} + +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = { "LspAttach", "LspDetach" }, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +--} + +local LSPActive = { + condition = conditions.lsp_attached, + + provider = function() + local names = vim.tbl_values(vim.tbl_map(function(cl) + return cl.name + end, vim.lsp.buf_get_clients(0))) + + return "LSP [" .. table.concat(names, " ") .. "]" + end, + hl = { fg = colors.green }, +} +-- lsp status +-- I personally use it only to display progress messages! +-- See lsp-status/README.md for configuration options. + +-- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +local LSPMessages = { + provider = require("lsp-status").status, + hl = { fg = "gray" }, +} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + --±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +-- hl = { bg = colors.bg }, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + provider = "%6(%l:%1.5c/%L%) ", + hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%P" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + hl = { bold = true, bg = colors.bg }, +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) +-- Statusline +--BackgroundStatusline = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) +-- +local Surrr = { + utils.surround({ "", "" }, "gray", { + FileInfoBlock, + hl = { bg = colors.gray }, + utils.surround({ "", "" }, "gray", { + Percentage, + utils.surround({ "", "" }, function(self) + return self:mode_color() + end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), + }), + }), +} + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +-- +RightSpace = utils.surround( + { "", "" }, + colors.red, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround({ "", "" }, colors.orange, { RightSpace2, hl = { bg = colors.red, force = true } }) +--RightSpace = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +---- +-- +--Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) +-- + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.orange, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.red, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.red, { Space, Ruler, hl = { fg = colors.red, force = true } }) + +local align = { provider = "%=" } +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { LSPActive, hl = { bg = colors.orange, force = true } }, + --{ FileEncoding, hl = { bg = colors.orange, force = true } }, + { RightSpace2, hl = { fg = colors.orange, bg = colors.red, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileInfoBlock, hl = { bg = colors.red, force = true } }, + --{ Space, hl = { bg = colors.red, force = true } }, + --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = colors.red, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local sections = { left, align, middle, align, right } +local DefaultStatusline = { sections } + +--local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } +--local statusline = { +--Space, +--Space, +--Git, +--Space, +--Diagnostics, +--Align, +--Navic, +--DAPMessages, +--Align, +--Space, +--FileInfoBlock, +--Space, +--WordCount, +--Ruler, +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +--} + +--local InactiveStatusline = { +-- condition = conditions.is_not_active, +-- FileType, +-- Space, +-- FileName, +-- Align, +--} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + FileType, + Space, + Align, + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + hl = { bg = "dark_red" }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + { condition = conditions.is_active, ViMode, Space }, + FileType, + Space, + TerminalName, + Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + --mode_colors_map = { + -- n = colors.blue, + -- i = colors.green, + -- v = colors.purple, + -- V = colors.violet, + -- [""] = colors.red, + -- c = colors.yellow, + -- s = colors.orange, + -- S = colors.orange, + -- [""] = colors.purple, + -- R = colors.orange, + -- r = colors.orange, + -- ["!"] = colors.red, + -- t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + --InactiveStatusline, + DefaultStatusline, +} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local active_middle_segment = { --{{{ + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + }, +} + +--local WinBar = { +-- Fill, +-- active_middle_segment, +-- Fill, +--} +local WinBar = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, "bright_bg", FileNameBlock), +} + +-- TabLine +-- + +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + --+ + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) +--require("heirline").setup(StatusLine, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/nvim/lua/plugins/linecolor.lua b/nvim/lua/plugins/linecolor.lua new file mode 100644 index 0000000..37550dd --- /dev/null +++ b/nvim/lua/plugins/linecolor.lua @@ -0,0 +1,112 @@ +--local M = {} +--M.theme = function() +-- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future +-- local colors = { +-- nobg = nil, +-- blue = "#87b0f9", +-- mauve = "#cba6f7", +-- red = "#f38ba8", +-- green = "#a6e3a1", +-- peach = "#fab387", +-- white = "#c6d0f5", +-- gray = "#a1a8c9", +-- black = "#1e1e2e", +-- } +-- return { +-- inactive = { +-- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, +-- b = { fg = colors.white, bg = colors.black }, +-- c = { fg = colors.gray, bg = colors.nobg }, +-- }, +-- visual = { +-- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, +-- b = { fg = colors.mauve, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- replace = { +-- a = { fg = colors.black, bg = colors.red, gui = "bold" }, +-- b = { fg = colors.red, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- normal = { +-- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, +-- b = { fg = colors.black, bg = colors.green }, +-- c = { fg = colors.white, bg = colors.black }, +-- }, +-- insert = { +-- a = { fg = colors.black, bg = colors.green, gui = "bold" }, +-- b = { fg = colors.teal, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- command = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- modified = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.peach }, +-- c = { fg = colors.white, bg = colors.peach }, +-- }, +-- } +--end +--return M +local M = {} +M.theme = function() + --local colors = { + -- darkgray = "#16161d", + -- gray = "#727169", + -- innerbg = nil, + -- outerbg = "#16161D", + -- normal = "#7e9cd8", + -- insert = "#98bb6c", + -- visual = "#ffa066", + -- replace = "#e46876", + -- command = "#e6c384", + --} + local colors = { + darkgray = "#16161d", + gray = "#727169", + innerbg = nil, + outerbg = "#16161D", + normal = "#39BAE6", + insert = "#AAD94C", + visual = "#FA8D3F", + replace = "#F07171", + command = "#F2AE49", + } + return { + inactive = { + a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + visual = { + a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + replace = { + a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + normal = { + a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + y = { fg = colors.gray, bg = colors.outerbg }, + }, + insert = { + a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + command = { + a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + } +end +return M diff --git a/nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua b/nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua new file mode 100644 index 0000000..dd25d9a --- /dev/null +++ b/nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua @@ -0,0 +1,301 @@ +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({ + single_file_support = true, + on_attach = function(client, bufnr) + print('hello') + lspconfig.util.default_config.on_attach(client, bufnr) + end +}) + +vim.api.nvim_create_autocmd('User', { + pattern = 'LspAttached', + desc = 'LSP actions', + callback = function() + local bufmap = function(mode, lhs, rhs) + local opts = {buffer = true} + vim.keymap.set(mode, lhs, rhs, opts) + end + + -- Displays hover information about the symbol under the cursor + bufmap('n', 'K', 'lua vim.lsp.buf.hover()') + + -- Jump to the definition + bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') + + -- Jump to declaration + bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') + + -- Lists all the implementations for the symbol under the cursor + bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') + + -- Jumps to the definition of the type symbol + bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') + + -- Lists all the references + bufmap('n', 'gr', 'lua vim.lsp.buf.references()') + + -- Displays a function's signature information + bufmap('n', '', 'lua vim.lsp.buf.signature_help()') + + -- Renames all references to the symbol under the cursor + bufmap('n', '', 'lua vim.lsp.buf.rename()') + + -- Selects a code action available at the current cursor position + bufmap('n', '', 'lua vim.lsp.buf.code_action()') + bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') + + -- Show diagnostics in a floating window + bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') + + -- Move to the previous diagnostic + bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') + + -- Move to the next diagnostic + bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') + end +}) + +-- +---Snippets +-- +require('luasnip.loaders.from_vscode').lazy_load() + +-- +--- Autocompletion/nvim-cmp +-- +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + +}) + +snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end +}, + +sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, +}, + +window = { + documentation = cmp.config.window.bordered() +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'} +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, +}, + +mapping = { + [''] = cmp.mapping.confirm({select = true}), +} +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), + +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), +[''] = cmp.mapping.scroll_docs(-4), +[''] = cmp.mapping.scroll_docs(4), +[''] = cmp.mapping.abort(), +[''] = cmp.mapping.confirm({select = true}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end +end, {'i', 's'}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end +end, {'i', 's'}), + +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} + +require('luasnip.loaders.from_vscode').lazy_load() + +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end + }, + sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, + }, + window = { + documentation = cmp.config.window.bordered() + }, + formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, + }, + mapping = { + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({select = true}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + local col = vim.fn.col('.') - 1 + + if cmp.visible() then + cmp.select_next_item(select_opts) + elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then + fallback() + else + cmp.complete() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item(select_opts) + else + fallback() + end + end, {'i', 's'}), + }, +}) + + +vim.diagnostic.config({ + virtual_text = false, + severity_sort = true, + float = { + border = 'rounded', + source = 'always', + header = '', + prefix = '', + }, +}) + +vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( + vim.lsp.handlers.hover, + {border = 'rounded'} +) + +vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( + vim.lsp.handlers.signature_help, + {border = 'rounded'} +) + +require('mason').setup() +require('mason-lspconfig').setup() + + +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({}) + + + + + + + + diff --git a/nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua b/nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua new file mode 100644 index 0000000..dd25d9a --- /dev/null +++ b/nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua @@ -0,0 +1,301 @@ +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({ + single_file_support = true, + on_attach = function(client, bufnr) + print('hello') + lspconfig.util.default_config.on_attach(client, bufnr) + end +}) + +vim.api.nvim_create_autocmd('User', { + pattern = 'LspAttached', + desc = 'LSP actions', + callback = function() + local bufmap = function(mode, lhs, rhs) + local opts = {buffer = true} + vim.keymap.set(mode, lhs, rhs, opts) + end + + -- Displays hover information about the symbol under the cursor + bufmap('n', 'K', 'lua vim.lsp.buf.hover()') + + -- Jump to the definition + bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') + + -- Jump to declaration + bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') + + -- Lists all the implementations for the symbol under the cursor + bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') + + -- Jumps to the definition of the type symbol + bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') + + -- Lists all the references + bufmap('n', 'gr', 'lua vim.lsp.buf.references()') + + -- Displays a function's signature information + bufmap('n', '', 'lua vim.lsp.buf.signature_help()') + + -- Renames all references to the symbol under the cursor + bufmap('n', '', 'lua vim.lsp.buf.rename()') + + -- Selects a code action available at the current cursor position + bufmap('n', '', 'lua vim.lsp.buf.code_action()') + bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') + + -- Show diagnostics in a floating window + bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') + + -- Move to the previous diagnostic + bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') + + -- Move to the next diagnostic + bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') + end +}) + +-- +---Snippets +-- +require('luasnip.loaders.from_vscode').lazy_load() + +-- +--- Autocompletion/nvim-cmp +-- +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + +}) + +snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end +}, + +sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, +}, + +window = { + documentation = cmp.config.window.bordered() +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'} +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, +}, + +mapping = { + [''] = cmp.mapping.confirm({select = true}), +} +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), + +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), +[''] = cmp.mapping.scroll_docs(-4), +[''] = cmp.mapping.scroll_docs(4), +[''] = cmp.mapping.abort(), +[''] = cmp.mapping.confirm({select = true}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end +end, {'i', 's'}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end +end, {'i', 's'}), + +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} + +require('luasnip.loaders.from_vscode').lazy_load() + +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end + }, + sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, + }, + window = { + documentation = cmp.config.window.bordered() + }, + formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, + }, + mapping = { + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({select = true}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + local col = vim.fn.col('.') - 1 + + if cmp.visible() then + cmp.select_next_item(select_opts) + elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then + fallback() + else + cmp.complete() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item(select_opts) + else + fallback() + end + end, {'i', 's'}), + }, +}) + + +vim.diagnostic.config({ + virtual_text = false, + severity_sort = true, + float = { + border = 'rounded', + source = 'always', + header = '', + prefix = '', + }, +}) + +vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( + vim.lsp.handlers.hover, + {border = 'rounded'} +) + +vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( + vim.lsp.handlers.signature_help, + {border = 'rounded'} +) + +require('mason').setup() +require('mason-lspconfig').setup() + + +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({}) + + + + + + + + diff --git a/nvim/lua/plugins/lsp-colors.lua b/nvim/lua/plugins/lsp-colors.lua new file mode 100644 index 0000000..1398123 --- /dev/null +++ b/nvim/lua/plugins/lsp-colors.lua @@ -0,0 +1,9 @@ +local status, colors = pcall(require, "lsp-colors") +if (not status) then return end + +colors.setup { + Error = "#db4b4b", + Warning = "#e0af68", + Information = "#0db9d7", + Hint = "#10B981" +} diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua new file mode 100644 index 0000000..59bb3f4 --- /dev/null +++ b/nvim/lua/plugins/lsp.lua @@ -0,0 +1,231 @@ +local fn = vim.fn +local keymap = vim.keymap + +local utils = require("utils") + +local custom_attach = function(client, bufnr) + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + + map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) + map("n", "", vim.lsp.buf.definition) + map("n", "K", vim.lsp.buf.hover) + map("n", "", vim.lsp.buf.signature_help) + map("n", "rn", vim.lsp.buf.rename, { desc = "varialbe rename" }) + map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) + map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) + map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) + map("n", "q", function() + vim.diagnostic.setqflist({ open = true }) + end, { desc = "put diagnostic to qf" }) +-- map("n", "ca", vim.lsp.buf.code_action, { desc = "LSP code action" }) +-- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) +-- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) +-- map("n", "wl", function() +-- inspect(vim.lsp.buf.list_workspace_folders()) +-- end, { desc = "list workspace folder" }) + + -- Set some key bindings conditional on server capabilities + if client.server_capabilities.documentFormattingProvider then + map("n", "f", vim.lsp.buf.format, { desc = "format code" }) + end + + vim.api.nvim_create_autocmd("CursorHold", { + buffer = bufnr, + callback = function() + local float_opts = { + focusable = false, + close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, + border = "rounded", + source = "always", -- show source in diagnostic popup window + prefix = " ", + } + + if not vim.b.diagnostics_pos then + vim.b.diagnostics_pos = { nil, nil } + end + + local cursor_pos = vim.api.nvim_win_get_cursor(0) + if + (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) + and #vim.diagnostic.get() > 0 + then + vim.diagnostic.open_float(nil, float_opts) + end + + vim.b.diagnostics_pos = cursor_pos + end, + }) + + -- The below command will highlight the current variable and its usages in the buffer. + if client.server_capabilities.documentHighlightProvider then + vim.cmd([[ + hi! link LspReferenceRead Visual + hi! link LspReferenceText Visual + hi! link LspReferenceWrite Visual + augroup lsp_document_highlight + autocmd! * + autocmd CursorHold lua vim.lsp.buf.document_highlight() + autocmd CursorMoved lua vim.lsp.buf.clear_references() + augroup END + ]]) + end + + if vim.g.logging_level == "debug" then + local msg = string.format("Language server %s started!", client.name) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) + end +end + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) +capabilities.textDocument.completion.completionItem.snippetSupport = true + +local lspconfig = require("lspconfig") + +if utils.executable("pylsp") then + lspconfig.pylsp.setup({ + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + }) +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup({ + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + }) +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup({ + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + }) +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup({ + on_attach = custom_attach, + capabilities = capabilities, + }) +end + +if utils.executable("lua-language-server") then + lspconfig.sumneko_lua.setup({ + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + }) +end + +--lspconfig.sumneko_lua.setup({ +-- single_file_support = true, +-- on_attach = function(client, bufnr) +-- print('hello') +-- lspconfig.util.default_config.on_attach(client, bufnr) +-- end +--}) + +-- Global config for diagnostic +vim.diagnostic.config({ + underline = false, + virtual_text = false, + signs = true, + severity_sort = true, + float = { + border = 'rounded', + source = 'always', + header = '', + prefix = '', + }, +}) + +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + underline = false, + virtual_text = false, + signs = true, + update_in_insert = false, +}) + +vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( + vim.lsp.handlers.hover, + {border = 'rounded'} +) + +vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( + vim.lsp.handlers.signature_help, + {border = 'rounded'} +) + + +--local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } +local signs = { Error = "✘", Warn = "▲", Info = "􀅴 ", Hint = "⚑" } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end + diff --git a/nvim/lua/plugins/lspOld.lsp b/nvim/lua/plugins/lspOld.lsp new file mode 100644 index 0000000..206ea57 --- /dev/null +++ b/nvim/lua/plugins/lspOld.lsp @@ -0,0 +1,531 @@ +-- lspconfig + nvim-cmp + lspsaga +-- Dependencies +-- nvim-lspconfig +-- nvim-cmp +-- cmp-buffer +-- cmp-path +-- cmp_luasnip +-- cmp-nvim-lsp +-- LuaSnip +-- friendly-snippets +local fn = vim.fn +local api = vim.api +local keymap = vim.keymap +local lsp = vim.lsp + +local utils = require("utils") + +local custom_attach = function(client, bufnr) + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + + +local lsp_defaults = { + flags = { + debounce_text_changes = 150, -- Amount of miliseconds neovim will wait to send the next document update notification. + }, + + -- The data on this option is send to the server, to announce what features the editor can support. + capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds("User", { pattern = "LspAttached" }) + end, +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +--- +-- LSP Servers +--- + +if utils.executable("pylsp") then + lspconfig.pylsp.setup { + on_attach = custom_attach, + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + } +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup { + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + } +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup { + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + } +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup { + on_attach = custom_attach, + capabilities = capabilities, + } +end + +if utils.executable("lua-language-server") then + -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . + lspconfig.sumneko_lua.setup { + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + } +end +-- Lua +lspconfig.sumneko_lua.setup({ + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, + single_file_support = true, + on_attach = function(client, bufnr) + print('hello') + lspconfig.util.default_config.on_attach(client, bufnr) + end +}) + +lspconfig.sumneko_lua.setup({ +on_attach = custom_attach, +settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + -- Setup your lua path + path = runtime_path, + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, +}, +}) + + lspconfig.sumneko_lua.setup { + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + } + +require'lspconfig'.sumneko_lua.setup { + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, +} + + + +require'lspconfig'.sumneko_lua.setup{} + + +**Default values:** + - `cmd` : + { "lua-language-server" } + - `filetypes` : + - `log_level` : + ```lua + 2 + ``` + - `root_dir` : + ```lua + root_pattern(".luarc.json", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", ".git") + ``` + - `settings` : + ```lua + { + Lua = { + telemetry = { + enable = false + } + } + } + - `single_file_support` : + true + + + + + + + + + + + + + + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.ccls.setup{} +``` + + +**Default values:** + - `cmd` : + ```lua + { "ccls" } + ``` + - `filetypes` : + ```lua + { "c", "cpp", "objc", "objcpp" } + ``` + - `offset_encoding` : + ```lua + "utf-32" + ``` + - `root_dir` : + ```lua + root_pattern('compile_commands.json', '.ccls', '.git') + ``` + - `single_file_support` : + ```lua + false + ``` + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.clangd.setup{} +``` +**Commands:** +- ClangdSwitchSourceHeader: Switch between source/header + +**Default values:** + - `capabilities` : + ```lua + default capabilities, with offsetEncoding utf-8 + ``` + - `cmd` : + ```lua + { "clangd" } + ``` + - `filetypes` : + ```lua + { "c", "cpp", "objc", "objcpp", "cuda", "proto" } + ``` + - `root_dir` : + ```lua + root_pattern( + '.clangd', + '.clang-tidy', + '.clang-format', + 'compile_commands.json', + 'compile_flags.txt', + 'configure.ac', + '.git' + ) + + ``` + - `single_file_support` : + ```lua + true + ``` + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.pyright.setup{} +``` +**Commands:** +- PyrightOrganizeImports: Organize Imports + +**Default values:** + - `cmd` : + ```lua + { "pyright-langserver", "--stdio" } + ``` + - `filetypes` : + ```lua + { "python" } + ``` + - `root_dir` : + ```lua + see source file + ``` + - `settings` : + ```lua + { + python = { + analysis = { + autoSearchPaths = true, + diagnosticMode = "workspace", + useLibraryCodeForTypes = true + } + } + } + ``` + - `single_file_support` : + ```lua + true + ``` + +## rls + +https://github.com/rust-lang/rls + +rls, a language server for Rust + +See https://github.com/rust-lang/rls#setup to setup rls itself. +See https://github.com/rust-lang/rls#configuration for rls-specific settings. +All settings listed on the rls configuration section of the readme +must be set under settings.rust as follows: + +```lua +nvim_lsp.rls.setup { + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + }, +} +``` + +If you want to use rls for a particular build, eg nightly, set cmd as follows: + +```lua +cmd = {"rustup", "run", "nightly", "rls"} +``` + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rls.setup{} +``` + + +**Default values:** + - `cmd` : + ```lua + { "rls" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml") + ``` + + +## rust_analyzer + +https://github.com/rust-analyzer/rust-analyzer + +rust-analyzer (aka rls 2.0), a language server for Rust + +See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rust_analyzer.setup{} +``` +**Commands:** +- CargoReload: Reload current cargo workspace + +**Default values:** + - `cmd` : + ```lua + { "rust-analyzer" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml", "rust-project.json") + ``` + - `settings` : + ```lua + { + ["rust-analyzer"] = {} + } + ``` + +## rust_analyzer + +https://github.com/rust-analyzer/rust-analyzer + +rust-analyzer (aka rls 2.0), a language server for Rust + +See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rust_analyzer.setup{} +``` +**Commands:** +- CargoReload: Reload current cargo workspace + +**Default values:** + - `cmd` : + ```lua + { "rust-analyzer" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml", "rust-project.json") + ``` + - `settings` : + ```lua + { + ["rust-analyzer"] = {} + } + ``` + + diff --git a/nvim/lua/plugins/lspconfig.lua b/nvim/lua/plugins/lspconfig.lua new file mode 100644 index 0000000..a130dcd --- /dev/null +++ b/nvim/lua/plugins/lspconfig.lua @@ -0,0 +1,148 @@ +--vim.lsp.set_log_level("debug") + +local status, nvim_lsp = pcall(require, "lspconfig") +if not status then + return +end + +local protocol = require("vim.lsp.protocol") + +-- Use an on_attach function to only map the following keys +-- after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + local function buf_set_keymap(...) + vim.api.nvim_buf_set_keymap(bufnr, ...) + end + + local function buf_set_option(...) + vim.api.nvim_buf_set_option(bufnr, ...) + end + + --Enable completion triggered by + buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") + + -- Mappings. + local opts = { noremap = true, silent = true } + + -- See `:help vim.lsp.*` for documentation on any of the below functions + buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) -- most of the lsp server don't implement textDocument/Declaration, so gD is useless for now. + --buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) + --buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + + -- add rust specific keymappings + if client.name == "rust_analyzer" then + buf_set_keymap("n", "rr", "RustRunnables", opts) + buf_set_keymap("n", "ra", "RustHoverAction", opts) + end + + -- formatting + if client.server_capabilities.documentFormattingProvider then + vim.api.nvim_create_autocmd("BufWritePre", { + group = vim.api.nvim_create_augroup("Format", { clear = true }), + buffer = bufnr, + callback = function() + vim.lsp.buf.format() + end, + }) + end +end + +protocol.CompletionItemKind = { + -- "", -- Text + -- "", -- Method + -- "", -- Function + -- "", -- Constructor + -- "", -- Field + -- "", -- Variable + -- "", -- Class + -- "ﰮ", -- Interface + -- "", -- Module + -- "", -- Property + -- "", -- Unit + -- "", -- Value + -- "", -- Enum + -- "", -- Keyword + -- "", -- Snippet + -- "", -- Color + -- "", -- File + -- "", -- Reference + -- "", -- Folder + -- "", -- EnumMember + -- "", -- Constant + -- "", -- Struct + -- "", -- Event + -- "ﬦ", -- Operator + -- "", -- TypeParameter + File = { icon = "", hl = "TSURI" }, + Module = { icon = "", hl = "TSNamespace" }, + Namespace = { icon = "", hl = "TSNamespace" }, + Package = { icon = "", hl = "TSNamespace" }, + Class = { icon = "ﴯ", hl = "TSType" }, + Method = { icon = "", hl = "TSMethod" }, + Property = { icon = "", hl = "TSMethod" }, + Field = { icon = "", hl = "TSField" }, + Constructor = { icon = "", hl = "TSConstructor" }, + Enum = { icon = "", hl = "TSType" }, + Interface = { icon = "", hl = "TSType" }, + Function = { icon = "", hl = "TSFunction" }, + Variable = { icon = "", hl = "TSConstant" }, + Constant = { icon = "", hl = "TSConstant" }, + String = { icon = "ﮜ", hl = "TSString" }, + Number = { icon = "", hl = "TSNumber" }, + Boolean = { icon = "ﮒ", hl = "TSBoolean" }, + Array = { icon = "", hl = "TSConstant" }, + Object = { icon = "⦿", hl = "TSType" }, + Key = { icon = "", hl = "TSType" }, + Null = { icon = "ﳠ", hl = "TSType" }, + EnumMember = { icon = "", hl = "TSField" }, + Struct = { icon = "ﴯ", hl = "TSType" }, + Event = { icon = "🗲", hl = "TSType" }, + Operator = { icon = "+", hl = "TSOperator" }, + TypeParameter = { icon = "𝙏", hl = "TSParameter" }, +} + +-- Set up completion using nvim_cmp with LSP source +local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) + +nvim_lsp.flow.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) + +nvim_lsp.sumneko_lua.setup({ + on_attach = on_attach, + settings = { + Lua = { + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, + }, + }, + }, +}) + +-- Diagnostic symbols in the sign column (gutter) +--local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } +--local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } +local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end +-- +vim.diagnostic.config({ + virtual_text = { + prefix = "●", + }, + update_in_insert = true, + float = { + source = "always", -- Or "if_many" + }, +}) diff --git a/nvim/lua/plugins/lspkind.lua b/nvim/lua/plugins/lspkind.lua new file mode 100644 index 0000000..72ca5c2 --- /dev/null +++ b/nvim/lua/plugins/lspkind.lua @@ -0,0 +1,47 @@ +local status, lspkind = pcall(require, "lspkind") +if (not status) then return end + +lspkind.init({ + -- enables text annotations + -- + -- default: true + mode = 'symbol', + + -- default symbol map + -- can be either 'default' (requires nerd-fonts font) or + -- 'codicons' for codicon preset (requires vscode-codicons font) + -- + -- default: 'default' + preset = 'codicons', + + -- override preset symbols + -- + -- default: {} + symbol_map = { + Text = "", + Method = "", + Function = "", + Constructor = "", + Field = "ﰠ", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "塞", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "פּ", + Event = "", + Operator = "", + TypeParameter = "" + }, +}) diff --git a/nvim/lua/plugins/lspsaga.lua b/nvim/lua/plugins/lspsaga.lua new file mode 100644 index 0000000..ceb1099 --- /dev/null +++ b/nvim/lua/plugins/lspsaga.lua @@ -0,0 +1,61 @@ +local status, saga = pcall(require, "lspsaga") +if not status then + return +end + +saga.init_lsp_saga({ + -- when cursor in saga window you config these to move + move_in_saga = { prev = "k", next = "j" }, + diagnostic_header = { " ", " ", " ", " " }, + scroll_in_preview = { + scroll_down = "", + scroll_up = "", + }, + code_action_icon = "ﯦ ", + -- Same as nvim-lightbulb but async + code_action_lightbulb = { + sign = false, + virtual_text = true, + }, + finder_icons = { + def = " ", + ref = " ", + link = " ", + }, + finder_action_keys = { + open = "", + "o", + vsplit = "gv", + split = "gs", + tabe = "t", + quit = "gq", + scroll_down = "", + scroll_up = "", + }, + + -- Show symbols in winbar must be neovim 0.8.0, + -- Close it until neovim 0.8.0 become stable + symbol_in_winbar = { + in_custom = false, + --enable = enable_winbar, + separator = "  ", + show_file = true, + click_support = false, + }, +}) + + -- Mappings. +local map = vim.api.nvim_set_keymap +local opts = { noremap = true, silent = true } + +map("n", "gd", "Lspsaga lsp_finder", opts) -- Press "o" to open the reference location +map("n", "gp", "Lspsaga peek_definition", opts) +map("n", "K", "Lspsaga hover_doc", opts) +map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) +map("n", "gj", "Lspsaga diagnostic_jump_next", opts) +map("n", "gs", "Lspsaga signature_help", opts) -- Default is +map("n", "go", "Lspsaga show_line_diagnostics", opts) +map("n", "gr", "Lspsaga rename", opts) +map("n", "ga", "Lspsaga code_action", opts) +map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) +map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..9d86e21 --- /dev/null +++ b/nvim/lua/plugins/lualine.lua @@ -0,0 +1,423 @@ +local lualine_status_ok, lualine = pcall(require, "lualine") +if not lualine_status_ok then + print("lualine.nvim is etiher broken or is not installed.") + return +end + +--local colors = require('tokyonight.colors').setup() +--local colors = { +--bg_dark = "#1f2335", +--bg = "#24283b", +--fg = "#c0caf5", +--fg_gutter = "#3b4261", +--green = "#a6e3a1", +--red = "#f38ba8", +--} + +--local colors = { +-- gray = '#23232e', +-- lightgray = '#5f6a8e', +-- orange = '#ffb86c', +-- purple = '#bd93f9', +-- red = '#ff5555', +-- yellow = '#f1fa8c', +-- green = '#50fa7b', +-- white = '#f8f8f2', +-- black = '#282a36', +--} +local colors = { + nobg = nil, + blue = "#87b0f9", + mauve = "#cba6f7", + red = "#f38ba8", + green = "#a6e3a1", + peach = "#fab387", + white = "#c6d0f5", + gray = "#a1a8c9", + black = "#1e1e2e", + innerbg = nil, + outerbg = "#16161D", +} +--require("lualine").setup({ +-- Your lua part of config goes here +require("lualine").setup({ + options = { + icons_enabled = true, + --theme = "auto", + theme = require("plugins.linecolor").theme(), + --theme = { + -- We are going to use lualine_c an lualine_x as left and + -- right section. Both are highlighte by c theme . So we + -- are just setting default looks o statusline + --normal = { c = { fg = colors.fg, bg = colors.bg } }, + --inactive = { c = { fg = colors.fg, bg = colors.bg } }, + --}, + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + --component_separators = { left = '|', right = '|'}, + --section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = true, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + }, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { + "branch", + { + "diff", + colored = true, + diff_color = { + added = "DiffAdd", + modified = "DiffChange", + removed = "DiffDelete", + }, + }, + { + "diagnostics", + + sources = { "nvim_lsp" }, + sections = { "error", "warn", "info" }, + + diagnostics_color = { + error = "DiagnosticError", + warn = "DiagnosticWarn", + info = "DiagnosticInfo", + }, + colored = true, + update_in_insert = false, + always_visible = false, + }, + }, + --lualine_b = { "branch", "diff", "diagnostics" }, + lualine_c = { + --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, + --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, + --{ "filetype", + -- icon_only = true, + --}, + { + "filename", + --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, + --component_separators = {left = "", right = ""}, + }, + }, + lualine_x = { "encoding", "fileformat", "filetype" }, + --lualine_x = { + -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + --}, + lualine_y = { "progress" }, + lualine_z = { "location" }, + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = { "location" }, + lualine_y = {}, + lualine_z = {}, + }, + -- tabline = {}, + tabline = { + --lualine_a = { "mode" }, + --lualine_a = {custom_fname}, + lualine_a = { + { + "buffers", + show_filename_only = false, + show_modified_status = true, + mode = 4, + buffers_color = { + active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer + --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer + --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer + --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer + ----color = function() + ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } + ----end, + }, + symbols = { + modified = " ●", -- Text to show when the buffer is modified + alternate_file = "", -- Text to show to identify the alternate file + --directory = "", -- Text to show when the buffer is a directory + }, + max_length = vim.o.columns * 5 / 6, + --{{function() + -- local bg = 'hi! lualine_buffers_color' -- not modified + -- if vim.bo.modified then bg = '#c70039' -- unsaved + -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly + -- vim.cmd('hi! lualine_buffers_color guibg='..bg) + --end, + --color = 'hi! lualine_buffers_color', + --}}, + }, + }, + lualine_b = {}, + lualine_c = {}, + lualine_x = {}, + lualine_y = {}, + lualine_z = {}, + --lualine_z = { "tabs" }, + }, + --tabline = { + -- lualine_a = { "mode" }, + -- lualine_b = { "buffers" }, + -- lualine_c = { "branch" }, + -- --lualine_c = { "branch", "diff", "diagnostics" }, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = { "tabs" }, + --}, + --winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {'filename'}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + --inactive_winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + winbar = {}, + inactive_winbar = {}, + --extensions = {}, + extensions = { "quickfix" }, +}) +--require("lualine").statusline() +--require("lualine").tabline() +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local lualine_status_ok, lualine = pcall(require, "lualine") +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local utils = require("heirline.utils") + +--local M = {} + +-- stylua: ignore start +--M.colours = {--{{{ +---- Color table for highlights +---- stylua: ignore +--local colors = { +-- bg = '#2E3440', +-- fg = '#E5E9F0', +-- yellow = '#EBCB8B', +-- cyan = '#88C0D0', +-- darkblue = '#5E81AC', +-- green = '#A3BE8C', +-- orange = '#D08770', +-- violet = '#B48EAD', +-- magenta = '#B48EAD', +-- blue = '#81A1C1', +-- red = '#BF616A', +--} +-- +--local conditions = { +-- buffer_not_empty = function() +-- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 +-- end, +-- hide_in_width = function() +-- return vim.fn.winwidth(0) > 80 +-- end, +-- check_git_workspace = function() +-- local filepath = vim.fn.expand("%:p:h") +-- local gitdir = vim.fn.finddir(".git", filepath .. ";") +-- return gitdir and #gitdir > 0 and #gitdir < #filepath +-- end, +--} + +-- Config +--local config = { +--require('lualine').setup { +-- options = { +-- -- Disable sections and component separators +-- component_separators = "", +-- section_separators = "", +-- theme = { +-- -- We are going to use lualine_c an lualine_x as left and +-- -- right section. Both are highlighte by c theme . So we +-- -- are just setting default looks o statusline +-- normal = { c = { fg = colors.fg, bg = colors.bg } }, +-- inactive = { c = { fg = colors.fg, bg = colors.bg } }, +-- }, +-- disabled_filetypes = { "NvimTree" }, +-- }, +-- sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- -- These will be filled later +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +-- inactive_sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +--} +-- +---- Inserts a component in lualine_c at left section +--local function ins_left(component) +-- table.insert(lualine.sections.lualine_c, component) +--end +-- +---- Inserts a component in lualine_x ot right section +--local function ins_right(component) +-- table.insert(lualine.sections.lualine_x, component) +--end +-- +--ins_left({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, -- Sets highlighting of component +-- padding = { left = 0, right = 1 }, -- We don't need space before this +--}) +-- +--ins_left({ +-- -- mode component +-- function() +-- return "" +-- end, +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- -- mode component +-- "mode", +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.red, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- "branch", +-- icon = "", +-- color = { fg = colors.violet, gui = "bold" }, +--}) +-- +--ins_left({ +-- "filename", +-- cond = conditions.buffer_not_empty, +-- color = { fg = colors.aqua, gui = "bold" }, +--}) +-- +--ins_left({ +-- -- filesize component +-- "filesize", +-- cond = conditions.buffer_not_empty, +--}) +-- +---- Add components to right sections +--ins_right({ +-- "o:encoding", -- option component same as &encoding in viml +-- fmt = string.lower, -- I'm not sure why it's upper case either ;) +-- cond = conditions.hide_in_width, +-- color = { fg = colors.yellow }, +--}) +-- +--ins_right({ +-- "fileformat", +-- fmt = string.upper, +-- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh +-- color = { fg = colors.fg, gui = "bold" }, +--}) +-- +--ins_right({ +-- "filetype", +--}) +-- +--ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) +-- +--ins_right({ +-- "location", +--}) +-- +--ins_right({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, +-- padding = { left = 1 }, +--}) +--return M +-- Now don't forget to initialize lualine +--require("lualine").setup(config) +--require"lualine".setup(config) +--lualine.setup(config) diff --git a/nvim/lua/plugins/mason.lua b/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..69c61ba --- /dev/null +++ b/nvim/lua/plugins/mason.lua @@ -0,0 +1,27 @@ +local status, mason = pcall(require, "mason") +if (not status) then return end +local status2, lspconfig = pcall(require, "mason-lspconfig") +if (not status2) then return end + +mason.setup({ + +}) + +lspconfig.setup { + ensure_installed = { "sumneko_lua" }, +} +local keymap = vim.api.nvim_set_keymap +local opts = { noremap = true } + + +keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) +keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) +keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) +keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) +keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) +keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) +keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) +keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) +keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) diff --git a/nvim/lua/plugins/neoscroll.lua b/nvim/lua/plugins/neoscroll.lua new file mode 100644 index 0000000..d122584 --- /dev/null +++ b/nvim/lua/plugins/neoscroll.lua @@ -0,0 +1,21 @@ +require("neoscroll").setup({ + easing_function = "quadratic", +}) + +local t = {} +-- Syntax: t[keys] = {function, {function arguments}} +-- Use the "sine" easing function +t[""] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } } +t[""] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } } +-- Use the "circular" easing function +t[""] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +t[""] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +-- Pass "nil" to disable the easing animation (constant scrolling speed) +t[""] = { "scroll", { "-0.10", "false", "100", nil } } +t[""] = { "scroll", { "0.10", "false", "100", nil } } +-- When no easing function is provided the default easing function (in this case "quadratic") will be used +t["zt"] = { "zt", { "10" } } +t["zz"] = { "zz", { "10" } } +t["zb"] = { "zb", { "10" } } + +require("neoscroll.config").set_mappings(t) diff --git a/nvim/lua/plugins/null-ls.lua b/nvim/lua/plugins/null-ls.lua new file mode 100644 index 0000000..7fc4377 --- /dev/null +++ b/nvim/lua/plugins/null-ls.lua @@ -0,0 +1,26 @@ +local null_ls_status_ok, null_ls = pcall(require, "null-ls") +if not null_ls_status_ok then + return +end + +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting +local formatting = null_ls.builtins.formatting +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics +local diagnostics = null_ls.builtins.diagnostics + +--null_ls.setup({ +-- debug = false, +-- sources = { +-- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), +-- formatting.black.with({ extra_args = { "--fast" } }), +-- formatting.stylua, +-- -- diagnostics.flake8 +-- }, +--}) +require("null-ls").setup({ + sources = { + require("null-ls").builtins.formatting.stylua, + require("null-ls").builtins.diagnostics.eslint, + require("null-ls").builtins.completion.spell, + }, +}) diff --git a/nvim/lua/plugins/nvim-tree.lua b/nvim/lua/plugins/nvim-tree.lua new file mode 100644 index 0000000..f362659 --- /dev/null +++ b/nvim/lua/plugins/nvim-tree.lua @@ -0,0 +1,68 @@ +local status_ok, nvim_tree = pcall(require, "nvim-tree") +if not status_ok then + return +end + +local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") +if not config_status_ok then + return +end + +local tree_cb = nvim_tree_config.nvim_tree_callback + +nvim_tree.setup({ + update_focused_file = { + enable = true, + update_cwd = true, + }, + renderer = { + root_folder_modifier = ":t", + icons = { + glyphs = { + default = "", + symlink = "", + folder = { + arrow_open = "", + arrow_closed = "", + default = "", + open = "", + empty = "", + empty_open = "", + symlink = "", + symlink_open = "", + }, + git = { + unstaged = "", + staged = "S", + unmerged = "", + renamed = "➜", + untracked = "U", + deleted = "", + ignored = "◌", + }, + }, + }, + }, + diagnostics = { + enable = true, + show_on_dirs = true, + icons = { + hint = "", + info = "", + warning = "", + error = "", + }, + }, + view = { + width = 30, + --height = 30, + side = "right", + mappings = { + list = { + { key = { "l", "", "o" }, cb = tree_cb("edit") }, + { key = "h", cb = tree_cb("close_node") }, + { key = "v", cb = tree_cb("vsplit") }, + }, + }, + }, +}) diff --git a/nvim/lua/plugins/prettier.lua b/nvim/lua/plugins/prettier.lua new file mode 100644 index 0000000..05d4665 --- /dev/null +++ b/nvim/lua/plugins/prettier.lua @@ -0,0 +1,19 @@ +local status, prettier = pcall(require, "prettier") +if (not status) then return end + +prettier.setup { + bin = 'prettierd', + filetypes = { + "c", + "lua", + "vim", + --"css", + --"javascript", + --"javascriptreact", + --"typescript", + --"typescriptreact", + --"json", + --"scss", + "less" + } +} diff --git a/nvim/lua/plugins/tabline.lua b/nvim/lua/plugins/tabline.lua new file mode 100644 index 0000000..4e1c506 --- /dev/null +++ b/nvim/lua/plugins/tabline.lua @@ -0,0 +1,22 @@ +require("tabline").setup({ + -- Defaults configuration options + enable = true, + options = { + -- If lualine is installed tabline will use separators configured in lualine by default. + -- These options can be used to override those settings. + section_separators = { "", "" }, + component_separators = { "", "" }, + max_bufferline_percent = 66, -- set to nil by default, and it uses vim.o.columns * 2/3 + show_tabs_always = true, -- this shows tabs only when there are more than one tab or if the first tab is named + show_devicons = true, -- this shows devicons in buffer section + show_bufnr = true, -- this appends [bufnr] to buffer section, + show_filename_only = false, -- shows base filename only instead of relative path in filename + modified_icon = "+", -- change the default modified icon + modified_italic = true, -- set to true by default; this determines whether the filename turns italic if modified + show_tabs_only = false, -- this shows only tabs instead of tabs + buffers + }, +}) +vim.cmd([[ + set guioptions-=e " Use showtabline in gui vim + set sessionoptions+=tabpages,globals " store tabpages and globals in session +]]) diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..dcf6b9e --- /dev/null +++ b/nvim/lua/plugins/telescope.lua @@ -0,0 +1,177 @@ +local status_ok, telescope = pcall(require, "telescope") +if not status_ok then + return +end +local actions = require("telescope.actions") +local builtin = require("telescope.builtin") + +local function telescope_buffer_dir() + return vim.fn.expand("%:p:h") +end + +telescope.load_extension("fzf") +telescope.load_extension("file_browser") +require("telescope").load_extension("file_browser") +local fb_actions = require("telescope").extensions.file_browser.actions +--telescope.load_extension('media_files') + +telescope.setup({ + defaults = { + -- + prompt_prefix = " ", + selection_caret = " ", + path_display = { "smart" }, + -- + mappings = { + i = { + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.close, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + [""] = actions.complete_tag, + [""] = actions.which_key, -- keys from pressing + }, + + n = { + [""] = actions.close, + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + + ["j"] = actions.move_selection_next, + ["k"] = actions.move_selection_previous, + ["H"] = actions.move_to_top, + ["M"] = actions.move_to_middle, + ["L"] = actions.move_to_bottom, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + ["gg"] = actions.move_to_top, + ["G"] = actions.move_to_bottom, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + ["?"] = actions.which_key, + ["cd"] = function(prompt_bufnr) + local selection = require("telescope.actions.state").get_selected_entry() + local dir = vim.fn.fnamemodify(selection.path, ":p:h") + require("telescope.actions").close(prompt_bufnr) + -- Depending on what you want put `cd`, `lcd`, `tcd` + vim.cmd(string.format("silent lcd %s", dir)) + end, + }, + }, + }, + pickers = { + -- Default configuration for builtin pickers goes here: + -- picker_name = { + -- picker_config_key = value, + -- ... + -- } + -- Now the picker_config_key will be applied every time you call this + -- builtin picker + }, + extensions = { + file_browser = { + theme = "dropdown", + -- disables netrw and use telescope-file-browser in its place + hijack_netrw = true, + mappings = { + -- your custom insert mode mappings + ["i"] = { + [""] = function() + vim.cmd("normal vbd") + end, + }, + ["n"] = { + -- your custom normal mode mappings + ["N"] = fb_actions.create, + ["h"] = fb_actions.goto_parent_dir, + ["/"] = function() + vim.cmd("startinsert") + end, + }, + }, + }, + + media_files = { + -- filetypes whitelist + -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} + filetypes = { "png", "webp", "jpg", "jpeg" }, + find_cmd = "rg", -- find command (defaults to `fd`) + }, + -- Your extension configuration goes here: + -- extension_name = { + -- extension_config_key = value, + -- } + -- please take a look at the readme of the extension you want to configure + }, +}) + +telescope.load_extension("file_browser") + +vim.keymap.set("n", ";f", function() + builtin.find_files({ + no_ignore = false, + hidden = true, + }) +end) +vim.keymap.set("n", ";r", function() + builtin.live_grep() +end) +vim.keymap.set("n", "\\\\", function() + builtin.buffers() +end) +vim.keymap.set("n", ";t", function() + builtin.help_tags() +end) +vim.keymap.set("n", ";;", function() + builtin.resume() +end) +vim.keymap.set("n", ";e", function() + builtin.diagnostics() +end) +vim.keymap.set("n", "sf", function() + telescope.extensions.file_browser.file_browser({ + path = "%:p:h", + cwd = telescope_buffer_dir(), + respect_gitignore = false, + hidden = true, + grouped = true, + previewer = false, + initial_mode = "normal", + layout_config = { height = 40 }, + }) +end) diff --git a/nvim/lua/plugins/toggleterm.lua b/nvim/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..912729a --- /dev/null +++ b/nvim/lua/plugins/toggleterm.lua @@ -0,0 +1,90 @@ +local status_ok, toggleterm = pcall(require, "toggleterm") +if not status_ok then + return +end + +toggleterm.setup({ + size = function(term) + if term.direction == "horizontal" then + return 12 + elseif term.direction == "vertical" then + return vim.o.columns * 0.3 + end + end, + --size = 20, + open_mapping = [[to]], + hide_numbers = true, + shade_filetypes = {}, + shade_terminals = false, + shading_factor = 1, + start_in_insert = true, + insert_mappings = true, + persist_size = true, + direction = "float", + --direction = "vertical", + --direction = "horizontal", + close_on_exit = true, + shell = vim.o.shell, + highlights = { + -- highlights which map to a highlight group name and a table of it's values + -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split + Normal = { + background = "#000000", + }, + }, + float_opts = { + width = 70, + height = 15, + winblend = 3, + border = "curved", + --winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, +}) + +function _G.set_terminal_keymaps() + local opts = { noremap = true } + --local opts = {buffer = 0} + vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) +end + +vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") + +local Terminal = require("toggleterm.terminal").Terminal +local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + +function _LAZYGIT_TOGGLE() + lazygit:toggle() +end + +local node = Terminal:new({ cmd = "node", hidden = true }) + +function _NODE_TOGGLE() + node:toggle() +end + +local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) + +function _NCDU_TOGGLE() + ncdu:toggle() +end + +local htop = Terminal:new({ cmd = "htop", hidden = true }) + +function _HTOP_TOGGLE() + htop:toggle() +end + +local python = Terminal:new({ cmd = "python", hidden = true }) + +function _PYTHON_TOGGLE() + python:toggle() +end diff --git a/nvim/lua/plugins/treesitter.lua b/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..261e262 --- /dev/null +++ b/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,39 @@ +local status, treesitter = pcall(require, "nvim-treesitter.configs") +if (not status) then return end + +treesitter.setup { + highlight = { + enable = true, + disable = {}, + }, + indent = { + enable = true, + disable = {}, + --disable = { "python", "css" } + }, + --ensure_installed = { + -- "c", + -- "zsh", + -- "lua" + -- --"rust", + -- --"php", + -- --"json", + -- --"yaml", + -- --"swift", + -- --"css", + -- --"html", + -- --"toml", + -- --"tsx", + --}, + ensure_installed = "all", -- one of "all" or a list of languages + --ignore_install = { "" }, -- List of parsers to ignore installing + + autotag = { + enable = true, + }, +} +--vim.opt.foldmethod = "expr" +--vim.opt.foldexpr = "nvim_treesitter#foldexpr()" + +--local parser_config = require "nvim-treesitter.parsers".get_parser_configs() +--parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" } diff --git a/nvim/lua/plugins/web-devicons.lua b/nvim/lua/plugins/web-devicons.lua new file mode 100644 index 0000000..b8396bc --- /dev/null +++ b/nvim/lua/plugins/web-devicons.lua @@ -0,0 +1,12 @@ +local status, icons = pcall(require, "nvim-web-devicons") +if (not status) then return end + +icons.setup { + -- your personnal icons can go here (to override) + -- DevIcon will be appended to `name` + override = { + }, + -- globally enable default icons (default to false) + -- will get overriden by `get_icons` option + default = true +} diff --git a/nvim/lua/plugins/winbar.lua b/nvim/lua/plugins/winbar.lua new file mode 100644 index 0000000..1573828 --- /dev/null +++ b/nvim/lua/plugins/winbar.lua @@ -0,0 +1,35 @@ +require("winbar").setup({ + enabled = true, + + show_file_path = true, + show_symbols = true, + + colors = { + path = "", -- You can customize colors like #c946fd + file_name = "", + symbols = "", + }, + + icons = { + file_icon_default = "", + seperator = ">", + editor_state = "●", + lock_icon = "", + }, + + exclude_filetype = { + "help", + "startify", + "dashboard", + "packer", + "neogitstatus", + "NvimTree", + "Trouble", + "alpha", + "lir", + "Outline", + "spectre_panel", + "toggleterm", + "qf", + }, +}) diff --git a/nvim/lua/plugins/zen-mode.lua b/nvim/lua/plugins/zen-mode.lua new file mode 100644 index 0000000..7e52854 --- /dev/null +++ b/nvim/lua/plugins/zen-mode.lua @@ -0,0 +1,7 @@ +local status, zenMode = pcall(require, "zen-mode") +if (not status) then return end + +zenMode.setup { +} + +vim.keymap.set('n', 'o', 'ZenMode', { silent = true }) diff --git a/nvim/lua/scripts/setcolors.lua b/nvim/lua/scripts/setcolors.lua new file mode 100644 index 0000000..605bc84 --- /dev/null +++ b/nvim/lua/scripts/setcolors.lua @@ -0,0 +1,121 @@ +vim.cmd([[ +" Change the color scheme from a list of color scheme names. +" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341 +" Press key: +" F8 next scheme +" Shift-F8 previous scheme +" Alt-F8 random scheme +" Set the list of color schemes used by the above (default is 'all'): +" :SetColors all (all $VIMRUNTIME/colors/*.vim) +" :SetColors my (names built into script) +" :SetColors blue ayu ron (these schemes) +" :SetColors (display current scheme names) +" Set the current color scheme based on time of day: +" :SetColors now +if v:version < 700 || exists('loaded_setcolors') || &cp + finish +endif + +let loaded_setcolors = 1 +let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color + +" Set list of color scheme names that we will use, except +" argument 'now' actually changes the current color scheme. +function! s:SetColors(args) + if len(a:args) == 0 + echo 'Current color scheme names:' + let i = 0 + while i < len(s:mycolors) + echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)')) + let i += 5 + endwhile + elseif a:args == 'all' + let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n") + let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")'))) + echo 'List of colors set from all installed color schemes' + elseif a:args == 'my' + let c1 = 'default srcery everblush' + let c2 = 'gruvbox onedark' + let c3 = 'ayu molokai' + let s:mycolors = split(c1.' '.c2.' '.c3) + echo 'List of colors set from built-in names' + elseif a:args == 'now' + call s:HourColor() + else + let s:mycolors = split(a:args) + echo 'List of colors set from argument (space-separated names)' + endif +endfunction + +command! -nargs=* SetColors call s:SetColors('') + +" Set next/previous/random (how = 1/-1/0) color from our list of colors. +" The 'random' index is actually set from the current time in seconds. +" Global (no 's:') so can easily call from command line. +function! NextColor(how) + call s:NextColor(a:how, 1) +endfunction + +" Helper function for NextColor(), allows echoing of the color name to be +" disabled. +function! s:NextColor(how, echo_color) + if len(s:mycolors) == 0 + call s:SetColors('all') + endif + if exists('g:colors_name') + let current = index(s:mycolors, g:colors_name) + else + let current = -1 + endif + let missing = [] + let how = a:how + for i in range(len(s:mycolors)) + if how == 0 + let current = localtime() % len(s:mycolors) + let how = 1 " in case random color does not exist + else + let current += how + if !(0 <= current && current < len(s:mycolors)) + let current = (how>0 ? 0 : len(s:mycolors)-1) + endif + endif + try + execute 'colorscheme '.s:mycolors[current] + break + catch /E185:/ + call add(missing, s:mycolors[current]) + endtry + endfor + redraw + if len(missing) > 0 + echo 'Error: colorscheme not found:' join(missing) + endif + if (a:echo_color) + echo g:colors_name + endif +endfunction + +nnoremap cn :call NextColor(1) +nnoremap cp :call NextColor(-1) +nnoremap cc :call NextColor(0) + +" Set color scheme according to current time of day. +function! s:HourColor() + let hr = str2nr(strftime('%H')) + if hr <= 3 + let i = 0 + elseif hr <= 7 + let i = 1 + elseif hr <= 14 + let i = 2 + elseif hr <= 18 + let i = 3 + else + let i = 4 + endif + let nowcolors = 'srcery onedark molokai' + execute 'colorscheme '.split(nowcolors)[i] + redraw + echo g:colors_name +endfunction +]]) diff --git a/nvim/lua/startup.log b/nvim/lua/startup.log new file mode 100644 index 0000000..cd880b7 --- /dev/null +++ b/nvim/lua/startup.log @@ -0,0 +1,6125 @@ + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +000.030 000.030: --- NVIM STARTING --- +000.690 000.660: locale set +001.457 000.767: inits 1 +001.481 000.024: window checked +001.489 000.008: parsing arguments +006.143 004.654: init lua interpreter +006.432 000.289: expanding arguments +006.485 000.054: inits 2 +007.386 000.901: init highlight +007.390 000.004: waiting for UI +009.710 002.320: done waiting for UI +009.741 000.031: init screen for UI +009.777 000.036: init default mappings +009.849 000.072: init default autocommands +014.503 000.337 000.337: sourcing /usr/share/nvim/runtime/ftplugin.vim +015.383 000.089 000.089: sourcing /usr/share/nvim/runtime/indent.vim +015.552 000.030 000.030: sourcing /usr/share/nvim/archlinux.vim +015.561 000.082 000.052: sourcing /etc/xdg/nvim/sysinit.vim +021.171 000.093 000.093: sourcing /usr/share/nvim/runtime/filetype.lua +036.308 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim +037.051 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim +037.378 000.026 000.026: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim +037.446 000.036 000.036: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim +037.617 000.131 000.131: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim +037.716 000.064 000.064: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim +038.773 017.553 017.236: sourcing /usr/share/nvim/runtime/filetype.vim +039.391 000.027 000.027: sourcing /usr/share/nvim/runtime/ftplugin.vim +039.936 000.021 000.021: sourcing /usr/share/nvim/runtime/indent.vim +365.797 003.542 003.542: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim +368.520 000.193 000.193: sourcing /usr/share/nvim/runtime/syntax/synload.vim +368.860 001.099 000.906: sourcing /usr/share/nvim/runtime/syntax/syntax.vim +369.137 353.529 331.193: sourcing /home/sxrdusr/.config/nvim/init.lua +369.157 005.272: sourcing vimrc file(s) +373.085 000.554 000.554: sourcing /usr/share/nvim/runtime/plugin/gzip.vim +373.151 000.025 000.025: sourcing /usr/share/nvim/runtime/plugin/health.vim +373.327 000.144 000.144: sourcing /usr/share/nvim/runtime/plugin/man.vim +374.418 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +374.626 001.264 000.820: sourcing /usr/share/nvim/runtime/plugin/matchit.vim +374.959 000.297 000.297: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim +375.038 000.042 000.042: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim +375.374 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +375.392 000.321 000.299: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim +375.631 000.209 000.209: sourcing /usr/share/nvim/runtime/plugin/shada.vim +375.731 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim +376.093 000.318 000.318: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim +376.308 000.167 000.167: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim +376.393 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/tutor.vim +376.825 000.397 000.397: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim +378.105 001.110 001.110: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +387.539 009.175 009.175: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +388.054 004.777: loading rtp plugins +391.529 001.769 001.769: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +392.303 000.615 000.615: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +393.117 000.042 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +396.623 003.164 003.164: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +397.394 000.420 000.420: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +398.575 000.976 000.976: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +399.616 000.673 000.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +400.317 000.481 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim +401.132 000.394 000.394: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +402.646 001.181 001.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +402.889 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +403.318 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +403.887 000.309 000.309: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +410.104 005.911 005.911: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +411.745 001.430 001.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +412.774 000.731 000.731: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +413.166 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +413.556 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +413.859 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +414.509 000.341 000.341: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +414.920 000.062 000.062: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +416.289 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +417.493 000.175 000.175: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim +419.578 001.080 001.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim +420.400 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim +423.478 000.285 000.285: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim +423.652 007.107 005.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim +424.176 000.279 000.279: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim +425.502 001.103 001.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim +426.259 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim +428.992 002.485 002.485: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim +429.902 000.528 000.528: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim +431.653 001.300 001.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim +432.720 000.543 000.543: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +447.697 014.724 014.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim +449.392 000.133 000.133: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim +450.395 000.326 000.326: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim +450.586 001.896 001.437: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim +451.786 003.739 001.843: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim +452.701 000.649 000.649: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +454.329 000.593 000.593: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim +457.139 000.166 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim +463.032 010.052 009.294: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim +463.438 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +463.709 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +464.077 013.014: loading packages +465.745 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +469.545 004.983 004.590: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +470.936 001.172 001.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +471.544 000.451 000.451: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +472.050 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +472.695 000.497 000.497: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +473.371 000.514 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +473.511 001.472: loading after plugins +473.539 000.029: inits 3 +478.437 004.898: reading ShaDa +482.242 000.511 000.511: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim +482.916 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim +483.659 000.282 000.282: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim +484.393 000.066 000.066: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim +485.973 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim +486.960 000.329 000.329: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim +487.570 002.286 001.851: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim +488.773 000.379 000.379: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim +489.544 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim +490.389 000.116 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim +491.221 000.199 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim +492.050 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim +492.776 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim +493.511 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim +494.153 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim +495.585 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim +515.108 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim +516.155 001.981 001.862: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim +554.910 000.246 000.246: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim +556.123 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim +663.827 178.485: opening buffers +664.368 000.541: BufEnter autocommands +664.379 000.010: editing files in windows +667.364 000.707 000.707: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +000.016 000.016: --- NVIM STARTING --- +000.645 000.628: locale set +001.314 000.670: inits 1 +001.351 000.036: window checked +001.360 000.010: parsing arguments +007.583 006.223: init lua interpreter +007.958 000.374: expanding arguments +008.022 000.064: inits 2 +009.122 001.100: init highlight +009.128 000.006: waiting for UI +012.871 003.743: done waiting for UI +012.918 000.047: init screen for UI +012.972 000.054: init default mappings +013.052 000.080: init default autocommands +017.713 000.148 000.148: sourcing /usr/share/nvim/runtime/ftplugin.vim +018.500 000.086 000.086: sourcing /usr/share/nvim/runtime/indent.vim +018.734 000.034 000.034: sourcing /usr/share/nvim/archlinux.vim +018.747 000.102 000.068: sourcing /etc/xdg/nvim/sysinit.vim +026.363 000.143 000.143: sourcing /usr/share/nvim/runtime/filetype.lua +040.626 000.040 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim +041.433 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim +041.845 000.030 000.030: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim +041.980 000.099 000.099: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim +042.145 000.127 000.127: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim +042.247 000.068 000.068: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim +043.487 017.063 016.671: sourcing /usr/share/nvim/runtime/filetype.vim +044.228 000.039 000.039: sourcing /usr/share/nvim/runtime/ftplugin.vim +044.826 000.023 000.023: sourcing /usr/share/nvim/runtime/indent.vim +354.645 003.386 003.386: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim +357.306 000.212 000.212: sourcing /usr/share/nvim/runtime/syntax/synload.vim +357.593 001.082 000.870: sourcing /usr/share/nvim/runtime/syntax/syntax.vim +357.862 339.061 317.325: sourcing /home/sxrdusr/.config/nvim/init.lua +357.884 005.435: sourcing vimrc file(s) +361.965 000.572 000.572: sourcing /usr/share/nvim/runtime/plugin/gzip.vim +362.033 000.026 000.026: sourcing /usr/share/nvim/runtime/plugin/health.vim +362.218 000.153 000.153: sourcing /usr/share/nvim/runtime/plugin/man.vim +363.321 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +363.527 001.273 000.829: sourcing /usr/share/nvim/runtime/plugin/matchit.vim +363.867 000.305 000.305: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim +363.944 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim +364.272 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +364.291 000.314 000.277: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim +364.528 000.206 000.206: sourcing /usr/share/nvim/runtime/plugin/shada.vim +364.630 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim +364.985 000.311 000.311: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim +365.214 000.177 000.177: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim +365.321 000.049 000.049: sourcing /usr/share/nvim/runtime/plugin/tutor.vim +365.765 000.406 000.406: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim +367.088 001.150 001.150: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +375.323 008.056 008.056: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +375.841 004.866: loading rtp plugins +379.412 001.854 001.854: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +380.146 000.570 000.570: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +380.990 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +383.716 002.369 002.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +384.344 000.301 000.301: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +385.072 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +386.341 000.878 000.878: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +386.938 000.366 000.366: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim +387.768 000.406 000.406: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +389.297 001.189 001.189: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +389.543 000.070 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +389.981 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +390.544 000.298 000.298: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +394.211 003.349 003.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +395.750 001.332 001.332: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +396.621 000.626 000.626: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +396.957 000.101 000.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +397.349 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +397.652 000.089 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +398.317 000.358 000.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +398.678 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +399.781 000.665 000.665: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +400.996 000.181 000.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim +403.064 001.038 001.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim +403.886 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim +406.913 000.299 000.299: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim +407.082 007.039 005.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim +407.616 000.277 000.277: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim +408.966 001.122 001.122: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim +409.735 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim +412.162 002.181 002.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim +412.683 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim +413.367 000.438 000.438: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +414.379 000.760 000.760: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim +415.083 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +429.507 014.133 014.133: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim +431.102 000.130 000.130: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim +432.166 000.343 000.343: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim +432.357 001.966 001.493: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim +433.372 003.592 001.625: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim +434.296 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +435.993 000.612 000.612: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim +438.802 000.176 000.176: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim +444.128 009.557 008.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim +444.497 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +444.772 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +445.139 012.625: loading packages +446.629 000.373 000.373: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +450.348 004.674 004.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +451.730 001.165 001.165: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +452.362 000.473 000.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +452.781 000.268 000.268: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +453.460 000.534 000.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +454.136 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +454.275 001.498: loading after plugins +454.303 000.028: inits 3 +459.084 004.781: reading ShaDa +462.255 000.518 000.518: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim +462.914 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim +463.666 000.283 000.283: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim +464.405 000.068 000.068: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim +465.992 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim +466.989 000.346 000.346: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim +467.604 002.304 001.840: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim +468.826 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim +469.599 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim +470.437 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim +471.295 000.208 000.208: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim +472.141 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim +472.878 000.162 000.162: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim +473.615 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim +474.255 000.065 000.065: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim +475.552 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim +493.677 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim +494.652 001.780 001.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim +531.806 000.251 000.251: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim +533.020 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim +634.041 168.210: opening buffers +634.303 000.263: BufEnter autocommands +634.310 000.007: editing files in windows +636.729 000.726 000.726: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.077 001.077: --- NVIM STARTING --- +028.689 027.612: event init +046.977 018.288: early init +048.697 001.720: locale set +054.356 005.659: init first window +065.332 010.976: inits 1 +065.359 000.027: window checked +065.367 000.008: parsing arguments +077.586 000.123 000.123: require('vim.shared') +077.824 000.107 000.107: require('vim._meta') +077.830 000.231 000.124: require('vim._editor') +077.834 000.414 000.060: require('vim._init_packages') +077.837 012.056: init lua interpreter +077.932 000.095: expanding arguments +079.680 001.748: inits 2 +080.294 000.614: init highlight +080.299 000.004: waiting for UI +082.730 002.431: done waiting for UI +082.778 000.048: init screen for UI +083.210 000.432: init default mappings +083.247 000.037: init default autocommands +094.132 004.012 004.012: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/ftplugin.vim +096.795 000.983 000.983: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/indent.vim +097.228 000.051 000.051: sourcing /usr/share/nvim/archlinux.vim +097.252 000.163 000.112: sourcing /etc/xdg/nvim/sysinit.vim +114.521 016.974 016.974: require('impatient') +114.662 000.125 000.125: require('impatient.profile') +118.350 000.854 000.854: require('keys') +119.312 000.215 000.215: require('packer.util') +119.373 000.674 000.458: require('packer') +120.180 000.435 000.435: require('packer.log') +120.196 000.556 000.122: require('packer.async') +120.438 000.116 000.116: require('packer.result') +120.447 000.245 000.128: require('packer.jobs') +120.463 001.034 000.234: require('packer.plugin_utils') +120.612 000.125 000.125: require('packer.snapshot') +121.714 003.350 001.517: require('pack') +121.772 024.427 003.123: sourcing /home/sxrdusr/.config/nvim/init.lua +121.801 008.970: sourcing vimrc file(s) +122.332 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +123.500 000.086 000.086: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.lua +124.937 001.189 001.189: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.vim +127.169 000.260 000.260: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/synload.vim +127.861 002.338 002.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/syntax.vim +133.403 001.041 001.041: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/gzip.vim +133.559 000.065 000.065: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/health.vim +136.590 001.376 001.376: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +137.190 003.546 002.170: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchit.vim +137.698 000.421 000.421: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchparen.vim +137.887 000.097 000.097: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/netrwPlugin.vim +138.490 000.036 000.036: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +138.512 000.537 000.501: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/rplugin.vim +138.798 000.197 000.197: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/shada.vim +138.955 000.064 000.064: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/spellfile.vim +139.124 000.079 000.079: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tarPlugin.vim +139.292 000.078 000.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tohtml.vim +139.438 000.058 000.058: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tutor.vim +140.205 000.679 000.679: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/zipPlugin.vim +140.504 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +142.282 000.260 000.260: require('lspsaga') +142.901 000.205 000.205: require('lspsaga.window') +142.926 000.443 000.238: require('lspsaga.libs') +145.564 000.465 000.465: require('vim.lsp.log') +169.723 000.018 000.018: require('vim.F') +169.738 002.191 002.173: require('vim.lsp.protocol') +170.357 000.261 000.261: require('vim.lsp._snippet') +170.593 000.227 000.227: require('vim.highlight') +170.630 000.886 000.398: require('vim.lsp.util') +170.668 026.257 022.716: require('vim.lsp.handlers') +171.061 000.383 000.383: require('vim.lsp.rpc') +171.364 000.291 000.291: require('vim.lsp.sync') +171.679 000.305 000.305: require('vim.lsp.buf') +171.894 000.205 000.205: require('vim.lsp.diagnostic') +172.159 000.256 000.256: require('vim.lsp.codelens') +172.312 028.804 001.107: require('vim.lsp') +172.481 000.122 000.122: require('lspsaga.wrap') +172.495 029.494 000.568: require('lspsaga.codeaction') +172.544 030.250 000.313: require('lspsaga.lightbulb') +172.784 000.198 000.198: require('lspsaga.lspkind') +173.147 000.146 000.146: require('mason-core.path') +173.167 000.276 000.130: require('mason.settings') +173.545 000.105 000.105: require('mason-core.functional.data') +173.558 000.217 000.112: require('mason-core.functional.function') +173.598 000.425 000.208: require('mason-core.platform') +173.603 000.806 000.106: require('mason') +173.894 000.141 000.141: require('mason-core.functional') +174.044 000.126 000.126: require('mason-core.functional.list') +174.089 000.456 000.189: require('mason.api.command') +174.347 000.139 000.139: require('mason-core.log') +174.356 000.261 000.122: require('mason-lspconfig') +174.461 000.097 000.097: require('mason-lspconfig.settings') +174.648 000.119 000.119: require('mason-lspconfig.lspconfig_hook') +174.939 000.283 000.283: require('lspconfig.util') +175.274 000.102 000.102: require('mason-core.functional.table') +175.368 000.408 000.306: require('mason-lspconfig.mappings.server') +175.698 000.113 000.113: require('mason-core.async') +175.804 000.091 000.091: require('mason-core.async.uv') +175.815 000.334 000.131: require('mason-core.fs') +175.919 000.098 000.098: require('mason-core.optional') +176.021 000.095 000.095: require('mason-core.EventEmitter') +176.228 000.201 000.201: require('mason-registry.index') +176.254 000.877 000.150: require('mason-registry') +176.363 000.102 000.102: require('mason-lspconfig.server_config_extensions') +176.490 000.120 000.120: require('lspconfig.configs') +176.635 000.138 000.138: require('lspconfig.server_configurations.omnisharp') +176.840 000.105 000.105: require('mason-lspconfig.ensure_installed') +177.337 000.145 000.145: require('mason-core.result') +178.358 000.752 000.752: require('mason-core.process') +178.492 000.118 000.118: require('mason-core.functional.relation') +178.603 000.097 000.097: require('mason-core.functional.logic') +178.620 001.137 000.169: require('mason-core.spawn') +178.751 000.119 000.119: require('mason-core.receipt') +178.880 000.108 000.108: require('mason-core.functional.string') +178.910 001.564 000.201: require('mason-core.installer.context') +179.062 000.145 000.145: require('mason-core.installer.linker') +179.227 000.153 000.153: require('mason-core.async.control') +179.237 002.268 000.260: require('mason-core.installer') +179.374 000.128 000.128: require('mason-core.installer.handle') +179.949 000.105 000.105: require('mason-core.managers.powershell') +179.957 000.222 000.117: require('mason-core.fetch') +179.961 000.376 000.154: require('mason-core.managers.cargo.client') +179.995 000.514 000.138: require('mason-core.managers.cargo') +180.147 000.146 000.146: require('mason-core.managers.composer') +180.301 000.147 000.147: require('mason-core.managers.gem') +180.417 000.109 000.109: require('mason-core.managers.git') +180.670 000.129 000.129: require('mason-core.managers.std') +180.789 000.112 000.112: require('mason-core.managers.github.client') +180.806 000.382 000.142: require('mason-core.managers.github') +180.957 000.146 000.146: require('mason-core.managers.go') +181.140 000.176 000.176: require('mason-core.managers.luarocks') +181.503 000.356 000.356: require('mason-core.managers.npm') +181.709 000.181 000.181: require('mason-core.managers.pip3') +181.763 002.376 000.219: require('mason-core.package.version-check') +181.774 004.926 000.154: require('mason-core.package') +182.043 000.228 000.228: require('mason-registry.lua-language-server') +182.376 000.155 000.155: require('mason-registry.clangd') +182.814 000.414 000.414: require('mason-registry.rust-analyzer') +183.076 000.094 000.094: require('mason-core.notify') +183.229 000.143 000.143: require('mason-core.functional.number') +183.286 000.458 000.221: require('mason-lspconfig.api.command') +183.293 042.652 001.993: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +184.424 000.122 000.122: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/man.lua +184.966 009.773: loading rtp plugins +186.975 000.018 000.018: require('vim.keymap') +187.357 000.155 000.155: require('Comment.config') +187.549 000.182 000.182: require('Comment.utils') +187.822 000.264 000.264: require('Comment.opfunc') +187.947 000.116 000.116: require('Comment.extra') +187.974 000.986 000.269: require('Comment.api') +188.811 001.972 000.968: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +189.751 000.207 000.207: require('luasnip.util.types') +189.955 000.191 000.191: require('luasnip.util.ext_opts') +191.461 000.264 000.264: require('vim.treesitter.language') +191.494 000.686 000.422: require('vim.treesitter.query') +191.893 000.391 000.391: require('vim.treesitter.languagetree') +191.972 001.516 000.439: require('vim.treesitter') +192.479 002.387 000.871: require('nvim-treesitter.parsers') +192.816 000.163 000.163: require('nvim-treesitter.utils') +192.831 000.341 000.179: require('nvim-treesitter.ts_utils') +192.840 002.877 000.148: require('luasnip.extras.filetype_functions') +192.983 000.138 000.138: require('luasnip.session') +193.462 000.187 000.187: require('luasnip.util.util') +193.599 000.125 000.125: require('luasnip.nodes.util') +193.707 000.099 000.099: require('luasnip.util.events') +193.739 000.614 000.203: require('luasnip.nodes.node') +194.029 000.113 000.113: require('luasnip.util.extend_decorator') +194.044 001.053 000.326: require('luasnip.nodes.insertNode') +194.823 000.255 000.255: require('luasnip.util.mark') +196.003 000.498 000.498: require('luasnip.nodes.textNode') +197.798 001.448 001.448: require('luasnip.util._builtin_vars') +198.128 000.299 000.299: require('vim.inspect') +198.478 002.453 000.707: require('luasnip.util.environ') +198.613 000.122 000.122: require('luasnip.util.pattern_tokenizer') +198.708 000.087 000.087: require('luasnip.util.dict') +198.828 000.112 000.112: require('luasnip.session.snippet_collection') +198.893 004.060 000.790: require('luasnip.nodes.snippet') +198.913 004.863 000.548: require('luasnip.nodes.choiceNode') +199.131 000.188 000.188: require('luasnip.nodes.functionNode') +199.295 000.151 000.151: require('luasnip.nodes.dynamicNode') +199.572 000.268 000.268: require('luasnip.nodes.restoreNode') +199.761 000.158 000.158: require('luasnip.extras') +200.016 000.106 000.106: require('luasnip.util.str') +200.029 000.252 000.146: require('luasnip.extras.fmt') +200.132 000.096 000.096: require('luasnip.extras.expand_conditions') +200.444 000.095 000.095: require('luasnip.util.parser.neovim_ast') +211.625 000.154 000.154: require('luasnip.util.directed_graph') +211.650 011.406 011.157: require('luasnip.util.parser.ast_utils') +211.868 000.087 000.087: require('luasnip.util.functions') +211.882 000.224 000.137: require('luasnip.util.parser.ast_parser') +212.035 000.148 000.148: require('luasnip.util.parser.neovim_parser') +212.051 011.907 000.129: require('luasnip.util.parser') +212.142 000.084 000.084: require('luasnip.nodes.absolute_indexer') +212.684 023.347 000.915: require('luasnip.config') +212.841 023.839 000.491: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +213.735 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +214.713 000.113 000.113: require('indent_blankline/utils') +214.723 000.309 000.196: require('indent_blankline') +215.272 000.101 000.101: require('indent_blankline.commands') +215.432 001.197 000.787: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +215.854 000.112 000.112: require('lsp-colors') +216.374 000.683 000.572: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +217.476 000.712 000.712: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +218.519 000.405 000.405: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +219.096 000.111 000.111: require('cmp.utils.api') +219.265 000.080 000.080: require('cmp.types.cmp') +219.455 000.092 000.092: require('cmp.utils.misc') +219.550 000.277 000.186: require('cmp.types.lsp') +219.639 000.080 000.080: require('cmp.types.vim') +219.644 000.539 000.102: require('cmp.types') +219.729 000.079 000.079: require('cmp.utils.highlight') +219.888 000.073 000.073: require('cmp.utils.debug') +219.903 000.167 000.094: require('cmp.utils.autocmd') +220.440 001.544 000.647: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +220.714 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +221.137 000.108 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +221.612 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +222.733 000.097 000.097: require('nvim-treesitter.tsrange') +222.825 000.082 000.082: require('nvim-treesitter.caching') +222.842 000.306 000.128: require('nvim-treesitter.query') +222.868 000.449 000.143: require('nvim-treesitter.configs') +222.875 000.549 000.100: require('nvim-treesitter.info') +222.999 000.117 000.117: require('nvim-treesitter.shell_command_selectors') +223.061 000.878 000.211: require('nvim-treesitter.install') +223.160 000.089 000.089: require('nvim-treesitter.statusline') +223.261 000.094 000.094: require('nvim-treesitter.query_predicates') +223.267 001.169 000.108: require('nvim-treesitter') +224.518 000.332 000.332: require('vim.treesitter.highlighter') +224.815 000.781 000.449: require('nvim-treesitter.highlight') +225.463 003.438 001.488: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +225.909 000.214 000.214: require('treesitter-context') +225.919 000.259 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +226.301 000.100 000.100: require('nvim-treesitter-refactor') +226.635 000.463 000.363: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +227.006 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +227.383 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +227.709 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +228.502 000.446 000.446: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +228.871 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +229.853 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +230.676 000.537 000.537: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +231.318 000.391 000.391: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +232.188 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +232.511 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +232.791 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +233.904 011.128: loading packages +235.602 000.461 000.461: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +240.266 005.819 005.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +241.144 000.147 000.147: require('cmp.utils.char') +241.159 000.257 000.110: require('cmp.utils.str') +241.254 000.088 000.088: require('cmp.utils.pattern') +241.600 000.126 000.126: require('cmp.utils.buffer') +241.614 000.252 000.126: require('cmp.utils.keymap') +241.626 000.364 000.112: require('cmp.utils.feedkeys') +241.741 000.109 000.109: require('cmp.utils.async') +241.924 000.083 000.083: require('cmp.utils.cache') +241.933 000.184 000.101: require('cmp.context') +242.260 000.117 000.117: require('cmp.config.mapping') +242.477 000.106 000.106: require('cmp.config.compare') +242.483 000.212 000.106: require('cmp.config.default') +242.509 000.462 000.134: require('cmp.config') +242.732 000.085 000.085: require('cmp.matcher') +242.746 000.230 000.145: require('cmp.entry') +242.761 000.824 000.131: require('cmp.source') +242.948 000.084 000.084: require('cmp.utils.event') +243.168 000.111 000.111: require('cmp.utils.window') +243.176 000.220 000.109: require('cmp.view.docs_view') +243.327 000.146 000.146: require('cmp.view.custom_entries_view') +243.466 000.132 000.132: require('cmp.view.wildmenu_entries_view') +243.584 000.112 000.112: require('cmp.view.native_entries_view') +243.688 000.098 000.098: require('cmp.view.ghost_text_view') +243.706 000.940 000.150: require('cmp.view') +243.817 003.068 000.302: require('cmp.core') +244.161 000.093 000.093: require('cmp.config.sources') +244.259 000.087 000.087: require('cmp.config.window') +244.362 003.763 000.515: require('cmp') +244.731 000.083 000.083: require('cmp_buffer.timer') +244.743 000.196 000.113: require('cmp_buffer.buffer') +244.748 000.295 000.099: require('cmp_buffer.source') +244.752 000.384 000.089: require('cmp_buffer') +244.783 004.279 000.132: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +245.357 000.256 000.256: require('cmp_cmdline') +245.393 000.408 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +245.812 000.099 000.099: require('cmp_nvim_lsp.source') +245.820 000.204 000.105: require('cmp_nvim_lsp') +245.917 000.363 000.159: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +246.284 000.146 000.146: require('cmp_path') +246.318 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +246.649 000.105 000.105: require('cmp_luasnip') +246.719 000.244 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +246.874 001.611: loading after plugins +246.910 000.036: inits 3 +246.920 000.011: reading ShaDa +247.351 000.091 000.091: require('luasnip.loaders._caches') +247.486 000.126 000.126: require('luasnip.util.path') +247.606 000.112 000.112: require('luasnip.loaders.util') +247.897 000.141 000.141: require('luasnip.loaders') +247.951 000.337 000.196: require('luasnip') +247.957 000.805 000.139: require('luasnip.loaders.from_lua') +248.252 000.121 000.121: require('luasnip.nodes.snippetProxy') +248.266 000.255 000.134: require('luasnip.loaders.from_snipmate') +248.494 000.122 000.122: require('luasnip.loaders.from_vscode') +249.362 001.259: opening buffers +249.368 000.006: BufEnter autocommands +249.371 000.004: editing files in windows + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.215 001.215: --- NVIM STARTING --- +028.665 027.450: event init +045.736 017.071: early init +047.546 001.811: locale set +053.272 005.725: init first window +063.706 010.434: inits 1 +063.737 000.031: window checked +063.745 000.009: parsing arguments +075.797 000.281 000.281: require('vim.shared') +076.316 000.237 000.237: require('vim._meta') +076.329 000.509 000.272: require('vim._editor') +076.337 000.917 000.127: require('vim._init_packages') +076.345 011.682: init lua interpreter +076.535 000.191: expanding arguments +078.389 001.854: inits 2 +079.780 001.390: init highlight +079.790 000.010: waiting for UI +082.769 002.979: done waiting for UI +082.820 000.051: init screen for UI +083.178 000.358: init default mappings +083.214 000.036: init default autocommands +091.921 004.068 004.068: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/ftplugin.vim +095.030 001.354 001.354: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/indent.vim +095.750 000.072 000.072: sourcing /usr/share/nvim/archlinux.vim +095.777 000.241 000.169: sourcing /etc/xdg/nvim/sysinit.vim +121.943 025.794 025.794: require('impatient') +122.199 000.229 000.229: require('impatient.profile') +131.279 002.028 002.028: require('keys') +136.986 005.676 005.676: require('opts') +138.889 000.369 000.369: require('packer.util') +139.047 001.067 000.698: require('packer') +140.531 000.662 000.662: require('packer.log') +140.554 000.943 000.281: require('packer.async') +141.218 000.285 000.285: require('packer.result') +141.238 000.669 000.384: require('packer.jobs') +141.379 002.217 000.605: require('packer.plugin_utils') +142.546 001.109 001.109: require('packer.snapshot') +145.067 008.052 003.658: require('pack') +147.725 000.587 000.587: require('vim.treesitter.language') +147.771 001.260 000.673: require('vim.treesitter.query') +150.344 000.518 000.518: require('vim.treesitter.languagetree') +150.457 001.130 000.611: require('vim.treesitter') +151.134 002.622 001.492: require('nvim-treesitter.parsers') +152.015 000.862 000.862: require('nvim-treesitter.utils') +152.043 003.863 000.379: require('nvim-treesitter.ts_utils') +152.074 004.281 000.417: require('nvim-treesitter.tsrange') +152.465 000.373 000.373: require('nvim-treesitter.caching') +152.508 006.281 000.367: require('nvim-treesitter.query') +152.584 006.707 000.426: require('nvim-treesitter.configs') +153.878 000.354 000.354: require('nvim-treesitter.info') +154.194 000.294 000.294: require('nvim-treesitter.shell_command_selectors') +154.311 001.429 000.781: require('nvim-treesitter.install') +222.484 077.393 069.257: require('plugins.treesitter') +223.003 000.151 000.151: require('telescope._extensions') +223.015 000.272 000.121: require('telescope') +223.849 000.143 000.143: require('plenary.bit') +223.949 000.091 000.091: require('plenary.functional') +224.011 000.035 000.035: require('ffi') +224.034 000.483 000.214: require('plenary.path') +224.051 000.602 000.119: require('plenary.strings') +224.140 000.083 000.083: require('telescope.deprecated') +224.650 000.303 000.303: require('plenary.log') +224.723 000.456 000.153: require('telescope.log') +225.018 000.150 000.150: require('plenary.job') +225.112 000.085 000.085: require('telescope.state') +225.127 000.396 000.160: require('telescope.utils') +225.141 000.994 000.142: require('telescope.sorters') +225.248 000.080 000.080: require('vim.inspect') +225.765 000.019 000.019: require('vim.F') +229.308 006.007 004.228: require('telescope.config') +229.577 000.120 000.120: require('plenary.window.border') +229.683 000.098 000.098: require('plenary.window') +229.770 000.080 000.080: require('plenary.popup.utils') +229.781 000.456 000.158: require('plenary.popup') +229.882 000.095 000.095: require('telescope.pickers.scroller') +229.979 000.091 000.091: require('telescope.actions.state') +230.081 000.095 000.095: require('telescope.actions.utils') +230.286 000.096 000.096: require('telescope.actions.mt') +230.366 000.280 000.184: require('telescope.actions.set') +230.575 000.101 000.101: require('telescope.config.resolve') +230.582 000.209 000.107: require('telescope.pickers.entry_display') +230.672 000.086 000.086: require('telescope.from_entry') +231.015 007.994 000.677: require('telescope.actions') +231.930 000.115 000.115: require('plenary.tbl') +231.939 000.219 000.104: require('plenary.vararg.rotate') +231.943 000.319 000.100: require('plenary.vararg') +232.042 000.086 000.086: require('plenary.errors') +232.062 000.539 000.134: require('plenary.async.async') +232.167 000.100 000.100: require('plenary.async.structs') +232.186 000.783 000.144: require('plenary.async.control') +232.710 000.361 000.361: require('telescope.make_entry') +233.194 000.129 000.129: require('plenary.async.util') +233.201 000.233 000.104: require('plenary.async.tests') +233.207 000.357 000.124: require('plenary.async') +233.213 000.488 000.131: require('telescope.finders.async_static_finder') +233.549 000.093 000.093: require('plenary.class') +233.580 000.246 000.153: require('telescope._') +233.587 000.369 000.123: require('telescope.finders.async_oneshot_finder') +233.698 000.105 000.105: require('telescope.finders.async_job_finder') +233.710 001.515 000.192: require('telescope.finders') +234.124 000.171 000.171: require('telescope.debounce') +234.362 000.229 000.229: require('telescope.mappings') +234.498 000.126 000.126: require('telescope.pickers.highlights') +234.610 000.104 000.104: require('telescope.pickers.window') +234.844 000.108 000.108: require('telescope.algos.linked_list') +234.853 000.236 000.128: require('telescope.entry_manager') +234.963 000.106 000.106: require('telescope.pickers.multi') +235.003 001.288 000.316: require('telescope.pickers') +235.020 003.806 000.220: require('telescope.builtin.__lsp') +235.078 004.055 000.249: require('telescope.builtin') +235.503 000.287 000.287: require('fzf_lib') +235.517 000.432 000.145: require('telescope._extensions.fzf') +236.042 000.183 000.183: require('telescope._extensions.file_browser.utils') +236.187 000.522 000.339: require('telescope._extensions.file_browser.actions') +236.536 000.198 000.198: require('telescope._extensions.file_browser.make_entry') +236.753 000.204 000.204: require('plenary.scandir') +236.804 000.609 000.208: require('telescope._extensions.file_browser.finders') +236.937 000.124 000.124: require('telescope._extensions.file_browser.picker') +237.091 000.147 000.147: require('telescope._extensions.file_browser.config') +237.098 001.565 000.163: require('telescope._extensions.file_browser') +243.325 000.017 000.017: require('vim.keymap') +243.488 020.979 006.644: require('plugins.telescope') +245.555 000.085 000.085: require('notify.util.queue') +245.565 000.495 000.410: require('notify.util') +245.823 000.253 000.253: require('notify.config.highlights') +245.834 001.119 000.371: require('notify.config') +246.182 000.341 000.341: require('notify.stages') +246.287 000.097 000.097: require('notify.service.notification') +246.645 000.079 000.079: require('notify.animate.spring') +246.652 000.175 000.096: require('notify.animate') +246.661 000.367 000.192: require('notify.windows') +247.013 000.098 000.098: require('notify.service.buffer.highlights') +247.023 000.262 000.164: require('notify.service.buffer') +247.028 000.362 000.100: require('notify.service') +247.128 000.095 000.095: require('notify.stages.util') +247.137 002.804 000.422: require('notify') +247.232 000.089 000.089: require('nvim-tree.iterators.node-iterator') +247.295 003.077 000.183: require('nvim-tree.utils') +247.307 003.176 000.100: require('nvim-tree.events') +247.638 000.084 000.084: require('nvim-tree.log') +247.810 000.164 000.164: require('nvim-tree.git.utils') +247.913 000.095 000.095: require('nvim-tree.git.runner') +248.009 000.090 000.090: require('nvim-tree.watcher') +248.019 000.608 000.174: require('nvim-tree.git') +248.113 000.089 000.089: require('nvim-tree.explorer.watch') +248.246 000.086 000.086: require('nvim-tree.explorer.common') +248.436 000.098 000.098: require('nvim-tree.explorer.node-builders') +248.530 000.086 000.086: require('nvim-tree.explorer.sorters') +248.634 000.089 000.089: require('nvim-tree.explorer.filters') +248.908 000.177 000.177: require('nvim-tree.view') +248.920 000.279 000.102: require('nvim-tree.live-filter') +248.925 000.671 000.119: require('nvim-tree.explorer.explore') +249.050 000.104 000.104: require('nvim-tree.explorer.reload') +249.058 001.745 000.187: require('nvim-tree.explorer') +249.065 005.013 000.091: require('nvim-tree.core') +249.181 000.110 000.110: require('nvim-tree.diagnostics') +249.279 000.090 000.090: require('nvim-tree.renderer.components.padding') +249.374 000.088 000.088: require('nvim-tree.renderer.components.icons') +249.474 000.094 000.094: require('nvim-tree.renderer.components.full-name') +249.562 000.082 000.082: require('nvim-tree.renderer.help') +249.675 000.107 000.107: require('nvim-tree.renderer.components.git') +249.794 000.112 000.112: require('nvim-tree.renderer.builder') +249.901 000.100 000.100: require('nvim-tree.marks') +249.916 005.971 000.175: require('nvim-tree.renderer') +250.022 000.095 000.095: require('nvim-tree.actions.tree-modifiers.collapse-all') +250.110 000.081 000.081: require('nvim-tree.actions.root.dir-up') +250.210 000.094 000.094: require('nvim-tree.actions.root.change-dir') +250.308 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') +250.406 000.089 000.089: require('nvim-tree.actions.finders.find-file') +250.411 006.559 000.137: require('nvim-tree.lib') +250.512 000.096 000.096: require('nvim-tree.colors') +250.633 000.111 000.111: require('nvim-tree.legacy') +250.749 000.108 000.108: require('nvim-tree.actions.fs.copy-paste') +250.948 000.093 000.093: require('nvim-tree.actions.tree-modifiers.expand-all') +251.044 000.089 000.089: require('nvim-tree.actions.tree-modifiers.toggles') +251.152 000.093 000.093: require('nvim-tree.actions.fs.create-file') +251.249 000.089 000.089: require('nvim-tree.actions.fs.rename-file') +251.369 000.113 000.113: require('nvim-tree.actions.fs.trash') +251.472 000.095 000.095: require('nvim-tree.actions.fs.remove-file') +251.566 000.085 000.085: require('nvim-tree.actions.moves.parent') +251.657 000.084 000.084: require('nvim-tree.actions.moves.sibling') +251.747 000.083 000.083: require('nvim-tree.actions.moves.item') +251.856 000.090 000.090: require('nvim-tree.actions.finders.search-node') +251.945 000.083 000.083: require('nvim-tree.actions.node.run-command') +252.039 000.088 000.088: require('nvim-tree.actions.node.file-popup') +252.148 000.103 000.103: require('nvim-tree.actions.node.system-open') +252.247 000.088 000.088: require('nvim-tree.marks.bulk-move') +252.253 001.494 000.219: require('nvim-tree.actions.dispatch') +252.298 008.630 000.262: require('nvim-tree') +252.386 000.080 000.080: require('nvim-tree.config') +257.095 000.193 000.193: require('nvim-tree.actions') +257.240 000.128 000.128: require('nvim-tree.actions.node.open-file') +260.691 000.107 000.107: require('nvim-tree.marks.navigation') +260.703 000.318 000.211: require('nvim-tree.api') +260.730 000.478 000.160: require('nvim-tree.keymap') +261.644 000.460 000.460: require('nvim-web-devicons') +265.847 022.349 012.380: require('plugins.nvim-tree') +266.218 000.107 000.107: require('lualine_require') +266.776 000.811 000.704: require('lualine') +266.861 000.076 000.076: require('plugins.linecolor') +271.822 000.113 000.113: require('lualine.utils.mode') +278.657 012.797 011.798: require('plugins.lualine') +278.733 182.854 007.556: sourcing /home/sxrdusr/.config/nvim/init.lua +278.753 007.023: sourcing vimrc file(s) +279.069 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +280.561 000.083 000.083: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.lua +282.097 001.197 001.197: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.vim +284.560 000.271 000.271: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/synload.vim +284.797 002.162 001.892: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/syntax.vim +290.655 001.081 001.081: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/gzip.vim +290.838 000.074 000.074: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/health.vim +293.462 001.365 001.365: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +293.908 003.000 001.635: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchit.vim +294.379 000.409 000.409: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchparen.vim +294.523 000.076 000.076: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/netrwPlugin.vim +294.930 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +294.951 000.364 000.340: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/rplugin.vim +295.198 000.188 000.188: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/shada.vim +295.317 000.052 000.052: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/spellfile.vim +295.444 000.062 000.062: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tarPlugin.vim +295.569 000.061 000.061: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tohtml.vim +295.694 000.049 000.049: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tutor.vim +296.445 000.685 000.685: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/zipPlugin.vim +296.743 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +298.142 000.181 000.181: require('lspsaga') +298.522 000.126 000.126: require('lspsaga.window') +298.545 000.267 000.141: require('lspsaga.libs') +299.708 000.362 000.362: require('vim.lsp.log') +300.673 000.954 000.954: require('vim.lsp.protocol') +301.346 000.346 000.346: require('vim.lsp._snippet') +301.641 000.285 000.285: require('vim.highlight') +301.680 000.996 000.365: require('vim.lsp.util') +301.701 002.616 000.304: require('vim.lsp.handlers') +301.930 000.222 000.222: require('vim.lsp.rpc') +302.074 000.133 000.133: require('vim.lsp.sync') +302.593 000.511 000.511: require('vim.lsp.buf') +303.020 000.417 000.417: require('vim.lsp.diagnostic') +303.435 000.406 000.406: require('vim.lsp.codelens') +303.596 004.920 000.615: require('vim.lsp') +303.708 000.100 000.100: require('lspsaga.wrap') +303.723 005.172 000.152: require('lspsaga.codeaction') +303.769 005.615 000.176: require('lspsaga.lightbulb') +303.937 000.131 000.131: require('lspsaga.lspkind') +304.222 000.093 000.093: require('mason-core.path') +304.240 000.198 000.105: require('mason.settings') +304.542 000.086 000.086: require('mason-core.functional.data') +304.553 000.189 000.104: require('mason-core.functional.function') +304.594 000.347 000.158: require('mason-core.platform') +304.599 000.650 000.105: require('mason') +304.884 000.145 000.145: require('mason-core.functional') +305.020 000.116 000.116: require('mason-core.functional.list') +305.058 000.434 000.173: require('mason.api.command') +305.320 000.142 000.142: require('mason-core.log') +305.331 000.268 000.126: require('mason-lspconfig') +305.425 000.088 000.088: require('mason-lspconfig.settings') +305.553 000.105 000.105: require('mason-lspconfig.lspconfig_hook') +305.792 000.233 000.233: require('lspconfig.util') +306.061 000.092 000.092: require('mason-core.functional.table') +306.169 000.352 000.260: require('mason-lspconfig.mappings.server') +306.537 000.120 000.120: require('mason-core.async') +306.641 000.094 000.094: require('mason-core.async.uv') +306.661 000.347 000.133: require('mason-core.fs') +306.767 000.099 000.099: require('mason-core.optional') +306.864 000.089 000.089: require('mason-core.EventEmitter') +307.048 000.178 000.178: require('mason-registry.index') +307.071 000.893 000.181: require('mason-registry') +307.172 000.094 000.094: require('mason-lspconfig.server_config_extensions') +307.343 000.126 000.126: require('lspconfig.configs') +307.463 000.113 000.113: require('lspconfig.server_configurations.omnisharp') +307.665 000.101 000.101: require('mason-lspconfig.ensure_installed') +308.014 000.094 000.094: require('mason-core.result') +308.491 000.256 000.256: require('mason-core.process') +308.603 000.100 000.100: require('mason-core.functional.relation') +308.703 000.089 000.089: require('mason-core.functional.logic') +308.723 000.583 000.138: require('mason-core.spawn') +308.851 000.120 000.120: require('mason-core.receipt') +308.984 000.113 000.113: require('mason-core.functional.string') +309.020 000.998 000.182: require('mason-core.installer.context') +309.126 000.099 000.099: require('mason-core.installer.linker') +309.229 000.096 000.096: require('mason-core.async.control') +309.237 001.439 000.151: require('mason-core.installer') +309.364 000.122 000.122: require('mason-core.installer.handle') +311.696 000.112 000.112: require('mason-core.managers.powershell') +311.706 002.028 001.916: require('mason-core.fetch') +311.711 002.119 000.092: require('mason-core.managers.cargo.client') +311.749 002.278 000.158: require('mason-core.managers.cargo') +312.009 000.255 000.255: require('mason-core.managers.composer') +312.211 000.193 000.193: require('mason-core.managers.gem') +312.357 000.134 000.134: require('mason-core.managers.git') +312.604 000.124 000.124: require('mason-core.managers.std') +312.724 000.112 000.112: require('mason-core.managers.github.client') +312.738 000.373 000.137: require('mason-core.managers.github') +312.893 000.150 000.150: require('mason-core.managers.go') +313.074 000.174 000.174: require('mason-core.managers.luarocks') +313.273 000.193 000.193: require('mason-core.managers.npm') +313.429 000.148 000.148: require('mason-core.managers.pip3') +313.440 004.063 000.166: require('mason-core.package.version-check') +313.453 005.780 000.156: require('mason-core.package') +313.596 000.120 000.120: require('mason-registry.lua-language-server') +314.016 000.148 000.148: require('mason-registry.clangd') +314.251 000.202 000.202: require('mason-registry.rust-analyzer') +314.478 000.079 000.079: require('mason-core.notify') +314.587 000.100 000.100: require('mason-core.functional.number') +314.647 000.385 000.206: require('mason-lspconfig.api.command') +314.654 017.774 001.756: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +315.963 000.101 000.101: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/man.lua +316.291 010.027: loading rtp plugins +318.118 000.121 000.121: require('Comment.config') +318.235 000.108 000.108: require('Comment.utils') +318.334 000.092 000.092: require('Comment.opfunc') +318.429 000.089 000.089: require('Comment.extra') +318.444 000.586 000.176: require('Comment.api') +318.874 001.089 000.503: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +319.655 000.090 000.090: require('luasnip.util.types') +319.758 000.094 000.094: require('luasnip.util.ext_opts') +319.863 000.098 000.098: require('luasnip.extras.filetype_functions') +319.970 000.100 000.100: require('luasnip.session') +320.338 000.137 000.137: require('luasnip.util.util') +320.444 000.098 000.098: require('luasnip.nodes.util') +320.531 000.080 000.080: require('luasnip.util.events') +320.549 000.467 000.152: require('luasnip.nodes.node') +320.704 000.092 000.092: require('luasnip.util.extend_decorator') +320.715 000.738 000.179: require('luasnip.nodes.insertNode') +321.030 000.111 000.111: require('luasnip.util.mark') +321.311 000.122 000.122: require('luasnip.nodes.textNode') +323.154 001.735 001.735: require('luasnip.util._builtin_vars') +323.344 002.021 000.286: require('luasnip.util.environ') +323.470 000.114 000.114: require('luasnip.util.pattern_tokenizer') +323.562 000.085 000.085: require('luasnip.util.dict') +323.680 000.110 000.110: require('luasnip.session.snippet_collection') +323.746 002.707 000.255: require('luasnip.nodes.snippet') +323.805 003.084 000.266: require('luasnip.nodes.choiceNode') +323.972 000.139 000.139: require('luasnip.nodes.functionNode') +324.195 000.214 000.214: require('luasnip.nodes.dynamicNode') +324.383 000.179 000.179: require('luasnip.nodes.restoreNode') +324.509 000.119 000.119: require('luasnip.extras') +324.709 000.086 000.086: require('luasnip.util.str') +324.718 000.193 000.107: require('luasnip.extras.fmt') +324.812 000.088 000.088: require('luasnip.extras.expand_conditions') +325.142 000.106 000.106: require('luasnip.util.parser.neovim_ast') +337.540 000.132 000.132: require('luasnip.util.directed_graph') +337.562 012.634 012.397: require('luasnip.util.parser.ast_utils') +337.788 000.094 000.094: require('luasnip.util.functions') +337.804 000.235 000.140: require('luasnip.util.parser.ast_parser') +337.986 000.177 000.177: require('luasnip.util.parser.neovim_parser') +338.002 013.180 000.134: require('luasnip.util.parser') +338.102 000.093 000.093: require('luasnip.nodes.absolute_indexer') +338.653 019.224 000.817: require('luasnip.config') +338.816 019.693 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +339.740 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +340.704 000.121 000.121: require('indent_blankline/utils') +340.714 000.328 000.207: require('indent_blankline') +341.171 000.107 000.107: require('indent_blankline.commands') +341.331 001.120 000.686: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +341.766 000.120 000.120: require('lsp-colors') +342.120 000.527 000.407: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +343.544 001.016 001.016: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +344.414 000.400 000.400: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +345.007 000.111 000.111: require('cmp.utils.api') +345.199 000.086 000.086: require('cmp.types.cmp') +345.402 000.100 000.100: require('cmp.utils.misc') +345.503 000.297 000.197: require('cmp.types.lsp') +345.626 000.113 000.113: require('cmp.types.vim') +345.632 000.615 000.119: require('cmp.types') +345.728 000.090 000.090: require('cmp.utils.highlight') +345.899 000.080 000.080: require('cmp.utils.debug') +345.915 000.180 000.101: require('cmp.utils.autocmd') +346.453 001.651 000.655: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +346.722 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +347.167 000.120 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +347.647 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +348.348 000.094 000.094: require('nvim-treesitter.statusline') +348.460 000.104 000.104: require('nvim-treesitter.query_predicates') +348.467 000.315 000.116: require('nvim-treesitter') +349.846 000.554 000.554: require('vim.treesitter.highlighter') +350.210 001.095 000.541: require('nvim-treesitter.highlight') +350.824 002.752 001.342: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +351.290 000.239 000.239: require('treesitter-context') +351.300 000.282 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +351.700 000.111 000.111: require('nvim-treesitter-refactor') +351.993 000.433 000.322: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +352.381 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +352.769 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +353.140 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +353.923 000.425 000.425: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +354.290 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +355.450 000.659 000.659: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +356.275 000.502 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +356.887 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +357.732 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +358.028 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +358.315 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +359.679 011.023: loading packages +361.384 000.464 000.464: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +365.756 005.510 005.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +366.647 000.195 000.195: require('cmp.utils.char') +366.667 000.306 000.111: require('cmp.utils.str') +366.765 000.090 000.090: require('cmp.utils.pattern') +367.066 000.082 000.082: require('cmp.utils.buffer') +367.081 000.207 000.126: require('cmp.utils.keymap') +367.091 000.315 000.108: require('cmp.utils.feedkeys') +367.201 000.105 000.105: require('cmp.utils.async') +367.380 000.082 000.082: require('cmp.utils.cache') +367.389 000.180 000.098: require('cmp.context') +367.705 000.104 000.104: require('cmp.config.mapping') +367.927 000.112 000.112: require('cmp.config.compare') +367.934 000.218 000.106: require('cmp.config.default') +367.962 000.455 000.133: require('cmp.config') +368.178 000.083 000.083: require('cmp.matcher') +368.191 000.223 000.140: require('cmp.entry') +368.209 000.816 000.138: require('cmp.source') +368.392 000.080 000.080: require('cmp.utils.event') +368.603 000.111 000.111: require('cmp.utils.window') +368.611 000.211 000.101: require('cmp.view.docs_view') +368.766 000.150 000.150: require('cmp.view.custom_entries_view') +368.897 000.124 000.124: require('cmp.view.wildmenu_entries_view') +369.028 000.124 000.124: require('cmp.view.native_entries_view') +369.135 000.100 000.100: require('cmp.view.ghost_text_view') +369.152 000.938 000.148: require('cmp.view') +369.269 003.048 000.297: require('cmp.core') +369.712 000.089 000.089: require('cmp.config.sources') +369.804 000.082 000.082: require('cmp.config.window') +369.904 003.832 000.613: require('cmp') +370.290 000.081 000.081: require('cmp_buffer.timer') +370.302 000.203 000.122: require('cmp_buffer.buffer') +370.308 000.305 000.102: require('cmp_buffer.source') +370.312 000.401 000.095: require('cmp_buffer') +370.344 004.362 000.130: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +370.777 000.183 000.183: require('cmp_cmdline') +370.811 000.289 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +371.233 000.099 000.099: require('cmp_nvim_lsp.source') +371.241 000.212 000.113: require('cmp_nvim_lsp') +371.290 000.324 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +371.645 000.140 000.140: require('cmp_path') +371.743 000.303 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +372.089 000.120 000.120: require('cmp_luasnip') +372.183 000.285 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +372.388 001.635: loading after plugins +372.417 000.029: inits 3 +372.430 000.013: reading ShaDa +372.874 000.094 000.094: require('luasnip.loaders._caches') +373.012 000.130 000.130: require('luasnip.util.path') +373.134 000.114 000.114: require('luasnip.loaders.util') +373.430 000.135 000.135: require('luasnip.loaders') +373.482 000.340 000.205: require('luasnip') +373.489 000.831 000.154: require('luasnip.loaders.from_lua') +373.761 000.100 000.100: require('luasnip.nodes.snippetProxy') +373.775 000.232 000.132: require('luasnip.loaders.from_snipmate') +373.944 000.123 000.123: require('luasnip.loaders.from_vscode') +374.862 001.247: opening buffers +375.085 000.223: BufEnter autocommands +375.092 000.007: editing files in windows +411.604 001.608 001.608: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.111 001.111: --- NVIM STARTING --- +027.185 026.074: event init +043.596 016.411: early init +045.265 001.669: locale set +050.725 005.460: init first window +060.579 009.854: inits 1 +060.609 000.030: window checked +060.619 000.010: parsing arguments +071.284 000.124 000.124: require('vim.shared') +071.506 000.108 000.108: require('vim._meta') +071.512 000.217 000.109: require('vim._editor') +071.515 000.397 000.055: require('vim._init_packages') +071.519 010.503: init lua interpreter +071.592 000.073: expanding arguments +073.348 001.755: inits 2 +073.982 000.634: init highlight +073.987 000.005: waiting for UI +077.805 003.818: done waiting for UI +077.840 000.035: init screen for UI +078.079 000.239: init default mappings +078.106 000.027: init default autocommands +087.815 004.243 004.243: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/ftplugin.vim +089.992 001.017 001.017: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/indent.vim +090.372 000.035 000.035: sourcing /usr/share/nvim/archlinux.vim +090.385 000.098 000.064: sourcing /etc/xdg/nvim/sysinit.vim +105.119 014.531 014.531: require('impatient') +105.253 000.119 000.119: require('impatient.profile') +108.631 000.731 000.731: require('keys') +111.118 002.475 002.475: require('opts') +111.846 000.144 000.144: require('packer.util') +111.903 000.510 000.366: require('packer') +112.587 000.275 000.275: require('packer.log') +112.597 000.463 000.188: require('packer.async') +112.989 000.210 000.210: require('packer.result') +112.997 000.394 000.183: require('packer.jobs') +113.012 001.062 000.206: require('packer.plugin_utils') +113.532 000.496 000.496: require('packer.snapshot') +114.562 003.432 001.363: require('pack') +115.890 000.293 000.293: require('vim.treesitter.language') +115.910 000.727 000.434: require('vim.treesitter.query') +117.287 000.216 000.216: require('vim.treesitter.languagetree') +117.351 000.578 000.363: require('vim.treesitter') +117.630 001.176 000.598: require('nvim-treesitter.parsers') +117.859 000.220 000.220: require('nvim-treesitter.utils') +117.871 001.701 000.305: require('nvim-treesitter.ts_utils') +117.885 001.964 000.263: require('nvim-treesitter.tsrange') +117.988 000.096 000.096: require('nvim-treesitter.caching') +118.007 002.945 000.158: require('nvim-treesitter.query') +118.039 003.132 000.187: require('nvim-treesitter.configs') +118.536 000.114 000.114: require('nvim-treesitter.info') +118.675 000.129 000.129: require('nvim-treesitter.shell_command_selectors') +118.724 000.480 000.236: require('nvim-treesitter.install') +157.329 042.756 039.144: require('plugins.treesitter') +157.746 000.103 000.103: require('telescope._extensions') +157.757 000.215 000.113: require('telescope') +158.664 000.097 000.097: require('plenary.bit') +158.765 000.092 000.092: require('plenary.functional') +158.812 000.031 000.031: require('ffi') +158.835 000.422 000.202: require('plenary.path') +158.850 000.595 000.173: require('plenary.strings') +158.947 000.092 000.092: require('telescope.deprecated') +159.473 000.318 000.318: require('plenary.log') +159.514 000.439 000.120: require('telescope.log') +159.793 000.137 000.137: require('plenary.job') +159.900 000.098 000.098: require('telescope.state') +159.916 000.395 000.160: require('telescope.utils') +159.931 000.977 000.143: require('telescope.sorters') +160.097 000.145 000.145: require('vim.inspect') +160.525 000.020 000.020: require('vim.F') +164.303 006.263 004.434: require('telescope.config') +164.534 000.095 000.095: require('plenary.window.border') +164.641 000.100 000.100: require('plenary.window') +164.732 000.083 000.083: require('plenary.popup.utils') +164.741 000.423 000.145: require('plenary.popup') +164.846 000.099 000.099: require('telescope.pickers.scroller') +164.947 000.094 000.094: require('telescope.actions.state') +165.047 000.094 000.094: require('telescope.actions.utils') +165.255 000.098 000.098: require('telescope.actions.mt') +165.339 000.285 000.187: require('telescope.actions.set') +165.628 000.111 000.111: require('telescope.config.resolve') +165.635 000.290 000.180: require('telescope.pickers.entry_display') +165.765 000.089 000.089: require('telescope.from_entry') +166.096 008.333 000.695: require('telescope.actions') +167.038 000.094 000.094: require('plenary.tbl') +167.049 000.215 000.122: require('plenary.vararg.rotate') +167.053 000.346 000.131: require('plenary.vararg') +167.177 000.112 000.112: require('plenary.errors') +167.190 000.618 000.160: require('plenary.async.async') +167.317 000.121 000.121: require('plenary.async.structs') +167.332 000.898 000.159: require('plenary.async.control') +167.818 000.360 000.360: require('telescope.make_entry') +168.264 000.119 000.119: require('plenary.async.util') +168.271 000.220 000.101: require('plenary.async.tests') +168.277 000.330 000.110: require('plenary.async') +168.287 000.453 000.123: require('telescope.finders.async_static_finder') +168.613 000.092 000.092: require('plenary.class') +168.647 000.246 000.155: require('telescope._') +168.654 000.362 000.115: require('telescope.finders.async_oneshot_finder') +168.772 000.113 000.113: require('telescope.finders.async_job_finder') +168.788 001.448 000.161: require('telescope.finders') +169.220 000.156 000.156: require('telescope.debounce') +169.470 000.241 000.241: require('telescope.mappings') +169.610 000.129 000.129: require('telescope.pickers.highlights') +169.755 000.136 000.136: require('telescope.pickers.window') +169.976 000.103 000.103: require('telescope.algos.linked_list') +169.989 000.227 000.124: require('telescope.entry_manager') +170.088 000.094 000.094: require('telescope.pickers.multi') +170.141 001.347 000.364: require('telescope.pickers') +170.166 003.902 000.209: require('telescope.builtin.__lsp') +170.213 004.110 000.208: require('telescope.builtin') +170.621 000.277 000.277: require('fzf_lib') +170.638 000.414 000.136: require('telescope._extensions.fzf') +171.172 000.187 000.187: require('telescope._extensions.file_browser.utils') +171.332 000.559 000.372: require('telescope._extensions.file_browser.actions') +171.693 000.212 000.212: require('telescope._extensions.file_browser.make_entry') +171.940 000.235 000.235: require('plenary.scandir') +171.994 000.653 000.206: require('telescope._extensions.file_browser.finders') +172.126 000.124 000.124: require('telescope._extensions.file_browser.picker') +172.281 000.148 000.148: require('telescope._extensions.file_browser.config') +172.287 001.634 000.149: require('telescope._extensions.file_browser') +177.884 000.017 000.017: require('vim.keymap') +178.248 020.907 006.185: require('plugins.telescope') +179.753 000.165 000.165: require('notify.util.queue') +179.763 000.341 000.175: require('notify.util') +180.014 000.244 000.244: require('notify.config.highlights') +180.024 000.708 000.123: require('notify.config') +180.121 000.091 000.091: require('notify.stages') +180.279 000.128 000.128: require('notify.service.notification') +180.547 000.077 000.077: require('notify.animate.spring') +180.553 000.163 000.086: require('notify.animate') +180.562 000.276 000.113: require('notify.windows') +180.849 000.099 000.099: require('notify.service.buffer.highlights') +180.859 000.202 000.104: require('notify.service.buffer') +180.864 000.297 000.095: require('notify.service') +180.964 000.096 000.096: require('notify.stages.util') +180.973 001.863 000.268: require('notify') +181.067 000.088 000.088: require('nvim-tree.iterators.node-iterator') +181.131 002.139 000.187: require('nvim-tree.utils') +181.143 002.243 000.104: require('nvim-tree.events') +181.520 000.083 000.083: require('nvim-tree.log') +181.695 000.166 000.166: require('nvim-tree.git.utils') +181.800 000.098 000.098: require('nvim-tree.git.runner') +181.898 000.091 000.091: require('nvim-tree.watcher') +181.908 000.566 000.128: require('nvim-tree.git') +182.001 000.088 000.088: require('nvim-tree.explorer.watch') +182.135 000.087 000.087: require('nvim-tree.explorer.common') +182.325 000.099 000.099: require('nvim-tree.explorer.node-builders') +182.421 000.087 000.087: require('nvim-tree.explorer.sorters') +182.521 000.085 000.085: require('nvim-tree.explorer.filters') +182.808 000.182 000.182: require('nvim-tree.view') +182.825 000.297 000.115: require('nvim-tree.live-filter') +182.833 000.691 000.123: require('nvim-tree.explorer.explore') +182.993 000.151 000.151: require('nvim-tree.explorer.reload') +183.004 001.856 000.273: require('nvim-tree.explorer') +183.016 004.199 000.099: require('nvim-tree.core') +183.191 000.168 000.168: require('nvim-tree.diagnostics') +183.342 000.138 000.138: require('nvim-tree.renderer.components.padding') +183.522 000.170 000.170: require('nvim-tree.renderer.components.icons') +183.685 000.151 000.151: require('nvim-tree.renderer.components.full-name') +183.825 000.130 000.130: require('nvim-tree.renderer.help') +184.007 000.171 000.171: require('nvim-tree.renderer.components.git') +184.195 000.178 000.178: require('nvim-tree.renderer.builder') +184.347 000.141 000.141: require('nvim-tree.marks') +184.368 005.654 000.208: require('nvim-tree.renderer') +184.535 000.149 000.149: require('nvim-tree.actions.tree-modifiers.collapse-all') +184.674 000.129 000.129: require('nvim-tree.actions.root.dir-up') +184.832 000.147 000.147: require('nvim-tree.actions.root.change-dir') +184.958 000.116 000.116: require('nvim-tree.actions.reloaders.reloaders') +185.064 000.095 000.095: require('nvim-tree.actions.finders.find-file') +185.070 006.451 000.159: require('nvim-tree.lib') +185.173 000.098 000.098: require('nvim-tree.colors') +185.295 000.112 000.112: require('nvim-tree.legacy') +185.413 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') +185.615 000.095 000.095: require('nvim-tree.actions.tree-modifiers.expand-all') +185.712 000.090 000.090: require('nvim-tree.actions.tree-modifiers.toggles') +185.821 000.094 000.094: require('nvim-tree.actions.fs.create-file') +185.919 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +186.041 000.114 000.114: require('nvim-tree.actions.fs.trash') +186.143 000.095 000.095: require('nvim-tree.actions.fs.remove-file') +186.240 000.086 000.086: require('nvim-tree.actions.moves.parent') +186.331 000.085 000.085: require('nvim-tree.actions.moves.sibling') +186.423 000.084 000.084: require('nvim-tree.actions.moves.item') +186.533 000.091 000.091: require('nvim-tree.actions.finders.search-node') +186.622 000.083 000.083: require('nvim-tree.actions.node.run-command') +186.719 000.091 000.091: require('nvim-tree.actions.node.file-popup') +186.848 000.121 000.121: require('nvim-tree.actions.node.system-open') +186.948 000.090 000.090: require('nvim-tree.marks.bulk-move') +186.954 001.531 000.224: require('nvim-tree.actions.dispatch') +186.983 008.551 000.251: require('nvim-tree') +187.065 000.076 000.076: require('nvim-tree.config') +190.975 000.179 000.179: require('nvim-tree.actions') +191.118 000.126 000.126: require('nvim-tree.actions.node.open-file') +194.601 000.103 000.103: require('nvim-tree.marks.navigation') +194.613 000.300 000.197: require('nvim-tree.api') +194.642 000.462 000.162: require('nvim-tree.keymap') +195.607 000.463 000.463: require('nvim-web-devicons') +200.113 021.854 011.996: require('plugins.nvim-tree') +200.819 000.138 000.138: require('lualine_require') +201.441 000.999 000.861: require('lualine') +201.530 000.079 000.079: require('plugins.linecolor') +209.975 000.135 000.135: require('lualine.utils.mode') +213.198 013.006 011.794: require('plugins.lualine') +213.236 122.803 002.991: sourcing /home/sxrdusr/.config/nvim/init.lua +213.254 006.986: sourcing vimrc file(s) +213.571 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +214.883 000.074 000.074: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.lua +216.250 001.156 001.156: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.vim +218.459 000.289 000.289: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/synload.vim +218.710 001.984 001.695: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/syntax.vim +224.924 001.037 001.037: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/gzip.vim +225.080 000.065 000.065: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/health.vim +228.009 001.454 001.454: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +228.576 003.411 001.957: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchit.vim +229.076 000.413 000.413: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchparen.vim +229.256 000.090 000.090: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/netrwPlugin.vim +229.702 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +229.723 000.379 000.355: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/rplugin.vim +230.008 000.198 000.198: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/shada.vim +230.190 000.091 000.091: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/spellfile.vim +230.360 000.080 000.080: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tarPlugin.vim +230.524 000.075 000.075: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tohtml.vim +230.670 000.058 000.058: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tutor.vim +231.429 000.673 000.673: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/zipPlugin.vim +231.723 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +233.248 000.155 000.155: require('lspsaga') +233.650 000.126 000.126: require('lspsaga.window') +233.674 000.289 000.163: require('lspsaga.libs') +234.831 000.402 000.402: require('vim.lsp.log') +235.514 000.671 000.671: require('vim.lsp.protocol') +236.036 000.228 000.228: require('vim.lsp._snippet') +236.195 000.149 000.149: require('vim.highlight') +236.231 000.707 000.330: require('vim.lsp.util') +236.254 002.041 000.262: require('vim.lsp.handlers') +236.548 000.287 000.287: require('vim.lsp.rpc') +236.714 000.154 000.154: require('vim.lsp.sync') +236.982 000.258 000.258: require('vim.lsp.buf') +237.189 000.194 000.194: require('vim.lsp.diagnostic') +237.383 000.186 000.186: require('vim.lsp.codelens') +237.546 003.740 000.620: require('vim.lsp') +237.656 000.098 000.098: require('lspsaga.wrap') +237.672 003.992 000.153: require('lspsaga.codeaction') +237.713 004.454 000.172: require('lspsaga.lightbulb') +237.892 000.137 000.137: require('lspsaga.lspkind') +238.160 000.086 000.086: require('mason-core.path') +238.178 000.190 000.104: require('mason.settings') +238.483 000.086 000.086: require('mason-core.functional.data') +238.491 000.190 000.104: require('mason-core.functional.function') +238.531 000.345 000.156: require('mason-core.platform') +238.536 000.631 000.096: require('mason') +238.821 000.142 000.142: require('mason-core.functional') +238.957 000.113 000.113: require('mason-core.functional.list') +239.001 000.437 000.182: require('mason.api.command') +239.249 000.137 000.137: require('mason-core.log') +239.258 000.250 000.114: require('mason-lspconfig') +239.355 000.092 000.092: require('mason-lspconfig.settings') +239.481 000.107 000.107: require('mason-lspconfig.lspconfig_hook') +239.804 000.316 000.316: require('lspconfig.util') +240.204 000.126 000.126: require('mason-core.functional.table') +240.364 000.446 000.320: require('mason-lspconfig.mappings.server') +240.714 000.112 000.112: require('mason-core.async') +240.810 000.087 000.087: require('mason-core.async.uv') +240.822 000.314 000.115: require('mason-core.fs') +240.921 000.090 000.090: require('mason-core.optional') +241.022 000.094 000.094: require('mason-core.EventEmitter') +241.210 000.181 000.181: require('mason-registry.index') +241.234 000.860 000.181: require('mason-registry') +241.334 000.093 000.093: require('mason-lspconfig.server_config_extensions') +241.505 000.118 000.118: require('lspconfig.configs') +241.623 000.110 000.110: require('lspconfig.server_configurations.omnisharp') +241.763 000.097 000.097: require('mason-lspconfig.ensure_installed') +242.095 000.095 000.095: require('mason-core.result') +242.582 000.251 000.251: require('mason-core.process') +242.688 000.094 000.094: require('mason-core.functional.relation') +242.788 000.090 000.090: require('mason-core.functional.logic') +242.807 000.575 000.140: require('mason-core.spawn') +242.922 000.106 000.106: require('mason-core.receipt') +243.037 000.096 000.096: require('mason-core.functional.string') +243.067 000.964 000.187: require('mason-core.installer.context') +243.173 000.100 000.100: require('mason-core.installer.linker') +243.274 000.095 000.095: require('mason-core.async.control') +243.283 001.396 000.141: require('mason-core.installer') +243.420 000.132 000.132: require('mason-core.installer.handle') +245.806 000.120 000.120: require('mason-core.managers.powershell') +245.817 002.066 001.945: require('mason-core.fetch') +245.822 002.152 000.086: require('mason-core.managers.cargo.client') +245.863 002.308 000.156: require('mason-core.managers.cargo') +246.012 000.143 000.143: require('mason-core.managers.composer') +246.163 000.144 000.144: require('mason-core.managers.gem') +246.277 000.107 000.107: require('mason-core.managers.git') +246.520 000.120 000.120: require('mason-core.managers.std') +246.633 000.106 000.106: require('mason-core.managers.github.client') +246.652 000.368 000.142: require('mason-core.managers.github') +246.927 000.270 000.270: require('mason-core.managers.go') +247.120 000.184 000.184: require('mason-core.managers.luarocks') +247.268 000.141 000.141: require('mason-core.managers.npm') +247.446 000.171 000.171: require('mason-core.managers.pip3') +247.459 004.027 000.192: require('mason-core.package.version-check') +247.472 005.702 000.147: require('mason-core.package') +247.697 000.125 000.125: require('mason-registry.lua-language-server') +248.154 000.144 000.144: require('mason-registry.clangd') +248.338 000.142 000.142: require('mason-registry.rust-analyzer') +248.567 000.079 000.079: require('mason-core.notify') +248.681 000.104 000.104: require('mason-core.functional.number') +248.744 000.395 000.212: require('mason-lspconfig.api.command') +248.751 016.895 002.084: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +250.216 000.149 000.149: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/man.lua +250.464 010.291: loading rtp plugins +252.317 000.130 000.130: require('Comment.config') +252.432 000.105 000.105: require('Comment.utils') +252.532 000.092 000.092: require('Comment.opfunc') +252.631 000.092 000.092: require('Comment.extra') +252.648 000.616 000.196: require('Comment.api') +253.164 001.202 000.586: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +253.955 000.088 000.088: require('luasnip.util.types') +254.062 000.098 000.098: require('luasnip.util.ext_opts') +254.171 000.101 000.101: require('luasnip.extras.filetype_functions') +254.272 000.094 000.094: require('luasnip.session') +254.636 000.137 000.137: require('luasnip.util.util') +254.743 000.099 000.099: require('luasnip.nodes.util') +254.843 000.092 000.092: require('luasnip.util.events') +254.861 000.475 000.147: require('luasnip.nodes.node') +255.012 000.094 000.094: require('luasnip.util.extend_decorator') +255.023 000.743 000.175: require('luasnip.nodes.insertNode') +255.408 000.109 000.109: require('luasnip.util.mark') +255.695 000.123 000.123: require('luasnip.nodes.textNode') +256.595 000.792 000.792: require('luasnip.util._builtin_vars') +256.841 001.133 000.341: require('luasnip.util.environ') +256.963 000.111 000.111: require('luasnip.util.pattern_tokenizer') +257.055 000.084 000.084: require('luasnip.util.dict') +257.172 000.110 000.110: require('luasnip.session.snippet_collection') +257.232 001.814 000.254: require('luasnip.nodes.snippet') +257.291 002.263 000.339: require('luasnip.nodes.choiceNode') +257.465 000.139 000.139: require('luasnip.nodes.functionNode') +257.663 000.187 000.187: require('luasnip.nodes.dynamicNode') +257.824 000.153 000.153: require('luasnip.nodes.restoreNode') +257.940 000.109 000.109: require('luasnip.extras') +258.135 000.088 000.088: require('luasnip.util.str') +258.144 000.193 000.104: require('luasnip.extras.fmt') +258.239 000.087 000.087: require('luasnip.extras.expand_conditions') +258.565 000.104 000.104: require('luasnip.util.parser.neovim_ast') +268.931 000.123 000.123: require('luasnip.util.directed_graph') +268.952 010.600 010.373: require('luasnip.util.parser.ast_utils') +269.185 000.096 000.096: require('luasnip.util.functions') +269.202 000.243 000.147: require('luasnip.util.parser.ast_parser') +269.421 000.212 000.212: require('luasnip.util.parser.neovim_parser') +269.442 011.193 000.138: require('luasnip.util.parser') +269.543 000.094 000.094: require('luasnip.nodes.absolute_indexer') +269.972 016.251 000.709: require('luasnip.config') +270.152 016.806 000.555: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +271.034 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +271.973 000.123 000.123: require('indent_blankline/utils') +271.982 000.313 000.190: require('indent_blankline') +272.343 000.105 000.105: require('indent_blankline.commands') +272.499 001.006 000.587: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +272.937 000.132 000.132: require('lsp-colors') +273.381 000.626 000.495: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +274.698 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +275.547 000.392 000.392: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +276.124 000.110 000.110: require('cmp.utils.api') +276.308 000.089 000.089: require('cmp.types.cmp') +276.520 000.102 000.102: require('cmp.utils.misc') +276.553 000.238 000.136: require('cmp.types.lsp') +276.641 000.081 000.081: require('cmp.types.vim') +276.647 000.514 000.105: require('cmp.types') +276.740 000.088 000.088: require('cmp.utils.highlight') +276.942 000.083 000.083: require('cmp.utils.debug') +276.958 000.211 000.128: require('cmp.utils.autocmd') +277.710 001.788 000.865: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +277.977 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +278.441 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +278.924 000.182 000.182: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +279.607 000.095 000.095: require('nvim-treesitter.statusline') +279.735 000.120 000.120: require('nvim-treesitter.query_predicates') +279.743 000.332 000.117: require('nvim-treesitter') +280.880 000.218 000.218: require('vim.treesitter.highlighter') +281.220 000.738 000.520: require('nvim-treesitter.highlight') +281.584 002.249 001.180: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +282.055 000.247 000.247: require('treesitter-context') +282.065 000.289 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +282.467 000.116 000.116: require('nvim-treesitter-refactor') +282.639 000.316 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +282.999 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +283.374 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +283.801 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +284.568 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +284.926 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +285.791 000.378 000.378: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +286.575 000.492 000.492: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +287.223 000.361 000.361: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +288.060 000.588 000.588: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +288.358 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +288.635 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +289.572 010.432: loading packages +291.291 000.474 000.474: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +295.675 005.526 005.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +296.520 000.147 000.147: require('cmp.utils.char') +296.536 000.263 000.115: require('cmp.utils.str') +296.633 000.090 000.090: require('cmp.utils.pattern') +296.969 000.081 000.081: require('cmp.utils.buffer') +296.982 000.246 000.166: require('cmp.utils.keymap') +296.995 000.354 000.108: require('cmp.utils.feedkeys') +297.107 000.107 000.107: require('cmp.utils.async') +297.291 000.081 000.081: require('cmp.utils.cache') +297.301 000.186 000.104: require('cmp.context') +297.636 000.107 000.107: require('cmp.config.mapping') +297.858 000.108 000.108: require('cmp.config.compare') +297.868 000.220 000.112: require('cmp.config.default') +297.896 000.466 000.139: require('cmp.config') +298.116 000.086 000.086: require('cmp.matcher') +298.130 000.228 000.142: require('cmp.entry') +298.150 000.844 000.150: require('cmp.source') +298.347 000.087 000.087: require('cmp.utils.event') +298.569 000.111 000.111: require('cmp.utils.window') +298.577 000.222 000.112: require('cmp.view.docs_view') +298.733 000.151 000.151: require('cmp.view.custom_entries_view') +298.868 000.128 000.128: require('cmp.view.wildmenu_entries_view') +298.986 000.112 000.112: require('cmp.view.native_entries_view') +299.096 000.102 000.102: require('cmp.view.ghost_text_view') +299.114 000.959 000.156: require('cmp.view') +299.197 003.078 000.275: require('cmp.core') +299.687 000.092 000.092: require('cmp.config.sources') +299.782 000.085 000.085: require('cmp.config.window') +299.886 003.913 000.659: require('cmp') +300.287 000.084 000.084: require('cmp_buffer.timer') +300.296 000.211 000.127: require('cmp_buffer.buffer') +300.304 000.319 000.108: require('cmp_buffer.source') +300.309 000.416 000.097: require('cmp_buffer') +300.342 004.448 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +300.758 000.175 000.175: require('cmp_cmdline') +300.793 000.281 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +301.292 000.176 000.176: require('cmp_nvim_lsp.source') +301.303 000.288 000.112: require('cmp_nvim_lsp') +301.353 000.407 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +301.714 000.146 000.146: require('cmp_path') +301.753 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +302.079 000.105 000.105: require('cmp_luasnip') +302.261 000.359 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +302.459 001.620: loading after plugins +302.488 000.029: inits 3 +302.501 000.013: reading ShaDa +302.942 000.097 000.097: require('luasnip.loaders._caches') +303.083 000.132 000.132: require('luasnip.util.path') +303.202 000.111 000.111: require('luasnip.loaders.util') +303.527 000.159 000.159: require('luasnip.loaders') +303.585 000.375 000.215: require('luasnip') +303.592 000.859 000.145: require('luasnip.loaders.from_lua') +303.889 000.122 000.122: require('luasnip.nodes.snippetProxy') +303.901 000.254 000.133: require('luasnip.loaders.from_snipmate') +304.069 000.123 000.123: require('luasnip.loaders.from_vscode') +305.197 001.459: opening buffers +305.422 000.225: BufEnter autocommands +305.429 000.007: editing files in windows +322.290 000.943 000.943: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.092 001.092: --- NVIM STARTING --- +027.470 026.378: event init +043.953 016.484: early init +045.599 001.646: locale set +051.045 005.446: init first window +060.894 009.849: inits 1 +060.923 000.029: window checked +060.933 000.011: parsing arguments +071.709 000.123 000.123: require('vim.shared') +071.945 000.108 000.108: require('vim._meta') +071.950 000.231 000.123: require('vim._editor') +071.954 000.411 000.057: require('vim._init_packages') +071.957 010.613: init lua interpreter +072.034 000.077: expanding arguments +073.708 001.674: inits 2 +074.323 000.616: init highlight +074.327 000.004: waiting for UI +078.106 003.778: done waiting for UI +078.157 000.052: init screen for UI +078.520 000.363: init default mappings +078.555 000.035: init default autocommands +088.938 004.488 004.488: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/ftplugin.vim +090.930 000.943 000.943: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/indent.vim +091.231 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim +091.243 000.084 000.057: sourcing /etc/xdg/nvim/sysinit.vim +105.580 014.174 014.174: require('impatient') +105.713 000.118 000.118: require('impatient.profile') +109.123 000.739 000.739: require('keys') +111.607 002.472 002.472: require('opts') +112.518 000.214 000.214: require('packer.util') +112.571 000.683 000.470: require('packer') +113.172 000.202 000.202: require('packer.log') +113.182 000.366 000.164: require('packer.async') +113.454 000.161 000.161: require('packer.result') +113.465 000.277 000.116: require('packer.jobs') +113.478 000.858 000.215: require('packer.plugin_utils') +113.774 000.272 000.272: require('packer.snapshot') +114.919 003.300 001.486: require('pack') +116.141 000.252 000.252: require('vim.treesitter.language') +116.161 000.730 000.479: require('vim.treesitter.query') +117.088 000.211 000.211: require('vim.treesitter.languagetree') +117.193 000.526 000.315: require('vim.treesitter') +117.477 001.084 000.558: require('nvim-treesitter.parsers') +117.613 000.127 000.127: require('nvim-treesitter.utils') +117.627 001.344 000.133: require('nvim-treesitter.ts_utils') +117.641 001.470 000.126: require('nvim-treesitter.tsrange') +117.738 000.090 000.090: require('nvim-treesitter.caching') +117.759 002.507 000.217: require('nvim-treesitter.query') +117.790 002.780 000.273: require('nvim-treesitter.configs') +118.152 000.107 000.107: require('nvim-treesitter.info') +118.293 000.132 000.132: require('nvim-treesitter.shell_command_selectors') +118.339 000.451 000.212: require('nvim-treesitter.install') +156.898 041.970 038.738: require('plugins.treesitter') +157.216 000.091 000.091: require('telescope._extensions') +157.226 000.195 000.105: require('telescope') +157.946 000.092 000.092: require('plenary.bit') +158.045 000.090 000.090: require('plenary.functional') +158.093 000.029 000.029: require('ffi') +158.116 000.407 000.196: require('plenary.path') +158.132 000.520 000.113: require('plenary.strings') +158.310 000.173 000.173: require('telescope.deprecated') +158.887 000.298 000.298: require('plenary.log') +159.000 000.494 000.196: require('telescope.log') +159.285 000.138 000.138: require('plenary.job') +159.380 000.086 000.086: require('telescope.state') +159.395 000.386 000.162: require('telescope.utils') +159.405 001.086 000.207: require('telescope.sorters') +159.514 000.086 000.086: require('vim.inspect') +160.442 000.019 000.019: require('vim.F') +164.246 006.778 004.895: require('telescope.config') +164.541 000.161 000.161: require('plenary.window.border') +164.687 000.136 000.136: require('plenary.window') +164.772 000.076 000.076: require('plenary.popup.utils') +164.780 000.520 000.147: require('plenary.popup') +164.894 000.108 000.108: require('telescope.pickers.scroller') +164.993 000.091 000.091: require('telescope.actions.state') +165.092 000.092 000.092: require('telescope.actions.utils') +165.296 000.095 000.095: require('telescope.actions.mt') +165.373 000.274 000.179: require('telescope.actions.set') +165.577 000.097 000.097: require('telescope.config.resolve') +165.583 000.204 000.107: require('telescope.pickers.entry_display') +165.670 000.081 000.081: require('telescope.from_entry') +166.061 008.829 000.680: require('telescope.actions') +166.884 000.089 000.089: require('plenary.tbl') +166.896 000.201 000.112: require('plenary.vararg.rotate') +166.900 000.295 000.094: require('plenary.vararg') +167.037 000.125 000.125: require('plenary.errors') +167.063 000.564 000.144: require('plenary.async.async') +167.168 000.098 000.098: require('plenary.async.structs') +167.185 000.805 000.142: require('plenary.async.control') +167.596 000.295 000.295: require('telescope.make_entry') +168.063 000.142 000.142: require('plenary.async.util') +168.070 000.240 000.098: require('plenary.async.tests') +168.076 000.347 000.107: require('plenary.async') +168.088 000.480 000.133: require('telescope.finders.async_static_finder') +168.440 000.106 000.106: require('plenary.class') +168.476 000.270 000.163: require('telescope._') +168.482 000.389 000.119: require('telescope.finders.async_oneshot_finder') +168.596 000.108 000.108: require('telescope.finders.async_job_finder') +168.611 001.418 000.147: require('telescope.finders') +169.013 000.151 000.151: require('telescope.debounce') +169.240 000.217 000.217: require('telescope.mappings') +169.382 000.132 000.132: require('telescope.pickers.highlights') +169.541 000.146 000.146: require('telescope.pickers.window') +169.887 000.127 000.127: require('telescope.algos.linked_list') +169.898 000.304 000.178: require('telescope.entry_manager') +170.005 000.102 000.102: require('telescope.pickers.multi') +170.047 001.428 000.376: require('telescope.pickers') +170.069 003.829 000.178: require('telescope.builtin.__lsp') +170.126 004.055 000.227: require('telescope.builtin') +170.538 000.280 000.280: require('fzf_lib') +170.556 000.422 000.142: require('telescope._extensions.fzf') +171.114 000.177 000.177: require('telescope._extensions.file_browser.utils') +171.256 000.523 000.345: require('telescope._extensions.file_browser.actions') +171.607 000.207 000.207: require('telescope._extensions.file_browser.make_entry') +171.830 000.210 000.210: require('plenary.scandir') +171.885 000.621 000.204: require('telescope._extensions.file_browser.finders') +172.019 000.126 000.126: require('telescope._extensions.file_browser.picker') +172.179 000.153 000.153: require('telescope._extensions.file_browser.config') +172.195 001.582 000.159: require('telescope._extensions.file_browser') +177.155 000.039 000.039: require('vim.keymap') +177.505 020.593 005.471: require('plugins.telescope') +179.728 000.170 000.170: require('notify.util.queue') +179.739 000.342 000.172: require('notify.util') +179.999 000.254 000.254: require('notify.config.highlights') +180.010 000.712 000.116: require('notify.config') +180.101 000.086 000.086: require('notify.stages') +180.201 000.092 000.092: require('notify.service.notification') +180.473 000.076 000.076: require('notify.animate.spring') +180.479 000.174 000.098: require('notify.animate') +180.488 000.281 000.107: require('notify.windows') +180.766 000.095 000.095: require('notify.service.buffer.highlights') +180.775 000.195 000.100: require('notify.service.buffer') +180.780 000.287 000.091: require('notify.service') +180.878 000.093 000.093: require('notify.stages.util') +180.888 001.802 000.250: require('notify') +180.980 000.087 000.087: require('nvim-tree.iterators.node-iterator') +181.047 002.073 000.184: require('nvim-tree.utils') +181.058 002.174 000.101: require('nvim-tree.events') +181.322 000.081 000.081: require('nvim-tree.log') +181.491 000.161 000.161: require('nvim-tree.git.utils') +181.595 000.097 000.097: require('nvim-tree.git.runner') +181.696 000.094 000.094: require('nvim-tree.watcher') +181.707 000.555 000.122: require('nvim-tree.git') +181.802 000.090 000.090: require('nvim-tree.explorer.watch') +181.935 000.086 000.086: require('nvim-tree.explorer.common') +182.126 000.098 000.098: require('nvim-tree.explorer.node-builders') +182.222 000.087 000.087: require('nvim-tree.explorer.sorters') +182.325 000.086 000.086: require('nvim-tree.explorer.filters') +182.606 000.178 000.178: require('nvim-tree.view') +182.618 000.286 000.108: require('nvim-tree.live-filter') +182.623 000.680 000.123: require('nvim-tree.explorer.explore') +182.725 000.098 000.098: require('nvim-tree.explorer.reload') +182.733 001.669 000.160: require('nvim-tree.explorer') +182.740 003.940 000.096: require('nvim-tree.core') +182.854 000.110 000.110: require('nvim-tree.diagnostics') +182.951 000.089 000.089: require('nvim-tree.renderer.components.padding') +183.045 000.087 000.087: require('nvim-tree.renderer.components.icons') +183.143 000.092 000.092: require('nvim-tree.renderer.components.full-name') +183.231 000.081 000.081: require('nvim-tree.renderer.help') +183.343 000.105 000.105: require('nvim-tree.renderer.components.git') +183.459 000.110 000.110: require('nvim-tree.renderer.builder') +183.554 000.088 000.088: require('nvim-tree.marks') +183.569 004.957 000.255: require('nvim-tree.renderer') +183.714 000.133 000.133: require('nvim-tree.actions.tree-modifiers.collapse-all') +183.809 000.088 000.088: require('nvim-tree.actions.root.dir-up') +183.909 000.093 000.093: require('nvim-tree.actions.root.change-dir') +184.006 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') +184.106 000.090 000.090: require('nvim-tree.actions.finders.find-file') +184.111 006.027 000.576: require('nvim-tree.lib') +184.209 000.093 000.093: require('nvim-tree.colors') +184.329 000.110 000.110: require('nvim-tree.legacy') +184.447 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') +184.645 000.092 000.092: require('nvim-tree.actions.tree-modifiers.expand-all') +184.740 000.088 000.088: require('nvim-tree.actions.tree-modifiers.toggles') +184.847 000.092 000.092: require('nvim-tree.actions.fs.create-file') +184.944 000.088 000.088: require('nvim-tree.actions.fs.rename-file') +185.063 000.112 000.112: require('nvim-tree.actions.fs.trash') +185.164 000.093 000.093: require('nvim-tree.actions.fs.remove-file') +185.257 000.084 000.084: require('nvim-tree.actions.moves.parent') +185.347 000.083 000.083: require('nvim-tree.actions.moves.sibling') +185.436 000.081 000.081: require('nvim-tree.actions.moves.item') +185.544 000.090 000.090: require('nvim-tree.actions.finders.search-node') +185.634 000.083 000.083: require('nvim-tree.actions.node.run-command') +185.729 000.089 000.089: require('nvim-tree.actions.node.file-popup') +185.840 000.104 000.104: require('nvim-tree.actions.node.system-open') +185.937 000.087 000.087: require('nvim-tree.marks.bulk-move') +185.943 001.485 000.221: require('nvim-tree.actions.dispatch') +185.973 008.278 000.454: require('nvim-tree') +186.053 000.074 000.074: require('nvim-tree.config') +192.349 000.155 000.155: require('nvim-tree.actions') +192.479 000.113 000.113: require('nvim-tree.actions.node.open-file') +196.244 000.112 000.112: require('nvim-tree.marks.navigation') +196.255 000.312 000.199: require('nvim-tree.api') +196.284 000.470 000.158: require('nvim-tree.keymap') +197.266 000.487 000.487: require('nvim-web-devicons') +202.059 024.544 014.966: require('plugins.nvim-tree') +202.450 000.103 000.103: require('lualine_require') +203.033 000.835 000.732: require('lualine') +203.120 000.078 000.078: require('plugins.linecolor') +211.064 000.113 000.113: require('lualine.utils.mode') +213.472 011.399 010.372: require('plugins.lualine') +213.595 122.306 002.998: sourcing /home/sxrdusr/.config/nvim/init.lua +213.617 007.239: sourcing vimrc file(s) +214.062 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +215.663 000.110 000.110: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.lua +218.896 002.865 002.865: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.vim +222.633 000.464 000.464: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/synload.vim +222.910 003.277 002.813: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/syntax.vim +230.982 002.165 002.165: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/gzip.vim +231.269 000.080 000.080: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/health.vim +234.916 002.388 002.388: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +235.394 004.055 001.667: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchit.vim +235.851 000.389 000.389: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchparen.vim +235.996 000.075 000.075: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/netrwPlugin.vim +236.395 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +236.416 000.357 000.333: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/rplugin.vim +236.661 000.185 000.185: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/shada.vim +236.780 000.051 000.051: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/spellfile.vim +236.906 000.061 000.061: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tarPlugin.vim +237.061 000.091 000.091: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tohtml.vim +237.174 000.046 000.046: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tutor.vim +238.457 001.220 001.220: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/zipPlugin.vim +238.752 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +240.127 000.153 000.153: require('lspsaga') +240.603 000.125 000.125: require('lspsaga.window') +240.623 000.279 000.154: require('lspsaga.libs') +241.874 000.487 000.487: require('vim.lsp.log') +242.691 000.807 000.807: require('vim.lsp.protocol') +243.422 000.332 000.332: require('vim.lsp._snippet') +243.615 000.184 000.184: require('vim.highlight') +243.648 000.946 000.430: require('vim.lsp.util') +243.726 002.598 000.358: require('vim.lsp.handlers') +244.087 000.352 000.352: require('vim.lsp.rpc') +244.346 000.248 000.248: require('vim.lsp.sync') +244.661 000.306 000.306: require('vim.lsp.buf') +244.922 000.253 000.253: require('vim.lsp.diagnostic') +245.190 000.257 000.257: require('vim.lsp.codelens') +245.375 004.624 000.610: require('vim.lsp') +245.483 000.096 000.096: require('lspsaga.wrap') +245.499 004.869 000.149: require('lspsaga.codeaction') +245.544 005.350 000.202: require('lspsaga.lightbulb') +245.715 000.129 000.129: require('lspsaga.lspkind') +245.979 000.083 000.083: require('mason-core.path') +246.000 000.191 000.108: require('mason.settings') +246.299 000.084 000.084: require('mason-core.functional.data') +246.308 000.184 000.100: require('mason-core.functional.function') +246.351 000.344 000.159: require('mason-core.platform') +246.356 000.629 000.095: require('mason') +246.650 000.148 000.148: require('mason-core.functional') +246.787 000.115 000.115: require('mason-core.functional.list') +246.828 000.447 000.184: require('mason.api.command') +247.090 000.151 000.151: require('mason-core.log') +247.099 000.265 000.115: require('mason-lspconfig') +247.239 000.098 000.098: require('mason-lspconfig.settings') +247.367 000.107 000.107: require('mason-lspconfig.lspconfig_hook') +247.717 000.343 000.343: require('lspconfig.util') +247.999 000.096 000.096: require('mason-core.functional.table') +248.100 000.356 000.260: require('mason-lspconfig.mappings.server') +248.444 000.109 000.109: require('mason-core.async') +248.538 000.084 000.084: require('mason-core.async.uv') +248.552 000.314 000.121: require('mason-core.fs') +248.651 000.092 000.092: require('mason-core.optional') +248.748 000.089 000.089: require('mason-core.EventEmitter') +248.943 000.189 000.189: require('mason-registry.index') +248.967 000.858 000.174: require('mason-registry') +249.068 000.094 000.094: require('mason-lspconfig.server_config_extensions') +249.236 000.119 000.119: require('lspconfig.configs') +249.356 000.112 000.112: require('lspconfig.server_configurations.omnisharp') +249.701 000.098 000.098: require('mason-lspconfig.ensure_installed') +250.043 000.099 000.099: require('mason-core.result') +250.531 000.264 000.264: require('mason-core.process') +250.642 000.095 000.095: require('mason-core.functional.relation') +250.743 000.090 000.090: require('mason-core.functional.logic') +250.762 000.589 000.140: require('mason-core.spawn') +250.889 000.119 000.119: require('mason-core.receipt') +251.006 000.101 000.101: require('mason-core.functional.string') +251.040 000.990 000.181: require('mason-core.installer.context') +251.152 000.105 000.105: require('mason-core.installer.linker') +251.255 000.096 000.096: require('mason-core.async.control') +251.263 001.435 000.145: require('mason-core.installer') +251.392 000.124 000.124: require('mason-core.installer.handle') +251.882 000.093 000.093: require('mason-core.managers.powershell') +251.892 000.198 000.105: require('mason-core.fetch') +251.896 000.286 000.089: require('mason-core.managers.cargo.client') +251.931 000.430 000.143: require('mason-core.managers.cargo') +252.157 000.220 000.220: require('mason-core.managers.composer') +252.349 000.184 000.184: require('mason-core.managers.gem') +252.472 000.116 000.116: require('mason-core.managers.git') +252.713 000.124 000.124: require('mason-core.managers.std') +252.826 000.107 000.107: require('mason-core.managers.github.client') +252.842 000.363 000.132: require('mason-core.managers.github') +253.075 000.228 000.228: require('mason-core.managers.go') +253.279 000.192 000.192: require('mason-core.managers.luarocks') +255.465 002.178 002.178: require('mason-core.managers.npm') +255.647 000.171 000.171: require('mason-core.managers.pip3') +255.660 004.254 000.173: require('mason-core.package.version-check') +255.672 005.963 000.150: require('mason-core.package') +255.814 000.120 000.120: require('mason-registry.lua-language-server') +256.247 000.143 000.143: require('mason-registry.clangd') +256.412 000.142 000.142: require('mason-registry.rust-analyzer') +256.636 000.080 000.080: require('mason-core.notify') +256.741 000.092 000.092: require('mason-core.functional.number') +256.804 000.378 000.207: require('mason-lspconfig.api.command') +256.810 017.922 002.017: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +258.334 000.124 000.124: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/man.lua +258.674 011.862: loading rtp plugins +260.488 000.126 000.126: require('Comment.config') +260.600 000.103 000.103: require('Comment.utils') +260.698 000.091 000.091: require('Comment.opfunc') +260.790 000.085 000.085: require('Comment.extra') +260.805 000.590 000.185: require('Comment.api') +261.303 001.171 000.580: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +262.020 000.084 000.084: require('luasnip.util.types') +262.125 000.095 000.095: require('luasnip.util.ext_opts') +262.226 000.094 000.094: require('luasnip.extras.filetype_functions') +262.320 000.088 000.088: require('luasnip.session') +262.672 000.136 000.136: require('luasnip.util.util') +262.777 000.096 000.096: require('luasnip.nodes.util') +262.872 000.088 000.088: require('luasnip.util.events') +262.889 000.459 000.138: require('luasnip.nodes.node') +263.033 000.092 000.092: require('luasnip.util.extend_decorator') +263.047 000.717 000.166: require('luasnip.nodes.insertNode') +263.389 000.102 000.102: require('luasnip.util.mark') +263.702 000.152 000.152: require('luasnip.nodes.textNode') +264.565 000.754 000.754: require('luasnip.util._builtin_vars') +264.807 001.092 000.338: require('luasnip.util.environ') +264.926 000.108 000.108: require('luasnip.util.pattern_tokenizer') +265.014 000.082 000.082: require('luasnip.util.dict') +265.129 000.108 000.108: require('luasnip.session.snippet_collection') +265.186 001.787 000.246: require('luasnip.nodes.snippet') +265.245 002.193 000.304: require('luasnip.nodes.choiceNode') +265.415 000.135 000.135: require('luasnip.nodes.functionNode') +265.607 000.182 000.182: require('luasnip.nodes.dynamicNode') +265.760 000.145 000.145: require('luasnip.nodes.restoreNode') +265.872 000.104 000.104: require('luasnip.extras') +266.061 000.084 000.084: require('luasnip.util.str') +266.070 000.187 000.103: require('luasnip.extras.fmt') +266.166 000.089 000.089: require('luasnip.extras.expand_conditions') +266.477 000.098 000.098: require('luasnip.util.parser.neovim_ast') +279.924 000.122 000.122: require('luasnip.util.directed_graph') +279.941 013.672 013.452: require('luasnip.util.parser.ast_utils') +280.168 000.093 000.093: require('luasnip.util.functions') +280.187 000.238 000.145: require('luasnip.util.parser.ast_parser') +280.414 000.221 000.221: require('luasnip.util.parser.neovim_parser') +280.432 014.256 000.125: require('luasnip.util.parser') +280.551 000.113 000.113: require('luasnip.nodes.absolute_indexer') +281.168 019.368 000.886: require('luasnip.config') +281.363 019.881 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +282.264 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +283.237 000.123 000.123: require('indent_blankline/utils') +283.246 000.329 000.206: require('indent_blankline') +283.723 000.159 000.159: require('indent_blankline.commands') +283.889 001.158 000.670: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +284.318 000.120 000.120: require('lsp-colors') +284.791 000.644 000.524: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +286.230 001.057 001.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +287.117 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +287.689 000.109 000.109: require('cmp.utils.api') +287.867 000.085 000.085: require('cmp.types.cmp') +288.082 000.103 000.103: require('cmp.utils.misc') +288.116 000.242 000.139: require('cmp.types.lsp') +288.203 000.080 000.080: require('cmp.types.vim') +288.209 000.511 000.103: require('cmp.types') +288.300 000.087 000.087: require('cmp.utils.highlight') +288.468 000.075 000.075: require('cmp.utils.debug') +288.487 000.180 000.104: require('cmp.utils.autocmd') +289.175 001.687 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +289.438 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +289.877 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +290.371 000.202 000.202: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +291.056 000.093 000.093: require('nvim-treesitter.statusline') +291.170 000.105 000.105: require('nvim-treesitter.query_predicates') +291.177 000.314 000.116: require('nvim-treesitter') +292.449 000.351 000.351: require('vim.treesitter.highlighter') +292.800 000.880 000.529: require('nvim-treesitter.highlight') +293.462 002.680 001.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +293.983 000.281 000.281: require('treesitter-context') +293.994 000.339 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +294.391 000.113 000.113: require('nvim-treesitter-refactor') +294.702 000.452 000.339: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +295.066 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +295.444 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +295.810 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +296.594 000.435 000.435: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +296.954 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +297.994 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +298.775 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +299.392 000.369 000.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +300.231 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +300.559 000.031 000.031: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +300.840 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +302.316 010.862: loading packages +304.000 000.477 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +308.385 005.527 005.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +309.211 000.138 000.138: require('cmp.utils.char') +309.226 000.246 000.108: require('cmp.utils.str') +309.320 000.084 000.084: require('cmp.utils.pattern') +309.610 000.079 000.079: require('cmp.utils.buffer') +309.623 000.201 000.121: require('cmp.utils.keymap') +309.635 000.307 000.107: require('cmp.utils.feedkeys') +309.744 000.104 000.104: require('cmp.utils.async') +309.917 000.078 000.078: require('cmp.utils.cache') +309.929 000.177 000.100: require('cmp.context') +310.244 000.102 000.102: require('cmp.config.mapping') +310.511 000.110 000.110: require('cmp.config.compare') +310.519 000.263 000.153: require('cmp.config.default') +310.547 000.500 000.136: require('cmp.config') +310.761 000.084 000.084: require('cmp.matcher') +310.780 000.227 000.142: require('cmp.entry') +310.799 000.864 000.138: require('cmp.source') +310.988 000.084 000.084: require('cmp.utils.event') +311.203 000.111 000.111: require('cmp.utils.window') +311.211 000.215 000.103: require('cmp.view.docs_view') +311.357 000.142 000.142: require('cmp.view.custom_entries_view') +311.490 000.126 000.126: require('cmp.view.wildmenu_entries_view') +311.604 000.107 000.107: require('cmp.view.native_entries_view') +311.710 000.100 000.100: require('cmp.view.ghost_text_view') +311.727 000.924 000.150: require('cmp.view') +311.803 002.979 000.272: require('cmp.core') +312.217 000.087 000.087: require('cmp.config.sources') +312.306 000.080 000.080: require('cmp.config.window') +312.410 003.722 000.577: require('cmp') +312.773 000.080 000.080: require('cmp_buffer.timer') +312.784 000.190 000.110: require('cmp_buffer.buffer') +312.790 000.291 000.101: require('cmp_buffer.source') +312.794 000.377 000.086: require('cmp_buffer') +312.824 004.222 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +313.238 000.172 000.172: require('cmp_cmdline') +313.309 000.311 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +313.744 000.113 000.113: require('cmp_nvim_lsp.source') +313.752 000.215 000.102: require('cmp_nvim_lsp') +313.803 000.339 000.125: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +314.151 000.135 000.135: require('cmp_path') +314.182 000.229 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +314.508 000.108 000.108: require('cmp_luasnip') +314.576 000.248 000.140: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +314.766 001.573: loading after plugins +314.793 000.027: inits 3 +314.807 000.013: reading ShaDa +315.224 000.089 000.089: require('luasnip.loaders._caches') +315.359 000.126 000.126: require('luasnip.util.path') +315.478 000.111 000.111: require('luasnip.loaders.util') +315.758 000.127 000.127: require('luasnip.loaders') +315.808 000.320 000.193: require('luasnip') +315.817 000.790 000.144: require('luasnip.loaders.from_lua') +316.103 000.118 000.118: require('luasnip.nodes.snippetProxy') +316.113 000.248 000.130: require('luasnip.loaders.from_snipmate') +316.273 000.116 000.116: require('luasnip.loaders.from_vscode') +316.685 000.723: opening buffers +316.958 000.273: BufEnter autocommands +316.964 000.006: editing files in windows +332.727 000.884 000.884: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.446 001.446: --- NVIM STARTING --- +034.391 032.946: event init +053.253 018.862: early init +055.138 001.885: locale set +061.173 006.035: init first window +072.093 010.921: inits 1 +072.119 000.025: window checked +072.127 000.008: parsing arguments +084.299 000.253 000.253: require('vim.shared') +084.825 000.245 000.245: require('vim._meta') +084.838 000.515 000.270: require('vim._editor') +084.846 000.907 000.138: require('vim._init_packages') +084.854 011.820: init lua interpreter +085.014 000.160: expanding arguments +086.871 001.857: inits 2 +088.296 001.425: init highlight +088.307 000.011: waiting for UI +091.281 002.974: done waiting for UI +091.320 000.039: init screen for UI +091.587 000.268: init default mappings +091.617 000.029: init default autocommands +105.862 004.615 004.615: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/ftplugin.vim +109.042 001.072 001.072: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/indent.vim +109.527 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim +109.553 000.203 000.145: sourcing /etc/xdg/nvim/sysinit.vim +124.517 008.169 008.169: require('keys') +127.624 003.092 003.092: require('opts') +131.344 000.876 000.876: require('packer.util') +131.441 003.319 002.443: require('packer') +134.792 001.317 001.317: require('packer.log') +134.809 002.095 000.778: require('packer.async') +135.940 000.481 000.481: require('packer.result') +135.957 001.143 000.661: require('packer.jobs') +135.990 004.473 001.236: require('packer.plugin_utils') +137.171 001.140 001.140: require('packer.snapshot') +138.112 010.477 001.545: require('pack') +174.631 004.832 004.832: require('vim.treesitter.language') +174.731 034.723 029.891: require('vim.treesitter.query') +182.498 001.394 001.394: require('vim.treesitter.languagetree') +182.620 003.179 001.784: require('vim.treesitter') +182.807 005.430 002.251: require('nvim-treesitter.parsers') +183.323 000.510 000.510: require('nvim-treesitter.utils') +183.337 007.243 001.303: require('nvim-treesitter.ts_utils') +183.347 008.606 001.362: require('nvim-treesitter.tsrange') +183.675 000.325 000.325: require('nvim-treesitter.caching') +183.693 044.437 000.783: require('nvim-treesitter.query') +183.713 045.495 001.058: require('nvim-treesitter.configs') +185.283 000.496 000.496: require('nvim-treesitter.info') +185.901 000.611 000.611: require('nvim-treesitter.shell_command_selectors') +185.950 002.216 001.109: require('nvim-treesitter.install') +226.316 088.194 040.483: require('plugins.treesitter') +228.281 000.510 000.510: require('telescope._extensions') +228.291 001.388 000.878: require('telescope') +233.980 000.661 000.661: require('plenary.bit') +234.407 000.418 000.418: require('plenary.functional') +234.465 000.034 000.034: require('ffi') +234.502 002.597 001.485: require('plenary.path') +234.518 003.286 000.689: require('plenary.strings') +234.981 000.459 000.459: require('telescope.deprecated') +237.389 000.899 000.899: require('plenary.log') +237.465 001.393 000.494: require('telescope.log') +239.791 000.910 000.910: require('plenary.job') +240.261 000.462 000.462: require('telescope.state') +240.275 002.804 001.432: require('telescope.utils') +240.286 005.300 001.103: require('telescope.sorters') +240.377 000.064 000.064: require('vim.inspect') +240.801 000.009 000.009: require('vim.F') +243.617 013.288 004.171: require('telescope.config') +245.047 000.635 000.635: require('plenary.window.border') +245.396 000.343 000.343: require('plenary.window') +245.741 000.339 000.339: require('plenary.popup.utils') +245.751 002.123 000.807: require('plenary.popup') +246.288 000.534 000.534: require('telescope.pickers.scroller') +246.712 000.418 000.418: require('telescope.actions.state') +247.221 000.504 000.504: require('telescope.actions.utils') +248.426 000.575 000.575: require('telescope.actions.mt') +248.453 001.226 000.652: require('telescope.actions.set') +249.553 000.570 000.570: require('telescope.config.resolve') +249.638 001.181 000.611: require('telescope.pickers.entry_display') +250.094 000.451 000.451: require('telescope.from_entry') +250.351 022.055 002.330: require('telescope.actions') +254.012 000.350 000.350: require('plenary.tbl') +254.026 000.776 000.426: require('plenary.vararg.rotate') +254.030 001.103 000.327: require('plenary.vararg') +254.379 000.345 000.345: require('plenary.errors') +254.392 001.900 000.451: require('plenary.async.async') +254.792 000.396 000.396: require('plenary.async.structs') +254.807 002.825 000.529: require('plenary.async.control') +257.266 001.853 001.853: require('telescope.make_entry') +258.923 000.455 000.455: require('plenary.async.util') +258.934 000.802 000.347: require('plenary.async.tests') +258.939 001.187 000.385: require('plenary.async') +258.944 001.672 000.485: require('telescope.finders.async_static_finder') +260.499 000.373 000.373: require('plenary.class') +260.528 001.112 000.739: require('telescope._') +260.533 001.586 000.474: require('telescope.finders.async_oneshot_finder') +261.012 000.476 000.476: require('telescope.finders.async_job_finder') +261.026 006.214 000.628: require('telescope.finders') +263.707 000.618 000.618: require('telescope.debounce') +264.575 000.861 000.861: require('telescope.mappings') +265.147 000.563 000.563: require('telescope.pickers.highlights') +265.602 000.448 000.448: require('telescope.pickers.window') +266.839 000.597 000.597: require('telescope.algos.linked_list') +266.852 001.244 000.647: require('telescope.entry_manager') +267.303 000.447 000.447: require('telescope.pickers.multi') +267.343 006.314 002.133: require('telescope.pickers') +267.363 016.250 000.898: require('telescope.builtin.__lsp') +267.438 017.081 000.831: require('telescope.builtin') +268.963 000.874 000.874: require('fzf_lib') +268.976 001.531 000.657: require('telescope._extensions.fzf') +271.538 000.669 000.669: require('telescope._extensions.file_browser.utils') +271.680 002.230 001.561: require('telescope._extensions.file_browser.actions') +273.005 000.728 000.728: require('telescope._extensions.file_browser.make_entry') +274.099 001.086 001.086: require('plenary.scandir') +274.156 002.470 000.656: require('telescope._extensions.file_browser.finders') +274.619 000.457 000.457: require('telescope._extensions.file_browser.picker') +275.155 000.530 000.530: require('telescope._extensions.file_browser.config') +275.162 006.170 000.482: require('telescope._extensions.file_browser') +278.191 000.015 000.015: require('vim.keymap') +278.481 052.148 003.907: require('plugins.telescope') +285.455 000.308 000.308: require('notify.util.queue') +285.467 000.754 000.445: require('notify.util') +285.896 000.425 000.425: require('notify.config.highlights') +285.906 001.633 000.454: require('notify.config') +286.199 000.289 000.289: require('notify.stages') +286.532 000.328 000.328: require('notify.service.notification') +287.750 000.370 000.370: require('notify.animate.spring') +287.757 000.655 000.286: require('notify.animate') +287.764 001.227 000.571: require('notify.windows') +289.020 000.462 000.462: require('notify.service.buffer.highlights') +289.029 000.888 000.426: require('notify.service.buffer') +289.034 001.267 000.380: require('notify.service') +289.541 000.504 000.504: require('notify.stages.util') +289.551 005.996 000.749: require('notify') +289.891 000.337 000.337: require('nvim-tree.iterators.node-iterator') +289.949 007.136 000.803: require('nvim-tree.utils') +289.961 007.521 000.385: require('nvim-tree.events') +291.151 000.375 000.375: require('nvim-tree.log') +291.600 000.442 000.442: require('nvim-tree.git.utils') +292.069 000.463 000.463: require('nvim-tree.git.runner') +292.502 000.427 000.427: require('nvim-tree.watcher') +292.512 002.201 000.494: require('nvim-tree.git') +292.881 000.365 000.365: require('nvim-tree.explorer.watch') +293.219 000.332 000.332: require('nvim-tree.explorer.common') +293.979 000.387 000.387: require('nvim-tree.explorer.node-builders') +294.448 000.427 000.427: require('nvim-tree.explorer.sorters') +294.804 000.350 000.350: require('nvim-tree.explorer.filters') +296.091 000.838 000.838: require('nvim-tree.view') +296.102 001.293 000.455: require('nvim-tree.live-filter') +296.108 002.883 000.427: require('nvim-tree.explorer.explore') +296.528 000.417 000.417: require('nvim-tree.explorer.reload') +296.536 006.571 000.373: require('nvim-tree.explorer') +296.542 014.417 000.324: require('nvim-tree.core') +297.024 000.478 000.478: require('nvim-tree.diagnostics') +297.445 000.416 000.416: require('nvim-tree.renderer.components.padding') +297.856 000.406 000.406: require('nvim-tree.renderer.components.icons') +298.237 000.375 000.375: require('nvim-tree.renderer.components.full-name') +298.610 000.367 000.367: require('nvim-tree.renderer.help') +299.064 000.448 000.448: require('nvim-tree.renderer.components.git') +299.738 000.670 000.670: require('nvim-tree.renderer.builder') +300.117 000.372 000.372: require('nvim-tree.marks') +300.132 018.530 000.582: require('nvim-tree.renderer') +300.461 000.320 000.320: require('nvim-tree.actions.tree-modifiers.collapse-all') +300.771 000.305 000.305: require('nvim-tree.actions.root.dir-up') +301.187 000.412 000.412: require('nvim-tree.actions.root.change-dir') +301.543 000.350 000.350: require('nvim-tree.actions.reloaders.reloaders') +301.898 000.348 000.348: require('nvim-tree.actions.finders.find-file') +301.903 020.827 000.561: require('nvim-tree.lib') +302.310 000.402 000.402: require('nvim-tree.colors') +302.938 000.622 000.622: require('nvim-tree.legacy') +303.510 000.566 000.566: require('nvim-tree.actions.fs.copy-paste') +304.307 000.377 000.377: require('nvim-tree.actions.tree-modifiers.expand-all') +304.608 000.295 000.295: require('nvim-tree.actions.tree-modifiers.toggles') +305.033 000.418 000.418: require('nvim-tree.actions.fs.create-file') +305.373 000.335 000.335: require('nvim-tree.actions.fs.rename-file') +305.812 000.433 000.433: require('nvim-tree.actions.fs.trash') +306.212 000.394 000.394: require('nvim-tree.actions.fs.remove-file') +306.534 000.316 000.316: require('nvim-tree.actions.moves.parent') +306.873 000.333 000.333: require('nvim-tree.actions.moves.sibling') +307.195 000.316 000.316: require('nvim-tree.actions.moves.item') +307.593 000.389 000.389: require('nvim-tree.actions.finders.search-node') +307.893 000.293 000.293: require('nvim-tree.actions.node.run-command') +308.255 000.357 000.357: require('nvim-tree.actions.node.file-popup') +308.639 000.379 000.379: require('nvim-tree.actions.node.system-open') +308.972 000.327 000.327: require('nvim-tree.marks.bulk-move') +308.979 005.461 000.499: require('nvim-tree.actions.dispatch') +309.002 030.359 002.482: require('nvim-tree') +309.279 000.272 000.272: require('nvim-tree.config') +313.941 000.732 000.732: require('nvim-tree.actions') +314.588 000.636 000.636: require('nvim-tree.actions.node.open-file') +319.150 000.373 000.373: require('nvim-tree.marks.navigation') +319.161 000.910 000.538: require('nvim-tree.api') +319.173 001.467 000.556: require('nvim-tree.keymap') +321.363 001.634 001.634: require('nvim-web-devicons') +325.370 046.882 011.781: require('plugins.nvim-tree') +326.951 000.407 000.407: require('lualine_require') +327.467 001.916 001.508: require('lualine') +327.617 000.143 000.143: require('plugins.linecolor') +332.743 000.275 000.275: require('lualine.utils.mode') +339.312 013.933 011.599: require('plugins.lualine') +339.349 229.696 006.802: sourcing /home/sxrdusr/.config/nvim/init.lua +339.368 012.165: sourcing vimrc file(s) +339.660 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +348.941 007.971 007.971: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.lua +350.389 001.116 001.116: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.vim +352.816 000.289 000.289: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/synload.vim +353.026 001.998 001.709: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/syntax.vim +362.102 002.096 002.096: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/gzip.vim +362.366 000.082 000.082: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/health.vim +365.926 002.326 002.326: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +366.374 003.940 001.614: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchit.vim +366.845 000.408 000.408: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchparen.vim +366.988 000.075 000.075: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/netrwPlugin.vim +367.396 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +367.417 000.366 000.342: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/rplugin.vim +367.690 000.199 000.199: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/shada.vim +367.917 000.107 000.107: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/spellfile.vim +368.083 000.077 000.077: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tarPlugin.vim +368.210 000.061 000.061: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tohtml.vim +368.322 000.049 000.049: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tutor.vim +369.032 000.646 000.646: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/zipPlugin.vim +369.289 000.036 000.036: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +376.726 005.767 005.767: require('lspsaga') +378.402 000.532 000.532: require('lspsaga.window') +378.422 001.147 000.615: require('lspsaga.libs') +389.942 001.342 001.342: require('vim.lsp.log') +392.272 002.318 002.318: require('vim.lsp.protocol') +401.933 003.948 003.948: require('vim.lsp._snippet') +403.138 001.193 001.193: require('vim.highlight') +403.242 010.961 005.820: require('vim.lsp.util') +403.387 018.830 004.210: require('vim.lsp.handlers') +405.766 002.373 002.373: require('vim.lsp.rpc') +407.189 001.413 001.413: require('vim.lsp.sync') +409.652 002.454 002.454: require('vim.lsp.buf') +410.617 000.956 000.956: require('vim.lsp.diagnostic') +411.642 001.017 001.017: require('vim.lsp.codelens') +411.828 032.776 005.732: require('vim.lsp') +412.130 000.294 000.294: require('lspsaga.wrap') +412.144 033.717 000.648: require('lspsaga.codeaction') +412.193 035.457 000.593: require('lspsaga.lightbulb') +412.561 000.325 000.325: require('lspsaga.lspkind') +413.496 000.317 000.317: require('mason-core.path') +413.516 000.581 000.264: require('mason.settings') +414.437 000.214 000.214: require('mason-core.functional.data') +414.448 000.531 000.317: require('mason-core.functional.function') +414.490 000.970 000.440: require('mason-core.platform') +414.496 001.923 000.371: require('mason') +415.290 000.369 000.369: require('mason-core.functional') +415.678 000.368 000.368: require('mason-core.functional.list') +415.717 001.197 000.461: require('mason.api.command') +416.606 000.463 000.463: require('mason-core.log') +416.615 000.893 000.430: require('mason-lspconfig') +416.821 000.202 000.202: require('mason-lspconfig.settings') +417.142 000.303 000.303: require('mason-lspconfig.lspconfig_hook') +418.153 001.006 001.006: require('lspconfig.util') +418.901 000.238 000.238: require('mason-core.functional.table') +419.004 000.655 000.418: require('mason-lspconfig.mappings.server') +420.276 000.481 000.481: require('mason-core.async') +420.497 000.214 000.214: require('mason-core.async.uv') +420.511 001.074 000.379: require('mason-core.fs') +420.786 000.271 000.271: require('mason-core.optional') +421.104 000.313 000.313: require('mason-core.EventEmitter') +421.522 000.412 000.412: require('mason-registry.index') +421.542 002.532 000.462: require('mason-registry') +421.738 000.191 000.191: require('mason-lspconfig.server_config_extensions') +422.345 000.601 000.601: require('lspconfig.configs') +422.688 000.337 000.337: require('lspconfig.server_configurations.omnisharp') +422.997 000.230 000.230: require('mason-lspconfig.ensure_installed') +424.154 000.316 000.316: require('mason-core.result') +425.593 000.568 000.568: require('mason-core.process') +425.846 000.244 000.244: require('mason-core.functional.relation') +426.105 000.249 000.249: require('mason-core.functional.logic') +426.120 001.428 000.367: require('mason-core.spawn') +426.454 000.329 000.329: require('mason-core.receipt') +426.731 000.262 000.262: require('mason-core.functional.string') +426.762 002.602 000.582: require('mason-core.installer.context') +427.049 000.282 000.282: require('mason-core.installer.linker') +427.332 000.278 000.278: require('mason-core.async.control') +427.342 003.909 000.431: require('mason-core.installer') +427.790 000.445 000.445: require('mason-core.installer.handle') +429.210 000.257 000.257: require('mason-core.managers.powershell') +429.217 000.596 000.339: require('mason-core.fetch') +429.221 000.800 000.204: require('mason-core.managers.cargo.client') +429.295 001.234 000.434: require('mason-core.managers.cargo') +429.685 000.384 000.384: require('mason-core.managers.composer') +430.162 000.472 000.472: require('mason-core.managers.gem') +430.485 000.316 000.316: require('mason-core.managers.git') +431.314 000.415 000.415: require('mason-core.managers.std') +431.638 000.318 000.318: require('mason-core.managers.github.client') +431.650 001.160 000.427: require('mason-core.managers.github') +432.174 000.520 000.520: require('mason-core.managers.go') +432.583 000.402 000.402: require('mason-core.managers.luarocks') +432.980 000.391 000.391: require('mason-core.managers.npm') +433.412 000.426 000.426: require('mason-core.managers.pip3') +433.421 005.623 000.317: require('mason-core.package.version-check') +433.431 010.428 000.451: require('mason-core.package') +433.830 000.366 000.366: require('mason-registry.lua-language-server') +434.422 000.329 000.329: require('mason-registry.clangd') +434.839 000.397 000.397: require('mason-registry.rust-analyzer') +435.484 000.210 000.210: require('mason-core.notify') +435.716 000.224 000.224: require('mason-core.functional.number') +435.772 000.908 000.473: require('mason-lspconfig.api.command') +435.779 066.357 002.308: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +439.475 002.338 002.338: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/man.lua +439.843 012.502: loading rtp plugins +442.029 000.114 000.114: require('Comment.config') +442.422 000.385 000.385: require('Comment.utils') +442.685 000.256 000.256: require('Comment.opfunc') +442.851 000.160 000.160: require('Comment.extra') +442.866 001.436 000.520: require('Comment.api') +443.317 001.976 000.541: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +444.238 000.106 000.106: require('luasnip.util.types') +444.437 000.191 000.191: require('luasnip.util.ext_opts') +444.592 000.150 000.150: require('luasnip.extras.filetype_functions') +444.701 000.103 000.103: require('luasnip.session') +445.990 000.652 000.652: require('luasnip.util.util') +446.208 000.211 000.211: require('luasnip.nodes.util') +446.297 000.083 000.083: require('luasnip.util.events') +446.313 001.341 000.396: require('luasnip.nodes.node') +446.475 000.118 000.118: require('luasnip.util.extend_decorator') +446.488 001.780 000.321: require('luasnip.nodes.insertNode') +447.282 000.230 000.230: require('luasnip.util.mark') +448.571 000.146 000.146: require('luasnip.nodes.textNode') +449.775 000.953 000.953: require('luasnip.util._builtin_vars') +450.037 001.457 000.505: require('luasnip.util.environ') +450.246 000.202 000.202: require('luasnip.util.pattern_tokenizer') +450.380 000.128 000.128: require('luasnip.util.dict') +450.730 000.343 000.343: require('luasnip.session.snippet_collection') +450.829 003.540 001.263: require('luasnip.nodes.snippet') +450.849 004.357 000.587: require('luasnip.nodes.choiceNode') +451.126 000.254 000.254: require('luasnip.nodes.functionNode') +451.619 000.452 000.452: require('luasnip.nodes.dynamicNode') +451.977 000.351 000.351: require('luasnip.nodes.restoreNode') +452.271 000.288 000.288: require('luasnip.extras') +452.718 000.171 000.171: require('luasnip.util.str') +452.728 000.449 000.278: require('luasnip.extras.fmt') +452.808 000.077 000.077: require('luasnip.extras.expand_conditions') +453.711 000.215 000.215: require('luasnip.util.parser.neovim_ast') +458.522 000.207 000.207: require('luasnip.util.directed_graph') +458.539 005.513 005.091: require('luasnip.util.parser.ast_utils') +459.047 000.120 000.120: require('luasnip.util.functions') +459.063 000.520 000.400: require('luasnip.util.parser.ast_parser') +459.638 000.572 000.572: require('luasnip.util.parser.neovim_parser') +459.651 006.836 000.232: require('luasnip.util.parser') +459.756 000.101 000.101: require('luasnip.nodes.absolute_indexer') +460.442 016.621 001.125: require('luasnip.config') +460.594 017.096 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +461.486 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +463.733 000.544 000.544: require('indent_blankline/utils') +463.745 001.635 001.091: require('indent_blankline') +464.372 000.237 000.237: require('indent_blankline.commands') +464.543 002.607 000.734: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +465.254 000.402 000.402: require('lsp-colors') +465.702 000.898 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +466.844 000.759 000.759: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +467.709 000.416 000.416: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +468.674 000.425 000.425: require('cmp.utils.api') +469.191 000.266 000.266: require('cmp.types.cmp') +470.001 000.463 000.463: require('cmp.utils.misc') +470.060 000.862 000.399: require('cmp.types.lsp') +470.289 000.224 000.224: require('cmp.types.vim') +470.295 001.614 000.262: require('cmp.types') +470.561 000.263 000.263: require('cmp.utils.highlight') +471.101 000.238 000.238: require('cmp.utils.debug') +471.116 000.550 000.312: require('cmp.utils.autocmd') +471.737 003.659 000.807: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +472.001 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +472.457 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +473.092 000.330 000.330: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +474.378 000.356 000.356: require('nvim-treesitter.statusline') +474.870 000.486 000.486: require('nvim-treesitter.query_predicates') +474.878 001.286 000.445: require('nvim-treesitter') +479.565 003.214 003.214: require('vim.treesitter.highlighter') +479.952 004.226 001.012: require('nvim-treesitter.highlight') +480.541 007.035 001.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +482.236 001.440 001.440: require('treesitter-context') +482.247 001.482 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +483.082 000.547 000.547: require('nvim-treesitter-refactor') +483.498 000.991 000.444: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +483.892 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +484.296 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +484.629 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +485.454 000.430 000.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +485.825 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +486.950 000.637 000.637: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +487.796 000.557 000.557: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +488.430 000.375 000.375: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +489.286 000.600 000.600: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +489.580 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +489.862 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +491.430 011.024: loading packages +493.086 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +497.379 005.411 004.941: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +500.257 000.501 000.501: require('cmp.utils.char') +500.273 000.919 000.418: require('cmp.utils.str') +500.546 000.269 000.269: require('cmp.utils.pattern') +501.678 000.247 000.247: require('cmp.utils.buffer') +501.690 000.802 000.554: require('cmp.utils.keymap') +501.702 001.149 000.348: require('cmp.utils.feedkeys') +502.073 000.368 000.368: require('cmp.utils.async') +502.672 000.260 000.260: require('cmp.utils.cache') +502.681 000.601 000.341: require('cmp.context') +504.215 000.421 000.421: require('cmp.config.mapping') +505.148 000.576 000.576: require('cmp.config.compare') +505.155 000.931 000.355: require('cmp.config.default') +505.188 001.869 000.517: require('cmp.config') +506.646 000.505 000.505: require('cmp.matcher') +506.659 001.467 000.962: require('cmp.entry') +506.671 003.987 000.652: require('cmp.source') +507.468 000.270 000.270: require('cmp.utils.event') +508.541 000.609 000.609: require('cmp.utils.window') +508.550 001.039 000.430: require('cmp.view.docs_view') +509.426 000.873 000.873: require('cmp.view.custom_entries_view') +510.050 000.618 000.618: require('cmp.view.wildmenu_entries_view') +510.582 000.526 000.526: require('cmp.view.native_entries_view') +510.984 000.394 000.394: require('cmp.view.ghost_text_view') +511.006 004.332 000.612: require('cmp.view') +511.082 012.635 001.010: require('cmp.core') +511.722 000.253 000.253: require('cmp.config.sources') +511.975 000.245 000.245: require('cmp.config.window') +512.091 014.421 001.288: require('cmp') +513.095 000.131 000.131: require('cmp_buffer.timer') +513.109 000.631 000.500: require('cmp_buffer.buffer') +513.124 000.906 000.274: require('cmp_buffer.source') +513.128 001.032 000.126: require('cmp_buffer') +513.165 015.538 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +513.841 000.456 000.456: require('cmp_cmdline') +513.874 000.532 000.076: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +514.568 000.254 000.254: require('cmp_nvim_lsp.source') +514.576 000.508 000.254: require('cmp_nvim_lsp') +514.632 000.604 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +515.335 000.509 000.509: require('cmp_path') +515.377 000.588 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +515.975 000.377 000.377: require('cmp_luasnip') +516.048 000.514 000.137: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +516.202 001.586: loading after plugins +516.230 000.028: inits 3 +516.270 000.040: reading ShaDa +516.927 000.117 000.117: require('luasnip.loaders._caches') +517.217 000.282 000.282: require('luasnip.util.path') +517.595 000.372 000.372: require('luasnip.loaders.util') +518.720 000.249 000.249: require('luasnip.loaders') +518.763 001.161 000.912: require('luasnip') +518.773 002.250 000.318: require('luasnip.loaders.from_lua') +519.505 000.161 000.161: require('luasnip.nodes.snippetProxy') +519.520 000.565 000.403: require('luasnip.loaders.from_snipmate') +519.981 000.416 000.416: require('luasnip.loaders.from_vscode') +521.013 001.514: opening buffers +521.250 000.236: BufEnter autocommands +521.256 000.007: editing files in windows +541.936 005.547 005.547: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.130 001.130: --- NVIM STARTING --- +028.662 027.532: event init +045.564 016.901: early init +047.354 001.791: locale set +053.076 005.722: init first window +063.419 010.343: inits 1 +063.444 000.025: window checked +063.452 000.008: parsing arguments +075.453 000.269 000.269: require('vim.shared') +075.970 000.243 000.243: require('vim._meta') +075.984 000.508 000.265: require('vim._editor') +075.992 000.906 000.129: require('vim._init_packages') +075.999 011.641: init lua interpreter +076.163 000.165: expanding arguments +078.127 001.963: inits 2 +079.512 001.385: init highlight +079.523 000.011: waiting for UI +082.429 002.906: done waiting for UI +082.481 000.051: init screen for UI +082.734 000.253: init default mappings +082.761 000.027: init default autocommands +096.037 004.070 004.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/ftplugin.vim +098.005 000.870 000.870: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/indent.vim +098.228 000.026 000.026: sourcing /usr/share/nvim/archlinux.vim +098.239 000.082 000.056: sourcing /etc/xdg/nvim/sysinit.vim +106.098 004.759 004.759: require('keys') +108.429 002.320 002.320: require('opts') +110.994 000.525 000.525: require('packer.util') +111.051 002.259 001.734: require('packer') +113.022 000.703 000.703: require('packer.log') +113.033 001.190 000.487: require('packer.async') +114.010 000.399 000.399: require('packer.result') +114.019 000.983 000.584: require('packer.jobs') +114.037 002.940 000.767: require('packer.plugin_utils') +114.709 000.650 000.650: require('packer.snapshot') +115.767 007.330 001.481: require('pack') +122.285 001.983 001.983: require('vim.treesitter.language') +122.321 004.812 002.828: require('vim.treesitter.query') +127.167 001.367 001.367: require('vim.treesitter.languagetree') +127.282 002.610 001.243: require('vim.treesitter') +127.465 003.928 001.318: require('nvim-treesitter.parsers') +127.973 000.502 000.502: require('nvim-treesitter.utils') +127.986 005.169 000.738: require('nvim-treesitter.ts_utils') +127.995 005.670 000.501: require('nvim-treesitter.tsrange') +128.361 000.362 000.362: require('nvim-treesitter.caching') +128.381 011.616 000.772: require('nvim-treesitter.query') +128.399 012.541 000.926: require('nvim-treesitter.configs') +129.960 000.492 000.492: require('nvim-treesitter.info') +130.546 000.578 000.578: require('nvim-treesitter.shell_command_selectors') +130.590 002.170 001.100: require('nvim-treesitter.install') +169.623 053.848 039.137: require('plugins.treesitter') +170.997 000.453 000.453: require('telescope._extensions') +171.008 000.966 000.513: require('telescope') +176.579 000.682 000.682: require('plenary.bit') +177.000 000.412 000.412: require('plenary.functional') +177.065 000.045 000.045: require('ffi') +177.103 002.623 001.485: require('plenary.path') +177.117 003.190 000.567: require('plenary.strings') +177.539 000.418 000.418: require('telescope.deprecated') +179.950 000.907 000.907: require('plenary.log') +180.034 001.388 000.481: require('telescope.log') +182.278 000.962 000.962: require('plenary.job') +182.711 000.423 000.423: require('telescope.state') +182.730 002.690 001.304: require('telescope.utils') +182.741 005.196 001.118: require('telescope.sorters') +182.830 000.070 000.070: require('vim.inspect') +183.420 000.009 000.009: require('vim.F') +186.156 013.120 004.238: require('telescope.config') +187.621 000.692 000.692: require('plenary.window.border') +187.974 000.344 000.344: require('plenary.window') +188.373 000.393 000.393: require('plenary.popup.utils') +188.389 002.223 000.794: require('plenary.popup') +188.911 000.516 000.516: require('telescope.pickers.scroller') +189.373 000.455 000.455: require('telescope.actions.state') +189.899 000.520 000.520: require('telescope.actions.utils') +191.115 000.591 000.591: require('telescope.actions.mt') +191.142 001.237 000.646: require('telescope.actions.set') +192.310 000.591 000.591: require('telescope.config.resolve') +192.455 001.309 000.718: require('telescope.pickers.entry_display') +192.880 000.420 000.420: require('telescope.from_entry') +193.232 022.221 002.421: require('telescope.actions') +196.969 000.355 000.355: require('plenary.tbl') +196.980 000.779 000.424: require('plenary.vararg.rotate') +196.983 001.106 000.327: require('plenary.vararg') +197.327 000.340 000.340: require('plenary.errors') +197.336 001.903 000.457: require('plenary.async.async') +197.766 000.426 000.426: require('plenary.async.structs') +197.780 002.921 000.592: require('plenary.async.control') +200.322 001.961 001.961: require('telescope.make_entry') +202.215 000.477 000.477: require('plenary.async.util') +202.224 000.921 000.444: require('plenary.async.tests') +202.229 001.339 000.419: require('plenary.async') +202.234 001.903 000.563: require('telescope.finders.async_static_finder') +204.011 000.466 000.466: require('plenary.class') +204.053 001.282 000.816: require('telescope._') +204.059 001.822 000.540: require('telescope.finders.async_oneshot_finder') +204.571 000.509 000.509: require('telescope.finders.async_job_finder') +204.589 006.805 000.611: require('telescope.finders') +207.500 000.676 000.676: require('telescope.debounce') +208.415 000.901 000.901: require('telescope.mappings') +209.040 000.615 000.615: require('telescope.pickers.highlights') +209.508 000.460 000.460: require('telescope.pickers.window') +210.723 000.587 000.587: require('telescope.algos.linked_list') +210.737 001.223 000.636: require('telescope.entry_manager') +211.200 000.458 000.458: require('telescope.pickers.multi') +211.247 006.653 002.320: require('telescope.pickers') +211.270 017.287 000.908: require('telescope.builtin.__lsp') +211.337 018.097 000.809: require('telescope.builtin') +212.713 000.700 000.700: require('fzf_lib') +212.727 001.383 000.682: require('telescope._extensions.fzf') +215.338 000.735 000.735: require('telescope._extensions.file_browser.utils') +215.473 002.261 001.526: require('telescope._extensions.file_browser.actions') +216.814 000.755 000.755: require('telescope._extensions.file_browser.make_entry') +217.929 001.107 001.107: require('plenary.scandir') +217.978 002.498 000.636: require('telescope._extensions.file_browser.finders') +218.472 000.489 000.489: require('telescope._extensions.file_browser.picker') +219.064 000.585 000.585: require('telescope._extensions.file_browser.config') +219.072 006.331 000.498: require('telescope._extensions.file_browser') +222.320 000.022 000.022: require('vim.keymap') +222.663 053.030 004.011: require('plugins.telescope') +229.348 000.311 000.311: require('notify.util.queue') +229.360 000.746 000.436: require('notify.util') +229.801 000.437 000.437: require('notify.config.highlights') +229.811 001.652 000.469: require('notify.config') +230.096 000.281 000.281: require('notify.stages') +230.429 000.328 000.328: require('notify.service.notification') +231.660 000.387 000.387: require('notify.animate.spring') +231.668 000.673 000.287: require('notify.animate') +231.676 001.241 000.568: require('notify.windows') +232.939 000.468 000.468: require('notify.service.buffer.highlights') +232.950 000.892 000.424: require('notify.service.buffer') +232.955 001.276 000.383: require('notify.service') +233.458 000.500 000.500: require('notify.stages.util') +233.469 005.847 000.570: require('notify') +233.816 000.343 000.343: require('nvim-tree.iterators.node-iterator') +233.876 007.006 000.816: require('nvim-tree.utils') +233.888 007.404 000.398: require('nvim-tree.events') +235.090 000.396 000.396: require('nvim-tree.log') +235.550 000.452 000.452: require('nvim-tree.git.utils') +236.022 000.467 000.467: require('nvim-tree.git.runner') +236.460 000.431 000.431: require('nvim-tree.watcher') +236.471 002.238 000.492: require('nvim-tree.git') +236.846 000.372 000.372: require('nvim-tree.explorer.watch') +237.192 000.340 000.340: require('nvim-tree.explorer.common') +237.942 000.374 000.374: require('nvim-tree.explorer.node-builders') +238.415 000.428 000.428: require('nvim-tree.explorer.sorters') +238.782 000.360 000.360: require('nvim-tree.explorer.filters') +240.087 000.849 000.849: require('nvim-tree.view') +240.099 001.311 000.462: require('nvim-tree.live-filter') +240.104 002.906 000.433: require('nvim-tree.explorer.explore') +240.531 000.423 000.423: require('nvim-tree.explorer.reload') +240.540 006.649 000.370: require('nvim-tree.explorer') +240.546 014.389 000.336: require('nvim-tree.core') +241.036 000.486 000.486: require('nvim-tree.diagnostics') +241.460 000.417 000.417: require('nvim-tree.renderer.components.padding') +241.895 000.429 000.429: require('nvim-tree.renderer.components.icons') +242.283 000.380 000.380: require('nvim-tree.renderer.components.full-name') +242.655 000.366 000.366: require('nvim-tree.renderer.help') +243.131 000.470 000.470: require('nvim-tree.renderer.components.git') +243.809 000.672 000.672: require('nvim-tree.renderer.builder') +244.178 000.362 000.362: require('nvim-tree.marks') +244.193 018.557 000.586: require('nvim-tree.renderer') +244.526 000.323 000.323: require('nvim-tree.actions.tree-modifiers.collapse-all') +244.826 000.294 000.294: require('nvim-tree.actions.root.dir-up') +245.239 000.407 000.407: require('nvim-tree.actions.root.change-dir') +245.597 000.351 000.351: require('nvim-tree.actions.reloaders.reloaders') +245.955 000.351 000.351: require('nvim-tree.actions.finders.find-file') +245.962 020.902 000.617: require('nvim-tree.lib') +246.374 000.408 000.408: require('nvim-tree.colors') +247.007 000.626 000.626: require('nvim-tree.legacy') +247.592 000.578 000.578: require('nvim-tree.actions.fs.copy-paste') +248.402 000.383 000.383: require('nvim-tree.actions.tree-modifiers.expand-all') +248.711 000.302 000.302: require('nvim-tree.actions.tree-modifiers.toggles') +249.141 000.423 000.423: require('nvim-tree.actions.fs.create-file') +249.494 000.346 000.346: require('nvim-tree.actions.fs.rename-file') +249.956 000.455 000.455: require('nvim-tree.actions.fs.trash') +250.366 000.404 000.404: require('nvim-tree.actions.fs.remove-file') +250.696 000.323 000.323: require('nvim-tree.actions.moves.parent') +251.027 000.325 000.325: require('nvim-tree.actions.moves.sibling') +251.358 000.324 000.324: require('nvim-tree.actions.moves.item') +251.755 000.387 000.387: require('nvim-tree.actions.finders.search-node') +252.054 000.293 000.293: require('nvim-tree.actions.node.run-command') +252.422 000.363 000.363: require('nvim-tree.actions.node.file-popup') +252.815 000.387 000.387: require('nvim-tree.actions.node.system-open') +253.155 000.334 000.334: require('nvim-tree.marks.bulk-move') +253.163 005.563 000.514: require('nvim-tree.actions.dispatch') +253.187 030.363 002.286: require('nvim-tree') +253.472 000.281 000.281: require('nvim-tree.config') +258.166 000.718 000.718: require('nvim-tree.actions') +258.838 000.660 000.660: require('nvim-tree.actions.node.open-file') +262.869 000.364 000.364: require('nvim-tree.marks.navigation') +262.880 000.869 000.505: require('nvim-tree.api') +262.891 001.433 000.564: require('nvim-tree.keymap') +264.972 001.417 001.417: require('nvim-web-devicons') +268.994 046.324 011.453: require('plugins.nvim-tree') +270.370 000.316 000.316: require('lualine_require') +270.882 001.704 001.388: require('lualine') +271.018 000.129 000.129: require('plugins.linecolor') +275.708 000.256 000.256: require('lualine.utils.mode') +282.774 013.771 011.683: require('plugins.lualine') +282.808 184.508 003.124: sourcing /home/sxrdusr/.config/nvim/init.lua +282.826 010.535: sourcing vimrc file(s) +283.117 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +285.405 000.888 000.888: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.lua +288.117 002.272 002.272: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.vim +292.092 000.281 000.281: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/synload.vim +292.295 003.051 002.770: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/syntax.vim +300.224 002.091 002.091: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/gzip.vim +300.446 000.070 000.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/health.vim +303.966 002.282 002.282: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +304.438 003.923 001.640: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchit.vim +304.891 000.386 000.386: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchparen.vim +305.113 000.103 000.103: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/netrwPlugin.vim +305.539 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +305.560 000.386 000.362: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/rplugin.vim +305.852 000.210 000.210: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/shada.vim +305.972 000.053 000.053: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/spellfile.vim +306.099 000.062 000.062: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tarPlugin.vim +306.224 000.061 000.061: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tohtml.vim +306.332 000.045 000.045: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tutor.vim +307.601 001.207 001.207: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/zipPlugin.vim +307.896 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +315.401 005.658 005.658: require('lspsaga') +317.073 000.553 000.553: require('lspsaga.window') +317.093 001.174 000.621: require('lspsaga.libs') +327.566 001.347 001.347: require('vim.lsp.log') +329.533 001.954 001.954: require('vim.lsp.protocol') +335.456 002.092 002.092: require('vim.lsp._snippet') +336.370 000.904 000.904: require('vim.highlight') +336.415 006.873 003.878: require('vim.lsp.util') +336.447 013.200 003.026: require('vim.lsp.handlers') +338.763 002.311 002.311: require('vim.lsp.rpc') +340.121 001.348 001.348: require('vim.lsp.sync') +342.921 002.791 002.791: require('vim.lsp.buf') +344.093 001.161 001.161: require('vim.lsp.diagnostic') +345.202 001.102 001.102: require('vim.lsp.codelens') +345.388 027.654 005.740: require('vim.lsp') +345.692 000.295 000.295: require('lspsaga.wrap') +345.705 028.607 000.659: require('lspsaga.codeaction') +345.751 030.339 000.558: require('lspsaga.lightbulb') +346.108 000.317 000.317: require('lspsaga.lspkind') +346.885 000.249 000.249: require('mason-core.path') +346.905 000.522 000.274: require('mason.settings') +347.804 000.214 000.214: require('mason-core.functional.data') +347.824 000.525 000.310: require('mason-core.functional.function') +347.863 000.954 000.429: require('mason-core.platform') +347.868 001.714 000.238: require('mason') +348.650 000.336 000.336: require('mason-core.functional') +349.056 000.385 000.385: require('mason-core.functional.list') +349.098 001.207 000.486: require('mason.api.command') +349.944 000.489 000.489: require('mason-core.log') +349.953 000.851 000.363: require('mason-lspconfig') +350.166 000.209 000.209: require('mason-lspconfig.settings') +350.488 000.303 000.303: require('mason-lspconfig.lspconfig_hook') +351.357 000.863 000.863: require('lspconfig.util') +352.102 000.240 000.240: require('mason-core.functional.table') +352.205 000.679 000.439: require('mason-lspconfig.mappings.server') +353.344 000.475 000.475: require('mason-core.async') +353.567 000.215 000.215: require('mason-core.async.uv') +353.581 001.068 000.378: require('mason-core.fs') +353.858 000.274 000.274: require('mason-core.optional') +354.125 000.261 000.261: require('mason-core.EventEmitter') +354.540 000.408 000.408: require('mason-registry.index') +354.560 002.349 000.337: require('mason-registry') +354.774 000.194 000.194: require('mason-lspconfig.server_config_extensions') +355.406 000.626 000.626: require('lspconfig.configs') +355.759 000.346 000.346: require('lspconfig.server_configurations.omnisharp') +356.173 000.238 000.238: require('mason-lspconfig.ensure_installed') +357.319 000.316 000.316: require('mason-core.result') +358.773 000.589 000.589: require('mason-core.process') +359.014 000.232 000.232: require('mason-core.functional.relation') +359.271 000.248 000.248: require('mason-core.functional.logic') +359.286 001.434 000.366: require('mason-core.spawn') +359.639 000.348 000.348: require('mason-core.receipt') +359.919 000.265 000.265: require('mason-core.functional.string') +359.992 002.667 000.620: require('mason-core.installer.context') +360.293 000.295 000.295: require('mason-core.installer.linker') +360.573 000.274 000.274: require('mason-core.async.control') +360.584 003.980 000.428: require('mason-core.installer') +361.020 000.432 000.432: require('mason-core.installer.handle') +362.441 000.255 000.255: require('mason-core.managers.powershell') +362.449 000.590 000.334: require('mason-core.fetch') +362.453 000.800 000.210: require('mason-core.managers.cargo.client') +362.485 001.188 000.388: require('mason-core.managers.cargo') +362.937 000.447 000.447: require('mason-core.managers.composer') +363.425 000.481 000.481: require('mason-core.managers.gem') +363.736 000.304 000.304: require('mason-core.managers.git') +364.544 000.414 000.414: require('mason-core.managers.std') +364.866 000.316 000.316: require('mason-core.managers.github.client') +364.879 001.136 000.407: require('mason-core.managers.github') +365.439 000.556 000.556: require('mason-core.managers.go') +365.845 000.399 000.399: require('mason-core.managers.luarocks') +366.240 000.389 000.389: require('mason-core.managers.npm') +366.667 000.421 000.421: require('mason-core.managers.pip3') +366.677 005.650 000.327: require('mason-core.package.version-check') +366.688 010.508 000.446: require('mason-core.package') +367.072 000.351 000.351: require('mason-registry.lua-language-server') +367.593 000.337 000.337: require('mason-registry.clangd') +368.004 000.391 000.391: require('mason-registry.rust-analyzer') +368.654 000.215 000.215: require('mason-core.notify') +368.894 000.232 000.232: require('mason-core.functional.number') +368.937 000.921 000.475: require('mason-lspconfig.api.command') +368.943 060.914 002.513: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +372.883 002.516 002.516: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/man.lua +373.092 011.939: loading rtp plugins +375.285 000.120 000.120: require('Comment.config') +375.689 000.396 000.396: require('Comment.utils') +375.957 000.261 000.261: require('Comment.opfunc') +376.127 000.163 000.163: require('Comment.extra') +376.142 001.495 000.555: require('Comment.api') +376.586 002.031 000.535: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +377.477 000.089 000.089: require('luasnip.util.types') +377.675 000.191 000.191: require('luasnip.util.ext_opts') +377.832 000.150 000.150: require('luasnip.extras.filetype_functions') +377.934 000.097 000.097: require('luasnip.session') +379.260 000.652 000.652: require('luasnip.util.util') +379.484 000.217 000.217: require('luasnip.nodes.util') +379.576 000.085 000.085: require('luasnip.util.events') +379.592 001.391 000.437: require('luasnip.nodes.node') +379.758 000.120 000.120: require('luasnip.util.extend_decorator') +379.772 001.831 000.320: require('luasnip.nodes.insertNode') +380.477 000.226 000.226: require('luasnip.util.mark') +381.700 000.190 000.190: require('luasnip.nodes.textNode') +382.881 000.927 000.927: require('luasnip.util._builtin_vars') +383.108 001.398 000.472: require('luasnip.util.environ') +383.314 000.199 000.199: require('luasnip.util.pattern_tokenizer') +383.448 000.127 000.127: require('luasnip.util.dict') +383.802 000.347 000.347: require('luasnip.session.snippet_collection') +383.864 003.380 001.118: require('luasnip.nodes.snippet') +383.885 004.109 000.503: require('luasnip.nodes.choiceNode') +384.209 000.306 000.306: require('luasnip.nodes.functionNode') +384.709 000.453 000.453: require('luasnip.nodes.dynamicNode') +385.091 000.376 000.376: require('luasnip.nodes.restoreNode') +385.380 000.281 000.281: require('luasnip.extras') +385.829 000.173 000.173: require('luasnip.util.str') +385.843 000.455 000.282: require('luasnip.extras.fmt') +385.921 000.074 000.074: require('luasnip.extras.expand_conditions') +386.811 000.218 000.218: require('luasnip.util.parser.neovim_ast') +394.178 000.216 000.216: require('luasnip.util.directed_graph') +394.197 008.074 007.640: require('luasnip.util.parser.ast_utils') +394.712 000.119 000.119: require('luasnip.util.functions') +394.724 000.523 000.404: require('luasnip.util.parser.ast_parser') +395.338 000.610 000.610: require('luasnip.util.parser.neovim_parser') +395.354 009.426 000.219: require('luasnip.util.parser') +395.462 000.103 000.103: require('luasnip.nodes.absolute_indexer') +395.919 018.839 000.897: require('luasnip.config') +396.076 019.310 000.471: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +396.949 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +399.137 000.540 000.540: require('indent_blankline/utils') +399.147 001.578 001.038: require('indent_blankline') +399.631 000.228 000.228: require('indent_blankline.commands') +399.796 002.397 000.592: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +400.425 000.323 000.323: require('lsp-colors') +401.069 001.016 000.693: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +402.327 000.871 000.871: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +403.161 000.384 000.384: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +404.040 000.344 000.344: require('cmp.utils.api') +404.538 000.261 000.261: require('cmp.types.cmp') +405.386 000.498 000.498: require('cmp.utils.misc') +405.496 000.948 000.450: require('cmp.types.lsp') +405.726 000.223 000.223: require('cmp.types.vim') +405.732 001.684 000.251: require('cmp.types') +406.002 000.267 000.267: require('cmp.utils.highlight') +406.540 000.242 000.242: require('cmp.utils.debug') +406.556 000.548 000.306: require('cmp.utils.autocmd') +407.084 003.553 000.711: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +407.344 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +407.801 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +408.480 000.388 000.388: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +409.656 000.348 000.348: require('nvim-treesitter.statusline') +410.199 000.536 000.536: require('nvim-treesitter.query_predicates') +410.209 001.231 000.346: require('nvim-treesitter') +415.282 003.359 003.359: require('vim.treesitter.highlighter') +415.649 004.397 001.038: require('nvim-treesitter.highlight') +416.245 007.349 001.721: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +417.669 001.190 001.190: require('treesitter-context') +417.680 001.230 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +418.365 000.398 000.398: require('nvim-treesitter-refactor') +418.550 000.610 000.212: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +418.917 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +419.292 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +419.612 000.090 000.090: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +420.406 000.409 000.409: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +420.761 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +421.920 000.679 000.679: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +422.693 000.489 000.489: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +423.304 000.356 000.356: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +424.131 000.577 000.577: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +424.430 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +424.709 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +426.618 011.192: loading packages +428.473 000.582 000.582: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +435.277 008.051 007.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +439.647 000.636 000.636: require('cmp.utils.char') +439.672 001.332 000.696: require('cmp.utils.str') +440.141 000.462 000.462: require('cmp.utils.pattern') +441.991 000.487 000.487: require('cmp.utils.buffer') +442.020 001.349 000.862: require('cmp.utils.keymap') +442.036 001.884 000.535: require('cmp.utils.feedkeys') +442.696 000.654 000.654: require('cmp.utils.async') +443.685 000.436 000.436: require('cmp.utils.cache') +443.699 000.993 000.557: require('cmp.context') +446.228 000.680 000.680: require('cmp.config.mapping') +447.627 000.842 000.842: require('cmp.config.compare') +447.639 001.397 000.555: require('cmp.config.default') +447.677 002.938 000.861: require('cmp.config') +449.991 000.843 000.843: require('cmp.matcher') +450.012 002.328 001.484: require('cmp.entry') +450.031 006.326 001.060: require('cmp.source') +451.346 000.454 000.454: require('cmp.utils.event') +453.138 001.051 001.051: require('cmp.utils.window') +453.154 001.797 000.747: require('cmp.view.docs_view') +454.619 001.457 001.457: require('cmp.view.custom_entries_view') +455.631 001.002 001.002: require('cmp.view.wildmenu_entries_view') +456.455 000.814 000.814: require('cmp.view.native_entries_view') +457.096 000.631 000.631: require('cmp.view.ghost_text_view') +457.135 007.098 000.943: require('cmp.view') +457.324 020.479 001.729: require('cmp.core') +458.114 000.426 000.426: require('cmp.config.sources') +458.585 000.459 000.459: require('cmp.config.window') +458.791 023.106 001.741: require('cmp') +460.357 000.200 000.200: require('cmp_buffer.timer') +460.383 001.018 000.819: require('cmp_buffer.buffer') +460.396 001.462 000.444: require('cmp_buffer.source') +460.403 001.600 000.138: require('cmp_buffer') +460.617 025.003 000.297: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +461.566 000.629 000.629: require('cmp_cmdline') +461.645 000.769 000.141: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +462.627 000.390 000.390: require('cmp_nvim_lsp.source') +462.640 000.711 000.321: require('cmp_nvim_lsp') +462.717 000.840 000.129: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +463.711 000.710 000.710: require('cmp_path') +463.773 000.827 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +464.614 000.517 000.517: require('cmp_luasnip') +464.722 000.716 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +464.985 002.160: loading after plugins +465.026 000.041: inits 3 +465.094 000.068: reading ShaDa +465.979 000.175 000.175: require('luasnip.loaders._caches') +466.558 000.569 000.569: require('luasnip.util.path') +467.066 000.497 000.497: require('luasnip.loaders.util') +468.731 000.293 000.293: require('luasnip.loaders') +468.782 001.705 001.413: require('luasnip') +468.795 003.396 000.449: require('luasnip.loaders.from_lua') +469.563 000.191 000.191: require('luasnip.nodes.snippetProxy') +469.575 000.593 000.402: require('luasnip.loaders.from_snipmate') +470.027 000.403 000.403: require('luasnip.loaders.from_vscode') +471.125 001.641: opening buffers +471.367 000.241: BufEnter autocommands +471.374 000.007: editing files in windows +492.712 005.083 005.083: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.282 001.282: --- NVIM STARTING --- +029.206 027.924: event init +046.400 017.195: early init +048.223 001.823: locale set +053.937 005.714: init first window +064.347 010.410: inits 1 +064.372 000.025: window checked +064.380 000.008: parsing arguments +076.420 000.295 000.295: require('vim.shared') +076.917 000.241 000.241: require('vim._meta') +076.931 000.488 000.247: require('vim._editor') +076.938 000.901 000.118: require('vim._init_packages') +076.946 011.665: init lua interpreter +077.114 000.168: expanding arguments +079.080 001.966: inits 2 +080.421 001.341: init highlight +080.430 000.009: waiting for UI +083.335 002.905: done waiting for UI +083.386 000.051: init screen for UI +084.183 000.797: init default mappings +084.250 000.068: init default autocommands +095.904 004.673 004.673: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/ftplugin.vim +098.355 001.073 001.073: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/indent.vim +098.631 000.029 000.029: sourcing /usr/share/nvim/archlinux.vim +098.642 000.086 000.057: sourcing /etc/xdg/nvim/sysinit.vim +109.895 006.296 006.296: require('keys') +112.293 002.386 002.386: require('opts') +114.877 000.524 000.524: require('packer.util') +114.935 002.267 001.743: require('packer') +116.828 000.639 000.639: require('packer.log') +116.838 001.118 000.479: require('packer.async') +117.810 000.400 000.400: require('packer.result') +117.819 000.976 000.577: require('packer.jobs') +117.836 002.853 000.759: require('packer.plugin_utils') +118.494 000.636 000.636: require('packer.snapshot') +119.546 007.244 001.489: require('pack') +130.393 010.839 010.839: require('impatient') +131.485 000.276 000.276: require('vim.treesitter.language') +131.511 000.729 000.454: require('vim.treesitter.query') +132.514 000.241 000.241: require('vim.treesitter.languagetree') +132.575 000.456 000.215: require('vim.treesitter') +132.857 001.011 000.556: require('nvim-treesitter.parsers') +132.981 000.118 000.118: require('nvim-treesitter.utils') +132.995 001.348 000.218: require('nvim-treesitter.ts_utils') +133.005 001.489 000.141: require('nvim-treesitter.tsrange') +133.084 000.076 000.076: require('nvim-treesitter.caching') +133.105 002.472 000.178: require('nvim-treesitter.query') +133.133 002.641 000.168: require('nvim-treesitter.configs') +133.974 000.524 000.524: require('nvim-treesitter.info') +134.163 000.182 000.182: require('nvim-treesitter.shell_command_selectors') +134.209 000.904 000.198: require('nvim-treesitter.install') +172.984 042.575 039.031: require('plugins.treesitter') +173.299 000.131 000.131: require('telescope._extensions') +173.308 000.211 000.080: require('telescope') +174.714 000.323 000.323: require('plenary.bit') +175.035 000.315 000.315: require('plenary.functional') +175.105 000.031 000.031: require('ffi') +175.128 001.120 000.451: require('plenary.path') +175.141 001.487 000.367: require('plenary.strings') +175.261 000.116 000.116: require('telescope.deprecated') +175.722 000.276 000.276: require('plenary.log') +175.802 000.416 000.140: require('telescope.log') +176.040 000.117 000.117: require('plenary.job') +176.114 000.069 000.069: require('telescope.state') +176.129 000.321 000.136: require('telescope.utils') +176.149 000.882 000.145: require('telescope.sorters') +176.244 000.075 000.075: require('vim.inspect') +176.749 000.013 000.013: require('vim.F') +179.793 006.266 003.693: require('telescope.config') +180.432 000.092 000.092: require('plenary.window.border') +180.569 000.130 000.130: require('plenary.window') +180.636 000.061 000.061: require('plenary.popup.utils') +180.647 000.846 000.563: require('plenary.popup') +180.720 000.069 000.069: require('telescope.pickers.scroller') +180.793 000.068 000.068: require('telescope.actions.state') +180.866 000.068 000.068: require('telescope.actions.utils') +181.014 000.068 000.068: require('telescope.actions.mt') +181.045 000.175 000.107: require('telescope.actions.set') +181.358 000.152 000.152: require('telescope.config.resolve') +181.365 000.267 000.115: require('telescope.pickers.entry_display') +181.470 000.101 000.101: require('telescope.from_entry') +181.848 008.537 000.678: require('telescope.actions') +182.823 000.058 000.058: require('plenary.tbl') +182.833 000.129 000.071: require('plenary.vararg.rotate') +182.837 000.192 000.063: require('plenary.vararg') +182.898 000.058 000.058: require('plenary.errors') +182.906 000.330 000.081: require('plenary.async.async') +183.025 000.115 000.115: require('plenary.async.structs') +183.038 000.834 000.388: require('plenary.async.control') +183.329 000.214 000.214: require('telescope.make_entry') +183.599 000.074 000.074: require('plenary.async.util') +183.605 000.138 000.064: require('plenary.async.tests') +183.610 000.207 000.069: require('plenary.async') +183.614 000.279 000.072: require('telescope.finders.async_static_finder') +183.821 000.058 000.058: require('plenary.class') +183.846 000.163 000.105: require('telescope._') +183.851 000.234 000.071: require('telescope.finders.async_oneshot_finder') +183.919 000.066 000.066: require('telescope.finders.async_job_finder') +183.931 000.890 000.097: require('telescope.finders') +184.185 000.079 000.079: require('telescope.debounce') +184.335 000.144 000.144: require('telescope.mappings') +184.428 000.088 000.088: require('telescope.pickers.highlights') +184.499 000.066 000.066: require('telescope.pickers.window') +184.648 000.072 000.072: require('telescope.algos.linked_list') +184.656 000.152 000.080: require('telescope.entry_manager') +184.783 000.124 000.124: require('telescope.pickers.multi') +184.814 000.879 000.226: require('telescope.pickers') +184.829 002.770 000.167: require('telescope.builtin.__lsp') +184.852 002.997 000.227: require('telescope.builtin') +185.164 000.225 000.225: require('fzf_lib') +185.175 000.317 000.093: require('telescope._extensions.fzf') +185.568 000.096 000.096: require('telescope._extensions.file_browser.utils') +185.662 000.348 000.252: require('telescope._extensions.file_browser.actions') +185.891 000.137 000.137: require('telescope._extensions.file_browser.make_entry') +186.045 000.148 000.148: require('plenary.scandir') +186.092 000.425 000.140: require('telescope._extensions.file_browser.finders') +186.173 000.077 000.077: require('telescope._extensions.file_browser.picker') +186.271 000.093 000.093: require('telescope._extensions.file_browser.config') +186.277 001.039 000.097: require('telescope._extensions.file_browser') +189.722 000.012 000.012: require('vim.keymap') +189.980 016.986 003.873: require('plugins.telescope') +191.812 000.068 000.068: require('notify.util.queue') +191.822 000.421 000.352: require('notify.util') +192.063 000.237 000.237: require('notify.config.highlights') +192.078 001.067 000.409: require('notify.config') +192.463 000.380 000.380: require('notify.stages') +192.560 000.091 000.091: require('notify.service.notification') +192.902 000.085 000.085: require('notify.animate.spring') +192.908 000.166 000.081: require('notify.animate') +192.920 000.354 000.188: require('notify.windows') +193.224 000.108 000.108: require('notify.service.buffer.highlights') +193.235 000.219 000.112: require('notify.service.buffer') +193.243 000.320 000.101: require('notify.service') +193.375 000.129 000.129: require('notify.stages.util') +193.389 002.748 000.406: require('notify') +193.485 000.091 000.091: require('nvim-tree.iterators.node-iterator') +193.580 003.039 000.200: require('nvim-tree.utils') +193.599 003.130 000.091: require('nvim-tree.events') +193.918 000.090 000.090: require('nvim-tree.log') +194.118 000.194 000.194: require('nvim-tree.git.utils') +194.227 000.102 000.102: require('nvim-tree.git.runner') +194.333 000.101 000.101: require('nvim-tree.watcher') +194.345 000.616 000.129: require('nvim-tree.git') +194.437 000.089 000.089: require('nvim-tree.explorer.watch') +194.521 000.079 000.079: require('nvim-tree.explorer.common') +194.761 000.104 000.104: require('nvim-tree.explorer.node-builders') +194.865 000.098 000.098: require('nvim-tree.explorer.sorters') +194.953 000.083 000.083: require('nvim-tree.explorer.filters') +195.346 000.289 000.289: require('nvim-tree.view') +195.370 000.412 000.123: require('nvim-tree.live-filter') +195.381 000.815 000.117: require('nvim-tree.explorer.explore') +195.522 000.136 000.136: require('nvim-tree.explorer.reload') +195.542 001.939 000.204: require('nvim-tree.explorer') +195.554 005.142 000.073: require('nvim-tree.core') +195.717 000.158 000.158: require('nvim-tree.diagnostics') +195.848 000.124 000.124: require('nvim-tree.renderer.components.padding') +195.995 000.140 000.140: require('nvim-tree.renderer.components.icons') +196.151 000.149 000.149: require('nvim-tree.renderer.components.full-name') +196.312 000.153 000.153: require('nvim-tree.renderer.help') +196.492 000.171 000.171: require('nvim-tree.renderer.components.git') +196.678 000.179 000.179: require('nvim-tree.renderer.builder') +196.813 000.127 000.127: require('nvim-tree.marks') +196.834 006.502 000.159: require('nvim-tree.renderer') +197.065 000.215 000.215: require('nvim-tree.actions.tree-modifiers.collapse-all') +197.186 000.112 000.112: require('nvim-tree.actions.root.dir-up') +197.335 000.142 000.142: require('nvim-tree.actions.root.change-dir') +197.451 000.108 000.108: require('nvim-tree.actions.reloaders.reloaders') +197.551 000.092 000.092: require('nvim-tree.actions.finders.find-file') +197.557 007.300 000.128: require('nvim-tree.lib') +197.687 000.127 000.127: require('nvim-tree.colors') +197.844 000.150 000.150: require('nvim-tree.legacy') +197.974 000.125 000.125: require('nvim-tree.actions.fs.copy-paste') +198.172 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') +198.258 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') +198.368 000.102 000.102: require('nvim-tree.actions.fs.create-file') +198.462 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +198.587 000.119 000.119: require('nvim-tree.actions.fs.trash') +198.728 000.135 000.135: require('nvim-tree.actions.fs.remove-file') +198.838 000.098 000.098: require('nvim-tree.actions.moves.parent') +198.925 000.080 000.080: require('nvim-tree.actions.moves.sibling') +199.012 000.081 000.081: require('nvim-tree.actions.moves.item') +199.114 000.087 000.087: require('nvim-tree.actions.finders.search-node') +199.278 000.160 000.160: require('nvim-tree.actions.node.run-command') +199.385 000.101 000.101: require('nvim-tree.actions.node.file-popup') +199.549 000.159 000.159: require('nvim-tree.actions.node.system-open') +199.652 000.095 000.095: require('nvim-tree.marks.bulk-move') +199.667 001.685 000.210: require('nvim-tree.actions.dispatch') +199.728 009.650 000.262: require('nvim-tree') +199.813 000.080 000.080: require('nvim-tree.config') +203.971 000.220 000.220: require('nvim-tree.actions') +204.111 000.129 000.129: require('nvim-tree.actions.node.open-file') +209.463 000.522 000.522: require('nvim-tree.marks.navigation') +209.477 001.387 000.866: require('nvim-tree.api') +209.608 002.226 000.838: require('nvim-tree.keymap') +212.901 002.345 002.345: require('nvim-web-devicons') +217.310 027.323 012.673: require('plugins.nvim-tree') +217.684 000.085 000.085: require('lualine_require') +218.261 000.793 000.708: require('lualine') +218.340 000.072 000.072: require('plugins.linecolor') +222.766 000.090 000.090: require('lualine.utils.mode') +229.111 011.786 010.831: require('plugins.lualine') +229.143 130.389 004.953: sourcing /home/sxrdusr/.config/nvim/init.lua +229.161 008.689: sourcing vimrc file(s) +229.452 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +230.601 000.057 000.057: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.lua +232.794 002.048 002.048: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.vim +236.078 000.256 000.256: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/synload.vim +236.340 002.832 002.576: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/syntax.vim +242.671 001.056 001.056: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/gzip.vim +242.829 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/health.vim +245.729 001.412 001.412: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +246.361 003.446 002.034: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchit.vim +246.870 000.420 000.420: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchparen.vim +247.052 000.090 000.090: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/netrwPlugin.vim +247.500 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +247.522 000.383 000.358: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/rplugin.vim +247.811 000.203 000.203: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/shada.vim +247.967 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/spellfile.vim +248.132 000.075 000.075: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tarPlugin.vim +248.296 000.078 000.078: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tohtml.vim +248.442 000.059 000.059: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tutor.vim +249.216 000.687 000.687: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/zipPlugin.vim +249.516 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +250.932 000.127 000.127: require('lspsaga') +251.194 000.086 000.086: require('lspsaga.window') +251.213 000.185 000.099: require('lspsaga.libs') +252.990 000.425 000.425: require('vim.lsp.log') +253.817 000.818 000.818: require('vim.lsp.protocol') +254.531 000.456 000.456: require('vim.lsp._snippet') +254.675 000.136 000.136: require('vim.highlight') +254.704 000.879 000.287: require('vim.lsp.util') +254.723 002.459 000.337: require('vim.lsp.handlers') +254.916 000.189 000.189: require('vim.lsp.rpc') +255.049 000.125 000.125: require('vim.lsp.sync') +255.512 000.456 000.456: require('vim.lsp.buf') +255.898 000.378 000.378: require('vim.lsp.diagnostic') +256.286 000.381 000.381: require('vim.lsp.codelens') +256.435 005.130 001.140: require('vim.lsp') +256.519 000.076 000.076: require('lspsaga.wrap') +256.530 005.313 000.107: require('lspsaga.codeaction') +256.569 005.629 000.131: require('lspsaga.lightbulb') +256.699 000.095 000.095: require('lspsaga.lspkind') +256.886 000.058 000.058: require('mason-core.path') +256.903 000.134 000.076: require('mason.settings') +257.101 000.054 000.054: require('mason-core.functional.data') +257.109 000.123 000.069: require('mason-core.functional.function') +257.145 000.238 000.115: require('mason-core.platform') +257.150 000.437 000.066: require('mason') +257.357 000.105 000.105: require('mason-core.functional') +257.475 000.101 000.101: require('mason-core.functional.list') +257.521 000.349 000.143: require('mason.api.command') +257.719 000.110 000.110: require('mason-core.log') +257.726 000.201 000.091: require('mason-lspconfig') +257.798 000.068 000.068: require('mason-lspconfig.settings') +257.891 000.077 000.077: require('mason-lspconfig.lspconfig_hook') +258.211 000.315 000.315: require('lspconfig.util') +258.438 000.079 000.079: require('mason-core.functional.table') +258.544 000.310 000.231: require('mason-lspconfig.mappings.server') +258.849 000.091 000.091: require('mason-core.async') +258.922 000.065 000.065: require('mason-core.async.uv') +258.933 000.303 000.147: require('mason-core.fs') +259.009 000.073 000.073: require('mason-core.optional') +259.080 000.067 000.067: require('mason-core.EventEmitter') +259.241 000.156 000.156: require('mason-registry.index') +259.260 000.710 000.112: require('mason-registry') +259.341 000.076 000.076: require('mason-lspconfig.server_config_extensions') +259.439 000.093 000.093: require('lspconfig.configs') +259.568 000.085 000.085: require('lspconfig.server_configurations.omnisharp') +259.680 000.072 000.072: require('mason-lspconfig.ensure_installed') +259.937 000.075 000.075: require('mason-core.result') +260.355 000.248 000.248: require('mason-core.process') +260.434 000.070 000.070: require('mason-core.functional.relation') +260.509 000.067 000.067: require('mason-core.functional.logic') +260.524 000.485 000.101: require('mason-core.spawn') +260.611 000.082 000.082: require('mason-core.receipt') +260.695 000.069 000.069: require('mason-core.functional.string') +260.727 000.784 000.147: require('mason-core.installer.context') +260.802 000.071 000.071: require('mason-core.installer.linker') +260.878 000.071 000.071: require('mason-core.async.control') +260.886 001.109 000.108: require('mason-core.installer') +260.986 000.097 000.097: require('mason-core.installer.handle') +261.352 000.075 000.075: require('mason-core.managers.powershell') +261.358 000.152 000.077: require('mason-core.fetch') +261.362 000.213 000.061: require('mason-core.managers.cargo.client') +261.471 000.410 000.197: require('mason-core.managers.cargo') +261.626 000.150 000.150: require('mason-core.managers.composer') +261.751 000.118 000.118: require('mason-core.managers.gem') +261.836 000.080 000.080: require('mason-core.managers.git') +262.055 000.129 000.129: require('mason-core.managers.std') +262.144 000.084 000.084: require('mason-core.managers.github.client') +262.158 000.317 000.104: require('mason-core.managers.github') +262.335 000.174 000.174: require('mason-core.managers.go') +262.467 000.127 000.127: require('mason-core.managers.luarocks') +262.578 000.106 000.106: require('mason-core.managers.npm') +262.694 000.111 000.111: require('mason-core.managers.pip3') +262.705 001.714 000.122: require('mason-core.package.version-check') +262.717 003.032 000.112: require('mason-core.package') +262.825 000.089 000.089: require('mason-registry.lua-language-server') +263.139 000.116 000.116: require('mason-registry.clangd') +263.374 000.126 000.126: require('mason-registry.rust-analyzer') +263.531 000.060 000.060: require('mason-core.notify') +263.611 000.074 000.074: require('mason-core.functional.number') +263.665 000.282 000.149: require('mason-lspconfig.api.command') +263.672 014.021 001.730: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +264.646 000.093 000.093: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/man.lua +264.859 009.930: loading rtp plugins +266.616 000.071 000.071: require('Comment.config') +266.723 000.099 000.099: require('Comment.utils') +266.800 000.072 000.072: require('Comment.opfunc') +266.873 000.068 000.068: require('Comment.extra') +266.888 000.475 000.165: require('Comment.api') +267.312 000.956 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +267.990 000.074 000.074: require('luasnip.util.types') +268.278 000.281 000.281: require('luasnip.util.ext_opts') +268.369 000.085 000.085: require('luasnip.extras.filetype_functions') +268.451 000.077 000.077: require('luasnip.session') +268.969 000.166 000.166: require('luasnip.util.util') +269.057 000.081 000.081: require('luasnip.nodes.util') +269.128 000.066 000.066: require('luasnip.util.events') +269.145 000.440 000.128: require('luasnip.nodes.node') +269.338 000.080 000.080: require('luasnip.util.extend_decorator') +269.350 000.893 000.373: require('luasnip.nodes.insertNode') +269.673 000.091 000.091: require('luasnip.util.mark') +270.003 000.192 000.192: require('luasnip.nodes.textNode') +271.216 001.044 001.044: require('luasnip.util._builtin_vars') +271.484 001.472 000.428: require('luasnip.util.environ') +271.584 000.093 000.093: require('luasnip.util.pattern_tokenizer') +271.677 000.087 000.087: require('luasnip.util.dict') +271.776 000.093 000.093: require('luasnip.session.snippet_collection') +271.836 002.157 000.219: require('luasnip.nodes.snippet') +271.857 002.504 000.256: require('luasnip.nodes.choiceNode') +272.071 000.154 000.154: require('luasnip.nodes.functionNode') +272.213 000.134 000.134: require('luasnip.nodes.dynamicNode') +272.335 000.116 000.116: require('luasnip.nodes.restoreNode') +272.429 000.089 000.089: require('luasnip.extras') +272.581 000.069 000.069: require('luasnip.util.str') +272.593 000.156 000.088: require('luasnip.extras.fmt') +272.659 000.062 000.062: require('luasnip.extras.expand_conditions') +274.837 000.115 000.115: require('luasnip.util.parser.neovim_ast') +285.484 000.102 000.102: require('luasnip.util.directed_graph') +285.508 012.765 012.548: require('luasnip.util.parser.ast_utils') +285.683 000.077 000.077: require('luasnip.util.functions') +285.694 000.181 000.104: require('luasnip.util.parser.ast_parser') +285.864 000.166 000.166: require('luasnip.util.parser.neovim_parser') +285.880 013.211 000.100: require('luasnip.util.parser') +285.961 000.076 000.076: require('luasnip.nodes.absolute_indexer') +286.571 018.788 000.878: require('luasnip.config') +286.736 019.252 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +287.625 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +288.516 000.096 000.096: require('indent_blankline/utils') +288.525 000.261 000.164: require('indent_blankline') +289.078 000.085 000.085: require('indent_blankline.commands') +289.243 001.156 000.810: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +289.661 000.100 000.100: require('lsp-colors') +290.066 000.560 000.459: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +291.337 000.883 000.883: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +292.198 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +292.735 000.093 000.093: require('cmp.utils.api') +292.879 000.068 000.068: require('cmp.types.cmp') +293.040 000.078 000.078: require('cmp.utils.misc') +293.161 000.276 000.197: require('cmp.types.lsp') +293.233 000.066 000.066: require('cmp.types.vim') +293.239 000.498 000.088: require('cmp.types') +293.311 000.069 000.069: require('cmp.utils.highlight') +293.438 000.060 000.060: require('cmp.utils.debug') +293.453 000.137 000.077: require('cmp.utils.autocmd') +294.094 001.520 000.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +294.361 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +294.791 000.107 000.107: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +295.290 000.200 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +295.922 000.069 000.069: require('nvim-treesitter.statusline') +296.008 000.079 000.079: require('nvim-treesitter.query_predicates') +296.014 000.235 000.087: require('nvim-treesitter') +297.249 000.211 000.211: require('vim.treesitter.highlighter') +297.604 000.717 000.506: require('nvim-treesitter.highlight') +298.233 002.511 001.559: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +298.701 000.250 000.250: require('treesitter-context') +298.712 000.288 000.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +299.085 000.089 000.089: require('nvim-treesitter-refactor') +299.521 000.552 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +299.907 000.123 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +300.288 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +300.657 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +301.449 000.439 000.439: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +301.814 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +302.983 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +303.777 000.499 000.499: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +304.414 000.381 000.381: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +305.285 000.605 000.605: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +305.595 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +305.881 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +306.951 010.557: loading packages +308.634 000.475 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +313.061 005.554 005.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +313.787 000.116 000.116: require('cmp.utils.char') +313.803 000.204 000.088: require('cmp.utils.str') +313.877 000.070 000.070: require('cmp.utils.pattern') +314.102 000.060 000.060: require('cmp.utils.buffer') +314.113 000.161 000.101: require('cmp.utils.keymap') +314.124 000.242 000.080: require('cmp.utils.feedkeys') +314.212 000.084 000.084: require('cmp.utils.async') +314.351 000.064 000.064: require('cmp.utils.cache') +314.358 000.141 000.077: require('cmp.context') +314.613 000.081 000.081: require('cmp.config.mapping') +314.787 000.091 000.091: require('cmp.config.compare') +314.796 000.176 000.085: require('cmp.config.default') +314.822 000.365 000.108: require('cmp.config') +314.996 000.067 000.067: require('cmp.matcher') +315.009 000.183 000.116: require('cmp.entry') +315.023 000.661 000.114: require('cmp.source') +315.170 000.064 000.064: require('cmp.utils.event') +315.349 000.099 000.099: require('cmp.utils.window') +315.357 000.181 000.082: require('cmp.view.docs_view') +315.477 000.117 000.117: require('cmp.view.custom_entries_view') +315.589 000.107 000.107: require('cmp.view.wildmenu_entries_view') +315.680 000.086 000.086: require('cmp.view.native_entries_view') +315.757 000.073 000.073: require('cmp.view.ghost_text_view') +315.774 000.748 000.120: require('cmp.view') +315.888 002.417 000.267: require('cmp.core') +316.199 000.074 000.074: require('cmp.config.sources') +316.266 000.059 000.059: require('cmp.config.window') +316.365 003.024 000.473: require('cmp') +316.650 000.063 000.063: require('cmp_buffer.timer') +316.662 000.153 000.090: require('cmp_buffer.buffer') +316.667 000.232 000.079: require('cmp_buffer.source') +316.671 000.301 000.069: require('cmp_buffer') +316.767 003.486 000.161: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +317.148 000.154 000.154: require('cmp_cmdline') +317.183 000.237 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +317.538 000.084 000.084: require('cmp_nvim_lsp.source') +317.546 000.168 000.084: require('cmp_nvim_lsp') +317.596 000.258 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +318.051 000.260 000.260: require('cmp_path') +318.087 000.339 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +318.379 000.087 000.087: require('cmp_luasnip') +318.445 000.203 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +318.598 001.570: loading after plugins +318.676 000.078: inits 3 +318.691 000.015: reading ShaDa +319.079 000.072 000.072: require('luasnip.loaders._caches') +319.267 000.181 000.181: require('luasnip.util.path') +319.366 000.092 000.092: require('luasnip.loaders.util') +319.603 000.104 000.104: require('luasnip.loaders') +319.642 000.271 000.167: require('luasnip') +319.649 000.734 000.119: require('luasnip.loaders.from_lua') +319.877 000.075 000.075: require('luasnip.nodes.snippetProxy') +319.886 000.177 000.102: require('luasnip.loaders.from_snipmate') +320.022 000.091 000.091: require('luasnip.loaders.from_vscode') +320.658 000.965: opening buffers +320.916 000.258: BufEnter autocommands +320.923 000.007: editing files in windows +335.685 000.594 000.594: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.315 001.315: --- NVIM STARTING --- +029.519 028.204: event init +045.885 016.366: early init +047.405 001.520: locale set +052.798 005.393: init first window +063.084 010.286: inits 1 +063.111 000.026: window checked +063.119 000.008: parsing arguments +075.078 000.268 000.268: require('vim.shared') +075.596 000.245 000.245: require('vim._meta') +075.609 000.509 000.263: require('vim._editor') +075.617 000.903 000.126: require('vim._init_packages') +075.624 011.602: init lua interpreter +075.789 000.165: expanding arguments +077.774 001.985: inits 2 +079.125 001.351: init highlight +079.134 000.009: waiting for UI +082.047 002.914: done waiting for UI +082.119 000.071: init screen for UI +082.613 000.495: init default mappings +082.660 000.047: init default autocommands +093.091 004.347 004.347: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/ftplugin.vim +095.882 001.064 001.064: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/indent.vim +096.229 000.037 000.037: sourcing /usr/share/nvim/archlinux.vim +096.246 000.117 000.080: sourcing /etc/xdg/nvim/sysinit.vim +106.342 005.865 005.865: require('keys') +108.711 002.358 002.358: require('opts') +112.148 001.046 001.046: require('packer.util') +112.298 003.211 002.165: require('packer') +116.366 001.643 001.643: require('packer.log') +116.396 002.522 000.879: require('packer.async') +118.234 000.752 000.752: require('packer.result') +118.250 001.845 001.093: require('packer.jobs') +118.281 005.884 001.517: require('packer.plugin_utils') +119.461 001.139 001.139: require('packer.snapshot') +120.985 012.265 002.031: require('pack') +137.495 016.498 016.498: require('impatient') +138.790 000.212 000.212: require('vim.treesitter.language') +138.824 000.831 000.619: require('vim.treesitter.query') +140.076 000.251 000.251: require('vim.treesitter.languagetree') +140.174 000.578 000.326: require('vim.treesitter') +140.627 001.447 000.869: require('nvim-treesitter.parsers') +140.797 000.161 000.161: require('nvim-treesitter.utils') +140.818 001.862 000.253: require('nvim-treesitter.ts_utils') +140.835 002.005 000.143: require('nvim-treesitter.tsrange') +141.528 000.687 000.687: require('nvim-treesitter.caching') +141.559 003.700 000.177: require('nvim-treesitter.query') +141.598 003.967 000.267: require('nvim-treesitter.configs') +142.951 000.527 000.527: require('nvim-treesitter.info') +143.550 000.590 000.590: require('nvim-treesitter.shell_command_selectors') +143.619 001.783 000.666: require('nvim-treesitter.install') +192.821 055.307 049.557: require('plugins.treesitter') +193.168 000.081 000.081: require('telescope._extensions') +193.177 000.173 000.092: require('telescope') +193.960 000.087 000.087: require('plenary.bit') +194.045 000.078 000.078: require('plenary.functional') +194.102 000.040 000.040: require('ffi') +194.152 000.438 000.234: require('plenary.path') +194.171 000.539 000.101: require('plenary.strings') +194.537 000.363 000.363: require('telescope.deprecated') +195.061 000.255 000.255: require('plenary.log') +195.141 000.488 000.233: require('telescope.log') +195.420 000.156 000.156: require('plenary.job') +195.511 000.085 000.085: require('telescope.state') +195.526 000.380 000.139: require('telescope.utils') +195.538 000.993 000.126: require('telescope.sorters') +195.706 000.144 000.144: require('vim.inspect') +196.270 000.015 000.015: require('vim.F') +200.294 006.805 004.751: require('telescope.config') +201.142 000.155 000.155: require('plenary.window.border') +201.222 000.074 000.074: require('plenary.window') +201.445 000.214 000.214: require('plenary.popup.utils') +201.461 001.156 000.713: require('plenary.popup') +201.595 000.128 000.128: require('telescope.pickers.scroller') +201.749 000.148 000.148: require('telescope.actions.state') +201.827 000.072 000.072: require('telescope.actions.utils') +201.984 000.071 000.071: require('telescope.actions.mt') +202.017 000.184 000.113: require('telescope.actions.set') +202.212 000.078 000.078: require('telescope.config.resolve') +202.218 000.157 000.079: require('telescope.pickers.entry_display') +202.292 000.070 000.070: require('telescope.from_entry') +202.894 009.714 000.995: require('telescope.actions') +203.744 000.059 000.059: require('plenary.tbl') +203.753 000.131 000.073: require('plenary.vararg.rotate') +203.756 000.192 000.061: require('plenary.vararg') +203.872 000.113 000.113: require('plenary.errors') +203.892 000.393 000.087: require('plenary.async.async') +203.963 000.068 000.068: require('plenary.async.structs') +203.978 000.558 000.097: require('plenary.async.control') +204.289 000.233 000.233: require('telescope.make_entry') +204.577 000.085 000.085: require('plenary.async.util') +204.584 000.151 000.066: require('plenary.async.tests') +204.589 000.225 000.074: require('plenary.async') +204.594 000.299 000.074: require('telescope.finders.async_static_finder') +204.816 000.062 000.062: require('plenary.class') +204.845 000.177 000.116: require('telescope._') +204.850 000.253 000.076: require('telescope.finders.async_oneshot_finder') +204.930 000.076 000.076: require('telescope.finders.async_job_finder') +204.942 000.959 000.098: require('telescope.finders') +205.285 000.099 000.099: require('telescope.debounce') +205.562 000.270 000.270: require('telescope.mappings') +205.686 000.115 000.115: require('telescope.pickers.highlights') +205.793 000.101 000.101: require('telescope.pickers.window') +205.962 000.076 000.076: require('telescope.algos.linked_list') +205.970 000.171 000.096: require('telescope.entry_manager') +206.040 000.067 000.067: require('telescope.pickers.multi') +206.079 001.133 000.311: require('telescope.pickers') +206.097 002.802 000.151: require('telescope.builtin.__lsp') +206.126 003.202 000.400: require('telescope.builtin') +206.457 000.236 000.236: require('fzf_lib') +206.469 000.338 000.102: require('telescope._extensions.fzf') +206.811 000.097 000.097: require('telescope._extensions.file_browser.utils') +206.921 000.358 000.261: require('telescope._extensions.file_browser.actions') +207.218 000.200 000.200: require('telescope._extensions.file_browser.make_entry') +207.387 000.161 000.161: require('plenary.scandir') +207.444 000.519 000.158: require('telescope._extensions.file_browser.finders') +207.545 000.097 000.097: require('telescope._extensions.file_browser.picker') +207.650 000.099 000.099: require('telescope._extensions.file_browser.config') +207.657 001.177 000.103: require('telescope._extensions.file_browser') +211.310 000.020 000.020: require('vim.keymap') +211.563 018.727 004.104: require('plugins.telescope') +212.720 000.062 000.062: require('notify.util.queue') +212.735 000.155 000.093: require('notify.util') +213.007 000.269 000.269: require('notify.config.highlights') +213.022 000.525 000.101: require('notify.config') +213.094 000.068 000.068: require('notify.stages') +213.169 000.069 000.069: require('notify.service.notification') +213.682 000.175 000.175: require('notify.animate.spring') +213.690 000.392 000.217: require('notify.animate') +213.704 000.530 000.139: require('notify.windows') +214.066 000.097 000.097: require('notify.service.buffer.highlights') +214.077 000.258 000.161: require('notify.service.buffer') +214.082 000.375 000.117: require('notify.service') +214.184 000.099 000.099: require('notify.stages.util') +214.194 001.784 000.118: require('notify') +214.350 000.152 000.152: require('nvim-tree.iterators.node-iterator') +214.431 002.141 000.206: require('nvim-tree.utils') +214.445 002.227 000.086: require('nvim-tree.events') +214.713 000.088 000.088: require('nvim-tree.log') +214.890 000.171 000.171: require('nvim-tree.git.utils') +215.009 000.114 000.114: require('nvim-tree.git.runner') +215.174 000.161 000.161: require('nvim-tree.watcher') +215.192 000.657 000.124: require('nvim-tree.git') +215.298 000.103 000.103: require('nvim-tree.explorer.watch') +215.406 000.102 000.102: require('nvim-tree.explorer.common') +215.643 000.101 000.101: require('nvim-tree.explorer.node-builders') +215.743 000.094 000.094: require('nvim-tree.explorer.sorters') +215.833 000.085 000.085: require('nvim-tree.explorer.filters') +216.211 000.273 000.273: require('nvim-tree.view') +216.236 000.399 000.126: require('nvim-tree.live-filter') +216.246 000.795 000.117: require('nvim-tree.explorer.explore') +216.401 000.150 000.150: require('nvim-tree.explorer.reload') +216.415 001.967 000.159: require('nvim-tree.explorer') +216.427 004.273 000.079: require('nvim-tree.core') +216.599 000.166 000.166: require('nvim-tree.diagnostics') +216.736 000.128 000.128: require('nvim-tree.renderer.components.padding') +216.878 000.135 000.135: require('nvim-tree.renderer.components.icons') +217.023 000.137 000.137: require('nvim-tree.renderer.components.full-name') +217.159 000.130 000.130: require('nvim-tree.renderer.help') +217.462 000.200 000.200: require('nvim-tree.renderer.components.git') +217.671 000.201 000.201: require('nvim-tree.renderer.builder') +217.860 000.182 000.182: require('nvim-tree.marks') +217.885 005.824 000.272: require('nvim-tree.renderer') +218.041 000.140 000.140: require('nvim-tree.actions.tree-modifiers.collapse-all') +218.225 000.176 000.176: require('nvim-tree.actions.root.dir-up') +218.363 000.130 000.130: require('nvim-tree.actions.root.change-dir') +218.464 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') +218.613 000.139 000.139: require('nvim-tree.actions.finders.find-file') +218.622 006.686 000.182: require('nvim-tree.lib') +218.780 000.153 000.153: require('nvim-tree.colors') +218.941 000.154 000.154: require('nvim-tree.legacy') +219.076 000.130 000.130: require('nvim-tree.actions.fs.copy-paste') +219.307 000.103 000.103: require('nvim-tree.actions.tree-modifiers.expand-all') +219.397 000.084 000.084: require('nvim-tree.actions.tree-modifiers.toggles') +219.500 000.097 000.097: require('nvim-tree.actions.fs.create-file') +219.594 000.088 000.088: require('nvim-tree.actions.fs.rename-file') +219.723 000.124 000.124: require('nvim-tree.actions.fs.trash') +219.830 000.101 000.101: require('nvim-tree.actions.fs.remove-file') +219.918 000.080 000.080: require('nvim-tree.actions.moves.parent') +220.008 000.085 000.085: require('nvim-tree.actions.moves.sibling') +220.096 000.082 000.082: require('nvim-tree.actions.moves.item') +220.192 000.086 000.086: require('nvim-tree.actions.finders.search-node') +220.275 000.078 000.078: require('nvim-tree.actions.node.run-command') +220.377 000.098 000.098: require('nvim-tree.actions.node.file-popup') +220.493 000.111 000.111: require('nvim-tree.actions.node.system-open') +220.617 000.095 000.095: require('nvim-tree.marks.bulk-move') +220.629 001.547 000.234: require('nvim-tree.actions.dispatch') +220.682 008.952 000.284: require('nvim-tree') +220.763 000.077 000.077: require('nvim-tree.config') +225.457 000.258 000.258: require('nvim-tree.actions') +225.612 000.138 000.138: require('nvim-tree.actions.node.open-file') +231.177 000.215 000.215: require('nvim-tree.marks.navigation') +231.192 000.752 000.537: require('nvim-tree.api') +231.319 001.308 000.556: require('nvim-tree.keymap') +233.412 001.322 001.322: require('nvim-web-devicons') +237.819 026.249 014.194: require('plugins.nvim-tree') +238.149 000.080 000.080: require('lualine_require') +238.693 000.744 000.664: require('lualine') +238.769 000.068 000.068: require('plugins.linecolor') +246.769 000.098 000.098: require('lualine.utils.mode') +249.215 011.383 010.473: require('plugins.lualine') +249.247 152.936 004.285: sourcing /home/sxrdusr/.config/nvim/init.lua +249.266 008.141: sourcing vimrc file(s) +249.558 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +250.909 000.165 000.165: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.lua +252.249 001.187 001.187: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.vim +254.478 000.324 000.324: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/synload.vim +254.864 002.122 001.798: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/syntax.vim +261.357 001.228 001.228: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/gzip.vim +261.572 000.105 000.105: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/health.vim +264.456 001.402 001.402: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +264.907 003.231 001.828: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchit.vim +265.364 000.392 000.392: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchparen.vim +265.507 000.075 000.075: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/netrwPlugin.vim +265.913 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +265.934 000.361 000.337: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/rplugin.vim +266.179 000.184 000.184: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/shada.vim +266.298 000.051 000.051: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/spellfile.vim +266.427 000.062 000.062: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tarPlugin.vim +266.555 000.063 000.063: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tohtml.vim +266.666 000.045 000.045: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tutor.vim +267.424 000.693 000.693: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/zipPlugin.vim +267.688 000.035 000.035: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +269.082 000.120 000.120: require('lspsaga') +269.341 000.083 000.083: require('lspsaga.window') +269.360 000.181 000.097: require('lspsaga.libs') +270.284 000.369 000.369: require('vim.lsp.log') +270.982 000.690 000.690: require('vim.lsp.protocol') +271.405 000.179 000.179: require('vim.lsp._snippet') +271.540 000.128 000.128: require('vim.highlight') +271.568 000.579 000.272: require('vim.lsp.util') +271.602 001.846 000.207: require('vim.lsp.handlers') +271.792 000.185 000.185: require('vim.lsp.rpc') +271.899 000.100 000.100: require('vim.lsp.sync') +272.049 000.144 000.144: require('vim.lsp.buf') +272.158 000.102 000.102: require('vim.lsp.diagnostic') +272.268 000.104 000.104: require('vim.lsp.codelens') +272.410 002.961 000.479: require('vim.lsp') +272.488 000.069 000.069: require('lspsaga.wrap') +272.498 003.134 000.105: require('lspsaga.codeaction') +272.539 003.448 000.133: require('lspsaga.lightbulb') +272.662 000.089 000.089: require('lspsaga.lspkind') +272.840 000.056 000.056: require('mason-core.path') +272.856 000.130 000.074: require('mason.settings') +273.051 000.055 000.055: require('mason-core.functional.data') +273.059 000.122 000.068: require('mason-core.functional.function') +273.095 000.234 000.112: require('mason-core.platform') +273.099 000.427 000.063: require('mason') +273.317 000.110 000.110: require('mason-core.functional') +273.431 000.094 000.094: require('mason-core.functional.list') +273.472 000.351 000.146: require('mason.api.command') +273.730 000.170 000.170: require('mason-core.log') +273.738 000.261 000.091: require('mason-lspconfig') +273.810 000.069 000.069: require('mason-lspconfig.settings') +273.930 000.083 000.083: require('mason-lspconfig.lspconfig_hook') +274.191 000.255 000.255: require('lspconfig.util') +274.407 000.070 000.070: require('mason-core.functional.table') +274.515 000.300 000.230: require('mason-lspconfig.mappings.server') +274.819 000.121 000.121: require('mason-core.async') +274.889 000.063 000.063: require('mason-core.async.uv') +274.903 000.305 000.121: require('mason-core.fs') +274.984 000.077 000.077: require('mason-core.optional') +275.055 000.066 000.066: require('mason-core.EventEmitter') +275.213 000.154 000.154: require('mason-registry.index') +275.233 000.711 000.111: require('mason-registry') +275.320 000.069 000.069: require('mason-lspconfig.server_config_extensions') +275.415 000.090 000.090: require('lspconfig.configs') +275.544 000.085 000.085: require('lspconfig.server_configurations.omnisharp') +275.748 000.074 000.074: require('mason-lspconfig.ensure_installed') +276.005 000.072 000.072: require('mason-core.result') +276.417 000.240 000.240: require('mason-core.process') +276.495 000.070 000.070: require('mason-core.functional.relation') +276.570 000.064 000.064: require('mason-core.functional.logic') +276.586 000.480 000.107: require('mason-core.spawn') +276.672 000.081 000.081: require('mason-core.receipt') +276.761 000.078 000.078: require('mason-core.functional.string') +276.793 000.783 000.144: require('mason-core.installer.context') +276.869 000.072 000.072: require('mason-core.installer.linker') +276.943 000.070 000.070: require('mason-core.async.control') +276.955 001.111 000.114: require('mason-core.installer') +277.048 000.090 000.090: require('mason-core.installer.handle') +277.418 000.067 000.067: require('mason-core.managers.powershell') +277.428 000.146 000.079: require('mason-core.fetch') +277.432 000.212 000.066: require('mason-core.managers.cargo.client') +277.559 000.435 000.223: require('mason-core.managers.cargo') +277.681 000.116 000.116: require('mason-core.managers.composer') +277.797 000.110 000.110: require('mason-core.managers.gem') +277.878 000.076 000.076: require('mason-core.managers.git') +278.059 000.095 000.095: require('mason-core.managers.std') +278.142 000.078 000.078: require('mason-core.managers.github.client') +278.155 000.273 000.100: require('mason-core.managers.github') +278.342 000.183 000.183: require('mason-core.managers.go') +278.486 000.139 000.139: require('mason-core.managers.luarocks') +278.592 000.101 000.101: require('mason-core.managers.npm') +278.705 000.108 000.108: require('mason-core.managers.pip3') +278.716 001.661 000.121: require('mason-core.package.version-check') +278.728 002.974 000.112: require('mason-core.package') +278.830 000.089 000.089: require('mason-registry.lua-language-server') +279.275 000.122 000.122: require('mason-registry.clangd') +279.487 000.147 000.147: require('mason-registry.rust-analyzer') +279.655 000.067 000.067: require('mason-core.notify') +279.733 000.071 000.071: require('mason-core.functional.number') +279.785 000.289 000.152: require('mason-lspconfig.api.command') +279.791 011.969 001.915: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +280.735 000.090 000.090: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/man.lua +280.920 009.546: loading rtp plugins +282.674 000.073 000.073: require('Comment.config') +282.771 000.089 000.089: require('Comment.utils') +282.846 000.071 000.071: require('Comment.opfunc') +282.917 000.066 000.066: require('Comment.extra') +282.933 000.458 000.160: require('Comment.api') +283.468 001.047 000.589: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +284.190 000.090 000.090: require('luasnip.util.types') +284.274 000.076 000.076: require('luasnip.util.ext_opts') +284.352 000.074 000.074: require('luasnip.extras.filetype_functions') +284.425 000.068 000.068: require('luasnip.session') +284.739 000.127 000.127: require('luasnip.util.util') +284.819 000.075 000.075: require('luasnip.nodes.util') +284.887 000.062 000.062: require('luasnip.util.events') +284.908 000.387 000.123: require('luasnip.nodes.node') +285.048 000.095 000.095: require('luasnip.util.extend_decorator') +285.063 000.633 000.151: require('luasnip.nodes.insertNode') +285.330 000.083 000.083: require('luasnip.util.mark') +285.616 000.140 000.140: require('luasnip.nodes.textNode') +286.531 000.827 000.827: require('luasnip.util._builtin_vars') +286.833 001.209 000.383: require('luasnip.util.environ') +286.926 000.086 000.086: require('luasnip.util.pattern_tokenizer') +286.999 000.068 000.068: require('luasnip.util.dict') +287.096 000.092 000.092: require('luasnip.session.snippet_collection') +287.152 001.816 000.221: require('luasnip.nodes.snippet') +287.188 002.122 000.223: require('luasnip.nodes.choiceNode') +287.368 000.112 000.112: require('luasnip.nodes.functionNode') +287.544 000.169 000.169: require('luasnip.nodes.dynamicNode') +287.688 000.138 000.138: require('luasnip.nodes.restoreNode') +287.780 000.086 000.086: require('luasnip.extras') +287.977 000.068 000.068: require('luasnip.util.str') +287.989 000.202 000.133: require('luasnip.extras.fmt') +288.054 000.061 000.061: require('luasnip.extras.expand_conditions') +290.201 000.078 000.078: require('luasnip.util.parser.neovim_ast') +300.163 000.097 000.097: require('luasnip.util.directed_graph') +300.185 012.054 011.879: require('luasnip.util.parser.ast_utils') +300.367 000.085 000.085: require('luasnip.util.functions') +300.387 000.196 000.111: require('luasnip.util.parser.ast_parser') +300.563 000.173 000.173: require('luasnip.util.parser.neovim_parser') +300.577 012.513 000.090: require('luasnip.util.parser') +300.655 000.074 000.074: require('luasnip.nodes.absolute_indexer') +301.222 017.241 000.824: require('luasnip.config') +301.385 017.742 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +302.266 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +303.147 000.099 000.099: require('indent_blankline/utils') +303.156 000.256 000.156: require('indent_blankline') +303.623 000.093 000.093: require('indent_blankline.commands') +303.782 001.055 000.706: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +304.216 000.098 000.098: require('lsp-colors') +305.024 000.956 000.858: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +306.488 001.075 001.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +307.360 000.411 000.411: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +307.912 000.092 000.092: require('cmp.utils.api') +308.048 000.066 000.066: require('cmp.types.cmp') +308.210 000.080 000.080: require('cmp.utils.misc') +308.328 000.274 000.194: require('cmp.types.lsp') +308.401 000.067 000.067: require('cmp.types.vim') +308.406 000.487 000.081: require('cmp.types') +308.475 000.065 000.065: require('cmp.utils.highlight') +308.602 000.060 000.060: require('cmp.utils.debug') +308.617 000.137 000.077: require('cmp.utils.autocmd') +309.515 001.773 000.991: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +309.780 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +310.207 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +310.692 000.172 000.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +311.299 000.065 000.065: require('nvim-treesitter.statusline') +311.390 000.084 000.084: require('nvim-treesitter.query_predicates') +311.397 000.237 000.087: require('nvim-treesitter') +312.386 000.250 000.250: require('vim.treesitter.highlighter') +312.746 000.762 000.512: require('nvim-treesitter.highlight') +313.417 002.309 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +313.878 000.234 000.234: require('treesitter-context') +313.888 000.278 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +314.260 000.086 000.086: require('nvim-treesitter-refactor') +314.421 000.273 000.187: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +314.787 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +315.167 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +315.536 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +316.316 000.428 000.428: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +316.677 000.059 000.059: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +317.659 000.460 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +318.449 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +319.069 000.362 000.362: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +319.927 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +320.227 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +320.530 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +322.022 011.008: loading packages +323.663 000.443 000.443: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +328.017 005.446 005.003: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +328.726 000.122 000.122: require('cmp.utils.char') +328.741 000.206 000.084: require('cmp.utils.str') +328.812 000.067 000.067: require('cmp.utils.pattern') +329.041 000.067 000.067: require('cmp.utils.buffer') +329.055 000.166 000.099: require('cmp.utils.keymap') +329.064 000.247 000.081: require('cmp.utils.feedkeys') +329.153 000.085 000.085: require('cmp.utils.async') +329.288 000.060 000.060: require('cmp.utils.cache') +329.295 000.137 000.076: require('cmp.context') +329.538 000.082 000.082: require('cmp.config.mapping') +329.700 000.081 000.081: require('cmp.config.compare') +329.705 000.160 000.079: require('cmp.config.default') +329.731 000.347 000.104: require('cmp.config') +329.907 000.066 000.066: require('cmp.matcher') +329.920 000.185 000.119: require('cmp.entry') +329.934 000.636 000.104: require('cmp.source') +330.070 000.059 000.059: require('cmp.utils.event') +330.244 000.086 000.086: require('cmp.utils.window') +330.251 000.175 000.089: require('cmp.view.docs_view') +330.368 000.115 000.115: require('cmp.view.custom_entries_view') +330.485 000.111 000.111: require('cmp.view.wildmenu_entries_view') +330.590 000.100 000.100: require('cmp.view.native_entries_view') +330.668 000.073 000.073: require('cmp.view.ghost_text_view') +330.686 000.748 000.115: require('cmp.view') +330.759 002.340 000.215: require('cmp.core') +331.206 000.068 000.068: require('cmp.config.sources') +331.275 000.061 000.061: require('cmp.config.window') +331.378 003.082 000.613: require('cmp') +331.667 000.065 000.065: require('cmp_buffer.timer') +331.676 000.156 000.090: require('cmp_buffer.buffer') +331.684 000.236 000.080: require('cmp_buffer.source') +331.688 000.305 000.069: require('cmp_buffer') +331.717 003.480 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +332.116 000.150 000.150: require('cmp_cmdline') +332.152 000.259 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +332.495 000.072 000.072: require('cmp_nvim_lsp.source') +332.502 000.149 000.078: require('cmp_nvim_lsp') +332.552 000.244 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +332.866 000.115 000.115: require('cmp_path') +332.896 000.193 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +333.187 000.090 000.090: require('cmp_luasnip') +333.256 000.210 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +333.412 001.558: loading after plugins +333.475 000.062: inits 3 +333.487 000.013: reading ShaDa +333.892 000.092 000.092: require('luasnip.loaders._caches') +334.006 000.108 000.108: require('luasnip.util.path') +334.098 000.086 000.086: require('luasnip.loaders.util') +334.316 000.100 000.100: require('luasnip.loaders') +334.355 000.252 000.151: require('luasnip') +334.362 000.653 000.115: require('luasnip.loaders.from_lua') +334.576 000.074 000.074: require('luasnip.nodes.snippetProxy') +334.586 000.175 000.101: require('luasnip.loaders.from_snipmate') +334.714 000.088 000.088: require('luasnip.loaders.from_vscode') +335.773 001.369: opening buffers +335.985 000.212: BufEnter autocommands +335.991 000.006: editing files in windows +351.037 000.897 000.897: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.080 001.080: --- NVIM STARTING --- +027.406 026.326: event init +043.818 016.412: early init +045.469 001.651: locale set +050.897 005.428: init first window +060.729 009.831: inits 1 +060.758 000.029: window checked +060.768 000.010: parsing arguments +071.499 000.121 000.121: require('vim.shared') +071.736 000.114 000.114: require('vim._meta') +071.742 000.234 000.119: require('vim._editor') +071.746 000.411 000.057: require('vim._init_packages') +071.749 010.570: init lua interpreter +071.828 000.079: expanding arguments +073.656 001.828: inits 2 +074.260 000.605: init highlight +074.265 000.004: waiting for UI +076.636 002.371: done waiting for UI +076.670 000.035: init screen for UI +076.912 000.241: init default mappings +076.939 000.028: init default autocommands +085.849 003.940 003.940: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/ftplugin.vim +087.715 000.864 000.864: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/indent.vim +087.951 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim +087.963 000.086 000.059: sourcing /etc/xdg/nvim/sysinit.vim +096.976 005.642 005.642: require('keys') +099.478 002.489 002.489: require('opts') +102.067 000.524 000.524: require('packer.util') +102.123 002.264 001.740: require('packer') +103.995 000.611 000.611: require('packer.log') +104.017 001.096 000.485: require('packer.async') +105.004 000.395 000.395: require('packer.result') +105.013 000.991 000.596: require('packer.jobs') +105.029 002.859 000.772: require('packer.plugin_utils') +105.671 000.619 000.619: require('packer.snapshot') +106.678 007.192 001.450: require('pack') +117.616 010.929 010.929: require('impatient') +118.465 000.192 000.192: require('vim.treesitter.language') +118.485 000.545 000.353: require('vim.treesitter.query') +119.777 000.239 000.239: require('vim.treesitter.languagetree') +119.839 000.619 000.380: require('vim.treesitter') +120.125 001.208 000.589: require('nvim-treesitter.parsers') +120.247 000.116 000.116: require('nvim-treesitter.utils') +120.262 001.550 000.226: require('nvim-treesitter.ts_utils') +120.271 001.781 000.231: require('nvim-treesitter.tsrange') +120.346 000.072 000.072: require('nvim-treesitter.caching') +120.368 002.520 000.122: require('nvim-treesitter.query') +120.394 002.687 000.167: require('nvim-treesitter.configs') +120.789 000.085 000.085: require('nvim-treesitter.info') +120.911 000.116 000.116: require('nvim-treesitter.shell_command_selectors') +120.959 000.452 000.250: require('nvim-treesitter.install') +163.436 045.806 042.666: require('plugins.treesitter') +163.913 000.263 000.263: require('telescope._extensions') +163.923 000.350 000.088: require('telescope') +164.650 000.083 000.083: require('plenary.bit') +164.727 000.071 000.071: require('plenary.functional') +164.774 000.028 000.028: require('ffi') +164.798 000.360 000.178: require('plenary.path') +164.812 000.452 000.092: require('plenary.strings') +164.881 000.066 000.066: require('telescope.deprecated') +165.525 000.355 000.355: require('plenary.log') +165.613 000.628 000.273: require('telescope.log') +166.068 000.281 000.281: require('plenary.job') +166.146 000.071 000.071: require('telescope.state') +166.167 000.548 000.196: require('telescope.utils') +166.178 001.291 000.115: require('telescope.sorters') +166.339 000.139 000.139: require('vim.inspect') +166.544 000.011 000.011: require('vim.F') +169.773 005.637 003.678: require('telescope.config') +170.373 000.089 000.089: require('plenary.window.border') +170.442 000.063 000.063: require('plenary.window') +170.504 000.057 000.057: require('plenary.popup.utils') +170.515 000.733 000.525: require('plenary.popup') +170.584 000.065 000.065: require('telescope.pickers.scroller') +170.652 000.064 000.064: require('telescope.actions.state') +170.724 000.067 000.067: require('telescope.actions.utils') +170.865 000.067 000.067: require('telescope.actions.mt') +170.895 000.167 000.099: require('telescope.actions.set') +171.089 000.072 000.072: require('telescope.config.resolve') +171.099 000.152 000.080: require('telescope.pickers.entry_display') +171.158 000.056 000.056: require('telescope.from_entry') +171.494 007.567 000.626: require('telescope.actions') +172.112 000.077 000.077: require('plenary.tbl') +172.121 000.172 000.094: require('plenary.vararg.rotate') +172.125 000.232 000.060: require('plenary.vararg') +172.186 000.058 000.058: require('plenary.errors') +172.198 000.367 000.077: require('plenary.async.async') +172.264 000.063 000.063: require('plenary.async.structs') +172.278 000.518 000.089: require('plenary.async.control') +172.615 000.234 000.234: require('telescope.make_entry') +172.879 000.074 000.074: require('plenary.async.util') +172.886 000.136 000.063: require('plenary.async.tests') +172.890 000.203 000.066: require('plenary.async') +172.894 000.273 000.070: require('telescope.finders.async_static_finder') +173.099 000.057 000.057: require('plenary.class') +173.124 000.162 000.106: require('telescope._') +173.129 000.232 000.070: require('telescope.finders.async_oneshot_finder') +173.199 000.066 000.066: require('telescope.finders.async_job_finder') +173.208 000.925 000.119: require('telescope.finders') +173.492 000.103 000.103: require('telescope.debounce') +173.650 000.152 000.152: require('telescope.mappings') +173.736 000.081 000.081: require('telescope.pickers.highlights') +173.812 000.070 000.070: require('telescope.pickers.window') +173.959 000.070 000.070: require('telescope.algos.linked_list') +173.966 000.150 000.080: require('telescope.entry_manager') +174.031 000.062 000.062: require('telescope.pickers.multi') +174.060 000.849 000.232: require('telescope.pickers') +174.075 002.421 000.129: require('telescope.builtin.__lsp') +174.124 002.624 000.203: require('telescope.builtin') +174.430 000.222 000.222: require('fzf_lib') +174.440 000.310 000.088: require('telescope._extensions.fzf') +174.788 000.093 000.093: require('telescope._extensions.file_browser.utils') +174.884 000.353 000.260: require('telescope._extensions.file_browser.actions') +175.118 000.142 000.142: require('telescope._extensions.file_browser.make_entry') +175.267 000.143 000.143: require('plenary.scandir') +175.316 000.427 000.142: require('telescope._extensions.file_browser.finders') +175.401 000.081 000.081: require('telescope._extensions.file_browser.picker') +175.494 000.088 000.088: require('telescope._extensions.file_browser.config') +175.500 001.050 000.100: require('telescope._extensions.file_browser') +179.114 000.014 000.014: require('vim.keymap') +179.332 015.886 003.971: require('plugins.telescope') +180.337 000.061 000.061: require('notify.util.queue') +180.346 000.147 000.085: require('notify.util') +180.570 000.221 000.221: require('notify.config.highlights') +180.587 000.469 000.102: require('notify.config') +180.765 000.174 000.174: require('notify.stages') +180.841 000.069 000.069: require('notify.service.notification') +181.057 000.060 000.060: require('notify.animate.spring') +181.063 000.120 000.060: require('notify.animate') +181.076 000.230 000.110: require('notify.windows') +181.365 000.108 000.108: require('notify.service.buffer.highlights') +181.379 000.225 000.116: require('notify.service.buffer') +181.385 000.306 000.081: require('notify.service') +181.497 000.108 000.108: require('notify.stages.util') +181.507 001.480 000.123: require('notify') +181.616 000.106 000.106: require('nvim-tree.iterators.node-iterator') +181.725 001.805 000.219: require('nvim-tree.utils') +181.738 001.887 000.083: require('nvim-tree.events') +181.989 000.078 000.078: require('nvim-tree.log') +182.151 000.156 000.156: require('nvim-tree.git.utils') +182.251 000.095 000.095: require('nvim-tree.git.runner') +182.369 000.113 000.113: require('nvim-tree.watcher') +182.393 000.567 000.125: require('nvim-tree.git') +182.492 000.095 000.095: require('nvim-tree.explorer.watch') +182.580 000.083 000.083: require('nvim-tree.explorer.common') +182.807 000.090 000.090: require('nvim-tree.explorer.node-builders') +182.903 000.089 000.089: require('nvim-tree.explorer.sorters') +183.040 000.132 000.132: require('nvim-tree.explorer.filters') +183.398 000.251 000.251: require('nvim-tree.view') +183.410 000.366 000.114: require('nvim-tree.live-filter') +183.421 000.797 000.120: require('nvim-tree.explorer.explore') +183.517 000.093 000.093: require('nvim-tree.explorer.reload') +183.527 001.785 000.150: require('nvim-tree.explorer') +183.545 003.754 000.082: require('nvim-tree.core') +183.660 000.111 000.111: require('nvim-tree.diagnostics') +183.753 000.087 000.087: require('nvim-tree.renderer.components.padding') +183.842 000.084 000.084: require('nvim-tree.renderer.components.icons') +183.948 000.101 000.101: require('nvim-tree.renderer.components.full-name') +184.037 000.085 000.085: require('nvim-tree.renderer.help') +184.170 000.127 000.127: require('nvim-tree.renderer.components.git') +184.303 000.128 000.128: require('nvim-tree.renderer.builder') +184.399 000.091 000.091: require('nvim-tree.marks') +184.415 004.706 000.137: require('nvim-tree.renderer') +184.518 000.089 000.089: require('nvim-tree.actions.tree-modifiers.collapse-all') +184.609 000.086 000.086: require('nvim-tree.actions.root.dir-up') +184.703 000.089 000.089: require('nvim-tree.actions.root.change-dir') +184.787 000.079 000.079: require('nvim-tree.actions.reloaders.reloaders') +184.875 000.079 000.079: require('nvim-tree.actions.finders.find-file') +184.880 005.245 000.117: require('nvim-tree.lib') +184.995 000.111 000.111: require('nvim-tree.colors') +185.150 000.149 000.149: require('nvim-tree.legacy') +185.288 000.132 000.132: require('nvim-tree.actions.fs.copy-paste') +185.532 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') +185.617 000.078 000.078: require('nvim-tree.actions.tree-modifiers.toggles') +185.756 000.132 000.132: require('nvim-tree.actions.fs.create-file') +185.858 000.095 000.095: require('nvim-tree.actions.fs.rename-file') +185.985 000.121 000.121: require('nvim-tree.actions.fs.trash') +186.111 000.121 000.121: require('nvim-tree.actions.fs.remove-file') +186.203 000.085 000.085: require('nvim-tree.actions.moves.parent') +186.287 000.079 000.079: require('nvim-tree.actions.moves.sibling') +186.369 000.076 000.076: require('nvim-tree.actions.moves.item') +186.482 000.089 000.089: require('nvim-tree.actions.finders.search-node') +186.565 000.078 000.078: require('nvim-tree.actions.node.run-command') +186.658 000.088 000.088: require('nvim-tree.actions.node.file-popup') +186.795 000.132 000.132: require('nvim-tree.actions.node.system-open') +186.898 000.095 000.095: require('nvim-tree.marks.bulk-move') +186.906 001.612 000.242: require('nvim-tree.actions.dispatch') +186.960 007.522 000.273: require('nvim-tree') +187.039 000.075 000.075: require('nvim-tree.config') +192.091 000.306 000.306: require('nvim-tree.actions') +192.263 000.152 000.152: require('nvim-tree.actions.node.open-file') +196.580 000.258 000.258: require('nvim-tree.marks.navigation') +196.599 001.236 000.978: require('nvim-tree.api') +196.734 001.594 000.357: require('nvim-tree.keymap') +199.512 002.025 002.025: require('nvim-web-devicons') +203.706 024.367 012.694: require('plugins.nvim-tree') +204.070 000.080 000.080: require('lualine_require') +204.613 000.770 000.690: require('lualine') +204.685 000.065 000.065: require('plugins.linecolor') +213.446 000.088 000.088: require('lualine.utils.mode') +215.545 011.829 010.906: require('plugins.lualine') +215.554 127.545 003.406: sourcing /home/sxrdusr/.config/nvim/init.lua +215.571 006.197: sourcing vimrc file(s) +215.888 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +217.247 000.068 000.068: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.lua +218.594 001.163 001.163: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.vim +222.514 000.412 000.412: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/synload.vim +222.762 003.325 002.913: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/syntax.vim +231.144 002.457 002.457: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/gzip.vim +231.338 000.069 000.069: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/health.vim +234.897 002.302 002.302: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +235.369 003.968 001.667: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchit.vim +235.874 000.439 000.439: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchparen.vim +236.128 000.132 000.132: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/netrwPlugin.vim +236.569 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +236.590 000.393 000.372: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/rplugin.vim +236.889 000.215 000.215: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/shada.vim +237.045 000.083 000.083: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/spellfile.vim +237.420 000.309 000.309: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tarPlugin.vim +237.699 000.210 000.210: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tohtml.vim +237.832 000.066 000.066: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tutor.vim +239.418 001.521 001.521: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/zipPlugin.vim +240.901 001.250 001.250: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +242.244 000.130 000.130: require('lspsaga') +242.541 000.087 000.087: require('lspsaga.window') +242.561 000.223 000.135: require('lspsaga.libs') +243.563 000.403 000.403: require('vim.lsp.log') +244.323 000.753 000.753: require('vim.lsp.protocol') +244.738 000.179 000.179: require('vim.lsp._snippet') +244.874 000.130 000.130: require('vim.highlight') +244.902 000.572 000.264: require('vim.lsp.util') +244.921 001.953 000.225: require('vim.lsp.handlers') +245.149 000.225 000.225: require('vim.lsp.rpc') +245.278 000.122 000.122: require('vim.lsp.sync') +245.455 000.170 000.170: require('vim.lsp.buf') +245.583 000.123 000.123: require('vim.lsp.diagnostic') +245.762 000.173 000.173: require('vim.lsp.codelens') +245.998 003.347 000.582: require('vim.lsp') +246.078 000.072 000.072: require('lspsaga.wrap') +246.088 003.523 000.104: require('lspsaga.codeaction') +246.147 003.895 000.150: require('lspsaga.lightbulb') +246.279 000.090 000.090: require('lspsaga.lspkind') +246.456 000.056 000.056: require('mason-core.path') +246.472 000.128 000.072: require('mason.settings') +246.696 000.053 000.053: require('mason-core.functional.data') +246.704 000.122 000.069: require('mason-core.functional.function') +246.741 000.265 000.143: require('mason-core.platform') +246.746 000.457 000.064: require('mason') +246.951 000.103 000.103: require('mason-core.functional') +247.046 000.077 000.077: require('mason-core.functional.list') +247.086 000.318 000.138: require('mason.api.command') +247.253 000.093 000.093: require('mason-core.log') +247.260 000.170 000.077: require('mason-lspconfig') +247.323 000.059 000.059: require('mason-lspconfig.settings') +247.407 000.066 000.066: require('mason-lspconfig.lspconfig_hook') +247.643 000.232 000.232: require('lspconfig.util') +247.953 000.084 000.084: require('mason-core.functional.table') +248.053 000.296 000.211: require('mason-lspconfig.mappings.server') +248.324 000.084 000.084: require('mason-core.async') +248.393 000.062 000.062: require('mason-core.async.uv') +248.404 000.269 000.123: require('mason-core.fs') +248.477 000.069 000.069: require('mason-core.optional') +248.549 000.068 000.068: require('mason-core.EventEmitter') +248.699 000.145 000.145: require('mason-registry.index') +248.726 000.667 000.117: require('mason-registry') +248.799 000.068 000.068: require('mason-lspconfig.server_config_extensions') +248.932 000.129 000.129: require('lspconfig.configs') +249.152 000.176 000.176: require('lspconfig.server_configurations.omnisharp') +249.411 000.075 000.075: require('mason-lspconfig.ensure_installed') +249.664 000.076 000.076: require('mason-core.result') +250.074 000.234 000.234: require('mason-core.process') +250.151 000.069 000.069: require('mason-core.functional.relation') +250.225 000.066 000.066: require('mason-core.functional.logic') +250.238 000.475 000.106: require('mason-core.spawn') +250.323 000.082 000.082: require('mason-core.receipt') +250.409 000.071 000.071: require('mason-core.functional.string') +250.437 000.768 000.141: require('mason-core.installer.context') +250.513 000.072 000.072: require('mason-core.installer.linker') +250.587 000.070 000.070: require('mason-core.async.control') +250.595 001.086 000.101: require('mason-core.installer') +250.695 000.097 000.097: require('mason-core.installer.handle') +251.037 000.066 000.066: require('mason-core.managers.powershell') +251.043 000.138 000.073: require('mason-core.fetch') +251.047 000.200 000.061: require('mason-core.managers.cargo.client') +251.294 000.526 000.327: require('mason-core.managers.cargo') +251.449 000.148 000.148: require('mason-core.managers.composer') +251.567 000.112 000.112: require('mason-core.managers.gem') +251.649 000.077 000.077: require('mason-core.managers.git') +251.832 000.090 000.090: require('mason-core.managers.std') +251.912 000.075 000.075: require('mason-core.managers.github.client') +251.925 000.271 000.106: require('mason-core.managers.github') +252.028 000.100 000.100: require('mason-core.managers.go') +252.155 000.122 000.122: require('mason-core.managers.luarocks') +252.261 000.101 000.101: require('mason-core.managers.npm') +252.406 000.139 000.139: require('mason-core.managers.pip3') +252.423 001.722 000.125: require('mason-core.package.version-check') +252.433 003.015 000.110: require('mason-core.package') +252.549 000.091 000.091: require('mason-registry.lua-language-server') +252.939 000.191 000.191: require('mason-registry.clangd') +253.173 000.194 000.194: require('mason-registry.rust-analyzer') +253.330 000.055 000.055: require('mason-core.notify') +253.408 000.068 000.068: require('mason-core.functional.number') +253.465 000.282 000.159: require('mason-lspconfig.api.command') +253.471 012.397 001.794: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +254.877 000.113 000.113: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/man.lua +255.100 011.297: loading rtp plugins +256.891 000.076 000.076: require('Comment.config') +256.985 000.086 000.086: require('Comment.utils') +257.060 000.070 000.070: require('Comment.opfunc') +257.130 000.065 000.065: require('Comment.extra') +257.145 000.468 000.170: require('Comment.api') +257.568 000.946 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +258.251 000.068 000.068: require('luasnip.util.types') +258.335 000.077 000.077: require('luasnip.util.ext_opts') +258.413 000.073 000.073: require('luasnip.extras.filetype_functions') +258.485 000.067 000.067: require('luasnip.session') +258.793 000.118 000.118: require('luasnip.util.util') +258.874 000.075 000.075: require('luasnip.nodes.util') +258.941 000.063 000.063: require('luasnip.util.events') +258.958 000.376 000.119: require('luasnip.nodes.node') +259.103 000.096 000.096: require('luasnip.util.extend_decorator') +259.115 000.625 000.153: require('luasnip.nodes.insertNode') +259.378 000.090 000.090: require('luasnip.util.mark') +259.606 000.093 000.093: require('luasnip.nodes.textNode') +260.491 000.806 000.806: require('luasnip.util._builtin_vars') +260.690 001.078 000.272: require('luasnip.util.environ') +260.786 000.090 000.090: require('luasnip.util.pattern_tokenizer') +260.853 000.062 000.062: require('luasnip.util.dict') +260.946 000.088 000.088: require('luasnip.session.snippet_collection') +261.000 001.615 000.205: require('luasnip.nodes.snippet') +261.029 001.911 000.206: require('luasnip.nodes.choiceNode') +261.206 000.114 000.114: require('luasnip.nodes.functionNode') +261.370 000.157 000.157: require('luasnip.nodes.dynamicNode') +261.490 000.114 000.114: require('luasnip.nodes.restoreNode') +261.582 000.086 000.086: require('luasnip.extras') +263.685 002.019 002.019: require('luasnip.util.str') +263.699 002.110 000.091: require('luasnip.extras.fmt') +263.788 000.083 000.083: require('luasnip.extras.expand_conditions') +264.029 000.075 000.075: require('luasnip.util.parser.neovim_ast') +277.336 000.093 000.093: require('luasnip.util.directed_graph') +277.357 013.492 013.325: require('luasnip.util.parser.ast_utils') +277.516 000.067 000.067: require('luasnip.util.functions') +277.529 000.167 000.100: require('luasnip.util.parser.ast_parser') +277.696 000.163 000.163: require('luasnip.util.parser.neovim_parser') +277.708 013.913 000.090: require('luasnip.util.parser') +277.779 000.066 000.066: require('luasnip.nodes.absolute_indexer') +278.395 020.332 000.867: require('luasnip.config') +278.560 020.810 000.478: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +279.482 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +280.347 000.091 000.091: require('indent_blankline/utils') +280.356 000.243 000.152: require('indent_blankline') +280.865 000.093 000.093: require('indent_blankline.commands') +281.069 001.130 000.793: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +281.484 000.096 000.096: require('lsp-colors') +281.881 000.545 000.449: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +283.314 001.039 001.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +284.157 000.385 000.385: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +284.682 000.088 000.088: require('cmp.utils.api') +284.811 000.061 000.061: require('cmp.types.cmp') +284.973 000.083 000.083: require('cmp.utils.misc') +285.067 000.251 000.168: require('cmp.types.lsp') +285.136 000.063 000.063: require('cmp.types.vim') +285.142 000.453 000.079: require('cmp.types') +285.208 000.062 000.062: require('cmp.utils.highlight') +285.330 000.055 000.055: require('cmp.utils.debug') +285.351 000.139 000.084: require('cmp.utils.autocmd') +285.930 001.404 000.661: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +286.193 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +286.604 000.102 000.102: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +287.061 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +287.709 000.068 000.068: require('nvim-treesitter.statusline') +287.795 000.080 000.080: require('nvim-treesitter.query_predicates') +287.802 000.235 000.087: require('nvim-treesitter') +289.115 000.255 000.255: require('vim.treesitter.highlighter') +289.471 000.761 000.506: require('nvim-treesitter.highlight') +289.873 002.400 001.404: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +290.336 000.219 000.219: require('treesitter-context') +290.346 000.259 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +290.708 000.080 000.080: require('nvim-treesitter-refactor') +290.977 000.375 000.295: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +291.352 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +291.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +292.092 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +292.887 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +293.259 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +294.235 000.484 000.484: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +295.020 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +295.620 000.349 000.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +296.512 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +296.818 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +297.099 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +298.594 011.053: loading packages +300.317 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +304.622 005.447 004.964: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +305.441 000.235 000.235: require('cmp.utils.char') +305.461 000.333 000.098: require('cmp.utils.str') +305.537 000.071 000.071: require('cmp.utils.pattern') +305.802 000.083 000.083: require('cmp.utils.buffer') +305.818 000.210 000.128: require('cmp.utils.keymap') +305.827 000.285 000.075: require('cmp.utils.feedkeys') +305.917 000.087 000.087: require('cmp.utils.async') +306.045 000.057 000.057: require('cmp.utils.cache') +306.058 000.135 000.078: require('cmp.context') +306.303 000.077 000.077: require('cmp.config.mapping') +306.465 000.079 000.079: require('cmp.config.compare') +306.470 000.161 000.081: require('cmp.config.default') +306.496 000.349 000.111: require('cmp.config') +306.668 000.065 000.065: require('cmp.matcher') +306.681 000.182 000.116: require('cmp.entry') +306.692 000.631 000.100: require('cmp.source') +306.832 000.064 000.064: require('cmp.utils.event') +306.997 000.088 000.088: require('cmp.utils.window') +307.004 000.167 000.079: require('cmp.view.docs_view') +307.117 000.110 000.110: require('cmp.view.custom_entries_view') +307.224 000.102 000.102: require('cmp.view.wildmenu_entries_view') +307.309 000.080 000.080: require('cmp.view.native_entries_view') +307.385 000.072 000.072: require('cmp.view.ghost_text_view') +307.402 000.707 000.112: require('cmp.view') +307.510 002.498 000.249: require('cmp.core') +307.774 000.074 000.074: require('cmp.config.sources') +307.838 000.058 000.058: require('cmp.config.window') +307.940 003.047 000.417: require('cmp') +308.208 000.061 000.061: require('cmp_buffer.timer') +308.217 000.143 000.082: require('cmp_buffer.buffer') +308.222 000.220 000.078: require('cmp_buffer.source') +308.226 000.281 000.061: require('cmp_buffer') +308.256 003.417 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +308.633 000.153 000.153: require('cmp_cmdline') +308.667 000.236 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +308.999 000.072 000.072: require('cmp_nvim_lsp.source') +309.006 000.147 000.075: require('cmp_nvim_lsp') +309.084 000.268 000.121: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +309.398 000.114 000.114: require('cmp_path') +309.432 000.197 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +309.712 000.085 000.085: require('cmp_luasnip') +309.781 000.199 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +309.930 001.571: loading after plugins +309.992 000.062: inits 3 +310.006 000.014: reading ShaDa +310.393 000.068 000.068: require('luasnip.loaders._caches') +310.505 000.105 000.105: require('luasnip.util.path') +310.592 000.082 000.082: require('luasnip.loaders.util') +310.822 000.111 000.111: require('luasnip.loaders') +310.860 000.263 000.151: require('luasnip') +310.867 000.635 000.118: require('luasnip.loaders.from_lua') +311.072 000.071 000.071: require('luasnip.nodes.snippetProxy') +311.081 000.167 000.096: require('luasnip.loaders.from_snipmate') +311.240 000.091 000.091: require('luasnip.loaders.from_vscode') +311.943 001.045: opening buffers +312.150 000.207: BufEnter autocommands +312.157 000.006: editing files in windows +327.507 000.688 000.688: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.319 001.319: --- NVIM STARTING --- +030.721 029.402: event init +047.792 017.071: early init +049.585 001.792: locale set +055.317 005.732: init first window +065.751 010.434: inits 1 +065.775 000.025: window checked +065.783 000.008: parsing arguments +077.866 000.266 000.266: require('vim.shared') +078.373 000.236 000.236: require('vim._meta') +078.386 000.497 000.261: require('vim._editor') +078.394 000.903 000.139: require('vim._init_packages') +078.401 011.715: init lua interpreter +078.562 000.161: expanding arguments +080.531 001.969: inits 2 +081.878 001.347: init highlight +081.888 000.010: waiting for UI +084.866 002.978: done waiting for UI +084.916 000.050: init screen for UI +085.278 000.361: init default mappings +085.312 000.035: init default autocommands +097.149 004.626 004.626: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/ftplugin.vim +100.189 001.071 001.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/indent.vim +100.744 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim +100.769 000.180 000.123: sourcing /etc/xdg/nvim/sysinit.vim +114.486 007.066 007.066: require('keys') +116.767 002.270 002.270: require('opts') +119.360 000.518 000.518: require('packer.util') +119.441 002.273 001.755: require('packer') +121.592 000.885 000.885: require('packer.log') +121.606 001.371 000.486: require('packer.async') +122.581 000.395 000.395: require('packer.result') +122.589 000.978 000.583: require('packer.jobs') +122.606 003.115 000.766: require('packer.plugin_utils') +123.247 000.619 000.619: require('packer.snapshot') +124.534 007.759 001.752: require('pack') +143.252 018.703 018.703: require('impatient') +145.195 000.383 000.383: require('vim.treesitter.language') +145.225 001.260 000.877: require('vim.treesitter.query') +146.906 000.447 000.447: require('vim.treesitter.languagetree') +147.037 000.947 000.500: require('vim.treesitter') +147.497 001.828 000.882: require('nvim-treesitter.parsers') +147.696 000.190 000.190: require('nvim-treesitter.utils') +147.719 002.227 000.209: require('nvim-treesitter.ts_utils') +147.732 002.501 000.273: require('nvim-treesitter.tsrange') +147.854 000.116 000.116: require('nvim-treesitter.caching') +147.890 004.072 000.195: require('nvim-treesitter.query') +147.933 004.487 000.416: require('nvim-treesitter.configs') +148.437 000.212 000.212: require('nvim-treesitter.info') +148.898 000.450 000.450: require('nvim-treesitter.shell_command_selectors') +148.976 001.005 000.343: require('nvim-treesitter.install') +198.789 055.516 050.023: require('plugins.treesitter') +199.156 000.076 000.076: require('telescope._extensions') +199.170 000.197 000.121: require('telescope') +199.903 000.086 000.086: require('plenary.bit') +199.981 000.071 000.071: require('plenary.functional') +200.068 000.067 000.067: require('ffi') +200.094 000.469 000.244: require('plenary.path') +200.107 000.558 000.089: require('plenary.strings') +200.177 000.067 000.067: require('telescope.deprecated') +200.582 000.238 000.238: require('plenary.log') +200.663 000.379 000.141: require('telescope.log') +201.029 000.245 000.245: require('plenary.job') +201.108 000.073 000.073: require('telescope.state') +201.123 000.454 000.136: require('telescope.utils') +201.136 000.954 000.122: require('telescope.sorters') +201.247 000.088 000.088: require('vim.inspect') +201.726 000.011 000.011: require('vim.F') +205.122 005.710 004.033: require('telescope.config') +205.782 000.089 000.089: require('plenary.window.border') +205.852 000.062 000.062: require('plenary.window') +205.913 000.056 000.056: require('plenary.popup.utils') +205.925 000.793 000.585: require('plenary.popup') +205.993 000.065 000.065: require('telescope.pickers.scroller') +206.062 000.064 000.064: require('telescope.actions.state') +206.136 000.069 000.069: require('telescope.actions.utils') +206.279 000.068 000.068: require('telescope.actions.mt') +206.310 000.169 000.101: require('telescope.actions.set') +206.504 000.073 000.073: require('telescope.config.resolve') +206.510 000.147 000.075: require('telescope.pickers.entry_display') +206.575 000.061 000.061: require('telescope.from_entry') +206.997 007.823 000.744: require('telescope.actions') +207.559 000.058 000.058: require('plenary.tbl') +207.568 000.123 000.065: require('plenary.vararg.rotate') +207.572 000.184 000.061: require('plenary.vararg') +207.667 000.092 000.092: require('plenary.errors') +207.677 000.352 000.076: require('plenary.async.async') +207.862 000.182 000.182: require('plenary.async.structs') +207.879 000.623 000.089: require('plenary.async.control') +208.162 000.201 000.201: require('telescope.make_entry') +208.425 000.073 000.073: require('plenary.async.util') +208.431 000.135 000.063: require('plenary.async.tests') +208.435 000.204 000.068: require('plenary.async') +208.440 000.273 000.069: require('telescope.finders.async_static_finder') +208.641 000.058 000.058: require('plenary.class') +208.667 000.161 000.103: require('telescope._') +208.672 000.229 000.068: require('telescope.finders.async_oneshot_finder') +208.741 000.066 000.066: require('telescope.finders.async_job_finder') +208.751 000.867 000.098: require('telescope.finders') +209.003 000.075 000.075: require('telescope.debounce') +209.169 000.161 000.161: require('telescope.mappings') +209.256 000.081 000.081: require('telescope.pickers.highlights') +209.330 000.069 000.069: require('telescope.pickers.window') +209.471 000.069 000.069: require('telescope.algos.linked_list') +209.479 000.144 000.075: require('telescope.entry_manager') +209.542 000.061 000.061: require('telescope.pickers.multi') +209.574 000.820 000.230: require('telescope.pickers') +209.589 002.444 000.134: require('telescope.builtin.__lsp') +209.612 002.607 000.163: require('telescope.builtin') +209.917 000.224 000.224: require('fzf_lib') +209.927 000.310 000.087: require('telescope._extensions.fzf') +210.257 000.090 000.090: require('telescope._extensions.file_browser.utils') +210.353 000.324 000.234: require('telescope._extensions.file_browser.actions') +210.580 000.137 000.137: require('telescope._extensions.file_browser.make_entry') +210.726 000.140 000.140: require('plenary.scandir') +210.774 000.416 000.139: require('telescope._extensions.file_browser.finders') +210.858 000.079 000.079: require('telescope._extensions.file_browser.picker') +210.951 000.088 000.088: require('telescope._extensions.file_browser.config') +210.957 001.019 000.112: require('telescope._extensions.file_browser') +213.828 000.012 000.012: require('vim.keymap') +214.133 015.325 003.356: require('plugins.telescope') +215.166 000.060 000.060: require('notify.util.queue') +215.175 000.142 000.083: require('notify.util') +215.388 000.209 000.209: require('notify.config.highlights') +215.402 000.458 000.106: require('notify.config') +215.472 000.066 000.066: require('notify.stages') +215.542 000.065 000.065: require('notify.service.notification') +215.796 000.078 000.078: require('notify.animate.spring') +215.801 000.160 000.082: require('notify.animate') +215.809 000.262 000.102: require('notify.windows') +216.106 000.110 000.110: require('notify.service.buffer.highlights') +216.116 000.217 000.107: require('notify.service.buffer') +216.123 000.311 000.094: require('notify.service') +216.229 000.103 000.103: require('notify.stages.util') +216.244 001.471 000.207: require('notify') +216.328 000.080 000.080: require('nvim-tree.iterators.node-iterator') +216.417 001.742 000.190: require('nvim-tree.utils') +216.453 001.850 000.108: require('nvim-tree.events') +216.712 000.089 000.089: require('nvim-tree.log') +216.874 000.156 000.156: require('nvim-tree.git.utils') +216.970 000.091 000.091: require('nvim-tree.git.runner') +217.064 000.090 000.090: require('nvim-tree.watcher') +217.075 000.536 000.110: require('nvim-tree.git') +217.170 000.092 000.092: require('nvim-tree.explorer.watch') +217.254 000.078 000.078: require('nvim-tree.explorer.common') +217.514 000.128 000.128: require('nvim-tree.explorer.node-builders') +217.619 000.099 000.099: require('nvim-tree.explorer.sorters') +217.714 000.090 000.090: require('nvim-tree.explorer.filters') +218.054 000.223 000.223: require('nvim-tree.view') +218.067 000.349 000.125: require('nvim-tree.live-filter') +218.074 000.777 000.112: require('nvim-tree.explorer.explore') +218.180 000.102 000.102: require('nvim-tree.explorer.reload') +218.193 001.736 000.150: require('nvim-tree.explorer') +218.201 003.654 000.068: require('nvim-tree.core') +218.320 000.115 000.115: require('nvim-tree.diagnostics') +218.413 000.087 000.087: require('nvim-tree.renderer.components.padding') +218.510 000.093 000.093: require('nvim-tree.renderer.components.icons') +218.610 000.095 000.095: require('nvim-tree.renderer.components.full-name') +218.693 000.078 000.078: require('nvim-tree.renderer.help') +218.820 000.122 000.122: require('nvim-tree.renderer.components.git') +218.949 000.124 000.124: require('nvim-tree.renderer.builder') +219.045 000.091 000.091: require('nvim-tree.marks') +219.065 004.592 000.133: require('nvim-tree.renderer') +219.158 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') +219.256 000.094 000.094: require('nvim-tree.actions.root.dir-up') +219.354 000.092 000.092: require('nvim-tree.actions.root.change-dir') +219.445 000.087 000.087: require('nvim-tree.actions.reloaders.reloaders') +219.533 000.082 000.082: require('nvim-tree.actions.finders.find-file') +219.538 005.136 000.107: require('nvim-tree.lib') +219.654 000.112 000.112: require('nvim-tree.colors') +219.809 000.149 000.149: require('nvim-tree.legacy') +219.940 000.126 000.126: require('nvim-tree.actions.fs.copy-paste') +220.210 000.120 000.120: require('nvim-tree.actions.tree-modifiers.expand-all') +220.313 000.096 000.096: require('nvim-tree.actions.tree-modifiers.toggles') +220.456 000.134 000.134: require('nvim-tree.actions.fs.create-file') +220.597 000.133 000.133: require('nvim-tree.actions.fs.rename-file') +220.741 000.133 000.133: require('nvim-tree.actions.fs.trash') +220.840 000.093 000.093: require('nvim-tree.actions.fs.remove-file') +220.929 000.079 000.079: require('nvim-tree.actions.moves.parent') +221.015 000.081 000.081: require('nvim-tree.actions.moves.sibling') +221.098 000.078 000.078: require('nvim-tree.actions.moves.item') +221.197 000.085 000.085: require('nvim-tree.actions.finders.search-node') +221.282 000.080 000.080: require('nvim-tree.actions.node.run-command') +221.377 000.090 000.090: require('nvim-tree.actions.node.file-popup') +221.479 000.097 000.097: require('nvim-tree.actions.node.system-open') +221.574 000.084 000.084: require('nvim-tree.marks.bulk-move') +221.586 001.639 000.257: require('nvim-tree.actions.dispatch') +221.649 007.424 000.262: require('nvim-tree') +221.726 000.073 000.073: require('nvim-tree.config') +225.771 000.220 000.220: require('nvim-tree.actions') +225.914 000.131 000.131: require('nvim-tree.actions.node.open-file') +230.601 000.428 000.428: require('nvim-tree.marks.navigation') +230.613 000.910 000.482: require('nvim-tree.api') +230.739 001.334 000.423: require('nvim-tree.keymap') +232.960 001.583 001.583: require('nvim-web-devicons') +237.002 022.861 012.097: require('plugins.nvim-tree') +237.294 000.076 000.076: require('lualine_require') +237.847 000.737 000.661: require('lualine') +237.917 000.063 000.063: require('plugins.linecolor') +245.353 000.079 000.079: require('lualine.utils.mode') +247.774 010.763 009.884: require('plugins.lualine') +247.783 146.914 006.650: sourcing /home/sxrdusr/.config/nvim/init.lua +247.800 009.697: sourcing vimrc file(s) +248.092 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +249.536 000.063 000.063: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.lua +252.421 002.539 002.539: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.vim +255.626 000.259 000.259: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/synload.vim +255.875 002.652 002.393: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/syntax.vim +264.298 002.416 002.416: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/gzip.vim +264.568 000.071 000.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/health.vim +268.136 002.317 002.317: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +268.581 003.942 001.625: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchit.vim +269.046 000.402 000.402: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchparen.vim +269.193 000.077 000.077: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/netrwPlugin.vim +269.596 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +269.616 000.360 000.339: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/rplugin.vim +269.864 000.186 000.186: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/shada.vim +270.034 000.101 000.101: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/spellfile.vim +270.474 000.343 000.343: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tarPlugin.vim +270.876 000.269 000.269: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tohtml.vim +271.243 000.249 000.249: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tutor.vim +273.325 001.871 001.871: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/zipPlugin.vim +275.008 001.252 001.252: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +276.428 000.132 000.132: require('lspsaga') +276.723 000.115 000.115: require('lspsaga.window') +276.745 000.219 000.104: require('lspsaga.libs') +277.875 000.496 000.496: require('vim.lsp.log') +278.559 000.676 000.676: require('vim.lsp.protocol') +279.115 000.243 000.243: require('vim.lsp._snippet') +279.299 000.178 000.178: require('vim.highlight') +279.329 000.762 000.341: require('vim.lsp.util') +279.348 002.182 000.248: require('vim.lsp.handlers') +279.618 000.266 000.266: require('vim.lsp.rpc') +279.748 000.123 000.123: require('vim.lsp.sync') +279.924 000.169 000.169: require('vim.lsp.buf') +280.123 000.193 000.193: require('vim.lsp.diagnostic') +280.307 000.178 000.178: require('vim.lsp.codelens') +280.454 003.614 000.502: require('vim.lsp') +280.531 000.069 000.069: require('lspsaga.wrap') +280.541 003.792 000.109: require('lspsaga.codeaction') +280.582 004.146 000.135: require('lspsaga.lightbulb') +280.712 000.090 000.090: require('lspsaga.lspkind') +280.888 000.054 000.054: require('mason-core.path') +280.905 000.127 000.073: require('mason.settings') +281.098 000.053 000.053: require('mason-core.functional.data') +281.107 000.120 000.067: require('mason-core.functional.function') +281.164 000.255 000.135: require('mason-core.platform') +281.169 000.446 000.064: require('mason') +281.386 000.115 000.115: require('mason-core.functional') +281.494 000.089 000.089: require('mason-core.functional.list') +281.542 000.350 000.146: require('mason.api.command') +281.730 000.105 000.105: require('mason-core.log') +281.740 000.194 000.089: require('mason-lspconfig') +281.808 000.064 000.064: require('mason-lspconfig.settings') +281.901 000.076 000.076: require('mason-lspconfig.lspconfig_hook') +282.200 000.294 000.294: require('lspconfig.util') +282.434 000.073 000.073: require('mason-core.functional.table') +282.539 000.313 000.240: require('mason-lspconfig.mappings.server') +282.810 000.086 000.086: require('mason-core.async') +282.878 000.061 000.061: require('mason-core.async.uv') +282.892 000.271 000.124: require('mason-core.fs') +282.962 000.066 000.066: require('mason-core.optional') +283.034 000.068 000.068: require('mason-core.EventEmitter') +283.206 000.167 000.167: require('mason-registry.index') +283.228 000.682 000.110: require('mason-registry') +283.298 000.066 000.066: require('mason-lspconfig.server_config_extensions') +283.428 000.125 000.125: require('lspconfig.configs') +283.560 000.087 000.087: require('lspconfig.server_configurations.omnisharp') +283.773 000.072 000.072: require('mason-lspconfig.ensure_installed') +284.028 000.072 000.072: require('mason-core.result') +284.440 000.229 000.229: require('mason-core.process') +284.519 000.070 000.070: require('mason-core.functional.relation') +284.595 000.067 000.067: require('mason-core.functional.logic') +284.608 000.468 000.101: require('mason-core.spawn') +284.698 000.085 000.085: require('mason-core.receipt') +284.781 000.071 000.071: require('mason-core.functional.string') +284.810 000.776 000.153: require('mason-core.installer.context') +284.890 000.076 000.076: require('mason-core.installer.linker') +284.972 000.078 000.078: require('mason-core.async.control') +284.981 001.107 000.105: require('mason-core.installer') +285.078 000.094 000.094: require('mason-core.installer.handle') +285.427 000.066 000.066: require('mason-core.managers.powershell') +285.433 000.140 000.074: require('mason-core.fetch') +285.436 000.205 000.065: require('mason-core.managers.cargo.client') +285.472 000.319 000.114: require('mason-core.managers.cargo') +285.581 000.104 000.104: require('mason-core.managers.composer') +285.755 000.169 000.169: require('mason-core.managers.gem') +285.850 000.089 000.089: require('mason-core.managers.git') +286.034 000.095 000.095: require('mason-core.managers.std') +286.124 000.084 000.084: require('mason-core.managers.github.client') +286.134 000.279 000.099: require('mason-core.managers.github') +286.323 000.186 000.186: require('mason-core.managers.go') +286.458 000.129 000.129: require('mason-core.managers.luarocks') +286.603 000.139 000.139: require('mason-core.managers.npm') +286.811 000.202 000.202: require('mason-core.managers.pip3') +286.831 001.746 000.130: require('mason-core.package.version-check') +286.851 003.071 000.124: require('mason-core.package') +287.185 000.212 000.212: require('mason-registry.lua-language-server') +287.599 000.121 000.121: require('mason-registry.clangd') +287.807 000.156 000.156: require('mason-registry.rust-analyzer') +287.971 000.059 000.059: require('mason-core.notify') +288.048 000.070 000.070: require('mason-core.functional.number') +288.105 000.288 000.159: require('mason-lspconfig.api.command') +288.111 012.924 001.940: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +289.627 000.116 000.116: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/man.lua +289.926 012.241: loading rtp plugins +291.669 000.068 000.068: require('Comment.config') +291.770 000.093 000.093: require('Comment.utils') +291.845 000.070 000.070: require('Comment.opfunc') +291.913 000.063 000.063: require('Comment.extra') +291.931 000.454 000.161: require('Comment.api') +292.336 000.918 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +293.020 000.065 000.065: require('luasnip.util.types') +293.097 000.070 000.070: require('luasnip.util.ext_opts') +293.175 000.073 000.073: require('luasnip.extras.filetype_functions') +293.253 000.073 000.073: require('luasnip.session') +293.586 000.123 000.123: require('luasnip.util.util') +293.668 000.075 000.075: require('luasnip.nodes.util') +293.740 000.067 000.067: require('luasnip.util.events') +293.759 000.415 000.150: require('luasnip.nodes.node') +293.874 000.069 000.069: require('luasnip.util.extend_decorator') +293.890 000.632 000.147: require('luasnip.nodes.insertNode') +294.141 000.080 000.080: require('luasnip.util.mark') +294.372 000.092 000.092: require('luasnip.nodes.textNode') +295.150 000.699 000.699: require('luasnip.util._builtin_vars') +295.399 001.020 000.321: require('luasnip.util.environ') +295.489 000.083 000.083: require('luasnip.util.pattern_tokenizer') +295.557 000.063 000.063: require('luasnip.util.dict') +295.649 000.087 000.087: require('luasnip.session.snippet_collection') +295.706 001.558 000.213: require('luasnip.nodes.snippet') +295.735 001.841 000.203: require('luasnip.nodes.choiceNode') +295.954 000.158 000.158: require('luasnip.nodes.functionNode') +296.138 000.175 000.175: require('luasnip.nodes.dynamicNode') +296.263 000.119 000.119: require('luasnip.nodes.restoreNode') +296.351 000.082 000.082: require('luasnip.extras') +298.885 000.081 000.081: require('luasnip.util.str') +298.898 002.540 002.459: require('luasnip.extras.fmt') +298.964 000.061 000.061: require('luasnip.extras.expand_conditions') +299.206 000.074 000.074: require('luasnip.util.parser.neovim_ast') +310.443 000.088 000.088: require('luasnip.util.directed_graph') +310.466 011.416 011.254: require('luasnip.util.parser.ast_utils') +310.629 000.069 000.069: require('luasnip.util.functions') +310.643 000.173 000.103: require('luasnip.util.parser.ast_parser') +310.828 000.181 000.181: require('luasnip.util.parser.neovim_parser') +310.841 011.869 000.099: require('luasnip.util.parser') +310.920 000.075 000.075: require('luasnip.nodes.absolute_indexer') +311.421 018.589 000.756: require('luasnip.config') +311.587 019.067 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +312.464 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +313.335 000.094 000.094: require('indent_blankline/utils') +313.345 000.250 000.155: require('indent_blankline') +313.879 000.080 000.080: require('indent_blankline.commands') +314.049 001.124 000.794: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim +314.476 000.103 000.103: require('lsp-colors') +315.271 000.951 000.848: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +316.489 000.830 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +317.341 000.380 000.380: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +317.862 000.085 000.085: require('cmp.utils.api') +318.005 000.073 000.073: require('cmp.types.cmp') +318.157 000.075 000.075: require('cmp.utils.misc') +318.188 000.177 000.102: require('cmp.types.lsp') +318.250 000.057 000.057: require('cmp.types.vim') +318.255 000.386 000.079: require('cmp.types') +318.323 000.065 000.065: require('cmp.utils.highlight') +318.445 000.056 000.056: require('cmp.utils.debug') +318.463 000.135 000.078: require('cmp.utils.autocmd') +319.108 001.399 000.728: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +319.363 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +319.779 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +320.253 000.163 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +320.855 000.065 000.065: require('nvim-treesitter.statusline') +320.945 000.083 000.083: require('nvim-treesitter.query_predicates') +320.952 000.230 000.082: require('nvim-treesitter') +322.295 000.193 000.193: require('vim.treesitter.highlighter') +322.662 000.704 000.510: require('nvim-treesitter.highlight') +323.417 002.749 001.816: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +323.932 000.256 000.256: require('treesitter-context') +323.942 000.298 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +324.311 000.082 000.082: require('nvim-treesitter-refactor') +324.529 000.327 000.245: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +324.909 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +325.289 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +325.655 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +326.420 000.419 000.419: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +326.828 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +327.883 000.564 000.564: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +328.663 000.487 000.487: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +329.274 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +330.130 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +330.437 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +330.720 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +332.100 010.893: loading packages +333.792 000.490 000.490: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +338.131 005.488 004.998: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +338.944 000.173 000.173: require('cmp.utils.char') +338.960 000.260 000.087: require('cmp.utils.str') +339.037 000.072 000.072: require('cmp.utils.pattern') +339.257 000.059 000.059: require('cmp.utils.buffer') +339.268 000.156 000.097: require('cmp.utils.keymap') +339.279 000.237 000.082: require('cmp.utils.feedkeys') +339.372 000.089 000.089: require('cmp.utils.async') +339.505 000.058 000.058: require('cmp.utils.cache') +339.512 000.135 000.076: require('cmp.context') +339.751 000.077 000.077: require('cmp.config.mapping') +339.918 000.085 000.085: require('cmp.config.compare') +339.924 000.165 000.080: require('cmp.config.default') +339.950 000.350 000.108: require('cmp.config') +340.139 000.066 000.066: require('cmp.matcher') +340.154 000.199 000.133: require('cmp.entry') +340.168 000.653 000.104: require('cmp.source') +340.306 000.058 000.058: require('cmp.utils.event') +340.467 000.084 000.084: require('cmp.utils.window') +340.474 000.163 000.078: require('cmp.view.docs_view') +340.593 000.116 000.116: require('cmp.view.custom_entries_view') +340.706 000.109 000.109: require('cmp.view.wildmenu_entries_view') +340.794 000.083 000.083: require('cmp.view.native_entries_view') +340.869 000.071 000.071: require('cmp.view.ghost_text_view') +340.886 000.715 000.116: require('cmp.view') +340.961 002.378 000.217: require('cmp.core') +341.208 000.064 000.064: require('cmp.config.sources') +341.271 000.055 000.055: require('cmp.config.window') +341.368 002.921 000.423: require('cmp') +341.641 000.060 000.060: require('cmp_buffer.timer') +341.652 000.145 000.085: require('cmp_buffer.buffer') +341.658 000.223 000.078: require('cmp_buffer.source') +341.662 000.289 000.066: require('cmp_buffer') +341.699 003.345 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +342.059 000.148 000.148: require('cmp_cmdline') +342.093 000.222 000.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +342.424 000.070 000.070: require('cmp_nvim_lsp.source') +342.434 000.147 000.076: require('cmp_nvim_lsp') +342.494 000.251 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +342.793 000.115 000.115: require('cmp_path') +342.826 000.184 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +343.121 000.086 000.086: require('cmp_luasnip') +343.190 000.203 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +343.339 001.544: loading after plugins +343.447 000.108: inits 3 +343.452 000.005: reading ShaDa +343.839 000.070 000.070: require('luasnip.loaders._caches') +343.956 000.110 000.110: require('luasnip.util.path') +344.050 000.088 000.088: require('luasnip.loaders.util') +344.269 000.099 000.099: require('luasnip.loaders') +344.305 000.250 000.151: require('luasnip') +344.318 000.637 000.119: require('luasnip.loaders.from_lua') +344.553 000.102 000.102: require('luasnip.nodes.snippetProxy') +344.567 000.203 000.101: require('luasnip.loaders.from_snipmate') +344.694 000.088 000.088: require('luasnip.loaders.from_vscode') +345.712 001.333: opening buffers +345.922 000.210: BufEnter autocommands +345.929 000.007: editing files in windows +363.002 000.669 000.669: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.322 001.322: --- NVIM STARTING --- +029.108 027.786: event init +046.110 017.002: early init +047.930 001.821: locale set +053.675 005.744: init first window +064.058 010.383: inits 1 +064.083 000.025: window checked +064.091 000.008: parsing arguments +075.019 000.133 000.133: require('vim.shared') +075.240 000.108 000.108: require('vim._meta') +075.247 000.218 000.109: require('vim._editor') +075.251 000.404 000.054: require('vim._init_packages') +075.254 010.759: init lua interpreter +075.336 000.082: expanding arguments +077.080 001.744: inits 2 +077.695 000.615: init highlight +077.699 000.004: waiting for UI +080.125 002.426: done waiting for UI +080.175 000.050: init screen for UI +080.470 000.294: init default mappings +080.497 000.027: init default autocommands +091.758 004.623 004.623: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/ftplugin.vim +095.325 001.210 001.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/indent.vim +095.907 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim +095.932 000.182 000.125: sourcing /etc/xdg/nvim/sysinit.vim +111.541 008.988 008.988: require('keys') +115.565 004.013 004.013: require('opts') +120.844 001.016 001.016: require('packer.util') +120.952 004.563 003.547: require('packer') +124.638 001.239 001.239: require('packer.log') +124.655 002.203 000.964: require('packer.async') +126.342 000.685 000.685: require('packer.result') +126.357 001.694 001.009: require('packer.jobs') +126.384 005.338 001.441: require('packer.plugin_utils') +127.605 001.102 001.102: require('packer.snapshot') +129.209 013.625 002.622: require('pack') +145.528 016.305 016.305: require('impatient') +146.779 000.225 000.225: require('vim.treesitter.language') +146.806 000.728 000.503: require('vim.treesitter.query') +148.454 000.354 000.354: require('vim.treesitter.languagetree') +148.543 000.890 000.536: require('vim.treesitter') +148.929 001.667 000.777: require('nvim-treesitter.parsers') +149.095 000.158 000.158: require('nvim-treesitter.utils') +149.110 002.017 000.192: require('nvim-treesitter.ts_utils') +149.127 002.315 000.298: require('nvim-treesitter.tsrange') +149.233 000.101 000.101: require('nvim-treesitter.caching') +149.259 003.314 000.170: require('nvim-treesitter.query') +149.296 003.607 000.293: require('nvim-treesitter.configs') +149.827 000.157 000.157: require('nvim-treesitter.info') +150.068 000.234 000.234: require('nvim-treesitter.shell_command_selectors') +150.133 000.656 000.264: require('nvim-treesitter.install') +198.197 052.650 048.387: require('plugins.treesitter') +198.978 000.175 000.175: require('telescope._extensions') +198.988 000.419 000.244: require('telescope') +199.670 000.080 000.080: require('plenary.bit') +199.751 000.074 000.074: require('plenary.functional') +199.872 000.035 000.035: require('ffi') +199.897 000.444 000.255: require('plenary.path') +199.911 000.544 000.100: require('plenary.strings') +199.991 000.077 000.077: require('telescope.deprecated') +200.551 000.253 000.253: require('plenary.log') +200.660 000.556 000.304: require('telescope.log') +200.909 000.124 000.124: require('plenary.job') +200.988 000.073 000.073: require('telescope.state') +201.011 000.344 000.147: require('telescope.utils') +201.022 001.025 000.124: require('telescope.sorters') +201.131 000.085 000.085: require('vim.inspect') +201.401 000.009 000.009: require('vim.F') +205.141 005.915 004.175: require('telescope.config') +205.454 000.098 000.098: require('plenary.window.border') +206.220 000.759 000.759: require('plenary.window') +206.291 000.062 000.062: require('plenary.popup.utils') +206.300 001.140 000.221: require('plenary.popup') +206.374 000.070 000.070: require('telescope.pickers.scroller') +206.471 000.092 000.092: require('telescope.actions.state') +206.548 000.072 000.072: require('telescope.actions.utils') +206.700 000.070 000.070: require('telescope.actions.mt') +206.731 000.178 000.108: require('telescope.actions.set') +206.953 000.091 000.091: require('telescope.config.resolve') +206.959 000.171 000.080: require('telescope.pickers.entry_display') +207.019 000.056 000.056: require('telescope.from_entry') +207.478 008.486 000.793: require('telescope.actions') +208.123 000.061 000.061: require('plenary.tbl') +208.134 000.133 000.073: require('plenary.vararg.rotate') +208.138 000.196 000.062: require('plenary.vararg') +208.205 000.064 000.064: require('plenary.errors') +208.218 000.340 000.080: require('plenary.async.async') +208.295 000.074 000.074: require('plenary.async.structs') +208.310 000.514 000.100: require('plenary.async.control') +208.644 000.244 000.244: require('telescope.make_entry') +208.929 000.077 000.077: require('plenary.async.util') +208.935 000.142 000.066: require('plenary.async.tests') +208.940 000.220 000.078: require('plenary.async') +208.944 000.295 000.075: require('telescope.finders.async_static_finder') +209.164 000.060 000.060: require('plenary.class') +209.192 000.177 000.117: require('telescope._') +209.197 000.250 000.073: require('telescope.finders.async_oneshot_finder') +209.270 000.070 000.070: require('telescope.finders.async_job_finder') +209.280 000.965 000.106: require('telescope.finders') +209.749 000.157 000.157: require('telescope.debounce') +209.958 000.201 000.201: require('telescope.mappings') +210.050 000.086 000.086: require('telescope.pickers.highlights') +210.123 000.067 000.067: require('telescope.pickers.window') +210.263 000.066 000.066: require('telescope.algos.linked_list') +210.271 000.143 000.078: require('telescope.entry_manager') +210.337 000.064 000.064: require('telescope.pickers.multi') +210.372 001.087 000.369: require('telescope.pickers') +210.386 002.716 000.149: require('telescope.builtin.__lsp') +210.436 002.947 000.231: require('telescope.builtin') +210.773 000.249 000.249: require('fzf_lib') +210.783 000.341 000.092: require('telescope._extensions.fzf') +211.122 000.091 000.091: require('telescope._extensions.file_browser.utils') +211.200 000.319 000.229: require('telescope._extensions.file_browser.actions') +211.438 000.145 000.145: require('telescope._extensions.file_browser.make_entry') +211.592 000.147 000.147: require('plenary.scandir') +211.643 000.439 000.147: require('telescope._extensions.file_browser.finders') +211.726 000.078 000.078: require('telescope._extensions.file_browser.picker') +211.821 000.091 000.091: require('telescope._extensions.file_browser.config') +211.827 001.030 000.102: require('telescope._extensions.file_browser') +215.018 000.012 000.012: require('vim.keymap') +215.222 017.012 003.777: require('plugins.telescope') +216.619 000.066 000.066: require('notify.util.queue') +216.628 000.405 000.339: require('notify.util') +216.852 000.220 000.220: require('notify.config.highlights') +216.866 000.729 000.104: require('notify.config') +217.028 000.158 000.158: require('notify.stages') +217.107 000.072 000.072: require('notify.service.notification') +217.362 000.090 000.090: require('notify.animate.spring') +217.368 000.164 000.074: require('notify.animate') +217.376 000.264 000.100: require('notify.windows') +217.666 000.105 000.105: require('notify.service.buffer.highlights') +217.677 000.209 000.104: require('notify.service.buffer') +217.683 000.304 000.095: require('notify.service') +217.796 000.110 000.110: require('notify.stages.util') +217.806 001.754 000.117: require('notify') +217.895 000.086 000.086: require('nvim-tree.iterators.node-iterator') +217.998 002.054 000.213: require('nvim-tree.utils') +218.018 002.239 000.185: require('nvim-tree.events') +218.391 000.101 000.101: require('nvim-tree.log') +218.565 000.167 000.167: require('nvim-tree.git.utils') +218.670 000.100 000.100: require('nvim-tree.git.runner') +218.777 000.102 000.102: require('nvim-tree.watcher') +218.810 000.653 000.184: require('nvim-tree.git') +218.907 000.093 000.093: require('nvim-tree.explorer.watch') +218.987 000.075 000.075: require('nvim-tree.explorer.common') +219.196 000.087 000.087: require('nvim-tree.explorer.node-builders') +219.280 000.078 000.078: require('nvim-tree.explorer.sorters') +219.363 000.078 000.078: require('nvim-tree.explorer.filters') +219.691 000.235 000.235: require('nvim-tree.view') +219.701 000.334 000.099: require('nvim-tree.live-filter') +219.708 000.677 000.100: require('nvim-tree.explorer.explore') +219.838 000.127 000.127: require('nvim-tree.explorer.reload') +219.849 001.827 000.201: require('nvim-tree.explorer') +219.857 004.139 000.073: require('nvim-tree.core') +219.989 000.129 000.129: require('nvim-tree.diagnostics') +220.084 000.089 000.089: require('nvim-tree.renderer.components.padding') +220.180 000.091 000.091: require('nvim-tree.renderer.components.icons') +220.281 000.097 000.097: require('nvim-tree.renderer.components.full-name') +220.366 000.080 000.080: require('nvim-tree.renderer.help') +220.500 000.128 000.128: require('nvim-tree.renderer.components.git') +220.628 000.123 000.123: require('nvim-tree.renderer.builder') +220.724 000.091 000.091: require('nvim-tree.marks') +220.744 005.108 000.142: require('nvim-tree.renderer') +220.838 000.084 000.084: require('nvim-tree.actions.tree-modifiers.collapse-all') +220.936 000.093 000.093: require('nvim-tree.actions.root.dir-up') +221.036 000.096 000.096: require('nvim-tree.actions.root.change-dir') +221.124 000.082 000.082: require('nvim-tree.actions.reloaders.reloaders') +221.213 000.083 000.083: require('nvim-tree.actions.finders.find-file') +221.219 005.692 000.146: require('nvim-tree.lib') +221.342 000.120 000.120: require('nvim-tree.colors') +221.500 000.151 000.151: require('nvim-tree.legacy') +221.623 000.118 000.118: require('nvim-tree.actions.fs.copy-paste') +221.826 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') +221.919 000.087 000.087: require('nvim-tree.actions.tree-modifiers.toggles') +222.020 000.093 000.093: require('nvim-tree.actions.fs.create-file') +222.111 000.086 000.086: require('nvim-tree.actions.fs.rename-file') +222.241 000.124 000.124: require('nvim-tree.actions.fs.trash') +222.345 000.098 000.098: require('nvim-tree.actions.fs.remove-file') +222.427 000.075 000.075: require('nvim-tree.actions.moves.parent') +222.511 000.079 000.079: require('nvim-tree.actions.moves.sibling') +222.593 000.076 000.076: require('nvim-tree.actions.moves.item') +222.688 000.082 000.082: require('nvim-tree.actions.finders.search-node') +222.768 000.074 000.074: require('nvim-tree.actions.node.run-command') +222.863 000.091 000.091: require('nvim-tree.actions.node.file-popup') +222.971 000.103 000.103: require('nvim-tree.actions.node.system-open') +223.078 000.099 000.099: require('nvim-tree.marks.bulk-move') +223.086 001.453 000.198: require('nvim-tree.actions.dispatch') +223.158 007.841 000.307: require('nvim-tree') +223.239 000.076 000.076: require('nvim-tree.config') +227.868 000.224 000.224: require('nvim-tree.actions') +228.009 000.128 000.128: require('nvim-tree.actions.node.open-file') +232.689 000.182 000.182: require('nvim-tree.marks.navigation') +232.700 000.678 000.496: require('nvim-tree.api') +232.818 001.097 000.419: require('nvim-tree.keymap') +234.928 001.392 001.392: require('nvim-web-devicons') +238.932 023.703 012.946: require('plugins.nvim-tree') +239.221 000.075 000.075: require('lualine_require') +239.776 000.738 000.663: require('lualine') +239.865 000.078 000.078: require('plugins.linecolor') +248.350 000.085 000.085: require('lualine.utils.mode') +250.201 011.260 010.360: require('plugins.lualine') +250.210 154.176 006.621: sourcing /home/sxrdusr/.config/nvim/init.lua +250.227 009.539: sourcing vimrc file(s) +250.562 000.098 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +251.765 000.124 000.124: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.lua +253.184 001.213 001.213: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.vim +255.318 000.259 000.259: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/synload.vim +255.565 001.872 001.613: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/syntax.vim +261.462 001.488 001.488: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/gzip.vim +261.738 000.176 000.176: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/health.vim +264.612 001.404 001.404: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +265.083 003.248 001.845: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchit.vim +265.547 000.397 000.397: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchparen.vim +265.699 000.083 000.083: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/netrwPlugin.vim +266.102 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +266.122 000.357 000.335: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/rplugin.vim +266.369 000.188 000.188: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/shada.vim +266.530 000.085 000.085: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/spellfile.vim +266.916 000.319 000.319: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tarPlugin.vim +267.194 000.210 000.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tohtml.vim +267.330 000.070 000.070: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tutor.vim +268.418 001.023 001.023: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/zipPlugin.vim +269.943 001.270 001.270: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +271.634 000.129 000.129: require('lspsaga') +271.896 000.081 000.081: require('lspsaga.window') +271.917 000.184 000.103: require('lspsaga.libs') +272.998 000.411 000.411: require('vim.lsp.log') +273.656 000.651 000.651: require('vim.lsp.protocol') +274.070 000.175 000.175: require('vim.lsp._snippet') +274.203 000.126 000.126: require('vim.highlight') +274.231 000.567 000.267: require('vim.lsp.util') +274.265 001.891 000.262: require('vim.lsp.handlers') +274.453 000.184 000.184: require('vim.lsp.rpc') +274.578 000.119 000.119: require('vim.lsp.sync') +274.751 000.165 000.165: require('vim.lsp.buf') +274.881 000.123 000.123: require('vim.lsp.diagnostic') +275.010 000.123 000.123: require('vim.lsp.codelens') +275.159 003.151 000.545: require('vim.lsp') +275.236 000.070 000.070: require('lspsaga.wrap') +275.247 003.325 000.105: require('lspsaga.codeaction') +275.287 003.644 000.134: require('lspsaga.lightbulb') +275.414 000.089 000.089: require('lspsaga.lspkind') +275.590 000.054 000.054: require('mason-core.path') +275.607 000.128 000.074: require('mason.settings') +275.797 000.052 000.052: require('mason-core.functional.data') +275.805 000.118 000.066: require('mason-core.functional.function') +275.841 000.229 000.112: require('mason-core.platform') +275.846 000.421 000.063: require('mason') +276.050 000.105 000.105: require('mason-core.functional') +276.160 000.089 000.089: require('mason-core.functional.list') +276.208 000.340 000.145: require('mason.api.command') +276.402 000.108 000.108: require('mason-core.log') +276.410 000.197 000.090: require('mason-lspconfig') +276.490 000.077 000.077: require('mason-lspconfig.settings') +276.585 000.076 000.076: require('mason-lspconfig.lspconfig_hook') +276.984 000.394 000.394: require('lspconfig.util') +277.217 000.066 000.066: require('mason-core.functional.table') +277.322 000.301 000.235: require('mason-lspconfig.mappings.server') +277.585 000.082 000.082: require('mason-core.async') +277.652 000.061 000.061: require('mason-core.async.uv') +277.666 000.262 000.119: require('mason-core.fs') +277.743 000.073 000.073: require('mason-core.optional') +277.812 000.064 000.064: require('mason-core.EventEmitter') +277.971 000.155 000.155: require('mason-registry.index') +277.991 000.663 000.110: require('mason-registry') +278.063 000.068 000.068: require('mason-lspconfig.server_config_extensions') +278.159 000.090 000.090: require('lspconfig.configs') +278.284 000.081 000.081: require('lspconfig.server_configurations.omnisharp') +278.517 000.076 000.076: require('mason-lspconfig.ensure_installed') +278.766 000.073 000.073: require('mason-core.result') +279.162 000.221 000.221: require('mason-core.process') +279.239 000.069 000.069: require('mason-core.functional.relation') +279.313 000.067 000.067: require('mason-core.functional.logic') +279.329 000.457 000.101: require('mason-core.spawn') +279.415 000.081 000.081: require('mason-core.receipt') +279.500 000.070 000.070: require('mason-core.functional.string') +279.530 000.758 000.149: require('mason-core.installer.context') +279.606 000.072 000.072: require('mason-core.installer.linker') +279.689 000.079 000.079: require('mason-core.async.control') +279.698 001.086 000.104: require('mason-core.installer') +279.814 000.113 000.113: require('mason-core.installer.handle') +280.159 000.069 000.069: require('mason-core.managers.powershell') +280.165 000.145 000.076: require('mason-core.fetch') +280.169 000.203 000.059: require('mason-core.managers.cargo.client') +280.199 000.311 000.107: require('mason-core.managers.cargo') +280.306 000.103 000.103: require('mason-core.managers.composer') +280.419 000.108 000.108: require('mason-core.managers.gem') +280.507 000.083 000.083: require('mason-core.managers.git') +280.683 000.090 000.090: require('mason-core.managers.std') +280.766 000.078 000.078: require('mason-core.managers.github.client') +280.780 000.268 000.100: require('mason-core.managers.github') +280.887 000.104 000.104: require('mason-core.managers.go') +281.031 000.139 000.139: require('mason-core.managers.luarocks') +281.318 000.281 000.281: require('mason-core.managers.npm') +281.444 000.120 000.120: require('mason-core.managers.pip3') +281.459 001.638 000.121: require('mason-core.package.version-check') +281.468 002.944 000.107: require('mason-core.package') +281.574 000.088 000.088: require('mason-registry.lua-language-server') +281.992 000.116 000.116: require('mason-registry.clangd') +282.246 000.198 000.198: require('mason-registry.rust-analyzer') +282.408 000.057 000.057: require('mason-core.notify') +282.484 000.066 000.066: require('mason-core.functional.number') +282.540 000.284 000.160: require('mason-lspconfig.api.command') +282.547 012.419 002.143: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +283.519 000.094 000.094: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/man.lua +283.761 008.799: loading rtp plugins +285.454 000.072 000.072: require('Comment.config') +285.549 000.088 000.088: require('Comment.utils') +285.625 000.070 000.070: require('Comment.opfunc') +285.695 000.065 000.065: require('Comment.extra') +285.711 000.458 000.163: require('Comment.api') +286.065 000.870 000.412: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +286.768 000.069 000.069: require('luasnip.util.types') +286.846 000.071 000.071: require('luasnip.util.ext_opts') +286.923 000.072 000.072: require('luasnip.extras.filetype_functions') +286.996 000.068 000.068: require('luasnip.session') +287.298 000.115 000.115: require('luasnip.util.util') +287.380 000.076 000.076: require('luasnip.nodes.util') +287.446 000.060 000.060: require('luasnip.util.events') +287.467 000.372 000.121: require('luasnip.nodes.node') +287.583 000.069 000.069: require('luasnip.util.extend_decorator') +287.594 000.593 000.152: require('luasnip.nodes.insertNode') +287.879 000.086 000.086: require('luasnip.util.mark') +288.102 000.087 000.087: require('luasnip.nodes.textNode') +288.965 000.784 000.784: require('luasnip.util._builtin_vars') +289.156 001.047 000.263: require('luasnip.util.environ') +289.245 000.082 000.082: require('luasnip.util.pattern_tokenizer') +289.318 000.068 000.068: require('luasnip.util.dict') +289.407 000.084 000.084: require('luasnip.session.snippet_collection') +289.464 001.578 000.210: require('luasnip.nodes.snippet') +289.482 001.884 000.220: require('luasnip.nodes.choiceNode') +289.656 000.108 000.108: require('luasnip.nodes.functionNode') +289.832 000.169 000.169: require('luasnip.nodes.dynamicNode') +289.954 000.115 000.115: require('luasnip.nodes.restoreNode') +291.929 001.969 001.969: require('luasnip.extras') +292.090 000.062 000.062: require('luasnip.util.str') +292.099 000.159 000.097: require('luasnip.extras.fmt') +292.163 000.060 000.060: require('luasnip.extras.expand_conditions') +292.402 000.072 000.072: require('luasnip.util.parser.neovim_ast') +302.428 000.095 000.095: require('luasnip.util.directed_graph') +302.448 010.211 010.044: require('luasnip.util.parser.ast_utils') +302.614 000.071 000.071: require('luasnip.util.functions') +302.625 000.171 000.100: require('luasnip.util.parser.ast_parser') +302.778 000.150 000.150: require('luasnip.util.parser.neovim_parser') +302.795 010.626 000.094: require('luasnip.util.parser') +302.866 000.066 000.066: require('luasnip.nodes.absolute_indexer') +303.377 016.798 000.767: require('luasnip.config') +303.545 017.302 000.504: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +304.431 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +305.901 000.877 000.877: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +306.799 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +307.353 000.100 000.100: require('cmp.utils.api') +307.486 000.063 000.063: require('cmp.types.cmp') +307.645 000.078 000.078: require('cmp.utils.misc') +307.676 000.183 000.105: require('cmp.types.lsp') +307.736 000.056 000.056: require('cmp.types.vim') +307.742 000.382 000.079: require('cmp.types') +307.810 000.065 000.065: require('cmp.utils.highlight') +307.933 000.056 000.056: require('cmp.utils.debug') +307.951 000.136 000.080: require('cmp.utils.autocmd') +308.471 001.284 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +308.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +309.148 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +309.640 000.196 000.196: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +310.274 000.069 000.069: require('nvim-treesitter.statusline') +310.361 000.080 000.080: require('nvim-treesitter.query_predicates') +310.368 000.231 000.083: require('nvim-treesitter') +311.777 000.241 000.241: require('vim.treesitter.highlighter') +312.243 000.859 000.618: require('nvim-treesitter.highlight') +312.932 002.859 001.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +313.468 000.264 000.264: require('treesitter-context') +313.478 000.308 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +313.858 000.083 000.083: require('nvim-treesitter-refactor') +314.072 000.327 000.244: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +314.445 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +314.840 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +315.176 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +315.945 000.415 000.415: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim +316.320 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +317.353 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +318.205 000.523 000.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +318.818 000.355 000.355: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +319.671 000.596 000.596: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim +319.991 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +320.278 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +321.792 010.515: loading packages +323.446 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim +327.698 005.367 004.898: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim +328.389 000.115 000.115: require('cmp.utils.char') +328.404 000.200 000.085: require('cmp.utils.str') +328.474 000.065 000.065: require('cmp.utils.pattern') +328.690 000.060 000.060: require('cmp.utils.buffer') +328.713 000.165 000.105: require('cmp.utils.keymap') +328.722 000.244 000.078: require('cmp.utils.feedkeys') +328.808 000.082 000.082: require('cmp.utils.async') +328.940 000.058 000.058: require('cmp.utils.cache') +328.948 000.134 000.076: require('cmp.context') +329.187 000.077 000.077: require('cmp.config.mapping') +329.353 000.084 000.084: require('cmp.config.compare') +329.359 000.164 000.080: require('cmp.config.default') +329.384 000.345 000.104: require('cmp.config') +329.559 000.066 000.066: require('cmp.matcher') +329.570 000.182 000.115: require('cmp.entry') +329.584 000.633 000.106: require('cmp.source') +329.722 000.058 000.058: require('cmp.utils.event') +329.918 000.086 000.086: require('cmp.utils.window') +329.930 000.203 000.117: require('cmp.view.docs_view') +330.048 000.115 000.115: require('cmp.view.custom_entries_view') +330.163 000.110 000.110: require('cmp.view.wildmenu_entries_view') +330.251 000.082 000.082: require('cmp.view.native_entries_view') +330.331 000.076 000.076: require('cmp.view.ghost_text_view') +330.346 000.758 000.114: require('cmp.view') +330.416 002.325 000.209: require('cmp.core') +330.712 000.066 000.066: require('cmp.config.sources') +330.779 000.059 000.059: require('cmp.config.window') +330.877 002.905 000.453: require('cmp') +331.159 000.067 000.067: require('cmp_buffer.timer') +331.171 000.152 000.086: require('cmp_buffer.buffer') +331.177 000.233 000.081: require('cmp_buffer.source') +331.181 000.299 000.066: require('cmp_buffer') +331.276 003.361 000.157: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +331.654 000.153 000.153: require('cmp_cmdline') +331.685 000.231 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +332.024 000.071 000.071: require('cmp_nvim_lsp.source') +332.032 000.150 000.079: require('cmp_nvim_lsp') +332.086 000.248 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +332.388 000.114 000.114: require('cmp_path') +332.423 000.187 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +332.706 000.086 000.086: require('cmp_luasnip') +332.774 000.201 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +332.928 001.541: loading after plugins +332.955 000.027: inits 3 +332.969 000.014: reading ShaDa +333.378 000.068 000.068: require('luasnip.loaders._caches') +333.497 000.113 000.113: require('luasnip.util.path') +333.589 000.086 000.086: require('luasnip.loaders.util') +333.813 000.099 000.099: require('luasnip.loaders') +333.855 000.260 000.161: require('luasnip') +333.862 000.635 000.108: require('luasnip.loaders.from_lua') +334.083 000.069 000.069: require('luasnip.nodes.snippetProxy') +334.095 000.168 000.099: require('luasnip.loaders.from_snipmate') +334.263 000.091 000.091: require('luasnip.loaders.from_vscode') +334.302 000.439: opening buffers +334.522 000.221: BufEnter autocommands +334.529 000.007: editing files in windows +349.099 000.632 000.632: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.170 001.170: --- NVIM STARTING --- +030.530 029.361: event init +047.939 017.409: early init +049.639 001.699: locale set +055.163 005.524: init first window +064.966 009.803: inits 1 +064.989 000.023: window checked +064.997 000.009: parsing arguments +076.902 000.266 000.266: require('vim.shared') +077.425 000.241 000.241: require('vim._meta') +077.438 000.513 000.273: require('vim._editor') +077.446 000.901 000.121: require('vim._init_packages') +077.454 011.555: init lua interpreter +077.612 000.158: expanding arguments +079.498 001.886: inits 2 +080.971 001.472: init highlight +080.983 000.012: waiting for UI +084.759 003.776: done waiting for UI +084.791 000.032: init screen for UI +085.030 000.239: init default mappings +085.056 000.027: init default autocommands +095.848 004.168 004.168: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/ftplugin.vim +098.579 001.149 001.149: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/indent.vim +099.101 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim +099.127 000.187 000.129: sourcing /etc/xdg/nvim/sysinit.vim +113.526 006.784 006.784: require('keys') +118.451 004.902 004.902: require('opts') +123.870 001.098 001.098: require('packer.util') +124.002 004.774 003.676: require('packer') +128.144 001.664 001.664: require('packer.log') +128.165 002.615 000.951: require('packer.async') +129.891 000.733 000.733: require('packer.result') +129.909 001.735 001.003: require('packer.jobs') +129.934 005.826 001.476: require('packer.plugin_utils') +131.122 001.143 001.143: require('packer.snapshot') +132.785 014.316 002.573: require('pack') +150.741 017.940 017.940: require('impatient') +152.207 000.384 000.384: require('vim.treesitter.language') +152.241 001.024 000.640: require('vim.treesitter.query') +154.123 000.382 000.382: require('vim.treesitter.languagetree') +154.235 000.878 000.495: require('vim.treesitter') +154.661 001.800 000.922: require('nvim-treesitter.parsers') +154.846 000.176 000.176: require('nvim-treesitter.utils') +154.867 002.236 000.260: require('nvim-treesitter.ts_utils') +154.881 002.633 000.396: require('nvim-treesitter.tsrange') +154.997 000.111 000.111: require('nvim-treesitter.caching') +155.031 003.990 000.223: require('nvim-treesitter.query') +155.071 004.197 000.207: require('nvim-treesitter.configs') +155.678 000.124 000.124: require('nvim-treesitter.info') +155.935 000.250 000.250: require('nvim-treesitter.shell_command_selectors') +156.003 000.658 000.284: require('nvim-treesitter.install') +196.263 045.502 040.647: require('plugins.treesitter') +197.005 000.512 000.512: require('telescope._extensions') +197.018 000.617 000.105: require('telescope') +199.073 000.401 000.401: require('plenary.bit') +199.180 000.097 000.097: require('plenary.functional') +199.240 000.036 000.036: require('ffi') +199.268 000.818 000.284: require('plenary.path') +199.284 001.226 000.408: require('plenary.strings') +199.445 000.157 000.157: require('telescope.deprecated') +200.029 000.248 000.248: require('plenary.log') +200.134 000.426 000.178: require('telescope.log') +200.532 000.213 000.213: require('plenary.job') +200.629 000.089 000.089: require('telescope.state') +200.646 000.505 000.204: require('telescope.utils') +200.657 001.204 000.273: require('telescope.sorters') +200.775 000.085 000.085: require('vim.inspect') +201.684 000.015 000.015: require('vim.F') +205.169 007.578 004.892: require('telescope.config') +205.905 000.559 000.559: require('plenary.window.border') +206.101 000.187 000.187: require('plenary.window') +206.179 000.070 000.070: require('plenary.popup.utils') +206.188 001.009 000.193: require('plenary.popup') +206.310 000.117 000.117: require('telescope.pickers.scroller') +206.392 000.076 000.076: require('telescope.actions.state') +206.466 000.069 000.069: require('telescope.actions.utils') +206.670 000.115 000.115: require('telescope.actions.mt') +206.709 000.238 000.123: require('telescope.actions.set') +206.910 000.069 000.069: require('telescope.config.resolve') +206.917 000.151 000.082: require('telescope.pickers.entry_display') +207.087 000.167 000.167: require('telescope.from_entry') +207.560 010.538 001.131: require('telescope.actions') +208.168 000.061 000.061: require('plenary.tbl') +208.181 000.140 000.079: require('plenary.vararg.rotate') +208.185 000.204 000.064: require('plenary.vararg') +208.245 000.057 000.057: require('plenary.errors') +208.257 000.341 000.080: require('plenary.async.async') +208.335 000.075 000.075: require('plenary.async.structs') +208.347 000.510 000.095: require('plenary.async.control') +208.643 000.208 000.208: require('telescope.make_entry') +208.923 000.079 000.079: require('plenary.async.util') +208.929 000.145 000.066: require('plenary.async.tests') +208.934 000.214 000.069: require('plenary.async') +208.939 000.290 000.075: require('telescope.finders.async_static_finder') +209.161 000.064 000.064: require('plenary.class') +209.184 000.169 000.105: require('telescope._') +209.189 000.247 000.079: require('telescope.finders.async_oneshot_finder') +209.264 000.072 000.072: require('telescope.finders.async_job_finder') +209.274 000.922 000.105: require('telescope.finders') +209.542 000.077 000.077: require('telescope.debounce') +209.743 000.195 000.195: require('telescope.mappings') +209.838 000.088 000.088: require('telescope.pickers.highlights') +209.914 000.071 000.071: require('telescope.pickers.window') +210.064 000.074 000.074: require('telescope.algos.linked_list') +210.072 000.153 000.080: require('telescope.entry_manager') +210.141 000.066 000.066: require('telescope.pickers.multi') +210.172 000.894 000.244: require('telescope.pickers') +210.187 002.467 000.140: require('telescope.builtin.__lsp') +210.211 002.643 000.176: require('telescope.builtin') +210.537 000.239 000.239: require('fzf_lib') +210.552 000.335 000.096: require('telescope._extensions.fzf') +210.882 000.094 000.094: require('telescope._extensions.file_browser.utils') +210.984 000.343 000.249: require('telescope._extensions.file_browser.actions') +211.232 000.144 000.144: require('telescope._extensions.file_browser.make_entry') +211.387 000.149 000.149: require('plenary.scandir') +211.441 000.452 000.159: require('telescope._extensions.file_browser.finders') +211.528 000.082 000.082: require('telescope._extensions.file_browser.picker') +211.669 000.136 000.136: require('telescope._extensions.file_browser.config') +211.676 001.113 000.101: require('telescope._extensions.file_browser') +215.882 000.019 000.019: require('vim.keymap') +216.141 019.866 004.600: require('plugins.telescope') +217.337 000.107 000.107: require('notify.util.queue') +217.352 000.200 000.092: require('notify.util') +217.591 000.235 000.235: require('notify.config.highlights') +217.607 000.539 000.104: require('notify.config') +217.684 000.073 000.073: require('notify.stages') +217.757 000.067 000.067: require('notify.service.notification') +218.011 000.090 000.090: require('notify.animate.spring') +218.017 000.152 000.062: require('notify.animate') +218.024 000.263 000.111: require('notify.windows') +218.321 000.139 000.139: require('notify.service.buffer.highlights') +218.332 000.232 000.093: require('notify.service.buffer') +218.340 000.312 000.080: require('notify.service') +218.468 000.126 000.126: require('notify.stages.util') +218.481 001.512 000.133: require('notify') +218.572 000.087 000.087: require('nvim-tree.iterators.node-iterator') +218.665 001.808 000.209: require('nvim-tree.utils') +218.683 001.902 000.094: require('nvim-tree.events') +218.980 000.091 000.091: require('nvim-tree.log') +219.156 000.170 000.170: require('nvim-tree.git.utils') +219.354 000.192 000.192: require('nvim-tree.git.runner') +219.493 000.134 000.134: require('nvim-tree.watcher') +219.506 000.725 000.138: require('nvim-tree.git') +219.640 000.130 000.130: require('nvim-tree.explorer.watch') +219.762 000.117 000.117: require('nvim-tree.explorer.common') +220.044 000.111 000.111: require('nvim-tree.explorer.node-builders') +220.134 000.084 000.084: require('nvim-tree.explorer.sorters') +220.217 000.078 000.078: require('nvim-tree.explorer.filters') +220.565 000.247 000.247: require('nvim-tree.view') +220.581 000.359 000.112: require('nvim-tree.live-filter') +220.588 000.766 000.134: require('nvim-tree.explorer.explore') +220.709 000.117 000.117: require('nvim-tree.explorer.reload') +220.718 002.031 000.176: require('nvim-tree.explorer') +220.726 004.007 000.074: require('nvim-tree.core') +220.909 000.180 000.180: require('nvim-tree.diagnostics') +221.015 000.099 000.099: require('nvim-tree.renderer.components.padding') +221.118 000.098 000.098: require('nvim-tree.renderer.components.icons') +221.226 000.103 000.103: require('nvim-tree.renderer.components.full-name') +221.318 000.088 000.088: require('nvim-tree.renderer.help') +221.462 000.138 000.138: require('nvim-tree.renderer.components.git') +221.608 000.142 000.142: require('nvim-tree.renderer.builder') +221.714 000.101 000.101: require('nvim-tree.marks') +221.737 005.101 000.146: require('nvim-tree.renderer') +221.833 000.087 000.087: require('nvim-tree.actions.tree-modifiers.collapse-all') +221.937 000.098 000.098: require('nvim-tree.actions.root.dir-up') +222.038 000.097 000.097: require('nvim-tree.actions.root.change-dir') +222.133 000.090 000.090: require('nvim-tree.actions.reloaders.reloaders') +222.232 000.093 000.093: require('nvim-tree.actions.finders.find-file') +222.237 005.683 000.118: require('nvim-tree.lib') +222.366 000.125 000.125: require('nvim-tree.colors') +222.542 000.170 000.170: require('nvim-tree.legacy') +222.681 000.133 000.133: require('nvim-tree.actions.fs.copy-paste') +222.892 000.091 000.091: require('nvim-tree.actions.tree-modifiers.expand-all') +223.020 000.122 000.122: require('nvim-tree.actions.tree-modifiers.toggles') +223.130 000.103 000.103: require('nvim-tree.actions.fs.create-file') +223.238 000.102 000.102: require('nvim-tree.actions.fs.rename-file') +223.383 000.139 000.139: require('nvim-tree.actions.fs.trash') +223.530 000.141 000.141: require('nvim-tree.actions.fs.remove-file') +223.668 000.128 000.128: require('nvim-tree.actions.moves.parent') +223.754 000.081 000.081: require('nvim-tree.actions.moves.sibling') +223.838 000.078 000.078: require('nvim-tree.actions.moves.item') +223.939 000.092 000.092: require('nvim-tree.actions.finders.search-node') +224.022 000.078 000.078: require('nvim-tree.actions.node.run-command') +224.119 000.092 000.092: require('nvim-tree.actions.node.file-popup') +224.227 000.103 000.103: require('nvim-tree.actions.node.system-open') +224.338 000.098 000.098: require('nvim-tree.marks.bulk-move') +224.347 001.659 000.211: require('nvim-tree.actions.dispatch') +224.407 008.093 000.322: require('nvim-tree') +224.486 000.074 000.074: require('nvim-tree.config') +229.437 000.237 000.237: require('nvim-tree.actions') +229.603 000.154 000.154: require('nvim-tree.actions.node.open-file') +233.354 000.233 000.233: require('nvim-tree.marks.navigation') +233.364 000.784 000.551: require('nvim-tree.api') +233.479 001.040 000.255: require('nvim-tree.keymap') +236.336 002.170 002.170: require('nvim-web-devicons') +240.525 024.376 012.609: require('plugins.nvim-tree') +240.824 000.077 000.077: require('lualine_require') +241.367 000.729 000.652: require('lualine') +241.438 000.064 000.064: require('plugins.linecolor') +246.560 000.082 000.082: require('lualine.utils.mode') +253.179 012.644 011.770: require('plugins.lualine') +253.188 153.957 007.627: sourcing /home/sxrdusr/.config/nvim/init.lua +253.205 008.688: sourcing vimrc file(s) +253.467 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +254.341 000.051 000.051: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.lua +255.729 001.187 001.187: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.vim +257.642 000.267 000.267: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/synload.vim +257.880 001.755 001.488: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/syntax.vim +263.910 001.409 001.409: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/gzip.vim +264.075 000.066 000.066: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/health.vim +267.945 002.388 002.388: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +268.522 004.362 001.974: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchit.vim +269.029 000.421 000.421: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchparen.vim +269.214 000.092 000.092: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/netrwPlugin.vim +269.707 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +269.729 000.427 000.394: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/rplugin.vim +270.014 000.201 000.201: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/shada.vim +270.210 000.104 000.104: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/spellfile.vim +270.625 000.323 000.323: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tarPlugin.vim +270.959 000.232 000.232: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tohtml.vim +271.133 000.083 000.083: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tutor.vim +272.220 000.996 000.996: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/zipPlugin.vim +273.782 001.296 001.296: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +275.117 001.158 001.158: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +275.996 000.097 000.097: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/man.lua +276.202 008.682: loading rtp plugins +277.568 000.100 000.100: require('Comment.config') +277.655 000.079 000.079: require('Comment.utils') +277.724 000.064 000.064: require('Comment.opfunc') +277.788 000.059 000.059: require('Comment.extra') +277.800 000.452 000.150: require('Comment.api') +278.245 000.948 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +278.890 000.062 000.062: require('luasnip.util.types') +279.005 000.108 000.108: require('luasnip.util.ext_opts') +279.079 000.068 000.068: require('luasnip.extras.filetype_functions') +279.148 000.065 000.065: require('luasnip.session') +279.402 000.098 000.098: require('luasnip.util.util') +279.473 000.066 000.066: require('luasnip.nodes.util') +279.534 000.056 000.056: require('luasnip.util.events') +279.547 000.319 000.099: require('luasnip.nodes.node') +279.674 000.069 000.069: require('luasnip.util.extend_decorator') +279.686 000.533 000.146: require('luasnip.nodes.insertNode') +279.919 000.074 000.074: require('luasnip.util.mark') +280.169 000.139 000.139: require('luasnip.nodes.textNode') +281.040 000.795 000.795: require('luasnip.util._builtin_vars') +281.351 001.174 000.379: require('luasnip.util.environ') +281.437 000.079 000.079: require('luasnip.util.pattern_tokenizer') +281.498 000.056 000.056: require('luasnip.util.dict') +281.575 000.072 000.072: require('luasnip.session.snippet_collection') +281.623 001.697 000.177: require('luasnip.nodes.snippet') +281.637 001.947 000.176: require('luasnip.nodes.choiceNode') +281.746 000.092 000.092: require('luasnip.nodes.functionNode') +281.890 000.138 000.138: require('luasnip.nodes.dynamicNode') +282.120 000.223 000.223: require('luasnip.nodes.restoreNode') +282.206 000.080 000.080: require('luasnip.extras') +282.337 000.058 000.058: require('luasnip.util.str') +282.346 000.132 000.074: require('luasnip.extras.fmt') +282.406 000.056 000.056: require('luasnip.extras.expand_conditions') +282.614 000.065 000.065: require('luasnip.util.parser.neovim_ast') +292.804 000.087 000.087: require('luasnip.util.directed_graph') +292.822 010.347 010.195: require('luasnip.util.parser.ast_utils') +293.128 000.099 000.099: require('luasnip.util.functions') +293.176 000.350 000.251: require('luasnip.util.parser.ast_parser') +293.310 000.128 000.128: require('luasnip.util.parser.neovim_parser') +293.321 010.908 000.083: require('luasnip.util.parser') +293.386 000.062 000.062: require('luasnip.nodes.absolute_indexer') +294.059 015.332 000.858: require('luasnip.config') +294.221 015.792 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +294.977 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +295.967 000.371 000.371: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +296.524 000.083 000.083: require('cmp.utils.api') +296.647 000.059 000.059: require('cmp.types.cmp') +296.839 000.119 000.119: require('cmp.utils.misc') +297.081 000.429 000.310: require('cmp.types.lsp') +297.226 000.138 000.138: require('cmp.types.vim') +297.234 000.702 000.076: require('cmp.types') +297.305 000.067 000.067: require('cmp.utils.highlight') +297.431 000.059 000.059: require('cmp.utils.debug') +297.450 000.140 000.081: require('cmp.utils.autocmd') +298.078 001.706 000.713: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +298.486 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +299.035 000.067 000.067: require('nvim-treesitter.statusline') +299.120 000.078 000.078: require('nvim-treesitter.query_predicates') +299.127 000.230 000.085: require('nvim-treesitter') +300.467 000.465 000.465: require('vim.treesitter.highlighter') +300.868 001.027 000.563: require('nvim-treesitter.highlight') +301.483 002.641 001.383: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +301.941 000.234 000.234: require('treesitter-context') +301.952 000.276 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +302.323 000.085 000.085: require('nvim-treesitter-refactor') +302.482 000.270 000.185: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +302.850 000.115 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +303.268 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +303.688 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +304.627 000.442 000.442: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +305.382 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +305.980 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +307.047 007.082: loading packages +308.141 000.120 000.120: require('cmp.utils.char') +308.156 000.213 000.094: require('cmp.utils.str') +308.227 000.067 000.067: require('cmp.utils.pattern') +308.445 000.058 000.058: require('cmp.utils.buffer') +308.459 000.156 000.099: require('cmp.utils.keymap') +308.467 000.235 000.078: require('cmp.utils.feedkeys') +308.560 000.090 000.090: require('cmp.utils.async') +308.700 000.060 000.060: require('cmp.utils.cache') +308.708 000.142 000.081: require('cmp.context') +308.960 000.082 000.082: require('cmp.config.mapping') +309.130 000.083 000.083: require('cmp.config.compare') +309.135 000.165 000.082: require('cmp.config.default') +309.162 000.364 000.117: require('cmp.config') +309.340 000.067 000.067: require('cmp.matcher') +309.351 000.185 000.119: require('cmp.entry') +309.365 000.655 000.105: require('cmp.source') +309.506 000.060 000.060: require('cmp.utils.event') +309.707 000.096 000.096: require('cmp.utils.window') +309.715 000.204 000.108: require('cmp.view.docs_view') +309.873 000.119 000.119: require('cmp.view.custom_entries_view') +309.983 000.105 000.105: require('cmp.view.wildmenu_entries_view') +310.074 000.086 000.086: require('cmp.view.native_entries_view') +310.155 000.077 000.077: require('cmp.view.ghost_text_view') +310.173 000.804 000.152: require('cmp.view') +310.282 002.463 000.258: require('cmp.core') +310.552 000.080 000.080: require('cmp.config.sources') +310.621 000.061 000.061: require('cmp.config.window') +310.730 003.033 000.429: require('cmp') +311.020 000.062 000.062: require('cmp_buffer.timer') +311.032 000.152 000.089: require('cmp_buffer.buffer') +311.037 000.238 000.087: require('cmp_buffer.source') +311.042 000.307 000.069: require('cmp_buffer') +311.140 003.495 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +311.571 000.162 000.162: require('cmp_cmdline') +311.603 000.289 000.127: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +311.961 000.072 000.072: require('cmp_nvim_lsp.source') +311.969 000.157 000.085: require('cmp_nvim_lsp') +312.022 000.252 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +312.343 000.115 000.115: require('cmp_path') +312.378 000.198 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +313.734 000.697 000.697: require('vim.lsp.protocol') +313.987 000.246 000.246: require('vim.lsp._snippet') +314.131 000.137 000.137: require('vim.highlight') +314.170 001.507 000.427: require('vim.lsp.util') +314.178 001.594 000.087: require('cmp_luasnip') +314.253 001.713 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +314.335 001.341: loading after plugins +314.364 000.028: inits 3 +314.376 000.012: reading ShaDa +314.772 000.072 000.072: require('luasnip.loaders._caches') +314.885 000.106 000.106: require('luasnip.util.path') +314.974 000.083 000.083: require('luasnip.loaders.util') +315.202 000.105 000.105: require('luasnip.loaders') +315.244 000.265 000.160: require('luasnip') +315.251 000.649 000.123: require('luasnip.loaders.from_lua') +315.568 000.075 000.075: require('luasnip.nodes.snippetProxy') +315.581 000.183 000.107: require('luasnip.loaders.from_snipmate') +315.717 000.098 000.098: require('luasnip.loaders.from_vscode') +315.757 000.452: opening buffers +315.967 000.210: BufEnter autocommands +315.973 000.006: editing files in windows +332.180 000.541 000.541: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.440 001.440: --- NVIM STARTING --- +033.506 032.067: event init +051.827 018.320: early init +053.736 001.909: locale set +059.318 005.583: init first window +069.727 010.408: inits 1 +069.752 000.026: window checked +069.761 000.008: parsing arguments +081.649 000.270 000.270: require('vim.shared') +082.171 000.244 000.244: require('vim._meta') +082.184 000.512 000.267: require('vim._editor') +082.192 000.908 000.126: require('vim._init_packages') +082.199 011.531: init lua interpreter +082.371 000.172: expanding arguments +084.237 001.866: inits 2 +085.649 001.412: init highlight +085.660 000.011: waiting for UI +088.638 002.978: done waiting for UI +088.708 000.071: init screen for UI +089.210 000.502: init default mappings +089.266 000.055: init default autocommands +099.603 004.098 004.098: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/ftplugin.vim +102.742 001.689 001.689: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/indent.vim +103.345 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim +103.371 000.184 000.127: sourcing /etc/xdg/nvim/sysinit.vim +120.420 009.662 009.662: require('keys') +125.718 005.274 005.274: require('opts') +131.048 001.043 001.043: require('packer.util') +131.141 004.676 003.633: require('packer') +135.503 001.909 001.909: require('packer.log') +135.523 002.818 000.910: require('packer.async') +137.175 000.657 000.657: require('packer.result') +137.192 001.660 001.003: require('packer.jobs') +137.218 005.968 001.490: require('packer.plugin_utils') +138.471 001.209 001.209: require('packer.snapshot') +139.913 014.177 002.324: require('pack') +157.971 018.042 018.042: require('impatient') +159.695 000.228 000.228: require('vim.treesitter.language') +159.725 000.906 000.678: require('vim.treesitter.query') +161.084 000.390 000.390: require('vim.treesitter.languagetree') +161.183 000.765 000.374: require('vim.treesitter') +161.604 001.571 000.806: require('nvim-treesitter.parsers') +161.821 000.208 000.208: require('nvim-treesitter.utils') +161.843 001.948 000.169: require('nvim-treesitter.ts_utils') +161.860 002.128 000.180: require('nvim-treesitter.tsrange') +162.042 000.176 000.176: require('nvim-treesitter.caching') +162.071 003.524 000.313: require('nvim-treesitter.query') +162.111 003.996 000.471: require('nvim-treesitter.configs') +162.983 000.371 000.371: require('nvim-treesitter.info') +163.160 000.166 000.166: require('nvim-treesitter.shell_command_selectors') +163.230 000.973 000.436: require('nvim-treesitter.install') +201.529 043.537 038.568: require('plugins.treesitter') +201.858 000.117 000.117: require('telescope._extensions') +201.869 000.215 000.098: require('telescope') +202.748 000.087 000.087: require('plenary.bit') +202.837 000.080 000.080: require('plenary.functional') +202.894 000.036 000.036: require('ffi') +202.920 000.413 000.210: require('plenary.path') +202.941 000.534 000.120: require('plenary.strings') +203.036 000.087 000.087: require('telescope.deprecated') +203.433 000.180 000.180: require('plenary.log') +203.526 000.350 000.170: require('telescope.log') +203.805 000.143 000.143: require('plenary.job') +203.893 000.081 000.081: require('telescope.state') +203.912 000.380 000.156: require('telescope.utils') +203.928 000.886 000.156: require('telescope.sorters') +204.097 000.144 000.144: require('vim.inspect') +205.037 000.017 000.017: require('vim.F') +208.736 006.621 004.954: require('telescope.config') +209.238 000.193 000.193: require('plenary.window.border') +209.784 000.538 000.538: require('plenary.window') +209.860 000.069 000.069: require('plenary.popup.utils') +209.870 001.122 000.323: require('plenary.popup') +209.955 000.081 000.081: require('telescope.pickers.scroller') +210.034 000.073 000.073: require('telescope.actions.state') +210.120 000.080 000.080: require('telescope.actions.utils') +210.388 000.082 000.082: require('telescope.actions.mt') +210.427 000.302 000.220: require('telescope.actions.set') +210.812 000.085 000.085: require('telescope.config.resolve') +210.821 000.232 000.147: require('telescope.pickers.entry_display') +210.890 000.066 000.066: require('telescope.from_entry') +211.423 009.549 000.972: require('telescope.actions') +212.041 000.064 000.064: require('plenary.tbl') +212.051 000.140 000.076: require('plenary.vararg.rotate') +212.055 000.208 000.068: require('plenary.vararg') +212.122 000.064 000.064: require('plenary.errors') +212.132 000.357 000.085: require('plenary.async.async') +212.210 000.075 000.075: require('plenary.async.structs') +212.223 000.527 000.095: require('plenary.async.control') +212.539 000.229 000.229: require('telescope.make_entry') +212.832 000.078 000.078: require('plenary.async.util') +212.839 000.148 000.070: require('plenary.async.tests') +212.844 000.222 000.075: require('plenary.async') +212.849 000.304 000.082: require('telescope.finders.async_static_finder') +213.073 000.065 000.065: require('plenary.class') +213.101 000.176 000.110: require('telescope._') +213.107 000.255 000.079: require('telescope.finders.async_oneshot_finder') +213.182 000.072 000.072: require('telescope.finders.async_job_finder') +213.196 000.968 000.108: require('telescope.finders') +213.485 000.082 000.082: require('telescope.debounce') +213.656 000.164 000.164: require('telescope.mappings') +213.782 000.120 000.120: require('telescope.pickers.highlights') +213.862 000.074 000.074: require('telescope.pickers.window') +214.038 000.079 000.079: require('telescope.algos.linked_list') +214.047 000.179 000.101: require('telescope.entry_manager') +214.124 000.074 000.074: require('telescope.pickers.multi') +214.157 000.957 000.264: require('telescope.pickers') +214.173 002.597 000.145: require('telescope.builtin.__lsp') +214.216 002.785 000.188: require('telescope.builtin') +214.575 000.265 000.265: require('fzf_lib') +214.587 000.364 000.099: require('telescope._extensions.fzf') +214.921 000.101 000.101: require('telescope._extensions.file_browser.utils') +215.026 000.349 000.248: require('telescope._extensions.file_browser.actions') +215.273 000.154 000.154: require('telescope._extensions.file_browser.make_entry') +215.417 000.138 000.138: require('plenary.scandir') +215.468 000.437 000.146: require('telescope._extensions.file_browser.finders') +215.551 000.079 000.079: require('telescope._extensions.file_browser.picker') +215.658 000.103 000.103: require('telescope._extensions.file_browser.config') +215.665 001.067 000.100: require('telescope._extensions.file_browser') +220.007 000.023 000.023: require('vim.keymap') +220.326 018.786 004.781: require('plugins.telescope') +221.609 000.069 000.069: require('notify.util.queue') +221.623 000.194 000.125: require('notify.util') +221.878 000.251 000.251: require('notify.config.highlights') +221.888 000.546 000.101: require('notify.config') +222.030 000.137 000.137: require('notify.stages') +222.195 000.158 000.158: require('notify.service.notification') +222.535 000.066 000.066: require('notify.animate.spring') +222.543 000.234 000.168: require('notify.animate') +222.554 000.353 000.119: require('notify.windows') +222.793 000.082 000.082: require('notify.service.buffer.highlights') +222.814 000.184 000.102: require('notify.service.buffer') +222.820 000.261 000.077: require('notify.service') +222.910 000.087 000.087: require('notify.stages.util') +222.920 001.678 000.135: require('notify') +222.997 000.073 000.073: require('nvim-tree.iterators.node-iterator') +223.085 001.979 000.229: require('nvim-tree.utils') +223.099 002.132 000.153: require('nvim-tree.events') +223.342 000.070 000.070: require('nvim-tree.log') +223.507 000.159 000.159: require('nvim-tree.git.utils') +223.603 000.090 000.090: require('nvim-tree.git.runner') +223.692 000.085 000.085: require('nvim-tree.watcher') +223.706 000.526 000.124: require('nvim-tree.git') +223.825 000.116 000.116: require('nvim-tree.explorer.watch') +223.921 000.091 000.091: require('nvim-tree.explorer.common') +224.186 000.113 000.113: require('nvim-tree.explorer.node-builders') +224.289 000.096 000.096: require('nvim-tree.explorer.sorters') +224.436 000.142 000.142: require('nvim-tree.explorer.filters') +224.920 000.367 000.367: require('nvim-tree.view') +224.935 000.493 000.126: require('nvim-tree.live-filter') +224.948 000.968 000.124: require('nvim-tree.explorer.explore') +225.061 000.110 000.110: require('nvim-tree.explorer.reload') +225.071 001.969 000.158: require('nvim-tree.explorer') +225.111 004.209 000.108: require('nvim-tree.core') +225.253 000.138 000.138: require('nvim-tree.diagnostics') +225.338 000.080 000.080: require('nvim-tree.renderer.components.padding') +225.425 000.082 000.082: require('nvim-tree.renderer.components.icons') +225.518 000.089 000.089: require('nvim-tree.renderer.components.full-name') +225.601 000.078 000.078: require('nvim-tree.renderer.help') +225.719 000.113 000.113: require('nvim-tree.renderer.components.git') +225.868 000.144 000.144: require('nvim-tree.renderer.builder') +225.977 000.104 000.104: require('nvim-tree.marks') +226.002 005.207 000.172: require('nvim-tree.renderer') +226.097 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') +226.187 000.085 000.085: require('nvim-tree.actions.root.dir-up') +226.284 000.093 000.093: require('nvim-tree.actions.root.change-dir') +226.372 000.083 000.083: require('nvim-tree.actions.reloaders.reloaders') +226.462 000.084 000.084: require('nvim-tree.actions.finders.find-file') +226.467 005.755 000.119: require('nvim-tree.lib') +226.592 000.121 000.121: require('nvim-tree.colors') +226.766 000.169 000.169: require('nvim-tree.legacy') +226.916 000.145 000.145: require('nvim-tree.actions.fs.copy-paste') +227.109 000.085 000.085: require('nvim-tree.actions.tree-modifiers.expand-all') +227.195 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') +227.297 000.091 000.091: require('nvim-tree.actions.fs.create-file') +227.396 000.094 000.094: require('nvim-tree.actions.fs.rename-file') +227.529 000.127 000.127: require('nvim-tree.actions.fs.trash') +227.629 000.094 000.094: require('nvim-tree.actions.fs.remove-file') +227.737 000.102 000.102: require('nvim-tree.actions.moves.parent') +227.819 000.077 000.077: require('nvim-tree.actions.moves.sibling') +227.903 000.079 000.079: require('nvim-tree.actions.moves.item') +228.001 000.087 000.087: require('nvim-tree.actions.finders.search-node') +228.117 000.111 000.111: require('nvim-tree.actions.node.run-command') +228.214 000.092 000.092: require('nvim-tree.actions.node.file-popup') +228.325 000.106 000.106: require('nvim-tree.actions.node.system-open') +228.423 000.087 000.087: require('nvim-tree.marks.bulk-move') +228.432 001.507 000.196: require('nvim-tree.actions.dispatch') +228.491 008.030 000.333: require('nvim-tree') +228.567 000.071 000.071: require('nvim-tree.config') +233.557 000.315 000.315: require('nvim-tree.actions') +233.708 000.138 000.138: require('nvim-tree.actions.node.open-file') +237.087 000.092 000.092: require('nvim-tree.marks.navigation') +237.098 000.268 000.177: require('nvim-tree.api') +237.135 000.443 000.175: require('nvim-tree.keymap') +238.686 001.052 001.052: require('nvim-web-devicons') +244.255 023.921 013.872: require('plugins.nvim-tree') +245.221 000.395 000.395: require('lualine_require') +246.164 001.579 001.185: require('lualine') +246.240 000.069 000.069: require('plugins.linecolor') +249.546 000.081 000.081: require('lualine.utils.mode') +255.637 011.372 009.643: require('plugins.lualine') +255.647 152.176 007.406: sourcing /home/sxrdusr/.config/nvim/init.lua +255.665 008.252: sourcing vimrc file(s) +255.924 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +257.174 000.058 000.058: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.lua +259.475 002.166 002.166: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.vim +262.509 000.376 000.376: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/synload.vim +262.752 002.375 001.999: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/syntax.vim +268.292 001.428 001.428: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/gzip.vim +268.426 000.061 000.061: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/health.vim +271.039 001.395 001.395: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +271.512 003.018 001.624: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchit.vim +271.977 000.398 000.398: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchparen.vim +272.126 000.080 000.080: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/netrwPlugin.vim +272.541 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +272.561 000.371 000.348: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/rplugin.vim +272.808 000.186 000.186: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/shada.vim +272.959 000.082 000.082: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/spellfile.vim +273.333 000.308 000.308: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tarPlugin.vim +273.622 000.219 000.219: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tohtml.vim +273.757 000.068 000.068: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tutor.vim +274.800 000.978 000.978: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/zipPlugin.vim +276.286 001.257 001.257: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +277.474 001.016 001.016: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +278.325 000.101 000.101: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/man.lua +278.494 008.606: loading rtp plugins +279.975 000.149 000.149: require('Comment.config') +280.069 000.086 000.086: require('Comment.utils') +280.138 000.063 000.063: require('Comment.opfunc') +280.200 000.058 000.058: require('Comment.extra') +280.213 000.601 000.245: require('Comment.api') +280.666 001.108 000.508: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +281.327 000.059 000.059: require('luasnip.util.types') +281.398 000.064 000.064: require('luasnip.util.ext_opts') +281.468 000.065 000.065: require('luasnip.extras.filetype_functions') +281.536 000.063 000.063: require('luasnip.session') +281.783 000.095 000.095: require('luasnip.util.util') +281.853 000.064 000.064: require('luasnip.nodes.util') +281.911 000.054 000.054: require('luasnip.util.events') +281.926 000.314 000.100: require('luasnip.nodes.node') +282.059 000.063 000.063: require('luasnip.util.extend_decorator') +282.070 000.530 000.153: require('luasnip.nodes.insertNode') +282.340 000.076 000.076: require('luasnip.util.mark') +282.529 000.079 000.079: require('luasnip.nodes.textNode') +283.386 000.788 000.788: require('luasnip.util._builtin_vars') +283.668 001.132 000.344: require('luasnip.util.environ') +283.751 000.077 000.077: require('luasnip.util.pattern_tokenizer') +283.811 000.055 000.055: require('luasnip.util.dict') +283.886 000.070 000.070: require('luasnip.session.snippet_collection') +283.934 001.587 000.174: require('luasnip.nodes.snippet') +283.949 001.875 000.212: require('luasnip.nodes.choiceNode') +284.098 000.132 000.132: require('luasnip.nodes.functionNode') +284.205 000.100 000.100: require('luasnip.nodes.dynamicNode') +284.306 000.095 000.095: require('luasnip.nodes.restoreNode') +284.408 000.097 000.097: require('luasnip.extras') +284.538 000.058 000.058: require('luasnip.util.str') +284.547 000.132 000.074: require('luasnip.extras.fmt') +284.608 000.057 000.057: require('luasnip.extras.expand_conditions') +284.811 000.065 000.065: require('luasnip.util.parser.neovim_ast') +293.026 000.084 000.084: require('luasnip.util.directed_graph') +293.043 008.368 008.219: require('luasnip.util.parser.ast_utils') +293.210 000.061 000.061: require('luasnip.util.functions') +293.258 000.211 000.149: require('luasnip.util.parser.ast_parser') +293.400 000.138 000.138: require('luasnip.util.parser.neovim_parser') +293.411 008.797 000.081: require('luasnip.util.parser') +293.477 000.062 000.062: require('luasnip.nodes.absolute_indexer') +293.898 012.734 000.606: require('luasnip.config') +294.056 013.203 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +294.842 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +295.836 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +296.359 000.081 000.081: require('cmp.utils.api') +296.480 000.057 000.057: require('cmp.types.cmp') +296.619 000.068 000.068: require('cmp.utils.misc') +296.743 000.258 000.190: require('cmp.types.lsp') +296.810 000.060 000.060: require('cmp.types.vim') +296.815 000.449 000.074: require('cmp.types') +296.876 000.057 000.057: require('cmp.utils.highlight') +296.985 000.050 000.050: require('cmp.utils.debug') +297.002 000.122 000.072: require('cmp.utils.autocmd') +297.720 001.509 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +298.111 000.135 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +298.635 000.059 000.059: require('nvim-treesitter.statusline') +298.711 000.069 000.069: require('nvim-treesitter.query_predicates') +298.718 000.204 000.076: require('nvim-treesitter') +300.054 000.290 000.290: require('vim.treesitter.highlighter') +300.401 000.792 000.501: require('nvim-treesitter.highlight') +300.770 002.306 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +301.262 000.278 000.278: require('treesitter-context') +301.273 000.317 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +301.636 000.084 000.084: require('nvim-treesitter-refactor') +301.851 000.326 000.242: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +302.218 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +302.588 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +303.010 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +303.920 000.429 000.429: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +304.696 000.549 000.549: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim +305.310 000.352 000.352: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +306.794 007.375: loading packages +307.896 000.127 000.127: require('cmp.utils.char') +307.914 000.249 000.122: require('cmp.utils.str') +307.981 000.062 000.062: require('cmp.utils.pattern') +308.199 000.057 000.057: require('cmp.utils.buffer') +308.210 000.157 000.100: require('cmp.utils.keymap') +308.221 000.235 000.078: require('cmp.utils.feedkeys') +308.314 000.089 000.089: require('cmp.utils.async') +308.447 000.059 000.059: require('cmp.utils.cache') +308.454 000.134 000.076: require('cmp.context') +308.705 000.085 000.085: require('cmp.config.mapping') +308.866 000.082 000.082: require('cmp.config.compare') +308.872 000.160 000.077: require('cmp.config.default') +308.897 000.350 000.105: require('cmp.config') +309.068 000.062 000.062: require('cmp.matcher') +309.081 000.180 000.118: require('cmp.entry') +309.095 000.638 000.108: require('cmp.source') +309.233 000.059 000.059: require('cmp.utils.event') +309.405 000.096 000.096: require('cmp.utils.window') +309.412 000.175 000.078: require('cmp.view.docs_view') +309.573 000.120 000.120: require('cmp.view.custom_entries_view') +309.681 000.103 000.103: require('cmp.view.wildmenu_entries_view') +309.769 000.083 000.083: require('cmp.view.native_entries_view') +309.847 000.074 000.074: require('cmp.view.ghost_text_view') +309.865 000.766 000.153: require('cmp.view') +309.975 002.429 000.254: require('cmp.core') +310.464 000.071 000.071: require('cmp.config.sources') +310.532 000.061 000.061: require('cmp.config.window') +310.651 003.219 000.659: require('cmp') +310.932 000.062 000.062: require('cmp_buffer.timer') +310.940 000.144 000.083: require('cmp_buffer.buffer') +310.949 000.232 000.087: require('cmp_buffer.source') +310.953 000.297 000.065: require('cmp_buffer') +310.984 003.601 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +311.371 000.155 000.155: require('cmp_cmdline') +311.405 000.233 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +311.754 000.072 000.072: require('cmp_nvim_lsp.source') +311.761 000.148 000.076: require('cmp_nvim_lsp') +311.854 000.284 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +312.173 000.114 000.114: require('cmp_path') +312.208 000.192 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +313.680 000.681 000.681: require('vim.lsp.protocol') +313.997 000.309 000.309: require('vim.lsp._snippet') +314.150 000.147 000.147: require('vim.highlight') +314.183 001.671 000.534: require('vim.lsp.util') +314.193 001.759 000.089: require('cmp_luasnip') +314.266 001.907 000.148: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +314.409 001.397: loading after plugins +314.443 000.034: inits 3 +314.458 000.014: reading ShaDa +314.850 000.070 000.070: require('luasnip.loaders._caches') +314.966 000.109 000.109: require('luasnip.util.path') +315.062 000.091 000.091: require('luasnip.loaders.util') +315.293 000.104 000.104: require('luasnip.loaders') +315.332 000.265 000.160: require('luasnip') +315.339 000.648 000.114: require('luasnip.loaders.from_lua') +315.551 000.074 000.074: require('luasnip.nodes.snippetProxy') +315.561 000.172 000.097: require('luasnip.loaders.from_snipmate') +315.691 000.089 000.089: require('luasnip.loaders.from_vscode') +315.726 000.360: opening buffers +315.996 000.269: BufEnter autocommands +316.003 000.007: editing files in windows +331.179 000.499 000.499: require('vim.diagnostic') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.200 001.200: --- NVIM STARTING --- +028.869 027.670: event init +045.983 017.113: early init +047.792 001.810: locale set +053.512 005.720: init first window +063.922 010.410: inits 1 +063.947 000.025: window checked +063.955 000.008: parsing arguments +076.112 000.253 000.253: require('vim.shared') +076.628 000.246 000.246: require('vim._meta') +076.644 000.505 000.259: require('vim._editor') +076.652 000.941 000.183: require('vim._init_packages') +076.660 011.764: init lua interpreter +076.862 000.202: expanding arguments +078.857 001.995: inits 2 +080.284 001.427: init highlight +080.295 000.011: waiting for UI +082.949 002.654: done waiting for UI +083.000 000.051: init screen for UI +083.246 000.246: init default mappings +083.273 000.027: init default autocommands +093.988 004.253 004.253: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/ftplugin.vim +096.789 001.077 001.077: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/indent.vim +097.277 000.056 000.056: sourcing /usr/share/nvim/archlinux.vim +097.304 000.182 000.126: sourcing /etc/xdg/nvim/sysinit.vim +111.429 006.947 006.947: require('keys') +113.908 002.467 002.467: require('opts') +117.673 001.187 001.187: require('packer.util') +117.808 003.545 002.358: require('packer') +122.146 001.171 001.171: require('packer.log') +122.166 002.129 000.957: require('packer.async') +124.195 000.802 000.802: require('packer.result') +124.220 002.045 001.244: require('packer.jobs') +124.252 005.833 001.659: require('packer.plugin_utils') +125.549 001.251 001.251: require('packer.snapshot') +127.162 013.245 002.616: require('pack') +158.488 031.310 031.310: require('impatient') +159.340 000.277 000.277: require('lualine_require') +160.073 001.430 001.153: require('lualine') +160.228 000.146 000.146: require('plugins.linecolor') +169.390 000.177 000.177: require('lualine.utils.mode') +172.397 013.891 012.138: require('plugins.lualine') +172.450 075.045 007.184: sourcing /home/sxrdusr/.config/nvim/init.lua +172.493 008.664: sourcing vimrc file(s) +172.853 000.064 000.064: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +174.426 000.083 000.083: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.lua +176.471 001.751 001.751: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.vim +179.037 000.296 000.296: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/synload.vim +179.314 002.168 001.872: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/syntax.vim +179.520 000.026 000.026: require('vim.F') +186.212 001.264 001.264: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/gzip.vim +186.358 000.064 000.064: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/health.vim +186.496 000.065 000.065: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchit.vim +186.634 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchparen.vim +186.802 000.097 000.097: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/netrwPlugin.vim +187.224 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +187.244 000.381 000.343: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/rplugin.vim +187.485 000.182 000.182: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/shada.vim +187.643 000.091 000.091: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/spellfile.vim +187.770 000.062 000.062: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tarPlugin.vim +187.893 000.059 000.059: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tohtml.vim +188.022 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tutor.vim +188.970 000.884 000.884: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/zipPlugin.vim +190.447 001.228 001.228: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +191.939 001.259 001.259: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +192.809 000.149 000.149: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/man.lua +193.044 010.542: loading rtp plugins +194.557 000.015 000.015: require('vim.keymap') +194.979 000.089 000.089: require('Comment.config') +195.098 000.111 000.111: require('Comment.utils') +195.179 000.075 000.075: require('Comment.opfunc') +195.356 000.171 000.171: require('Comment.extra') +195.374 000.809 000.362: require('Comment.api') +195.696 001.258 000.434: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +196.405 000.067 000.067: require('luasnip.util.types') +196.489 000.076 000.076: require('luasnip.util.ext_opts') +198.131 000.221 000.221: require('vim.treesitter.language') +198.166 000.785 000.564: require('vim.treesitter.query') +198.468 000.297 000.297: require('vim.treesitter.languagetree') +198.532 001.607 000.525: require('vim.treesitter') +198.791 002.228 000.622: require('nvim-treesitter.parsers') +198.993 000.100 000.100: require('nvim-treesitter.utils') +199.005 000.208 000.108: require('nvim-treesitter.ts_utils') +199.011 002.516 000.080: require('luasnip.extras.filetype_functions') +199.094 000.079 000.079: require('luasnip.session') +199.418 000.126 000.126: require('luasnip.util.util') +199.498 000.074 000.074: require('luasnip.nodes.util') +199.570 000.067 000.067: require('luasnip.util.events') +199.587 000.382 000.115: require('luasnip.nodes.node') +199.701 000.066 000.066: require('luasnip.util.extend_decorator') +199.712 000.613 000.165: require('luasnip.nodes.insertNode') +199.969 000.081 000.081: require('luasnip.util.mark') +200.192 000.093 000.093: require('luasnip.nodes.textNode') +200.914 000.645 000.645: require('luasnip.util._builtin_vars') +201.113 000.189 000.189: require('vim.inspect') +201.340 001.141 000.306: require('luasnip.util.environ') +201.452 000.105 000.105: require('luasnip.util.pattern_tokenizer') +201.569 000.108 000.108: require('luasnip.util.dict') +201.675 000.094 000.094: require('luasnip.session.snippet_collection') +201.787 001.810 000.270: require('luasnip.nodes.snippet') +201.807 002.091 000.199: require('luasnip.nodes.choiceNode') +201.938 000.106 000.106: require('luasnip.nodes.functionNode') +202.112 000.166 000.166: require('luasnip.nodes.dynamicNode') +202.290 000.172 000.172: require('luasnip.nodes.restoreNode') +202.386 000.089 000.089: require('luasnip.extras') +202.561 000.072 000.072: require('luasnip.util.str') +202.575 000.181 000.109: require('luasnip.extras.fmt') +202.643 000.063 000.063: require('luasnip.extras.expand_conditions') +202.880 000.077 000.077: require('luasnip.util.parser.neovim_ast') +215.457 000.113 000.113: require('luasnip.util.directed_graph') +215.486 012.764 012.575: require('luasnip.util.parser.ast_utils') +215.665 000.071 000.071: require('luasnip.util.functions') +215.677 000.184 000.113: require('luasnip.util.parser.ast_parser') +215.881 000.200 000.200: require('luasnip.util.parser.neovim_parser') +215.894 013.244 000.096: require('luasnip.util.parser') +215.971 000.071 000.071: require('luasnip.nodes.absolute_indexer') +217.153 020.941 001.407: require('luasnip.config') +217.313 021.401 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +218.109 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +218.673 000.108 000.108: require('lsp-colors') +219.216 000.706 000.598: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim +220.523 000.925 000.925: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua +221.323 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +221.864 000.096 000.096: require('cmp.utils.api') +222.010 000.072 000.072: require('cmp.types.cmp') +222.182 000.079 000.079: require('cmp.utils.misc') +222.383 000.366 000.287: require('cmp.types.lsp') +222.479 000.088 000.088: require('cmp.types.vim') +222.486 000.614 000.088: require('cmp.types') +222.558 000.068 000.068: require('cmp.utils.highlight') +222.684 000.058 000.058: require('cmp.utils.debug') +222.699 000.136 000.078: require('cmp.utils.autocmd') +223.440 001.744 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +223.708 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +224.265 000.243 000.243: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +224.744 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer/plugin/nvim-lsp-installer.vim +225.221 000.152 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +226.304 000.080 000.080: require('nvim-treesitter.tsrange') +226.375 000.063 000.063: require('nvim-treesitter.caching') +226.395 000.257 000.113: require('nvim-treesitter.query') +226.423 000.394 000.137: require('nvim-treesitter.configs') +226.435 000.486 000.092: require('nvim-treesitter.info') +226.559 000.120 000.120: require('nvim-treesitter.shell_command_selectors') +226.608 000.850 000.243: require('nvim-treesitter.install') +226.680 000.067 000.067: require('nvim-treesitter.statusline') +226.764 000.079 000.079: require('nvim-treesitter.query_predicates') +226.771 001.082 000.087: require('nvim-treesitter') +228.041 000.342 000.342: require('vim.treesitter.highlighter') +228.350 000.802 000.461: require('nvim-treesitter.highlight') +228.990 003.358 001.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +229.487 000.218 000.218: require('treesitter-context') +229.498 000.262 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +229.869 000.082 000.082: require('nvim-treesitter-refactor') +230.155 000.393 000.311: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +230.535 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +230.984 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +231.332 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +231.669 000.028 000.028: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +232.027 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +233.279 000.677 000.677: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +233.906 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +234.199 000.032 000.032: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +234.492 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +236.377 010.537: loading packages +237.770 000.206 000.206: require('cmp.utils.char') +237.795 000.307 000.101: require('cmp.utils.str') +237.874 000.073 000.073: require('cmp.utils.pattern') +238.114 000.058 000.058: require('cmp.utils.buffer') +238.126 000.165 000.107: require('cmp.utils.keymap') +238.139 000.259 000.095: require('cmp.utils.feedkeys') +238.243 000.100 000.100: require('cmp.utils.async') +238.378 000.062 000.062: require('cmp.utils.cache') +238.386 000.137 000.075: require('cmp.context') +238.631 000.076 000.076: require('cmp.config.mapping') +238.815 000.092 000.092: require('cmp.config.compare') +238.825 000.186 000.094: require('cmp.config.default') +238.903 000.422 000.160: require('cmp.config') +239.078 000.067 000.067: require('cmp.matcher') +239.092 000.184 000.117: require('cmp.entry') +239.109 000.720 000.114: require('cmp.source') +239.317 000.061 000.061: require('cmp.utils.event') +239.485 000.088 000.088: require('cmp.utils.window') +239.495 000.172 000.084: require('cmp.view.docs_view') +239.626 000.127 000.127: require('cmp.view.custom_entries_view') +239.733 000.101 000.101: require('cmp.view.wildmenu_entries_view') +239.821 000.083 000.083: require('cmp.view.native_entries_view') +239.912 000.085 000.085: require('cmp.view.ghost_text_view') +239.931 000.818 000.189: require('cmp.view') +240.078 002.714 000.300: require('cmp.core') +240.402 000.068 000.068: require('cmp.config.sources') +240.473 000.062 000.062: require('cmp.config.window') +240.589 003.405 000.561: require('cmp') +240.880 000.061 000.061: require('cmp_buffer.timer') +240.889 000.145 000.084: require('cmp_buffer.buffer') +240.898 000.225 000.079: require('cmp_buffer.source') +240.903 000.308 000.083: require('cmp_buffer') +240.932 003.863 000.149: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +241.333 000.156 000.156: require('cmp_cmdline') +241.367 000.241 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +241.724 000.072 000.072: require('cmp_nvim_lsp.source') +241.735 000.152 000.080: require('cmp_nvim_lsp') +241.792 000.253 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +242.117 000.119 000.119: require('cmp_path') +242.152 000.200 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +244.719 000.990 000.990: require('vim.lsp.protocol') +245.045 000.318 000.318: require('vim.lsp._snippet') +245.341 000.289 000.289: require('vim.highlight') +245.373 002.812 001.214: require('vim.lsp.util') +245.381 003.021 000.210: require('cmp_luasnip') +245.454 003.140 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +245.540 001.468: loading after plugins +245.570 000.029: inits 3 +245.584 000.014: reading ShaDa +246.009 000.071 000.071: require('luasnip.loaders._caches') +246.125 000.109 000.109: require('luasnip.util.path') +246.226 000.094 000.094: require('luasnip.loaders.util') +246.457 000.106 000.106: require('luasnip.loaders') +246.497 000.264 000.159: require('luasnip') +246.504 000.653 000.114: require('luasnip.loaders.from_lua') +246.720 000.069 000.069: require('luasnip.nodes.snippetProxy') +246.733 000.169 000.100: require('luasnip.loaders.from_snipmate') +246.974 000.094 000.094: require('luasnip.loaders.from_vscode') +247.013 000.513: opening buffers +247.262 000.249: BufEnter autocommands +247.269 000.007: editing files in windows +337.636 000.735 000.735: require('vim.diagnostic') +339.538 000.687 000.687: require('nvim-web-devicons') diff --git a/nvim/lua/utils.lua b/nvim/lua/utils.lua new file mode 100644 index 0000000..ab1473f --- /dev/null +++ b/nvim/lua/utils.lua @@ -0,0 +1,66 @@ +local fn = vim.fn + +local M = {} + +function M.executable(name) + if fn.executable(name) > 0 then + return true + end + + return false +end + +--- check whether a feature exists in Nvim +--- @feat: string +--- the feature name, like `nvim-0.7` or `unix`. +--- return: bool +M.has = function(feat) + if fn.has(feat) == 1 then + return true + end + + return false +end + +--- Create a dir if it does not exist +function M.may_create_dir(dir) + local res = fn.isdirectory(dir) + + if res == 0 then + fn.mkdir(dir, "p") + end +end + +function M.get_nvim_version() + local actual_ver = vim.version() + + local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch) + return nvim_ver_str +end + +--- Generate random integers in the range [Low, High], inclusive, +--- adapted from https://stackoverflow.com/a/12739441/6064933 +--- @low: the lower value for this range +--- @high: the upper value for this range +function M.rand_int(low, high) + -- Use lua to generate random int, see also: https://stackoverflow.com/a/20157671/6064933 + math.randomseed(os.time()) + + return math.random(low, high) +end + +--- Select a random element from a sequence/list. +--- @seq: the sequence to choose an element +function M.rand_element(seq) + local idx = M.rand_int(1, #seq) + + return seq[idx] +end + +function M.add_pack(name) + local status, error = pcall(vim.cmd, "packadd " .. name) + + return status +end + +return M diff --git a/nvim/plugin/packer_compiled.lua b/nvim/plugin/packer_compiled.lua new file mode 100644 index 0000000..425f601 --- /dev/null +++ b/nvim/plugin/packer_compiled.lua @@ -0,0 +1,506 @@ +-- 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() + +_G._packer = _G._packer or {} +_G._packer.inside_compile = true + +local time +local profile_info +local should_profile = false +if should_profile then + local hrtime = vim.loop.hrtime + profile_info = {} + time = function(chunk, start) + if start then + profile_info[chunk] = hrtime() + else + profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 + end + 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 + if threshold then + table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') + end + + _G._packer.profile_output = results +end + +time([[Luarocks path setup]], true) +local package_path_str = "/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/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 = { + ["Comment.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim", + url = "https://github.com/numToStr/Comment.nvim" + }, + ["FixCursorHold.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim", + url = "https://github.com/antoinemadec/FixCursorHold.nvim" + }, + LuaSnip = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip", + url = "https://github.com/L3MON4D3/LuaSnip" + }, + ["ayu-vim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim", + url = "https://github.com/ayu-theme/ayu-vim" + }, + ["cmp-buffer"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer", + url = "https://github.com/hrsh7th/cmp-buffer" + }, + ["cmp-cmdline"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline", + url = "https://github.com/hrsh7th/cmp-cmdline" + }, + ["cmp-nvim-lsp"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + url = "https://github.com/hrsh7th/cmp-nvim-lsp" + }, + ["cmp-path"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path", + url = "https://github.com/hrsh7th/cmp-path" + }, + cmp_luasnip = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip", + url = "https://github.com/saadparwaiz1/cmp_luasnip" + }, + ["crates.nvim"] = { + config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0" }, + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim", + url = "https://github.com/saecki/crates.nvim" + }, + ["doom-one.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim", + url = "https://github.com/NTBBloodbath/doom-one.nvim" + }, + ["everblush.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/everblush.nvim", + url = "https://github.com/everblush/everblush.nvim" + }, + ["fidget.nvim"] = { + config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vfidget\frequire\0" }, + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/fidget.nvim", + url = "https://github.com/j-hui/fidget.nvim" + }, + ["filetype.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim", + url = "https://github.com/nathom/filetype.nvim" + }, + ["friendly-snippets"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/friendly-snippets", + url = "https://github.com/rafamadriz/friendly-snippets" + }, + fzf = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf", + url = "https://github.com/junegunn/fzf" + }, + ["git.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/git.nvim", + url = "https://github.com/dinhhuy258/git.nvim" + }, + ["gitsigns.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", + url = "https://github.com/lewis6991/gitsigns.nvim" + }, + gruvbox = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/gruvbox", + url = "https://github.com/gruvbox-community/gruvbox" + }, + ["heirline.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/heirline.nvim", + url = "https://github.com/rebelot/heirline.nvim" + }, + ["impatient.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/impatient.nvim", + url = "https://github.com/lewis6991/impatient.nvim" + }, + ["lsp-colors.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim", + url = "https://github.com/folke/lsp-colors.nvim" + }, + ["lsp-inlayhints.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-inlayhints.nvim", + url = "https://github.com/lvimuser/lsp-inlayhints.nvim" + }, + ["lsp_lines.nvim"] = { + config = { "\27LJ\2\nr\0\0\3\0\a\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\3\0009\0\4\0009\0\5\0005\2\6\0B\0\2\1K\0\1\0\1\0\1\17virtual_text\1\vconfig\15diagnostic\bvim\nsetup\14lsp_lines\frequire\0" }, + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp_lines.nvim", + url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim" + }, + ["lspkind-nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspkind-nvim", + url = "https://github.com/onsails/lspkind-nvim" + }, + ["mason-lspconfig.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + url = "https://github.com/williamboman/mason-lspconfig.nvim" + }, + ["mason.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/mason.nvim", + url = "https://github.com/williamboman/mason.nvim" + }, + molokai = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/molokai", + url = "https://github.com/tomasr/molokai" + }, + ["neoscroll.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/neoscroll.nvim", + url = "https://github.com/karb94/neoscroll.nvim" + }, + ["nightfox.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim", + url = "https://github.com/EdenEast/nightfox.nvim" + }, + ["null-ls.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/null-ls.nvim", + url = "https://github.com/jose-elias-alvarez/null-ls.nvim" + }, + ["numbers.vim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim", + url = "https://github.com/myusuf3/numbers.vim" + }, + ["nvim-autopairs"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-autopairs", + url = "https://github.com/windwp/nvim-autopairs" + }, + ["nvim-cmp"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp", + url = "https://github.com/hrsh7th/nvim-cmp" + }, + ["nvim-code-action-menu"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu", + url = "https://github.com/weilbith/nvim-code-action-menu" + }, + ["nvim-colorizer.lua"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua", + url = "https://github.com/norcalli/nvim-colorizer.lua" + }, + ["nvim-dap"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap", + url = "https://github.com/mfussenegger/nvim-dap" + }, + ["nvim-dap-ui"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap-ui", + url = "https://github.com/rcarriga/nvim-dap-ui" + }, + ["nvim-lightbulb"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lightbulb", + url = "https://github.com/kosayoda/nvim-lightbulb" + }, + ["nvim-lint"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lint", + url = "https://github.com/mfussenegger/nvim-lint" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-navic"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-navic", + url = "https://github.com/SmiteshP/nvim-navic" + }, + ["nvim-notify"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-notify", + url = "https://github.com/rcarriga/nvim-notify" + }, + ["nvim-tree.lua"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", + url = "https://github.com/kyazdani42/nvim-tree.lua" + }, + ["nvim-treesitter"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["nvim-treesitter-context"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context", + url = "https://github.com/nvim-treesitter/nvim-treesitter-context" + }, + ["nvim-treesitter-refactor"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor", + url = "https://github.com/nvim-treesitter/nvim-treesitter-refactor" + }, + ["nvim-web-devicons"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", + url = "https://github.com/kyazdani42/nvim-web-devicons" + }, + ["onedark.vim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/onedark.vim", + url = "https://github.com/joshdick/onedark.vim" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + ["plenary.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim", + url = "https://github.com/nvim-lua/plenary.nvim" + }, + ["prettier.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim", + url = "https://github.com/MunifTanjim/prettier.nvim" + }, + ["rust-tools.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/rust-tools.nvim", + url = "https://github.com/simrat39/rust-tools.nvim" + }, + sonokai = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/sonokai", + url = "https://github.com/sainnhe/sonokai" + }, + ["sqlite.lua"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/sqlite.lua", + url = "https://github.com/tami5/sqlite.lua" + }, + ["srcery-vim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/srcery-vim", + url = "https://github.com/srcery-colors/srcery-vim" + }, + ["startuptime.vim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim", + url = "https://github.com/tweekmonster/startuptime.vim" + }, + ["symbols-outline.nvim"] = { + config = { "\27LJ\2\nP\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\15auto_close\2\nsetup\20symbols-outline\frequire\0" }, + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim", + url = "https://github.com/simrat39/symbols-outline.nvim" + }, + ["telescope-file-browser.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-file-browser.nvim", + url = "https://github.com/nvim-telescope/telescope-file-browser.nvim" + }, + ["telescope-frecency.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim", + url = "https://github.com/nvim-telescope/telescope-frecency.nvim" + }, + ["telescope-fzf-native.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-fzf-native.nvim", + url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim" + }, + ["telescope-media-files.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-media-files.nvim", + url = "https://github.com/nvim-telescope/telescope-media-files.nvim" + }, + ["telescope-symbols.nvim"] = { + load_after = {}, + loaded = true, + needs_bufread = false, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/opt/telescope-symbols.nvim", + url = "https://github.com/nvim-telescope/telescope-symbols.nvim" + }, + ["telescope-ui-select.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-ui-select.nvim", + url = "https://github.com/nvim-telescope/telescope-ui-select.nvim" + }, + ["telescope.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim", + url = "https://github.com/nvim-telescope/telescope.nvim" + }, + ["tender.vim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/tender.vim", + url = "https://github.com/jacoborus/tender.vim" + }, + ["toggleterm.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/toggleterm.nvim", + url = "https://github.com/akinsho/toggleterm.nvim" + }, + ["trouble.nvim"] = { + config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\ftrouble\frequire\0" }, + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/trouble.nvim", + url = "https://github.com/folke/trouble.nvim" + }, + ["vim-cool"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool", + url = "https://github.com/romainl/vim-cool" + }, + ["vim-eunuch"] = { + commands = { "Rename", "Delete" }, + loaded = false, + needs_bufread = false, + only_cond = false, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/opt/vim-eunuch", + url = "https://github.com/tpope/vim-eunuch" + }, + ["vim-nightfly-guicolors"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-nightfly-guicolors", + url = "https://github.com/bluz71/vim-nightfly-guicolors" + }, + ["vim-tmux-navigator"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator", + url = "https://github.com/christoomey/vim-tmux-navigator" + }, + ["which-key.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim", + url = "https://github.com/folke/which-key.nvim" + }, + ["zen-mode.nvim"] = { + loaded = true, + path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim", + url = "https://github.com/folke/zen-mode.nvim" + } +} + +time([[Defining packer_plugins]], false) +-- Config for: symbols-outline.nvim +time([[Config for symbols-outline.nvim]], true) +try_loadstring("\27LJ\2\nP\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\15auto_close\2\nsetup\20symbols-outline\frequire\0", "config", "symbols-outline.nvim") +time([[Config for symbols-outline.nvim]], false) +-- Config for: crates.nvim +time([[Config for crates.nvim]], true) +try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0", "config", "crates.nvim") +time([[Config for crates.nvim]], false) +-- Config for: trouble.nvim +time([[Config for trouble.nvim]], true) +try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\ftrouble\frequire\0", "config", "trouble.nvim") +time([[Config for trouble.nvim]], false) +-- Config for: lsp_lines.nvim +time([[Config for lsp_lines.nvim]], true) +try_loadstring("\27LJ\2\nr\0\0\3\0\a\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\3\0009\0\4\0009\0\5\0005\2\6\0B\0\2\1K\0\1\0\1\0\1\17virtual_text\1\vconfig\15diagnostic\bvim\nsetup\14lsp_lines\frequire\0", "config", "lsp_lines.nvim") +time([[Config for lsp_lines.nvim]], false) +-- Config for: fidget.nvim +time([[Config for fidget.nvim]], true) +try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vfidget\frequire\0", "config", "fidget.nvim") +time([[Config for fidget.nvim]], false) +-- Load plugins in order defined by `after` +time([[Sequenced loading]], true) +vim.cmd [[ packadd telescope.nvim ]] +vim.cmd [[ packadd telescope-symbols.nvim ]] +time([[Sequenced loading]], false) + +-- Command lazy-loads +time([[Defining lazy-load commands]], true) +pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file Delete lua require("packer.load")({'vim-eunuch'}, { cmd = "Delete", l1 = , l2 = , bang = , args = , mods = "" }, _G.packer_plugins)]]) +pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file Rename lua require("packer.load")({'vim-eunuch'}, { cmd = "Rename", l1 = , l2 = , bang = , args = , mods = "" }, _G.packer_plugins)]]) +time([[Defining lazy-load commands]], false) + + +_G._packer.inside_compile = false +if _G._packer.needs_bufread == true then + vim.cmd("doautocmd BufRead") +end +_G._packer.needs_bufread = false + +if should_profile then save_profiles() end + +end) + +if not no_errors then + error_msg = error_msg:gsub('"', '\\"') + vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') +end -- cgit v1.2.3 From 86628d459cabd0c29f0cdbb699e2e18807b958ed Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 13 Oct 2022 23:52:54 +0200 Subject: Removed unnecessary files/lines --- init.lua | 15 +- lua/keys.lua | 35 +- lua/opts.lua | 5 +- lua/pack.lua | 128 +- lua/plugins/bufferline.lua | 323 -- lua/plugins/bufferline.lua-202209041657.backup | 322 - lua/plugins/cmp.lua | 10 +- lua/plugins/heirline.backup.lua | 733 --- lua/plugins/heirline.backup2.lua | 1921 ------ lua/plugins/heirline.lua | 119 +- lua/plugins/heirline.lua-202210111610.backup | 1452 ----- lua/plugins/heirlinenew.lua | 1342 ----- lua/plugins/lsp.lua | 145 +- lua/plugins/lspOld.lsp | 531 -- lua/plugins/lspconfig.lua | 148 - lua/plugins/lspsaga.lua | 286 +- nvim/init.lua | 158 - nvim/lua/keys.lua | 493 -- nvim/lua/mods.lua | 138 - nvim/lua/opts.lua | 179 - nvim/lua/pack.lua | 347 -- nvim/lua/plugins/airline.lua | 9 - nvim/lua/plugins/autopairs.lua | 33 - nvim/lua/plugins/bufferline.lua | 323 -- .../lua/plugins/bufferline.lua-202209041657.backup | 322 - nvim/lua/plugins/cmp.lua | 134 - nvim/lua/plugins/colorizer.lua | 6 - nvim/lua/plugins/colorscheme.lua | 29 - nvim/lua/plugins/feline.lua | 726 --- nvim/lua/plugins/floaterm.lua | 6 - nvim/lua/plugins/fzf.lua | 66 - nvim/lua/plugins/git.lua | 11 - nvim/lua/plugins/gitsigns.lua | 1 - nvim/lua/plugins/heirline.backup.lua | 733 --- nvim/lua/plugins/heirline.backup2.lua | 1921 ------ nvim/lua/plugins/heirline.lua | 1124 ---- nvim/lua/plugins/heirline.lua-202210111610.backup | 1452 ----- nvim/lua/plugins/heirlinenew.lua | 1342 ----- nvim/lua/plugins/linecolor.lua | 112 - .../lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua | 301 - nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua | 301 - nvim/lua/plugins/lsp-colors.lua | 9 - nvim/lua/plugins/lsp.lua | 231 - nvim/lua/plugins/lspOld.lsp | 531 -- nvim/lua/plugins/lspconfig.lua | 148 - nvim/lua/plugins/lspkind.lua | 47 - nvim/lua/plugins/lspsaga.lua | 61 - nvim/lua/plugins/lualine.lua | 423 -- nvim/lua/plugins/mason.lua | 27 - nvim/lua/plugins/neoscroll.lua | 21 - nvim/lua/plugins/null-ls.lua | 26 - nvim/lua/plugins/nvim-tree.lua | 68 - nvim/lua/plugins/prettier.lua | 19 - nvim/lua/plugins/tabline.lua | 22 - nvim/lua/plugins/telescope.lua | 177 - nvim/lua/plugins/toggleterm.lua | 90 - nvim/lua/plugins/treesitter.lua | 39 - nvim/lua/plugins/web-devicons.lua | 12 - nvim/lua/plugins/winbar.lua | 35 - nvim/lua/plugins/zen-mode.lua | 7 - nvim/lua/scripts/setcolors.lua | 121 - nvim/lua/startup.log | 6125 -------------------- nvim/lua/utils.lua | 66 - nvim/plugin/packer_compiled.lua | 506 -- 64 files changed, 573 insertions(+), 26020 deletions(-) delete mode 100644 lua/plugins/bufferline.lua delete mode 100644 lua/plugins/bufferline.lua-202209041657.backup delete mode 100644 lua/plugins/heirline.backup.lua delete mode 100644 lua/plugins/heirline.backup2.lua delete mode 100644 lua/plugins/heirline.lua-202210111610.backup delete mode 100644 lua/plugins/heirlinenew.lua delete mode 100644 lua/plugins/lspOld.lsp delete mode 100644 lua/plugins/lspconfig.lua delete mode 100644 nvim/init.lua delete mode 100644 nvim/lua/keys.lua delete mode 100644 nvim/lua/mods.lua delete mode 100644 nvim/lua/opts.lua delete mode 100644 nvim/lua/pack.lua delete mode 100644 nvim/lua/plugins/airline.lua delete mode 100644 nvim/lua/plugins/autopairs.lua delete mode 100644 nvim/lua/plugins/bufferline.lua delete mode 100644 nvim/lua/plugins/bufferline.lua-202209041657.backup delete mode 100644 nvim/lua/plugins/cmp.lua delete mode 100644 nvim/lua/plugins/colorizer.lua delete mode 100644 nvim/lua/plugins/colorscheme.lua delete mode 100644 nvim/lua/plugins/feline.lua delete mode 100644 nvim/lua/plugins/floaterm.lua delete mode 100644 nvim/lua/plugins/fzf.lua delete mode 100644 nvim/lua/plugins/git.lua delete mode 100644 nvim/lua/plugins/gitsigns.lua delete mode 100644 nvim/lua/plugins/heirline.backup.lua delete mode 100644 nvim/lua/plugins/heirline.backup2.lua delete mode 100644 nvim/lua/plugins/heirline.lua delete mode 100644 nvim/lua/plugins/heirline.lua-202210111610.backup delete mode 100644 nvim/lua/plugins/heirlinenew.lua delete mode 100644 nvim/lua/plugins/linecolor.lua delete mode 100644 nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua delete mode 100644 nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua delete mode 100644 nvim/lua/plugins/lsp-colors.lua delete mode 100644 nvim/lua/plugins/lsp.lua delete mode 100644 nvim/lua/plugins/lspOld.lsp delete mode 100644 nvim/lua/plugins/lspconfig.lua delete mode 100644 nvim/lua/plugins/lspkind.lua delete mode 100644 nvim/lua/plugins/lspsaga.lua delete mode 100644 nvim/lua/plugins/lualine.lua delete mode 100644 nvim/lua/plugins/mason.lua delete mode 100644 nvim/lua/plugins/neoscroll.lua delete mode 100644 nvim/lua/plugins/null-ls.lua delete mode 100644 nvim/lua/plugins/nvim-tree.lua delete mode 100644 nvim/lua/plugins/prettier.lua delete mode 100644 nvim/lua/plugins/tabline.lua delete mode 100644 nvim/lua/plugins/telescope.lua delete mode 100644 nvim/lua/plugins/toggleterm.lua delete mode 100644 nvim/lua/plugins/treesitter.lua delete mode 100644 nvim/lua/plugins/web-devicons.lua delete mode 100644 nvim/lua/plugins/winbar.lua delete mode 100644 nvim/lua/plugins/zen-mode.lua delete mode 100644 nvim/lua/scripts/setcolors.lua delete mode 100644 nvim/lua/startup.log delete mode 100644 nvim/lua/utils.lua delete mode 100644 nvim/plugin/packer_compiled.lua diff --git a/init.lua b/init.lua index fcdbe88..d4ae827 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,14 @@ --[[init.]] --- +-- ========================================================================== -- +-- == DEPENDENCIES == -- +-- ========================================================================== -- + +-- ripgrep - https://github.com/BurntSushi/ripgrep +-- fd - https://github.com/sharkdp/fd +-- git - https://git-scm.com/ +-- make - https://www.gnu.org/software/make/ +-- c compiler - gcc or tcc or zig + -- Initialize config with this one liner in the terminal --nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit' -- @@ -44,7 +53,7 @@ require("plugins.toggleterm") --require("plugins.floatterm") require("plugins.autopairs") --require("plugins.vimspector") -require("plugins.mason") +--require("plugins.mason") --require("plugins.dap") require("plugins.colorizer") require("plugins.prettier") @@ -53,7 +62,7 @@ require("plugins.gitsigns") require("plugins.neoscroll") require("plugins.lsp") --require("plugins.lspconfig") ---require("plugins.lspsaga") +require("plugins.lspsaga") --require("plugins.lspkind") --require("plugins.lsp-colors") require("plugins.null-ls") diff --git a/lua/keys.lua b/lua/keys.lua index 1995976..29b59c4 100644 --- a/lua/keys.lua +++ b/lua/keys.lua @@ -22,7 +22,7 @@ vim.g.mapleader = ";" map("i", "jj", "", opts) -- save quickly -map("n", ";w", ":w", d("Save buffer")) +--map("n", ";w", ":w", d("Save buffer")) --Easier split navigations, just ctrl-j instead of ctrl-w then j map("n", "", "", opts) @@ -42,6 +42,35 @@ map("n", "d", ":bd", opts) map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) +map("n", "", "!clear", opts) +vim.cmd([[ + inoremap + inoremap + inoremap + inoremap +]]) + +vim.cmd([[ + cnoremap + cnoremap + cnoremap + cnoremap +]]) + +--vim.cmd([[ +-- cnoremap +-- cnoremap +-- cnoremap +-- cnoremap +--]]) + +vim.cmd([[ + snoremap + snoremap + snoremap + snoremap +]]) + -- move block easily map("n", "<", "<<", d("Decrease indent")) map("n", ">", ">>", d("Increase indent")) @@ -144,6 +173,10 @@ endfunction nnoremap :call ToggleHiddenAll() ]]) +vim.cmd([[ + map s :up \| saveas! %:p:r-=strftime("%y.%m.%d-%H:%M")-bak.=expand("%:e") \| 3sleep \| e # +]]) + -------------- Telescope -------------- --Telescope find_files cwd=.. map("n", "fc", "lua require('telescope.builtin').commands()", opts) diff --git a/lua/opts.lua b/lua/opts.lua index 06e15fd..b52bcc8 100644 --- a/lua/opts.lua +++ b/lua/opts.lua @@ -34,7 +34,7 @@ vim.opt.inccommand = "split" -- vim.opt.ttyfast = true -- Faster redrawing. vim.opt.lazyredraw = true -- Only redraw when necessary vim.opt.keywordprg = ":help" -- :help options ---vim.opt.ruler = true -- +vim.opt.ruler = true -- vim.opt.errorbells = false -- vim.opt.list = true -- Show non-printable characters. vim.opt.showmatch = true -- @@ -124,7 +124,8 @@ vim.opt.pumheight = 10 -- pop up menu height -- Better Completion vim.opt.complete = { ".", "w", "b", "u", "t" } -- -vim.opt.completeopt = { "longest,menuone,preview" } -- +--vim.opt.completeopt = { "longest,menuone,preview" } -- +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} --vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp --vim.opt.completeopt = { "menu", "menuone", "noselect" } -- diff --git a/lua/pack.lua b/lua/pack.lua index b864872..48db169 100644 --- a/lua/pack.lua +++ b/lua/pack.lua @@ -44,6 +44,84 @@ packer.init({ return packer.startup(function(use) use("wbthomason/packer.nvim") -- Have packer manage itself + use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins + --use("jose-elias-alvarez/null-ls.nvim") + + -- lsp + use { + "williamboman/mason.nvim", + "williamboman/mason-lspconfig.nvim", + "neovim/nvim-lspconfig", + } + require("mason").setup() + local mason_lspconfig = require("mason-lspconfig") + mason_lspconfig.setup({ + ensure_installed = { + "pylsp", + "pyright", + "clangd", + "vim-language-server", + "bash-language-server", + "lua-language-server", + "sumneko_lua", + } + }) + use { "j-hui/fidget.nvim", + config = function() + require("fidget").setup() + end + } + use { "folke/trouble.nvim", + config = function() + require("trouble").setup() + end + } + use({ + "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim + config = function() + require("lsp_lines").setup() + + -- disable virtual_text since it's redundant due to lsp_lines. + vim.diagnostic.config({ + virtual_text = false, + }) + end, + }) + use { "simrat39/symbols-outline.nvim", + config = function() + require("symbols-outline").setup({ + auto_close = true, + }) + end + } + use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } + use "folke/lsp-colors.nvim" + use "mfussenegger/nvim-lint" + use "weilbith/nvim-code-action-menu" + use "simrat39/rust-tools.nvim" + use { "saecki/crates.nvim", + requires = { "nvim-lua/plenary.nvim" }, + config = function() + require("crates").setup() + end, + } + use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't + + -- null-ls + use { "jose-elias-alvarez/null-ls.nvim", + config = function() + require("null-ls").setup({ + sources = { + require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake + } + }) + end + } + use({ + "SmiteshP/nvim-navic", + requires = "neovim/nvim-lspconfig", + }) + -- nvimlsp plugins --use({ -- "williamboman/mason.nvim", @@ -54,30 +132,24 @@ return packer.startup(function(use) -- }) -- end, --}) - use("williamboman/mason.nvim") - use("williamboman/mason-lspconfig.nvim") - use("neovim/nvim-lspconfig") - use("williamboman/nvim-lsp-installer") - use("glepnir/lspsaga.nvim") - use("nvim-lua/lsp-status.nvim") - --use({ - -- "glepnir/lspsaga.nvim", - -- branch = "main", - -- config = function() - -- local saga = require("lspsaga") - - -- saga.init_lsp_saga({ - -- -- your configuration - -- }) - -- end, - --}) - -- use("nvim-lua/popup.nvim") - use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins - use("jose-elias-alvarez/null-ls.nvim") + --use("williamboman/mason.nvim") + --use("williamboman/mason-lspconfig.nvim") + --use("neovim/nvim-lspconfig") + --use("williamboman/nvim-lsp-installer") + --use("glepnir/lspsaga.nvim") + --use("nvim-lua/lsp-status.nvim") use({ - "SmiteshP/nvim-navic", - requires = "neovim/nvim-lspconfig", + "glepnir/lspsaga.nvim", + branch = "main", + config = function() + local saga = require("lspsaga") + + saga.init_lsp_saga({ + -- your configuration + }) + end, }) + -- use("nvim-lua/popup.nvim") --use("SmiteshP/nvim-gps") -- autocomplete plugins use("hrsh7th/nvim-cmp") @@ -130,10 +202,10 @@ return packer.startup(function(use) use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) -- statusline plugins --use("nvim-lualine/lualine.nvim") - use({ - "nvim-lualine/lualine.nvim", - requires = { "kyazdani42/nvim-web-devicons", opt = true }, - }) + --use({ + -- "nvim-lualine/lualine.nvim", + -- requires = { "kyazdani42/nvim-web-devicons", opt = true }, + --}) --use({ -- "folke/trouble.nvim", -- requires = "kyazdani42/nvim-web-devicons", @@ -179,7 +251,6 @@ return packer.startup(function(use) -- UI use("karb94/neoscroll.nvim") use("folke/which-key.nvim") - use("folke/lsp-colors.nvim") use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client use("norcalli/nvim-colorizer.lua") use("folke/zen-mode.nvim") @@ -201,16 +272,13 @@ return packer.startup(function(use) --use("lukas-reineke/indent-blankline.nvim") use("kyazdani42/nvim-web-devicons") -- Colorschemes - use("Mofiqul/vscode.nvim") use("gruvbox-community/gruvbox") use("srcery-colors/srcery-vim") use("tomasr/molokai") use("ayu-theme/ayu-vim") --use("sjl/badwolf") use("joshdick/onedark.vim") - use("folke/tokyonight.nvim") use("everblush/everblush.nvim") - use("sainnhe/edge") use("EdenEast/nightfox.nvim") use("bluz71/vim-nightfly-guicolors") --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" }) diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua deleted file mode 100644 index 6488f29..0000000 --- a/lua/plugins/bufferline.lua +++ /dev/null @@ -1,323 +0,0 @@ -require("bufferline").setup({ - options = { - numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, - close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - --indicator = { - -- icon = '', -- this should be omitted if indicator style is not 'icon' - -- style = 'icon', -- | 'underline' | 'none', - --}, - --indicator_icon = " ", - --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - modified_icon = '●', - left_trunc_marker = "", - right_trunc_marker = "", - show_buffer_close_icons = true, - --diagnostics = "nvim_lsp", - diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", - diagnostics_update_in_insert = false, - buffer_close_icon = "", - separator_style = "thin", - enforce_regular_tabs = true, - always_show_bufferline = true, - max_name_length = 25, - offsets = { - { - filetype = "NvimTree", - text = "File Explorer", - highlight = "StatusLine", - text_align = "center", - }, - }, - custom_areas = { - right = function() - local result = {} - local error = vim.diagnostic.get_count(0, [[Error]]) - local warning = vim.diagnostic.get_count(0, [[Warning]]) - local info = vim.diagnostic.get_count(0, [[Information]]) - local hint = vim.diagnostic.get_count(0, [[Hint]]) - - if error ~= 0 then - result[1] = { text = "  " .. error, fg = "#EC5241" } - end - - if warning ~= 0 then - result[2] = { text = "  " .. warning, fg = "#EFB839" } - end - - if hint ~= 0 then - result[3] = { text = "  " .. hint, fg = "#A3BA5E" } - end - - if info ~= 0 then - result[4] = { text = "  " .. info, fg = "#7EA9A7" } - end - - return result - end, - }, - }, - highlights = { - background = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab_selected = { - fg = "#fdf6e3", - bg = "#002b36", - --fg = tabline_sel_bg, - }, - tab_close = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_selected = { - fg = "002b36", - bg = "#fdf6e3", - bold = true, - italic = true, - }, - numbers = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - hint = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - hint_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - error = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - error_diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - modified = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - duplicate_selected = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true, - }, - duplicate_visible = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - duplicate = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - separator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator = { - fg = "#fdf6e3", - bg = "#002b36", - }, - indicator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - pick_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick_visible = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - --offset_separator = { - -- fg = win_separator_fg, - -- bg = separator_background_color, - --}, - } -}) diff --git a/lua/plugins/bufferline.lua-202209041657.backup b/lua/plugins/bufferline.lua-202209041657.backup deleted file mode 100644 index 1d45e5f..0000000 --- a/lua/plugins/bufferline.lua-202209041657.backup +++ /dev/null @@ -1,322 +0,0 @@ -require("bufferline").setup({ - options = { - numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, - close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - --indicator = { - -- icon = '', -- this should be omitted if indicator style is not 'icon' - -- style = 'icon', -- | 'underline' | 'none', - --}, - --indicator_icon = " ", - --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - modified_icon = '●', - left_trunc_marker = "", - right_trunc_marker = "", - show_buffer_close_icons = true, - --diagnostics = "nvim_lsp", - diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", - diagnostics_update_in_insert = false, - buffer_close_icon = "", - separator_style = "slant", - enforce_regular_tabs = true, - always_show_bufferline = true, - max_name_length = 25, - offsets = { - { - filetype = "NvimTree", - text = "File Explorer", - highlight = "StatusLine", - text_align = "center", - }, - }, - custom_areas = { - right = function() - local result = {} - local error = vim.diagnostic.get_count(0, [[Error]]) - local warning = vim.diagnostic.get_count(0, [[Warning]]) - local info = vim.diagnostic.get_count(0, [[Information]]) - local hint = vim.diagnostic.get_count(0, [[Hint]]) - - if error ~= 0 then - result[1] = { text = "  " .. error, fg = "#EC5241" } - end - - if warning ~= 0 then - result[2] = { text = "  " .. warning, fg = "#EFB839" } - end - - if hint ~= 0 then - result[3] = { text = "  " .. hint, fg = "#A3BA5E" } - end - - if info ~= 0 then - result[4] = { text = "  " .. info, fg = "#7EA9A7" } - end - - return result - end, - }, - }, - highlights = { - background = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab_selected = { - fg = tabline_sel_bg, - bg = "#002b36", - }, - tab_close = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_selected = { - fg = normal_fg, - bg = "#002b36", - bold = true, - italic = true, - }, - numbers = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - hint = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - hint_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - error = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - error_diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - modified = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - duplicate_selected = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true, - }, - duplicate_visible = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - duplicate = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - separator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator = { - fg = "#fdf6e3", - bg = "#002b36", - }, - indicator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - pick_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick_visible = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - --offset_separator = { - -- fg = win_separator_fg, - -- bg = separator_background_color, - --}, - } -}) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua index 39c08d7..93bc5b2 100644 --- a/lua/plugins/cmp.lua +++ b/lua/plugins/cmp.lua @@ -30,7 +30,7 @@ local kind_icons = { Function = "", Constructor = "⚙️", Field = "", - Variable = "", + Variable = "", Class = "ﴯ", Interface = "", Module = "", @@ -112,10 +112,10 @@ cmp.setup({ }, }) -vim.cmd([[ - set completeopt=menuone,noinsert,noselect - highlight! default link CmpItemKind CmpItemMenuDefault -]]) +--vim.cmd([[ +-- set completeopt=menuone,noinsert,noselect +-- highlight! default link CmpItemKind CmpItemMenuDefault +--]]) cmp.setup.cmdline("/", { mapping = cmp.mapping.preset.cmdline(), diff --git a/lua/plugins/heirline.backup.lua b/lua/plugins/heirline.backup.lua deleted file mode 100644 index d65de92..0000000 --- a/lua/plugins/heirline.backup.lua +++ /dev/null @@ -1,733 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -require("nvim-gps").setup({ - icons = { - ["class-name"] = " ", - ["function-name"] = " ", - ["method-name"] = " ", - ["container-name"] = "炙", - ["tag-name"] = "炙", - }, -}) - -vim.o.laststatus = 3 - -local colors = { - bg = "#333842", - brown = "#504945", - white = "#f8f8f0", - grey = "#8F908A", - black = "#000000", - pink = "#f92672", - green = "#a6e22e", - blue = "#66d9ef", - yellow = "#e6db74", - orange = "#fd971f", - purple = "#ae81ff", - red = "#e95678", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -local ViMode = { - -- get vim current mode, this information will be required by the provider - -- and the highlight functions, so we compute it only once per component - -- evaluation and store it as a component attribute - init = function(self) - self.mode = vim.fn.mode(1) -- :h mode() - end, - -- Now we define some dictionaries to map the output of mode() to the - -- corresponding string and color. We can put these into `static` to compute - -- them at initialisation time. - static = { - mode_names = { - -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - mode_colors = { - n = colors.green, - i = colors.pink, - v = colors.blue, - V = colors.blue, - [""] = colors.blue, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - }, - -- We can now access the value of mode() that, by now, would have been - -- computed by `init()` and use it to index our strings dictionary. - -- note how `static` fields become just regular attributes once the - -- component is instantiated. - -- To be extra meticulous, we can also add some vim statusline syntax to - -- control the padding and make sure our string is always at least 2 - -- characters long. Plus a nice Icon. - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" - end, - -- Same goes for the highlight. Now the foreground will change according to the current mode. - hl = function(self) - local mode = self.mode:sub(1, 1) -- get only the first mode character - return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } - end, -} - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} --- We can now define some children separately and add them later - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "[No Name]" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return "" - end - end, - hl = { fg = colors.orange }, - }, -} - --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - -- use `force` because we need to override the child's hl foreground - return { fg = colors.cyan, bold = true, force = true, bg = colors.bg } - end - end, -} - --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local Diagnostics = { - condition = conditions.has_diagnostics, - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, -} - -local Git = { - condition = conditions.is_git_repo, - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - hl = { fg = colors.orange, bg = colors.bg }, - { - -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.change, bg = colors.bg }, - }, -} - -local WorkDir = { - provider = function() - local icon = " " - local cwd = vim.fn.getcwd(0) - cwd = vim.fn.fnamemodify(cwd, ":~") - if not conditions.width_percent_below(#cwd, 0.25) then - cwd = vim.fn.pathshorten(cwd) - end - local trail = cwd:sub(-1) == "/" and "" or "/" - return icon .. cwd .. trail - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, -} - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - hl = { bold = true, bg = colors.bg }, -} - -local Ruler = { - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - provider = "%7 %p%% Ln %l, Col %c", -} - -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " " } - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileEncoding = { - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:upper() - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - FileEncoding, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileNameShort = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":t") - if filename == "" then - return "[No Name]" - end - return filename - end, - hl = { fg = colors.gray, bg = colors.bg }, -} - -local FileNameShortBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileNameShortBlock = utils.insert( - FileNameShortBlock, - FileIcon, - FileNameShort, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local Gps = { - condition = require("nvim-gps").is_available, - provider = function() - local loc = require("nvim-gps").get_location() - if loc == "" then - return "" - end - return "> " .. loc - end, - hl = { fg = colors.gray, bg = colors.bg }, -} - -local DefaultStatusline = { - ViMode, - Space, - FileNameBlock, - Space, - Diagnostics, - Align, - Ruler, - Space, - FileInfoBlock, - Space, - Git, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - FileType, - Space, - Align, -} - -local TerminalStatusline = { - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - TerminalName, - Align, -} - -local StatusLines = { - fallthrough = false, - SpecialStatusline, - TerminalStatusline, - DefaultStatusline, -} - -local GSpace = { provider = " ", hl = { bg = colors.bg } } - -local WinBars = { - fallthrough = false, - { - -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix", "nofile", "promt" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - provider = "", - }, - { - -- An inactive winbar for regular files - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) and not conditions.is_active() - end, - utils.surround( - { "", "" }, - colors.bright_bg, - { hl = { fg = "gray", force = true }, GSpace, TerminalName, Align } - ), - }, - { - -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, colors.dark_red, { - GSpace, - TerminalName, - Align, - }), - }, - { - -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround( - { "", "" }, - colors.bright_bg, - { hl = { fg = "gray", force = true }, GSpace, FileNameShortBlock, Align } - ), - }, - -- A winbar for regular files - { GSpace, FileNameShortBlock, GSpace, Gps, Align }, -} - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+]" - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "" - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineDiagnostics = { - static = { - error_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - init = function(self) - self.errors = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.INFO }) - end, - { - provider = function(self) - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - else - return "TabLine" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = true }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineFileIcon, - TablineFileName, - TablineFileFlags, - TablineDiagnostics, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.bo[self.bufnr].modified - end, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLine").bg - end -end, { TablineFileNameBlock, TablineCloseButton }) - --- and here we go -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - hl = "TabLine", -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - -local TabLine = { TabLineOffset, BufferLine, TabPages } - -require("heirline").setup(StatusLines, WinBars, TabLine) - -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -vim.api.nvim_create_augroup("Heirline", { clear = true }) -vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - local colors = setup_colors() - utils.on_colorscheme(colors) - end, - group = "Heirline", -}) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) diff --git a/lua/plugins/heirline.backup2.lua b/lua/plugins/heirline.backup2.lua deleted file mode 100644 index 9f5c4ca..0000000 --- a/lua/plugins/heirline.backup2.lua +++ /dev/null @@ -1,1921 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - --- Colors ---local colors = { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, ---} - ---local colors = { --- gray = '#23232e', --- lightgray = '#5f6a8e', --- orange = '#ffb86c', --- purple = '#bd93f9', --- red = '#ff5555', --- yellow = '#f1fa8c', --- green = '#50fa7b', --- white = '#f8f8f2', --- black = '#282a36', ---} -local colors = { - bg = "#333842", - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - brown = "#504945", - white = "#f8f8f0", - grey = "#8F908A", - pink = "#f92672", - --green = "#a6e22e", - green = "#AAD94C", - --blue = "#66d9ef", - blue = "#39BAE6", - yellow = "#e6db74", - --orange = "#fd971f", - orange = "#FA8D3F", - purple = "#ae81ff", - --red = "#e95678", - red = "#F07171", - cyan = "#66d9eC", - mode_fg = "#242424", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - ---local mode_lable = { --- n = 'NORMAL', --- no = 'OPPEND', --- nov = 'N?', --- noV = 'N?', --- ['no\22'] = 'N?', --- niI = 'Ni', --- niR = 'Nr', --- niV = 'Nv', --- nt = 'N-TERM', --- v = 'VISUAL', --- vs = 'Vs', --- V = 'V-LINE', --- Vs = 'Vs', --- ['\22'] = 'V-BLCK', --- ['\22s'] = '^V', --- s = 'SELECT', --- S = 'S-LINE', --- ['\19'] = 'S-BLCK', --- i = 'INSERT', --- ic = 'ICOMPL', --- ix = 'Ix', --- R = 'REPLACE', --- Rc = 'Rc', --- Rx = 'Rx', --- Rv = 'VRPLCE', --- Rvc = 'Rv', --- Rvx = 'Rv', --- c = 'CMMAND', --- cv = 'PROMPT', --- r = '...', --- rm = 'MORE', --- ['r?'] = 'CNFIRM', --- ['!'] = 'SHELL', --- t = 'TERM', ---} --- ---local mode_colors_table = { --- n = 'red', --- no = 'blue', --- nov = 'blue', --- noV = 'blue', --- niI = 'red', --- niR = 'red', --- niV = 'red', --- nt = 'red', --- v = 'cyan', --- vs = 'cyan', --- V = 'cyan', --- Vs = 'cyan', --- ['\22'] = 'cyan', --- ['\22s'] = 'cyan', --- s = 'purple', --- S = 'purple', --- ['\19'] = 'purple', --- i = 'blue', --- ic = 'blue', --- ix = 'blue', --- R = 'orange', --- Rc = 'orange', --- Rx = 'orange', --- Rv = 'orange', --- Rvc = 'orange', --- Rvx = 'orange', --- c = 'green', --- cv = 'green', --- r = 'green', --- rm = 'green', --- ['r?'] = 'green', --- ['!'] = 'red', --- t = 'red', ---} --- ---local mode_colors = setmetatable({ --- n = { fg = 'red' } ---}, { --- __index = function(_, mode) --- return { --- fg = 'mode_fg', --- bg = mode_colors_table[mode], --- } --- end ---}) --- --- ---local VimModeNormal = { --- condition = function(self) --- return self.mode == 'n' --- end, --- provider = ' ●', ---} --- ---local VimModeOthers = { --- condition = function(self) --- return self.mode ~= 'n' --- end, --- --- utils.surround({ '', '' }, --- function(self) --- return mode_colors[self.mode].bg --- end, --- { --- { --- provider = function(self) --- return '● ' .. mode_lable[self.mode] --- end, --- }, --- hl = function(self) --- return mode_colors[self.mode] --- end --- } --- ), ---} --- ---local ViMode = { --- init = function(self) --- self.mode = vim.fn.mode(1) --- end, --- --- VimModeNormal, VimModeOthers, --- --- update = { 'ModeChanged' } ---} ---local colors = require'kanagawa.colors'.setup() -- wink - ---utils.surround({ "", "" }, function(self) return self:mode_color() end, {Ruler, hl = {fg = 'black'}} ), --- we are surrounding the component and adjusting the foreground in one go! - --- ViMode truemode ---local ViMode = { --- -- get vim current mode, this information will be required by the provider --- -- and the highlight functions, so we compute it only once per component --- -- evaluation and store it as a component attribute --- init = function(self) --- self.mode = vim.fn.mode(1) -- :h mode() --- --- -- execute this only once, this is required if you want the ViMode --- -- component to be updated on operator pending mode --- if not self.once then --- vim.api.nvim_create_autocmd("ModeChanged", { --- pattern = "*:*o", --- command = "redrawstatus", --- }) --- self.once = true --- end --- end, --- -- Now we define some dictionaries to map the output of mode() to the --- -- corresponding string and color. We can put these into `static` to compute --- -- them at initialisation time. --- static = { --- mode_names = { -- change the strings if you like it vvvvverbose! --- ["n"] = "NORMAL ", --- ["no"] = "N·OPERATOR PENDING ", --- ["v"] = "VISUAL ", --- ["V"] = "V·LINE ", --- [""] = "V·BLOCK ", --- ["s"] = "SELECT ", --- ["S"] = "S·LINE ", --- [""] = "S·BLOCK ", --- ["i"] = "INSERT ", --- ["R"] = "REPLACE ", --- ["Rv"] = "V·REPLACE ", --- ["c"] = "COMMAND ", --- ["cv"] = "VIM EX ", --- ["ce"] = "EX ", --- ["r"] = "PROMPT ", --- ["rm"] = "MORE ", --- ["r?"] = "CONFIRM ", --- ["!"] = "SHELL ", --- ["t"] = "TERMINAL ", --- }, --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- --n = "blue" , --- --i = "green", --- --v = "cyan", --- --V = "cyan", --- --["\22"] = "cyan", --- --c = "orange", --- --s = "purple", --- --S = "purple", --- --["\19"] = "purple", --- --R = "orange", --- --r = "orange", --- --["!"] = "red", --- --t = "red", --- }, --- }, --- -- We can now access the value of mode() that, by now, would have been --- -- computed by `init()` and use it to index our strings dictionary. --- -- note how `static` fields become just regular attributes once the --- -- component is instantiated. --- -- To be extra meticulous, we can also add some vim statusline syntax to --- -- control the padding and make sure our string is always at least 2 --- -- characters long. Plus a nice Icon. --- provider = function(self) --- return " %2(" .. self.mode_names[self.mode] .. "%)" --- --return " %2("..self.mode_names[self.mode].."%)" --- -- --- -- --- -- --- end, --- -- Same goes for the highlight. Now the foreground will change according to the current mode. --- hl = function(self) --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- end, --- -- Re-evaluate the component only on ModeChanged event! --- -- This is not required in any way, but it's there, and it's a small --- -- performance improvement. --- update = { --- "ModeChanged", --- }, --optional ---} -local ViMode = { - static = { - mode_names = { -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color, fg = colors.bg, bold = true } - end, -} - -local ViModeColor = { - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - }, -} - --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} --- ----- lsp status ----- I personally use it only to display progress messages! ----- See lsp-status/README.md for configuration options. --- ----- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. ---local LSPMessages = { --- provider = require("lsp-status").status, --- hl = { fg = "gray" }, ---} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local fill = { provider = "%=", hl = { bg = colors.nobg } } ---local LeftSep = { provider = "" hl = { fg = colors.bg } } ---local RightSep = { provider = "" hl = { fg = colors.bg }} - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - --return { fg = self.icon_color } - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "[No Name]" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return "" - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - -- use `force` because we need to override the child's hl foreground - --return { fg = "cyan", bold = true, force = true } - return { fg = "blue", bold = true, force = true, bg = colors.bg } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - -- return string.upper(vim.bo.filetype) - --end, - ----hl = { fg = utils.get_highlight("Type").fg, bold = true }, - --hl = { fg = utils.get_highlight("Type").fg, bold = true, bg = colors.bg }, - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:upper() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - provider = "%3(%2l%):%c %P", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} ---local ScrollBar = { --- static = { --- --sbar = { "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" }, --- sbar = { "🭶", "🭷", "🭸", "🭹", "🭺", "🭻" }, --- }, --- provider = function(self) --- local curr_line = vim.api.nvim_win_get_cursor(0)[1] --- local lines = vim.api.nvim_buf_line_count(0) --- local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1 --- return string.rep(self.sbar[i], 2) --- end, --- --hl = { fg = "blue", bg = "bright_bg" }, --- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, ---} -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%p%%" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - --hl = { fg = "blue", bold = true }, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - --hl = { fg = "blue", bold = true }, - hl = { bold = true, bg = colors.bg }, -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - FileEncoding, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - --- Statusline - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) - ---utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), -local DefaultStatusline = { - ViMode, - Space, - FileNameBlock, - Space, - Git, - Space, - Diagnostics, - Align, - Navic, - DAPMessages, - Align, - Space, - FileInfoBlock, - Space, - WordCount, - Ruler, - Space, - --Position, - --Percentage, - --ScrollBar, - --Space, - --LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar -} - ---local InactiveStatusline = { --- condition = conditions.is_not_active, --- FileType, --- Space, --- FileName, --- Align, ---} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - FileType, - Space, - Align, - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - hl = { bg = "dark_red" }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - { condition = conditions.is_active, ViMode, Space }, - FileType, - Space, - TerminalName, - Align, -} - ---local StatusLines = { --- --- hl = function() --- if conditions.is_active() then --- return "StatusLine" --- else --- return "StatusLineNC" --- end --- end, --- --- -- the first statusline with no condition, or which condition returns true is used. --- -- think of it as a switch case with breaks to stop fallthrough. --- fallthrough = false, --- --- SpecialStatusline, --- TerminalStatusline, --- --InactiveStatusline, --- DefaultStatusline, ---} -local StatusLines = { - - hl = function() - if conditions.is_active() then - return "StatusLine" - else - return "StatusLineNC" - end - end, - - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - --InactiveStatusline, - DefaultStatusline, -} ---hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, --- hl = { bg = colors.bg }, ---require("heirline").setup(StatusLines) --- we're done. - ---local FelineStyle = { --- --- -- stop at child where buftype/filetype/bufname matches --- fallthrough = false, --- --- { -- Identify the buftype/filetype/bufname first --- condtion = function() --- return conditions.buffer_matches({...}) --- end, --- --- -- Evaluate only the "active" or "inactive" child --- fallthrough = false, --- --- { -- If it's the current window, display some components --- condition = conditions.is_active --- {...} -- --- }, --- { -- Otherwise, display some other components --- {...} -- --- } --- }, --- { -- this block can be exactly as the one above for a different kind of --- -- buffer --- ... --- } ---} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) -local active_middle_segment = { --{{{ - -- provider = "%999X  %X", - - --provider = function(self) - -- --return " %999X %999X " - -- return " %2("..self.mode_names[self.mode].."%)" - -- -- - -- -- - -- -- - --end, - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - --utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), - }, - -- A winbar for regular files - --utils.surround({ "", "" }, "bright_bg", FileNameBlock), - --█🙼🙽🙼█⮘██⮚ - --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = function(self) - -- local color = self:mode_color() -- here! - -- return { bg = color, bold = true, force = true } - --end, - --}), - --utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), -} - ---utils.surround({ "", "" }, function(self) return self:mode_color() end, { active_middle_segment, hl = { fg = colors.bg, force = true } }) - -local WinBars = { - fill, - active_middle_segment, - fill, -} --- --utils.surround({ " ", " " }, colors.nobg, { fill, active_middle_segment, fill }) --- --static = { --- -- mode_colors_map = { --- -- n = colors.blue, --- -- i = colors.green, --- -- v = colors.purple, --- -- V = colors.purple, --- -- [""] = colors.purple, --- -- c = colors.red, --- -- s = colors.purple, --- -- S = colors.purple, --- -- [""] = colors.purple, --- -- R = colors.orange, --- -- r = colors.orange, --- -- ["!"] = colors.red, --- -- t = colors.red, --- -- }, --- -- mode_color = function(self) --- -- local mode = conditions.is_active() and vim.fn.mode() or "n" --- -- return self.mode_colors_map[mode] --- -- end, --- --}, --- --utils.surround({ " ", " " }, colors.nobg, { active_middle_segment, hl = function(self) --- -- local color = self:mode_color() -- here! --- -- return { bg = color, bold = true, force = true } --- --end, --- --}) ---} -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - --- Use it anywhere! ---local WinBarFileName = utils.surround({ "", "" }, "bright_bg", { --- hl = function() --- if not conditions.is_active() then --- return { fg = "gray", force = true } --- end --- end, --- FileNameBlock, --- Space, --- CloseButton, ---}) - ---local WinBars = { --- -- init = utils.pick_child_on_condition, --- fallthrough = false, --- { --- condition = function() --- return conditions.buffer_matches({ --- buftype = { "nofile", "prompt", "help", "quickfix" }, --- filetype = { "^git.*", "fugitive" }, --- }) --- end, --- init = function() --- vim.opt_local.winbar = nil --- end, --- }, --- { --- condition = function() --- return conditions.buffer_matches({ buftype = { "terminal" } }) --- end, --- utils.surround({ "", "" }, "dark_red", { --- FileType, --- Space, --- TerminalName, --- CloseButton, --- }), --- }, --- utils.surround({ "", "" }, "bright_bg", { --- hl = function() --- if conditions.is_not_active() then --- return { fg = "gray", force = true } --- end --- end, --- --- FileNameBlock, --- CloseButton, --- }), ---} - --- TabLine ---local TabLine ={ --- hl = { bg = colors.bg }, ---} -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. ". " - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - --- this looks exactly like the FileFlags component that we saw in --- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly --- also, we are adding a nice icon for terminal buffers. ---local TablineFileFlags = { --- { --- condition = function(self) --- return vim.api.nvim_buf_get_option(self.bufnr, "modified") --- end, --- provider = "[+]", --- --hl = { fg = colors.green }, --- hl = { fg = colors.green, bold = true, bg = colors.bg }, --- }, --- { --- condition = function(self) --- return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable") --- or vim.api.nvim_buf_get_option(self.bufnr, "readonly") --- end, --- provider = function(self) --- if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then --- return "  " --- else --- return "" --- end --- end, --- hl = { fg = "orange", bg = colors.bg }, --- }, ---} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+]" - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "" - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLine" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! ---local TablineBufferBlock = utils.surround({ "", "", hl = { bg =colors.bg } }, function(self) --- if self.is_active then --- return utils.get_highlight("TabLineSel").fg, utils.get_highlight("TabLineSel").bg --- else --- return utils.get_highlight("TabLine").fg, utils.get_highlight("TabLine").bg --- end -----end, { TabLine, TablineFileNameBlock, TablineCloseButton }) ---end, { TablineFileNameBlock, TablineCloseButton }) - ---local TablineBufferBlock = utils.surround({ "█", "█" }, "bg", { --- hl = function() --- if not conditions.is_active() then --- return { fg = "gray", force = true, bg = colors.bg } --- end --- end, --- TablineFileNameBlock, --- TablineCloseButton, ---}) ---local TablineBufferBlock = utils.surround({ "█", "█" }, --- { hl = function(self) --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- end, }, ---{ TablineFileNameBlock, TablineCloseButton, { hl = ViMode }, }) - ---local TablineBufferBlock = { --- init = function(self) --- --- self.mode = vim.fn.mode(1) -- :h mode() --- --- vim.api.nvim_create_autocmd("ModeChanged", { --- pattern = "*:*o", --- command = "redrawstatus", --- }) --- self.once = true --- end, --- static = { --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- }, --- hl = function(self) --- if self.is_active then --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- else --- return utils.get_highlight("TabLine").bg --- end --- end, --- update = { --- "ModeChanged", --- }, --optional --- { TablineFileNameBlock, TablineCloseButton } ---} - ---local TabLineSel = { --- hl = { bg = self.mode_colors[mode], fg = colors.bg, bold = true } ---} ---local ViMode2 = { --- init = function(self) --- self.mode = vim.fn.mode() --- end, --- static = { --- mode_colors = { --- n = "red", --- i = "green", --- v = "blue", --- c = "orange" --- --- } --- }, --- provider = function(self) --- return string.upper(self.mode) --- end, --- hl = function(self) --- return { fg = self.mode_colors[self.mode], bold = true, } --- end ---} ---local surrr = { --- utils.surround({ "", "" }, "red", { --- utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), --- { provider = "Normal" }, --- }), ---} ---local statusline = ViMode - ---local TablineBufferBlock = utils.surround({ "", "" }, function(self) --- if self.is_active then --- --self.mode = vim.fn.mode(1) -- :h mode() --- --- --return utils.get_highlight(vim.api.nvim_get_mode().mode).bg --- return utils.get_highlight("TabLineSel").bg --- --return utils.get_highlight("Normal").bg --- --local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { bg = TabLineSel, fg = colors.bg, bold = true } --- else --- return utils.get_highlight("TabLine").bg --- end ---end, { TablineFileNameBlock, TablineCloseButton }) - -local TablineBufferBlock = utils.surround({ "█", "▎" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLine").bg - end -end, { TablineFileNameBlock, TablineCloseButton }) ---█ ---local TablineBufferBlock = { --- init = function(self) --- self.mode = vim.fn.mode() --- end, --- static = { --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- }, --- hl = function(self) --- if conditions.is_active() then --- return { bg = self.mode_colors[self.mode], fg = colors.bg, bold = true } --- else --- return utils.get_highlight("Tabline").bg --- end --- end, --- update = { --- "ModeChanged", --- }, --optional --- { TablineFileNameBlock, TablineCloseButton }, ---} - ---local TablineBufferBlock = { --- static = { --- mode_colors_map = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- mode_color = function(self) --- local mode = conditions.is_active() and vim.fn.mode() or "n" --- return self.mode_colors_map[mode] --- end, --- }, --- { -- A special winbar for terminals --- condition = function() --- return conditions.buffer_matches({ buftype = { "terminal" } }) --- end, --- utils.surround({ "", "" }, "dark_red", { --- FileType, --- Space, --- TerminalName, --- }), --- }, --- { -- An inactive winbar for regular files --- condition = function() --- return conditions.is_not_active() --- end, --- utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton } ) --- }, --- { --- condition = function() --- return conditions.is_active() --- end, --- utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ) --- }, ---function() ---if self.is_active then ---utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), ---utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), ---utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ), ---} ---ViMode = utils.surround({ "", "" }, function(self) --- if self.is_active then --- return self:mode_color() --- else --- return utils.get_highlight("TabLine").bg --- end --- end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } ) --- -----} ---local TablineBufferBlock = { --- ViMode, --- TablineFileName, --- TablineCloseButton, ---} --- A winbar for regular files ---utils.surround({ "", "" }, "bright_bg", FileNameBlock), ---utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- if self.is_active then --- return utils.get_highlight("TabLineSel").bg --- else --- return utils.get_highlight("TabLine").bg --- end ---end, { TablineFileNameBlock, TablineCloseButton, } ) --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) ---local StatusLines = { --- --- hl = function() --- if conditions.is_active() then --- return "StatusLine" --- else --- return "StatusLineNC" --- end --- end, --- --- -- the first statusline with no condition, or which condition returns true is used. --- -- think of it as a switch case with breaks to stop fallthrough. --- fallthrough = false, --- --- SpecialStatusline, --- TerminalStatusline, --- --InactiveStatusline, --- DefaultStatusline, ---} --- --- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, --- hl = { bg = colors.bg }, ---local TabLine ={ --- hl = { bg = colors.bg }, ---} --- Window Close button: Let the callback know from which window it was clicked from! --- The following is the recommended way of achieving that: -require("heirline").setup(StatusLines, WinBars, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -vim.api.nvim_create_augroup("Heirline", { clear = true }) -vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - local colors = setup_colors() - utils.on_colorscheme(colors) - end, - group = "Heirline", -}) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) --- Theming ---local function setup_colors() --- return { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, --- } ---end ---require('heirline').load_colors(setup_colors()) --- ---vim.api.nvim_create_augroup("Heirline", { clear = true }) ---vim.api.nvim_create_autocmd("ColorScheme", { --- callback = function() --- local colors = setup_colors() --- utils.on_colorscheme(colors) --- end, --- group = "Heirline", ---}) diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua index ae2bf41..78408dc 100644 --- a/lua/plugins/heirline.lua +++ b/lua/plugins/heirline.lua @@ -6,6 +6,7 @@ local colors = { bg = nil, nobg = nil, white = "#f8f8f2", + black = "#000000", darkgray = "#23232e", gray = "#2d2b3a", lightgray = "#d6d3ea", @@ -87,7 +88,7 @@ local ViMode = { }, }, provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" + return " %2(" .. self.mode_names[self.mode] .. "%) " end, hl = function(self) local color = self:mode_color() @@ -527,7 +528,7 @@ local help_file_name = { } -- Cursor position: Ruler -local Ruler = { +--local Ruler = { -- %l = current line number -- %L = number of lines in the buffer -- %c = column number @@ -545,22 +546,38 @@ local Ruler = { --provider = "%6(%l:%1.5c/%L%) ", --provider = "%3(%l:%1.5c/%L%) ", --provider = "%7(%l/%3L%):%2c ", - provider = "%7(%l:%c%) ", +-- provider = "%7(%l:%c%) ", --provider = "%l:%c ", --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, - hl = { fg = colors.darkgray, bold = true }, -} - +-- hl = { fg = colors.darkgray, bold = true }, +--} +local leftruler = { Space, Align } +local rightruler = { Align, Space } local cursor_location = { - { provider = "%l/%L|%c ", hl = { bold = true } }, - { - provider = " %P ", - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - }, + --{ provider = "", hl = { fg = utils.get_highlight("StatusLine").bg, bold = true } }, +-- { provider = "%<%-05.10(%l:%c%)", hl = { fg = colors.darkgray, bold = true } }, +-- { provider = " ", hl = { fg = colors.darkgray, bold = true } }, + --{ provider = "%P %=%<%(%l,%c)" }, + --{ provider = " %w%-8.(%l,%c%)%>" }, + { provider = " %1(%4l:%-3(%c%) %)%*", hl = { fg = colors.black, bold = true } }, } +local Ruler = { cursor_location } + + --utils.make_flexible_component( + -- 3, + -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + -- { provider = "%<" } + --), +--local cursor_location = { +-- { provider = "%7(%l:%c%) ", hl = { bold = true } }, +-- { +-- provider = " ", +-- hl = function(self) +-- local color = self:mode_color() +-- return { fg = color, bold = true } +-- end, +-- }, +--} local WordCount = { condition = function() @@ -787,14 +804,14 @@ local StatusLine = { v = colors.purple, V = colors.purple, ["\22"] = colors.purple, - c = colors.red, + c = colors.orange, s = colors.purple, S = colors.purple, ["\19"] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, + R = colors.red, + r = colors.red, + ["!"] = colors.orange, + t = colors.orange, }, mode_color = function(self) local mode = conditions.is_active() and vim.fn.mode() or "n" @@ -813,7 +830,57 @@ local StatusLine = { DefaultStatusline, } --- WinBar + +-- +--- WinBar +-- +local WinbarFileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + hl = { bg = colors.bg }, +} + +--local WinbarFileName = { +-- provider = function(self) +-- -- self.filename will be defined later, just keep looking at the example! +-- local filename = self.filename +-- filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") +-- return filename +-- end, +-- hl = function() +-- return { fg = colors.gray, italic = true } +-- end, +--} +local WinbarFileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, + hl = { fg = colors.gray, bold = false, bg = colors.bg }, +} + +WinbarFileNameBlock = utils.insert( + WinbarFileNameBlock, + FileIcon, + utils.insert(WinbarFileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + vim.api.nvim_create_autocmd("User", { pattern = "HeirlineInitWinbar", callback = function(args) @@ -888,7 +955,8 @@ local Center = { condition = function() return not conditions.is_active() end, - utils.surround({ "", "" }, colors.nobg, { Space }), + --utils.surround({ "", "" }, colors.nobg, { FileIcon, { WinbarFileName, hl = { fg = colors.gray } }, FileFlags } ), + utils.surround({ "", "" }, colors.nobg, { WinbarFileNameBlock } ), }, -- A winbar for regular files utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), @@ -897,6 +965,7 @@ local Center = { --local WinBar = { Align, Center, Align } local WinBar = { Space, Center } + -- TabLine local TablineBufnr = { provider = function(self) @@ -1020,12 +1089,10 @@ end, { Tab, TablineFileNameBlock, TablineCloseButton }) local BufferLine = utils.make_buflist( TablineBufferBlock, - { provider = "", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them and here's some - -- free icons  ;) + { provider = "􀰎 ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") + { provider = " 􀰓", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) ) - -- TabList local Tabpage = { provider = function(self) diff --git a/lua/plugins/heirline.lua-202210111610.backup b/lua/plugins/heirline.lua-202210111610.backup deleted file mode 100644 index e1a54e3..0000000 --- a/lua/plugins/heirline.lua-202210111610.backup +++ /dev/null @@ -1,1452 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - white = "#f8f8f2", - --darkgray = "#1c1c29", - --darkgray = "#2d2b3a", - --darkgray = "#181818", - darkgray = "#23232e", - --darkgray = "#404040", - --gray = "#333842", - --gray = "#393547", - --gray = "#333842", - --lightgray = "#888888", - gray = "#2d2b3a", - lightgray = "#d6d3ea", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - ---purple = "#bd93f9", - ---purple = "#be2ed6", - purple = "#BF40BF", - --purple = "#5D3FD3", - --purple = "#DA70D6", - violet = "#7F00FF", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - -local ViMode = { - init = function(self) - self.mode = vim.fn.mode(1) - if not self.once then - vim.cmd("au ModeChanged *:*o redrawstatus") - end - self.once = true - end, - static = { - mode_names = { - n = "NORMAL ", - no = "N·OPERATOR PENDING ", - nov = "N?", - noV = "N?", - ["no\22"] = "N? ", - niI = "Ni", - niR = "Nr", - niV = "Nv", - nt = "Nt", - v = "VISUAL ", - vs = "Vs", - V = "V·LINE ", - ["\22"] = "V·BLOCK ", - ["\22s"] = "V·BLOCK ", - s = "SELECT ", - S = "S·LINE ", - ["\19"] = "S·BLOCK ", - i = "INSERT ", - ix = "insert x ", - ic = "insert c ", - R = "REPLACE ", - Rc = "Rc", - Rx = "Rx", - Rv = "V·REPLACE ", - Rvc = "Rv", - Rvx = "Rv", - c = "COMMAND ", - cv = "VIM EX ", - --ce = "EX ", - r = "PROMPT ", - rm = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - t = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" - end, - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - update = { - "ModeChanged", - }, -} - --- --- --- ---  ---凜兩 --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = { "LspAttach", "LspDetach" }, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- --- provider = function() --- local names = vim.tbl_values(vim.tbl_map(function(cl) --- return cl.name --- end, vim.lsp.buf_get_clients(0))) --- --- return "LSP " .. table.concat(names, " ") .. "" --- end, --- hl = { fg = colors.bg }, ---} -local LSPActive = { - condition = conditions.lsp_attached, - update = { "LspAttach", "LspDetach" }, - - -- You can keep it simple, - -- provider = " [LSP]", - - -- Or complicate things a bit and get the servers names - provider = function() - local buf_clients = vim.lsp.buf_get_clients() - local buf_ft = vim.bo.filetype - local buf_client_names = {} - - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" then - table.insert(buf_client_names, client.name) - end - end - return "⚙️ " .. table.concat(buf_client_names, "") - --return table.concat(buf_client_names, " ") - --return "⚙️﬉ " .. table.concat(buf_client_names, ", ") .. " " - --return " " .. table.concat(names, " ") .. " " - end, - hl = { fg = colors.lightgray, bold = false }, -} ---local LSPActive = { --- function(msg) --- msg = msg or "LS Inactive" --- local buf_clients = vim.lsp.buf_get_clients() --- if next(buf_clients) == nil then --- if type(msg) == "boolean" or #msg == 0 then --- return "LS Inactive" --- end --- return msg --- end --- --- local buf_ft = vim.bo.filetype --- local buf_client_names = {} --- --- -- add client --- for _, client in pairs(buf_clients) do --- if client.name ~= "null-ls" then --- table.insert(buf_client_names, client.name) --- end --- end --- --- -- add formatter --- local formatters = require("user.lsp.null-ls.formatters") --- local supported_formatters = formatters.list_registered(buf_ft) --- vim.list_extend(buf_client_names, supported_formatters) --- --- -- add linter --- local linters = require("user.lsp.null-ls.linters") --- local supported_linters = linters.list_registered(buf_ft) --- vim.list_extend(buf_client_names, supported_linters) --- --- return table.concat(buf_client_names, " ") --- -- return "[" .. table.concat(buf_client_names, ", ") .. "]" --- end, --- hl = { fg = colors.bg }, ---} --- lsp status --- I personally use it only to display progress messages! --- See lsp-status/README.md for configuration options. - --- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. -local LSPMessages = { - provider = require("lsp-status").status, - hl = { fg = "gray" }, -} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - --±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, --- hl = { bg = colors.bg }, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - provider = "%3(%l:%1.5c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) ", - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - -local Total = { - provider = "%L", - hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, -} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%P" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - ---local TerminalName = { --- -- we could add a condition to check that buftype == 'terminal' --- -- or we could do that later (see #conditional-statuslines below) --- provider = function() --- local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") --- return " " .. tname --- end, --- hl = { bold = true, bg = colors.bg }, ---} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) ---ViMode = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) --- Statusline ---BackgroundStatusline = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) --- -local Surrr = { - utils.surround({ "", "" }, "gray", { - FileInfoBlock, - hl = { bg = colors.gray }, - utils.surround({ "", "" }, "gray", { - Percentage, - utils.surround({ "", "" }, function(self) - return self:mode_color() - end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), - }), - }), -} - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) --- -RightSpace = utils.surround( - { "", "" }, - colors.gray, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround( - { "█", "" }, - colors.darkgray, - { RightSpace2, hl = { fg = colors.darkgray, force = true } } -) - -RightSpace3 = utils.surround( - { "█", "" }, - utils.get_highlight("statusline").bg, - { RightSpace3, hl = { fg = colors.darkgray, force = true } } -) ---RightSpace = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) ----- --- ---Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) --- - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.gray, { Space, Ruler, hl = { fg = colors.gray, force = true } }) - -local align = { provider = "%=" } -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { - RightSpace3, - hl = { bg = colors.darkgray, force = true }, - }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { LSPActive, hl = { bg = colors.darkgray, force = true } }, - --{ FileEncoding, hl = { bg = colors.orange, force = true } }, - { RightSpace2, hl = { bg = colors.gray, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileInfoBlock, hl = { bg = colors.gray, force = true } }, - --{ Space, hl = { bg = colors.red, force = true } }, - --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = colors.gray, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local sections = { left, middle, right } -local DefaultStatusline = { sections } - ---local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } ---local statusline = { ---Space, ---Space, ---Git, ---Space, ---Diagnostics, ---Align, ---Navic, ---DAPMessages, ---Align, ---Space, ---FileInfoBlock, ---Space, ---WordCount, ---Ruler, ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar ---} - -local InactiveStatusline = { - condition = conditions.is_not_active, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - --FileType, - --Space, - --Align, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - --hl = { bg = colors.red }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - --{ condition = conditions.is_active, ViMode, Space }, - - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --FileType, - --Space, - --TerminalName, - --Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - ["\22"] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - ["\19"] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - --mode_colors_map = { - -- n = colors.blue, - -- i = colors.green, - -- v = colors.purple, - -- V = colors.violet, - -- [""] = colors.red, - -- c = colors.yellow, - -- s = colors.orange, - -- S = colors.orange, - -- [""] = colors.purple, - -- R = colors.orange, - -- r = colors.orange, - -- ["!"] = colors.red, - -- t = colors.red, - }, - --mode_color = function(self) - -- local mode = conditions.is_active() and vim.fn.mode() or "n" - -- return self.mode_colors_map[mode] - --end, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - InactiveStatusline, - DefaultStatusline, -} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local active_middle_segment = { --{{{ - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), - }, -} - ---local WinBar = { --- Fill, --- active_middle_segment, --- Fill, ---} -local WinBar = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), - }, - -- A winbar for regular files - utils.surround({ "", "" }, colors.nobg, FileNameBlock), -} - --- TabLine --- - -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - --+ - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) ---require("heirline").setup(StatusLine, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - ---local function get_bufs() --- return vim.tbl_filter(function(bufnr) --- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted --- end, vim.api.nvim_list_bufs()) ---end --- ---local function goto_buf(index) --- local bufs = get_bufs() --- if index > #bufs then --- index = #bufs --- end --- vim.api.nvim_win_set_buf(0, bufs[index]) ---end --- ---local function addKey(key, index) --- vim.keymap.set("", "", function() --- goto_buf(index) --- end, { noremap = true, silent = true }) ---end --- ---for i = 1, 9 do --- addKey(i, i) ---end ---addKey("0", 10) diff --git a/lua/plugins/heirlinenew.lua b/lua/plugins/heirlinenew.lua deleted file mode 100644 index 64a33b2..0000000 --- a/lua/plugins/heirlinenew.lua +++ /dev/null @@ -1,1342 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - white = "#f8f8f2", - gray = "#23232e", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - purple = "#bd93f9", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - ---local function setup_colors() --- return { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, --- } ---end ---require('heirline').load_colors(setup_colors()) --- ---vim.api.nvim_create_augroup("Heirline", { clear = true }) ---vim.api.nvim_create_autocmd("ColorScheme", { --- callback = function() --- local colors = setup_colors() --- utils.on_colorscheme(colors) --- end, --- group = "Heirline", ---}) - -local ViMode = { - static = { - mode_names = { -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color, fg = colors.bg, bold = true } - end, -} - --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = { "LspAttach", "LspDetach" }, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, ---} - -local LSPActive = { - condition = conditions.lsp_attached, - - provider = function() - local names = vim.tbl_values(vim.tbl_map(function(cl) - return cl.name - end, vim.lsp.buf_get_clients(0))) - - return "LSP [" .. table.concat(names, " ") .. "]" - end, - hl = { fg = colors.green }, -} --- lsp status --- I personally use it only to display progress messages! --- See lsp-status/README.md for configuration options. - --- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. -local LSPMessages = { - provider = require("lsp-status").status, - hl = { fg = "gray" }, -} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - --±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, --- hl = { bg = colors.bg }, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - provider = "%6(%l:%1.5c/%L%) ", - hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, -} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%P" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - hl = { bold = true, bg = colors.bg }, -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) ---ViMode = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) --- Statusline ---BackgroundStatusline = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) --- -local Surrr = { - utils.surround({ "", "" }, "gray", { - FileInfoBlock, - hl = { bg = colors.gray }, - utils.surround({ "", "" }, "gray", { - Percentage, - utils.surround({ "", "" }, function(self) - return self:mode_color() - end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), - }), - }), -} - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) --- -RightSpace = utils.surround( - { "", "" }, - colors.red, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround({ "", "" }, colors.orange, { RightSpace2, hl = { bg = colors.red, force = true } }) ---RightSpace = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) ----- --- ---Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) --- - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.orange, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.red, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.red, { Space, Ruler, hl = { fg = colors.red, force = true } }) - -local align = { provider = "%=" } -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { LSPActive, hl = { bg = colors.orange, force = true } }, - --{ FileEncoding, hl = { bg = colors.orange, force = true } }, - { RightSpace2, hl = { fg = colors.orange, bg = colors.red, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileInfoBlock, hl = { bg = colors.red, force = true } }, - --{ Space, hl = { bg = colors.red, force = true } }, - --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = colors.red, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local sections = { left, align, middle, align, right } -local DefaultStatusline = { sections } - ---local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } ---local statusline = { ---Space, ---Space, ---Git, ---Space, ---Diagnostics, ---Align, ---Navic, ---DAPMessages, ---Align, ---Space, ---FileInfoBlock, ---Space, ---WordCount, ---Ruler, ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar ---} - ---local InactiveStatusline = { --- condition = conditions.is_not_active, --- FileType, --- Space, --- FileName, --- Align, ---} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - FileType, - Space, - Align, - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - hl = { bg = "dark_red" }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - { condition = conditions.is_active, ViMode, Space }, - FileType, - Space, - TerminalName, - Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - --mode_colors_map = { - -- n = colors.blue, - -- i = colors.green, - -- v = colors.purple, - -- V = colors.violet, - -- [""] = colors.red, - -- c = colors.yellow, - -- s = colors.orange, - -- S = colors.orange, - -- [""] = colors.purple, - -- R = colors.orange, - -- r = colors.orange, - -- ["!"] = colors.red, - -- t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - --InactiveStatusline, - DefaultStatusline, -} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local active_middle_segment = { --{{{ - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - }, -} - ---local WinBar = { --- Fill, --- active_middle_segment, --- Fill, ---} -local WinBar = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - }, - -- A winbar for regular files - utils.surround({ "", "" }, "bright_bg", FileNameBlock), -} - --- TabLine --- - -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - --+ - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) ---require("heirline").setup(StatusLine, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - ---local function get_bufs() --- return vim.tbl_filter(function(bufnr) --- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted --- end, vim.api.nvim_list_bufs()) ---end --- ---local function goto_buf(index) --- local bufs = get_bufs() --- if index > #bufs then --- index = #bufs --- end --- vim.api.nvim_win_set_buf(0, bufs[index]) ---end --- ---local function addKey(key, index) --- vim.keymap.set("", "", function() --- goto_buf(index) --- end, { noremap = true, silent = true }) ---end --- ---for i = 1, 9 do --- addKey(i, i) ---end ---addKey("0", 10) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 5e7a680..3570a98 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -1,43 +1,69 @@ + local fn = vim.fn -local api = vim.api local keymap = vim.keymap -local lsp = vim.lsp local utils = require("utils") local custom_attach = function(client, bufnr) + -- Enable completion triggered by + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + +local status, saga = pcall(require, "lspsaga") +if not status then + return +end + -- Mappings. local map = function(mode, l, r, opts) opts = opts or {} opts.silent = true + opts.noremap = true opts.buffer = bufnr keymap.set(mode, l, r, opts) end - - map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) - map("n", "", vim.lsp.buf.definition) - map("n", "K", vim.lsp.buf.hover) - map("n", "", vim.lsp.buf.signature_help) - map("n", "rn", vim.lsp.buf.rename, { desc = "varialbe rename" }) - map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) - map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) - map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) - map("n", "q", function() - vim.diagnostic.setqflist({ open = true }) - end, { desc = "put diagnostic to qf" }) - map("n", "ca", vim.lsp.buf.code_action, { desc = "LSP code action" }) - map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) - map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) - map("n", "wl", function() - inspect(vim.lsp.buf.list_workspace_folders()) - end, { desc = "list workspace folder" }) +--map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location +--map("n", "gp", "Lspsaga peek_definition") +-- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) +-- map("n", "", vim.lsp.buf.definition) +-- map("n", "K", vim.lsp.buf.hover) +-- map("n", "", vim.lsp.buf.signature_help) +-- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) +-- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) +-- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) +-- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) +-- map("n", "q", function() +-- vim.diagnostic.setqflist({ open = true }) +-- end, { desc = "put diagnostic to qf" }) +-- --map.('n', 'q', vim.diagnostic.setloclist) +-- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) +-- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) +-- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) +-- map("n", "wl", function() +-- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) +-- end, { desc = "list workspace folder" }) +-- map("n", "gs", "vim.lsp.buf.document_symbol()") +-- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) +-- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") +-- map("n", "gt", ":lua vim.lsp.buf.type_definition()") +-- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. +-- map("n", "gi", ":lua vim.lsp.buf.implementation()") +-- map("n", "go", ":lua vim.diagnostic.open_float()") +-- map("n", "gk", "Lspsaga diagnostic_jump_prev") +-- map("n", "gj", "Lspsaga diagnostic_jump_next") -- Set some key bindings conditional on server capabilities if client.server_capabilities.documentFormattingProvider then map("n", "f", vim.lsp.buf.format, { desc = "format code" }) end - api.nvim_create_autocmd("CursorHold", { + -- add rust specific keymappings + if client.name == "rust_analyzer" then + map("n", "rr", "RustRunnables") + map("n", "ra", "RustHoverAction") + end + + -- Diagnostic position + vim.api.nvim_create_autocmd("CursorHold", { buffer = bufnr, callback = function() local float_opts = { @@ -52,7 +78,7 @@ local custom_attach = function(client, bufnr) vim.b.diagnostics_pos = { nil, nil } end - local cursor_pos = api.nvim_win_get_cursor(0) + local cursor_pos = vim.api.nvim_win_get_cursor(0) if (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) and #vim.diagnostic.get() > 0 @@ -64,7 +90,7 @@ local custom_attach = function(client, bufnr) end, }) - -- The blow command will highlight the current variable and its usages in the buffer. + -- The below command will highlight the current variable and its usages in the buffer. if client.server_capabilities.documentHighlightProvider then vim.cmd([[ hi! link LspReferenceRead Visual @@ -80,19 +106,19 @@ local custom_attach = function(client, bufnr) if vim.g.logging_level == "debug" then local msg = string.format("Language server %s started!", client.name) - vim.notify(msg, vim.log.levels.DEBUG, { title = "Nvim-config" }) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) end end -local capabilities = lsp.protocol.make_client_capabilities() +local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) capabilities.textDocument.completion.completionItem.snippetSupport = true +capabilities.offsetEncoding = { "utf-16" } local lspconfig = require("lspconfig") if utils.executable("pylsp") then lspconfig.pylsp.setup({ - on_attach = custom_attach, settings = { pylsp = { plugins = { @@ -111,7 +137,7 @@ if utils.executable("pylsp") then capabilities = capabilities, }) else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) end -- if utils.executable('pyright') then @@ -120,7 +146,7 @@ end -- capabilities = capabilities -- } -- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) -- end if utils.executable("clangd") then @@ -133,7 +159,7 @@ if utils.executable("clangd") then }, }) else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) end -- set up vim-language-server @@ -146,7 +172,7 @@ if utils.executable("vim-language-server") then capabilities = capabilities, }) else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) end -- set up bash-language-server @@ -158,7 +184,6 @@ if utils.executable("bash-language-server") then end if utils.executable("lua-language-server") then - -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . lspconfig.sumneko_lua.setup({ on_attach = custom_attach, settings = { @@ -173,8 +198,6 @@ if utils.executable("lua-language-server") then }, workspace = { -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . library = { fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", fn.stdpath("config"), @@ -188,40 +211,58 @@ if utils.executable("lua-language-server") then }) end --- Change diagnostic signs. ---fn.sign_define("DiagnosticSignError", { text = "✗", texthl = "DiagnosticSignError" }) ---fn.sign_define("DiagnosticSignWarn", { text = "!", texthl = "DiagnosticSignWarn" }) ---fn.sign_define("DiagnosticSignInformation", { text = "", texthl = "DiagnosticSignInfo" }) ---fn.sign_define("DiagnosticSignHint", { text = "", texthl = "DiagnosticSignHint" }) +--lspconfig.sumneko_lua.setup({ +-- single_file_support = true, +-- on_attach = function(client, bufnr) +-- print('hello') +-- lspconfig.util.default_config.on_attach(client, bufnr) +-- end +--}) +require('lspconfig')['rust_analyzer'].setup{ + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, --- global config for diagnostic + -- Server-specific settings... + settings = { + ["rust-analyzer"] = {} + } +} +-- Global config for diagnostic vim.diagnostic.config({ underline = false, - virtual_text = false, + virtual_text = true, signs = true, severity_sort = true, + float = { + focusable = true, -- + style = "minimal", -- + --border = "rounded", + border = "shadow", + source = "always", + header = "", + prefix = "", + }, }) -lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_publish_diagnostics, { +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { underline = false, virtual_text = false, signs = true, update_in_insert = false, }) +--vim.lsp.buf.definition +--vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) --local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } -local signs = { Error = "✘", Warn = "▲", Info = "", Hint = "⚑" } +--local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } +local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } for type, icon in pairs(signs) do local hl = "DiagnosticSign" .. type vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) end - ---sign({name = 'DiagnosticSignError', text = '✘'}) ---sign({name = 'DiagnosticSignWarn', text = '▲'}) ---sign({name = 'DiagnosticSignHint', text = '⚑'}) ---sign({name = 'DiagnosticSignInfo', text = ''}) - --- Change border of documentation hover window, See https://github.com/neovim/neovim/pull/13998. -lsp.handlers["textDocument/hover"] = lsp.with(vim.lsp.handlers.hover, { - border = "rounded", -}) diff --git a/lua/plugins/lspOld.lsp b/lua/plugins/lspOld.lsp deleted file mode 100644 index 206ea57..0000000 --- a/lua/plugins/lspOld.lsp +++ /dev/null @@ -1,531 +0,0 @@ --- lspconfig + nvim-cmp + lspsaga --- Dependencies --- nvim-lspconfig --- nvim-cmp --- cmp-buffer --- cmp-path --- cmp_luasnip --- cmp-nvim-lsp --- LuaSnip --- friendly-snippets -local fn = vim.fn -local api = vim.api -local keymap = vim.keymap -local lsp = vim.lsp - -local utils = require("utils") - -local custom_attach = function(client, bufnr) - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end - - -local lsp_defaults = { - flags = { - debounce_text_changes = 150, -- Amount of miliseconds neovim will wait to send the next document update notification. - }, - - -- The data on this option is send to the server, to announce what features the editor can support. - capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds("User", { pattern = "LspAttached" }) - end, -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - ---- --- LSP Servers ---- - -if utils.executable("pylsp") then - lspconfig.pylsp.setup { - on_attach = custom_attach, - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, - }, - }, - flags = { - debounce_text_changes = 200, - }, - capabilities = capabilities, - } -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) --- end - -if utils.executable("clangd") then - lspconfig.clangd.setup { - on_attach = custom_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - } -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup { - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - } -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup { - on_attach = custom_attach, - capabilities = capabilities, - } -end - -if utils.executable("lua-language-server") then - -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . - lspconfig.sumneko_lua.setup { - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - } -end --- Lua -lspconfig.sumneko_lua.setup({ - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, - }, - single_file_support = true, - on_attach = function(client, bufnr) - print('hello') - lspconfig.util.default_config.on_attach(client, bufnr) - end -}) - -lspconfig.sumneko_lua.setup({ -on_attach = custom_attach, -settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - -- Setup your lua path - path = runtime_path, - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, -}, -}) - - lspconfig.sumneko_lua.setup { - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - } - -require'lspconfig'.sumneko_lua.setup { - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, - }, -} - - - -require'lspconfig'.sumneko_lua.setup{} - - -**Default values:** - - `cmd` : - { "lua-language-server" } - - `filetypes` : - - `log_level` : - ```lua - 2 - ``` - - `root_dir` : - ```lua - root_pattern(".luarc.json", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", ".git") - ``` - - `settings` : - ```lua - { - Lua = { - telemetry = { - enable = false - } - } - } - - `single_file_support` : - true - - - - - - - - - - - - - - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.ccls.setup{} -``` - - -**Default values:** - - `cmd` : - ```lua - { "ccls" } - ``` - - `filetypes` : - ```lua - { "c", "cpp", "objc", "objcpp" } - ``` - - `offset_encoding` : - ```lua - "utf-32" - ``` - - `root_dir` : - ```lua - root_pattern('compile_commands.json', '.ccls', '.git') - ``` - - `single_file_support` : - ```lua - false - ``` - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.clangd.setup{} -``` -**Commands:** -- ClangdSwitchSourceHeader: Switch between source/header - -**Default values:** - - `capabilities` : - ```lua - default capabilities, with offsetEncoding utf-8 - ``` - - `cmd` : - ```lua - { "clangd" } - ``` - - `filetypes` : - ```lua - { "c", "cpp", "objc", "objcpp", "cuda", "proto" } - ``` - - `root_dir` : - ```lua - root_pattern( - '.clangd', - '.clang-tidy', - '.clang-format', - 'compile_commands.json', - 'compile_flags.txt', - 'configure.ac', - '.git' - ) - - ``` - - `single_file_support` : - ```lua - true - ``` - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.pyright.setup{} -``` -**Commands:** -- PyrightOrganizeImports: Organize Imports - -**Default values:** - - `cmd` : - ```lua - { "pyright-langserver", "--stdio" } - ``` - - `filetypes` : - ```lua - { "python" } - ``` - - `root_dir` : - ```lua - see source file - ``` - - `settings` : - ```lua - { - python = { - analysis = { - autoSearchPaths = true, - diagnosticMode = "workspace", - useLibraryCodeForTypes = true - } - } - } - ``` - - `single_file_support` : - ```lua - true - ``` - -## rls - -https://github.com/rust-lang/rls - -rls, a language server for Rust - -See https://github.com/rust-lang/rls#setup to setup rls itself. -See https://github.com/rust-lang/rls#configuration for rls-specific settings. -All settings listed on the rls configuration section of the readme -must be set under settings.rust as follows: - -```lua -nvim_lsp.rls.setup { - settings = { - rust = { - unstable_features = true, - build_on_save = false, - all_features = true, - }, - }, -} -``` - -If you want to use rls for a particular build, eg nightly, set cmd as follows: - -```lua -cmd = {"rustup", "run", "nightly", "rls"} -``` - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rls.setup{} -``` - - -**Default values:** - - `cmd` : - ```lua - { "rls" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml") - ``` - - -## rust_analyzer - -https://github.com/rust-analyzer/rust-analyzer - -rust-analyzer (aka rls 2.0), a language server for Rust - -See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rust_analyzer.setup{} -``` -**Commands:** -- CargoReload: Reload current cargo workspace - -**Default values:** - - `cmd` : - ```lua - { "rust-analyzer" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml", "rust-project.json") - ``` - - `settings` : - ```lua - { - ["rust-analyzer"] = {} - } - ``` - -## rust_analyzer - -https://github.com/rust-analyzer/rust-analyzer - -rust-analyzer (aka rls 2.0), a language server for Rust - -See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rust_analyzer.setup{} -``` -**Commands:** -- CargoReload: Reload current cargo workspace - -**Default values:** - - `cmd` : - ```lua - { "rust-analyzer" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml", "rust-project.json") - ``` - - `settings` : - ```lua - { - ["rust-analyzer"] = {} - } - ``` - - diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua deleted file mode 100644 index a130dcd..0000000 --- a/lua/plugins/lspconfig.lua +++ /dev/null @@ -1,148 +0,0 @@ ---vim.lsp.set_log_level("debug") - -local status, nvim_lsp = pcall(require, "lspconfig") -if not status then - return -end - -local protocol = require("vim.lsp.protocol") - --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) - local function buf_set_keymap(...) - vim.api.nvim_buf_set_keymap(bufnr, ...) - end - - local function buf_set_option(...) - vim.api.nvim_buf_set_option(bufnr, ...) - end - - --Enable completion triggered by - buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") - - -- Mappings. - local opts = { noremap = true, silent = true } - - -- See `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) -- most of the lsp server don't implement textDocument/Declaration, so gD is useless for now. - --buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) - --buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - - -- add rust specific keymappings - if client.name == "rust_analyzer" then - buf_set_keymap("n", "rr", "RustRunnables", opts) - buf_set_keymap("n", "ra", "RustHoverAction", opts) - end - - -- formatting - if client.server_capabilities.documentFormattingProvider then - vim.api.nvim_create_autocmd("BufWritePre", { - group = vim.api.nvim_create_augroup("Format", { clear = true }), - buffer = bufnr, - callback = function() - vim.lsp.buf.format() - end, - }) - end -end - -protocol.CompletionItemKind = { - -- "", -- Text - -- "", -- Method - -- "", -- Function - -- "", -- Constructor - -- "", -- Field - -- "", -- Variable - -- "", -- Class - -- "ﰮ", -- Interface - -- "", -- Module - -- "", -- Property - -- "", -- Unit - -- "", -- Value - -- "", -- Enum - -- "", -- Keyword - -- "", -- Snippet - -- "", -- Color - -- "", -- File - -- "", -- Reference - -- "", -- Folder - -- "", -- EnumMember - -- "", -- Constant - -- "", -- Struct - -- "", -- Event - -- "ﬦ", -- Operator - -- "", -- TypeParameter - File = { icon = "", hl = "TSURI" }, - Module = { icon = "", hl = "TSNamespace" }, - Namespace = { icon = "", hl = "TSNamespace" }, - Package = { icon = "", hl = "TSNamespace" }, - Class = { icon = "ﴯ", hl = "TSType" }, - Method = { icon = "", hl = "TSMethod" }, - Property = { icon = "", hl = "TSMethod" }, - Field = { icon = "", hl = "TSField" }, - Constructor = { icon = "", hl = "TSConstructor" }, - Enum = { icon = "", hl = "TSType" }, - Interface = { icon = "", hl = "TSType" }, - Function = { icon = "", hl = "TSFunction" }, - Variable = { icon = "", hl = "TSConstant" }, - Constant = { icon = "", hl = "TSConstant" }, - String = { icon = "ﮜ", hl = "TSString" }, - Number = { icon = "", hl = "TSNumber" }, - Boolean = { icon = "ﮒ", hl = "TSBoolean" }, - Array = { icon = "", hl = "TSConstant" }, - Object = { icon = "⦿", hl = "TSType" }, - Key = { icon = "", hl = "TSType" }, - Null = { icon = "ﳠ", hl = "TSType" }, - EnumMember = { icon = "", hl = "TSField" }, - Struct = { icon = "ﴯ", hl = "TSType" }, - Event = { icon = "🗲", hl = "TSType" }, - Operator = { icon = "+", hl = "TSOperator" }, - TypeParameter = { icon = "𝙏", hl = "TSParameter" }, -} - --- Set up completion using nvim_cmp with LSP source -local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) - -nvim_lsp.flow.setup({ - on_attach = on_attach, - capabilities = capabilities, -}) - -nvim_lsp.sumneko_lua.setup({ - on_attach = on_attach, - settings = { - Lua = { - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - checkThirdParty = false, - }, - }, - }, -}) - --- Diagnostic symbols in the sign column (gutter) ---local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } ---local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } -local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } -for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) -end --- -vim.diagnostic.config({ - virtual_text = { - prefix = "●", - }, - update_in_insert = true, - float = { - source = "always", -- Or "if_many" - }, -}) diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua index ceb1099..1d03666 100644 --- a/lua/plugins/lspsaga.lua +++ b/lua/plugins/lspsaga.lua @@ -1,61 +1,245 @@ -local status, saga = pcall(require, "lspsaga") -if not status then - return -end - -saga.init_lsp_saga({ - -- when cursor in saga window you config these to move - move_in_saga = { prev = "k", next = "j" }, - diagnostic_header = { " ", " ", " ", " " }, - scroll_in_preview = { +require "lspsaga".init_lsp_saga { + --border_style = "single", + saga_winblend = 20, + -- float_term = { + -- winblend = 25, + -- shadow_background = false, + -- }, + move_in_saga = { next = '', prev = '' }, + --move_in_saga = { prev = "k", next = "j" }, + scroll_in_preview = { scroll_down = "", scroll_up = "", }, - code_action_icon = "ﯦ ", - -- Same as nvim-lightbulb but async - code_action_lightbulb = { - sign = false, - virtual_text = true, - }, - finder_icons = { - def = " ", - ref = " ", - link = " ", - }, - finder_action_keys = { - open = "", - "o", - vsplit = "gv", - split = "gs", - tabe = "t", - quit = "gq", - scroll_down = "", - scroll_up = "", - }, - - -- Show symbols in winbar must be neovim 0.8.0, - -- Close it until neovim 0.8.0 become stable - symbol_in_winbar = { - in_custom = false, - --enable = enable_winbar, - separator = "  ", - show_file = true, - click_support = false, - }, -}) + diagnostic_header = { " ", " ", " ", " " }, + -- add bracket or something with diagnostic source, just have 2 elements + -- use emoji lightbulb in default + code_action_icon = "", + --code_action_icon = "ﯦ ", + -- if true can press number to execute the codeaction in codeaction window + code_action_num_shortcut = true, + -- same as nvim-lightbulb but async + code_action_lightbulb = { + enable = false, + sign = false, + sign_priority = 20, -- + virtual_text = true, + }, + finder_icons = { + def = " ", + ref = " ", + link = " ", + }, + -- preview lines of lsp_finder and definition preview + max_preview_lines = 5, + definition_action_keys = { + edit = '', + vsplit = '', + split = '', + tabe = '', + quit = '', + }, + -- definition_preview_quit = '', + -- finder_preview_hl_ns = 8, + finder_action_keys = { + open = "o", + vsplit = "v", + split = "s", + tabe = "t", + quit = "", + scroll_down = "", + scroll_up = "", -- quit can be a table + }, + code_action_keys = { + quit = "", + exec = "l", + }, + rename_action_quit = "", + rename_in_select = true, + symbol_in_winbar = { + enable = true, + in_custom = false, + --in_custom = true, + separator = '  ', + --show_file = false, + show_file = true, + click_support = false, + }, + show_outline = { + win_position = 'right', + --set special filetype win that outline window split.like NvimTree neotree + -- defx, db_ui + min_with = '', + win_width = 40, + auto_enter = false, + auto_preview = true, + virt_text = 'x', + jump_key = 'l', + -- auto refresh when change buffer + auto_refresh = true, + }, + custom_kind = { + File = { " " }, + Module = { " " }, + Namespace = { "ﱕ " }, + Package = { " " }, + Class = { "ﴯ " }, + Method = { "" }, + Property = { "ﰠ " }, + Field = { "ﰠ " }, + Constructor = { " " }, + Enum = { " " }, + Interface = { " " }, + Function = { " " }, + Variable = { " " }, + Constant = { " " }, + String = { " " }, + Number = { " " }, + Boolean = { " " }, + Array = { " " }, + Object = { " " }, + Key = { "- " }, + Null = { " " }, + EnumMember = { " " }, + Struct = { " " }, + Event = { " " }, + Operator = { " " }, + TypeParameter = { " " }, + TypeAlias = { " " }, + Parameter = { " " }, + StaticMethod = { " " }, + Macro = { "廓" }, + }, +} -- Mappings. local map = vim.api.nvim_set_keymap local opts = { noremap = true, silent = true } -map("n", "gd", "Lspsaga lsp_finder", opts) -- Press "o" to open the reference location -map("n", "gp", "Lspsaga peek_definition", opts) -map("n", "K", "Lspsaga hover_doc", opts) -map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) -map("n", "gj", "Lspsaga diagnostic_jump_next", opts) -map("n", "gs", "Lspsaga signature_help", opts) -- Default is -map("n", "go", "Lspsaga show_line_diagnostics", opts) -map("n", "gr", "Lspsaga rename", opts) -map("n", "ga", "Lspsaga code_action", opts) +map("n", "gd", "Lspsaga peek_definition", opts) +--map("n", "gp", "Lspsaga peek_definition", opts) +map("n", "gi", "Lspsaga lsp_finder", opts) +--map("n", "gh", "Lspsaga hover_doc", opts) +map("n", "gs", "Lspsaga signature_help", opts) +map("n", "ga", "Lspsaga code_action", opts) +map("v", "ga", "Lspsaga range_code_action", opts) +map("n", "gl", "Lspsaga show_line_diagnostics", opts) +map("n", "go", "Lspsaga open_floaterm fish", opts) +map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) +map("n", "", "Lspsaga rename", opts) +map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) +map("n", "gj", "Lspsaga diagnostic_jump_next", opts) map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) +map("t", "", "Lspsaga close_floaterm", opts) + + + + +-- vim.keymap.set("n", "", function() require "lspsaga.action".smart_scroll_with_saga(1) end, opts) +-- vim.keymap.set("n", "", function() require "lspsaga.action".smart_scroll_with_saga(-1) end, opts) + + + +vim.api.nvim_set_hl(0, "LspSagaHoverBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaTermBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspFloatWinBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaAutoPrew", { bg = "NONE", fg = "#BBE73D", }) +vim.api.nvim_set_hl(0, "LspSagaAutoPreview", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaBorderTitle", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaCodeActionBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaCodeActionContent", { bg = "NONE", fg = "#000000", }) +vim.api.nvim_set_hl(0, "LspSagaCodeActionTitle", { bg = "NONE", fg = "#000000", }) +vim.api.nvim_set_hl(0, "LspSagaCodeActionTrunCateLine", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "DefinitionBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "DefinitionArror", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "DefinitionSearch", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "DefinitionFile", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticSource", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticQuickFix", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticMap", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticLineCol", { bg = "NONE", fg = "#929292", }) + +vim.api.nvim_set_hl(0, "LspSagaDiagnosticBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticHeader", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticError", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticWarn", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticInfo", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticHint", { bg = "NONE", fg = "#929292", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticSource", { bg = "NONE", fg = "#C53B82", }) +vim.api.nvim_set_hl(0, "LspSagaDiagnosticTruncateLine", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaErrorTrunCateLine", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaFinderSelection", { bg = "NONE", fg = "#888888", }) +vim.api.nvim_set_hl(0, "LspSagaHintTrunCateLine", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaHoverTrunCateLine", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaInfoTrunCateLine", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaLightBulb", { bg = "NONE", fg = "#BBE73D", }) +vim.api.nvim_set_hl(0, "LspSagaLspFinderBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaRenameBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaRenameMatch", { bg = "NONE", fg = "#C53B82", }) +vim.api.nvim_set_hl(0, "LspSagaShTrunCateLine", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaSignatureHelpBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "LspSagaTrunCatgeLine", { bg = "NONE", fg = "#353535", }) + +vim.api.nvim_set_hl(0, "TargetFileName", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "FinderParam", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "FinderVirtText", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "DefinitionsIcon", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "Definitions", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "ReferencesIcon", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "References", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "DefinitionCount", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "ReferencesCount", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "FinderPreviewSearch", { bg = "NONE", fg = "#888888", }) +vim.api.nvim_set_hl(0, "FinderSpinnerBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "FinderSpinnerTitle", { bg = "NONE", fg = "#C53B82", }) +vim.api.nvim_set_hl(0, "FinderSpinner", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "DefinitionPreviewTitle", { bg = "NONE", fg = "#666666", }) +vim.api.nvim_set_hl(0, "SagaShadow", { bg = "NONE", fg = "#000000", }) +-- +---- Outline +vim.api.nvim_set_hl(0, "LSOutlinePreviewBorder", { bg = "NONE", fg = "#353535", }) +vim.api.nvim_set_hl(0, "OutlineIndentEvn", { bg = "NONE", fg = "#ffffff", }) +vim.api.nvim_set_hl(0, "OutlineIndentOdd", { bg = "NONE", fg = "#ffffff", }) +vim.api.nvim_set_hl(0, "OutlineFoldPrefix", { bg = "NONE", fg = "#000000", }) +vim.api.nvim_set_hl(0, "OutlineDetail", { bg = "NONE", fg = "#383838", }) +-- +vim.api.nvim_set_hl(0, "LSOutLineFile", { bg = "NONE", fg = "#AF87D7" }) +vim.api.nvim_set_hl(0, "LSOutLineModule", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineNamespace", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLinePackage", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineClass", { bg = "NONE", fg = "#BBE73D", bold = true, italic = true }) +vim.api.nvim_set_hl(0, "LSOutLineMethod", { bg = "NONE", fg = "#C53B82", italic = true }) +vim.api.nvim_set_hl(0, "LSOutLineProperty", { bg = "NONE", fg = "#6A5A9D" }) +vim.api.nvim_set_hl(0, "LSOutLineField", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineConstructor", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineEnum", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineInterface", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineFunction", { bg = "NONE", fg = "#C53B82", bold = true, italic = true }) +vim.api.nvim_set_hl(0, "LSOutLineVariable", { bg = "NONE", fg = "#696969" }) +vim.api.nvim_set_hl(0, "LSOutLineConstant", { bg = "NONE", fg = "#C53B82" }) +vim.api.nvim_set_hl(0, "LSOutLineString", { bg = "NONE", fg = "#444444" }) +vim.api.nvim_set_hl(0, "LSOutLineNumber", { bg = "NONE", fg = "#AFC460" }) +vim.api.nvim_set_hl(0, "LSOutLineBoolean", { bg = "NONE", fg = "#C53B82" }) +vim.api.nvim_set_hl(0, "LSOutLineArray", { bg = "NONE", fg = "#614F97" }) +vim.api.nvim_set_hl(0, "LSOutLineObject", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineKey", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineNull", { bg = "NONE", fg = "#C53B82" }) +vim.api.nvim_set_hl(0, "LSOutLineEnummember", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineStruct", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineEvent", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineOperator", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineTypeparameter", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineTypealias", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineParameter", { bg = "NONE", fg = "#8567A3" }) +vim.api.nvim_set_hl(0, "LSOutLineStaticmethod", { bg = "NONE", fg = "#666666" }) +vim.api.nvim_set_hl(0, "LSOutLineMacro", { bg = "NONE", fg = "#666666" }) + + +-- vim.api.nvim_create_autocmd("BufEnter", { +-- callback = function () +-- if #vim.api.nvim_list_wins() == 1 and vim.bo.filetype == "lspsagaoutline" then +-- vim.cmd "quit" +-- end +-- end +-- }) diff --git a/nvim/init.lua b/nvim/init.lua deleted file mode 100644 index 1cfd68b..0000000 --- a/nvim/init.lua +++ /dev/null @@ -1,158 +0,0 @@ ---[[init.]] --- ========================================================================== -- --- == DEPENDENCIES == -- --- ========================================================================== -- - --- ripgrep - https://github.com/BurntSushi/ripgrep --- fd - https://github.com/sharkdp/fd --- git - https://git-scm.com/ --- make - https://www.gnu.org/software/make/ --- c compiler - gcc or tcc or zig - --- Initialize config with this one liner in the terminal ---nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit' --- ---local impatient_ok, impatient = pcall(require, "impatient") ---if impatient_ok then --- impatient.enable_profile() ---end ---local stdpath = vim.fn.stdpath -local api = vim.api -local utils = require("utils") - --- check if we have the latest stable version of nvim -local expected_ver = "0.8.0" -local nvim_ver = utils.get_nvim_version() - -if nvim_ver ~= expected_ver then - local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) - api.nvim_err_writeln(msg) - return -end --- schedule reading shadafile to improve the startup time -vim.opt.shadafile = "NONE" -vim.schedule(function() - vim.opt.shadafile = "" - vim.cmd("silent! rsh") -end) --- IMPORTS -require("impatient") - -require("utils") -require("keys") -- Keymaps -require("opts") -- Options -require("pack") -- Plugins ---require("mods") -- Modules/functions ---require("deps") -- Plugins -require("plugins.treesitter") -require("plugins.telescope") -require("plugins.nvim-tree") ---require("scripts") -require("plugins.cmp") -require("plugins.toggleterm") ---require("plugins.floatterm") -require("plugins.autopairs") ---require("plugins.vimspector") -require("plugins.mason") ---require("plugins.dap") -require("plugins.colorizer") -require("plugins.prettier") -require("plugins.git") -require("plugins.gitsigns") -require("plugins.neoscroll") -require("plugins.lsp") ---require("plugins.lspconfig") ---require("plugins.lspsaga") ---require("plugins.lspkind") ---require("plugins.lsp-colors") -require("plugins.null-ls") -require("plugins.web-devicons") -require("plugins.zen-mode") -require("plugins.colorscheme") ---vim.opt.laststatus = 3 - -require("plugins.heirline") ---require("plugins.lualine") ---require("plugins.tabline") ---require("plugins.bufferline") ---require("plugins.airline") ---require("plugins.feline") ---require("plugins.winbar") - ----- Hide statusline by setting laststatus and cmdheight to 0. ---vim.o.ls = 0 ---vim.o.ch = 0 --- ----- Set the winbar to the statusline. ---vim.o.wbr = vim.o.stl --- ----- With vertical splits, the statusline would still show up at the ----- bottom of the split. A quick fix is to just set the statusline ----- to empty whitespace (it can't be an empty string because then ----- it'll get replaced by the default stline). ---vim.o.stl = " " - ---for builtin, status in pairs({ --- ["2html_plugin"] = 1, --- ["getscript"] = 1, --- ["getscriptPlugin"] = 1, --- ["gzip"] = 1, --- ["logipat"] = 1, --- ["netrwPlugin"] = 1, --- ["tar"] = 1, --- ["tarPlugin"] = 1, --- ["rrhelper"] = 1, --- ["vimball"] = 1, --- ["vimballPlugin"] = 1, --- ["zip"] = 1, --- ["zipPlugin"] = 1, --- ["tutor_mode_plugin"] = 1, --- ["fzf"] = 1, --- ["spellfile_plugin"] = 1, --- ["sleuth"] = 1, ---}) do --- vim.g["loaded_" .. builtin] = status ---end - ---local core_conf_files = { --- "globals.lua", -- some global settings --- "options.vim", -- setting options in nvim --- "autocommands.vim", -- various autocommands --- "mappings.lua", -- all the user-defined mappings --- "plugins.vim", -- all the plugins installed and their configurations --- "colorschemes.lua", -- colorscheme settings ---} --- ----- source all the core config files ---for _, name in ipairs(core_conf_files) do --- local path = string.format("%s/core/%s", vim.fn.stdpath("config"), name) --- local source_cmd = "source " .. path --- vim.cmd(source_cmd) ---end - -local builtins = { - "gzip", - "zip", - "zipPlugin", - "tar", - "tarPlugin", - "getscript", - "getscriptPlugin", - "vimball", - "vimballPlugin", - "2html_plugin", - --"matchit", - --"matchparen", - "logiPat", - "rrhelper", - "netrw", - "netrwPlugin", - "netrwSettings", - "netrwFileHandlers", -} - -for _, plugin in ipairs(builtins) do - vim.g["loaded_" .. plugin] = 1 -end -vim.g.do_filetype_nvim = 1 -vim.g.did_load_filetypes = 0 diff --git a/nvim/lua/keys.lua b/nvim/lua/keys.lua deleted file mode 100644 index fc28e52..0000000 --- a/nvim/lua/keys.lua +++ /dev/null @@ -1,493 +0,0 @@ ---[[ key.lua ]] - --- Shorten function name -local map = vim.api.nvim_set_keymap - -local function new_desc(d) - return { desc = d } -end - -local d = new_desc - -local opts = { noremap = true, silent = true } - -local term_opts = { silent = true } - ---------------- Standard Operations --------------- --- Semi-colon as leader key -vim.g.mapleader = ";" ---vim.g.maplocalleader = ";" - --- "jj" to exit insert-mode -map("i", "jj", "", opts) - --- save quickly -map("n", ";w", ":w", d("Save buffer")) - ---Easier split navigations, just ctrl-j instead of ctrl-w then j -map("n", "", "", opts) -map("n", "", "", opts) -map("n", "", "", opts) -map("n", "", "", opts) - --- Combine buffers list with buffer name -map("n", "b", ":buffers:buffer", opts) - --- Map buffer next, prev and delete to -map("n", "n", ":bn", opts) -map("n", "p", ":bp", opts) -map("n", "d", ":bd", opts) - --- Set alt + j/k to switch lines of texts or simply move them -map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) -map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) - -vim.cmd([[ - inoremap - inoremap - inoremap - inoremap -]]) --- move block easily -map("n", "<", "<<", d("Decrease indent")) -map("n", ">", ">>", d("Increase indent")) -map("x", "<", "", ">gv", d("Decrease indent")) - --- Resize Panes -map("n", "+", ":resize +5", opts) -map("n", "-", ":resize -5", opts) -map("n", "<", ":vertical resize +5", opts) -map("n", ">", ":vertical resize -5", opts) -map("n", "=", "=", opts) - --- New tab -map("n", "e", ":tabedit", opts) - --- create tab like window -map("n", "h", ":tabprevious", d("Goto previous tab")) -map("n", "l", ":tabnext", d("Goto next tab")) -map("n", "n", ":tabnew", d("Create a new tab")) - --- Vim TABs -map("n", "1", "1gt", opts) -map("n", "2", "2gt", opts) -map("n", "3", "3gt", opts) -map("n", "4", "4gt", opts) -map("n", "5", "5gt", opts) -map("n", "6", "6gt", opts) -map("n", "7", "7gt", opts) -map("n", "8", "8gt", opts) -map("n", "9", "9gt", opts) -map("n", "0", "10gt", opts) - --- Split window -map("n", "h", ":split", opts) -map("n", "v", ":vsplit", opts) -map("n", "c", "c", opts) - --- Toggle set number -map("n", "$", ":NumbersToggle", opts) -map("n", "%", ":NumbersOnOff", opts) - --- Change mode to executable -map("n", "x", ":!chmod +x %", opts) - --- Paste without replace clipboard -map("v", "p", '"_dP', opts) - --- Paste end of line ---map("n", ",", "$p", opts) -vim.cmd([[ - nmap , $p -]]) - --- Select entire buffer -map("v", "", "ggG", opts) - --- Delete without changing the registers ---map('n', 'x', '"_x', opts) - --- Select all text in current buffer ---map('n', 'a', ':keepjumps normal! ggVG') - --- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in --- visual mode to select text to swap with -map("v", "", "`.``gvP``P", opts) - --- Search and replace -map("v", "sr", 'y:%s/"//gc', opts) ---vnoremap ; :call Get_visual_selection() --- ---function! Get_visual_selection() --- " Why is this not a built-in Vim script function?! --- let [lnum1, col1] = getpos("'<")[1:2] --- let [lnum2, col2] = getpos("'>")[1:2] --- let lines = getline(lnum1, lnum2) --- let lines[-1] = lines[-1][: col2 - (&selection == 'inclusive' ? 1 : 2)] --- let lines[0] = lines[0][col1 - 1:] --- let selection = join(lines,'\n') --- let change = input('Change the selection with: ') --- execute ":%s/".selection."/".change."/g" ---endfunction -vim.cmd([[ -let s:hidden_all = 0 -function! ToggleHiddenAll() - if s:hidden_all == 0 - let s:hidden_all = 1 - set noshowmode - set noruler - set laststatus=0 - set noshowcmd - else - let s:hidden_all = 0 - set showmode - set ruler - set laststatus=2 - set showcmd - endif -endfunction -nnoremap :call ToggleHiddenAll() -]]) - -vim.cmd([[ - map s :up \| saveas! %:p:r-=strftime("%y.%m.%d-%H:%M")-bak.=expand("%:e") \| 3sleep \| e # -]]) - --------------- Telescope -------------- ---Telescope find_files cwd=.. -map("n", "fc", "lua require('telescope.builtin').commands()", opts) -map( - "n", - "ft", - "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))", - opts -) - -map("n", "fg", "lua require('telescope.builtin').live_grep()", opts) -map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()", opts) - ---map("n", "fz", ":FZF", opts) ---map("t", [[]], [[]], opts) ---map("n", "ff", ":NvimTreeToggle", {}) -map("n", "ff", ":NvimTreeToggle", {}) --- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) --- Find files in config dirs ---key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) -map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) -map("n", "ft", "lua require('plugins.telescope').file_explorer({})", opts) -map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) -map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})", opts) --- registers picker -map("n", "r", "lua require('telescope.builtin').registers({})", opts) --- find files including gitignored ---keymap( --- "n", --- "fg", --- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})", opts) --- open available commands & run it -map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})", opts) - --------------- Autopairs -------------- -Toggle_autopairs = function() - local ok, autopairs = pcall(require, "nvim-autopairs") - if ok then - if autopairs.state.disabled then - autopairs.enable() - print("autopairs on") - else - autopairs.disable() - print("autopairs off") - end - else - print("autopairs not available") - end -end -map("n", "ww", ":lua Toggle_autopairs()", term_opts) - --------------- Functions -------------- --- Toggle transparency -vim.cmd([[ - let t:is_transparent = 0 - function! Toggle_transparent_background() - if t:is_transparent == 0 - hi Normal guibg=#111111 ctermbg=black - let t:is_transparent = 1 - else - hi Normal guibg=NONE ctermbg=NONE - let t:is_transparent = 0 - endif - endfunction - nnoremap tb :call Toggle_transparent_background() -]]) ---keymap('n', 'tb', ':Toggle_transparent_background', opts) - --- Toggle zoom -vim.cmd([[ - function! s:ZoomToggle() abort - if exists('t:zoomed') && t:zoomed - execute t:zoom_winrestcmd - let t:zoomed = 0 - else - let t:zoom_winrestcmd = winrestcmd() - resize - vertical resize - let t:zoomed = 1 - endif - endfunction - command! ZoomToggle call s:ZoomToggle() - ]]) -map("n", "z", ":ZoomToggle", opts) --- "Zoom" a split window into a tab and/or close it ---keymap('n', ',', ':tabnew %', opts) ---keymap('n', '.', ':tabclose', opts) - --- Open last closed buffer -vim.cmd([[ - function! OpenLastClosed() - let last_buf = bufname('#') - if empty(last_buf) - echo "No recently closed buffer found" - return - endif - let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ") - if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n') - return - endif - if result ==# 't' - execute 'tabnew' - elseif result ==# 'v' - execute "vsplit" - elseif result ==# 's' - execute "split" - endif - execute 'b ' . last_buf - endfunction - ]]) -map("n", "", ":call OpenLastClosed() ", opts) - --- Tabularize -vim.cmd([[ - vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" - nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" - "nnoremap i mc40A 080lDgelD`cP - "vnoremap ii mc0f-20i`cdt=j -]]) - -vim.cmd([[ - " Start interactive EasyAlign in visual mode (e.g. vipga) - xmap ga (EasyAlign) - " Start interactive EasyAlign for a motion/text object (e.g. gaip) - nmap ga (EasyAlign) - if !exists('g:easy_align_delimiters') - let g:easy_align_delimiters = {} - endif - let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } - nnoremap 21A d21\| - imap a -]]) ---:'<,'>EasyAlign /--/ ---EasyAlign /--/ ---:'<,'>Tabularize /-- - -map("n", ",", ":hide", opts) -map("n", ".", ":unhide", opts) - ---" Clean trailing whitespace ---nnoremap ww mz:%s/\s\+$//:let @/=''`z - --- Save with root permission (not working for now) ---vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) - --- Copy and Paste with and ---keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'', opts) --- Use command :Vb for Visual Block or since is used for Copy ---command! Vb normal! --- Map to save/edit a root permission/read-only file, only works in --- traditional vim and not neovim ---keymap('c', 'w!! %!sudo tee > /dev/null', opts) ---" Copying text to the system clipboard. ---" ---" For some reason Vim no longer wants to talk to the OS X pasteboard through "*. ---" Computers are bullshit. ---function! g:FuckingCopyTheTextPlease() --- let old_z = @z --- normal! gv"zy --- call system('pbcopy', @z) --- let @z = old_z ---endfunction ---noremap p :silent! set paste"*p:set nopaste ---" noremap p mz:r!pbpaste`z ---vnoremap y :call g:FuckingCopyTheTextPlease() - ---" Indent/dedent/autoindent what you just pasted. ---nnoremap > V`]< ---nnoremap > V`]> ---nnoremap =- V`]= - ---" Keep the cursor in place while joining lines ---nnoremap J mzJ`z - ---" Toggle [i]nvisible characters ---nnoremap i :set list! --- ---" Unfuck my screen ---nnoremap U :syntax sync fromstart:redraw! - ---" Ranger ---nnoremap r :silent !ranger %:h:redraw! ---nnoremap R :silent !ranger:redraw! --- ---" Insert Mode Completion {{{ --- ---inoremap ---inoremap ---inoremap ----- Open the current file in the default program (on Mac this should just be just `open`) ---keymap('n', 'x', ':!xdg-open %') - ---keymap("n", "ff", "lua require('telescope.builtin').find_files()", opts) ---keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()", opts) ---keymap('n', 'k', ':nohlsearch') --- ---"This unsets the "last search pattern" register by hitting return -vim.cmd([[ - nnoremap :noh -]]) - ---keymap('n', 'Q', ':bufdo bdelete') --- ----- Allow gf to open non-existent files ---keymap('', 'gf', ':edit ') --- ----- Reselect visual selection after indenting ---keymap('v', '<', '', '>gv') --- ----- Maintain the cursor position when yanking a visual selection ----- http://ddrscott.github.io/blog/2016/yank-without-jank/ ---keymap('v', 'y', 'myy`y') ---keymap('v', 'Y', 'myY`y') ---keymap("n", "", ":q", opts) ---keymap("n", "", ":qa!", opts) - ---" Sort lines ---nnoremap s vip:!sort ---vnoremap s :!sort --- ---" Tabs ---nnoremap ( :tabprev ---nnoremap ) :tabnext --- ---" Wrap ---nnoremap W :set wrap! - ---set foldlevelstart=0 --- ---" Space to toggle folds. ---nnoremap za ---vnoremap za ---" Make zO recursively open whatever fold we're in, even if it's partially open. ---nnoremap zO zczO - --- Packer ---maps.n["pc"] = { "PackerCompile", desc = "Packer Compile" } ---maps.n["pi"] = { "PackerInstall", desc = "Packer Install" } ---maps.n["ps"] = { "PackerSync", desc = "Packer Sync" } ---maps.n["pS"] = { "PackerStatus", desc = "Packer Status" } ---maps.n["pu"] = { "PackerUpdate", desc = "Packer Update" } --- NeoTree ---if is_available "neo-tree.nvim" then --- keymaps.n["e"] = { "Neotree toggle", desc = "Toggle Explorer" } --- keymaps.n["o"] = { "Neotree focus", desc = "Focus Explorer" } ---end --- Alpha ---if is_available "alpha-nvim" then maps.n["d"] = { "Alpha", desc = "Alpha Dashboard" } end - --- Package Manager --- TODO: v2 rework these key bindings to be more general ---if is_available "mason.nvim" then maps.n["lI"] = { "Mason", desc = "LSP installer" } end --- Telescope ---if is_available "telescope.nvim" then --- maps.n["fw"] = { function() require("telescope.builtin").live_grep() end, desc = "Search words" } --- maps.n["fW"] = { --- function() --- require("telescope.builtin").live_grep { --- additional_args = function(args) return vim.list_extend(args, { "--hidden", "--no-ignore" }) end, --- } --- end, --- desc = "Search words in all files", --- } --- maps.n["gt"] = { function() require("telescope.builtin").git_status() end, desc = "Git status" } --- maps.n["gb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } --- maps.n["gc"] = { function() require("telescope.builtin").git_commits() end, desc = "Git commits" } --- maps.n["ff"] = { function() require("telescope.builtin").find_files() end, desc = "Search files" } --- maps.n["fF"] = { --- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, --- desc = "Search all files", --- } --- maps.n["fb"] = { function() require("telescope.builtin").buffers() end, desc = "Search buffers" } --- maps.n["fh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } --- maps.n["fm"] = { function() require("telescope.builtin").marks() end, desc = "Search marks" } --- maps.n["fo"] = { function() require("telescope.builtin").oldfiles() end, desc = "Search history" } --- maps.n["fc"] = --- { function() require("telescope.builtin").grep_string() end, desc = "Search for word under cursor" } --- maps.n["sb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } --- maps.n["sh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } --- maps.n["sm"] = { function() require("telescope.builtin").man_pages() end, desc = "Search man" } --- maps.n["sn"] = --- { function() require("telescope").extensions.notify.notify() end, desc = "Search notifications" } --- maps.n["sr"] = { function() require("telescope.builtin").registers() end, desc = "Search registers" } --- maps.n["sk"] = { function() require("telescope.builtin").keymaps() end, desc = "Search keymaps" } --- maps.n["sc"] = { function() require("telescope.builtin").commands() end, desc = "Search commands" } --- maps.n["ls"] = { --- function() --- local aerial_avail, _ = pcall(require, "aerial") --- if aerial_avail then --- require("telescope").extensions.aerial.aerial() --- else --- require("telescope.builtin").lsp_document_symbols() --- end --- end, --- desc = "Search symbols", --- } --- maps.n["lR"] = { function() require("telescope.builtin").lsp_references() end, desc = "Search references" } --- maps.n["lD"] = { function() require("telescope.builtin").diagnostics() end, desc = "Search diagnostics" } ---end --- ----- Terminal ---if is_available "toggleterm.nvim" then --- local toggle_term_cmd = astronvim.toggle_term_cmd --- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } --- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } --- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } --- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } --- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } --- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } --- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } --- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } ---end --- ----- Stay in indent mode ---maps.v["<"] = { ""] = { ">gv", desc = "indent line" } --- ----- Improved Terminal Mappings ---maps.t[""] = { "", desc = "Terminal normal mode" } ---maps.t["jk"] = { "", desc = "Terminal normal mode" } ---maps.t[""] = { "h", desc = "Terminal left window navigation" } ---maps.t[""] = { "j", desc = "Terminal down window navigation" } ---maps.t[""] = { "k", desc = "Terminal up window navigation" } ---maps.t[""] = { "l", desc = "Terminal right window naviation" } --- LSP Installer ---if is_available "mason-lspconfig.nvim" then maps.n["li"] = { "LspInfo", desc = "LSP information" } end - --- ALE: toggle _ALE activity ---keymap('n', 'a',[[:ALEToggle]]) - ---keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})', opts) --- ":lua require('neogen').generate()", opts) ---keymap("n", "ww", ":set wrap!", opts) --- diff --git a/nvim/lua/mods.lua b/nvim/lua/mods.lua deleted file mode 100644 index b8866fc..0000000 --- a/nvim/lua/mods.lua +++ /dev/null @@ -1,138 +0,0 @@ -vim.cmd([[ - function RandomColorScheme() - let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") - exe 'so ' . mycolors[localtime() % len(mycolors)] - unlet mycolors - endfunction - - call RandomColorScheme() - - :command NewColor call RandomColorScheme() -]]) - ---vim.cmd([[ --- function RandomColorSchemeMyPicks() --- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"] --- let mypick = mypicks[localtime() % len(mypicks)] --- echom mypick --- execute 'colo' mypick --- endfunction --- --- command NewColor call RandomColorSchemeMyPicks() --- --- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors) --- if (s:use_gui) --- call RandomColorSchemeMyPicks() --- endif ---]]) - -vim.cmd([[ - let g:fzf_history_dir = '~/.local/share/fzf-history' - map z :FZF - map a :Files - map l :Lines - map L :BLines - map B :Buffers - map h :History: - nnoremap g :Rg - "nnoremap t :Tags - nnoremap m :Marks - " This is the default extra key bindings - let g:fzf_action = { - \ 'ctrl-t': 'tab split', - \ 'ctrl-x': 'split', - \ 'ctrl-y': 'vsplit' } - let g:fzf_tags_command = 'ctags -R' - " Border color - let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } - let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' - let $FZF_DEFAULT_COMMAND="rg --files --hidden" - " Customize fzf colors to match your color scheme - let g:fzf_colors = - \ { 'fg': ['fg', 'Normal'], - \ 'bg': ['bg', 'Normal'], - \ 'hl': ['fg', 'Comment'], - \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], - \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], - \ 'hl+': ['fg', 'Statement'], - \ 'info': ['fg', 'PreProc'], - \ 'border': ['fg', 'Ignore'], - \ 'prompt': ['fg', 'Conditional'], - \ 'pointer': ['fg', 'Exception'], - \ 'marker': ['fg', 'Keyword'], - \ 'spinner': ['fg', 'Label'], - \ 'header': ['fg', 'Comment'] } - " Get Files - command! -bang -nargs=? -complete=dir Files - \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) - " Get text in files with Rg - command! -bang -nargs=* Rg - \ call fzf#vim#grep( - \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, - \ fzf#vim#with_preview(), 0) - " Ripgrep advanced - function! RipgrepFzf(query, fullscreen) - let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' - let initial_command = printf(command_fmt, shellescape(a:query)) - let reload_command = printf(command_fmt, '{q}') - let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} - call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) - endfunction - command! -nargs=* -bang RG call RipgrepFzf(, 0) - " Git grep - command! -bang -nargs=* GGrep - \ call fzf#vim#grep( - \ 'git grep --line-number '.shellescape(), 0, - \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) - command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) -]]) - -vim.cmd([[ - " Enable mouse scrollback - set mouse=a - tnoremap - tnoremap - function! ClearTerminal() - set scrollback=1 - let &g:scrollback=1 - echo &scrollback - call feedkeys("\i") - call feedkeys("clear\") - call feedkeys("\\") - call feedkeys("\i") - sleep 100m - let &scrollback=s:scroll_value - endfunction -]]) - -vim.cmd([[ - " :Rename {newname} - function! RenameFile() - let old_name = expand('%') - let new_name = input('New file name: ', expand('%'), 'file') - if new_name != '' && new_name != old_name - exec ':saveas ' . new_name - exec ':silent !rm ' . old_name - redraw! - endif - endfunction - map re :call RenameFile() -]]) - ---vim.cmd([[ --- " Markdown Settings --- autocmd BufNewFile,BufReadPost *.md set filetype=markdown --- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug'] --- let g:markdown_minlines = 100 --- let g:instant_markdown_autostart = 0 ---]]) --- ---vim.cmd([[ --- " On The Fly Table mode --- function! s:isAtStartOfLine(mapping) --- let text_before_cursor = getline('.')[0 : col('.')-1] --- let mapping_pattern = '\V' . escape(a:mapping, '\') --- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\') --- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$') --- endfunction ---]]) diff --git a/nvim/lua/opts.lua b/nvim/lua/opts.lua deleted file mode 100644 index d425f22..0000000 --- a/nvim/lua/opts.lua +++ /dev/null @@ -1,179 +0,0 @@ ---[[ opts.lua ]] - -vim.cmd([[ - "filetype plugin indent on " Load indent files, to automatically do language-dependent indenting. - "autocmd BufEnter * :syntax sync fromstart - "syntax enable - let g:clipbrdDefaultReg = '+' - "set nocompatible - "autocmd FileType lua set comments=s1:---,m:--,ex:-- -]]) - --- Environment -vim.opt.shell = "zsh" -- -vim.scriptencoding = "utf-8" -- -vim.opt.encoding = "utf-8" -- -vim.opt.fileencoding = "utf-8" -- -vim.g.python3_host_prog = "/usr/bin/python3" -- -vim.g.loaded_python3_provider = 1 -- -vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file ---vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" -- - -vim.opt.termguicolors = true --- Behaviour -vim.opt.clipboard:append({ "unnamedplus" }) -- -vim.opt.backspace = { "start", "eol", "indent" } -- Make backspace work as you would expect. -vim.opt.hidden = true -- Switch between buffers without having to save first. -vim.opt.splitbelow = true -- make split put the new buffer below the current buffer -vim.opt.splitright = true -- make vsplit put the new buffer on the right of the current buffer -vim.opt.scrolloff = 8 -- -vim.opt.sidescrolloff = 8 -- how many lines to scroll when using the scrollbar -vim.opt.autoread = true -- reload files if changed externally -vim.opt.display = "lastline" -- Show as much as possible of the last line. -vim.opt.inccommand = "split" -- -vim.opt.ttyfast = true -- Faster redrawing. -vim.opt.lazyredraw = true -- Only redraw when necessary -vim.opt.keywordprg = ":help" -- :help options ---vim.opt.ruler = true -- -vim.opt.errorbells = false -- -vim.opt.list = true -- Show non-printable characters. -vim.opt.showmatch = true -- -vim.opt.matchtime = 3 -- -vim.opt.showbreak = "↪ " -- -vim.opt.linebreak = true -- -vim.opt.exrc = true -- ---vim.opt.autochdir = true -- or use this to use <:e> to create a file in current directory -vim.opt.autoread = true -- if a file is changed outside of vim, automatically reload it without asking ---vim.opt.notimeout = true -- Timeout on keycodes and not mappings -vim.opt.ttimeout = true -- Makes terminal vim work sanely -vim.opt.ttimeoutlen = 10 -- ---vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds) ---vim.cmd([[set diffopt = vertical = true]]) -- diffs are shown side-by-side not above/below - --- Indent/tab -vim.opt.breakindent = true -- -vim.opt.autoindent = true -- Indent according to previous line. -vim.opt.smarttab = false -- -vim.opt.tabstop = 2 -- -vim.opt.expandtab = true -- Indent according to previous line. ---vim.opt.expandtab = true -- Use spaces instead of tabs. -vim.opt.softtabstop = 2 -- Tab key indents by 2 spaces. -vim.opt.shiftwidth = 2 -- >> indents by 2 spaces. -vim.opt.shiftround = true -- >> indents to next multiple of 'shiftwidth'. -vim.opt.smartindent = true -- smart indent - --- Column/statusline/Cl -vim.opt.number = true -- ---vim.opt.title = true -- ---vim.opt.colorcolumn = "+1" -- ---vim.opt.signcolumn = "yes:1" -- always show the sign column -vim.opt.signcolumn = "number" ---vim.opt.signcolumn = "no" -- -vim.opt.laststatus = 3 -- " Always show statusline. -vim.opt.showmode = true -- Show current mode in command-line, example: -- INSERT -- mode -vim.opt.showcmd = true -- Show the command in the status bar -vim.opt.cmdheight = 1 -- ---vim.opt.cmdheight = 0 -- -vim.opt.report = 0 -- Always report changed lines. ---local autocmd = vim.api.nvim_create_autocmd ---autocmd("bufenter", { --- pattern = "*", --- callback = function() --- if vim.bo.ft ~= "terminal" then --- vim.opt.statusline = "%!v:lua.require'ui.statusline'.run()" --- else --- vim.opt.statusline = "%#normal# " --- end --- end, ---}) - --- Backup/undo -vim.opt.backup = false -- ---vim.opt.noswapfile = true -- ---vim.opt.undofile = true -- -vim.opt.backupskip = { "/tmp/*", "/private/tmp/*" } -- - --- Format -vim.opt.textwidth = 80 -- -vim.cmd([[let &t_Cs = "\e[4:3m"]]) -- Undercurl -vim.cmd([[let &t_Ce = "\e[4:0m"]]) -- -vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder -vim.cmd("set whichwrap+=<,>,[,],h,l") -- -vim.cmd([[set iskeyword+=-]]) -- -vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work -vim.opt.wrapscan = true -- " Searches wrap around end-of-file. ---vim.wo.number = true -- ---vim.opt.wrap = false -- No Wrap lines ---vim.opt.foldmethod = 'manual' -- ---vim.opt.foldmethod = "expr" -- -vim.opt.modeline = true -- -vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis) ---vim.opt.nofoldenable = true -- turn folding off -vim.opt.foldenable = false -- turn folding off - --- Highlights -vim.opt.incsearch = true -- Highlight while searching with / or ?. -vim.opt.hlsearch = true -- Keep matches highlighted. -vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital in search -vim.opt.smartcase = true -- smart case -vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. -vim.opt.winblend = 0 -- -vim.opt.wildoptions = "pum" -- -vim.opt.pumblend = 5 -- -vim.opt.pumheight = 10 -- pop up menu height - --- Better Completion -vim.opt.complete = { ".", "w", "b", "u", "t" } -- ---vim.opt.completeopt = { "longest,menuone,preview" } -- -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} ---vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp ---vim.opt.completeopt = { "menu", "menuone", "noselect" } -- - --- Wildmenu completion -- -vim.opt.wildmenu = true -- -vim.opt.wildmode = { "list:longest" } -- -vim.opt.wildignore:append({ ".hg", ".git", ".svn" }) -- Version control -vim.opt.wildignore:append({ "*.aux", "*.out", "*.toc" }) -- LaTeX intermediate files -vim.opt.wildignore:append({ "*.jpg", "*.bmp", "*.gif", "*.png", "*.jpeg" }) -- binary images -vim.opt.wildignore:append({ "*.o", "*.obj", "*.exe", "*.dll", "*.manifest" }) -- compiled object files -vim.opt.wildignore:append({ "*.spl" }) -- compiled spelling word lists -vim.opt.wildignore:append({ "*.sw?" }) -- Vim swap files -vim.opt.wildignore:append({ "*.DS_Store" }) -- OSX bullshit -vim.opt.wildignore:append({ "*.luac" }) -- Lua byte code -vim.opt.wildignore:append({ "migrations" }) -- Django migrations -vim.opt.wildignore:append({ "*.pyc" }) -- Python byte code -vim.opt.wildignore:append({ "*.orig" }) -- Merge resolution files -vim.opt.wildignore:append({ "*/node_modules/*" }) -- - --- Cursorline -vim.cmd([[ " Only show cursorline in the current window and in normal mode - augroup cline - au! - au WinLeave,InsertEnter * set nocursorline - au WinEnter,InsertLeave * set cursorline - augroup END -]]) -vim.opt.cursorline = true -- -vim.opt.guicursor = "i:ver100,r:hor100" -- - --- Trailing whitespace -vim.cmd([[ " Only show in insert mode - augroup trailing - au! - au InsertEnter * :set listchars-=trail:⌴ - au InsertLeave * :set listchars+=trail:⌴ - augroup END -]]) -vim.opt.listchars = { tab = "▸ ", trail = "·" } -- -vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer - --- Line Return -vim.cmd([[ " Return to the same line when we reopen a file - augroup line_return - au! - au BufReadPost * - \ if line("'\"") > 0 && line("'\"") <= line("$") | - \ execute 'normal! g`"zvzz' | - \ endif - augroup END -]]) diff --git a/nvim/lua/pack.lua b/nvim/lua/pack.lua deleted file mode 100644 index 2c105ed..0000000 --- a/nvim/lua/pack.lua +++ /dev/null @@ -1,347 +0,0 @@ -local utils = require("utils") -local fn = vim.fn - --- Automatically install packer -local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" -if fn.empty(fn.glob(install_path)) > 0 then - PACKER_BOOTSTRAP = fn.system({ - "git", - "clone", - "--depth", - "1", - "https://github.com/wbthomason/packer.nvim", - install_path, - }) - print("Installing packer close and reopen Neovim...") - vim.cmd([[packadd packer.nvim]]) -end - --- Autocommand that reloads neovim whenever you save the plugins.lua file -vim.cmd([[ - augroup packer_user_config - autocmd! - autocmd BufWritePost pack.lua source | PackerSync - augroup end -]]) - --- Use a protected call so we don't error out on first use -local status_ok, packer = pcall(require, "packer") -if not status_ok then - return -end - --- Have packer use a popup window -packer.init({ - auto_reload_compiled = true, - display = { - open_fn = function() - return require("packer.util").float({ border = "rounded" }) - end, - }, -}) - --- Install your plugins here -return packer.startup(function(use) - use("wbthomason/packer.nvim") -- Have packer manage itself - - use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins - use("jose-elias-alvarez/null-ls.nvim") - - -- lsp - use { - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim", - "neovim/nvim-lspconfig", - } - require("mason").setup() - local mason_lspconfig = require("mason-lspconfig") - mason_lspconfig.setup({ - ensure_installed = { - "pylsp", - "pyright", - "clangd", - "vim-language-server", - "bash-language-server", - "lua-language-server", - "sumneko_lua", - } - }) - use { "j-hui/fidget.nvim", - config = function() - require("fidget").setup() - end - } - use { "folke/trouble.nvim", - config = function() - require("trouble").setup() - end - } - use({ - "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim - config = function() - require("lsp_lines").setup() - - -- disable virtual_text since it's redundant due to lsp_lines. - vim.diagnostic.config({ - virtual_text = false, - }) - end, - }) - use { "simrat39/symbols-outline.nvim", - config = function() - require("symbols-outline").setup({ - auto_close = true, - }) - end - } - use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } - use "folke/lsp-colors.nvim" - use "mfussenegger/nvim-lint" - use "weilbith/nvim-code-action-menu" - use "simrat39/rust-tools.nvim" - use { "saecki/crates.nvim", - requires = { "nvim-lua/plenary.nvim" }, - config = function() - require("crates").setup() - end, - } - use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't - - -- null-ls - use { "jose-elias-alvarez/null-ls.nvim", - config = function() - require("null-ls").setup({ - sources = { - require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake - } - }) - end - } - use({ - "SmiteshP/nvim-navic", - requires = "neovim/nvim-lspconfig", - }) - - -- nvimlsp plugins - --use({ - -- "williamboman/mason.nvim", - -- config = function() - -- require("mason").setup() - -- require("mason-lspconfig").setup({ - -- ensure_installed = { "sumneko_lua", "clangd", "rust_analyzer" }, - -- }) - -- end, - --}) - --use("williamboman/mason.nvim") - --use("williamboman/mason-lspconfig.nvim") - --use("neovim/nvim-lspconfig") - --use("williamboman/nvim-lsp-installer") - --use("glepnir/lspsaga.nvim") - --use("nvim-lua/lsp-status.nvim") - --use({ - -- "glepnir/lspsaga.nvim", - -- branch = "main", - -- config = function() - -- local saga = require("lspsaga") - - -- saga.init_lsp_saga({ - -- -- your configuration - -- }) - -- end, - --}) - -- use("nvim-lua/popup.nvim") - --use("SmiteshP/nvim-gps") - -- autocomplete plugins - use("hrsh7th/nvim-cmp") - use("hrsh7th/cmp-nvim-lsp") - use("hrsh7th/cmp-buffer") - use("hrsh7th/cmp-path") - use("hrsh7th/cmp-cmdline") - use("onsails/lspkind-nvim") - use("saadparwaiz1/cmp_luasnip") - - -- snippets - use("L3MON4D3/LuaSnip") --snippet engine - use("rafamadriz/friendly-snippets") -- a bunch of snippets to use - --use("github/copilot.vim") - --use({ - --"zbirenbaum/copilot.lua", - --event = { "VimEnter" }, - --config = function() - --vim.defer_fn(function() - --require("plugins.copilot") - --end, 100) - --end, - --}) - --use({ - --"zbirenbaum/copilot-cmp", - --module = "copilot_cmp", - --}) - - -- treesitter plugins - use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) --folding, jumping, refactoring... - use("nvim-treesitter/nvim-treesitter-refactor") - use("nvim-treesitter/nvim-treesitter-context") - --use({ - -- "danymat/neogen", - -- config = function() - -- require("neogen").setup({ snippet_engine = "luasnip" }) - -- end, - -- requires = "nvim-treesitter/nvim-treesitter", - --}) - use({ "junegunn/fzf", run = ":call fzf#install()" }) - -- telescope plugins - use("nvim-telescope/telescope.nvim") - use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) - use("tami5/sqlite.lua") - use("nvim-telescope/telescope-frecency.nvim") - use("nvim-telescope/telescope-ui-select.nvim") - use("nvim-telescope/telescope-media-files.nvim") - use("nvim-telescope/telescope-file-browser.nvim") - -- search emoji and other symbols - use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) - -- statusline plugins - --use("nvim-lualine/lualine.nvim") - --use({ - -- "nvim-lualine/lualine.nvim", - -- requires = { "kyazdani42/nvim-web-devicons", opt = true }, - --}) - --use({ - -- "folke/trouble.nvim", - -- requires = "kyazdani42/nvim-web-devicons", - -- config = function() - -- require("trouble").setup({ - -- -- your configuration comes here - -- -- or leave it empty to use the default settings - -- -- refer to the configuration section below - -- }) - -- end, - --}) - use("rebelot/heirline.nvim") - --use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" }) - --use("itchyny/lightline.vim") - -- debug plugins - --use("puremourning/vimspector") - use("mfussenegger/nvim-dap") - use("rcarriga/nvim-dap-ui") - --use({ - -- "rcarriga/neotest", - -- requires = { - -- "nvim-lua/plenary.nvim", - -- "nvim-treesitter/nvim-treesitter", - -- "antoinemadec/FixCursorHold.nvim", - -- "rcarriga/neotest-python", - -- "rcarriga/neotest-vim-test", - -- "rcarriga/neotest-plenary", - -- "vim-test/vim-test", - -- }, - -- config = function() - -- require("plugins.neotest") - -- end, - --}) - --use("vim-test/vim-test") - --use({ - -- "rcarriga/vim-ultest", - -- requires = { "vim-test/vim-test" }, - -- run = ":UpdateRemotePlugins", - -- config = function() - -- require("plugins.ultest") - -- end, - --}) - -- UI - use("karb94/neoscroll.nvim") - use("folke/which-key.nvim") - use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client - use("norcalli/nvim-colorizer.lua") - use("folke/zen-mode.nvim") - use("romainl/vim-cool") - --use("p00f/nvim-ts-rainbow") - --use("goolord/alpha-nvim") - --use("feline-nvim/feline.nvim") - --use({ "fgheng/winbar.nvim" }) - --use("vim-airline/vim-airline") - --use("kdheepak/tabline.nvim") - -- use({ - -- "kdheepak/tabline.nvim", - -- config = function() - -- require("tabline").setup({ enable = false }) - -- end, - -- requires = { "hoob3rt/lualine.nvim", "kyazdani42/nvim-web-devicons" }, - -- notification plugin - use("rcarriga/nvim-notify") - --use("lukas-reineke/indent-blankline.nvim") - use("kyazdani42/nvim-web-devicons") - -- Colorschemes - use("gruvbox-community/gruvbox") - use("srcery-colors/srcery-vim") - use("tomasr/molokai") - use("ayu-theme/ayu-vim") - --use("sjl/badwolf") - use("joshdick/onedark.vim") - use("everblush/everblush.nvim") - use("EdenEast/nightfox.nvim") - use("bluz71/vim-nightfly-guicolors") - --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" }) - use("jacoborus/tender.vim") - use("sainnhe/sonokai") - use("NTBBloodbath/doom-one.nvim") - - -- Utilities - use("nathom/filetype.nvim") - use("christoomey/vim-tmux-navigator") - --use("preservim/vimux") - use("myusuf3/numbers.vim") - use("windwp/nvim-autopairs") - use("lewis6991/gitsigns.nvim") - use("dinhhuy258/git.nvim") -- For git blame & browse - use("kyazdani42/nvim-tree.lua") - use("numToStr/Comment.nvim") - use("akinsho/toggleterm.nvim") - --use("godlygeek/tabular") - --use("Vonr/align.nvim") - --use("junegunn/vim-easy-align") - --use("dstein64/vim-startuptime") - use("tweekmonster/startuptime.vim") - use("lewis6991/impatient.nvim") - -- use("luukvbaal/stabilize.nvim") - --use({ - -- "ggandor/leap.nvim", - -- config = function() - -- require("leap").set_default_keymaps() - -- end, - --}) - --use("Shatur/neovim-session-manager") - --use("rmagatti/auto-session") - --use("rmagatti/session-lens") - --use("ahmedkhalf/project.nvim") - --use("aserowy/tmux.nvim") - --use("wakatime/vim-wakatime") - --use("tpope/vim-eunuch") - -- Handy unix command inside Vim (Rename, Move etc.) - use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) - --use("tpope/vim-fugitive") - --use("tpope/vim-surround") - --use("tpope/vim-obsession") - --use("tpope/vim-unimpaired") - --use("voldikss/vim-floaterm") - --use("vimpostor/vim-tpipeline") - --use({ - -- "vimwiki/vimwiki", - -- config = function() - -- vim.g.vimwiki_list = { - -- { - -- path = "~/", - -- syntax = "markdown", - -- ext = ".md", - -- }, - -- } - -- vim.g.vimwiki_ext2syntax = { - -- [".md"] = "markdown", - -- [".markdown"] = "markdown", - -- [".mdown"] = "markdown", - -- Automatically set up your configuration after cloning packer.nvim - -- Put this at the end after all plugins - if PACKER_BOOTSTRAP then - require("packer").sync() - end -end) diff --git a/nvim/lua/plugins/airline.lua b/nvim/lua/plugins/airline.lua deleted file mode 100644 index 76f3655..0000000 --- a/nvim/lua/plugins/airline.lua +++ /dev/null @@ -1,9 +0,0 @@ --- airline -vim.cmd([[ - let g:airline#extensions#tabline#enabled = 1 - let g:airline#extensions#tabline#show_buffers = 1 - let g:airline_powerline_fonts = 1 - let g:airline#extensions#tabline#buffer_nr_show = 1 - let g:airline#extensions#tagbar#enabled = 0 - let g:airline_theme='onedark' -]]) diff --git a/nvim/lua/plugins/autopairs.lua b/nvim/lua/plugins/autopairs.lua deleted file mode 100644 index 577e571..0000000 --- a/nvim/lua/plugins/autopairs.lua +++ /dev/null @@ -1,33 +0,0 @@ --- Setup nvim-cmp. -local status_ok, npairs = pcall(require, "nvim-autopairs") -if not status_ok then - return -end - -npairs.setup { - check_ts = true, - ts_config = { - lua = { "string", "source" }, - javascript = { "string", "template_string" }, - java = false, - }, - disable_filetype = { "TelescopePrompt", "spectre_panel" }, - fast_wrap = { - map = "", - chars = { "{", "[", "(", '"', "'" }, - pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), - offset = 0, -- Offset from pattern match - end_key = "$", - keys = "qwertyuiopzxcvbnmasdfghjkl", - check_comma = true, - highlight = "PmenuSel", - highlight_grey = "LineNr", - }, -} - -local cmp_autopairs = require "nvim-autopairs.completion.cmp" -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } }) diff --git a/nvim/lua/plugins/bufferline.lua b/nvim/lua/plugins/bufferline.lua deleted file mode 100644 index 6488f29..0000000 --- a/nvim/lua/plugins/bufferline.lua +++ /dev/null @@ -1,323 +0,0 @@ -require("bufferline").setup({ - options = { - numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, - close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - --indicator = { - -- icon = '', -- this should be omitted if indicator style is not 'icon' - -- style = 'icon', -- | 'underline' | 'none', - --}, - --indicator_icon = " ", - --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - modified_icon = '●', - left_trunc_marker = "", - right_trunc_marker = "", - show_buffer_close_icons = true, - --diagnostics = "nvim_lsp", - diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", - diagnostics_update_in_insert = false, - buffer_close_icon = "", - separator_style = "thin", - enforce_regular_tabs = true, - always_show_bufferline = true, - max_name_length = 25, - offsets = { - { - filetype = "NvimTree", - text = "File Explorer", - highlight = "StatusLine", - text_align = "center", - }, - }, - custom_areas = { - right = function() - local result = {} - local error = vim.diagnostic.get_count(0, [[Error]]) - local warning = vim.diagnostic.get_count(0, [[Warning]]) - local info = vim.diagnostic.get_count(0, [[Information]]) - local hint = vim.diagnostic.get_count(0, [[Hint]]) - - if error ~= 0 then - result[1] = { text = "  " .. error, fg = "#EC5241" } - end - - if warning ~= 0 then - result[2] = { text = "  " .. warning, fg = "#EFB839" } - end - - if hint ~= 0 then - result[3] = { text = "  " .. hint, fg = "#A3BA5E" } - end - - if info ~= 0 then - result[4] = { text = "  " .. info, fg = "#7EA9A7" } - end - - return result - end, - }, - }, - highlights = { - background = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab_selected = { - fg = "#fdf6e3", - bg = "#002b36", - --fg = tabline_sel_bg, - }, - tab_close = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_selected = { - fg = "002b36", - bg = "#fdf6e3", - bold = true, - italic = true, - }, - numbers = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - hint = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - hint_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - error = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - error_diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - modified = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - duplicate_selected = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true, - }, - duplicate_visible = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - duplicate = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - separator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator = { - fg = "#fdf6e3", - bg = "#002b36", - }, - indicator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - pick_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick_visible = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - --offset_separator = { - -- fg = win_separator_fg, - -- bg = separator_background_color, - --}, - } -}) diff --git a/nvim/lua/plugins/bufferline.lua-202209041657.backup b/nvim/lua/plugins/bufferline.lua-202209041657.backup deleted file mode 100644 index 1d45e5f..0000000 --- a/nvim/lua/plugins/bufferline.lua-202209041657.backup +++ /dev/null @@ -1,322 +0,0 @@ -require("bufferline").setup({ - options = { - numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, - close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - --indicator = { - -- icon = '', -- this should be omitted if indicator style is not 'icon' - -- style = 'icon', -- | 'underline' | 'none', - --}, - --indicator_icon = " ", - --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - modified_icon = '●', - left_trunc_marker = "", - right_trunc_marker = "", - show_buffer_close_icons = true, - --diagnostics = "nvim_lsp", - diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", - diagnostics_update_in_insert = false, - buffer_close_icon = "", - separator_style = "slant", - enforce_regular_tabs = true, - always_show_bufferline = true, - max_name_length = 25, - offsets = { - { - filetype = "NvimTree", - text = "File Explorer", - highlight = "StatusLine", - text_align = "center", - }, - }, - custom_areas = { - right = function() - local result = {} - local error = vim.diagnostic.get_count(0, [[Error]]) - local warning = vim.diagnostic.get_count(0, [[Warning]]) - local info = vim.diagnostic.get_count(0, [[Information]]) - local hint = vim.diagnostic.get_count(0, [[Hint]]) - - if error ~= 0 then - result[1] = { text = "  " .. error, fg = "#EC5241" } - end - - if warning ~= 0 then - result[2] = { text = "  " .. warning, fg = "#EFB839" } - end - - if hint ~= 0 then - result[3] = { text = "  " .. hint, fg = "#A3BA5E" } - end - - if info ~= 0 then - result[4] = { text = "  " .. info, fg = "#7EA9A7" } - end - - return result - end, - }, - }, - highlights = { - background = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab_selected = { - fg = tabline_sel_bg, - bg = "#002b36", - }, - tab_close = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_selected = { - fg = normal_fg, - bg = "#002b36", - bold = true, - italic = true, - }, - numbers = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - hint = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - hint_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - error = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - error_diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - modified = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - duplicate_selected = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true, - }, - duplicate_visible = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - duplicate = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - separator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator = { - fg = "#fdf6e3", - bg = "#002b36", - }, - indicator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - pick_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick_visible = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - --offset_separator = { - -- fg = win_separator_fg, - -- bg = separator_background_color, - --}, - } -}) diff --git a/nvim/lua/plugins/cmp.lua b/nvim/lua/plugins/cmp.lua deleted file mode 100644 index 93bc5b2..0000000 --- a/nvim/lua/plugins/cmp.lua +++ /dev/null @@ -1,134 +0,0 @@ -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - -local lspkind = require("lspkind") -cmp.setup({ - formatting = { - format = lspkind.cmp_format({ - mode = "symbol", -- show only symbol annotations - maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) - ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) - - -- The function below will be called before any actual modifications from lspkind - -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) - before = function(entry, vim_item) - --... - return vim_item - end, - }), - }, -}) - -require("luasnip/loaders/from_vscode").lazy_load() - ---   פּ ﯟ  some other good icons -local kind_icons = { - Text = "", - Method = "", - Function = "", - Constructor = "⚙️", - Field = "", - Variable = "", - Class = "ﴯ", - Interface = "", - Module = "", - Property = "ﰠ", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", -} - --- find more here: https://www.nerdfonts.com/cheat-sheet - -cmp.setup({ - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.close(), - [""] = cmp.mapping.confirm({ - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }), - }), - sources = cmp.config.sources({ - { name = "path" }, - { name = "nvim_lsp", keyword_length = 3 }, - { name = "buffer", keyword_length = 3 }, - { name = "luasnip", keyword_length = 4 }, - { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, - --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this - --{name = 'luasnip', keyword_length = 2}, - }), - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - -- Kind icons - vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind - vim_item.menu = ({ - nvim_lsp = "[LSP]", - luasnip = "[Snippet]", - buffer = "[Buffer]", - path = "[Path]", - })[entry.source.name] - return vim_item - end, - }, - confirm_opts = { - behavior = cmp.ConfirmBehavior.Replace, - select = false, - }, - window = { - documentation = { - border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - }, - }, - experimental = { - ghost_text = true, - native_menu = false, - --view = { - -- entries = "native" - --}, - }, -}) - ---vim.cmd([[ --- set completeopt=menuone,noinsert,noselect --- highlight! default link CmpItemKind CmpItemMenuDefault ---]]) - -cmp.setup.cmdline("/", { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = "buffer" }, - }, -}) - -cmp.setup.cmdline(":", { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = "path" }, - }, { - { name = "cmdline" }, - }), -}) diff --git a/nvim/lua/plugins/colorizer.lua b/nvim/lua/plugins/colorizer.lua deleted file mode 100644 index 14d25e2..0000000 --- a/nvim/lua/plugins/colorizer.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status, colorizer = pcall(require, "colorizer") -if (not status) then return end - -colorizer.setup({ - '*'; -}) diff --git a/nvim/lua/plugins/colorscheme.lua b/nvim/lua/plugins/colorscheme.lua deleted file mode 100644 index a7653e2..0000000 --- a/nvim/lua/plugins/colorscheme.lua +++ /dev/null @@ -1,29 +0,0 @@ --- Colorscheme --- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly -local colorscheme = "onedark" -local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) -if not status_ok then - vim.notify("colorscheme " .. colorscheme .. " not found!") - return -end - -vim.api.nvim_command("syntax on") -vim.api.nvim_command("highlight Normal guibg=none") -vim.api.nvim_command("highlight SignColumn guibg=none") -vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") ---vim.api.nvim_command("highlight TabLine guibg=none gui=bold") -vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") -vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") -vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") -vim.api.nvim_command("highlight WinBar guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") - -require("notify").setup({ - background_colour = "#000000", -}) diff --git a/nvim/lua/plugins/feline.lua b/nvim/lua/plugins/feline.lua deleted file mode 100644 index f259108..0000000 --- a/nvim/lua/plugins/feline.lua +++ /dev/null @@ -1,726 +0,0 @@ -require('feline').setup() ---local lsp = require("feline.providers.lsp") ---local vi_mode_utils = require("feline.providers.vi_mode") ---local navic = require("nvim-navic") --- ---local force_inactive = { --- filetypes = {}, --- buftypes = {}, --- bufnames = {}, ---} --- ---local winbar_components = { --- active = { {}, {}, {} }, --- inactive = { {}, {}, {} }, ---} --- ---local components = { --- active = { {}, {}, {} }, --- inactive = { {}, {}, {} }, ---} --- ---local colors = { --- bg = "#282828", --- black = "#282828", --- yellow = "#d8a657", --- cyan = "#89b482", --- oceanblue = "#45707a", --- green = "#a9b665", --- orange = "#e78a4e", --- violet = "#d3869b", --- magenta = "#c14a4a", --- white = "#a89984", --- fg = "#a89984", --- skyblue = "#7daea3", --- red = "#ea6962", ---} --- ---local vi_mode_colors = { --- NORMAL = "green", --- OP = "green", --- INSERT = "red", --- CONFIRM = "red", --- VISUAL = "skyblue", --- LINES = "skyblue", --- BLOCK = "skyblue", --- REPLACE = "violet", --- ["V-REPLACE"] = "violet", --- ENTER = "cyan", --- MORE = "cyan", --- SELECT = "orange", --- COMMAND = "green", --- SHELL = "green", --- TERM = "green", --- NONE = "yellow", ---} --- ---local vi_mode_text = { --- NORMAL = "<|", --- OP = "<|", --- INSERT = "|>", --- VISUAL = "<>", --- LINES = "<>", --- BLOCK = "<>", --- REPLACE = "<>", --- ["V-REPLACE"] = "<>", --- ENTER = "<>", --- MORE = "<>", --- SELECT = "<>", --- COMMAND = "<|", --- SHELL = "<|", --- TERM = "<|", --- NONE = "<>", --- CONFIRM = "|>", ---} --- ---local buffer_not_empty = function() --- if vim.fn.empty(vim.fn.expand("%:t")) ~= 1 then --- return true --- end --- return false ---end --- ---local checkwidth = function() --- local squeeze_width = vim.fn.winwidth(0) / 2 --- if squeeze_width > 40 then --- return true --- end --- return false ---end --- ---force_inactive.filetypes = { --- "NvimTree", --- "dbui", --- "packer", --- "startify", --- "fugitive", --- "fugitiveblame", ---} --- ---force_inactive.buftypes = { --- "terminal", ---} --- ----- STATUSLINE ----- LEFT --- ----- vi-mode ---components.active[1][1] = { --- provider = " NV-IDE ", --- hl = function() --- local val = {} --- --- val.bg = vi_mode_utils.get_mode_color() --- val.fg = "black" --- val.style = "bold" --- --- return val --- end, --- right_sep = " ", ---} ----- vi-symbol ---components.active[1][2] = { --- provider = function() --- return vi_mode_text[vi_mode_utils.get_vim_mode()] --- end, --- hl = function() --- local val = {} --- val.fg = vi_mode_utils.get_mode_color() --- val.bg = "bg" --- val.style = "bold" --- return val --- end, --- right_sep = " ", ---} ----- filename ---components.active[1][3] = { --- provider = function() --- return vim.fn.expand("%:F") --- end, --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, ---} ----- MID --- ----- gitBranch ---components.active[2][1] = { --- provider = "git_branch", --- hl = { --- fg = "yellow", --- bg = "bg", --- style = "bold", --- }, ---} ----- diffAdd ---components.active[2][2] = { --- provider = "git_diff_added", --- hl = { --- fg = "green", --- bg = "bg", --- style = "bold", --- }, ---} ----- diffModfified ---components.active[2][3] = { --- provider = "git_diff_changed", --- hl = { --- fg = "orange", --- bg = "bg", --- style = "bold", --- }, ---} ----- diffRemove ---components.active[2][4] = { --- provider = "git_diff_removed", --- hl = { --- fg = "red", --- bg = "bg", --- style = "bold", --- }, ---} --- ----- RIGHT --- ----- fileIcon ---components.active[3][1] = { --- provider = function() --- local filename = vim.fn.expand("%:t") --- local extension = vim.fn.expand("%:e") --- local icon = require("nvim-web-devicons").get_icon(filename, extension) --- if icon == nil then --- icon = "" --- end --- return icon --- end, --- hl = function() --- local val = {} --- local filename = vim.fn.expand("%:t") --- local extension = vim.fn.expand("%:e") --- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) --- if icon ~= nil then --- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") --- else --- val.fg = "white" --- end --- val.bg = "bg" --- val.style = "bold" --- return val --- end, --- right_sep = " ", ---} ----- fileType ---components.active[3][2] = { --- provider = "file_type", --- hl = function() --- local val = {} --- local filename = vim.fn.expand("%:t") --- local extension = vim.fn.expand("%:e") --- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) --- if icon ~= nil then --- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") --- else --- val.fg = "white" --- end --- val.bg = "bg" --- val.style = "bold" --- return val --- end, --- right_sep = " ", ---} ----- fileSize ---components.active[3][3] = { --- provider = "file_size", --- enabled = function() --- return vim.fn.getfsize(vim.fn.expand("%:t")) > 0 --- end, --- hl = { --- fg = "skyblue", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- fileFormat ---components.active[3][4] = { --- provider = function() --- return "" .. vim.bo.fileformat:upper() .. "" --- end, --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- fileEncode ---components.active[3][5] = { --- provider = "file_encoding", --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ---components.active[3][6] = { --- provider = "position", --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- linePercent ---components.active[3][7] = { --- provider = "line_percentage", --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- scrollBar ---components.active[3][8] = { --- provider = "scroll_bar", --- hl = { --- fg = "yellow", --- bg = "bg", --- }, ---} --- ----- INACTIVE --- ----- fileType ---components.inactive[1][1] = { --- provider = "file_type", --- hl = { --- fg = "black", --- bg = "cyan", --- style = "bold", --- }, --- left_sep = { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- right_sep = { --- { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- " ", --- }, ---} --- ----- WINBAR ----- LEFT --- ----- nvimGps ---winbar_components.active[1][1] = { --- provider = function() --- return navic.get_location() --- end, --- enabled = function() --- return navic.is_available() --- end, --- hl = { --- fg = "orange", --- style = "bold", --- }, ---} --- ----- MID --- ----- RIGHT --- ----- LspName ---winbar_components.active[3][1] = { --- provider = "lsp_client_names", --- hl = { --- fg = "yellow", --- style = "bold", --- }, --- right_sep = " ", ---} ----- diagnosticErrors ---winbar_components.active[3][2] = { --- provider = "diagnostic_errors", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.ERROR) --- end, --- hl = { --- fg = "red", --- style = "bold", --- }, ---} ----- diagnosticWarn ---winbar_components.active[3][3] = { --- provider = "diagnostic_warnings", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.WARN) --- end, --- hl = { --- fg = "yellow", --- style = "bold", --- }, ---} ----- diagnosticHint ---winbar_components.active[3][4] = { --- provider = "diagnostic_hints", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.HINT) --- end, --- hl = { --- fg = "cyan", --- style = "bold", --- }, ---} ----- diagnosticInfo ---winbar_components.active[3][5] = { --- provider = "diagnostic_info", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.INFO) --- end, --- hl = { --- fg = "skyblue", --- style = "bold", --- }, ---} --- ----- INACTIVE --- ----- fileType ---winbar_components.inactive[1][1] = { --- provider = "file_type", --- hl = { --- fg = "black", --- bg = "cyan", --- style = "bold", --- }, --- left_sep = { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- right_sep = { --- { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- " ", --- }, ---} --- ---require("feline").setup({ --- theme = colors, --- default_bg = bg, --- default_fg = fg, --- vi_mode_colors = vi_mode_colors, --- components = components, --- force_inactive = force_inactive, ---}) --- ---require("feline").winbar.setup({ --- components = winbar_components, --- force_inactive = force_inactive, ---}) -----local M = { vi = {} } ----- ----- -----M.vi.text = { ----- n = "NORMAL", ----- no = "NORMAL", ----- i = "INSERT", ----- v = "VISUAL", ----- V = "V-LINE", ----- [""] = "V-BLOCK", ----- c = "COMMAND", ----- cv = "COMMAND", ----- ce = "COMMAND", ----- R = "REPLACE", ----- Rv = "REPLACE", ----- s = "SELECT", ----- S = "SELECT", ----- [""] = "SELECT", ----- t = "TERMINAL", -----} ----- -----M.vi.colors = { ----- n = "FlnViCyan", ----- no = "FlnViCyan", ----- i = "FlnStatus", ----- v = "FlnViMagenta", ----- V = "FlnViMagenta", ----- [""] = "FlnViMagenta", ----- R = "FlnViRed", ----- Rv = "FlnViRed", ----- r = "FlnViBlue", ----- rm = "FlnViBlue", ----- s = "FlnViMagenta", ----- S = "FlnViMagenta", ----- [""] = "FelnMagenta", ----- c = "FlnViYellow", ----- ["!"] = "FlnViBlue", ----- t = "FlnViBlue", -----} ----- -----M.vi.sep = { ----- n = "FlnCyan", ----- no = "FlnCyan", ----- i = "FlnStatusBg", ----- v = "FlnMagenta", ----- V = "FlnMagenta", ----- [""] = "FlnMagenta", ----- R = "FlnRed", ----- Rv = "FlnRed", ----- r = "FlnBlue", ----- rm = "FlnBlue", ----- s = "FlnMagenta", ----- S = "FlnMagenta", ----- [""] = "FelnMagenta", ----- c = "FlnYellow", ----- ["!"] = "FlnBlue", ----- t = "FlnBlue", -----} ----- -----M.icons = { ----- locker = "", -- #f023 ----- page = "☰", -- 2630 ----- line_number = "", -- e0a1 ----- connected = "", -- f817 ----- dos = "", -- e70f ----- unix = "", -- f17c ----- mac = "", -- f179 ----- mathematical_L = "𝑳", ----- vertical_bar = "┃", ----- vertical_bar_thin = "│", ----- left = "", ----- right = "", ----- block = "█", ----- left_filled = "", ----- right_filled = "", ----- slant_left = "", ----- slant_left_thin = "", ----- slant_right = "", ----- slant_right_thin = "", ----- slant_left_2 = "", ----- slant_left_2_thin = "", ----- slant_right_2 = "", ----- slant_right_2_thin = "", ----- left_rounded = "", ----- left_rounded_thin = "", ----- right_rounded = "", ----- right_rounded_thin = "", ----- circle = "●", -----} ----- -----return M ------- Feline statusline definition. ------- ------- Note: This statusline does not define any colors. Instead the statusline is ------- built on custom highlight groups that I define. The colors for these ------- highlight groups are pulled from the current colorscheme applied. Check the ------- file: `lua/eden/modules/ui/colors.lua` to see how they are defined. ----- -----local u = require("eden.modules.ui.feline.util") -----local fmt = string.format ----- ------- "┃", "█", "", "", "", "", "", "", "●" ----- -----local get_diag = function(str) ----- local count = vim.lsp.diagnostic.get_count(0, str) ----- return (count > 0) and " " .. count .. " " or "" -----end ----- -----local function vi_mode_hl() ----- return u.vi.colors[vim.fn.mode()] or "FlnViBlack" -----end ----- -----local function vi_sep_hl() ----- return u.vi.sep[vim.fn.mode()] or "FlnBlack" -----end ----- -----local c = { ----- vimode = { ----- provider = function() ----- return string.format(" %s ", u.vi.text[vim.fn.mode()]) ----- end, ----- hl = vi_mode_hl, ----- right_sep = { str = " ", hl = vi_sep_hl }, ----- }, ----- gitbranch = { ----- provider = "git_branch", ----- icon = " ", ----- hl = "FlnGitBranch", ----- right_sep = { str = " ", hl = "FlnGitBranch" }, ----- enabled = function() ----- return vim.b.gitsigns_status_dict ~= nil ----- end, ----- }, ----- file_type = { ----- provider = function() ----- return fmt(" %s ", vim.bo.filetype:upper()) ----- end, ----- hl = "FlnAlt", ----- }, ----- fileinfo = { ----- provider = { name = "file_info", opts = { type = "relative" } }, ----- hl = "FlnAlt", ----- left_sep = { str = " ", hl = "FlnAltSep" }, ----- right_sep = { str = "", hl = "FlnAltSep" }, ----- }, ----- file_enc = { ----- provider = function() ----- local os = u.icons[vim.bo.fileformat] or "" ----- return fmt(" %s %s ", os, vim.bo.fileencoding) ----- end, ----- hl = "StatusLine", ----- left_sep = { str = u.icons.left_filled, hl = "FlnAltSep" }, ----- }, ----- cur_position = { ----- provider = function() ----- -- TODO: What about 4+ diget line numbers? ----- return fmt(" %3d:%-2d ", unpack(vim.api.nvim_win_get_cursor(0))) ----- end, ----- hl = vi_mode_hl, ----- left_sep = { str = u.icons.left_filled, hl = vi_sep_hl }, ----- }, ----- cur_percent = { ----- provider = function() ----- return " " .. require("feline.providers.cursor").line_percentage() .. " " ----- end, ----- hl = vi_mode_hl, ----- left_sep = { str = u.icons.left, hl = vi_mode_hl }, ----- }, ----- default = { -- needed to pass the parent StatusLine hl group to right hand side ----- provider = "", ----- hl = "StatusLine", ----- }, ----- lsp_status = { ----- provider = function() ----- return require("lsp-status").status() ----- end, ----- hl = "FlnStatus", ----- left_sep = { str = "", hl = "FlnStatusBg", always_visible = true }, ----- right_sep = { str = "", hl = "FlnErrorStatus", always_visible = true }, ----- }, ----- lsp_error = { ----- provider = function() ----- return get_diag("Error") ----- end, ----- hl = "FlnError", ----- right_sep = { str = "", hl = "FlnWarnError", always_visible = true }, ----- }, ----- lsp_warn = { ----- provider = function() ----- return get_diag("Warning") ----- end, ----- hl = "FlnWarn", ----- right_sep = { str = "", hl = "FlnInfoWarn", always_visible = true }, ----- }, ----- lsp_info = { ----- provider = function() ----- return get_diag("Information") ----- end, ----- hl = "FlnInfo", ----- right_sep = { str = "", hl = "FlnHintInfo", always_visible = true }, ----- }, ----- lsp_hint = { ----- provider = function() ----- return get_diag("Hint") ----- end, ----- hl = "FlnHint", ----- right_sep = { str = "", hl = "FlnBgHint", always_visible = true }, ----- }, ----- ----- in_fileinfo = { ----- provider = "file_info", ----- hl = "StatusLine", ----- }, ----- in_position = { ----- provider = "position", ----- hl = "StatusLine", ----- }, -----} ----- -----local active = { ----- { -- left ----- c.vimode, ----- c.gitbranch, ----- c.fileinfo, ----- c.default, -- must be last ----- }, ----- { -- right ----- c.lsp_status, ----- c.lsp_error, ----- c.lsp_warn, ----- c.lsp_info, ----- c.lsp_hint, ----- c.file_type, ----- c.file_enc, ----- c.cur_position, ----- c.cur_percent, ----- }, -----} ----- -----local inactive = { ----- { c.in_fileinfo }, -- left ----- { c.in_position }, -- right -----} ----- ------- -- Define autocmd that generates the highlight groups from the new colorscheme ------- -- Then reset the highlights for feline ------- edn.aug.FelineColorschemeReload = { ------- { ------- { "SessionLoadPost", "ColorScheme" }, ------- function() ------- require("eden.modules.ui.feline.colors").gen_highlights() ------- -- This does not look like it is required. If this is called I see the ^^^^^^ that ------- -- seperates the two sides of the bar. Since the entire config uses highlight groups ------- -- all that is required is to redefine them. ------- -- require("feline").reset_highlights() ------- end, ------- }, ------- } ----- -----require("feline").setup({ ----- components = { active = active, inactive = inactive }, ----- highlight_reset_triggers = {}, ----- force_inactive = { ----- filetypes = { ----- "NvimTree", ----- "packer", ----- "dap-repl", ----- "dapui_scopes", ----- "dapui_stacks", ----- "dapui_watches", ----- "dapui_repl", ----- "LspTrouble", ----- "qf", ----- "help", ----- }, ----- buftypes = { "terminal" }, ----- bufnames = {}, ----- }, ----- disable = { ----- filetypes = { ----- "dashboard", ----- "startify", ----- }, ----- }, -----}) diff --git a/nvim/lua/plugins/floaterm.lua b/nvim/lua/plugins/floaterm.lua deleted file mode 100644 index ea554af..0000000 --- a/nvim/lua/plugins/floaterm.lua +++ /dev/null @@ -1,6 +0,0 @@ -vim.cmd([[ - let g:floaterm_keymap_new = 't' - let g:floaterm_keymap_prev = 'tn' - let g:floaterm_keymap_next = 'tp' - let g:floaterm_keymap_toggle = 'tt' -]]) diff --git a/nvim/lua/plugins/fzf.lua b/nvim/lua/plugins/fzf.lua deleted file mode 100644 index 4195cd6..0000000 --- a/nvim/lua/plugins/fzf.lua +++ /dev/null @@ -1,66 +0,0 @@ -vim.cmd([[ - " FZF fuzzy finder - "--------------------------------------- - " Enable per-command history. - " CTRL-N and CTRL-P will be automatically bound to next-history and - " previous-history instead of down and up. If you don't like the change, - " explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS. - let g:fzf_history_dir = '~/.local/share/fzf-history' - map fz :FZF - map a :Files - map l :Lines - map L :BLines - map B :Buffers - map h :History: - nnoremap g :Rg - "nnoremap t :Tags - nnoremap m :Marks - " This is the default extra key bindings - let g:fzf_action = { - \ 'ctrl-t': 'tab split', - \ 'ctrl-x': 'split', - \ 'ctrl-y': 'vsplit' } - let g:fzf_tags_command = 'ctags -R' - " Border color - let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } - let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' - let $FZF_DEFAULT_COMMAND="rg --files --hidden" - " Customize fzf colors to match your color scheme - let g:fzf_colors = - \ { 'fg': ['fg', 'Normal'], - \ 'bg': ['bg', 'Normal'], - \ 'hl': ['fg', 'Comment'], - \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], - \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], - \ 'hl+': ['fg', 'Statement'], - \ 'info': ['fg', 'PreProc'], - \ 'border': ['fg', 'Ignore'], - \ 'prompt': ['fg', 'Conditional'], - \ 'pointer': ['fg', 'Exception'], - \ 'marker': ['fg', 'Keyword'], - \ 'spinner': ['fg', 'Label'], - \ 'header': ['fg', 'Comment'] } - " Get Files - command! -bang -nargs=? -complete=dir Files - \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) - " Get text in files with Rg - command! -bang -nargs=* Rg - \ call fzf#vim#grep( - \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, - \ fzf#vim#with_preview(), 0) - " Ripgrep advanced - function! RipgrepFzf(query, fullscreen) - let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' - let initial_command = printf(command_fmt, shellescape(a:query)) - let reload_command = printf(command_fmt, '{q}') - let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} - call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) - endfunction - command! -nargs=* -bang RG call RipgrepFzf(, 0) - " Git grep - command! -bang -nargs=* GGrep - \ call fzf#vim#grep( - \ 'git grep --line-number '.shellescape(), 0, - \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) - command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) -]]) diff --git a/nvim/lua/plugins/git.lua b/nvim/lua/plugins/git.lua deleted file mode 100644 index 963f7f9..0000000 --- a/nvim/lua/plugins/git.lua +++ /dev/null @@ -1,11 +0,0 @@ -local status, git = pcall(require, "git") -if (not status) then return end - -git.setup({ - keymaps = { - -- Open blame window - blame = "gb", - -- Open file/folder in git repository - browse = "go", - } -}) diff --git a/nvim/lua/plugins/gitsigns.lua b/nvim/lua/plugins/gitsigns.lua deleted file mode 100644 index 53d1a1e..0000000 --- a/nvim/lua/plugins/gitsigns.lua +++ /dev/null @@ -1 +0,0 @@ -require('gitsigns').setup {} diff --git a/nvim/lua/plugins/heirline.backup.lua b/nvim/lua/plugins/heirline.backup.lua deleted file mode 100644 index d65de92..0000000 --- a/nvim/lua/plugins/heirline.backup.lua +++ /dev/null @@ -1,733 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -require("nvim-gps").setup({ - icons = { - ["class-name"] = " ", - ["function-name"] = " ", - ["method-name"] = " ", - ["container-name"] = "炙", - ["tag-name"] = "炙", - }, -}) - -vim.o.laststatus = 3 - -local colors = { - bg = "#333842", - brown = "#504945", - white = "#f8f8f0", - grey = "#8F908A", - black = "#000000", - pink = "#f92672", - green = "#a6e22e", - blue = "#66d9ef", - yellow = "#e6db74", - orange = "#fd971f", - purple = "#ae81ff", - red = "#e95678", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -local ViMode = { - -- get vim current mode, this information will be required by the provider - -- and the highlight functions, so we compute it only once per component - -- evaluation and store it as a component attribute - init = function(self) - self.mode = vim.fn.mode(1) -- :h mode() - end, - -- Now we define some dictionaries to map the output of mode() to the - -- corresponding string and color. We can put these into `static` to compute - -- them at initialisation time. - static = { - mode_names = { - -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - mode_colors = { - n = colors.green, - i = colors.pink, - v = colors.blue, - V = colors.blue, - [""] = colors.blue, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - }, - -- We can now access the value of mode() that, by now, would have been - -- computed by `init()` and use it to index our strings dictionary. - -- note how `static` fields become just regular attributes once the - -- component is instantiated. - -- To be extra meticulous, we can also add some vim statusline syntax to - -- control the padding and make sure our string is always at least 2 - -- characters long. Plus a nice Icon. - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" - end, - -- Same goes for the highlight. Now the foreground will change according to the current mode. - hl = function(self) - local mode = self.mode:sub(1, 1) -- get only the first mode character - return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } - end, -} - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} --- We can now define some children separately and add them later - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "[No Name]" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return "" - end - end, - hl = { fg = colors.orange }, - }, -} - --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - -- use `force` because we need to override the child's hl foreground - return { fg = colors.cyan, bold = true, force = true, bg = colors.bg } - end - end, -} - --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local Diagnostics = { - condition = conditions.has_diagnostics, - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, -} - -local Git = { - condition = conditions.is_git_repo, - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - hl = { fg = colors.orange, bg = colors.bg }, - { - -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.change, bg = colors.bg }, - }, -} - -local WorkDir = { - provider = function() - local icon = " " - local cwd = vim.fn.getcwd(0) - cwd = vim.fn.fnamemodify(cwd, ":~") - if not conditions.width_percent_below(#cwd, 0.25) then - cwd = vim.fn.pathshorten(cwd) - end - local trail = cwd:sub(-1) == "/" and "" or "/" - return icon .. cwd .. trail - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, -} - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - hl = { bold = true, bg = colors.bg }, -} - -local Ruler = { - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - provider = "%7 %p%% Ln %l, Col %c", -} - -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " " } - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileEncoding = { - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:upper() - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - FileEncoding, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileNameShort = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":t") - if filename == "" then - return "[No Name]" - end - return filename - end, - hl = { fg = colors.gray, bg = colors.bg }, -} - -local FileNameShortBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileNameShortBlock = utils.insert( - FileNameShortBlock, - FileIcon, - FileNameShort, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local Gps = { - condition = require("nvim-gps").is_available, - provider = function() - local loc = require("nvim-gps").get_location() - if loc == "" then - return "" - end - return "> " .. loc - end, - hl = { fg = colors.gray, bg = colors.bg }, -} - -local DefaultStatusline = { - ViMode, - Space, - FileNameBlock, - Space, - Diagnostics, - Align, - Ruler, - Space, - FileInfoBlock, - Space, - Git, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - FileType, - Space, - Align, -} - -local TerminalStatusline = { - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - TerminalName, - Align, -} - -local StatusLines = { - fallthrough = false, - SpecialStatusline, - TerminalStatusline, - DefaultStatusline, -} - -local GSpace = { provider = " ", hl = { bg = colors.bg } } - -local WinBars = { - fallthrough = false, - { - -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix", "nofile", "promt" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - provider = "", - }, - { - -- An inactive winbar for regular files - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) and not conditions.is_active() - end, - utils.surround( - { "", "" }, - colors.bright_bg, - { hl = { fg = "gray", force = true }, GSpace, TerminalName, Align } - ), - }, - { - -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, colors.dark_red, { - GSpace, - TerminalName, - Align, - }), - }, - { - -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround( - { "", "" }, - colors.bright_bg, - { hl = { fg = "gray", force = true }, GSpace, FileNameShortBlock, Align } - ), - }, - -- A winbar for regular files - { GSpace, FileNameShortBlock, GSpace, Gps, Align }, -} - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+]" - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "" - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineDiagnostics = { - static = { - error_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - init = function(self) - self.errors = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.INFO }) - end, - { - provider = function(self) - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - else - return "TabLine" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = true }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineFileIcon, - TablineFileName, - TablineFileFlags, - TablineDiagnostics, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.bo[self.bufnr].modified - end, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLine").bg - end -end, { TablineFileNameBlock, TablineCloseButton }) - --- and here we go -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - hl = "TabLine", -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - -local TabLine = { TabLineOffset, BufferLine, TabPages } - -require("heirline").setup(StatusLines, WinBars, TabLine) - -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -vim.api.nvim_create_augroup("Heirline", { clear = true }) -vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - local colors = setup_colors() - utils.on_colorscheme(colors) - end, - group = "Heirline", -}) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) diff --git a/nvim/lua/plugins/heirline.backup2.lua b/nvim/lua/plugins/heirline.backup2.lua deleted file mode 100644 index 9f5c4ca..0000000 --- a/nvim/lua/plugins/heirline.backup2.lua +++ /dev/null @@ -1,1921 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - --- Colors ---local colors = { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, ---} - ---local colors = { --- gray = '#23232e', --- lightgray = '#5f6a8e', --- orange = '#ffb86c', --- purple = '#bd93f9', --- red = '#ff5555', --- yellow = '#f1fa8c', --- green = '#50fa7b', --- white = '#f8f8f2', --- black = '#282a36', ---} -local colors = { - bg = "#333842", - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - brown = "#504945", - white = "#f8f8f0", - grey = "#8F908A", - pink = "#f92672", - --green = "#a6e22e", - green = "#AAD94C", - --blue = "#66d9ef", - blue = "#39BAE6", - yellow = "#e6db74", - --orange = "#fd971f", - orange = "#FA8D3F", - purple = "#ae81ff", - --red = "#e95678", - red = "#F07171", - cyan = "#66d9eC", - mode_fg = "#242424", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - ---local mode_lable = { --- n = 'NORMAL', --- no = 'OPPEND', --- nov = 'N?', --- noV = 'N?', --- ['no\22'] = 'N?', --- niI = 'Ni', --- niR = 'Nr', --- niV = 'Nv', --- nt = 'N-TERM', --- v = 'VISUAL', --- vs = 'Vs', --- V = 'V-LINE', --- Vs = 'Vs', --- ['\22'] = 'V-BLCK', --- ['\22s'] = '^V', --- s = 'SELECT', --- S = 'S-LINE', --- ['\19'] = 'S-BLCK', --- i = 'INSERT', --- ic = 'ICOMPL', --- ix = 'Ix', --- R = 'REPLACE', --- Rc = 'Rc', --- Rx = 'Rx', --- Rv = 'VRPLCE', --- Rvc = 'Rv', --- Rvx = 'Rv', --- c = 'CMMAND', --- cv = 'PROMPT', --- r = '...', --- rm = 'MORE', --- ['r?'] = 'CNFIRM', --- ['!'] = 'SHELL', --- t = 'TERM', ---} --- ---local mode_colors_table = { --- n = 'red', --- no = 'blue', --- nov = 'blue', --- noV = 'blue', --- niI = 'red', --- niR = 'red', --- niV = 'red', --- nt = 'red', --- v = 'cyan', --- vs = 'cyan', --- V = 'cyan', --- Vs = 'cyan', --- ['\22'] = 'cyan', --- ['\22s'] = 'cyan', --- s = 'purple', --- S = 'purple', --- ['\19'] = 'purple', --- i = 'blue', --- ic = 'blue', --- ix = 'blue', --- R = 'orange', --- Rc = 'orange', --- Rx = 'orange', --- Rv = 'orange', --- Rvc = 'orange', --- Rvx = 'orange', --- c = 'green', --- cv = 'green', --- r = 'green', --- rm = 'green', --- ['r?'] = 'green', --- ['!'] = 'red', --- t = 'red', ---} --- ---local mode_colors = setmetatable({ --- n = { fg = 'red' } ---}, { --- __index = function(_, mode) --- return { --- fg = 'mode_fg', --- bg = mode_colors_table[mode], --- } --- end ---}) --- --- ---local VimModeNormal = { --- condition = function(self) --- return self.mode == 'n' --- end, --- provider = ' ●', ---} --- ---local VimModeOthers = { --- condition = function(self) --- return self.mode ~= 'n' --- end, --- --- utils.surround({ '', '' }, --- function(self) --- return mode_colors[self.mode].bg --- end, --- { --- { --- provider = function(self) --- return '● ' .. mode_lable[self.mode] --- end, --- }, --- hl = function(self) --- return mode_colors[self.mode] --- end --- } --- ), ---} --- ---local ViMode = { --- init = function(self) --- self.mode = vim.fn.mode(1) --- end, --- --- VimModeNormal, VimModeOthers, --- --- update = { 'ModeChanged' } ---} ---local colors = require'kanagawa.colors'.setup() -- wink - ---utils.surround({ "", "" }, function(self) return self:mode_color() end, {Ruler, hl = {fg = 'black'}} ), --- we are surrounding the component and adjusting the foreground in one go! - --- ViMode truemode ---local ViMode = { --- -- get vim current mode, this information will be required by the provider --- -- and the highlight functions, so we compute it only once per component --- -- evaluation and store it as a component attribute --- init = function(self) --- self.mode = vim.fn.mode(1) -- :h mode() --- --- -- execute this only once, this is required if you want the ViMode --- -- component to be updated on operator pending mode --- if not self.once then --- vim.api.nvim_create_autocmd("ModeChanged", { --- pattern = "*:*o", --- command = "redrawstatus", --- }) --- self.once = true --- end --- end, --- -- Now we define some dictionaries to map the output of mode() to the --- -- corresponding string and color. We can put these into `static` to compute --- -- them at initialisation time. --- static = { --- mode_names = { -- change the strings if you like it vvvvverbose! --- ["n"] = "NORMAL ", --- ["no"] = "N·OPERATOR PENDING ", --- ["v"] = "VISUAL ", --- ["V"] = "V·LINE ", --- [""] = "V·BLOCK ", --- ["s"] = "SELECT ", --- ["S"] = "S·LINE ", --- [""] = "S·BLOCK ", --- ["i"] = "INSERT ", --- ["R"] = "REPLACE ", --- ["Rv"] = "V·REPLACE ", --- ["c"] = "COMMAND ", --- ["cv"] = "VIM EX ", --- ["ce"] = "EX ", --- ["r"] = "PROMPT ", --- ["rm"] = "MORE ", --- ["r?"] = "CONFIRM ", --- ["!"] = "SHELL ", --- ["t"] = "TERMINAL ", --- }, --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- --n = "blue" , --- --i = "green", --- --v = "cyan", --- --V = "cyan", --- --["\22"] = "cyan", --- --c = "orange", --- --s = "purple", --- --S = "purple", --- --["\19"] = "purple", --- --R = "orange", --- --r = "orange", --- --["!"] = "red", --- --t = "red", --- }, --- }, --- -- We can now access the value of mode() that, by now, would have been --- -- computed by `init()` and use it to index our strings dictionary. --- -- note how `static` fields become just regular attributes once the --- -- component is instantiated. --- -- To be extra meticulous, we can also add some vim statusline syntax to --- -- control the padding and make sure our string is always at least 2 --- -- characters long. Plus a nice Icon. --- provider = function(self) --- return " %2(" .. self.mode_names[self.mode] .. "%)" --- --return " %2("..self.mode_names[self.mode].."%)" --- -- --- -- --- -- --- end, --- -- Same goes for the highlight. Now the foreground will change according to the current mode. --- hl = function(self) --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- end, --- -- Re-evaluate the component only on ModeChanged event! --- -- This is not required in any way, but it's there, and it's a small --- -- performance improvement. --- update = { --- "ModeChanged", --- }, --optional ---} -local ViMode = { - static = { - mode_names = { -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color, fg = colors.bg, bold = true } - end, -} - -local ViModeColor = { - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - }, -} - --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} --- ----- lsp status ----- I personally use it only to display progress messages! ----- See lsp-status/README.md for configuration options. --- ----- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. ---local LSPMessages = { --- provider = require("lsp-status").status, --- hl = { fg = "gray" }, ---} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local fill = { provider = "%=", hl = { bg = colors.nobg } } ---local LeftSep = { provider = "" hl = { fg = colors.bg } } ---local RightSep = { provider = "" hl = { fg = colors.bg }} - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - --return { fg = self.icon_color } - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "[No Name]" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return "" - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - -- use `force` because we need to override the child's hl foreground - --return { fg = "cyan", bold = true, force = true } - return { fg = "blue", bold = true, force = true, bg = colors.bg } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - -- return string.upper(vim.bo.filetype) - --end, - ----hl = { fg = utils.get_highlight("Type").fg, bold = true }, - --hl = { fg = utils.get_highlight("Type").fg, bold = true, bg = colors.bg }, - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:upper() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - provider = "%3(%2l%):%c %P", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} ---local ScrollBar = { --- static = { --- --sbar = { "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" }, --- sbar = { "🭶", "🭷", "🭸", "🭹", "🭺", "🭻" }, --- }, --- provider = function(self) --- local curr_line = vim.api.nvim_win_get_cursor(0)[1] --- local lines = vim.api.nvim_buf_line_count(0) --- local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1 --- return string.rep(self.sbar[i], 2) --- end, --- --hl = { fg = "blue", bg = "bright_bg" }, --- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, ---} -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%p%%" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - --hl = { fg = "blue", bold = true }, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - --hl = { fg = "blue", bold = true }, - hl = { bold = true, bg = colors.bg }, -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - FileEncoding, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - --- Statusline - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) - ---utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), -local DefaultStatusline = { - ViMode, - Space, - FileNameBlock, - Space, - Git, - Space, - Diagnostics, - Align, - Navic, - DAPMessages, - Align, - Space, - FileInfoBlock, - Space, - WordCount, - Ruler, - Space, - --Position, - --Percentage, - --ScrollBar, - --Space, - --LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar -} - ---local InactiveStatusline = { --- condition = conditions.is_not_active, --- FileType, --- Space, --- FileName, --- Align, ---} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - FileType, - Space, - Align, - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - hl = { bg = "dark_red" }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - { condition = conditions.is_active, ViMode, Space }, - FileType, - Space, - TerminalName, - Align, -} - ---local StatusLines = { --- --- hl = function() --- if conditions.is_active() then --- return "StatusLine" --- else --- return "StatusLineNC" --- end --- end, --- --- -- the first statusline with no condition, or which condition returns true is used. --- -- think of it as a switch case with breaks to stop fallthrough. --- fallthrough = false, --- --- SpecialStatusline, --- TerminalStatusline, --- --InactiveStatusline, --- DefaultStatusline, ---} -local StatusLines = { - - hl = function() - if conditions.is_active() then - return "StatusLine" - else - return "StatusLineNC" - end - end, - - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - --InactiveStatusline, - DefaultStatusline, -} ---hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, --- hl = { bg = colors.bg }, ---require("heirline").setup(StatusLines) --- we're done. - ---local FelineStyle = { --- --- -- stop at child where buftype/filetype/bufname matches --- fallthrough = false, --- --- { -- Identify the buftype/filetype/bufname first --- condtion = function() --- return conditions.buffer_matches({...}) --- end, --- --- -- Evaluate only the "active" or "inactive" child --- fallthrough = false, --- --- { -- If it's the current window, display some components --- condition = conditions.is_active --- {...} -- --- }, --- { -- Otherwise, display some other components --- {...} -- --- } --- }, --- { -- this block can be exactly as the one above for a different kind of --- -- buffer --- ... --- } ---} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) -local active_middle_segment = { --{{{ - -- provider = "%999X  %X", - - --provider = function(self) - -- --return " %999X %999X " - -- return " %2("..self.mode_names[self.mode].."%)" - -- -- - -- -- - -- -- - --end, - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - --utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), - }, - -- A winbar for regular files - --utils.surround({ "", "" }, "bright_bg", FileNameBlock), - --█🙼🙽🙼█⮘██⮚ - --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = function(self) - -- local color = self:mode_color() -- here! - -- return { bg = color, bold = true, force = true } - --end, - --}), - --utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), -} - ---utils.surround({ "", "" }, function(self) return self:mode_color() end, { active_middle_segment, hl = { fg = colors.bg, force = true } }) - -local WinBars = { - fill, - active_middle_segment, - fill, -} --- --utils.surround({ " ", " " }, colors.nobg, { fill, active_middle_segment, fill }) --- --static = { --- -- mode_colors_map = { --- -- n = colors.blue, --- -- i = colors.green, --- -- v = colors.purple, --- -- V = colors.purple, --- -- [""] = colors.purple, --- -- c = colors.red, --- -- s = colors.purple, --- -- S = colors.purple, --- -- [""] = colors.purple, --- -- R = colors.orange, --- -- r = colors.orange, --- -- ["!"] = colors.red, --- -- t = colors.red, --- -- }, --- -- mode_color = function(self) --- -- local mode = conditions.is_active() and vim.fn.mode() or "n" --- -- return self.mode_colors_map[mode] --- -- end, --- --}, --- --utils.surround({ " ", " " }, colors.nobg, { active_middle_segment, hl = function(self) --- -- local color = self:mode_color() -- here! --- -- return { bg = color, bold = true, force = true } --- --end, --- --}) ---} -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - --- Use it anywhere! ---local WinBarFileName = utils.surround({ "", "" }, "bright_bg", { --- hl = function() --- if not conditions.is_active() then --- return { fg = "gray", force = true } --- end --- end, --- FileNameBlock, --- Space, --- CloseButton, ---}) - ---local WinBars = { --- -- init = utils.pick_child_on_condition, --- fallthrough = false, --- { --- condition = function() --- return conditions.buffer_matches({ --- buftype = { "nofile", "prompt", "help", "quickfix" }, --- filetype = { "^git.*", "fugitive" }, --- }) --- end, --- init = function() --- vim.opt_local.winbar = nil --- end, --- }, --- { --- condition = function() --- return conditions.buffer_matches({ buftype = { "terminal" } }) --- end, --- utils.surround({ "", "" }, "dark_red", { --- FileType, --- Space, --- TerminalName, --- CloseButton, --- }), --- }, --- utils.surround({ "", "" }, "bright_bg", { --- hl = function() --- if conditions.is_not_active() then --- return { fg = "gray", force = true } --- end --- end, --- --- FileNameBlock, --- CloseButton, --- }), ---} - --- TabLine ---local TabLine ={ --- hl = { bg = colors.bg }, ---} -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. ". " - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - --- this looks exactly like the FileFlags component that we saw in --- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly --- also, we are adding a nice icon for terminal buffers. ---local TablineFileFlags = { --- { --- condition = function(self) --- return vim.api.nvim_buf_get_option(self.bufnr, "modified") --- end, --- provider = "[+]", --- --hl = { fg = colors.green }, --- hl = { fg = colors.green, bold = true, bg = colors.bg }, --- }, --- { --- condition = function(self) --- return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable") --- or vim.api.nvim_buf_get_option(self.bufnr, "readonly") --- end, --- provider = function(self) --- if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then --- return "  " --- else --- return "" --- end --- end, --- hl = { fg = "orange", bg = colors.bg }, --- }, ---} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+]" - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "" - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLine" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! ---local TablineBufferBlock = utils.surround({ "", "", hl = { bg =colors.bg } }, function(self) --- if self.is_active then --- return utils.get_highlight("TabLineSel").fg, utils.get_highlight("TabLineSel").bg --- else --- return utils.get_highlight("TabLine").fg, utils.get_highlight("TabLine").bg --- end -----end, { TabLine, TablineFileNameBlock, TablineCloseButton }) ---end, { TablineFileNameBlock, TablineCloseButton }) - ---local TablineBufferBlock = utils.surround({ "█", "█" }, "bg", { --- hl = function() --- if not conditions.is_active() then --- return { fg = "gray", force = true, bg = colors.bg } --- end --- end, --- TablineFileNameBlock, --- TablineCloseButton, ---}) ---local TablineBufferBlock = utils.surround({ "█", "█" }, --- { hl = function(self) --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- end, }, ---{ TablineFileNameBlock, TablineCloseButton, { hl = ViMode }, }) - ---local TablineBufferBlock = { --- init = function(self) --- --- self.mode = vim.fn.mode(1) -- :h mode() --- --- vim.api.nvim_create_autocmd("ModeChanged", { --- pattern = "*:*o", --- command = "redrawstatus", --- }) --- self.once = true --- end, --- static = { --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- }, --- hl = function(self) --- if self.is_active then --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- else --- return utils.get_highlight("TabLine").bg --- end --- end, --- update = { --- "ModeChanged", --- }, --optional --- { TablineFileNameBlock, TablineCloseButton } ---} - ---local TabLineSel = { --- hl = { bg = self.mode_colors[mode], fg = colors.bg, bold = true } ---} ---local ViMode2 = { --- init = function(self) --- self.mode = vim.fn.mode() --- end, --- static = { --- mode_colors = { --- n = "red", --- i = "green", --- v = "blue", --- c = "orange" --- --- } --- }, --- provider = function(self) --- return string.upper(self.mode) --- end, --- hl = function(self) --- return { fg = self.mode_colors[self.mode], bold = true, } --- end ---} ---local surrr = { --- utils.surround({ "", "" }, "red", { --- utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), --- { provider = "Normal" }, --- }), ---} ---local statusline = ViMode - ---local TablineBufferBlock = utils.surround({ "", "" }, function(self) --- if self.is_active then --- --self.mode = vim.fn.mode(1) -- :h mode() --- --- --return utils.get_highlight(vim.api.nvim_get_mode().mode).bg --- return utils.get_highlight("TabLineSel").bg --- --return utils.get_highlight("Normal").bg --- --local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { bg = TabLineSel, fg = colors.bg, bold = true } --- else --- return utils.get_highlight("TabLine").bg --- end ---end, { TablineFileNameBlock, TablineCloseButton }) - -local TablineBufferBlock = utils.surround({ "█", "▎" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLine").bg - end -end, { TablineFileNameBlock, TablineCloseButton }) ---█ ---local TablineBufferBlock = { --- init = function(self) --- self.mode = vim.fn.mode() --- end, --- static = { --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- }, --- hl = function(self) --- if conditions.is_active() then --- return { bg = self.mode_colors[self.mode], fg = colors.bg, bold = true } --- else --- return utils.get_highlight("Tabline").bg --- end --- end, --- update = { --- "ModeChanged", --- }, --optional --- { TablineFileNameBlock, TablineCloseButton }, ---} - ---local TablineBufferBlock = { --- static = { --- mode_colors_map = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- mode_color = function(self) --- local mode = conditions.is_active() and vim.fn.mode() or "n" --- return self.mode_colors_map[mode] --- end, --- }, --- { -- A special winbar for terminals --- condition = function() --- return conditions.buffer_matches({ buftype = { "terminal" } }) --- end, --- utils.surround({ "", "" }, "dark_red", { --- FileType, --- Space, --- TerminalName, --- }), --- }, --- { -- An inactive winbar for regular files --- condition = function() --- return conditions.is_not_active() --- end, --- utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton } ) --- }, --- { --- condition = function() --- return conditions.is_active() --- end, --- utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ) --- }, ---function() ---if self.is_active then ---utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), ---utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), ---utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ), ---} ---ViMode = utils.surround({ "", "" }, function(self) --- if self.is_active then --- return self:mode_color() --- else --- return utils.get_highlight("TabLine").bg --- end --- end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } ) --- -----} ---local TablineBufferBlock = { --- ViMode, --- TablineFileName, --- TablineCloseButton, ---} --- A winbar for regular files ---utils.surround({ "", "" }, "bright_bg", FileNameBlock), ---utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- if self.is_active then --- return utils.get_highlight("TabLineSel").bg --- else --- return utils.get_highlight("TabLine").bg --- end ---end, { TablineFileNameBlock, TablineCloseButton, } ) --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) ---local StatusLines = { --- --- hl = function() --- if conditions.is_active() then --- return "StatusLine" --- else --- return "StatusLineNC" --- end --- end, --- --- -- the first statusline with no condition, or which condition returns true is used. --- -- think of it as a switch case with breaks to stop fallthrough. --- fallthrough = false, --- --- SpecialStatusline, --- TerminalStatusline, --- --InactiveStatusline, --- DefaultStatusline, ---} --- --- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, --- hl = { bg = colors.bg }, ---local TabLine ={ --- hl = { bg = colors.bg }, ---} --- Window Close button: Let the callback know from which window it was clicked from! --- The following is the recommended way of achieving that: -require("heirline").setup(StatusLines, WinBars, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -vim.api.nvim_create_augroup("Heirline", { clear = true }) -vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - local colors = setup_colors() - utils.on_colorscheme(colors) - end, - group = "Heirline", -}) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) --- Theming ---local function setup_colors() --- return { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, --- } ---end ---require('heirline').load_colors(setup_colors()) --- ---vim.api.nvim_create_augroup("Heirline", { clear = true }) ---vim.api.nvim_create_autocmd("ColorScheme", { --- callback = function() --- local colors = setup_colors() --- utils.on_colorscheme(colors) --- end, --- group = "Heirline", ---}) diff --git a/nvim/lua/plugins/heirline.lua b/nvim/lua/plugins/heirline.lua deleted file mode 100644 index 007f45a..0000000 --- a/nvim/lua/plugins/heirline.lua +++ /dev/null @@ -1,1124 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - white = "#f8f8f2", - darkgray = "#23232e", - gray = "#2d2b3a", - lightgray = "#d6d3ea", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - purple = "#BF40BF", - violet = "#7F00FF", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local ViMode = { - init = function(self) - self.mode = vim.fn.mode(1) - if not self.once then - vim.cmd("au ModeChanged *:*o redrawstatus") - end - self.once = true - end, - static = { - mode_names = { - n = "NORMAL ", - no = "N·OPERATOR PENDING ", - nov = "N?", - noV = "N?", - ["no\22"] = "N? ", - niI = "Ni", - niR = "Nr", - niV = "Nv", - nt = "Nt", - v = "VISUAL ", - vs = "Vs", - V = "V·LINE ", - ["\22"] = "V·BLOCK ", - ["\22s"] = "V·BLOCK ", - s = "SELECT ", - S = "S·LINE ", - ["\19"] = "S·BLOCK ", - i = "INSERT ", - ix = "insert x ", - ic = "insert c ", - R = "REPLACE ", - Rc = "Rc", - Rx = "Rx", - Rv = "V·REPLACE ", - Rvc = "Rv", - Rvx = "Rv", - c = "COMMAND ", - cv = "VIM EX ", - ce = "EX ", - r = "PROMPT ", - rm = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - t = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" - end, - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - update = { - "ModeChanged", - }, -} - --- LSP -local LSPActive = { - condition = conditions.lsp_attached, - update = { "LspAttach", "LspDetach" }, - - provider = function() - local buf_clients = vim.lsp.buf_get_clients() - local buf_client_names = {} - - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" then - table.insert(buf_client_names, client.name) - end - end - return "⚙️ " .. table.concat(buf_client_names, "") - end, - hl = { fg = colors.lightgray, bold = false }, -} - --- Navic -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = colors.white }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = colors.white }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and (" 柳" .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileNameBlock: FileIcon, FileName and friends -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} - --- FileIcon, FileName, FileFlags and FileNameModifier -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, - hl = { fg = colors.white, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" -- ±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} - -local FileNameModifier = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = colors.white, bold = false, bg = colors.bg }, -} - -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - --return fmt ~= "unix" and fmt:upper() - return fmt ~= "unix" and fmt:lower() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = " 暈", - hl = { bold = true, fg = colors.yellow }, -} - -local help_file_name = { - condition = function() - return vim.bo.filetype == "help" - end, - provider = function() - local filename = vim.api.nvim_buf_get_name(0) - return vim.fn.fnamemodify(filename, ":t") - end, - hl = { fg = colors.blue }, -} - --- Cursor position: Ruler -local Ruler = { - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - --provider = "%6(%l:%1.5c/%L%) ", - --provider = "%3(%l:%1.5c/%L%) ", - --provider = "%7(%l/%3L%):%2c ", - provider = "%7(%l:%c%) ", - --provider = "%l:%c ", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, - hl = { fg = colors.darkgray, bold = true }, -} - -local cursor_location = { - { provider = "%l/%L|%c ", hl = { bold = true } }, - { - provider = " %P ", - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - }, -} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -RightSpace = utils.surround( - { "", "" }, - colors.gray, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround( - { "█", "" }, - colors.darkgray, - { RightSpace2, hl = { fg = colors.darkgray, force = true } } -) - -RightSpace3 = utils.surround( - { "█", "" }, - utils.get_highlight("statusline").bg, - { RightSpace3, hl = { fg = colors.darkgray, force = true } } -) - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } }) - -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { - RightSpace3, - hl = { bg = colors.darkgray, force = true }, - }, - { LSPActive, hl = { bg = colors.darkgray, force = true } }, - { RightSpace2, hl = { bg = colors.gray, force = true } }, - { FileInfoBlock, hl = { bg = colors.gray, force = true } }, - { RightSpace, hl = { fg = colors.gray, force = true } }, - --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --utils.make_flexible_component( - -- 3, - -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - -- { provider = "%<" } - --), -} ---local Align = { provider = "%=", hl = { bg = colors.bg } } - -local sections = { left, middle, right } -local DefaultStatusline = { sections } ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar - -local InactiveStatusline = { - condition = conditions.is_not_active, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - --FileType, - --Space, - --Align, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - --hl = { bg = colors.red }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - --{ condition = conditions.is_active, ViMode, Space }, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --FileType, - --Space, - --TerminalName, - --Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - ["\22"] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - ["\19"] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - InactiveStatusline, - DefaultStatusline, -} - --- WinBar -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -On_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - On_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local Center = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, colors.nobg, { Space }), - }, - -- A winbar for regular files - utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), -} - ---local WinBar = { Align, Center, Align } -local WinBar = { Space, Center } - --- TabLine -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - hl = { fg = colors.white, bold = false }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = colors.red }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "⮘ ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") - { provider = " ⮚", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them and here's some - -- free icons  ;) -) - --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLineFill" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { - provider = "%=", - }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then - self.title = "NvimTree" - return true - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "TablineFill" - end - end, -} - -local TabLine = { - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) diff --git a/nvim/lua/plugins/heirline.lua-202210111610.backup b/nvim/lua/plugins/heirline.lua-202210111610.backup deleted file mode 100644 index e1a54e3..0000000 --- a/nvim/lua/plugins/heirline.lua-202210111610.backup +++ /dev/null @@ -1,1452 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - white = "#f8f8f2", - --darkgray = "#1c1c29", - --darkgray = "#2d2b3a", - --darkgray = "#181818", - darkgray = "#23232e", - --darkgray = "#404040", - --gray = "#333842", - --gray = "#393547", - --gray = "#333842", - --lightgray = "#888888", - gray = "#2d2b3a", - lightgray = "#d6d3ea", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - ---purple = "#bd93f9", - ---purple = "#be2ed6", - purple = "#BF40BF", - --purple = "#5D3FD3", - --purple = "#DA70D6", - violet = "#7F00FF", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - -local ViMode = { - init = function(self) - self.mode = vim.fn.mode(1) - if not self.once then - vim.cmd("au ModeChanged *:*o redrawstatus") - end - self.once = true - end, - static = { - mode_names = { - n = "NORMAL ", - no = "N·OPERATOR PENDING ", - nov = "N?", - noV = "N?", - ["no\22"] = "N? ", - niI = "Ni", - niR = "Nr", - niV = "Nv", - nt = "Nt", - v = "VISUAL ", - vs = "Vs", - V = "V·LINE ", - ["\22"] = "V·BLOCK ", - ["\22s"] = "V·BLOCK ", - s = "SELECT ", - S = "S·LINE ", - ["\19"] = "S·BLOCK ", - i = "INSERT ", - ix = "insert x ", - ic = "insert c ", - R = "REPLACE ", - Rc = "Rc", - Rx = "Rx", - Rv = "V·REPLACE ", - Rvc = "Rv", - Rvx = "Rv", - c = "COMMAND ", - cv = "VIM EX ", - --ce = "EX ", - r = "PROMPT ", - rm = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - t = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" - end, - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - update = { - "ModeChanged", - }, -} - --- --- --- ---  ---凜兩 --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = { "LspAttach", "LspDetach" }, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- --- provider = function() --- local names = vim.tbl_values(vim.tbl_map(function(cl) --- return cl.name --- end, vim.lsp.buf_get_clients(0))) --- --- return "LSP " .. table.concat(names, " ") .. "" --- end, --- hl = { fg = colors.bg }, ---} -local LSPActive = { - condition = conditions.lsp_attached, - update = { "LspAttach", "LspDetach" }, - - -- You can keep it simple, - -- provider = " [LSP]", - - -- Or complicate things a bit and get the servers names - provider = function() - local buf_clients = vim.lsp.buf_get_clients() - local buf_ft = vim.bo.filetype - local buf_client_names = {} - - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" then - table.insert(buf_client_names, client.name) - end - end - return "⚙️ " .. table.concat(buf_client_names, "") - --return table.concat(buf_client_names, " ") - --return "⚙️﬉ " .. table.concat(buf_client_names, ", ") .. " " - --return " " .. table.concat(names, " ") .. " " - end, - hl = { fg = colors.lightgray, bold = false }, -} ---local LSPActive = { --- function(msg) --- msg = msg or "LS Inactive" --- local buf_clients = vim.lsp.buf_get_clients() --- if next(buf_clients) == nil then --- if type(msg) == "boolean" or #msg == 0 then --- return "LS Inactive" --- end --- return msg --- end --- --- local buf_ft = vim.bo.filetype --- local buf_client_names = {} --- --- -- add client --- for _, client in pairs(buf_clients) do --- if client.name ~= "null-ls" then --- table.insert(buf_client_names, client.name) --- end --- end --- --- -- add formatter --- local formatters = require("user.lsp.null-ls.formatters") --- local supported_formatters = formatters.list_registered(buf_ft) --- vim.list_extend(buf_client_names, supported_formatters) --- --- -- add linter --- local linters = require("user.lsp.null-ls.linters") --- local supported_linters = linters.list_registered(buf_ft) --- vim.list_extend(buf_client_names, supported_linters) --- --- return table.concat(buf_client_names, " ") --- -- return "[" .. table.concat(buf_client_names, ", ") .. "]" --- end, --- hl = { fg = colors.bg }, ---} --- lsp status --- I personally use it only to display progress messages! --- See lsp-status/README.md for configuration options. - --- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. -local LSPMessages = { - provider = require("lsp-status").status, - hl = { fg = "gray" }, -} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - --±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, --- hl = { bg = colors.bg }, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - provider = "%3(%l:%1.5c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) ", - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - -local Total = { - provider = "%L", - hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, -} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%P" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - ---local TerminalName = { --- -- we could add a condition to check that buftype == 'terminal' --- -- or we could do that later (see #conditional-statuslines below) --- provider = function() --- local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") --- return " " .. tname --- end, --- hl = { bold = true, bg = colors.bg }, ---} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) ---ViMode = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) --- Statusline ---BackgroundStatusline = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) --- -local Surrr = { - utils.surround({ "", "" }, "gray", { - FileInfoBlock, - hl = { bg = colors.gray }, - utils.surround({ "", "" }, "gray", { - Percentage, - utils.surround({ "", "" }, function(self) - return self:mode_color() - end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), - }), - }), -} - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) --- -RightSpace = utils.surround( - { "", "" }, - colors.gray, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround( - { "█", "" }, - colors.darkgray, - { RightSpace2, hl = { fg = colors.darkgray, force = true } } -) - -RightSpace3 = utils.surround( - { "█", "" }, - utils.get_highlight("statusline").bg, - { RightSpace3, hl = { fg = colors.darkgray, force = true } } -) ---RightSpace = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) ----- --- ---Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) --- - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.gray, { Space, Ruler, hl = { fg = colors.gray, force = true } }) - -local align = { provider = "%=" } -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { - RightSpace3, - hl = { bg = colors.darkgray, force = true }, - }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { LSPActive, hl = { bg = colors.darkgray, force = true } }, - --{ FileEncoding, hl = { bg = colors.orange, force = true } }, - { RightSpace2, hl = { bg = colors.gray, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileInfoBlock, hl = { bg = colors.gray, force = true } }, - --{ Space, hl = { bg = colors.red, force = true } }, - --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = colors.gray, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local sections = { left, middle, right } -local DefaultStatusline = { sections } - ---local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } ---local statusline = { ---Space, ---Space, ---Git, ---Space, ---Diagnostics, ---Align, ---Navic, ---DAPMessages, ---Align, ---Space, ---FileInfoBlock, ---Space, ---WordCount, ---Ruler, ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar ---} - -local InactiveStatusline = { - condition = conditions.is_not_active, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - --FileType, - --Space, - --Align, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - --hl = { bg = colors.red }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - --{ condition = conditions.is_active, ViMode, Space }, - - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --FileType, - --Space, - --TerminalName, - --Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - ["\22"] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - ["\19"] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - --mode_colors_map = { - -- n = colors.blue, - -- i = colors.green, - -- v = colors.purple, - -- V = colors.violet, - -- [""] = colors.red, - -- c = colors.yellow, - -- s = colors.orange, - -- S = colors.orange, - -- [""] = colors.purple, - -- R = colors.orange, - -- r = colors.orange, - -- ["!"] = colors.red, - -- t = colors.red, - }, - --mode_color = function(self) - -- local mode = conditions.is_active() and vim.fn.mode() or "n" - -- return self.mode_colors_map[mode] - --end, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - InactiveStatusline, - DefaultStatusline, -} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local active_middle_segment = { --{{{ - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), - }, -} - ---local WinBar = { --- Fill, --- active_middle_segment, --- Fill, ---} -local WinBar = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), - }, - -- A winbar for regular files - utils.surround({ "", "" }, colors.nobg, FileNameBlock), -} - --- TabLine --- - -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - --+ - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) ---require("heirline").setup(StatusLine, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - ---local function get_bufs() --- return vim.tbl_filter(function(bufnr) --- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted --- end, vim.api.nvim_list_bufs()) ---end --- ---local function goto_buf(index) --- local bufs = get_bufs() --- if index > #bufs then --- index = #bufs --- end --- vim.api.nvim_win_set_buf(0, bufs[index]) ---end --- ---local function addKey(key, index) --- vim.keymap.set("", "", function() --- goto_buf(index) --- end, { noremap = true, silent = true }) ---end --- ---for i = 1, 9 do --- addKey(i, i) ---end ---addKey("0", 10) diff --git a/nvim/lua/plugins/heirlinenew.lua b/nvim/lua/plugins/heirlinenew.lua deleted file mode 100644 index 64a33b2..0000000 --- a/nvim/lua/plugins/heirlinenew.lua +++ /dev/null @@ -1,1342 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - white = "#f8f8f2", - gray = "#23232e", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - purple = "#bd93f9", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - ---local function setup_colors() --- return { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, --- } ---end ---require('heirline').load_colors(setup_colors()) --- ---vim.api.nvim_create_augroup("Heirline", { clear = true }) ---vim.api.nvim_create_autocmd("ColorScheme", { --- callback = function() --- local colors = setup_colors() --- utils.on_colorscheme(colors) --- end, --- group = "Heirline", ---}) - -local ViMode = { - static = { - mode_names = { -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color, fg = colors.bg, bold = true } - end, -} - --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = { "LspAttach", "LspDetach" }, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, ---} - -local LSPActive = { - condition = conditions.lsp_attached, - - provider = function() - local names = vim.tbl_values(vim.tbl_map(function(cl) - return cl.name - end, vim.lsp.buf_get_clients(0))) - - return "LSP [" .. table.concat(names, " ") .. "]" - end, - hl = { fg = colors.green }, -} --- lsp status --- I personally use it only to display progress messages! --- See lsp-status/README.md for configuration options. - --- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. -local LSPMessages = { - provider = require("lsp-status").status, - hl = { fg = "gray" }, -} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - --±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, --- hl = { bg = colors.bg }, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - provider = "%6(%l:%1.5c/%L%) ", - hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, -} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%P" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - hl = { bold = true, bg = colors.bg }, -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) ---ViMode = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) --- Statusline ---BackgroundStatusline = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) --- -local Surrr = { - utils.surround({ "", "" }, "gray", { - FileInfoBlock, - hl = { bg = colors.gray }, - utils.surround({ "", "" }, "gray", { - Percentage, - utils.surround({ "", "" }, function(self) - return self:mode_color() - end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), - }), - }), -} - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) --- -RightSpace = utils.surround( - { "", "" }, - colors.red, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround({ "", "" }, colors.orange, { RightSpace2, hl = { bg = colors.red, force = true } }) ---RightSpace = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) ----- --- ---Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) --- - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.orange, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.red, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.red, { Space, Ruler, hl = { fg = colors.red, force = true } }) - -local align = { provider = "%=" } -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { LSPActive, hl = { bg = colors.orange, force = true } }, - --{ FileEncoding, hl = { bg = colors.orange, force = true } }, - { RightSpace2, hl = { fg = colors.orange, bg = colors.red, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileInfoBlock, hl = { bg = colors.red, force = true } }, - --{ Space, hl = { bg = colors.red, force = true } }, - --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = colors.red, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local sections = { left, align, middle, align, right } -local DefaultStatusline = { sections } - ---local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } ---local statusline = { ---Space, ---Space, ---Git, ---Space, ---Diagnostics, ---Align, ---Navic, ---DAPMessages, ---Align, ---Space, ---FileInfoBlock, ---Space, ---WordCount, ---Ruler, ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar ---} - ---local InactiveStatusline = { --- condition = conditions.is_not_active, --- FileType, --- Space, --- FileName, --- Align, ---} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - FileType, - Space, - Align, - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - hl = { bg = "dark_red" }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - { condition = conditions.is_active, ViMode, Space }, - FileType, - Space, - TerminalName, - Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - --mode_colors_map = { - -- n = colors.blue, - -- i = colors.green, - -- v = colors.purple, - -- V = colors.violet, - -- [""] = colors.red, - -- c = colors.yellow, - -- s = colors.orange, - -- S = colors.orange, - -- [""] = colors.purple, - -- R = colors.orange, - -- r = colors.orange, - -- ["!"] = colors.red, - -- t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - --InactiveStatusline, - DefaultStatusline, -} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local active_middle_segment = { --{{{ - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - }, -} - ---local WinBar = { --- Fill, --- active_middle_segment, --- Fill, ---} -local WinBar = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - }, - -- A winbar for regular files - utils.surround({ "", "" }, "bright_bg", FileNameBlock), -} - --- TabLine --- - -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - --+ - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) ---require("heirline").setup(StatusLine, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - ---local function get_bufs() --- return vim.tbl_filter(function(bufnr) --- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted --- end, vim.api.nvim_list_bufs()) ---end --- ---local function goto_buf(index) --- local bufs = get_bufs() --- if index > #bufs then --- index = #bufs --- end --- vim.api.nvim_win_set_buf(0, bufs[index]) ---end --- ---local function addKey(key, index) --- vim.keymap.set("", "", function() --- goto_buf(index) --- end, { noremap = true, silent = true }) ---end --- ---for i = 1, 9 do --- addKey(i, i) ---end ---addKey("0", 10) diff --git a/nvim/lua/plugins/linecolor.lua b/nvim/lua/plugins/linecolor.lua deleted file mode 100644 index 37550dd..0000000 --- a/nvim/lua/plugins/linecolor.lua +++ /dev/null @@ -1,112 +0,0 @@ ---local M = {} ---M.theme = function() --- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future --- local colors = { --- nobg = nil, --- blue = "#87b0f9", --- mauve = "#cba6f7", --- red = "#f38ba8", --- green = "#a6e3a1", --- peach = "#fab387", --- white = "#c6d0f5", --- gray = "#a1a8c9", --- black = "#1e1e2e", --- } --- return { --- inactive = { --- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, --- b = { fg = colors.white, bg = colors.black }, --- c = { fg = colors.gray, bg = colors.nobg }, --- }, --- visual = { --- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, --- b = { fg = colors.mauve, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- replace = { --- a = { fg = colors.black, bg = colors.red, gui = "bold" }, --- b = { fg = colors.red, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- normal = { --- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, --- b = { fg = colors.black, bg = colors.green }, --- c = { fg = colors.white, bg = colors.black }, --- }, --- insert = { --- a = { fg = colors.black, bg = colors.green, gui = "bold" }, --- b = { fg = colors.teal, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- command = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- modified = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.peach }, --- c = { fg = colors.white, bg = colors.peach }, --- }, --- } ---end ---return M -local M = {} -M.theme = function() - --local colors = { - -- darkgray = "#16161d", - -- gray = "#727169", - -- innerbg = nil, - -- outerbg = "#16161D", - -- normal = "#7e9cd8", - -- insert = "#98bb6c", - -- visual = "#ffa066", - -- replace = "#e46876", - -- command = "#e6c384", - --} - local colors = { - darkgray = "#16161d", - gray = "#727169", - innerbg = nil, - outerbg = "#16161D", - normal = "#39BAE6", - insert = "#AAD94C", - visual = "#FA8D3F", - replace = "#F07171", - command = "#F2AE49", - } - return { - inactive = { - a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - visual = { - a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - replace = { - a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - normal = { - a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - y = { fg = colors.gray, bg = colors.outerbg }, - }, - insert = { - a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - command = { - a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - } -end -return M diff --git a/nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua b/nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua deleted file mode 100644 index dd25d9a..0000000 --- a/nvim/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua +++ /dev/null @@ -1,301 +0,0 @@ -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({ - single_file_support = true, - on_attach = function(client, bufnr) - print('hello') - lspconfig.util.default_config.on_attach(client, bufnr) - end -}) - -vim.api.nvim_create_autocmd('User', { - pattern = 'LspAttached', - desc = 'LSP actions', - callback = function() - local bufmap = function(mode, lhs, rhs) - local opts = {buffer = true} - vim.keymap.set(mode, lhs, rhs, opts) - end - - -- Displays hover information about the symbol under the cursor - bufmap('n', 'K', 'lua vim.lsp.buf.hover()') - - -- Jump to the definition - bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') - - -- Jump to declaration - bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') - - -- Lists all the implementations for the symbol under the cursor - bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') - - -- Jumps to the definition of the type symbol - bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') - - -- Lists all the references - bufmap('n', 'gr', 'lua vim.lsp.buf.references()') - - -- Displays a function's signature information - bufmap('n', '', 'lua vim.lsp.buf.signature_help()') - - -- Renames all references to the symbol under the cursor - bufmap('n', '', 'lua vim.lsp.buf.rename()') - - -- Selects a code action available at the current cursor position - bufmap('n', '', 'lua vim.lsp.buf.code_action()') - bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') - - -- Show diagnostics in a floating window - bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') - - -- Move to the previous diagnostic - bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') - - -- Move to the next diagnostic - bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') - end -}) - --- ----Snippets --- -require('luasnip.loaders.from_vscode').lazy_load() - --- ---- Autocompletion/nvim-cmp --- -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - -}) - -snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end -}, - -sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, -}, - -window = { - documentation = cmp.config.window.bordered() -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'} -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, -}, - -mapping = { - [''] = cmp.mapping.confirm({select = true}), -} -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), - -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), -[''] = cmp.mapping.scroll_docs(-4), -[''] = cmp.mapping.scroll_docs(4), -[''] = cmp.mapping.abort(), -[''] = cmp.mapping.confirm({select = true}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end -end, {'i', 's'}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end -end, {'i', 's'}), - -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} - -require('luasnip.loaders.from_vscode').lazy_load() - -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end - }, - sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, - }, - window = { - documentation = cmp.config.window.bordered() - }, - formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, - }, - mapping = { - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({select = true}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - local col = vim.fn.col('.') - 1 - - if cmp.visible() then - cmp.select_next_item(select_opts) - elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then - fallback() - else - cmp.complete() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item(select_opts) - else - fallback() - end - end, {'i', 's'}), - }, -}) - - -vim.diagnostic.config({ - virtual_text = false, - severity_sort = true, - float = { - border = 'rounded', - source = 'always', - header = '', - prefix = '', - }, -}) - -vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( - vim.lsp.handlers.hover, - {border = 'rounded'} -) - -vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( - vim.lsp.handlers.signature_help, - {border = 'rounded'} -) - -require('mason').setup() -require('mason-lspconfig').setup() - - -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({}) - - - - - - - - diff --git a/nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua b/nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua deleted file mode 100644 index dd25d9a..0000000 --- a/nvim/lua/plugins/lsp-22.10.12-21:29-bak.lua +++ /dev/null @@ -1,301 +0,0 @@ -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({ - single_file_support = true, - on_attach = function(client, bufnr) - print('hello') - lspconfig.util.default_config.on_attach(client, bufnr) - end -}) - -vim.api.nvim_create_autocmd('User', { - pattern = 'LspAttached', - desc = 'LSP actions', - callback = function() - local bufmap = function(mode, lhs, rhs) - local opts = {buffer = true} - vim.keymap.set(mode, lhs, rhs, opts) - end - - -- Displays hover information about the symbol under the cursor - bufmap('n', 'K', 'lua vim.lsp.buf.hover()') - - -- Jump to the definition - bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') - - -- Jump to declaration - bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') - - -- Lists all the implementations for the symbol under the cursor - bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') - - -- Jumps to the definition of the type symbol - bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') - - -- Lists all the references - bufmap('n', 'gr', 'lua vim.lsp.buf.references()') - - -- Displays a function's signature information - bufmap('n', '', 'lua vim.lsp.buf.signature_help()') - - -- Renames all references to the symbol under the cursor - bufmap('n', '', 'lua vim.lsp.buf.rename()') - - -- Selects a code action available at the current cursor position - bufmap('n', '', 'lua vim.lsp.buf.code_action()') - bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') - - -- Show diagnostics in a floating window - bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') - - -- Move to the previous diagnostic - bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') - - -- Move to the next diagnostic - bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') - end -}) - --- ----Snippets --- -require('luasnip.loaders.from_vscode').lazy_load() - --- ---- Autocompletion/nvim-cmp --- -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - -}) - -snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end -}, - -sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, -}, - -window = { - documentation = cmp.config.window.bordered() -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'} -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, -}, - -mapping = { - [''] = cmp.mapping.confirm({select = true}), -} -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), - -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), -[''] = cmp.mapping.scroll_docs(-4), -[''] = cmp.mapping.scroll_docs(4), -[''] = cmp.mapping.abort(), -[''] = cmp.mapping.confirm({select = true}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end -end, {'i', 's'}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end -end, {'i', 's'}), - -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} - -require('luasnip.loaders.from_vscode').lazy_load() - -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end - }, - sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, - }, - window = { - documentation = cmp.config.window.bordered() - }, - formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, - }, - mapping = { - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({select = true}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - local col = vim.fn.col('.') - 1 - - if cmp.visible() then - cmp.select_next_item(select_opts) - elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then - fallback() - else - cmp.complete() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item(select_opts) - else - fallback() - end - end, {'i', 's'}), - }, -}) - - -vim.diagnostic.config({ - virtual_text = false, - severity_sort = true, - float = { - border = 'rounded', - source = 'always', - header = '', - prefix = '', - }, -}) - -vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( - vim.lsp.handlers.hover, - {border = 'rounded'} -) - -vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( - vim.lsp.handlers.signature_help, - {border = 'rounded'} -) - -require('mason').setup() -require('mason-lspconfig').setup() - - -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({}) - - - - - - - - diff --git a/nvim/lua/plugins/lsp-colors.lua b/nvim/lua/plugins/lsp-colors.lua deleted file mode 100644 index 1398123..0000000 --- a/nvim/lua/plugins/lsp-colors.lua +++ /dev/null @@ -1,9 +0,0 @@ -local status, colors = pcall(require, "lsp-colors") -if (not status) then return end - -colors.setup { - Error = "#db4b4b", - Warning = "#e0af68", - Information = "#0db9d7", - Hint = "#10B981" -} diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua deleted file mode 100644 index 59bb3f4..0000000 --- a/nvim/lua/plugins/lsp.lua +++ /dev/null @@ -1,231 +0,0 @@ -local fn = vim.fn -local keymap = vim.keymap - -local utils = require("utils") - -local custom_attach = function(client, bufnr) - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end - - map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) - map("n", "", vim.lsp.buf.definition) - map("n", "K", vim.lsp.buf.hover) - map("n", "", vim.lsp.buf.signature_help) - map("n", "rn", vim.lsp.buf.rename, { desc = "varialbe rename" }) - map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) - map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) - map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) - map("n", "q", function() - vim.diagnostic.setqflist({ open = true }) - end, { desc = "put diagnostic to qf" }) --- map("n", "ca", vim.lsp.buf.code_action, { desc = "LSP code action" }) --- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) --- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) --- map("n", "wl", function() --- inspect(vim.lsp.buf.list_workspace_folders()) --- end, { desc = "list workspace folder" }) - - -- Set some key bindings conditional on server capabilities - if client.server_capabilities.documentFormattingProvider then - map("n", "f", vim.lsp.buf.format, { desc = "format code" }) - end - - vim.api.nvim_create_autocmd("CursorHold", { - buffer = bufnr, - callback = function() - local float_opts = { - focusable = false, - close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, - border = "rounded", - source = "always", -- show source in diagnostic popup window - prefix = " ", - } - - if not vim.b.diagnostics_pos then - vim.b.diagnostics_pos = { nil, nil } - end - - local cursor_pos = vim.api.nvim_win_get_cursor(0) - if - (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) - and #vim.diagnostic.get() > 0 - then - vim.diagnostic.open_float(nil, float_opts) - end - - vim.b.diagnostics_pos = cursor_pos - end, - }) - - -- The below command will highlight the current variable and its usages in the buffer. - if client.server_capabilities.documentHighlightProvider then - vim.cmd([[ - hi! link LspReferenceRead Visual - hi! link LspReferenceText Visual - hi! link LspReferenceWrite Visual - augroup lsp_document_highlight - autocmd! * - autocmd CursorHold lua vim.lsp.buf.document_highlight() - autocmd CursorMoved lua vim.lsp.buf.clear_references() - augroup END - ]]) - end - - if vim.g.logging_level == "debug" then - local msg = string.format("Language server %s started!", client.name) - vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) - end -end - -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) -capabilities.textDocument.completion.completionItem.snippetSupport = true - -local lspconfig = require("lspconfig") - -if utils.executable("pylsp") then - lspconfig.pylsp.setup({ - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, - }, - }, - flags = { - debounce_text_changes = 200, - }, - capabilities = capabilities, - }) -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) --- end - -if utils.executable("clangd") then - lspconfig.clangd.setup({ - on_attach = custom_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - }) -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup({ - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - }) -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup({ - on_attach = custom_attach, - capabilities = capabilities, - }) -end - -if utils.executable("lua-language-server") then - lspconfig.sumneko_lua.setup({ - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - }) -end - ---lspconfig.sumneko_lua.setup({ --- single_file_support = true, --- on_attach = function(client, bufnr) --- print('hello') --- lspconfig.util.default_config.on_attach(client, bufnr) --- end ---}) - --- Global config for diagnostic -vim.diagnostic.config({ - underline = false, - virtual_text = false, - signs = true, - severity_sort = true, - float = { - border = 'rounded', - source = 'always', - header = '', - prefix = '', - }, -}) - -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - underline = false, - virtual_text = false, - signs = true, - update_in_insert = false, -}) - -vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( - vim.lsp.handlers.hover, - {border = 'rounded'} -) - -vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( - vim.lsp.handlers.signature_help, - {border = 'rounded'} -) - - ---local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } -local signs = { Error = "✘", Warn = "▲", Info = "􀅴 ", Hint = "⚑" } -for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) -end - diff --git a/nvim/lua/plugins/lspOld.lsp b/nvim/lua/plugins/lspOld.lsp deleted file mode 100644 index 206ea57..0000000 --- a/nvim/lua/plugins/lspOld.lsp +++ /dev/null @@ -1,531 +0,0 @@ --- lspconfig + nvim-cmp + lspsaga --- Dependencies --- nvim-lspconfig --- nvim-cmp --- cmp-buffer --- cmp-path --- cmp_luasnip --- cmp-nvim-lsp --- LuaSnip --- friendly-snippets -local fn = vim.fn -local api = vim.api -local keymap = vim.keymap -local lsp = vim.lsp - -local utils = require("utils") - -local custom_attach = function(client, bufnr) - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end - - -local lsp_defaults = { - flags = { - debounce_text_changes = 150, -- Amount of miliseconds neovim will wait to send the next document update notification. - }, - - -- The data on this option is send to the server, to announce what features the editor can support. - capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds("User", { pattern = "LspAttached" }) - end, -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - ---- --- LSP Servers ---- - -if utils.executable("pylsp") then - lspconfig.pylsp.setup { - on_attach = custom_attach, - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, - }, - }, - flags = { - debounce_text_changes = 200, - }, - capabilities = capabilities, - } -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) --- end - -if utils.executable("clangd") then - lspconfig.clangd.setup { - on_attach = custom_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - } -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup { - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - } -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup { - on_attach = custom_attach, - capabilities = capabilities, - } -end - -if utils.executable("lua-language-server") then - -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . - lspconfig.sumneko_lua.setup { - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - } -end --- Lua -lspconfig.sumneko_lua.setup({ - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, - }, - single_file_support = true, - on_attach = function(client, bufnr) - print('hello') - lspconfig.util.default_config.on_attach(client, bufnr) - end -}) - -lspconfig.sumneko_lua.setup({ -on_attach = custom_attach, -settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - -- Setup your lua path - path = runtime_path, - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, -}, -}) - - lspconfig.sumneko_lua.setup { - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - } - -require'lspconfig'.sumneko_lua.setup { - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, - }, -} - - - -require'lspconfig'.sumneko_lua.setup{} - - -**Default values:** - - `cmd` : - { "lua-language-server" } - - `filetypes` : - - `log_level` : - ```lua - 2 - ``` - - `root_dir` : - ```lua - root_pattern(".luarc.json", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", ".git") - ``` - - `settings` : - ```lua - { - Lua = { - telemetry = { - enable = false - } - } - } - - `single_file_support` : - true - - - - - - - - - - - - - - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.ccls.setup{} -``` - - -**Default values:** - - `cmd` : - ```lua - { "ccls" } - ``` - - `filetypes` : - ```lua - { "c", "cpp", "objc", "objcpp" } - ``` - - `offset_encoding` : - ```lua - "utf-32" - ``` - - `root_dir` : - ```lua - root_pattern('compile_commands.json', '.ccls', '.git') - ``` - - `single_file_support` : - ```lua - false - ``` - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.clangd.setup{} -``` -**Commands:** -- ClangdSwitchSourceHeader: Switch between source/header - -**Default values:** - - `capabilities` : - ```lua - default capabilities, with offsetEncoding utf-8 - ``` - - `cmd` : - ```lua - { "clangd" } - ``` - - `filetypes` : - ```lua - { "c", "cpp", "objc", "objcpp", "cuda", "proto" } - ``` - - `root_dir` : - ```lua - root_pattern( - '.clangd', - '.clang-tidy', - '.clang-format', - 'compile_commands.json', - 'compile_flags.txt', - 'configure.ac', - '.git' - ) - - ``` - - `single_file_support` : - ```lua - true - ``` - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.pyright.setup{} -``` -**Commands:** -- PyrightOrganizeImports: Organize Imports - -**Default values:** - - `cmd` : - ```lua - { "pyright-langserver", "--stdio" } - ``` - - `filetypes` : - ```lua - { "python" } - ``` - - `root_dir` : - ```lua - see source file - ``` - - `settings` : - ```lua - { - python = { - analysis = { - autoSearchPaths = true, - diagnosticMode = "workspace", - useLibraryCodeForTypes = true - } - } - } - ``` - - `single_file_support` : - ```lua - true - ``` - -## rls - -https://github.com/rust-lang/rls - -rls, a language server for Rust - -See https://github.com/rust-lang/rls#setup to setup rls itself. -See https://github.com/rust-lang/rls#configuration for rls-specific settings. -All settings listed on the rls configuration section of the readme -must be set under settings.rust as follows: - -```lua -nvim_lsp.rls.setup { - settings = { - rust = { - unstable_features = true, - build_on_save = false, - all_features = true, - }, - }, -} -``` - -If you want to use rls for a particular build, eg nightly, set cmd as follows: - -```lua -cmd = {"rustup", "run", "nightly", "rls"} -``` - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rls.setup{} -``` - - -**Default values:** - - `cmd` : - ```lua - { "rls" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml") - ``` - - -## rust_analyzer - -https://github.com/rust-analyzer/rust-analyzer - -rust-analyzer (aka rls 2.0), a language server for Rust - -See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rust_analyzer.setup{} -``` -**Commands:** -- CargoReload: Reload current cargo workspace - -**Default values:** - - `cmd` : - ```lua - { "rust-analyzer" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml", "rust-project.json") - ``` - - `settings` : - ```lua - { - ["rust-analyzer"] = {} - } - ``` - -## rust_analyzer - -https://github.com/rust-analyzer/rust-analyzer - -rust-analyzer (aka rls 2.0), a language server for Rust - -See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rust_analyzer.setup{} -``` -**Commands:** -- CargoReload: Reload current cargo workspace - -**Default values:** - - `cmd` : - ```lua - { "rust-analyzer" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml", "rust-project.json") - ``` - - `settings` : - ```lua - { - ["rust-analyzer"] = {} - } - ``` - - diff --git a/nvim/lua/plugins/lspconfig.lua b/nvim/lua/plugins/lspconfig.lua deleted file mode 100644 index a130dcd..0000000 --- a/nvim/lua/plugins/lspconfig.lua +++ /dev/null @@ -1,148 +0,0 @@ ---vim.lsp.set_log_level("debug") - -local status, nvim_lsp = pcall(require, "lspconfig") -if not status then - return -end - -local protocol = require("vim.lsp.protocol") - --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) - local function buf_set_keymap(...) - vim.api.nvim_buf_set_keymap(bufnr, ...) - end - - local function buf_set_option(...) - vim.api.nvim_buf_set_option(bufnr, ...) - end - - --Enable completion triggered by - buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") - - -- Mappings. - local opts = { noremap = true, silent = true } - - -- See `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) -- most of the lsp server don't implement textDocument/Declaration, so gD is useless for now. - --buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) - --buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - - -- add rust specific keymappings - if client.name == "rust_analyzer" then - buf_set_keymap("n", "rr", "RustRunnables", opts) - buf_set_keymap("n", "ra", "RustHoverAction", opts) - end - - -- formatting - if client.server_capabilities.documentFormattingProvider then - vim.api.nvim_create_autocmd("BufWritePre", { - group = vim.api.nvim_create_augroup("Format", { clear = true }), - buffer = bufnr, - callback = function() - vim.lsp.buf.format() - end, - }) - end -end - -protocol.CompletionItemKind = { - -- "", -- Text - -- "", -- Method - -- "", -- Function - -- "", -- Constructor - -- "", -- Field - -- "", -- Variable - -- "", -- Class - -- "ﰮ", -- Interface - -- "", -- Module - -- "", -- Property - -- "", -- Unit - -- "", -- Value - -- "", -- Enum - -- "", -- Keyword - -- "", -- Snippet - -- "", -- Color - -- "", -- File - -- "", -- Reference - -- "", -- Folder - -- "", -- EnumMember - -- "", -- Constant - -- "", -- Struct - -- "", -- Event - -- "ﬦ", -- Operator - -- "", -- TypeParameter - File = { icon = "", hl = "TSURI" }, - Module = { icon = "", hl = "TSNamespace" }, - Namespace = { icon = "", hl = "TSNamespace" }, - Package = { icon = "", hl = "TSNamespace" }, - Class = { icon = "ﴯ", hl = "TSType" }, - Method = { icon = "", hl = "TSMethod" }, - Property = { icon = "", hl = "TSMethod" }, - Field = { icon = "", hl = "TSField" }, - Constructor = { icon = "", hl = "TSConstructor" }, - Enum = { icon = "", hl = "TSType" }, - Interface = { icon = "", hl = "TSType" }, - Function = { icon = "", hl = "TSFunction" }, - Variable = { icon = "", hl = "TSConstant" }, - Constant = { icon = "", hl = "TSConstant" }, - String = { icon = "ﮜ", hl = "TSString" }, - Number = { icon = "", hl = "TSNumber" }, - Boolean = { icon = "ﮒ", hl = "TSBoolean" }, - Array = { icon = "", hl = "TSConstant" }, - Object = { icon = "⦿", hl = "TSType" }, - Key = { icon = "", hl = "TSType" }, - Null = { icon = "ﳠ", hl = "TSType" }, - EnumMember = { icon = "", hl = "TSField" }, - Struct = { icon = "ﴯ", hl = "TSType" }, - Event = { icon = "🗲", hl = "TSType" }, - Operator = { icon = "+", hl = "TSOperator" }, - TypeParameter = { icon = "𝙏", hl = "TSParameter" }, -} - --- Set up completion using nvim_cmp with LSP source -local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) - -nvim_lsp.flow.setup({ - on_attach = on_attach, - capabilities = capabilities, -}) - -nvim_lsp.sumneko_lua.setup({ - on_attach = on_attach, - settings = { - Lua = { - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - checkThirdParty = false, - }, - }, - }, -}) - --- Diagnostic symbols in the sign column (gutter) ---local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } ---local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } -local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } -for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) -end --- -vim.diagnostic.config({ - virtual_text = { - prefix = "●", - }, - update_in_insert = true, - float = { - source = "always", -- Or "if_many" - }, -}) diff --git a/nvim/lua/plugins/lspkind.lua b/nvim/lua/plugins/lspkind.lua deleted file mode 100644 index 72ca5c2..0000000 --- a/nvim/lua/plugins/lspkind.lua +++ /dev/null @@ -1,47 +0,0 @@ -local status, lspkind = pcall(require, "lspkind") -if (not status) then return end - -lspkind.init({ - -- enables text annotations - -- - -- default: true - mode = 'symbol', - - -- default symbol map - -- can be either 'default' (requires nerd-fonts font) or - -- 'codicons' for codicon preset (requires vscode-codicons font) - -- - -- default: 'default' - preset = 'codicons', - - -- override preset symbols - -- - -- default: {} - symbol_map = { - Text = "", - Method = "", - Function = "", - Constructor = "", - Field = "ﰠ", - Variable = "", - Class = "ﴯ", - Interface = "", - Module = "", - Property = "ﰠ", - Unit = "塞", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "פּ", - Event = "", - Operator = "", - TypeParameter = "" - }, -}) diff --git a/nvim/lua/plugins/lspsaga.lua b/nvim/lua/plugins/lspsaga.lua deleted file mode 100644 index ceb1099..0000000 --- a/nvim/lua/plugins/lspsaga.lua +++ /dev/null @@ -1,61 +0,0 @@ -local status, saga = pcall(require, "lspsaga") -if not status then - return -end - -saga.init_lsp_saga({ - -- when cursor in saga window you config these to move - move_in_saga = { prev = "k", next = "j" }, - diagnostic_header = { " ", " ", " ", " " }, - scroll_in_preview = { - scroll_down = "", - scroll_up = "", - }, - code_action_icon = "ﯦ ", - -- Same as nvim-lightbulb but async - code_action_lightbulb = { - sign = false, - virtual_text = true, - }, - finder_icons = { - def = " ", - ref = " ", - link = " ", - }, - finder_action_keys = { - open = "", - "o", - vsplit = "gv", - split = "gs", - tabe = "t", - quit = "gq", - scroll_down = "", - scroll_up = "", - }, - - -- Show symbols in winbar must be neovim 0.8.0, - -- Close it until neovim 0.8.0 become stable - symbol_in_winbar = { - in_custom = false, - --enable = enable_winbar, - separator = "  ", - show_file = true, - click_support = false, - }, -}) - - -- Mappings. -local map = vim.api.nvim_set_keymap -local opts = { noremap = true, silent = true } - -map("n", "gd", "Lspsaga lsp_finder", opts) -- Press "o" to open the reference location -map("n", "gp", "Lspsaga peek_definition", opts) -map("n", "K", "Lspsaga hover_doc", opts) -map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) -map("n", "gj", "Lspsaga diagnostic_jump_next", opts) -map("n", "gs", "Lspsaga signature_help", opts) -- Default is -map("n", "go", "Lspsaga show_line_diagnostics", opts) -map("n", "gr", "Lspsaga rename", opts) -map("n", "ga", "Lspsaga code_action", opts) -map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) -map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua deleted file mode 100644 index 9d86e21..0000000 --- a/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,423 +0,0 @@ -local lualine_status_ok, lualine = pcall(require, "lualine") -if not lualine_status_ok then - print("lualine.nvim is etiher broken or is not installed.") - return -end - ---local colors = require('tokyonight.colors').setup() ---local colors = { ---bg_dark = "#1f2335", ---bg = "#24283b", ---fg = "#c0caf5", ---fg_gutter = "#3b4261", ---green = "#a6e3a1", ---red = "#f38ba8", ---} - ---local colors = { --- gray = '#23232e', --- lightgray = '#5f6a8e', --- orange = '#ffb86c', --- purple = '#bd93f9', --- red = '#ff5555', --- yellow = '#f1fa8c', --- green = '#50fa7b', --- white = '#f8f8f2', --- black = '#282a36', ---} -local colors = { - nobg = nil, - blue = "#87b0f9", - mauve = "#cba6f7", - red = "#f38ba8", - green = "#a6e3a1", - peach = "#fab387", - white = "#c6d0f5", - gray = "#a1a8c9", - black = "#1e1e2e", - innerbg = nil, - outerbg = "#16161D", -} ---require("lualine").setup({ --- Your lua part of config goes here -require("lualine").setup({ - options = { - icons_enabled = true, - --theme = "auto", - theme = require("plugins.linecolor").theme(), - --theme = { - -- We are going to use lualine_c an lualine_x as left and - -- right section. Both are highlighte by c theme . So we - -- are just setting default looks o statusline - --normal = { c = { fg = colors.fg, bg = colors.bg } }, - --inactive = { c = { fg = colors.fg, bg = colors.bg } }, - --}, - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - --component_separators = { left = '|', right = '|'}, - --section_separators = { left = '', right = ''}, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - globalstatus = true, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - }, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { - "branch", - { - "diff", - colored = true, - diff_color = { - added = "DiffAdd", - modified = "DiffChange", - removed = "DiffDelete", - }, - }, - { - "diagnostics", - - sources = { "nvim_lsp" }, - sections = { "error", "warn", "info" }, - - diagnostics_color = { - error = "DiagnosticError", - warn = "DiagnosticWarn", - info = "DiagnosticInfo", - }, - colored = true, - update_in_insert = false, - always_visible = false, - }, - }, - --lualine_b = { "branch", "diff", "diagnostics" }, - lualine_c = { - --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, - --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, - --{ "filetype", - -- icon_only = true, - --}, - { - "filename", - --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, - --component_separators = {left = "", right = ""}, - }, - }, - lualine_x = { "encoding", "fileformat", "filetype" }, - --lualine_x = { - -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - --}, - lualine_y = { "progress" }, - lualine_z = { "location" }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - -- tabline = {}, - tabline = { - --lualine_a = { "mode" }, - --lualine_a = {custom_fname}, - lualine_a = { - { - "buffers", - show_filename_only = false, - show_modified_status = true, - mode = 4, - buffers_color = { - active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer - --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer - --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer - --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer - ----color = function() - ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } - ----end, - }, - symbols = { - modified = " ●", -- Text to show when the buffer is modified - alternate_file = "", -- Text to show to identify the alternate file - --directory = "", -- Text to show when the buffer is a directory - }, - max_length = vim.o.columns * 5 / 6, - --{{function() - -- local bg = 'hi! lualine_buffers_color' -- not modified - -- if vim.bo.modified then bg = '#c70039' -- unsaved - -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly - -- vim.cmd('hi! lualine_buffers_color guibg='..bg) - --end, - --color = 'hi! lualine_buffers_color', - --}}, - }, - }, - lualine_b = {}, - lualine_c = {}, - lualine_x = {}, - lualine_y = {}, - lualine_z = {}, - --lualine_z = { "tabs" }, - }, - --tabline = { - -- lualine_a = { "mode" }, - -- lualine_b = { "buffers" }, - -- lualine_c = { "branch" }, - -- --lualine_c = { "branch", "diff", "diagnostics" }, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = { "tabs" }, - --}, - --winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {'filename'}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - --inactive_winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - winbar = {}, - inactive_winbar = {}, - --extensions = {}, - extensions = { "quickfix" }, -}) ---require("lualine").statusline() ---require("lualine").tabline() ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local lualine_status_ok, lualine = pcall(require, "lualine") ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local utils = require("heirline.utils") - ---local M = {} - --- stylua: ignore start ---M.colours = {--{{{ ----- Color table for highlights ----- stylua: ignore ---local colors = { --- bg = '#2E3440', --- fg = '#E5E9F0', --- yellow = '#EBCB8B', --- cyan = '#88C0D0', --- darkblue = '#5E81AC', --- green = '#A3BE8C', --- orange = '#D08770', --- violet = '#B48EAD', --- magenta = '#B48EAD', --- blue = '#81A1C1', --- red = '#BF616A', ---} --- ---local conditions = { --- buffer_not_empty = function() --- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 --- end, --- hide_in_width = function() --- return vim.fn.winwidth(0) > 80 --- end, --- check_git_workspace = function() --- local filepath = vim.fn.expand("%:p:h") --- local gitdir = vim.fn.finddir(".git", filepath .. ";") --- return gitdir and #gitdir > 0 and #gitdir < #filepath --- end, ---} - --- Config ---local config = { ---require('lualine').setup { --- options = { --- -- Disable sections and component separators --- component_separators = "", --- section_separators = "", --- theme = { --- -- We are going to use lualine_c an lualine_x as left and --- -- right section. Both are highlighte by c theme . So we --- -- are just setting default looks o statusline --- normal = { c = { fg = colors.fg, bg = colors.bg } }, --- inactive = { c = { fg = colors.fg, bg = colors.bg } }, --- }, --- disabled_filetypes = { "NvimTree" }, --- }, --- sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- -- These will be filled later --- lualine_c = {}, --- lualine_x = {}, --- }, --- inactive_sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- lualine_c = {}, --- lualine_x = {}, --- }, ---} --- ----- Inserts a component in lualine_c at left section ---local function ins_left(component) --- table.insert(lualine.sections.lualine_c, component) ---end --- ----- Inserts a component in lualine_x ot right section ---local function ins_right(component) --- table.insert(lualine.sections.lualine_x, component) ---end --- ---ins_left({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, -- Sets highlighting of component --- padding = { left = 0, right = 1 }, -- We don't need space before this ---}) --- ---ins_left({ --- -- mode component --- function() --- return "" --- end, --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.blue, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- -- mode component --- "mode", --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.red, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- "branch", --- icon = "", --- color = { fg = colors.violet, gui = "bold" }, ---}) --- ---ins_left({ --- "filename", --- cond = conditions.buffer_not_empty, --- color = { fg = colors.aqua, gui = "bold" }, ---}) --- ---ins_left({ --- -- filesize component --- "filesize", --- cond = conditions.buffer_not_empty, ---}) --- ----- Add components to right sections ---ins_right({ --- "o:encoding", -- option component same as &encoding in viml --- fmt = string.lower, -- I'm not sure why it's upper case either ;) --- cond = conditions.hide_in_width, --- color = { fg = colors.yellow }, ---}) --- ---ins_right({ --- "fileformat", --- fmt = string.upper, --- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh --- color = { fg = colors.fg, gui = "bold" }, ---}) --- ---ins_right({ --- "filetype", ---}) --- ---ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) --- ---ins_right({ --- "location", ---}) --- ---ins_right({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, --- padding = { left = 1 }, ---}) ---return M --- Now don't forget to initialize lualine ---require("lualine").setup(config) ---require"lualine".setup(config) ---lualine.setup(config) diff --git a/nvim/lua/plugins/mason.lua b/nvim/lua/plugins/mason.lua deleted file mode 100644 index 69c61ba..0000000 --- a/nvim/lua/plugins/mason.lua +++ /dev/null @@ -1,27 +0,0 @@ -local status, mason = pcall(require, "mason") -if (not status) then return end -local status2, lspconfig = pcall(require, "mason-lspconfig") -if (not status2) then return end - -mason.setup({ - -}) - -lspconfig.setup { - ensure_installed = { "sumneko_lua" }, -} -local keymap = vim.api.nvim_set_keymap -local opts = { noremap = true } - - -keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) -keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) -keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) -keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) -keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) -keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) -keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) -keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) -keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) diff --git a/nvim/lua/plugins/neoscroll.lua b/nvim/lua/plugins/neoscroll.lua deleted file mode 100644 index d122584..0000000 --- a/nvim/lua/plugins/neoscroll.lua +++ /dev/null @@ -1,21 +0,0 @@ -require("neoscroll").setup({ - easing_function = "quadratic", -}) - -local t = {} --- Syntax: t[keys] = {function, {function arguments}} --- Use the "sine" easing function -t[""] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } } -t[""] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } } --- Use the "circular" easing function -t[""] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } -t[""] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } --- Pass "nil" to disable the easing animation (constant scrolling speed) -t[""] = { "scroll", { "-0.10", "false", "100", nil } } -t[""] = { "scroll", { "0.10", "false", "100", nil } } --- When no easing function is provided the default easing function (in this case "quadratic") will be used -t["zt"] = { "zt", { "10" } } -t["zz"] = { "zz", { "10" } } -t["zb"] = { "zb", { "10" } } - -require("neoscroll.config").set_mappings(t) diff --git a/nvim/lua/plugins/null-ls.lua b/nvim/lua/plugins/null-ls.lua deleted file mode 100644 index 7fc4377..0000000 --- a/nvim/lua/plugins/null-ls.lua +++ /dev/null @@ -1,26 +0,0 @@ -local null_ls_status_ok, null_ls = pcall(require, "null-ls") -if not null_ls_status_ok then - return -end - --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting -local formatting = null_ls.builtins.formatting --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics -local diagnostics = null_ls.builtins.diagnostics - ---null_ls.setup({ --- debug = false, --- sources = { --- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), --- formatting.black.with({ extra_args = { "--fast" } }), --- formatting.stylua, --- -- diagnostics.flake8 --- }, ---}) -require("null-ls").setup({ - sources = { - require("null-ls").builtins.formatting.stylua, - require("null-ls").builtins.diagnostics.eslint, - require("null-ls").builtins.completion.spell, - }, -}) diff --git a/nvim/lua/plugins/nvim-tree.lua b/nvim/lua/plugins/nvim-tree.lua deleted file mode 100644 index f362659..0000000 --- a/nvim/lua/plugins/nvim-tree.lua +++ /dev/null @@ -1,68 +0,0 @@ -local status_ok, nvim_tree = pcall(require, "nvim-tree") -if not status_ok then - return -end - -local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") -if not config_status_ok then - return -end - -local tree_cb = nvim_tree_config.nvim_tree_callback - -nvim_tree.setup({ - update_focused_file = { - enable = true, - update_cwd = true, - }, - renderer = { - root_folder_modifier = ":t", - icons = { - glyphs = { - default = "", - symlink = "", - folder = { - arrow_open = "", - arrow_closed = "", - default = "", - open = "", - empty = "", - empty_open = "", - symlink = "", - symlink_open = "", - }, - git = { - unstaged = "", - staged = "S", - unmerged = "", - renamed = "➜", - untracked = "U", - deleted = "", - ignored = "◌", - }, - }, - }, - }, - diagnostics = { - enable = true, - show_on_dirs = true, - icons = { - hint = "", - info = "", - warning = "", - error = "", - }, - }, - view = { - width = 30, - --height = 30, - side = "right", - mappings = { - list = { - { key = { "l", "", "o" }, cb = tree_cb("edit") }, - { key = "h", cb = tree_cb("close_node") }, - { key = "v", cb = tree_cb("vsplit") }, - }, - }, - }, -}) diff --git a/nvim/lua/plugins/prettier.lua b/nvim/lua/plugins/prettier.lua deleted file mode 100644 index 05d4665..0000000 --- a/nvim/lua/plugins/prettier.lua +++ /dev/null @@ -1,19 +0,0 @@ -local status, prettier = pcall(require, "prettier") -if (not status) then return end - -prettier.setup { - bin = 'prettierd', - filetypes = { - "c", - "lua", - "vim", - --"css", - --"javascript", - --"javascriptreact", - --"typescript", - --"typescriptreact", - --"json", - --"scss", - "less" - } -} diff --git a/nvim/lua/plugins/tabline.lua b/nvim/lua/plugins/tabline.lua deleted file mode 100644 index 4e1c506..0000000 --- a/nvim/lua/plugins/tabline.lua +++ /dev/null @@ -1,22 +0,0 @@ -require("tabline").setup({ - -- Defaults configuration options - enable = true, - options = { - -- If lualine is installed tabline will use separators configured in lualine by default. - -- These options can be used to override those settings. - section_separators = { "", "" }, - component_separators = { "", "" }, - max_bufferline_percent = 66, -- set to nil by default, and it uses vim.o.columns * 2/3 - show_tabs_always = true, -- this shows tabs only when there are more than one tab or if the first tab is named - show_devicons = true, -- this shows devicons in buffer section - show_bufnr = true, -- this appends [bufnr] to buffer section, - show_filename_only = false, -- shows base filename only instead of relative path in filename - modified_icon = "+", -- change the default modified icon - modified_italic = true, -- set to true by default; this determines whether the filename turns italic if modified - show_tabs_only = false, -- this shows only tabs instead of tabs + buffers - }, -}) -vim.cmd([[ - set guioptions-=e " Use showtabline in gui vim - set sessionoptions+=tabpages,globals " store tabpages and globals in session -]]) diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua deleted file mode 100644 index dcf6b9e..0000000 --- a/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,177 +0,0 @@ -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return -end -local actions = require("telescope.actions") -local builtin = require("telescope.builtin") - -local function telescope_buffer_dir() - return vim.fn.expand("%:p:h") -end - -telescope.load_extension("fzf") -telescope.load_extension("file_browser") -require("telescope").load_extension("file_browser") -local fb_actions = require("telescope").extensions.file_browser.actions ---telescope.load_extension('media_files') - -telescope.setup({ - defaults = { - -- - prompt_prefix = " ", - selection_caret = " ", - path_display = { "smart" }, - -- - mappings = { - i = { - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.close, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - [""] = actions.complete_tag, - [""] = actions.which_key, -- keys from pressing - }, - - n = { - [""] = actions.close, - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - - ["j"] = actions.move_selection_next, - ["k"] = actions.move_selection_previous, - ["H"] = actions.move_to_top, - ["M"] = actions.move_to_middle, - ["L"] = actions.move_to_bottom, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - ["gg"] = actions.move_to_top, - ["G"] = actions.move_to_bottom, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - ["?"] = actions.which_key, - ["cd"] = function(prompt_bufnr) - local selection = require("telescope.actions.state").get_selected_entry() - local dir = vim.fn.fnamemodify(selection.path, ":p:h") - require("telescope.actions").close(prompt_bufnr) - -- Depending on what you want put `cd`, `lcd`, `tcd` - vim.cmd(string.format("silent lcd %s", dir)) - end, - }, - }, - }, - pickers = { - -- Default configuration for builtin pickers goes here: - -- picker_name = { - -- picker_config_key = value, - -- ... - -- } - -- Now the picker_config_key will be applied every time you call this - -- builtin picker - }, - extensions = { - file_browser = { - theme = "dropdown", - -- disables netrw and use telescope-file-browser in its place - hijack_netrw = true, - mappings = { - -- your custom insert mode mappings - ["i"] = { - [""] = function() - vim.cmd("normal vbd") - end, - }, - ["n"] = { - -- your custom normal mode mappings - ["N"] = fb_actions.create, - ["h"] = fb_actions.goto_parent_dir, - ["/"] = function() - vim.cmd("startinsert") - end, - }, - }, - }, - - media_files = { - -- filetypes whitelist - -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} - filetypes = { "png", "webp", "jpg", "jpeg" }, - find_cmd = "rg", -- find command (defaults to `fd`) - }, - -- Your extension configuration goes here: - -- extension_name = { - -- extension_config_key = value, - -- } - -- please take a look at the readme of the extension you want to configure - }, -}) - -telescope.load_extension("file_browser") - -vim.keymap.set("n", ";f", function() - builtin.find_files({ - no_ignore = false, - hidden = true, - }) -end) -vim.keymap.set("n", ";r", function() - builtin.live_grep() -end) -vim.keymap.set("n", "\\\\", function() - builtin.buffers() -end) -vim.keymap.set("n", ";t", function() - builtin.help_tags() -end) -vim.keymap.set("n", ";;", function() - builtin.resume() -end) -vim.keymap.set("n", ";e", function() - builtin.diagnostics() -end) -vim.keymap.set("n", "sf", function() - telescope.extensions.file_browser.file_browser({ - path = "%:p:h", - cwd = telescope_buffer_dir(), - respect_gitignore = false, - hidden = true, - grouped = true, - previewer = false, - initial_mode = "normal", - layout_config = { height = 40 }, - }) -end) diff --git a/nvim/lua/plugins/toggleterm.lua b/nvim/lua/plugins/toggleterm.lua deleted file mode 100644 index 912729a..0000000 --- a/nvim/lua/plugins/toggleterm.lua +++ /dev/null @@ -1,90 +0,0 @@ -local status_ok, toggleterm = pcall(require, "toggleterm") -if not status_ok then - return -end - -toggleterm.setup({ - size = function(term) - if term.direction == "horizontal" then - return 12 - elseif term.direction == "vertical" then - return vim.o.columns * 0.3 - end - end, - --size = 20, - open_mapping = [[to]], - hide_numbers = true, - shade_filetypes = {}, - shade_terminals = false, - shading_factor = 1, - start_in_insert = true, - insert_mappings = true, - persist_size = true, - direction = "float", - --direction = "vertical", - --direction = "horizontal", - close_on_exit = true, - shell = vim.o.shell, - highlights = { - -- highlights which map to a highlight group name and a table of it's values - -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split - Normal = { - background = "#000000", - }, - }, - float_opts = { - width = 70, - height = 15, - winblend = 3, - border = "curved", - --winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, -}) - -function _G.set_terminal_keymaps() - local opts = { noremap = true } - --local opts = {buffer = 0} - vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) -end - -vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") - -local Terminal = require("toggleterm.terminal").Terminal -local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) - -function _LAZYGIT_TOGGLE() - lazygit:toggle() -end - -local node = Terminal:new({ cmd = "node", hidden = true }) - -function _NODE_TOGGLE() - node:toggle() -end - -local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) - -function _NCDU_TOGGLE() - ncdu:toggle() -end - -local htop = Terminal:new({ cmd = "htop", hidden = true }) - -function _HTOP_TOGGLE() - htop:toggle() -end - -local python = Terminal:new({ cmd = "python", hidden = true }) - -function _PYTHON_TOGGLE() - python:toggle() -end diff --git a/nvim/lua/plugins/treesitter.lua b/nvim/lua/plugins/treesitter.lua deleted file mode 100644 index 261e262..0000000 --- a/nvim/lua/plugins/treesitter.lua +++ /dev/null @@ -1,39 +0,0 @@ -local status, treesitter = pcall(require, "nvim-treesitter.configs") -if (not status) then return end - -treesitter.setup { - highlight = { - enable = true, - disable = {}, - }, - indent = { - enable = true, - disable = {}, - --disable = { "python", "css" } - }, - --ensure_installed = { - -- "c", - -- "zsh", - -- "lua" - -- --"rust", - -- --"php", - -- --"json", - -- --"yaml", - -- --"swift", - -- --"css", - -- --"html", - -- --"toml", - -- --"tsx", - --}, - ensure_installed = "all", -- one of "all" or a list of languages - --ignore_install = { "" }, -- List of parsers to ignore installing - - autotag = { - enable = true, - }, -} ---vim.opt.foldmethod = "expr" ---vim.opt.foldexpr = "nvim_treesitter#foldexpr()" - ---local parser_config = require "nvim-treesitter.parsers".get_parser_configs() ---parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" } diff --git a/nvim/lua/plugins/web-devicons.lua b/nvim/lua/plugins/web-devicons.lua deleted file mode 100644 index b8396bc..0000000 --- a/nvim/lua/plugins/web-devicons.lua +++ /dev/null @@ -1,12 +0,0 @@ -local status, icons = pcall(require, "nvim-web-devicons") -if (not status) then return end - -icons.setup { - -- your personnal icons can go here (to override) - -- DevIcon will be appended to `name` - override = { - }, - -- globally enable default icons (default to false) - -- will get overriden by `get_icons` option - default = true -} diff --git a/nvim/lua/plugins/winbar.lua b/nvim/lua/plugins/winbar.lua deleted file mode 100644 index 1573828..0000000 --- a/nvim/lua/plugins/winbar.lua +++ /dev/null @@ -1,35 +0,0 @@ -require("winbar").setup({ - enabled = true, - - show_file_path = true, - show_symbols = true, - - colors = { - path = "", -- You can customize colors like #c946fd - file_name = "", - symbols = "", - }, - - icons = { - file_icon_default = "", - seperator = ">", - editor_state = "●", - lock_icon = "", - }, - - exclude_filetype = { - "help", - "startify", - "dashboard", - "packer", - "neogitstatus", - "NvimTree", - "Trouble", - "alpha", - "lir", - "Outline", - "spectre_panel", - "toggleterm", - "qf", - }, -}) diff --git a/nvim/lua/plugins/zen-mode.lua b/nvim/lua/plugins/zen-mode.lua deleted file mode 100644 index 7e52854..0000000 --- a/nvim/lua/plugins/zen-mode.lua +++ /dev/null @@ -1,7 +0,0 @@ -local status, zenMode = pcall(require, "zen-mode") -if (not status) then return end - -zenMode.setup { -} - -vim.keymap.set('n', 'o', 'ZenMode', { silent = true }) diff --git a/nvim/lua/scripts/setcolors.lua b/nvim/lua/scripts/setcolors.lua deleted file mode 100644 index 605bc84..0000000 --- a/nvim/lua/scripts/setcolors.lua +++ /dev/null @@ -1,121 +0,0 @@ -vim.cmd([[ -" Change the color scheme from a list of color scheme names. -" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341 -" Press key: -" F8 next scheme -" Shift-F8 previous scheme -" Alt-F8 random scheme -" Set the list of color schemes used by the above (default is 'all'): -" :SetColors all (all $VIMRUNTIME/colors/*.vim) -" :SetColors my (names built into script) -" :SetColors blue ayu ron (these schemes) -" :SetColors (display current scheme names) -" Set the current color scheme based on time of day: -" :SetColors now -if v:version < 700 || exists('loaded_setcolors') || &cp - finish -endif - -let loaded_setcolors = 1 -let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color - -" Set list of color scheme names that we will use, except -" argument 'now' actually changes the current color scheme. -function! s:SetColors(args) - if len(a:args) == 0 - echo 'Current color scheme names:' - let i = 0 - while i < len(s:mycolors) - echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)')) - let i += 5 - endwhile - elseif a:args == 'all' - let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n") - let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")'))) - echo 'List of colors set from all installed color schemes' - elseif a:args == 'my' - let c1 = 'default srcery everblush' - let c2 = 'gruvbox onedark' - let c3 = 'ayu molokai' - let s:mycolors = split(c1.' '.c2.' '.c3) - echo 'List of colors set from built-in names' - elseif a:args == 'now' - call s:HourColor() - else - let s:mycolors = split(a:args) - echo 'List of colors set from argument (space-separated names)' - endif -endfunction - -command! -nargs=* SetColors call s:SetColors('') - -" Set next/previous/random (how = 1/-1/0) color from our list of colors. -" The 'random' index is actually set from the current time in seconds. -" Global (no 's:') so can easily call from command line. -function! NextColor(how) - call s:NextColor(a:how, 1) -endfunction - -" Helper function for NextColor(), allows echoing of the color name to be -" disabled. -function! s:NextColor(how, echo_color) - if len(s:mycolors) == 0 - call s:SetColors('all') - endif - if exists('g:colors_name') - let current = index(s:mycolors, g:colors_name) - else - let current = -1 - endif - let missing = [] - let how = a:how - for i in range(len(s:mycolors)) - if how == 0 - let current = localtime() % len(s:mycolors) - let how = 1 " in case random color does not exist - else - let current += how - if !(0 <= current && current < len(s:mycolors)) - let current = (how>0 ? 0 : len(s:mycolors)-1) - endif - endif - try - execute 'colorscheme '.s:mycolors[current] - break - catch /E185:/ - call add(missing, s:mycolors[current]) - endtry - endfor - redraw - if len(missing) > 0 - echo 'Error: colorscheme not found:' join(missing) - endif - if (a:echo_color) - echo g:colors_name - endif -endfunction - -nnoremap cn :call NextColor(1) -nnoremap cp :call NextColor(-1) -nnoremap cc :call NextColor(0) - -" Set color scheme according to current time of day. -function! s:HourColor() - let hr = str2nr(strftime('%H')) - if hr <= 3 - let i = 0 - elseif hr <= 7 - let i = 1 - elseif hr <= 14 - let i = 2 - elseif hr <= 18 - let i = 3 - else - let i = 4 - endif - let nowcolors = 'srcery onedark molokai' - execute 'colorscheme '.split(nowcolors)[i] - redraw - echo g:colors_name -endfunction -]]) diff --git a/nvim/lua/startup.log b/nvim/lua/startup.log deleted file mode 100644 index cd880b7..0000000 --- a/nvim/lua/startup.log +++ /dev/null @@ -1,6125 +0,0 @@ - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -000.030 000.030: --- NVIM STARTING --- -000.690 000.660: locale set -001.457 000.767: inits 1 -001.481 000.024: window checked -001.489 000.008: parsing arguments -006.143 004.654: init lua interpreter -006.432 000.289: expanding arguments -006.485 000.054: inits 2 -007.386 000.901: init highlight -007.390 000.004: waiting for UI -009.710 002.320: done waiting for UI -009.741 000.031: init screen for UI -009.777 000.036: init default mappings -009.849 000.072: init default autocommands -014.503 000.337 000.337: sourcing /usr/share/nvim/runtime/ftplugin.vim -015.383 000.089 000.089: sourcing /usr/share/nvim/runtime/indent.vim -015.552 000.030 000.030: sourcing /usr/share/nvim/archlinux.vim -015.561 000.082 000.052: sourcing /etc/xdg/nvim/sysinit.vim -021.171 000.093 000.093: sourcing /usr/share/nvim/runtime/filetype.lua -036.308 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim -037.051 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim -037.378 000.026 000.026: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim -037.446 000.036 000.036: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim -037.617 000.131 000.131: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim -037.716 000.064 000.064: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim -038.773 017.553 017.236: sourcing /usr/share/nvim/runtime/filetype.vim -039.391 000.027 000.027: sourcing /usr/share/nvim/runtime/ftplugin.vim -039.936 000.021 000.021: sourcing /usr/share/nvim/runtime/indent.vim -365.797 003.542 003.542: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim -368.520 000.193 000.193: sourcing /usr/share/nvim/runtime/syntax/synload.vim -368.860 001.099 000.906: sourcing /usr/share/nvim/runtime/syntax/syntax.vim -369.137 353.529 331.193: sourcing /home/sxrdusr/.config/nvim/init.lua -369.157 005.272: sourcing vimrc file(s) -373.085 000.554 000.554: sourcing /usr/share/nvim/runtime/plugin/gzip.vim -373.151 000.025 000.025: sourcing /usr/share/nvim/runtime/plugin/health.vim -373.327 000.144 000.144: sourcing /usr/share/nvim/runtime/plugin/man.vim -374.418 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -374.626 001.264 000.820: sourcing /usr/share/nvim/runtime/plugin/matchit.vim -374.959 000.297 000.297: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim -375.038 000.042 000.042: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim -375.374 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -375.392 000.321 000.299: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim -375.631 000.209 000.209: sourcing /usr/share/nvim/runtime/plugin/shada.vim -375.731 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim -376.093 000.318 000.318: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim -376.308 000.167 000.167: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim -376.393 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/tutor.vim -376.825 000.397 000.397: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim -378.105 001.110 001.110: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -387.539 009.175 009.175: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -388.054 004.777: loading rtp plugins -391.529 001.769 001.769: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -392.303 000.615 000.615: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -393.117 000.042 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -396.623 003.164 003.164: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -397.394 000.420 000.420: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -398.575 000.976 000.976: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -399.616 000.673 000.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -400.317 000.481 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim -401.132 000.394 000.394: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -402.646 001.181 001.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -402.889 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -403.318 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -403.887 000.309 000.309: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -410.104 005.911 005.911: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -411.745 001.430 001.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -412.774 000.731 000.731: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -413.166 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -413.556 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -413.859 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -414.509 000.341 000.341: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -414.920 000.062 000.062: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -416.289 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -417.493 000.175 000.175: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim -419.578 001.080 001.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim -420.400 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim -423.478 000.285 000.285: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim -423.652 007.107 005.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim -424.176 000.279 000.279: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim -425.502 001.103 001.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim -426.259 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim -428.992 002.485 002.485: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim -429.902 000.528 000.528: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim -431.653 001.300 001.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim -432.720 000.543 000.543: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -447.697 014.724 014.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim -449.392 000.133 000.133: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim -450.395 000.326 000.326: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim -450.586 001.896 001.437: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim -451.786 003.739 001.843: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim -452.701 000.649 000.649: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -454.329 000.593 000.593: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim -457.139 000.166 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim -463.032 010.052 009.294: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim -463.438 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -463.709 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -464.077 013.014: loading packages -465.745 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -469.545 004.983 004.590: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -470.936 001.172 001.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -471.544 000.451 000.451: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -472.050 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -472.695 000.497 000.497: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -473.371 000.514 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -473.511 001.472: loading after plugins -473.539 000.029: inits 3 -478.437 004.898: reading ShaDa -482.242 000.511 000.511: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim -482.916 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim -483.659 000.282 000.282: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim -484.393 000.066 000.066: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim -485.973 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim -486.960 000.329 000.329: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim -487.570 002.286 001.851: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim -488.773 000.379 000.379: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim -489.544 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim -490.389 000.116 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim -491.221 000.199 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim -492.050 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim -492.776 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim -493.511 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim -494.153 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim -495.585 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim -515.108 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim -516.155 001.981 001.862: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim -554.910 000.246 000.246: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim -556.123 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim -663.827 178.485: opening buffers -664.368 000.541: BufEnter autocommands -664.379 000.010: editing files in windows -667.364 000.707 000.707: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -000.016 000.016: --- NVIM STARTING --- -000.645 000.628: locale set -001.314 000.670: inits 1 -001.351 000.036: window checked -001.360 000.010: parsing arguments -007.583 006.223: init lua interpreter -007.958 000.374: expanding arguments -008.022 000.064: inits 2 -009.122 001.100: init highlight -009.128 000.006: waiting for UI -012.871 003.743: done waiting for UI -012.918 000.047: init screen for UI -012.972 000.054: init default mappings -013.052 000.080: init default autocommands -017.713 000.148 000.148: sourcing /usr/share/nvim/runtime/ftplugin.vim -018.500 000.086 000.086: sourcing /usr/share/nvim/runtime/indent.vim -018.734 000.034 000.034: sourcing /usr/share/nvim/archlinux.vim -018.747 000.102 000.068: sourcing /etc/xdg/nvim/sysinit.vim -026.363 000.143 000.143: sourcing /usr/share/nvim/runtime/filetype.lua -040.626 000.040 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim -041.433 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim -041.845 000.030 000.030: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim -041.980 000.099 000.099: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim -042.145 000.127 000.127: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim -042.247 000.068 000.068: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim -043.487 017.063 016.671: sourcing /usr/share/nvim/runtime/filetype.vim -044.228 000.039 000.039: sourcing /usr/share/nvim/runtime/ftplugin.vim -044.826 000.023 000.023: sourcing /usr/share/nvim/runtime/indent.vim -354.645 003.386 003.386: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim -357.306 000.212 000.212: sourcing /usr/share/nvim/runtime/syntax/synload.vim -357.593 001.082 000.870: sourcing /usr/share/nvim/runtime/syntax/syntax.vim -357.862 339.061 317.325: sourcing /home/sxrdusr/.config/nvim/init.lua -357.884 005.435: sourcing vimrc file(s) -361.965 000.572 000.572: sourcing /usr/share/nvim/runtime/plugin/gzip.vim -362.033 000.026 000.026: sourcing /usr/share/nvim/runtime/plugin/health.vim -362.218 000.153 000.153: sourcing /usr/share/nvim/runtime/plugin/man.vim -363.321 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -363.527 001.273 000.829: sourcing /usr/share/nvim/runtime/plugin/matchit.vim -363.867 000.305 000.305: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim -363.944 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim -364.272 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -364.291 000.314 000.277: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim -364.528 000.206 000.206: sourcing /usr/share/nvim/runtime/plugin/shada.vim -364.630 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim -364.985 000.311 000.311: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim -365.214 000.177 000.177: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim -365.321 000.049 000.049: sourcing /usr/share/nvim/runtime/plugin/tutor.vim -365.765 000.406 000.406: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim -367.088 001.150 001.150: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -375.323 008.056 008.056: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -375.841 004.866: loading rtp plugins -379.412 001.854 001.854: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -380.146 000.570 000.570: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -380.990 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -383.716 002.369 002.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -384.344 000.301 000.301: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -385.072 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -386.341 000.878 000.878: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -386.938 000.366 000.366: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim -387.768 000.406 000.406: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -389.297 001.189 001.189: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -389.543 000.070 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -389.981 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -390.544 000.298 000.298: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -394.211 003.349 003.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -395.750 001.332 001.332: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -396.621 000.626 000.626: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -396.957 000.101 000.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -397.349 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -397.652 000.089 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -398.317 000.358 000.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -398.678 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -399.781 000.665 000.665: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -400.996 000.181 000.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim -403.064 001.038 001.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim -403.886 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim -406.913 000.299 000.299: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim -407.082 007.039 005.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim -407.616 000.277 000.277: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim -408.966 001.122 001.122: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim -409.735 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim -412.162 002.181 002.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim -412.683 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim -413.367 000.438 000.438: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -414.379 000.760 000.760: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim -415.083 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -429.507 014.133 014.133: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim -431.102 000.130 000.130: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim -432.166 000.343 000.343: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim -432.357 001.966 001.493: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim -433.372 003.592 001.625: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim -434.296 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -435.993 000.612 000.612: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim -438.802 000.176 000.176: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim -444.128 009.557 008.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim -444.497 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -444.772 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -445.139 012.625: loading packages -446.629 000.373 000.373: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -450.348 004.674 004.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -451.730 001.165 001.165: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -452.362 000.473 000.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -452.781 000.268 000.268: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -453.460 000.534 000.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -454.136 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -454.275 001.498: loading after plugins -454.303 000.028: inits 3 -459.084 004.781: reading ShaDa -462.255 000.518 000.518: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim -462.914 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim -463.666 000.283 000.283: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim -464.405 000.068 000.068: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim -465.992 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim -466.989 000.346 000.346: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim -467.604 002.304 001.840: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim -468.826 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim -469.599 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim -470.437 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim -471.295 000.208 000.208: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim -472.141 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim -472.878 000.162 000.162: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim -473.615 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim -474.255 000.065 000.065: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim -475.552 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim -493.677 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim -494.652 001.780 001.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim -531.806 000.251 000.251: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim -533.020 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim -634.041 168.210: opening buffers -634.303 000.263: BufEnter autocommands -634.310 000.007: editing files in windows -636.729 000.726 000.726: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.077 001.077: --- NVIM STARTING --- -028.689 027.612: event init -046.977 018.288: early init -048.697 001.720: locale set -054.356 005.659: init first window -065.332 010.976: inits 1 -065.359 000.027: window checked -065.367 000.008: parsing arguments -077.586 000.123 000.123: require('vim.shared') -077.824 000.107 000.107: require('vim._meta') -077.830 000.231 000.124: require('vim._editor') -077.834 000.414 000.060: require('vim._init_packages') -077.837 012.056: init lua interpreter -077.932 000.095: expanding arguments -079.680 001.748: inits 2 -080.294 000.614: init highlight -080.299 000.004: waiting for UI -082.730 002.431: done waiting for UI -082.778 000.048: init screen for UI -083.210 000.432: init default mappings -083.247 000.037: init default autocommands -094.132 004.012 004.012: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/ftplugin.vim -096.795 000.983 000.983: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/indent.vim -097.228 000.051 000.051: sourcing /usr/share/nvim/archlinux.vim -097.252 000.163 000.112: sourcing /etc/xdg/nvim/sysinit.vim -114.521 016.974 016.974: require('impatient') -114.662 000.125 000.125: require('impatient.profile') -118.350 000.854 000.854: require('keys') -119.312 000.215 000.215: require('packer.util') -119.373 000.674 000.458: require('packer') -120.180 000.435 000.435: require('packer.log') -120.196 000.556 000.122: require('packer.async') -120.438 000.116 000.116: require('packer.result') -120.447 000.245 000.128: require('packer.jobs') -120.463 001.034 000.234: require('packer.plugin_utils') -120.612 000.125 000.125: require('packer.snapshot') -121.714 003.350 001.517: require('pack') -121.772 024.427 003.123: sourcing /home/sxrdusr/.config/nvim/init.lua -121.801 008.970: sourcing vimrc file(s) -122.332 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -123.500 000.086 000.086: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.lua -124.937 001.189 001.189: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.vim -127.169 000.260 000.260: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/synload.vim -127.861 002.338 002.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/syntax.vim -133.403 001.041 001.041: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/gzip.vim -133.559 000.065 000.065: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/health.vim -136.590 001.376 001.376: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -137.190 003.546 002.170: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchit.vim -137.698 000.421 000.421: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchparen.vim -137.887 000.097 000.097: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/netrwPlugin.vim -138.490 000.036 000.036: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -138.512 000.537 000.501: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/rplugin.vim -138.798 000.197 000.197: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/shada.vim -138.955 000.064 000.064: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/spellfile.vim -139.124 000.079 000.079: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tarPlugin.vim -139.292 000.078 000.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tohtml.vim -139.438 000.058 000.058: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tutor.vim -140.205 000.679 000.679: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/zipPlugin.vim -140.504 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -142.282 000.260 000.260: require('lspsaga') -142.901 000.205 000.205: require('lspsaga.window') -142.926 000.443 000.238: require('lspsaga.libs') -145.564 000.465 000.465: require('vim.lsp.log') -169.723 000.018 000.018: require('vim.F') -169.738 002.191 002.173: require('vim.lsp.protocol') -170.357 000.261 000.261: require('vim.lsp._snippet') -170.593 000.227 000.227: require('vim.highlight') -170.630 000.886 000.398: require('vim.lsp.util') -170.668 026.257 022.716: require('vim.lsp.handlers') -171.061 000.383 000.383: require('vim.lsp.rpc') -171.364 000.291 000.291: require('vim.lsp.sync') -171.679 000.305 000.305: require('vim.lsp.buf') -171.894 000.205 000.205: require('vim.lsp.diagnostic') -172.159 000.256 000.256: require('vim.lsp.codelens') -172.312 028.804 001.107: require('vim.lsp') -172.481 000.122 000.122: require('lspsaga.wrap') -172.495 029.494 000.568: require('lspsaga.codeaction') -172.544 030.250 000.313: require('lspsaga.lightbulb') -172.784 000.198 000.198: require('lspsaga.lspkind') -173.147 000.146 000.146: require('mason-core.path') -173.167 000.276 000.130: require('mason.settings') -173.545 000.105 000.105: require('mason-core.functional.data') -173.558 000.217 000.112: require('mason-core.functional.function') -173.598 000.425 000.208: require('mason-core.platform') -173.603 000.806 000.106: require('mason') -173.894 000.141 000.141: require('mason-core.functional') -174.044 000.126 000.126: require('mason-core.functional.list') -174.089 000.456 000.189: require('mason.api.command') -174.347 000.139 000.139: require('mason-core.log') -174.356 000.261 000.122: require('mason-lspconfig') -174.461 000.097 000.097: require('mason-lspconfig.settings') -174.648 000.119 000.119: require('mason-lspconfig.lspconfig_hook') -174.939 000.283 000.283: require('lspconfig.util') -175.274 000.102 000.102: require('mason-core.functional.table') -175.368 000.408 000.306: require('mason-lspconfig.mappings.server') -175.698 000.113 000.113: require('mason-core.async') -175.804 000.091 000.091: require('mason-core.async.uv') -175.815 000.334 000.131: require('mason-core.fs') -175.919 000.098 000.098: require('mason-core.optional') -176.021 000.095 000.095: require('mason-core.EventEmitter') -176.228 000.201 000.201: require('mason-registry.index') -176.254 000.877 000.150: require('mason-registry') -176.363 000.102 000.102: require('mason-lspconfig.server_config_extensions') -176.490 000.120 000.120: require('lspconfig.configs') -176.635 000.138 000.138: require('lspconfig.server_configurations.omnisharp') -176.840 000.105 000.105: require('mason-lspconfig.ensure_installed') -177.337 000.145 000.145: require('mason-core.result') -178.358 000.752 000.752: require('mason-core.process') -178.492 000.118 000.118: require('mason-core.functional.relation') -178.603 000.097 000.097: require('mason-core.functional.logic') -178.620 001.137 000.169: require('mason-core.spawn') -178.751 000.119 000.119: require('mason-core.receipt') -178.880 000.108 000.108: require('mason-core.functional.string') -178.910 001.564 000.201: require('mason-core.installer.context') -179.062 000.145 000.145: require('mason-core.installer.linker') -179.227 000.153 000.153: require('mason-core.async.control') -179.237 002.268 000.260: require('mason-core.installer') -179.374 000.128 000.128: require('mason-core.installer.handle') -179.949 000.105 000.105: require('mason-core.managers.powershell') -179.957 000.222 000.117: require('mason-core.fetch') -179.961 000.376 000.154: require('mason-core.managers.cargo.client') -179.995 000.514 000.138: require('mason-core.managers.cargo') -180.147 000.146 000.146: require('mason-core.managers.composer') -180.301 000.147 000.147: require('mason-core.managers.gem') -180.417 000.109 000.109: require('mason-core.managers.git') -180.670 000.129 000.129: require('mason-core.managers.std') -180.789 000.112 000.112: require('mason-core.managers.github.client') -180.806 000.382 000.142: require('mason-core.managers.github') -180.957 000.146 000.146: require('mason-core.managers.go') -181.140 000.176 000.176: require('mason-core.managers.luarocks') -181.503 000.356 000.356: require('mason-core.managers.npm') -181.709 000.181 000.181: require('mason-core.managers.pip3') -181.763 002.376 000.219: require('mason-core.package.version-check') -181.774 004.926 000.154: require('mason-core.package') -182.043 000.228 000.228: require('mason-registry.lua-language-server') -182.376 000.155 000.155: require('mason-registry.clangd') -182.814 000.414 000.414: require('mason-registry.rust-analyzer') -183.076 000.094 000.094: require('mason-core.notify') -183.229 000.143 000.143: require('mason-core.functional.number') -183.286 000.458 000.221: require('mason-lspconfig.api.command') -183.293 042.652 001.993: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -184.424 000.122 000.122: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/man.lua -184.966 009.773: loading rtp plugins -186.975 000.018 000.018: require('vim.keymap') -187.357 000.155 000.155: require('Comment.config') -187.549 000.182 000.182: require('Comment.utils') -187.822 000.264 000.264: require('Comment.opfunc') -187.947 000.116 000.116: require('Comment.extra') -187.974 000.986 000.269: require('Comment.api') -188.811 001.972 000.968: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -189.751 000.207 000.207: require('luasnip.util.types') -189.955 000.191 000.191: require('luasnip.util.ext_opts') -191.461 000.264 000.264: require('vim.treesitter.language') -191.494 000.686 000.422: require('vim.treesitter.query') -191.893 000.391 000.391: require('vim.treesitter.languagetree') -191.972 001.516 000.439: require('vim.treesitter') -192.479 002.387 000.871: require('nvim-treesitter.parsers') -192.816 000.163 000.163: require('nvim-treesitter.utils') -192.831 000.341 000.179: require('nvim-treesitter.ts_utils') -192.840 002.877 000.148: require('luasnip.extras.filetype_functions') -192.983 000.138 000.138: require('luasnip.session') -193.462 000.187 000.187: require('luasnip.util.util') -193.599 000.125 000.125: require('luasnip.nodes.util') -193.707 000.099 000.099: require('luasnip.util.events') -193.739 000.614 000.203: require('luasnip.nodes.node') -194.029 000.113 000.113: require('luasnip.util.extend_decorator') -194.044 001.053 000.326: require('luasnip.nodes.insertNode') -194.823 000.255 000.255: require('luasnip.util.mark') -196.003 000.498 000.498: require('luasnip.nodes.textNode') -197.798 001.448 001.448: require('luasnip.util._builtin_vars') -198.128 000.299 000.299: require('vim.inspect') -198.478 002.453 000.707: require('luasnip.util.environ') -198.613 000.122 000.122: require('luasnip.util.pattern_tokenizer') -198.708 000.087 000.087: require('luasnip.util.dict') -198.828 000.112 000.112: require('luasnip.session.snippet_collection') -198.893 004.060 000.790: require('luasnip.nodes.snippet') -198.913 004.863 000.548: require('luasnip.nodes.choiceNode') -199.131 000.188 000.188: require('luasnip.nodes.functionNode') -199.295 000.151 000.151: require('luasnip.nodes.dynamicNode') -199.572 000.268 000.268: require('luasnip.nodes.restoreNode') -199.761 000.158 000.158: require('luasnip.extras') -200.016 000.106 000.106: require('luasnip.util.str') -200.029 000.252 000.146: require('luasnip.extras.fmt') -200.132 000.096 000.096: require('luasnip.extras.expand_conditions') -200.444 000.095 000.095: require('luasnip.util.parser.neovim_ast') -211.625 000.154 000.154: require('luasnip.util.directed_graph') -211.650 011.406 011.157: require('luasnip.util.parser.ast_utils') -211.868 000.087 000.087: require('luasnip.util.functions') -211.882 000.224 000.137: require('luasnip.util.parser.ast_parser') -212.035 000.148 000.148: require('luasnip.util.parser.neovim_parser') -212.051 011.907 000.129: require('luasnip.util.parser') -212.142 000.084 000.084: require('luasnip.nodes.absolute_indexer') -212.684 023.347 000.915: require('luasnip.config') -212.841 023.839 000.491: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -213.735 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -214.713 000.113 000.113: require('indent_blankline/utils') -214.723 000.309 000.196: require('indent_blankline') -215.272 000.101 000.101: require('indent_blankline.commands') -215.432 001.197 000.787: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -215.854 000.112 000.112: require('lsp-colors') -216.374 000.683 000.572: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -217.476 000.712 000.712: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -218.519 000.405 000.405: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -219.096 000.111 000.111: require('cmp.utils.api') -219.265 000.080 000.080: require('cmp.types.cmp') -219.455 000.092 000.092: require('cmp.utils.misc') -219.550 000.277 000.186: require('cmp.types.lsp') -219.639 000.080 000.080: require('cmp.types.vim') -219.644 000.539 000.102: require('cmp.types') -219.729 000.079 000.079: require('cmp.utils.highlight') -219.888 000.073 000.073: require('cmp.utils.debug') -219.903 000.167 000.094: require('cmp.utils.autocmd') -220.440 001.544 000.647: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -220.714 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -221.137 000.108 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -221.612 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -222.733 000.097 000.097: require('nvim-treesitter.tsrange') -222.825 000.082 000.082: require('nvim-treesitter.caching') -222.842 000.306 000.128: require('nvim-treesitter.query') -222.868 000.449 000.143: require('nvim-treesitter.configs') -222.875 000.549 000.100: require('nvim-treesitter.info') -222.999 000.117 000.117: require('nvim-treesitter.shell_command_selectors') -223.061 000.878 000.211: require('nvim-treesitter.install') -223.160 000.089 000.089: require('nvim-treesitter.statusline') -223.261 000.094 000.094: require('nvim-treesitter.query_predicates') -223.267 001.169 000.108: require('nvim-treesitter') -224.518 000.332 000.332: require('vim.treesitter.highlighter') -224.815 000.781 000.449: require('nvim-treesitter.highlight') -225.463 003.438 001.488: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -225.909 000.214 000.214: require('treesitter-context') -225.919 000.259 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -226.301 000.100 000.100: require('nvim-treesitter-refactor') -226.635 000.463 000.363: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -227.006 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -227.383 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -227.709 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -228.502 000.446 000.446: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -228.871 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -229.853 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -230.676 000.537 000.537: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -231.318 000.391 000.391: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -232.188 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -232.511 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -232.791 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -233.904 011.128: loading packages -235.602 000.461 000.461: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -240.266 005.819 005.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -241.144 000.147 000.147: require('cmp.utils.char') -241.159 000.257 000.110: require('cmp.utils.str') -241.254 000.088 000.088: require('cmp.utils.pattern') -241.600 000.126 000.126: require('cmp.utils.buffer') -241.614 000.252 000.126: require('cmp.utils.keymap') -241.626 000.364 000.112: require('cmp.utils.feedkeys') -241.741 000.109 000.109: require('cmp.utils.async') -241.924 000.083 000.083: require('cmp.utils.cache') -241.933 000.184 000.101: require('cmp.context') -242.260 000.117 000.117: require('cmp.config.mapping') -242.477 000.106 000.106: require('cmp.config.compare') -242.483 000.212 000.106: require('cmp.config.default') -242.509 000.462 000.134: require('cmp.config') -242.732 000.085 000.085: require('cmp.matcher') -242.746 000.230 000.145: require('cmp.entry') -242.761 000.824 000.131: require('cmp.source') -242.948 000.084 000.084: require('cmp.utils.event') -243.168 000.111 000.111: require('cmp.utils.window') -243.176 000.220 000.109: require('cmp.view.docs_view') -243.327 000.146 000.146: require('cmp.view.custom_entries_view') -243.466 000.132 000.132: require('cmp.view.wildmenu_entries_view') -243.584 000.112 000.112: require('cmp.view.native_entries_view') -243.688 000.098 000.098: require('cmp.view.ghost_text_view') -243.706 000.940 000.150: require('cmp.view') -243.817 003.068 000.302: require('cmp.core') -244.161 000.093 000.093: require('cmp.config.sources') -244.259 000.087 000.087: require('cmp.config.window') -244.362 003.763 000.515: require('cmp') -244.731 000.083 000.083: require('cmp_buffer.timer') -244.743 000.196 000.113: require('cmp_buffer.buffer') -244.748 000.295 000.099: require('cmp_buffer.source') -244.752 000.384 000.089: require('cmp_buffer') -244.783 004.279 000.132: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -245.357 000.256 000.256: require('cmp_cmdline') -245.393 000.408 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -245.812 000.099 000.099: require('cmp_nvim_lsp.source') -245.820 000.204 000.105: require('cmp_nvim_lsp') -245.917 000.363 000.159: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -246.284 000.146 000.146: require('cmp_path') -246.318 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -246.649 000.105 000.105: require('cmp_luasnip') -246.719 000.244 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -246.874 001.611: loading after plugins -246.910 000.036: inits 3 -246.920 000.011: reading ShaDa -247.351 000.091 000.091: require('luasnip.loaders._caches') -247.486 000.126 000.126: require('luasnip.util.path') -247.606 000.112 000.112: require('luasnip.loaders.util') -247.897 000.141 000.141: require('luasnip.loaders') -247.951 000.337 000.196: require('luasnip') -247.957 000.805 000.139: require('luasnip.loaders.from_lua') -248.252 000.121 000.121: require('luasnip.nodes.snippetProxy') -248.266 000.255 000.134: require('luasnip.loaders.from_snipmate') -248.494 000.122 000.122: require('luasnip.loaders.from_vscode') -249.362 001.259: opening buffers -249.368 000.006: BufEnter autocommands -249.371 000.004: editing files in windows - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.215 001.215: --- NVIM STARTING --- -028.665 027.450: event init -045.736 017.071: early init -047.546 001.811: locale set -053.272 005.725: init first window -063.706 010.434: inits 1 -063.737 000.031: window checked -063.745 000.009: parsing arguments -075.797 000.281 000.281: require('vim.shared') -076.316 000.237 000.237: require('vim._meta') -076.329 000.509 000.272: require('vim._editor') -076.337 000.917 000.127: require('vim._init_packages') -076.345 011.682: init lua interpreter -076.535 000.191: expanding arguments -078.389 001.854: inits 2 -079.780 001.390: init highlight -079.790 000.010: waiting for UI -082.769 002.979: done waiting for UI -082.820 000.051: init screen for UI -083.178 000.358: init default mappings -083.214 000.036: init default autocommands -091.921 004.068 004.068: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/ftplugin.vim -095.030 001.354 001.354: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/indent.vim -095.750 000.072 000.072: sourcing /usr/share/nvim/archlinux.vim -095.777 000.241 000.169: sourcing /etc/xdg/nvim/sysinit.vim -121.943 025.794 025.794: require('impatient') -122.199 000.229 000.229: require('impatient.profile') -131.279 002.028 002.028: require('keys') -136.986 005.676 005.676: require('opts') -138.889 000.369 000.369: require('packer.util') -139.047 001.067 000.698: require('packer') -140.531 000.662 000.662: require('packer.log') -140.554 000.943 000.281: require('packer.async') -141.218 000.285 000.285: require('packer.result') -141.238 000.669 000.384: require('packer.jobs') -141.379 002.217 000.605: require('packer.plugin_utils') -142.546 001.109 001.109: require('packer.snapshot') -145.067 008.052 003.658: require('pack') -147.725 000.587 000.587: require('vim.treesitter.language') -147.771 001.260 000.673: require('vim.treesitter.query') -150.344 000.518 000.518: require('vim.treesitter.languagetree') -150.457 001.130 000.611: require('vim.treesitter') -151.134 002.622 001.492: require('nvim-treesitter.parsers') -152.015 000.862 000.862: require('nvim-treesitter.utils') -152.043 003.863 000.379: require('nvim-treesitter.ts_utils') -152.074 004.281 000.417: require('nvim-treesitter.tsrange') -152.465 000.373 000.373: require('nvim-treesitter.caching') -152.508 006.281 000.367: require('nvim-treesitter.query') -152.584 006.707 000.426: require('nvim-treesitter.configs') -153.878 000.354 000.354: require('nvim-treesitter.info') -154.194 000.294 000.294: require('nvim-treesitter.shell_command_selectors') -154.311 001.429 000.781: require('nvim-treesitter.install') -222.484 077.393 069.257: require('plugins.treesitter') -223.003 000.151 000.151: require('telescope._extensions') -223.015 000.272 000.121: require('telescope') -223.849 000.143 000.143: require('plenary.bit') -223.949 000.091 000.091: require('plenary.functional') -224.011 000.035 000.035: require('ffi') -224.034 000.483 000.214: require('plenary.path') -224.051 000.602 000.119: require('plenary.strings') -224.140 000.083 000.083: require('telescope.deprecated') -224.650 000.303 000.303: require('plenary.log') -224.723 000.456 000.153: require('telescope.log') -225.018 000.150 000.150: require('plenary.job') -225.112 000.085 000.085: require('telescope.state') -225.127 000.396 000.160: require('telescope.utils') -225.141 000.994 000.142: require('telescope.sorters') -225.248 000.080 000.080: require('vim.inspect') -225.765 000.019 000.019: require('vim.F') -229.308 006.007 004.228: require('telescope.config') -229.577 000.120 000.120: require('plenary.window.border') -229.683 000.098 000.098: require('plenary.window') -229.770 000.080 000.080: require('plenary.popup.utils') -229.781 000.456 000.158: require('plenary.popup') -229.882 000.095 000.095: require('telescope.pickers.scroller') -229.979 000.091 000.091: require('telescope.actions.state') -230.081 000.095 000.095: require('telescope.actions.utils') -230.286 000.096 000.096: require('telescope.actions.mt') -230.366 000.280 000.184: require('telescope.actions.set') -230.575 000.101 000.101: require('telescope.config.resolve') -230.582 000.209 000.107: require('telescope.pickers.entry_display') -230.672 000.086 000.086: require('telescope.from_entry') -231.015 007.994 000.677: require('telescope.actions') -231.930 000.115 000.115: require('plenary.tbl') -231.939 000.219 000.104: require('plenary.vararg.rotate') -231.943 000.319 000.100: require('plenary.vararg') -232.042 000.086 000.086: require('plenary.errors') -232.062 000.539 000.134: require('plenary.async.async') -232.167 000.100 000.100: require('plenary.async.structs') -232.186 000.783 000.144: require('plenary.async.control') -232.710 000.361 000.361: require('telescope.make_entry') -233.194 000.129 000.129: require('plenary.async.util') -233.201 000.233 000.104: require('plenary.async.tests') -233.207 000.357 000.124: require('plenary.async') -233.213 000.488 000.131: require('telescope.finders.async_static_finder') -233.549 000.093 000.093: require('plenary.class') -233.580 000.246 000.153: require('telescope._') -233.587 000.369 000.123: require('telescope.finders.async_oneshot_finder') -233.698 000.105 000.105: require('telescope.finders.async_job_finder') -233.710 001.515 000.192: require('telescope.finders') -234.124 000.171 000.171: require('telescope.debounce') -234.362 000.229 000.229: require('telescope.mappings') -234.498 000.126 000.126: require('telescope.pickers.highlights') -234.610 000.104 000.104: require('telescope.pickers.window') -234.844 000.108 000.108: require('telescope.algos.linked_list') -234.853 000.236 000.128: require('telescope.entry_manager') -234.963 000.106 000.106: require('telescope.pickers.multi') -235.003 001.288 000.316: require('telescope.pickers') -235.020 003.806 000.220: require('telescope.builtin.__lsp') -235.078 004.055 000.249: require('telescope.builtin') -235.503 000.287 000.287: require('fzf_lib') -235.517 000.432 000.145: require('telescope._extensions.fzf') -236.042 000.183 000.183: require('telescope._extensions.file_browser.utils') -236.187 000.522 000.339: require('telescope._extensions.file_browser.actions') -236.536 000.198 000.198: require('telescope._extensions.file_browser.make_entry') -236.753 000.204 000.204: require('plenary.scandir') -236.804 000.609 000.208: require('telescope._extensions.file_browser.finders') -236.937 000.124 000.124: require('telescope._extensions.file_browser.picker') -237.091 000.147 000.147: require('telescope._extensions.file_browser.config') -237.098 001.565 000.163: require('telescope._extensions.file_browser') -243.325 000.017 000.017: require('vim.keymap') -243.488 020.979 006.644: require('plugins.telescope') -245.555 000.085 000.085: require('notify.util.queue') -245.565 000.495 000.410: require('notify.util') -245.823 000.253 000.253: require('notify.config.highlights') -245.834 001.119 000.371: require('notify.config') -246.182 000.341 000.341: require('notify.stages') -246.287 000.097 000.097: require('notify.service.notification') -246.645 000.079 000.079: require('notify.animate.spring') -246.652 000.175 000.096: require('notify.animate') -246.661 000.367 000.192: require('notify.windows') -247.013 000.098 000.098: require('notify.service.buffer.highlights') -247.023 000.262 000.164: require('notify.service.buffer') -247.028 000.362 000.100: require('notify.service') -247.128 000.095 000.095: require('notify.stages.util') -247.137 002.804 000.422: require('notify') -247.232 000.089 000.089: require('nvim-tree.iterators.node-iterator') -247.295 003.077 000.183: require('nvim-tree.utils') -247.307 003.176 000.100: require('nvim-tree.events') -247.638 000.084 000.084: require('nvim-tree.log') -247.810 000.164 000.164: require('nvim-tree.git.utils') -247.913 000.095 000.095: require('nvim-tree.git.runner') -248.009 000.090 000.090: require('nvim-tree.watcher') -248.019 000.608 000.174: require('nvim-tree.git') -248.113 000.089 000.089: require('nvim-tree.explorer.watch') -248.246 000.086 000.086: require('nvim-tree.explorer.common') -248.436 000.098 000.098: require('nvim-tree.explorer.node-builders') -248.530 000.086 000.086: require('nvim-tree.explorer.sorters') -248.634 000.089 000.089: require('nvim-tree.explorer.filters') -248.908 000.177 000.177: require('nvim-tree.view') -248.920 000.279 000.102: require('nvim-tree.live-filter') -248.925 000.671 000.119: require('nvim-tree.explorer.explore') -249.050 000.104 000.104: require('nvim-tree.explorer.reload') -249.058 001.745 000.187: require('nvim-tree.explorer') -249.065 005.013 000.091: require('nvim-tree.core') -249.181 000.110 000.110: require('nvim-tree.diagnostics') -249.279 000.090 000.090: require('nvim-tree.renderer.components.padding') -249.374 000.088 000.088: require('nvim-tree.renderer.components.icons') -249.474 000.094 000.094: require('nvim-tree.renderer.components.full-name') -249.562 000.082 000.082: require('nvim-tree.renderer.help') -249.675 000.107 000.107: require('nvim-tree.renderer.components.git') -249.794 000.112 000.112: require('nvim-tree.renderer.builder') -249.901 000.100 000.100: require('nvim-tree.marks') -249.916 005.971 000.175: require('nvim-tree.renderer') -250.022 000.095 000.095: require('nvim-tree.actions.tree-modifiers.collapse-all') -250.110 000.081 000.081: require('nvim-tree.actions.root.dir-up') -250.210 000.094 000.094: require('nvim-tree.actions.root.change-dir') -250.308 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') -250.406 000.089 000.089: require('nvim-tree.actions.finders.find-file') -250.411 006.559 000.137: require('nvim-tree.lib') -250.512 000.096 000.096: require('nvim-tree.colors') -250.633 000.111 000.111: require('nvim-tree.legacy') -250.749 000.108 000.108: require('nvim-tree.actions.fs.copy-paste') -250.948 000.093 000.093: require('nvim-tree.actions.tree-modifiers.expand-all') -251.044 000.089 000.089: require('nvim-tree.actions.tree-modifiers.toggles') -251.152 000.093 000.093: require('nvim-tree.actions.fs.create-file') -251.249 000.089 000.089: require('nvim-tree.actions.fs.rename-file') -251.369 000.113 000.113: require('nvim-tree.actions.fs.trash') -251.472 000.095 000.095: require('nvim-tree.actions.fs.remove-file') -251.566 000.085 000.085: require('nvim-tree.actions.moves.parent') -251.657 000.084 000.084: require('nvim-tree.actions.moves.sibling') -251.747 000.083 000.083: require('nvim-tree.actions.moves.item') -251.856 000.090 000.090: require('nvim-tree.actions.finders.search-node') -251.945 000.083 000.083: require('nvim-tree.actions.node.run-command') -252.039 000.088 000.088: require('nvim-tree.actions.node.file-popup') -252.148 000.103 000.103: require('nvim-tree.actions.node.system-open') -252.247 000.088 000.088: require('nvim-tree.marks.bulk-move') -252.253 001.494 000.219: require('nvim-tree.actions.dispatch') -252.298 008.630 000.262: require('nvim-tree') -252.386 000.080 000.080: require('nvim-tree.config') -257.095 000.193 000.193: require('nvim-tree.actions') -257.240 000.128 000.128: require('nvim-tree.actions.node.open-file') -260.691 000.107 000.107: require('nvim-tree.marks.navigation') -260.703 000.318 000.211: require('nvim-tree.api') -260.730 000.478 000.160: require('nvim-tree.keymap') -261.644 000.460 000.460: require('nvim-web-devicons') -265.847 022.349 012.380: require('plugins.nvim-tree') -266.218 000.107 000.107: require('lualine_require') -266.776 000.811 000.704: require('lualine') -266.861 000.076 000.076: require('plugins.linecolor') -271.822 000.113 000.113: require('lualine.utils.mode') -278.657 012.797 011.798: require('plugins.lualine') -278.733 182.854 007.556: sourcing /home/sxrdusr/.config/nvim/init.lua -278.753 007.023: sourcing vimrc file(s) -279.069 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -280.561 000.083 000.083: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.lua -282.097 001.197 001.197: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.vim -284.560 000.271 000.271: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/synload.vim -284.797 002.162 001.892: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/syntax.vim -290.655 001.081 001.081: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/gzip.vim -290.838 000.074 000.074: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/health.vim -293.462 001.365 001.365: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -293.908 003.000 001.635: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchit.vim -294.379 000.409 000.409: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchparen.vim -294.523 000.076 000.076: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/netrwPlugin.vim -294.930 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -294.951 000.364 000.340: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/rplugin.vim -295.198 000.188 000.188: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/shada.vim -295.317 000.052 000.052: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/spellfile.vim -295.444 000.062 000.062: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tarPlugin.vim -295.569 000.061 000.061: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tohtml.vim -295.694 000.049 000.049: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tutor.vim -296.445 000.685 000.685: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/zipPlugin.vim -296.743 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -298.142 000.181 000.181: require('lspsaga') -298.522 000.126 000.126: require('lspsaga.window') -298.545 000.267 000.141: require('lspsaga.libs') -299.708 000.362 000.362: require('vim.lsp.log') -300.673 000.954 000.954: require('vim.lsp.protocol') -301.346 000.346 000.346: require('vim.lsp._snippet') -301.641 000.285 000.285: require('vim.highlight') -301.680 000.996 000.365: require('vim.lsp.util') -301.701 002.616 000.304: require('vim.lsp.handlers') -301.930 000.222 000.222: require('vim.lsp.rpc') -302.074 000.133 000.133: require('vim.lsp.sync') -302.593 000.511 000.511: require('vim.lsp.buf') -303.020 000.417 000.417: require('vim.lsp.diagnostic') -303.435 000.406 000.406: require('vim.lsp.codelens') -303.596 004.920 000.615: require('vim.lsp') -303.708 000.100 000.100: require('lspsaga.wrap') -303.723 005.172 000.152: require('lspsaga.codeaction') -303.769 005.615 000.176: require('lspsaga.lightbulb') -303.937 000.131 000.131: require('lspsaga.lspkind') -304.222 000.093 000.093: require('mason-core.path') -304.240 000.198 000.105: require('mason.settings') -304.542 000.086 000.086: require('mason-core.functional.data') -304.553 000.189 000.104: require('mason-core.functional.function') -304.594 000.347 000.158: require('mason-core.platform') -304.599 000.650 000.105: require('mason') -304.884 000.145 000.145: require('mason-core.functional') -305.020 000.116 000.116: require('mason-core.functional.list') -305.058 000.434 000.173: require('mason.api.command') -305.320 000.142 000.142: require('mason-core.log') -305.331 000.268 000.126: require('mason-lspconfig') -305.425 000.088 000.088: require('mason-lspconfig.settings') -305.553 000.105 000.105: require('mason-lspconfig.lspconfig_hook') -305.792 000.233 000.233: require('lspconfig.util') -306.061 000.092 000.092: require('mason-core.functional.table') -306.169 000.352 000.260: require('mason-lspconfig.mappings.server') -306.537 000.120 000.120: require('mason-core.async') -306.641 000.094 000.094: require('mason-core.async.uv') -306.661 000.347 000.133: require('mason-core.fs') -306.767 000.099 000.099: require('mason-core.optional') -306.864 000.089 000.089: require('mason-core.EventEmitter') -307.048 000.178 000.178: require('mason-registry.index') -307.071 000.893 000.181: require('mason-registry') -307.172 000.094 000.094: require('mason-lspconfig.server_config_extensions') -307.343 000.126 000.126: require('lspconfig.configs') -307.463 000.113 000.113: require('lspconfig.server_configurations.omnisharp') -307.665 000.101 000.101: require('mason-lspconfig.ensure_installed') -308.014 000.094 000.094: require('mason-core.result') -308.491 000.256 000.256: require('mason-core.process') -308.603 000.100 000.100: require('mason-core.functional.relation') -308.703 000.089 000.089: require('mason-core.functional.logic') -308.723 000.583 000.138: require('mason-core.spawn') -308.851 000.120 000.120: require('mason-core.receipt') -308.984 000.113 000.113: require('mason-core.functional.string') -309.020 000.998 000.182: require('mason-core.installer.context') -309.126 000.099 000.099: require('mason-core.installer.linker') -309.229 000.096 000.096: require('mason-core.async.control') -309.237 001.439 000.151: require('mason-core.installer') -309.364 000.122 000.122: require('mason-core.installer.handle') -311.696 000.112 000.112: require('mason-core.managers.powershell') -311.706 002.028 001.916: require('mason-core.fetch') -311.711 002.119 000.092: require('mason-core.managers.cargo.client') -311.749 002.278 000.158: require('mason-core.managers.cargo') -312.009 000.255 000.255: require('mason-core.managers.composer') -312.211 000.193 000.193: require('mason-core.managers.gem') -312.357 000.134 000.134: require('mason-core.managers.git') -312.604 000.124 000.124: require('mason-core.managers.std') -312.724 000.112 000.112: require('mason-core.managers.github.client') -312.738 000.373 000.137: require('mason-core.managers.github') -312.893 000.150 000.150: require('mason-core.managers.go') -313.074 000.174 000.174: require('mason-core.managers.luarocks') -313.273 000.193 000.193: require('mason-core.managers.npm') -313.429 000.148 000.148: require('mason-core.managers.pip3') -313.440 004.063 000.166: require('mason-core.package.version-check') -313.453 005.780 000.156: require('mason-core.package') -313.596 000.120 000.120: require('mason-registry.lua-language-server') -314.016 000.148 000.148: require('mason-registry.clangd') -314.251 000.202 000.202: require('mason-registry.rust-analyzer') -314.478 000.079 000.079: require('mason-core.notify') -314.587 000.100 000.100: require('mason-core.functional.number') -314.647 000.385 000.206: require('mason-lspconfig.api.command') -314.654 017.774 001.756: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -315.963 000.101 000.101: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/man.lua -316.291 010.027: loading rtp plugins -318.118 000.121 000.121: require('Comment.config') -318.235 000.108 000.108: require('Comment.utils') -318.334 000.092 000.092: require('Comment.opfunc') -318.429 000.089 000.089: require('Comment.extra') -318.444 000.586 000.176: require('Comment.api') -318.874 001.089 000.503: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -319.655 000.090 000.090: require('luasnip.util.types') -319.758 000.094 000.094: require('luasnip.util.ext_opts') -319.863 000.098 000.098: require('luasnip.extras.filetype_functions') -319.970 000.100 000.100: require('luasnip.session') -320.338 000.137 000.137: require('luasnip.util.util') -320.444 000.098 000.098: require('luasnip.nodes.util') -320.531 000.080 000.080: require('luasnip.util.events') -320.549 000.467 000.152: require('luasnip.nodes.node') -320.704 000.092 000.092: require('luasnip.util.extend_decorator') -320.715 000.738 000.179: require('luasnip.nodes.insertNode') -321.030 000.111 000.111: require('luasnip.util.mark') -321.311 000.122 000.122: require('luasnip.nodes.textNode') -323.154 001.735 001.735: require('luasnip.util._builtin_vars') -323.344 002.021 000.286: require('luasnip.util.environ') -323.470 000.114 000.114: require('luasnip.util.pattern_tokenizer') -323.562 000.085 000.085: require('luasnip.util.dict') -323.680 000.110 000.110: require('luasnip.session.snippet_collection') -323.746 002.707 000.255: require('luasnip.nodes.snippet') -323.805 003.084 000.266: require('luasnip.nodes.choiceNode') -323.972 000.139 000.139: require('luasnip.nodes.functionNode') -324.195 000.214 000.214: require('luasnip.nodes.dynamicNode') -324.383 000.179 000.179: require('luasnip.nodes.restoreNode') -324.509 000.119 000.119: require('luasnip.extras') -324.709 000.086 000.086: require('luasnip.util.str') -324.718 000.193 000.107: require('luasnip.extras.fmt') -324.812 000.088 000.088: require('luasnip.extras.expand_conditions') -325.142 000.106 000.106: require('luasnip.util.parser.neovim_ast') -337.540 000.132 000.132: require('luasnip.util.directed_graph') -337.562 012.634 012.397: require('luasnip.util.parser.ast_utils') -337.788 000.094 000.094: require('luasnip.util.functions') -337.804 000.235 000.140: require('luasnip.util.parser.ast_parser') -337.986 000.177 000.177: require('luasnip.util.parser.neovim_parser') -338.002 013.180 000.134: require('luasnip.util.parser') -338.102 000.093 000.093: require('luasnip.nodes.absolute_indexer') -338.653 019.224 000.817: require('luasnip.config') -338.816 019.693 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -339.740 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -340.704 000.121 000.121: require('indent_blankline/utils') -340.714 000.328 000.207: require('indent_blankline') -341.171 000.107 000.107: require('indent_blankline.commands') -341.331 001.120 000.686: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -341.766 000.120 000.120: require('lsp-colors') -342.120 000.527 000.407: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -343.544 001.016 001.016: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -344.414 000.400 000.400: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -345.007 000.111 000.111: require('cmp.utils.api') -345.199 000.086 000.086: require('cmp.types.cmp') -345.402 000.100 000.100: require('cmp.utils.misc') -345.503 000.297 000.197: require('cmp.types.lsp') -345.626 000.113 000.113: require('cmp.types.vim') -345.632 000.615 000.119: require('cmp.types') -345.728 000.090 000.090: require('cmp.utils.highlight') -345.899 000.080 000.080: require('cmp.utils.debug') -345.915 000.180 000.101: require('cmp.utils.autocmd') -346.453 001.651 000.655: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -346.722 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -347.167 000.120 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -347.647 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -348.348 000.094 000.094: require('nvim-treesitter.statusline') -348.460 000.104 000.104: require('nvim-treesitter.query_predicates') -348.467 000.315 000.116: require('nvim-treesitter') -349.846 000.554 000.554: require('vim.treesitter.highlighter') -350.210 001.095 000.541: require('nvim-treesitter.highlight') -350.824 002.752 001.342: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -351.290 000.239 000.239: require('treesitter-context') -351.300 000.282 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -351.700 000.111 000.111: require('nvim-treesitter-refactor') -351.993 000.433 000.322: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -352.381 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -352.769 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -353.140 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -353.923 000.425 000.425: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -354.290 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -355.450 000.659 000.659: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -356.275 000.502 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -356.887 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -357.732 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -358.028 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -358.315 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -359.679 011.023: loading packages -361.384 000.464 000.464: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -365.756 005.510 005.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -366.647 000.195 000.195: require('cmp.utils.char') -366.667 000.306 000.111: require('cmp.utils.str') -366.765 000.090 000.090: require('cmp.utils.pattern') -367.066 000.082 000.082: require('cmp.utils.buffer') -367.081 000.207 000.126: require('cmp.utils.keymap') -367.091 000.315 000.108: require('cmp.utils.feedkeys') -367.201 000.105 000.105: require('cmp.utils.async') -367.380 000.082 000.082: require('cmp.utils.cache') -367.389 000.180 000.098: require('cmp.context') -367.705 000.104 000.104: require('cmp.config.mapping') -367.927 000.112 000.112: require('cmp.config.compare') -367.934 000.218 000.106: require('cmp.config.default') -367.962 000.455 000.133: require('cmp.config') -368.178 000.083 000.083: require('cmp.matcher') -368.191 000.223 000.140: require('cmp.entry') -368.209 000.816 000.138: require('cmp.source') -368.392 000.080 000.080: require('cmp.utils.event') -368.603 000.111 000.111: require('cmp.utils.window') -368.611 000.211 000.101: require('cmp.view.docs_view') -368.766 000.150 000.150: require('cmp.view.custom_entries_view') -368.897 000.124 000.124: require('cmp.view.wildmenu_entries_view') -369.028 000.124 000.124: require('cmp.view.native_entries_view') -369.135 000.100 000.100: require('cmp.view.ghost_text_view') -369.152 000.938 000.148: require('cmp.view') -369.269 003.048 000.297: require('cmp.core') -369.712 000.089 000.089: require('cmp.config.sources') -369.804 000.082 000.082: require('cmp.config.window') -369.904 003.832 000.613: require('cmp') -370.290 000.081 000.081: require('cmp_buffer.timer') -370.302 000.203 000.122: require('cmp_buffer.buffer') -370.308 000.305 000.102: require('cmp_buffer.source') -370.312 000.401 000.095: require('cmp_buffer') -370.344 004.362 000.130: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -370.777 000.183 000.183: require('cmp_cmdline') -370.811 000.289 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -371.233 000.099 000.099: require('cmp_nvim_lsp.source') -371.241 000.212 000.113: require('cmp_nvim_lsp') -371.290 000.324 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -371.645 000.140 000.140: require('cmp_path') -371.743 000.303 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -372.089 000.120 000.120: require('cmp_luasnip') -372.183 000.285 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -372.388 001.635: loading after plugins -372.417 000.029: inits 3 -372.430 000.013: reading ShaDa -372.874 000.094 000.094: require('luasnip.loaders._caches') -373.012 000.130 000.130: require('luasnip.util.path') -373.134 000.114 000.114: require('luasnip.loaders.util') -373.430 000.135 000.135: require('luasnip.loaders') -373.482 000.340 000.205: require('luasnip') -373.489 000.831 000.154: require('luasnip.loaders.from_lua') -373.761 000.100 000.100: require('luasnip.nodes.snippetProxy') -373.775 000.232 000.132: require('luasnip.loaders.from_snipmate') -373.944 000.123 000.123: require('luasnip.loaders.from_vscode') -374.862 001.247: opening buffers -375.085 000.223: BufEnter autocommands -375.092 000.007: editing files in windows -411.604 001.608 001.608: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.111 001.111: --- NVIM STARTING --- -027.185 026.074: event init -043.596 016.411: early init -045.265 001.669: locale set -050.725 005.460: init first window -060.579 009.854: inits 1 -060.609 000.030: window checked -060.619 000.010: parsing arguments -071.284 000.124 000.124: require('vim.shared') -071.506 000.108 000.108: require('vim._meta') -071.512 000.217 000.109: require('vim._editor') -071.515 000.397 000.055: require('vim._init_packages') -071.519 010.503: init lua interpreter -071.592 000.073: expanding arguments -073.348 001.755: inits 2 -073.982 000.634: init highlight -073.987 000.005: waiting for UI -077.805 003.818: done waiting for UI -077.840 000.035: init screen for UI -078.079 000.239: init default mappings -078.106 000.027: init default autocommands -087.815 004.243 004.243: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/ftplugin.vim -089.992 001.017 001.017: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/indent.vim -090.372 000.035 000.035: sourcing /usr/share/nvim/archlinux.vim -090.385 000.098 000.064: sourcing /etc/xdg/nvim/sysinit.vim -105.119 014.531 014.531: require('impatient') -105.253 000.119 000.119: require('impatient.profile') -108.631 000.731 000.731: require('keys') -111.118 002.475 002.475: require('opts') -111.846 000.144 000.144: require('packer.util') -111.903 000.510 000.366: require('packer') -112.587 000.275 000.275: require('packer.log') -112.597 000.463 000.188: require('packer.async') -112.989 000.210 000.210: require('packer.result') -112.997 000.394 000.183: require('packer.jobs') -113.012 001.062 000.206: require('packer.plugin_utils') -113.532 000.496 000.496: require('packer.snapshot') -114.562 003.432 001.363: require('pack') -115.890 000.293 000.293: require('vim.treesitter.language') -115.910 000.727 000.434: require('vim.treesitter.query') -117.287 000.216 000.216: require('vim.treesitter.languagetree') -117.351 000.578 000.363: require('vim.treesitter') -117.630 001.176 000.598: require('nvim-treesitter.parsers') -117.859 000.220 000.220: require('nvim-treesitter.utils') -117.871 001.701 000.305: require('nvim-treesitter.ts_utils') -117.885 001.964 000.263: require('nvim-treesitter.tsrange') -117.988 000.096 000.096: require('nvim-treesitter.caching') -118.007 002.945 000.158: require('nvim-treesitter.query') -118.039 003.132 000.187: require('nvim-treesitter.configs') -118.536 000.114 000.114: require('nvim-treesitter.info') -118.675 000.129 000.129: require('nvim-treesitter.shell_command_selectors') -118.724 000.480 000.236: require('nvim-treesitter.install') -157.329 042.756 039.144: require('plugins.treesitter') -157.746 000.103 000.103: require('telescope._extensions') -157.757 000.215 000.113: require('telescope') -158.664 000.097 000.097: require('plenary.bit') -158.765 000.092 000.092: require('plenary.functional') -158.812 000.031 000.031: require('ffi') -158.835 000.422 000.202: require('plenary.path') -158.850 000.595 000.173: require('plenary.strings') -158.947 000.092 000.092: require('telescope.deprecated') -159.473 000.318 000.318: require('plenary.log') -159.514 000.439 000.120: require('telescope.log') -159.793 000.137 000.137: require('plenary.job') -159.900 000.098 000.098: require('telescope.state') -159.916 000.395 000.160: require('telescope.utils') -159.931 000.977 000.143: require('telescope.sorters') -160.097 000.145 000.145: require('vim.inspect') -160.525 000.020 000.020: require('vim.F') -164.303 006.263 004.434: require('telescope.config') -164.534 000.095 000.095: require('plenary.window.border') -164.641 000.100 000.100: require('plenary.window') -164.732 000.083 000.083: require('plenary.popup.utils') -164.741 000.423 000.145: require('plenary.popup') -164.846 000.099 000.099: require('telescope.pickers.scroller') -164.947 000.094 000.094: require('telescope.actions.state') -165.047 000.094 000.094: require('telescope.actions.utils') -165.255 000.098 000.098: require('telescope.actions.mt') -165.339 000.285 000.187: require('telescope.actions.set') -165.628 000.111 000.111: require('telescope.config.resolve') -165.635 000.290 000.180: require('telescope.pickers.entry_display') -165.765 000.089 000.089: require('telescope.from_entry') -166.096 008.333 000.695: require('telescope.actions') -167.038 000.094 000.094: require('plenary.tbl') -167.049 000.215 000.122: require('plenary.vararg.rotate') -167.053 000.346 000.131: require('plenary.vararg') -167.177 000.112 000.112: require('plenary.errors') -167.190 000.618 000.160: require('plenary.async.async') -167.317 000.121 000.121: require('plenary.async.structs') -167.332 000.898 000.159: require('plenary.async.control') -167.818 000.360 000.360: require('telescope.make_entry') -168.264 000.119 000.119: require('plenary.async.util') -168.271 000.220 000.101: require('plenary.async.tests') -168.277 000.330 000.110: require('plenary.async') -168.287 000.453 000.123: require('telescope.finders.async_static_finder') -168.613 000.092 000.092: require('plenary.class') -168.647 000.246 000.155: require('telescope._') -168.654 000.362 000.115: require('telescope.finders.async_oneshot_finder') -168.772 000.113 000.113: require('telescope.finders.async_job_finder') -168.788 001.448 000.161: require('telescope.finders') -169.220 000.156 000.156: require('telescope.debounce') -169.470 000.241 000.241: require('telescope.mappings') -169.610 000.129 000.129: require('telescope.pickers.highlights') -169.755 000.136 000.136: require('telescope.pickers.window') -169.976 000.103 000.103: require('telescope.algos.linked_list') -169.989 000.227 000.124: require('telescope.entry_manager') -170.088 000.094 000.094: require('telescope.pickers.multi') -170.141 001.347 000.364: require('telescope.pickers') -170.166 003.902 000.209: require('telescope.builtin.__lsp') -170.213 004.110 000.208: require('telescope.builtin') -170.621 000.277 000.277: require('fzf_lib') -170.638 000.414 000.136: require('telescope._extensions.fzf') -171.172 000.187 000.187: require('telescope._extensions.file_browser.utils') -171.332 000.559 000.372: require('telescope._extensions.file_browser.actions') -171.693 000.212 000.212: require('telescope._extensions.file_browser.make_entry') -171.940 000.235 000.235: require('plenary.scandir') -171.994 000.653 000.206: require('telescope._extensions.file_browser.finders') -172.126 000.124 000.124: require('telescope._extensions.file_browser.picker') -172.281 000.148 000.148: require('telescope._extensions.file_browser.config') -172.287 001.634 000.149: require('telescope._extensions.file_browser') -177.884 000.017 000.017: require('vim.keymap') -178.248 020.907 006.185: require('plugins.telescope') -179.753 000.165 000.165: require('notify.util.queue') -179.763 000.341 000.175: require('notify.util') -180.014 000.244 000.244: require('notify.config.highlights') -180.024 000.708 000.123: require('notify.config') -180.121 000.091 000.091: require('notify.stages') -180.279 000.128 000.128: require('notify.service.notification') -180.547 000.077 000.077: require('notify.animate.spring') -180.553 000.163 000.086: require('notify.animate') -180.562 000.276 000.113: require('notify.windows') -180.849 000.099 000.099: require('notify.service.buffer.highlights') -180.859 000.202 000.104: require('notify.service.buffer') -180.864 000.297 000.095: require('notify.service') -180.964 000.096 000.096: require('notify.stages.util') -180.973 001.863 000.268: require('notify') -181.067 000.088 000.088: require('nvim-tree.iterators.node-iterator') -181.131 002.139 000.187: require('nvim-tree.utils') -181.143 002.243 000.104: require('nvim-tree.events') -181.520 000.083 000.083: require('nvim-tree.log') -181.695 000.166 000.166: require('nvim-tree.git.utils') -181.800 000.098 000.098: require('nvim-tree.git.runner') -181.898 000.091 000.091: require('nvim-tree.watcher') -181.908 000.566 000.128: require('nvim-tree.git') -182.001 000.088 000.088: require('nvim-tree.explorer.watch') -182.135 000.087 000.087: require('nvim-tree.explorer.common') -182.325 000.099 000.099: require('nvim-tree.explorer.node-builders') -182.421 000.087 000.087: require('nvim-tree.explorer.sorters') -182.521 000.085 000.085: require('nvim-tree.explorer.filters') -182.808 000.182 000.182: require('nvim-tree.view') -182.825 000.297 000.115: require('nvim-tree.live-filter') -182.833 000.691 000.123: require('nvim-tree.explorer.explore') -182.993 000.151 000.151: require('nvim-tree.explorer.reload') -183.004 001.856 000.273: require('nvim-tree.explorer') -183.016 004.199 000.099: require('nvim-tree.core') -183.191 000.168 000.168: require('nvim-tree.diagnostics') -183.342 000.138 000.138: require('nvim-tree.renderer.components.padding') -183.522 000.170 000.170: require('nvim-tree.renderer.components.icons') -183.685 000.151 000.151: require('nvim-tree.renderer.components.full-name') -183.825 000.130 000.130: require('nvim-tree.renderer.help') -184.007 000.171 000.171: require('nvim-tree.renderer.components.git') -184.195 000.178 000.178: require('nvim-tree.renderer.builder') -184.347 000.141 000.141: require('nvim-tree.marks') -184.368 005.654 000.208: require('nvim-tree.renderer') -184.535 000.149 000.149: require('nvim-tree.actions.tree-modifiers.collapse-all') -184.674 000.129 000.129: require('nvim-tree.actions.root.dir-up') -184.832 000.147 000.147: require('nvim-tree.actions.root.change-dir') -184.958 000.116 000.116: require('nvim-tree.actions.reloaders.reloaders') -185.064 000.095 000.095: require('nvim-tree.actions.finders.find-file') -185.070 006.451 000.159: require('nvim-tree.lib') -185.173 000.098 000.098: require('nvim-tree.colors') -185.295 000.112 000.112: require('nvim-tree.legacy') -185.413 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') -185.615 000.095 000.095: require('nvim-tree.actions.tree-modifiers.expand-all') -185.712 000.090 000.090: require('nvim-tree.actions.tree-modifiers.toggles') -185.821 000.094 000.094: require('nvim-tree.actions.fs.create-file') -185.919 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -186.041 000.114 000.114: require('nvim-tree.actions.fs.trash') -186.143 000.095 000.095: require('nvim-tree.actions.fs.remove-file') -186.240 000.086 000.086: require('nvim-tree.actions.moves.parent') -186.331 000.085 000.085: require('nvim-tree.actions.moves.sibling') -186.423 000.084 000.084: require('nvim-tree.actions.moves.item') -186.533 000.091 000.091: require('nvim-tree.actions.finders.search-node') -186.622 000.083 000.083: require('nvim-tree.actions.node.run-command') -186.719 000.091 000.091: require('nvim-tree.actions.node.file-popup') -186.848 000.121 000.121: require('nvim-tree.actions.node.system-open') -186.948 000.090 000.090: require('nvim-tree.marks.bulk-move') -186.954 001.531 000.224: require('nvim-tree.actions.dispatch') -186.983 008.551 000.251: require('nvim-tree') -187.065 000.076 000.076: require('nvim-tree.config') -190.975 000.179 000.179: require('nvim-tree.actions') -191.118 000.126 000.126: require('nvim-tree.actions.node.open-file') -194.601 000.103 000.103: require('nvim-tree.marks.navigation') -194.613 000.300 000.197: require('nvim-tree.api') -194.642 000.462 000.162: require('nvim-tree.keymap') -195.607 000.463 000.463: require('nvim-web-devicons') -200.113 021.854 011.996: require('plugins.nvim-tree') -200.819 000.138 000.138: require('lualine_require') -201.441 000.999 000.861: require('lualine') -201.530 000.079 000.079: require('plugins.linecolor') -209.975 000.135 000.135: require('lualine.utils.mode') -213.198 013.006 011.794: require('plugins.lualine') -213.236 122.803 002.991: sourcing /home/sxrdusr/.config/nvim/init.lua -213.254 006.986: sourcing vimrc file(s) -213.571 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -214.883 000.074 000.074: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.lua -216.250 001.156 001.156: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.vim -218.459 000.289 000.289: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/synload.vim -218.710 001.984 001.695: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/syntax.vim -224.924 001.037 001.037: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/gzip.vim -225.080 000.065 000.065: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/health.vim -228.009 001.454 001.454: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -228.576 003.411 001.957: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchit.vim -229.076 000.413 000.413: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchparen.vim -229.256 000.090 000.090: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/netrwPlugin.vim -229.702 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -229.723 000.379 000.355: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/rplugin.vim -230.008 000.198 000.198: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/shada.vim -230.190 000.091 000.091: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/spellfile.vim -230.360 000.080 000.080: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tarPlugin.vim -230.524 000.075 000.075: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tohtml.vim -230.670 000.058 000.058: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tutor.vim -231.429 000.673 000.673: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/zipPlugin.vim -231.723 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -233.248 000.155 000.155: require('lspsaga') -233.650 000.126 000.126: require('lspsaga.window') -233.674 000.289 000.163: require('lspsaga.libs') -234.831 000.402 000.402: require('vim.lsp.log') -235.514 000.671 000.671: require('vim.lsp.protocol') -236.036 000.228 000.228: require('vim.lsp._snippet') -236.195 000.149 000.149: require('vim.highlight') -236.231 000.707 000.330: require('vim.lsp.util') -236.254 002.041 000.262: require('vim.lsp.handlers') -236.548 000.287 000.287: require('vim.lsp.rpc') -236.714 000.154 000.154: require('vim.lsp.sync') -236.982 000.258 000.258: require('vim.lsp.buf') -237.189 000.194 000.194: require('vim.lsp.diagnostic') -237.383 000.186 000.186: require('vim.lsp.codelens') -237.546 003.740 000.620: require('vim.lsp') -237.656 000.098 000.098: require('lspsaga.wrap') -237.672 003.992 000.153: require('lspsaga.codeaction') -237.713 004.454 000.172: require('lspsaga.lightbulb') -237.892 000.137 000.137: require('lspsaga.lspkind') -238.160 000.086 000.086: require('mason-core.path') -238.178 000.190 000.104: require('mason.settings') -238.483 000.086 000.086: require('mason-core.functional.data') -238.491 000.190 000.104: require('mason-core.functional.function') -238.531 000.345 000.156: require('mason-core.platform') -238.536 000.631 000.096: require('mason') -238.821 000.142 000.142: require('mason-core.functional') -238.957 000.113 000.113: require('mason-core.functional.list') -239.001 000.437 000.182: require('mason.api.command') -239.249 000.137 000.137: require('mason-core.log') -239.258 000.250 000.114: require('mason-lspconfig') -239.355 000.092 000.092: require('mason-lspconfig.settings') -239.481 000.107 000.107: require('mason-lspconfig.lspconfig_hook') -239.804 000.316 000.316: require('lspconfig.util') -240.204 000.126 000.126: require('mason-core.functional.table') -240.364 000.446 000.320: require('mason-lspconfig.mappings.server') -240.714 000.112 000.112: require('mason-core.async') -240.810 000.087 000.087: require('mason-core.async.uv') -240.822 000.314 000.115: require('mason-core.fs') -240.921 000.090 000.090: require('mason-core.optional') -241.022 000.094 000.094: require('mason-core.EventEmitter') -241.210 000.181 000.181: require('mason-registry.index') -241.234 000.860 000.181: require('mason-registry') -241.334 000.093 000.093: require('mason-lspconfig.server_config_extensions') -241.505 000.118 000.118: require('lspconfig.configs') -241.623 000.110 000.110: require('lspconfig.server_configurations.omnisharp') -241.763 000.097 000.097: require('mason-lspconfig.ensure_installed') -242.095 000.095 000.095: require('mason-core.result') -242.582 000.251 000.251: require('mason-core.process') -242.688 000.094 000.094: require('mason-core.functional.relation') -242.788 000.090 000.090: require('mason-core.functional.logic') -242.807 000.575 000.140: require('mason-core.spawn') -242.922 000.106 000.106: require('mason-core.receipt') -243.037 000.096 000.096: require('mason-core.functional.string') -243.067 000.964 000.187: require('mason-core.installer.context') -243.173 000.100 000.100: require('mason-core.installer.linker') -243.274 000.095 000.095: require('mason-core.async.control') -243.283 001.396 000.141: require('mason-core.installer') -243.420 000.132 000.132: require('mason-core.installer.handle') -245.806 000.120 000.120: require('mason-core.managers.powershell') -245.817 002.066 001.945: require('mason-core.fetch') -245.822 002.152 000.086: require('mason-core.managers.cargo.client') -245.863 002.308 000.156: require('mason-core.managers.cargo') -246.012 000.143 000.143: require('mason-core.managers.composer') -246.163 000.144 000.144: require('mason-core.managers.gem') -246.277 000.107 000.107: require('mason-core.managers.git') -246.520 000.120 000.120: require('mason-core.managers.std') -246.633 000.106 000.106: require('mason-core.managers.github.client') -246.652 000.368 000.142: require('mason-core.managers.github') -246.927 000.270 000.270: require('mason-core.managers.go') -247.120 000.184 000.184: require('mason-core.managers.luarocks') -247.268 000.141 000.141: require('mason-core.managers.npm') -247.446 000.171 000.171: require('mason-core.managers.pip3') -247.459 004.027 000.192: require('mason-core.package.version-check') -247.472 005.702 000.147: require('mason-core.package') -247.697 000.125 000.125: require('mason-registry.lua-language-server') -248.154 000.144 000.144: require('mason-registry.clangd') -248.338 000.142 000.142: require('mason-registry.rust-analyzer') -248.567 000.079 000.079: require('mason-core.notify') -248.681 000.104 000.104: require('mason-core.functional.number') -248.744 000.395 000.212: require('mason-lspconfig.api.command') -248.751 016.895 002.084: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -250.216 000.149 000.149: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/man.lua -250.464 010.291: loading rtp plugins -252.317 000.130 000.130: require('Comment.config') -252.432 000.105 000.105: require('Comment.utils') -252.532 000.092 000.092: require('Comment.opfunc') -252.631 000.092 000.092: require('Comment.extra') -252.648 000.616 000.196: require('Comment.api') -253.164 001.202 000.586: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -253.955 000.088 000.088: require('luasnip.util.types') -254.062 000.098 000.098: require('luasnip.util.ext_opts') -254.171 000.101 000.101: require('luasnip.extras.filetype_functions') -254.272 000.094 000.094: require('luasnip.session') -254.636 000.137 000.137: require('luasnip.util.util') -254.743 000.099 000.099: require('luasnip.nodes.util') -254.843 000.092 000.092: require('luasnip.util.events') -254.861 000.475 000.147: require('luasnip.nodes.node') -255.012 000.094 000.094: require('luasnip.util.extend_decorator') -255.023 000.743 000.175: require('luasnip.nodes.insertNode') -255.408 000.109 000.109: require('luasnip.util.mark') -255.695 000.123 000.123: require('luasnip.nodes.textNode') -256.595 000.792 000.792: require('luasnip.util._builtin_vars') -256.841 001.133 000.341: require('luasnip.util.environ') -256.963 000.111 000.111: require('luasnip.util.pattern_tokenizer') -257.055 000.084 000.084: require('luasnip.util.dict') -257.172 000.110 000.110: require('luasnip.session.snippet_collection') -257.232 001.814 000.254: require('luasnip.nodes.snippet') -257.291 002.263 000.339: require('luasnip.nodes.choiceNode') -257.465 000.139 000.139: require('luasnip.nodes.functionNode') -257.663 000.187 000.187: require('luasnip.nodes.dynamicNode') -257.824 000.153 000.153: require('luasnip.nodes.restoreNode') -257.940 000.109 000.109: require('luasnip.extras') -258.135 000.088 000.088: require('luasnip.util.str') -258.144 000.193 000.104: require('luasnip.extras.fmt') -258.239 000.087 000.087: require('luasnip.extras.expand_conditions') -258.565 000.104 000.104: require('luasnip.util.parser.neovim_ast') -268.931 000.123 000.123: require('luasnip.util.directed_graph') -268.952 010.600 010.373: require('luasnip.util.parser.ast_utils') -269.185 000.096 000.096: require('luasnip.util.functions') -269.202 000.243 000.147: require('luasnip.util.parser.ast_parser') -269.421 000.212 000.212: require('luasnip.util.parser.neovim_parser') -269.442 011.193 000.138: require('luasnip.util.parser') -269.543 000.094 000.094: require('luasnip.nodes.absolute_indexer') -269.972 016.251 000.709: require('luasnip.config') -270.152 016.806 000.555: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -271.034 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -271.973 000.123 000.123: require('indent_blankline/utils') -271.982 000.313 000.190: require('indent_blankline') -272.343 000.105 000.105: require('indent_blankline.commands') -272.499 001.006 000.587: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -272.937 000.132 000.132: require('lsp-colors') -273.381 000.626 000.495: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -274.698 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -275.547 000.392 000.392: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -276.124 000.110 000.110: require('cmp.utils.api') -276.308 000.089 000.089: require('cmp.types.cmp') -276.520 000.102 000.102: require('cmp.utils.misc') -276.553 000.238 000.136: require('cmp.types.lsp') -276.641 000.081 000.081: require('cmp.types.vim') -276.647 000.514 000.105: require('cmp.types') -276.740 000.088 000.088: require('cmp.utils.highlight') -276.942 000.083 000.083: require('cmp.utils.debug') -276.958 000.211 000.128: require('cmp.utils.autocmd') -277.710 001.788 000.865: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -277.977 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -278.441 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -278.924 000.182 000.182: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -279.607 000.095 000.095: require('nvim-treesitter.statusline') -279.735 000.120 000.120: require('nvim-treesitter.query_predicates') -279.743 000.332 000.117: require('nvim-treesitter') -280.880 000.218 000.218: require('vim.treesitter.highlighter') -281.220 000.738 000.520: require('nvim-treesitter.highlight') -281.584 002.249 001.180: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -282.055 000.247 000.247: require('treesitter-context') -282.065 000.289 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -282.467 000.116 000.116: require('nvim-treesitter-refactor') -282.639 000.316 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -282.999 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -283.374 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -283.801 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -284.568 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -284.926 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -285.791 000.378 000.378: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -286.575 000.492 000.492: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -287.223 000.361 000.361: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -288.060 000.588 000.588: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -288.358 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -288.635 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -289.572 010.432: loading packages -291.291 000.474 000.474: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -295.675 005.526 005.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -296.520 000.147 000.147: require('cmp.utils.char') -296.536 000.263 000.115: require('cmp.utils.str') -296.633 000.090 000.090: require('cmp.utils.pattern') -296.969 000.081 000.081: require('cmp.utils.buffer') -296.982 000.246 000.166: require('cmp.utils.keymap') -296.995 000.354 000.108: require('cmp.utils.feedkeys') -297.107 000.107 000.107: require('cmp.utils.async') -297.291 000.081 000.081: require('cmp.utils.cache') -297.301 000.186 000.104: require('cmp.context') -297.636 000.107 000.107: require('cmp.config.mapping') -297.858 000.108 000.108: require('cmp.config.compare') -297.868 000.220 000.112: require('cmp.config.default') -297.896 000.466 000.139: require('cmp.config') -298.116 000.086 000.086: require('cmp.matcher') -298.130 000.228 000.142: require('cmp.entry') -298.150 000.844 000.150: require('cmp.source') -298.347 000.087 000.087: require('cmp.utils.event') -298.569 000.111 000.111: require('cmp.utils.window') -298.577 000.222 000.112: require('cmp.view.docs_view') -298.733 000.151 000.151: require('cmp.view.custom_entries_view') -298.868 000.128 000.128: require('cmp.view.wildmenu_entries_view') -298.986 000.112 000.112: require('cmp.view.native_entries_view') -299.096 000.102 000.102: require('cmp.view.ghost_text_view') -299.114 000.959 000.156: require('cmp.view') -299.197 003.078 000.275: require('cmp.core') -299.687 000.092 000.092: require('cmp.config.sources') -299.782 000.085 000.085: require('cmp.config.window') -299.886 003.913 000.659: require('cmp') -300.287 000.084 000.084: require('cmp_buffer.timer') -300.296 000.211 000.127: require('cmp_buffer.buffer') -300.304 000.319 000.108: require('cmp_buffer.source') -300.309 000.416 000.097: require('cmp_buffer') -300.342 004.448 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -300.758 000.175 000.175: require('cmp_cmdline') -300.793 000.281 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -301.292 000.176 000.176: require('cmp_nvim_lsp.source') -301.303 000.288 000.112: require('cmp_nvim_lsp') -301.353 000.407 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -301.714 000.146 000.146: require('cmp_path') -301.753 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -302.079 000.105 000.105: require('cmp_luasnip') -302.261 000.359 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -302.459 001.620: loading after plugins -302.488 000.029: inits 3 -302.501 000.013: reading ShaDa -302.942 000.097 000.097: require('luasnip.loaders._caches') -303.083 000.132 000.132: require('luasnip.util.path') -303.202 000.111 000.111: require('luasnip.loaders.util') -303.527 000.159 000.159: require('luasnip.loaders') -303.585 000.375 000.215: require('luasnip') -303.592 000.859 000.145: require('luasnip.loaders.from_lua') -303.889 000.122 000.122: require('luasnip.nodes.snippetProxy') -303.901 000.254 000.133: require('luasnip.loaders.from_snipmate') -304.069 000.123 000.123: require('luasnip.loaders.from_vscode') -305.197 001.459: opening buffers -305.422 000.225: BufEnter autocommands -305.429 000.007: editing files in windows -322.290 000.943 000.943: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.092 001.092: --- NVIM STARTING --- -027.470 026.378: event init -043.953 016.484: early init -045.599 001.646: locale set -051.045 005.446: init first window -060.894 009.849: inits 1 -060.923 000.029: window checked -060.933 000.011: parsing arguments -071.709 000.123 000.123: require('vim.shared') -071.945 000.108 000.108: require('vim._meta') -071.950 000.231 000.123: require('vim._editor') -071.954 000.411 000.057: require('vim._init_packages') -071.957 010.613: init lua interpreter -072.034 000.077: expanding arguments -073.708 001.674: inits 2 -074.323 000.616: init highlight -074.327 000.004: waiting for UI -078.106 003.778: done waiting for UI -078.157 000.052: init screen for UI -078.520 000.363: init default mappings -078.555 000.035: init default autocommands -088.938 004.488 004.488: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/ftplugin.vim -090.930 000.943 000.943: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/indent.vim -091.231 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim -091.243 000.084 000.057: sourcing /etc/xdg/nvim/sysinit.vim -105.580 014.174 014.174: require('impatient') -105.713 000.118 000.118: require('impatient.profile') -109.123 000.739 000.739: require('keys') -111.607 002.472 002.472: require('opts') -112.518 000.214 000.214: require('packer.util') -112.571 000.683 000.470: require('packer') -113.172 000.202 000.202: require('packer.log') -113.182 000.366 000.164: require('packer.async') -113.454 000.161 000.161: require('packer.result') -113.465 000.277 000.116: require('packer.jobs') -113.478 000.858 000.215: require('packer.plugin_utils') -113.774 000.272 000.272: require('packer.snapshot') -114.919 003.300 001.486: require('pack') -116.141 000.252 000.252: require('vim.treesitter.language') -116.161 000.730 000.479: require('vim.treesitter.query') -117.088 000.211 000.211: require('vim.treesitter.languagetree') -117.193 000.526 000.315: require('vim.treesitter') -117.477 001.084 000.558: require('nvim-treesitter.parsers') -117.613 000.127 000.127: require('nvim-treesitter.utils') -117.627 001.344 000.133: require('nvim-treesitter.ts_utils') -117.641 001.470 000.126: require('nvim-treesitter.tsrange') -117.738 000.090 000.090: require('nvim-treesitter.caching') -117.759 002.507 000.217: require('nvim-treesitter.query') -117.790 002.780 000.273: require('nvim-treesitter.configs') -118.152 000.107 000.107: require('nvim-treesitter.info') -118.293 000.132 000.132: require('nvim-treesitter.shell_command_selectors') -118.339 000.451 000.212: require('nvim-treesitter.install') -156.898 041.970 038.738: require('plugins.treesitter') -157.216 000.091 000.091: require('telescope._extensions') -157.226 000.195 000.105: require('telescope') -157.946 000.092 000.092: require('plenary.bit') -158.045 000.090 000.090: require('plenary.functional') -158.093 000.029 000.029: require('ffi') -158.116 000.407 000.196: require('plenary.path') -158.132 000.520 000.113: require('plenary.strings') -158.310 000.173 000.173: require('telescope.deprecated') -158.887 000.298 000.298: require('plenary.log') -159.000 000.494 000.196: require('telescope.log') -159.285 000.138 000.138: require('plenary.job') -159.380 000.086 000.086: require('telescope.state') -159.395 000.386 000.162: require('telescope.utils') -159.405 001.086 000.207: require('telescope.sorters') -159.514 000.086 000.086: require('vim.inspect') -160.442 000.019 000.019: require('vim.F') -164.246 006.778 004.895: require('telescope.config') -164.541 000.161 000.161: require('plenary.window.border') -164.687 000.136 000.136: require('plenary.window') -164.772 000.076 000.076: require('plenary.popup.utils') -164.780 000.520 000.147: require('plenary.popup') -164.894 000.108 000.108: require('telescope.pickers.scroller') -164.993 000.091 000.091: require('telescope.actions.state') -165.092 000.092 000.092: require('telescope.actions.utils') -165.296 000.095 000.095: require('telescope.actions.mt') -165.373 000.274 000.179: require('telescope.actions.set') -165.577 000.097 000.097: require('telescope.config.resolve') -165.583 000.204 000.107: require('telescope.pickers.entry_display') -165.670 000.081 000.081: require('telescope.from_entry') -166.061 008.829 000.680: require('telescope.actions') -166.884 000.089 000.089: require('plenary.tbl') -166.896 000.201 000.112: require('plenary.vararg.rotate') -166.900 000.295 000.094: require('plenary.vararg') -167.037 000.125 000.125: require('plenary.errors') -167.063 000.564 000.144: require('plenary.async.async') -167.168 000.098 000.098: require('plenary.async.structs') -167.185 000.805 000.142: require('plenary.async.control') -167.596 000.295 000.295: require('telescope.make_entry') -168.063 000.142 000.142: require('plenary.async.util') -168.070 000.240 000.098: require('plenary.async.tests') -168.076 000.347 000.107: require('plenary.async') -168.088 000.480 000.133: require('telescope.finders.async_static_finder') -168.440 000.106 000.106: require('plenary.class') -168.476 000.270 000.163: require('telescope._') -168.482 000.389 000.119: require('telescope.finders.async_oneshot_finder') -168.596 000.108 000.108: require('telescope.finders.async_job_finder') -168.611 001.418 000.147: require('telescope.finders') -169.013 000.151 000.151: require('telescope.debounce') -169.240 000.217 000.217: require('telescope.mappings') -169.382 000.132 000.132: require('telescope.pickers.highlights') -169.541 000.146 000.146: require('telescope.pickers.window') -169.887 000.127 000.127: require('telescope.algos.linked_list') -169.898 000.304 000.178: require('telescope.entry_manager') -170.005 000.102 000.102: require('telescope.pickers.multi') -170.047 001.428 000.376: require('telescope.pickers') -170.069 003.829 000.178: require('telescope.builtin.__lsp') -170.126 004.055 000.227: require('telescope.builtin') -170.538 000.280 000.280: require('fzf_lib') -170.556 000.422 000.142: require('telescope._extensions.fzf') -171.114 000.177 000.177: require('telescope._extensions.file_browser.utils') -171.256 000.523 000.345: require('telescope._extensions.file_browser.actions') -171.607 000.207 000.207: require('telescope._extensions.file_browser.make_entry') -171.830 000.210 000.210: require('plenary.scandir') -171.885 000.621 000.204: require('telescope._extensions.file_browser.finders') -172.019 000.126 000.126: require('telescope._extensions.file_browser.picker') -172.179 000.153 000.153: require('telescope._extensions.file_browser.config') -172.195 001.582 000.159: require('telescope._extensions.file_browser') -177.155 000.039 000.039: require('vim.keymap') -177.505 020.593 005.471: require('plugins.telescope') -179.728 000.170 000.170: require('notify.util.queue') -179.739 000.342 000.172: require('notify.util') -179.999 000.254 000.254: require('notify.config.highlights') -180.010 000.712 000.116: require('notify.config') -180.101 000.086 000.086: require('notify.stages') -180.201 000.092 000.092: require('notify.service.notification') -180.473 000.076 000.076: require('notify.animate.spring') -180.479 000.174 000.098: require('notify.animate') -180.488 000.281 000.107: require('notify.windows') -180.766 000.095 000.095: require('notify.service.buffer.highlights') -180.775 000.195 000.100: require('notify.service.buffer') -180.780 000.287 000.091: require('notify.service') -180.878 000.093 000.093: require('notify.stages.util') -180.888 001.802 000.250: require('notify') -180.980 000.087 000.087: require('nvim-tree.iterators.node-iterator') -181.047 002.073 000.184: require('nvim-tree.utils') -181.058 002.174 000.101: require('nvim-tree.events') -181.322 000.081 000.081: require('nvim-tree.log') -181.491 000.161 000.161: require('nvim-tree.git.utils') -181.595 000.097 000.097: require('nvim-tree.git.runner') -181.696 000.094 000.094: require('nvim-tree.watcher') -181.707 000.555 000.122: require('nvim-tree.git') -181.802 000.090 000.090: require('nvim-tree.explorer.watch') -181.935 000.086 000.086: require('nvim-tree.explorer.common') -182.126 000.098 000.098: require('nvim-tree.explorer.node-builders') -182.222 000.087 000.087: require('nvim-tree.explorer.sorters') -182.325 000.086 000.086: require('nvim-tree.explorer.filters') -182.606 000.178 000.178: require('nvim-tree.view') -182.618 000.286 000.108: require('nvim-tree.live-filter') -182.623 000.680 000.123: require('nvim-tree.explorer.explore') -182.725 000.098 000.098: require('nvim-tree.explorer.reload') -182.733 001.669 000.160: require('nvim-tree.explorer') -182.740 003.940 000.096: require('nvim-tree.core') -182.854 000.110 000.110: require('nvim-tree.diagnostics') -182.951 000.089 000.089: require('nvim-tree.renderer.components.padding') -183.045 000.087 000.087: require('nvim-tree.renderer.components.icons') -183.143 000.092 000.092: require('nvim-tree.renderer.components.full-name') -183.231 000.081 000.081: require('nvim-tree.renderer.help') -183.343 000.105 000.105: require('nvim-tree.renderer.components.git') -183.459 000.110 000.110: require('nvim-tree.renderer.builder') -183.554 000.088 000.088: require('nvim-tree.marks') -183.569 004.957 000.255: require('nvim-tree.renderer') -183.714 000.133 000.133: require('nvim-tree.actions.tree-modifiers.collapse-all') -183.809 000.088 000.088: require('nvim-tree.actions.root.dir-up') -183.909 000.093 000.093: require('nvim-tree.actions.root.change-dir') -184.006 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') -184.106 000.090 000.090: require('nvim-tree.actions.finders.find-file') -184.111 006.027 000.576: require('nvim-tree.lib') -184.209 000.093 000.093: require('nvim-tree.colors') -184.329 000.110 000.110: require('nvim-tree.legacy') -184.447 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') -184.645 000.092 000.092: require('nvim-tree.actions.tree-modifiers.expand-all') -184.740 000.088 000.088: require('nvim-tree.actions.tree-modifiers.toggles') -184.847 000.092 000.092: require('nvim-tree.actions.fs.create-file') -184.944 000.088 000.088: require('nvim-tree.actions.fs.rename-file') -185.063 000.112 000.112: require('nvim-tree.actions.fs.trash') -185.164 000.093 000.093: require('nvim-tree.actions.fs.remove-file') -185.257 000.084 000.084: require('nvim-tree.actions.moves.parent') -185.347 000.083 000.083: require('nvim-tree.actions.moves.sibling') -185.436 000.081 000.081: require('nvim-tree.actions.moves.item') -185.544 000.090 000.090: require('nvim-tree.actions.finders.search-node') -185.634 000.083 000.083: require('nvim-tree.actions.node.run-command') -185.729 000.089 000.089: require('nvim-tree.actions.node.file-popup') -185.840 000.104 000.104: require('nvim-tree.actions.node.system-open') -185.937 000.087 000.087: require('nvim-tree.marks.bulk-move') -185.943 001.485 000.221: require('nvim-tree.actions.dispatch') -185.973 008.278 000.454: require('nvim-tree') -186.053 000.074 000.074: require('nvim-tree.config') -192.349 000.155 000.155: require('nvim-tree.actions') -192.479 000.113 000.113: require('nvim-tree.actions.node.open-file') -196.244 000.112 000.112: require('nvim-tree.marks.navigation') -196.255 000.312 000.199: require('nvim-tree.api') -196.284 000.470 000.158: require('nvim-tree.keymap') -197.266 000.487 000.487: require('nvim-web-devicons') -202.059 024.544 014.966: require('plugins.nvim-tree') -202.450 000.103 000.103: require('lualine_require') -203.033 000.835 000.732: require('lualine') -203.120 000.078 000.078: require('plugins.linecolor') -211.064 000.113 000.113: require('lualine.utils.mode') -213.472 011.399 010.372: require('plugins.lualine') -213.595 122.306 002.998: sourcing /home/sxrdusr/.config/nvim/init.lua -213.617 007.239: sourcing vimrc file(s) -214.062 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -215.663 000.110 000.110: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.lua -218.896 002.865 002.865: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.vim -222.633 000.464 000.464: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/synload.vim -222.910 003.277 002.813: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/syntax.vim -230.982 002.165 002.165: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/gzip.vim -231.269 000.080 000.080: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/health.vim -234.916 002.388 002.388: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -235.394 004.055 001.667: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchit.vim -235.851 000.389 000.389: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchparen.vim -235.996 000.075 000.075: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/netrwPlugin.vim -236.395 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -236.416 000.357 000.333: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/rplugin.vim -236.661 000.185 000.185: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/shada.vim -236.780 000.051 000.051: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/spellfile.vim -236.906 000.061 000.061: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tarPlugin.vim -237.061 000.091 000.091: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tohtml.vim -237.174 000.046 000.046: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tutor.vim -238.457 001.220 001.220: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/zipPlugin.vim -238.752 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -240.127 000.153 000.153: require('lspsaga') -240.603 000.125 000.125: require('lspsaga.window') -240.623 000.279 000.154: require('lspsaga.libs') -241.874 000.487 000.487: require('vim.lsp.log') -242.691 000.807 000.807: require('vim.lsp.protocol') -243.422 000.332 000.332: require('vim.lsp._snippet') -243.615 000.184 000.184: require('vim.highlight') -243.648 000.946 000.430: require('vim.lsp.util') -243.726 002.598 000.358: require('vim.lsp.handlers') -244.087 000.352 000.352: require('vim.lsp.rpc') -244.346 000.248 000.248: require('vim.lsp.sync') -244.661 000.306 000.306: require('vim.lsp.buf') -244.922 000.253 000.253: require('vim.lsp.diagnostic') -245.190 000.257 000.257: require('vim.lsp.codelens') -245.375 004.624 000.610: require('vim.lsp') -245.483 000.096 000.096: require('lspsaga.wrap') -245.499 004.869 000.149: require('lspsaga.codeaction') -245.544 005.350 000.202: require('lspsaga.lightbulb') -245.715 000.129 000.129: require('lspsaga.lspkind') -245.979 000.083 000.083: require('mason-core.path') -246.000 000.191 000.108: require('mason.settings') -246.299 000.084 000.084: require('mason-core.functional.data') -246.308 000.184 000.100: require('mason-core.functional.function') -246.351 000.344 000.159: require('mason-core.platform') -246.356 000.629 000.095: require('mason') -246.650 000.148 000.148: require('mason-core.functional') -246.787 000.115 000.115: require('mason-core.functional.list') -246.828 000.447 000.184: require('mason.api.command') -247.090 000.151 000.151: require('mason-core.log') -247.099 000.265 000.115: require('mason-lspconfig') -247.239 000.098 000.098: require('mason-lspconfig.settings') -247.367 000.107 000.107: require('mason-lspconfig.lspconfig_hook') -247.717 000.343 000.343: require('lspconfig.util') -247.999 000.096 000.096: require('mason-core.functional.table') -248.100 000.356 000.260: require('mason-lspconfig.mappings.server') -248.444 000.109 000.109: require('mason-core.async') -248.538 000.084 000.084: require('mason-core.async.uv') -248.552 000.314 000.121: require('mason-core.fs') -248.651 000.092 000.092: require('mason-core.optional') -248.748 000.089 000.089: require('mason-core.EventEmitter') -248.943 000.189 000.189: require('mason-registry.index') -248.967 000.858 000.174: require('mason-registry') -249.068 000.094 000.094: require('mason-lspconfig.server_config_extensions') -249.236 000.119 000.119: require('lspconfig.configs') -249.356 000.112 000.112: require('lspconfig.server_configurations.omnisharp') -249.701 000.098 000.098: require('mason-lspconfig.ensure_installed') -250.043 000.099 000.099: require('mason-core.result') -250.531 000.264 000.264: require('mason-core.process') -250.642 000.095 000.095: require('mason-core.functional.relation') -250.743 000.090 000.090: require('mason-core.functional.logic') -250.762 000.589 000.140: require('mason-core.spawn') -250.889 000.119 000.119: require('mason-core.receipt') -251.006 000.101 000.101: require('mason-core.functional.string') -251.040 000.990 000.181: require('mason-core.installer.context') -251.152 000.105 000.105: require('mason-core.installer.linker') -251.255 000.096 000.096: require('mason-core.async.control') -251.263 001.435 000.145: require('mason-core.installer') -251.392 000.124 000.124: require('mason-core.installer.handle') -251.882 000.093 000.093: require('mason-core.managers.powershell') -251.892 000.198 000.105: require('mason-core.fetch') -251.896 000.286 000.089: require('mason-core.managers.cargo.client') -251.931 000.430 000.143: require('mason-core.managers.cargo') -252.157 000.220 000.220: require('mason-core.managers.composer') -252.349 000.184 000.184: require('mason-core.managers.gem') -252.472 000.116 000.116: require('mason-core.managers.git') -252.713 000.124 000.124: require('mason-core.managers.std') -252.826 000.107 000.107: require('mason-core.managers.github.client') -252.842 000.363 000.132: require('mason-core.managers.github') -253.075 000.228 000.228: require('mason-core.managers.go') -253.279 000.192 000.192: require('mason-core.managers.luarocks') -255.465 002.178 002.178: require('mason-core.managers.npm') -255.647 000.171 000.171: require('mason-core.managers.pip3') -255.660 004.254 000.173: require('mason-core.package.version-check') -255.672 005.963 000.150: require('mason-core.package') -255.814 000.120 000.120: require('mason-registry.lua-language-server') -256.247 000.143 000.143: require('mason-registry.clangd') -256.412 000.142 000.142: require('mason-registry.rust-analyzer') -256.636 000.080 000.080: require('mason-core.notify') -256.741 000.092 000.092: require('mason-core.functional.number') -256.804 000.378 000.207: require('mason-lspconfig.api.command') -256.810 017.922 002.017: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -258.334 000.124 000.124: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/man.lua -258.674 011.862: loading rtp plugins -260.488 000.126 000.126: require('Comment.config') -260.600 000.103 000.103: require('Comment.utils') -260.698 000.091 000.091: require('Comment.opfunc') -260.790 000.085 000.085: require('Comment.extra') -260.805 000.590 000.185: require('Comment.api') -261.303 001.171 000.580: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -262.020 000.084 000.084: require('luasnip.util.types') -262.125 000.095 000.095: require('luasnip.util.ext_opts') -262.226 000.094 000.094: require('luasnip.extras.filetype_functions') -262.320 000.088 000.088: require('luasnip.session') -262.672 000.136 000.136: require('luasnip.util.util') -262.777 000.096 000.096: require('luasnip.nodes.util') -262.872 000.088 000.088: require('luasnip.util.events') -262.889 000.459 000.138: require('luasnip.nodes.node') -263.033 000.092 000.092: require('luasnip.util.extend_decorator') -263.047 000.717 000.166: require('luasnip.nodes.insertNode') -263.389 000.102 000.102: require('luasnip.util.mark') -263.702 000.152 000.152: require('luasnip.nodes.textNode') -264.565 000.754 000.754: require('luasnip.util._builtin_vars') -264.807 001.092 000.338: require('luasnip.util.environ') -264.926 000.108 000.108: require('luasnip.util.pattern_tokenizer') -265.014 000.082 000.082: require('luasnip.util.dict') -265.129 000.108 000.108: require('luasnip.session.snippet_collection') -265.186 001.787 000.246: require('luasnip.nodes.snippet') -265.245 002.193 000.304: require('luasnip.nodes.choiceNode') -265.415 000.135 000.135: require('luasnip.nodes.functionNode') -265.607 000.182 000.182: require('luasnip.nodes.dynamicNode') -265.760 000.145 000.145: require('luasnip.nodes.restoreNode') -265.872 000.104 000.104: require('luasnip.extras') -266.061 000.084 000.084: require('luasnip.util.str') -266.070 000.187 000.103: require('luasnip.extras.fmt') -266.166 000.089 000.089: require('luasnip.extras.expand_conditions') -266.477 000.098 000.098: require('luasnip.util.parser.neovim_ast') -279.924 000.122 000.122: require('luasnip.util.directed_graph') -279.941 013.672 013.452: require('luasnip.util.parser.ast_utils') -280.168 000.093 000.093: require('luasnip.util.functions') -280.187 000.238 000.145: require('luasnip.util.parser.ast_parser') -280.414 000.221 000.221: require('luasnip.util.parser.neovim_parser') -280.432 014.256 000.125: require('luasnip.util.parser') -280.551 000.113 000.113: require('luasnip.nodes.absolute_indexer') -281.168 019.368 000.886: require('luasnip.config') -281.363 019.881 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -282.264 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -283.237 000.123 000.123: require('indent_blankline/utils') -283.246 000.329 000.206: require('indent_blankline') -283.723 000.159 000.159: require('indent_blankline.commands') -283.889 001.158 000.670: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -284.318 000.120 000.120: require('lsp-colors') -284.791 000.644 000.524: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -286.230 001.057 001.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -287.117 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -287.689 000.109 000.109: require('cmp.utils.api') -287.867 000.085 000.085: require('cmp.types.cmp') -288.082 000.103 000.103: require('cmp.utils.misc') -288.116 000.242 000.139: require('cmp.types.lsp') -288.203 000.080 000.080: require('cmp.types.vim') -288.209 000.511 000.103: require('cmp.types') -288.300 000.087 000.087: require('cmp.utils.highlight') -288.468 000.075 000.075: require('cmp.utils.debug') -288.487 000.180 000.104: require('cmp.utils.autocmd') -289.175 001.687 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -289.438 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -289.877 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -290.371 000.202 000.202: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -291.056 000.093 000.093: require('nvim-treesitter.statusline') -291.170 000.105 000.105: require('nvim-treesitter.query_predicates') -291.177 000.314 000.116: require('nvim-treesitter') -292.449 000.351 000.351: require('vim.treesitter.highlighter') -292.800 000.880 000.529: require('nvim-treesitter.highlight') -293.462 002.680 001.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -293.983 000.281 000.281: require('treesitter-context') -293.994 000.339 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -294.391 000.113 000.113: require('nvim-treesitter-refactor') -294.702 000.452 000.339: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -295.066 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -295.444 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -295.810 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -296.594 000.435 000.435: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -296.954 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -297.994 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -298.775 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -299.392 000.369 000.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -300.231 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -300.559 000.031 000.031: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -300.840 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -302.316 010.862: loading packages -304.000 000.477 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -308.385 005.527 005.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -309.211 000.138 000.138: require('cmp.utils.char') -309.226 000.246 000.108: require('cmp.utils.str') -309.320 000.084 000.084: require('cmp.utils.pattern') -309.610 000.079 000.079: require('cmp.utils.buffer') -309.623 000.201 000.121: require('cmp.utils.keymap') -309.635 000.307 000.107: require('cmp.utils.feedkeys') -309.744 000.104 000.104: require('cmp.utils.async') -309.917 000.078 000.078: require('cmp.utils.cache') -309.929 000.177 000.100: require('cmp.context') -310.244 000.102 000.102: require('cmp.config.mapping') -310.511 000.110 000.110: require('cmp.config.compare') -310.519 000.263 000.153: require('cmp.config.default') -310.547 000.500 000.136: require('cmp.config') -310.761 000.084 000.084: require('cmp.matcher') -310.780 000.227 000.142: require('cmp.entry') -310.799 000.864 000.138: require('cmp.source') -310.988 000.084 000.084: require('cmp.utils.event') -311.203 000.111 000.111: require('cmp.utils.window') -311.211 000.215 000.103: require('cmp.view.docs_view') -311.357 000.142 000.142: require('cmp.view.custom_entries_view') -311.490 000.126 000.126: require('cmp.view.wildmenu_entries_view') -311.604 000.107 000.107: require('cmp.view.native_entries_view') -311.710 000.100 000.100: require('cmp.view.ghost_text_view') -311.727 000.924 000.150: require('cmp.view') -311.803 002.979 000.272: require('cmp.core') -312.217 000.087 000.087: require('cmp.config.sources') -312.306 000.080 000.080: require('cmp.config.window') -312.410 003.722 000.577: require('cmp') -312.773 000.080 000.080: require('cmp_buffer.timer') -312.784 000.190 000.110: require('cmp_buffer.buffer') -312.790 000.291 000.101: require('cmp_buffer.source') -312.794 000.377 000.086: require('cmp_buffer') -312.824 004.222 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -313.238 000.172 000.172: require('cmp_cmdline') -313.309 000.311 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -313.744 000.113 000.113: require('cmp_nvim_lsp.source') -313.752 000.215 000.102: require('cmp_nvim_lsp') -313.803 000.339 000.125: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -314.151 000.135 000.135: require('cmp_path') -314.182 000.229 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -314.508 000.108 000.108: require('cmp_luasnip') -314.576 000.248 000.140: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -314.766 001.573: loading after plugins -314.793 000.027: inits 3 -314.807 000.013: reading ShaDa -315.224 000.089 000.089: require('luasnip.loaders._caches') -315.359 000.126 000.126: require('luasnip.util.path') -315.478 000.111 000.111: require('luasnip.loaders.util') -315.758 000.127 000.127: require('luasnip.loaders') -315.808 000.320 000.193: require('luasnip') -315.817 000.790 000.144: require('luasnip.loaders.from_lua') -316.103 000.118 000.118: require('luasnip.nodes.snippetProxy') -316.113 000.248 000.130: require('luasnip.loaders.from_snipmate') -316.273 000.116 000.116: require('luasnip.loaders.from_vscode') -316.685 000.723: opening buffers -316.958 000.273: BufEnter autocommands -316.964 000.006: editing files in windows -332.727 000.884 000.884: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.446 001.446: --- NVIM STARTING --- -034.391 032.946: event init -053.253 018.862: early init -055.138 001.885: locale set -061.173 006.035: init first window -072.093 010.921: inits 1 -072.119 000.025: window checked -072.127 000.008: parsing arguments -084.299 000.253 000.253: require('vim.shared') -084.825 000.245 000.245: require('vim._meta') -084.838 000.515 000.270: require('vim._editor') -084.846 000.907 000.138: require('vim._init_packages') -084.854 011.820: init lua interpreter -085.014 000.160: expanding arguments -086.871 001.857: inits 2 -088.296 001.425: init highlight -088.307 000.011: waiting for UI -091.281 002.974: done waiting for UI -091.320 000.039: init screen for UI -091.587 000.268: init default mappings -091.617 000.029: init default autocommands -105.862 004.615 004.615: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/ftplugin.vim -109.042 001.072 001.072: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/indent.vim -109.527 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim -109.553 000.203 000.145: sourcing /etc/xdg/nvim/sysinit.vim -124.517 008.169 008.169: require('keys') -127.624 003.092 003.092: require('opts') -131.344 000.876 000.876: require('packer.util') -131.441 003.319 002.443: require('packer') -134.792 001.317 001.317: require('packer.log') -134.809 002.095 000.778: require('packer.async') -135.940 000.481 000.481: require('packer.result') -135.957 001.143 000.661: require('packer.jobs') -135.990 004.473 001.236: require('packer.plugin_utils') -137.171 001.140 001.140: require('packer.snapshot') -138.112 010.477 001.545: require('pack') -174.631 004.832 004.832: require('vim.treesitter.language') -174.731 034.723 029.891: require('vim.treesitter.query') -182.498 001.394 001.394: require('vim.treesitter.languagetree') -182.620 003.179 001.784: require('vim.treesitter') -182.807 005.430 002.251: require('nvim-treesitter.parsers') -183.323 000.510 000.510: require('nvim-treesitter.utils') -183.337 007.243 001.303: require('nvim-treesitter.ts_utils') -183.347 008.606 001.362: require('nvim-treesitter.tsrange') -183.675 000.325 000.325: require('nvim-treesitter.caching') -183.693 044.437 000.783: require('nvim-treesitter.query') -183.713 045.495 001.058: require('nvim-treesitter.configs') -185.283 000.496 000.496: require('nvim-treesitter.info') -185.901 000.611 000.611: require('nvim-treesitter.shell_command_selectors') -185.950 002.216 001.109: require('nvim-treesitter.install') -226.316 088.194 040.483: require('plugins.treesitter') -228.281 000.510 000.510: require('telescope._extensions') -228.291 001.388 000.878: require('telescope') -233.980 000.661 000.661: require('plenary.bit') -234.407 000.418 000.418: require('plenary.functional') -234.465 000.034 000.034: require('ffi') -234.502 002.597 001.485: require('plenary.path') -234.518 003.286 000.689: require('plenary.strings') -234.981 000.459 000.459: require('telescope.deprecated') -237.389 000.899 000.899: require('plenary.log') -237.465 001.393 000.494: require('telescope.log') -239.791 000.910 000.910: require('plenary.job') -240.261 000.462 000.462: require('telescope.state') -240.275 002.804 001.432: require('telescope.utils') -240.286 005.300 001.103: require('telescope.sorters') -240.377 000.064 000.064: require('vim.inspect') -240.801 000.009 000.009: require('vim.F') -243.617 013.288 004.171: require('telescope.config') -245.047 000.635 000.635: require('plenary.window.border') -245.396 000.343 000.343: require('plenary.window') -245.741 000.339 000.339: require('plenary.popup.utils') -245.751 002.123 000.807: require('plenary.popup') -246.288 000.534 000.534: require('telescope.pickers.scroller') -246.712 000.418 000.418: require('telescope.actions.state') -247.221 000.504 000.504: require('telescope.actions.utils') -248.426 000.575 000.575: require('telescope.actions.mt') -248.453 001.226 000.652: require('telescope.actions.set') -249.553 000.570 000.570: require('telescope.config.resolve') -249.638 001.181 000.611: require('telescope.pickers.entry_display') -250.094 000.451 000.451: require('telescope.from_entry') -250.351 022.055 002.330: require('telescope.actions') -254.012 000.350 000.350: require('plenary.tbl') -254.026 000.776 000.426: require('plenary.vararg.rotate') -254.030 001.103 000.327: require('plenary.vararg') -254.379 000.345 000.345: require('plenary.errors') -254.392 001.900 000.451: require('plenary.async.async') -254.792 000.396 000.396: require('plenary.async.structs') -254.807 002.825 000.529: require('plenary.async.control') -257.266 001.853 001.853: require('telescope.make_entry') -258.923 000.455 000.455: require('plenary.async.util') -258.934 000.802 000.347: require('plenary.async.tests') -258.939 001.187 000.385: require('plenary.async') -258.944 001.672 000.485: require('telescope.finders.async_static_finder') -260.499 000.373 000.373: require('plenary.class') -260.528 001.112 000.739: require('telescope._') -260.533 001.586 000.474: require('telescope.finders.async_oneshot_finder') -261.012 000.476 000.476: require('telescope.finders.async_job_finder') -261.026 006.214 000.628: require('telescope.finders') -263.707 000.618 000.618: require('telescope.debounce') -264.575 000.861 000.861: require('telescope.mappings') -265.147 000.563 000.563: require('telescope.pickers.highlights') -265.602 000.448 000.448: require('telescope.pickers.window') -266.839 000.597 000.597: require('telescope.algos.linked_list') -266.852 001.244 000.647: require('telescope.entry_manager') -267.303 000.447 000.447: require('telescope.pickers.multi') -267.343 006.314 002.133: require('telescope.pickers') -267.363 016.250 000.898: require('telescope.builtin.__lsp') -267.438 017.081 000.831: require('telescope.builtin') -268.963 000.874 000.874: require('fzf_lib') -268.976 001.531 000.657: require('telescope._extensions.fzf') -271.538 000.669 000.669: require('telescope._extensions.file_browser.utils') -271.680 002.230 001.561: require('telescope._extensions.file_browser.actions') -273.005 000.728 000.728: require('telescope._extensions.file_browser.make_entry') -274.099 001.086 001.086: require('plenary.scandir') -274.156 002.470 000.656: require('telescope._extensions.file_browser.finders') -274.619 000.457 000.457: require('telescope._extensions.file_browser.picker') -275.155 000.530 000.530: require('telescope._extensions.file_browser.config') -275.162 006.170 000.482: require('telescope._extensions.file_browser') -278.191 000.015 000.015: require('vim.keymap') -278.481 052.148 003.907: require('plugins.telescope') -285.455 000.308 000.308: require('notify.util.queue') -285.467 000.754 000.445: require('notify.util') -285.896 000.425 000.425: require('notify.config.highlights') -285.906 001.633 000.454: require('notify.config') -286.199 000.289 000.289: require('notify.stages') -286.532 000.328 000.328: require('notify.service.notification') -287.750 000.370 000.370: require('notify.animate.spring') -287.757 000.655 000.286: require('notify.animate') -287.764 001.227 000.571: require('notify.windows') -289.020 000.462 000.462: require('notify.service.buffer.highlights') -289.029 000.888 000.426: require('notify.service.buffer') -289.034 001.267 000.380: require('notify.service') -289.541 000.504 000.504: require('notify.stages.util') -289.551 005.996 000.749: require('notify') -289.891 000.337 000.337: require('nvim-tree.iterators.node-iterator') -289.949 007.136 000.803: require('nvim-tree.utils') -289.961 007.521 000.385: require('nvim-tree.events') -291.151 000.375 000.375: require('nvim-tree.log') -291.600 000.442 000.442: require('nvim-tree.git.utils') -292.069 000.463 000.463: require('nvim-tree.git.runner') -292.502 000.427 000.427: require('nvim-tree.watcher') -292.512 002.201 000.494: require('nvim-tree.git') -292.881 000.365 000.365: require('nvim-tree.explorer.watch') -293.219 000.332 000.332: require('nvim-tree.explorer.common') -293.979 000.387 000.387: require('nvim-tree.explorer.node-builders') -294.448 000.427 000.427: require('nvim-tree.explorer.sorters') -294.804 000.350 000.350: require('nvim-tree.explorer.filters') -296.091 000.838 000.838: require('nvim-tree.view') -296.102 001.293 000.455: require('nvim-tree.live-filter') -296.108 002.883 000.427: require('nvim-tree.explorer.explore') -296.528 000.417 000.417: require('nvim-tree.explorer.reload') -296.536 006.571 000.373: require('nvim-tree.explorer') -296.542 014.417 000.324: require('nvim-tree.core') -297.024 000.478 000.478: require('nvim-tree.diagnostics') -297.445 000.416 000.416: require('nvim-tree.renderer.components.padding') -297.856 000.406 000.406: require('nvim-tree.renderer.components.icons') -298.237 000.375 000.375: require('nvim-tree.renderer.components.full-name') -298.610 000.367 000.367: require('nvim-tree.renderer.help') -299.064 000.448 000.448: require('nvim-tree.renderer.components.git') -299.738 000.670 000.670: require('nvim-tree.renderer.builder') -300.117 000.372 000.372: require('nvim-tree.marks') -300.132 018.530 000.582: require('nvim-tree.renderer') -300.461 000.320 000.320: require('nvim-tree.actions.tree-modifiers.collapse-all') -300.771 000.305 000.305: require('nvim-tree.actions.root.dir-up') -301.187 000.412 000.412: require('nvim-tree.actions.root.change-dir') -301.543 000.350 000.350: require('nvim-tree.actions.reloaders.reloaders') -301.898 000.348 000.348: require('nvim-tree.actions.finders.find-file') -301.903 020.827 000.561: require('nvim-tree.lib') -302.310 000.402 000.402: require('nvim-tree.colors') -302.938 000.622 000.622: require('nvim-tree.legacy') -303.510 000.566 000.566: require('nvim-tree.actions.fs.copy-paste') -304.307 000.377 000.377: require('nvim-tree.actions.tree-modifiers.expand-all') -304.608 000.295 000.295: require('nvim-tree.actions.tree-modifiers.toggles') -305.033 000.418 000.418: require('nvim-tree.actions.fs.create-file') -305.373 000.335 000.335: require('nvim-tree.actions.fs.rename-file') -305.812 000.433 000.433: require('nvim-tree.actions.fs.trash') -306.212 000.394 000.394: require('nvim-tree.actions.fs.remove-file') -306.534 000.316 000.316: require('nvim-tree.actions.moves.parent') -306.873 000.333 000.333: require('nvim-tree.actions.moves.sibling') -307.195 000.316 000.316: require('nvim-tree.actions.moves.item') -307.593 000.389 000.389: require('nvim-tree.actions.finders.search-node') -307.893 000.293 000.293: require('nvim-tree.actions.node.run-command') -308.255 000.357 000.357: require('nvim-tree.actions.node.file-popup') -308.639 000.379 000.379: require('nvim-tree.actions.node.system-open') -308.972 000.327 000.327: require('nvim-tree.marks.bulk-move') -308.979 005.461 000.499: require('nvim-tree.actions.dispatch') -309.002 030.359 002.482: require('nvim-tree') -309.279 000.272 000.272: require('nvim-tree.config') -313.941 000.732 000.732: require('nvim-tree.actions') -314.588 000.636 000.636: require('nvim-tree.actions.node.open-file') -319.150 000.373 000.373: require('nvim-tree.marks.navigation') -319.161 000.910 000.538: require('nvim-tree.api') -319.173 001.467 000.556: require('nvim-tree.keymap') -321.363 001.634 001.634: require('nvim-web-devicons') -325.370 046.882 011.781: require('plugins.nvim-tree') -326.951 000.407 000.407: require('lualine_require') -327.467 001.916 001.508: require('lualine') -327.617 000.143 000.143: require('plugins.linecolor') -332.743 000.275 000.275: require('lualine.utils.mode') -339.312 013.933 011.599: require('plugins.lualine') -339.349 229.696 006.802: sourcing /home/sxrdusr/.config/nvim/init.lua -339.368 012.165: sourcing vimrc file(s) -339.660 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -348.941 007.971 007.971: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.lua -350.389 001.116 001.116: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.vim -352.816 000.289 000.289: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/synload.vim -353.026 001.998 001.709: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/syntax.vim -362.102 002.096 002.096: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/gzip.vim -362.366 000.082 000.082: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/health.vim -365.926 002.326 002.326: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -366.374 003.940 001.614: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchit.vim -366.845 000.408 000.408: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchparen.vim -366.988 000.075 000.075: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/netrwPlugin.vim -367.396 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -367.417 000.366 000.342: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/rplugin.vim -367.690 000.199 000.199: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/shada.vim -367.917 000.107 000.107: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/spellfile.vim -368.083 000.077 000.077: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tarPlugin.vim -368.210 000.061 000.061: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tohtml.vim -368.322 000.049 000.049: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tutor.vim -369.032 000.646 000.646: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/zipPlugin.vim -369.289 000.036 000.036: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -376.726 005.767 005.767: require('lspsaga') -378.402 000.532 000.532: require('lspsaga.window') -378.422 001.147 000.615: require('lspsaga.libs') -389.942 001.342 001.342: require('vim.lsp.log') -392.272 002.318 002.318: require('vim.lsp.protocol') -401.933 003.948 003.948: require('vim.lsp._snippet') -403.138 001.193 001.193: require('vim.highlight') -403.242 010.961 005.820: require('vim.lsp.util') -403.387 018.830 004.210: require('vim.lsp.handlers') -405.766 002.373 002.373: require('vim.lsp.rpc') -407.189 001.413 001.413: require('vim.lsp.sync') -409.652 002.454 002.454: require('vim.lsp.buf') -410.617 000.956 000.956: require('vim.lsp.diagnostic') -411.642 001.017 001.017: require('vim.lsp.codelens') -411.828 032.776 005.732: require('vim.lsp') -412.130 000.294 000.294: require('lspsaga.wrap') -412.144 033.717 000.648: require('lspsaga.codeaction') -412.193 035.457 000.593: require('lspsaga.lightbulb') -412.561 000.325 000.325: require('lspsaga.lspkind') -413.496 000.317 000.317: require('mason-core.path') -413.516 000.581 000.264: require('mason.settings') -414.437 000.214 000.214: require('mason-core.functional.data') -414.448 000.531 000.317: require('mason-core.functional.function') -414.490 000.970 000.440: require('mason-core.platform') -414.496 001.923 000.371: require('mason') -415.290 000.369 000.369: require('mason-core.functional') -415.678 000.368 000.368: require('mason-core.functional.list') -415.717 001.197 000.461: require('mason.api.command') -416.606 000.463 000.463: require('mason-core.log') -416.615 000.893 000.430: require('mason-lspconfig') -416.821 000.202 000.202: require('mason-lspconfig.settings') -417.142 000.303 000.303: require('mason-lspconfig.lspconfig_hook') -418.153 001.006 001.006: require('lspconfig.util') -418.901 000.238 000.238: require('mason-core.functional.table') -419.004 000.655 000.418: require('mason-lspconfig.mappings.server') -420.276 000.481 000.481: require('mason-core.async') -420.497 000.214 000.214: require('mason-core.async.uv') -420.511 001.074 000.379: require('mason-core.fs') -420.786 000.271 000.271: require('mason-core.optional') -421.104 000.313 000.313: require('mason-core.EventEmitter') -421.522 000.412 000.412: require('mason-registry.index') -421.542 002.532 000.462: require('mason-registry') -421.738 000.191 000.191: require('mason-lspconfig.server_config_extensions') -422.345 000.601 000.601: require('lspconfig.configs') -422.688 000.337 000.337: require('lspconfig.server_configurations.omnisharp') -422.997 000.230 000.230: require('mason-lspconfig.ensure_installed') -424.154 000.316 000.316: require('mason-core.result') -425.593 000.568 000.568: require('mason-core.process') -425.846 000.244 000.244: require('mason-core.functional.relation') -426.105 000.249 000.249: require('mason-core.functional.logic') -426.120 001.428 000.367: require('mason-core.spawn') -426.454 000.329 000.329: require('mason-core.receipt') -426.731 000.262 000.262: require('mason-core.functional.string') -426.762 002.602 000.582: require('mason-core.installer.context') -427.049 000.282 000.282: require('mason-core.installer.linker') -427.332 000.278 000.278: require('mason-core.async.control') -427.342 003.909 000.431: require('mason-core.installer') -427.790 000.445 000.445: require('mason-core.installer.handle') -429.210 000.257 000.257: require('mason-core.managers.powershell') -429.217 000.596 000.339: require('mason-core.fetch') -429.221 000.800 000.204: require('mason-core.managers.cargo.client') -429.295 001.234 000.434: require('mason-core.managers.cargo') -429.685 000.384 000.384: require('mason-core.managers.composer') -430.162 000.472 000.472: require('mason-core.managers.gem') -430.485 000.316 000.316: require('mason-core.managers.git') -431.314 000.415 000.415: require('mason-core.managers.std') -431.638 000.318 000.318: require('mason-core.managers.github.client') -431.650 001.160 000.427: require('mason-core.managers.github') -432.174 000.520 000.520: require('mason-core.managers.go') -432.583 000.402 000.402: require('mason-core.managers.luarocks') -432.980 000.391 000.391: require('mason-core.managers.npm') -433.412 000.426 000.426: require('mason-core.managers.pip3') -433.421 005.623 000.317: require('mason-core.package.version-check') -433.431 010.428 000.451: require('mason-core.package') -433.830 000.366 000.366: require('mason-registry.lua-language-server') -434.422 000.329 000.329: require('mason-registry.clangd') -434.839 000.397 000.397: require('mason-registry.rust-analyzer') -435.484 000.210 000.210: require('mason-core.notify') -435.716 000.224 000.224: require('mason-core.functional.number') -435.772 000.908 000.473: require('mason-lspconfig.api.command') -435.779 066.357 002.308: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -439.475 002.338 002.338: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/man.lua -439.843 012.502: loading rtp plugins -442.029 000.114 000.114: require('Comment.config') -442.422 000.385 000.385: require('Comment.utils') -442.685 000.256 000.256: require('Comment.opfunc') -442.851 000.160 000.160: require('Comment.extra') -442.866 001.436 000.520: require('Comment.api') -443.317 001.976 000.541: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -444.238 000.106 000.106: require('luasnip.util.types') -444.437 000.191 000.191: require('luasnip.util.ext_opts') -444.592 000.150 000.150: require('luasnip.extras.filetype_functions') -444.701 000.103 000.103: require('luasnip.session') -445.990 000.652 000.652: require('luasnip.util.util') -446.208 000.211 000.211: require('luasnip.nodes.util') -446.297 000.083 000.083: require('luasnip.util.events') -446.313 001.341 000.396: require('luasnip.nodes.node') -446.475 000.118 000.118: require('luasnip.util.extend_decorator') -446.488 001.780 000.321: require('luasnip.nodes.insertNode') -447.282 000.230 000.230: require('luasnip.util.mark') -448.571 000.146 000.146: require('luasnip.nodes.textNode') -449.775 000.953 000.953: require('luasnip.util._builtin_vars') -450.037 001.457 000.505: require('luasnip.util.environ') -450.246 000.202 000.202: require('luasnip.util.pattern_tokenizer') -450.380 000.128 000.128: require('luasnip.util.dict') -450.730 000.343 000.343: require('luasnip.session.snippet_collection') -450.829 003.540 001.263: require('luasnip.nodes.snippet') -450.849 004.357 000.587: require('luasnip.nodes.choiceNode') -451.126 000.254 000.254: require('luasnip.nodes.functionNode') -451.619 000.452 000.452: require('luasnip.nodes.dynamicNode') -451.977 000.351 000.351: require('luasnip.nodes.restoreNode') -452.271 000.288 000.288: require('luasnip.extras') -452.718 000.171 000.171: require('luasnip.util.str') -452.728 000.449 000.278: require('luasnip.extras.fmt') -452.808 000.077 000.077: require('luasnip.extras.expand_conditions') -453.711 000.215 000.215: require('luasnip.util.parser.neovim_ast') -458.522 000.207 000.207: require('luasnip.util.directed_graph') -458.539 005.513 005.091: require('luasnip.util.parser.ast_utils') -459.047 000.120 000.120: require('luasnip.util.functions') -459.063 000.520 000.400: require('luasnip.util.parser.ast_parser') -459.638 000.572 000.572: require('luasnip.util.parser.neovim_parser') -459.651 006.836 000.232: require('luasnip.util.parser') -459.756 000.101 000.101: require('luasnip.nodes.absolute_indexer') -460.442 016.621 001.125: require('luasnip.config') -460.594 017.096 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -461.486 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -463.733 000.544 000.544: require('indent_blankline/utils') -463.745 001.635 001.091: require('indent_blankline') -464.372 000.237 000.237: require('indent_blankline.commands') -464.543 002.607 000.734: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -465.254 000.402 000.402: require('lsp-colors') -465.702 000.898 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -466.844 000.759 000.759: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -467.709 000.416 000.416: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -468.674 000.425 000.425: require('cmp.utils.api') -469.191 000.266 000.266: require('cmp.types.cmp') -470.001 000.463 000.463: require('cmp.utils.misc') -470.060 000.862 000.399: require('cmp.types.lsp') -470.289 000.224 000.224: require('cmp.types.vim') -470.295 001.614 000.262: require('cmp.types') -470.561 000.263 000.263: require('cmp.utils.highlight') -471.101 000.238 000.238: require('cmp.utils.debug') -471.116 000.550 000.312: require('cmp.utils.autocmd') -471.737 003.659 000.807: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -472.001 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -472.457 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -473.092 000.330 000.330: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -474.378 000.356 000.356: require('nvim-treesitter.statusline') -474.870 000.486 000.486: require('nvim-treesitter.query_predicates') -474.878 001.286 000.445: require('nvim-treesitter') -479.565 003.214 003.214: require('vim.treesitter.highlighter') -479.952 004.226 001.012: require('nvim-treesitter.highlight') -480.541 007.035 001.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -482.236 001.440 001.440: require('treesitter-context') -482.247 001.482 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -483.082 000.547 000.547: require('nvim-treesitter-refactor') -483.498 000.991 000.444: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -483.892 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -484.296 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -484.629 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -485.454 000.430 000.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -485.825 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -486.950 000.637 000.637: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -487.796 000.557 000.557: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -488.430 000.375 000.375: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -489.286 000.600 000.600: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -489.580 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -489.862 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -491.430 011.024: loading packages -493.086 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -497.379 005.411 004.941: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -500.257 000.501 000.501: require('cmp.utils.char') -500.273 000.919 000.418: require('cmp.utils.str') -500.546 000.269 000.269: require('cmp.utils.pattern') -501.678 000.247 000.247: require('cmp.utils.buffer') -501.690 000.802 000.554: require('cmp.utils.keymap') -501.702 001.149 000.348: require('cmp.utils.feedkeys') -502.073 000.368 000.368: require('cmp.utils.async') -502.672 000.260 000.260: require('cmp.utils.cache') -502.681 000.601 000.341: require('cmp.context') -504.215 000.421 000.421: require('cmp.config.mapping') -505.148 000.576 000.576: require('cmp.config.compare') -505.155 000.931 000.355: require('cmp.config.default') -505.188 001.869 000.517: require('cmp.config') -506.646 000.505 000.505: require('cmp.matcher') -506.659 001.467 000.962: require('cmp.entry') -506.671 003.987 000.652: require('cmp.source') -507.468 000.270 000.270: require('cmp.utils.event') -508.541 000.609 000.609: require('cmp.utils.window') -508.550 001.039 000.430: require('cmp.view.docs_view') -509.426 000.873 000.873: require('cmp.view.custom_entries_view') -510.050 000.618 000.618: require('cmp.view.wildmenu_entries_view') -510.582 000.526 000.526: require('cmp.view.native_entries_view') -510.984 000.394 000.394: require('cmp.view.ghost_text_view') -511.006 004.332 000.612: require('cmp.view') -511.082 012.635 001.010: require('cmp.core') -511.722 000.253 000.253: require('cmp.config.sources') -511.975 000.245 000.245: require('cmp.config.window') -512.091 014.421 001.288: require('cmp') -513.095 000.131 000.131: require('cmp_buffer.timer') -513.109 000.631 000.500: require('cmp_buffer.buffer') -513.124 000.906 000.274: require('cmp_buffer.source') -513.128 001.032 000.126: require('cmp_buffer') -513.165 015.538 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -513.841 000.456 000.456: require('cmp_cmdline') -513.874 000.532 000.076: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -514.568 000.254 000.254: require('cmp_nvim_lsp.source') -514.576 000.508 000.254: require('cmp_nvim_lsp') -514.632 000.604 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -515.335 000.509 000.509: require('cmp_path') -515.377 000.588 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -515.975 000.377 000.377: require('cmp_luasnip') -516.048 000.514 000.137: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -516.202 001.586: loading after plugins -516.230 000.028: inits 3 -516.270 000.040: reading ShaDa -516.927 000.117 000.117: require('luasnip.loaders._caches') -517.217 000.282 000.282: require('luasnip.util.path') -517.595 000.372 000.372: require('luasnip.loaders.util') -518.720 000.249 000.249: require('luasnip.loaders') -518.763 001.161 000.912: require('luasnip') -518.773 002.250 000.318: require('luasnip.loaders.from_lua') -519.505 000.161 000.161: require('luasnip.nodes.snippetProxy') -519.520 000.565 000.403: require('luasnip.loaders.from_snipmate') -519.981 000.416 000.416: require('luasnip.loaders.from_vscode') -521.013 001.514: opening buffers -521.250 000.236: BufEnter autocommands -521.256 000.007: editing files in windows -541.936 005.547 005.547: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.130 001.130: --- NVIM STARTING --- -028.662 027.532: event init -045.564 016.901: early init -047.354 001.791: locale set -053.076 005.722: init first window -063.419 010.343: inits 1 -063.444 000.025: window checked -063.452 000.008: parsing arguments -075.453 000.269 000.269: require('vim.shared') -075.970 000.243 000.243: require('vim._meta') -075.984 000.508 000.265: require('vim._editor') -075.992 000.906 000.129: require('vim._init_packages') -075.999 011.641: init lua interpreter -076.163 000.165: expanding arguments -078.127 001.963: inits 2 -079.512 001.385: init highlight -079.523 000.011: waiting for UI -082.429 002.906: done waiting for UI -082.481 000.051: init screen for UI -082.734 000.253: init default mappings -082.761 000.027: init default autocommands -096.037 004.070 004.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/ftplugin.vim -098.005 000.870 000.870: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/indent.vim -098.228 000.026 000.026: sourcing /usr/share/nvim/archlinux.vim -098.239 000.082 000.056: sourcing /etc/xdg/nvim/sysinit.vim -106.098 004.759 004.759: require('keys') -108.429 002.320 002.320: require('opts') -110.994 000.525 000.525: require('packer.util') -111.051 002.259 001.734: require('packer') -113.022 000.703 000.703: require('packer.log') -113.033 001.190 000.487: require('packer.async') -114.010 000.399 000.399: require('packer.result') -114.019 000.983 000.584: require('packer.jobs') -114.037 002.940 000.767: require('packer.plugin_utils') -114.709 000.650 000.650: require('packer.snapshot') -115.767 007.330 001.481: require('pack') -122.285 001.983 001.983: require('vim.treesitter.language') -122.321 004.812 002.828: require('vim.treesitter.query') -127.167 001.367 001.367: require('vim.treesitter.languagetree') -127.282 002.610 001.243: require('vim.treesitter') -127.465 003.928 001.318: require('nvim-treesitter.parsers') -127.973 000.502 000.502: require('nvim-treesitter.utils') -127.986 005.169 000.738: require('nvim-treesitter.ts_utils') -127.995 005.670 000.501: require('nvim-treesitter.tsrange') -128.361 000.362 000.362: require('nvim-treesitter.caching') -128.381 011.616 000.772: require('nvim-treesitter.query') -128.399 012.541 000.926: require('nvim-treesitter.configs') -129.960 000.492 000.492: require('nvim-treesitter.info') -130.546 000.578 000.578: require('nvim-treesitter.shell_command_selectors') -130.590 002.170 001.100: require('nvim-treesitter.install') -169.623 053.848 039.137: require('plugins.treesitter') -170.997 000.453 000.453: require('telescope._extensions') -171.008 000.966 000.513: require('telescope') -176.579 000.682 000.682: require('plenary.bit') -177.000 000.412 000.412: require('plenary.functional') -177.065 000.045 000.045: require('ffi') -177.103 002.623 001.485: require('plenary.path') -177.117 003.190 000.567: require('plenary.strings') -177.539 000.418 000.418: require('telescope.deprecated') -179.950 000.907 000.907: require('plenary.log') -180.034 001.388 000.481: require('telescope.log') -182.278 000.962 000.962: require('plenary.job') -182.711 000.423 000.423: require('telescope.state') -182.730 002.690 001.304: require('telescope.utils') -182.741 005.196 001.118: require('telescope.sorters') -182.830 000.070 000.070: require('vim.inspect') -183.420 000.009 000.009: require('vim.F') -186.156 013.120 004.238: require('telescope.config') -187.621 000.692 000.692: require('plenary.window.border') -187.974 000.344 000.344: require('plenary.window') -188.373 000.393 000.393: require('plenary.popup.utils') -188.389 002.223 000.794: require('plenary.popup') -188.911 000.516 000.516: require('telescope.pickers.scroller') -189.373 000.455 000.455: require('telescope.actions.state') -189.899 000.520 000.520: require('telescope.actions.utils') -191.115 000.591 000.591: require('telescope.actions.mt') -191.142 001.237 000.646: require('telescope.actions.set') -192.310 000.591 000.591: require('telescope.config.resolve') -192.455 001.309 000.718: require('telescope.pickers.entry_display') -192.880 000.420 000.420: require('telescope.from_entry') -193.232 022.221 002.421: require('telescope.actions') -196.969 000.355 000.355: require('plenary.tbl') -196.980 000.779 000.424: require('plenary.vararg.rotate') -196.983 001.106 000.327: require('plenary.vararg') -197.327 000.340 000.340: require('plenary.errors') -197.336 001.903 000.457: require('plenary.async.async') -197.766 000.426 000.426: require('plenary.async.structs') -197.780 002.921 000.592: require('plenary.async.control') -200.322 001.961 001.961: require('telescope.make_entry') -202.215 000.477 000.477: require('plenary.async.util') -202.224 000.921 000.444: require('plenary.async.tests') -202.229 001.339 000.419: require('plenary.async') -202.234 001.903 000.563: require('telescope.finders.async_static_finder') -204.011 000.466 000.466: require('plenary.class') -204.053 001.282 000.816: require('telescope._') -204.059 001.822 000.540: require('telescope.finders.async_oneshot_finder') -204.571 000.509 000.509: require('telescope.finders.async_job_finder') -204.589 006.805 000.611: require('telescope.finders') -207.500 000.676 000.676: require('telescope.debounce') -208.415 000.901 000.901: require('telescope.mappings') -209.040 000.615 000.615: require('telescope.pickers.highlights') -209.508 000.460 000.460: require('telescope.pickers.window') -210.723 000.587 000.587: require('telescope.algos.linked_list') -210.737 001.223 000.636: require('telescope.entry_manager') -211.200 000.458 000.458: require('telescope.pickers.multi') -211.247 006.653 002.320: require('telescope.pickers') -211.270 017.287 000.908: require('telescope.builtin.__lsp') -211.337 018.097 000.809: require('telescope.builtin') -212.713 000.700 000.700: require('fzf_lib') -212.727 001.383 000.682: require('telescope._extensions.fzf') -215.338 000.735 000.735: require('telescope._extensions.file_browser.utils') -215.473 002.261 001.526: require('telescope._extensions.file_browser.actions') -216.814 000.755 000.755: require('telescope._extensions.file_browser.make_entry') -217.929 001.107 001.107: require('plenary.scandir') -217.978 002.498 000.636: require('telescope._extensions.file_browser.finders') -218.472 000.489 000.489: require('telescope._extensions.file_browser.picker') -219.064 000.585 000.585: require('telescope._extensions.file_browser.config') -219.072 006.331 000.498: require('telescope._extensions.file_browser') -222.320 000.022 000.022: require('vim.keymap') -222.663 053.030 004.011: require('plugins.telescope') -229.348 000.311 000.311: require('notify.util.queue') -229.360 000.746 000.436: require('notify.util') -229.801 000.437 000.437: require('notify.config.highlights') -229.811 001.652 000.469: require('notify.config') -230.096 000.281 000.281: require('notify.stages') -230.429 000.328 000.328: require('notify.service.notification') -231.660 000.387 000.387: require('notify.animate.spring') -231.668 000.673 000.287: require('notify.animate') -231.676 001.241 000.568: require('notify.windows') -232.939 000.468 000.468: require('notify.service.buffer.highlights') -232.950 000.892 000.424: require('notify.service.buffer') -232.955 001.276 000.383: require('notify.service') -233.458 000.500 000.500: require('notify.stages.util') -233.469 005.847 000.570: require('notify') -233.816 000.343 000.343: require('nvim-tree.iterators.node-iterator') -233.876 007.006 000.816: require('nvim-tree.utils') -233.888 007.404 000.398: require('nvim-tree.events') -235.090 000.396 000.396: require('nvim-tree.log') -235.550 000.452 000.452: require('nvim-tree.git.utils') -236.022 000.467 000.467: require('nvim-tree.git.runner') -236.460 000.431 000.431: require('nvim-tree.watcher') -236.471 002.238 000.492: require('nvim-tree.git') -236.846 000.372 000.372: require('nvim-tree.explorer.watch') -237.192 000.340 000.340: require('nvim-tree.explorer.common') -237.942 000.374 000.374: require('nvim-tree.explorer.node-builders') -238.415 000.428 000.428: require('nvim-tree.explorer.sorters') -238.782 000.360 000.360: require('nvim-tree.explorer.filters') -240.087 000.849 000.849: require('nvim-tree.view') -240.099 001.311 000.462: require('nvim-tree.live-filter') -240.104 002.906 000.433: require('nvim-tree.explorer.explore') -240.531 000.423 000.423: require('nvim-tree.explorer.reload') -240.540 006.649 000.370: require('nvim-tree.explorer') -240.546 014.389 000.336: require('nvim-tree.core') -241.036 000.486 000.486: require('nvim-tree.diagnostics') -241.460 000.417 000.417: require('nvim-tree.renderer.components.padding') -241.895 000.429 000.429: require('nvim-tree.renderer.components.icons') -242.283 000.380 000.380: require('nvim-tree.renderer.components.full-name') -242.655 000.366 000.366: require('nvim-tree.renderer.help') -243.131 000.470 000.470: require('nvim-tree.renderer.components.git') -243.809 000.672 000.672: require('nvim-tree.renderer.builder') -244.178 000.362 000.362: require('nvim-tree.marks') -244.193 018.557 000.586: require('nvim-tree.renderer') -244.526 000.323 000.323: require('nvim-tree.actions.tree-modifiers.collapse-all') -244.826 000.294 000.294: require('nvim-tree.actions.root.dir-up') -245.239 000.407 000.407: require('nvim-tree.actions.root.change-dir') -245.597 000.351 000.351: require('nvim-tree.actions.reloaders.reloaders') -245.955 000.351 000.351: require('nvim-tree.actions.finders.find-file') -245.962 020.902 000.617: require('nvim-tree.lib') -246.374 000.408 000.408: require('nvim-tree.colors') -247.007 000.626 000.626: require('nvim-tree.legacy') -247.592 000.578 000.578: require('nvim-tree.actions.fs.copy-paste') -248.402 000.383 000.383: require('nvim-tree.actions.tree-modifiers.expand-all') -248.711 000.302 000.302: require('nvim-tree.actions.tree-modifiers.toggles') -249.141 000.423 000.423: require('nvim-tree.actions.fs.create-file') -249.494 000.346 000.346: require('nvim-tree.actions.fs.rename-file') -249.956 000.455 000.455: require('nvim-tree.actions.fs.trash') -250.366 000.404 000.404: require('nvim-tree.actions.fs.remove-file') -250.696 000.323 000.323: require('nvim-tree.actions.moves.parent') -251.027 000.325 000.325: require('nvim-tree.actions.moves.sibling') -251.358 000.324 000.324: require('nvim-tree.actions.moves.item') -251.755 000.387 000.387: require('nvim-tree.actions.finders.search-node') -252.054 000.293 000.293: require('nvim-tree.actions.node.run-command') -252.422 000.363 000.363: require('nvim-tree.actions.node.file-popup') -252.815 000.387 000.387: require('nvim-tree.actions.node.system-open') -253.155 000.334 000.334: require('nvim-tree.marks.bulk-move') -253.163 005.563 000.514: require('nvim-tree.actions.dispatch') -253.187 030.363 002.286: require('nvim-tree') -253.472 000.281 000.281: require('nvim-tree.config') -258.166 000.718 000.718: require('nvim-tree.actions') -258.838 000.660 000.660: require('nvim-tree.actions.node.open-file') -262.869 000.364 000.364: require('nvim-tree.marks.navigation') -262.880 000.869 000.505: require('nvim-tree.api') -262.891 001.433 000.564: require('nvim-tree.keymap') -264.972 001.417 001.417: require('nvim-web-devicons') -268.994 046.324 011.453: require('plugins.nvim-tree') -270.370 000.316 000.316: require('lualine_require') -270.882 001.704 001.388: require('lualine') -271.018 000.129 000.129: require('plugins.linecolor') -275.708 000.256 000.256: require('lualine.utils.mode') -282.774 013.771 011.683: require('plugins.lualine') -282.808 184.508 003.124: sourcing /home/sxrdusr/.config/nvim/init.lua -282.826 010.535: sourcing vimrc file(s) -283.117 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -285.405 000.888 000.888: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.lua -288.117 002.272 002.272: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.vim -292.092 000.281 000.281: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/synload.vim -292.295 003.051 002.770: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/syntax.vim -300.224 002.091 002.091: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/gzip.vim -300.446 000.070 000.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/health.vim -303.966 002.282 002.282: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -304.438 003.923 001.640: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchit.vim -304.891 000.386 000.386: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchparen.vim -305.113 000.103 000.103: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/netrwPlugin.vim -305.539 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -305.560 000.386 000.362: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/rplugin.vim -305.852 000.210 000.210: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/shada.vim -305.972 000.053 000.053: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/spellfile.vim -306.099 000.062 000.062: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tarPlugin.vim -306.224 000.061 000.061: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tohtml.vim -306.332 000.045 000.045: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tutor.vim -307.601 001.207 001.207: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/zipPlugin.vim -307.896 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -315.401 005.658 005.658: require('lspsaga') -317.073 000.553 000.553: require('lspsaga.window') -317.093 001.174 000.621: require('lspsaga.libs') -327.566 001.347 001.347: require('vim.lsp.log') -329.533 001.954 001.954: require('vim.lsp.protocol') -335.456 002.092 002.092: require('vim.lsp._snippet') -336.370 000.904 000.904: require('vim.highlight') -336.415 006.873 003.878: require('vim.lsp.util') -336.447 013.200 003.026: require('vim.lsp.handlers') -338.763 002.311 002.311: require('vim.lsp.rpc') -340.121 001.348 001.348: require('vim.lsp.sync') -342.921 002.791 002.791: require('vim.lsp.buf') -344.093 001.161 001.161: require('vim.lsp.diagnostic') -345.202 001.102 001.102: require('vim.lsp.codelens') -345.388 027.654 005.740: require('vim.lsp') -345.692 000.295 000.295: require('lspsaga.wrap') -345.705 028.607 000.659: require('lspsaga.codeaction') -345.751 030.339 000.558: require('lspsaga.lightbulb') -346.108 000.317 000.317: require('lspsaga.lspkind') -346.885 000.249 000.249: require('mason-core.path') -346.905 000.522 000.274: require('mason.settings') -347.804 000.214 000.214: require('mason-core.functional.data') -347.824 000.525 000.310: require('mason-core.functional.function') -347.863 000.954 000.429: require('mason-core.platform') -347.868 001.714 000.238: require('mason') -348.650 000.336 000.336: require('mason-core.functional') -349.056 000.385 000.385: require('mason-core.functional.list') -349.098 001.207 000.486: require('mason.api.command') -349.944 000.489 000.489: require('mason-core.log') -349.953 000.851 000.363: require('mason-lspconfig') -350.166 000.209 000.209: require('mason-lspconfig.settings') -350.488 000.303 000.303: require('mason-lspconfig.lspconfig_hook') -351.357 000.863 000.863: require('lspconfig.util') -352.102 000.240 000.240: require('mason-core.functional.table') -352.205 000.679 000.439: require('mason-lspconfig.mappings.server') -353.344 000.475 000.475: require('mason-core.async') -353.567 000.215 000.215: require('mason-core.async.uv') -353.581 001.068 000.378: require('mason-core.fs') -353.858 000.274 000.274: require('mason-core.optional') -354.125 000.261 000.261: require('mason-core.EventEmitter') -354.540 000.408 000.408: require('mason-registry.index') -354.560 002.349 000.337: require('mason-registry') -354.774 000.194 000.194: require('mason-lspconfig.server_config_extensions') -355.406 000.626 000.626: require('lspconfig.configs') -355.759 000.346 000.346: require('lspconfig.server_configurations.omnisharp') -356.173 000.238 000.238: require('mason-lspconfig.ensure_installed') -357.319 000.316 000.316: require('mason-core.result') -358.773 000.589 000.589: require('mason-core.process') -359.014 000.232 000.232: require('mason-core.functional.relation') -359.271 000.248 000.248: require('mason-core.functional.logic') -359.286 001.434 000.366: require('mason-core.spawn') -359.639 000.348 000.348: require('mason-core.receipt') -359.919 000.265 000.265: require('mason-core.functional.string') -359.992 002.667 000.620: require('mason-core.installer.context') -360.293 000.295 000.295: require('mason-core.installer.linker') -360.573 000.274 000.274: require('mason-core.async.control') -360.584 003.980 000.428: require('mason-core.installer') -361.020 000.432 000.432: require('mason-core.installer.handle') -362.441 000.255 000.255: require('mason-core.managers.powershell') -362.449 000.590 000.334: require('mason-core.fetch') -362.453 000.800 000.210: require('mason-core.managers.cargo.client') -362.485 001.188 000.388: require('mason-core.managers.cargo') -362.937 000.447 000.447: require('mason-core.managers.composer') -363.425 000.481 000.481: require('mason-core.managers.gem') -363.736 000.304 000.304: require('mason-core.managers.git') -364.544 000.414 000.414: require('mason-core.managers.std') -364.866 000.316 000.316: require('mason-core.managers.github.client') -364.879 001.136 000.407: require('mason-core.managers.github') -365.439 000.556 000.556: require('mason-core.managers.go') -365.845 000.399 000.399: require('mason-core.managers.luarocks') -366.240 000.389 000.389: require('mason-core.managers.npm') -366.667 000.421 000.421: require('mason-core.managers.pip3') -366.677 005.650 000.327: require('mason-core.package.version-check') -366.688 010.508 000.446: require('mason-core.package') -367.072 000.351 000.351: require('mason-registry.lua-language-server') -367.593 000.337 000.337: require('mason-registry.clangd') -368.004 000.391 000.391: require('mason-registry.rust-analyzer') -368.654 000.215 000.215: require('mason-core.notify') -368.894 000.232 000.232: require('mason-core.functional.number') -368.937 000.921 000.475: require('mason-lspconfig.api.command') -368.943 060.914 002.513: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -372.883 002.516 002.516: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/man.lua -373.092 011.939: loading rtp plugins -375.285 000.120 000.120: require('Comment.config') -375.689 000.396 000.396: require('Comment.utils') -375.957 000.261 000.261: require('Comment.opfunc') -376.127 000.163 000.163: require('Comment.extra') -376.142 001.495 000.555: require('Comment.api') -376.586 002.031 000.535: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -377.477 000.089 000.089: require('luasnip.util.types') -377.675 000.191 000.191: require('luasnip.util.ext_opts') -377.832 000.150 000.150: require('luasnip.extras.filetype_functions') -377.934 000.097 000.097: require('luasnip.session') -379.260 000.652 000.652: require('luasnip.util.util') -379.484 000.217 000.217: require('luasnip.nodes.util') -379.576 000.085 000.085: require('luasnip.util.events') -379.592 001.391 000.437: require('luasnip.nodes.node') -379.758 000.120 000.120: require('luasnip.util.extend_decorator') -379.772 001.831 000.320: require('luasnip.nodes.insertNode') -380.477 000.226 000.226: require('luasnip.util.mark') -381.700 000.190 000.190: require('luasnip.nodes.textNode') -382.881 000.927 000.927: require('luasnip.util._builtin_vars') -383.108 001.398 000.472: require('luasnip.util.environ') -383.314 000.199 000.199: require('luasnip.util.pattern_tokenizer') -383.448 000.127 000.127: require('luasnip.util.dict') -383.802 000.347 000.347: require('luasnip.session.snippet_collection') -383.864 003.380 001.118: require('luasnip.nodes.snippet') -383.885 004.109 000.503: require('luasnip.nodes.choiceNode') -384.209 000.306 000.306: require('luasnip.nodes.functionNode') -384.709 000.453 000.453: require('luasnip.nodes.dynamicNode') -385.091 000.376 000.376: require('luasnip.nodes.restoreNode') -385.380 000.281 000.281: require('luasnip.extras') -385.829 000.173 000.173: require('luasnip.util.str') -385.843 000.455 000.282: require('luasnip.extras.fmt') -385.921 000.074 000.074: require('luasnip.extras.expand_conditions') -386.811 000.218 000.218: require('luasnip.util.parser.neovim_ast') -394.178 000.216 000.216: require('luasnip.util.directed_graph') -394.197 008.074 007.640: require('luasnip.util.parser.ast_utils') -394.712 000.119 000.119: require('luasnip.util.functions') -394.724 000.523 000.404: require('luasnip.util.parser.ast_parser') -395.338 000.610 000.610: require('luasnip.util.parser.neovim_parser') -395.354 009.426 000.219: require('luasnip.util.parser') -395.462 000.103 000.103: require('luasnip.nodes.absolute_indexer') -395.919 018.839 000.897: require('luasnip.config') -396.076 019.310 000.471: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -396.949 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -399.137 000.540 000.540: require('indent_blankline/utils') -399.147 001.578 001.038: require('indent_blankline') -399.631 000.228 000.228: require('indent_blankline.commands') -399.796 002.397 000.592: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -400.425 000.323 000.323: require('lsp-colors') -401.069 001.016 000.693: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -402.327 000.871 000.871: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -403.161 000.384 000.384: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -404.040 000.344 000.344: require('cmp.utils.api') -404.538 000.261 000.261: require('cmp.types.cmp') -405.386 000.498 000.498: require('cmp.utils.misc') -405.496 000.948 000.450: require('cmp.types.lsp') -405.726 000.223 000.223: require('cmp.types.vim') -405.732 001.684 000.251: require('cmp.types') -406.002 000.267 000.267: require('cmp.utils.highlight') -406.540 000.242 000.242: require('cmp.utils.debug') -406.556 000.548 000.306: require('cmp.utils.autocmd') -407.084 003.553 000.711: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -407.344 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -407.801 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -408.480 000.388 000.388: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -409.656 000.348 000.348: require('nvim-treesitter.statusline') -410.199 000.536 000.536: require('nvim-treesitter.query_predicates') -410.209 001.231 000.346: require('nvim-treesitter') -415.282 003.359 003.359: require('vim.treesitter.highlighter') -415.649 004.397 001.038: require('nvim-treesitter.highlight') -416.245 007.349 001.721: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -417.669 001.190 001.190: require('treesitter-context') -417.680 001.230 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -418.365 000.398 000.398: require('nvim-treesitter-refactor') -418.550 000.610 000.212: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -418.917 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -419.292 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -419.612 000.090 000.090: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -420.406 000.409 000.409: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -420.761 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -421.920 000.679 000.679: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -422.693 000.489 000.489: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -423.304 000.356 000.356: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -424.131 000.577 000.577: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -424.430 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -424.709 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -426.618 011.192: loading packages -428.473 000.582 000.582: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -435.277 008.051 007.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -439.647 000.636 000.636: require('cmp.utils.char') -439.672 001.332 000.696: require('cmp.utils.str') -440.141 000.462 000.462: require('cmp.utils.pattern') -441.991 000.487 000.487: require('cmp.utils.buffer') -442.020 001.349 000.862: require('cmp.utils.keymap') -442.036 001.884 000.535: require('cmp.utils.feedkeys') -442.696 000.654 000.654: require('cmp.utils.async') -443.685 000.436 000.436: require('cmp.utils.cache') -443.699 000.993 000.557: require('cmp.context') -446.228 000.680 000.680: require('cmp.config.mapping') -447.627 000.842 000.842: require('cmp.config.compare') -447.639 001.397 000.555: require('cmp.config.default') -447.677 002.938 000.861: require('cmp.config') -449.991 000.843 000.843: require('cmp.matcher') -450.012 002.328 001.484: require('cmp.entry') -450.031 006.326 001.060: require('cmp.source') -451.346 000.454 000.454: require('cmp.utils.event') -453.138 001.051 001.051: require('cmp.utils.window') -453.154 001.797 000.747: require('cmp.view.docs_view') -454.619 001.457 001.457: require('cmp.view.custom_entries_view') -455.631 001.002 001.002: require('cmp.view.wildmenu_entries_view') -456.455 000.814 000.814: require('cmp.view.native_entries_view') -457.096 000.631 000.631: require('cmp.view.ghost_text_view') -457.135 007.098 000.943: require('cmp.view') -457.324 020.479 001.729: require('cmp.core') -458.114 000.426 000.426: require('cmp.config.sources') -458.585 000.459 000.459: require('cmp.config.window') -458.791 023.106 001.741: require('cmp') -460.357 000.200 000.200: require('cmp_buffer.timer') -460.383 001.018 000.819: require('cmp_buffer.buffer') -460.396 001.462 000.444: require('cmp_buffer.source') -460.403 001.600 000.138: require('cmp_buffer') -460.617 025.003 000.297: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -461.566 000.629 000.629: require('cmp_cmdline') -461.645 000.769 000.141: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -462.627 000.390 000.390: require('cmp_nvim_lsp.source') -462.640 000.711 000.321: require('cmp_nvim_lsp') -462.717 000.840 000.129: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -463.711 000.710 000.710: require('cmp_path') -463.773 000.827 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -464.614 000.517 000.517: require('cmp_luasnip') -464.722 000.716 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -464.985 002.160: loading after plugins -465.026 000.041: inits 3 -465.094 000.068: reading ShaDa -465.979 000.175 000.175: require('luasnip.loaders._caches') -466.558 000.569 000.569: require('luasnip.util.path') -467.066 000.497 000.497: require('luasnip.loaders.util') -468.731 000.293 000.293: require('luasnip.loaders') -468.782 001.705 001.413: require('luasnip') -468.795 003.396 000.449: require('luasnip.loaders.from_lua') -469.563 000.191 000.191: require('luasnip.nodes.snippetProxy') -469.575 000.593 000.402: require('luasnip.loaders.from_snipmate') -470.027 000.403 000.403: require('luasnip.loaders.from_vscode') -471.125 001.641: opening buffers -471.367 000.241: BufEnter autocommands -471.374 000.007: editing files in windows -492.712 005.083 005.083: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.282 001.282: --- NVIM STARTING --- -029.206 027.924: event init -046.400 017.195: early init -048.223 001.823: locale set -053.937 005.714: init first window -064.347 010.410: inits 1 -064.372 000.025: window checked -064.380 000.008: parsing arguments -076.420 000.295 000.295: require('vim.shared') -076.917 000.241 000.241: require('vim._meta') -076.931 000.488 000.247: require('vim._editor') -076.938 000.901 000.118: require('vim._init_packages') -076.946 011.665: init lua interpreter -077.114 000.168: expanding arguments -079.080 001.966: inits 2 -080.421 001.341: init highlight -080.430 000.009: waiting for UI -083.335 002.905: done waiting for UI -083.386 000.051: init screen for UI -084.183 000.797: init default mappings -084.250 000.068: init default autocommands -095.904 004.673 004.673: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/ftplugin.vim -098.355 001.073 001.073: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/indent.vim -098.631 000.029 000.029: sourcing /usr/share/nvim/archlinux.vim -098.642 000.086 000.057: sourcing /etc/xdg/nvim/sysinit.vim -109.895 006.296 006.296: require('keys') -112.293 002.386 002.386: require('opts') -114.877 000.524 000.524: require('packer.util') -114.935 002.267 001.743: require('packer') -116.828 000.639 000.639: require('packer.log') -116.838 001.118 000.479: require('packer.async') -117.810 000.400 000.400: require('packer.result') -117.819 000.976 000.577: require('packer.jobs') -117.836 002.853 000.759: require('packer.plugin_utils') -118.494 000.636 000.636: require('packer.snapshot') -119.546 007.244 001.489: require('pack') -130.393 010.839 010.839: require('impatient') -131.485 000.276 000.276: require('vim.treesitter.language') -131.511 000.729 000.454: require('vim.treesitter.query') -132.514 000.241 000.241: require('vim.treesitter.languagetree') -132.575 000.456 000.215: require('vim.treesitter') -132.857 001.011 000.556: require('nvim-treesitter.parsers') -132.981 000.118 000.118: require('nvim-treesitter.utils') -132.995 001.348 000.218: require('nvim-treesitter.ts_utils') -133.005 001.489 000.141: require('nvim-treesitter.tsrange') -133.084 000.076 000.076: require('nvim-treesitter.caching') -133.105 002.472 000.178: require('nvim-treesitter.query') -133.133 002.641 000.168: require('nvim-treesitter.configs') -133.974 000.524 000.524: require('nvim-treesitter.info') -134.163 000.182 000.182: require('nvim-treesitter.shell_command_selectors') -134.209 000.904 000.198: require('nvim-treesitter.install') -172.984 042.575 039.031: require('plugins.treesitter') -173.299 000.131 000.131: require('telescope._extensions') -173.308 000.211 000.080: require('telescope') -174.714 000.323 000.323: require('plenary.bit') -175.035 000.315 000.315: require('plenary.functional') -175.105 000.031 000.031: require('ffi') -175.128 001.120 000.451: require('plenary.path') -175.141 001.487 000.367: require('plenary.strings') -175.261 000.116 000.116: require('telescope.deprecated') -175.722 000.276 000.276: require('plenary.log') -175.802 000.416 000.140: require('telescope.log') -176.040 000.117 000.117: require('plenary.job') -176.114 000.069 000.069: require('telescope.state') -176.129 000.321 000.136: require('telescope.utils') -176.149 000.882 000.145: require('telescope.sorters') -176.244 000.075 000.075: require('vim.inspect') -176.749 000.013 000.013: require('vim.F') -179.793 006.266 003.693: require('telescope.config') -180.432 000.092 000.092: require('plenary.window.border') -180.569 000.130 000.130: require('plenary.window') -180.636 000.061 000.061: require('plenary.popup.utils') -180.647 000.846 000.563: require('plenary.popup') -180.720 000.069 000.069: require('telescope.pickers.scroller') -180.793 000.068 000.068: require('telescope.actions.state') -180.866 000.068 000.068: require('telescope.actions.utils') -181.014 000.068 000.068: require('telescope.actions.mt') -181.045 000.175 000.107: require('telescope.actions.set') -181.358 000.152 000.152: require('telescope.config.resolve') -181.365 000.267 000.115: require('telescope.pickers.entry_display') -181.470 000.101 000.101: require('telescope.from_entry') -181.848 008.537 000.678: require('telescope.actions') -182.823 000.058 000.058: require('plenary.tbl') -182.833 000.129 000.071: require('plenary.vararg.rotate') -182.837 000.192 000.063: require('plenary.vararg') -182.898 000.058 000.058: require('plenary.errors') -182.906 000.330 000.081: require('plenary.async.async') -183.025 000.115 000.115: require('plenary.async.structs') -183.038 000.834 000.388: require('plenary.async.control') -183.329 000.214 000.214: require('telescope.make_entry') -183.599 000.074 000.074: require('plenary.async.util') -183.605 000.138 000.064: require('plenary.async.tests') -183.610 000.207 000.069: require('plenary.async') -183.614 000.279 000.072: require('telescope.finders.async_static_finder') -183.821 000.058 000.058: require('plenary.class') -183.846 000.163 000.105: require('telescope._') -183.851 000.234 000.071: require('telescope.finders.async_oneshot_finder') -183.919 000.066 000.066: require('telescope.finders.async_job_finder') -183.931 000.890 000.097: require('telescope.finders') -184.185 000.079 000.079: require('telescope.debounce') -184.335 000.144 000.144: require('telescope.mappings') -184.428 000.088 000.088: require('telescope.pickers.highlights') -184.499 000.066 000.066: require('telescope.pickers.window') -184.648 000.072 000.072: require('telescope.algos.linked_list') -184.656 000.152 000.080: require('telescope.entry_manager') -184.783 000.124 000.124: require('telescope.pickers.multi') -184.814 000.879 000.226: require('telescope.pickers') -184.829 002.770 000.167: require('telescope.builtin.__lsp') -184.852 002.997 000.227: require('telescope.builtin') -185.164 000.225 000.225: require('fzf_lib') -185.175 000.317 000.093: require('telescope._extensions.fzf') -185.568 000.096 000.096: require('telescope._extensions.file_browser.utils') -185.662 000.348 000.252: require('telescope._extensions.file_browser.actions') -185.891 000.137 000.137: require('telescope._extensions.file_browser.make_entry') -186.045 000.148 000.148: require('plenary.scandir') -186.092 000.425 000.140: require('telescope._extensions.file_browser.finders') -186.173 000.077 000.077: require('telescope._extensions.file_browser.picker') -186.271 000.093 000.093: require('telescope._extensions.file_browser.config') -186.277 001.039 000.097: require('telescope._extensions.file_browser') -189.722 000.012 000.012: require('vim.keymap') -189.980 016.986 003.873: require('plugins.telescope') -191.812 000.068 000.068: require('notify.util.queue') -191.822 000.421 000.352: require('notify.util') -192.063 000.237 000.237: require('notify.config.highlights') -192.078 001.067 000.409: require('notify.config') -192.463 000.380 000.380: require('notify.stages') -192.560 000.091 000.091: require('notify.service.notification') -192.902 000.085 000.085: require('notify.animate.spring') -192.908 000.166 000.081: require('notify.animate') -192.920 000.354 000.188: require('notify.windows') -193.224 000.108 000.108: require('notify.service.buffer.highlights') -193.235 000.219 000.112: require('notify.service.buffer') -193.243 000.320 000.101: require('notify.service') -193.375 000.129 000.129: require('notify.stages.util') -193.389 002.748 000.406: require('notify') -193.485 000.091 000.091: require('nvim-tree.iterators.node-iterator') -193.580 003.039 000.200: require('nvim-tree.utils') -193.599 003.130 000.091: require('nvim-tree.events') -193.918 000.090 000.090: require('nvim-tree.log') -194.118 000.194 000.194: require('nvim-tree.git.utils') -194.227 000.102 000.102: require('nvim-tree.git.runner') -194.333 000.101 000.101: require('nvim-tree.watcher') -194.345 000.616 000.129: require('nvim-tree.git') -194.437 000.089 000.089: require('nvim-tree.explorer.watch') -194.521 000.079 000.079: require('nvim-tree.explorer.common') -194.761 000.104 000.104: require('nvim-tree.explorer.node-builders') -194.865 000.098 000.098: require('nvim-tree.explorer.sorters') -194.953 000.083 000.083: require('nvim-tree.explorer.filters') -195.346 000.289 000.289: require('nvim-tree.view') -195.370 000.412 000.123: require('nvim-tree.live-filter') -195.381 000.815 000.117: require('nvim-tree.explorer.explore') -195.522 000.136 000.136: require('nvim-tree.explorer.reload') -195.542 001.939 000.204: require('nvim-tree.explorer') -195.554 005.142 000.073: require('nvim-tree.core') -195.717 000.158 000.158: require('nvim-tree.diagnostics') -195.848 000.124 000.124: require('nvim-tree.renderer.components.padding') -195.995 000.140 000.140: require('nvim-tree.renderer.components.icons') -196.151 000.149 000.149: require('nvim-tree.renderer.components.full-name') -196.312 000.153 000.153: require('nvim-tree.renderer.help') -196.492 000.171 000.171: require('nvim-tree.renderer.components.git') -196.678 000.179 000.179: require('nvim-tree.renderer.builder') -196.813 000.127 000.127: require('nvim-tree.marks') -196.834 006.502 000.159: require('nvim-tree.renderer') -197.065 000.215 000.215: require('nvim-tree.actions.tree-modifiers.collapse-all') -197.186 000.112 000.112: require('nvim-tree.actions.root.dir-up') -197.335 000.142 000.142: require('nvim-tree.actions.root.change-dir') -197.451 000.108 000.108: require('nvim-tree.actions.reloaders.reloaders') -197.551 000.092 000.092: require('nvim-tree.actions.finders.find-file') -197.557 007.300 000.128: require('nvim-tree.lib') -197.687 000.127 000.127: require('nvim-tree.colors') -197.844 000.150 000.150: require('nvim-tree.legacy') -197.974 000.125 000.125: require('nvim-tree.actions.fs.copy-paste') -198.172 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') -198.258 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') -198.368 000.102 000.102: require('nvim-tree.actions.fs.create-file') -198.462 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -198.587 000.119 000.119: require('nvim-tree.actions.fs.trash') -198.728 000.135 000.135: require('nvim-tree.actions.fs.remove-file') -198.838 000.098 000.098: require('nvim-tree.actions.moves.parent') -198.925 000.080 000.080: require('nvim-tree.actions.moves.sibling') -199.012 000.081 000.081: require('nvim-tree.actions.moves.item') -199.114 000.087 000.087: require('nvim-tree.actions.finders.search-node') -199.278 000.160 000.160: require('nvim-tree.actions.node.run-command') -199.385 000.101 000.101: require('nvim-tree.actions.node.file-popup') -199.549 000.159 000.159: require('nvim-tree.actions.node.system-open') -199.652 000.095 000.095: require('nvim-tree.marks.bulk-move') -199.667 001.685 000.210: require('nvim-tree.actions.dispatch') -199.728 009.650 000.262: require('nvim-tree') -199.813 000.080 000.080: require('nvim-tree.config') -203.971 000.220 000.220: require('nvim-tree.actions') -204.111 000.129 000.129: require('nvim-tree.actions.node.open-file') -209.463 000.522 000.522: require('nvim-tree.marks.navigation') -209.477 001.387 000.866: require('nvim-tree.api') -209.608 002.226 000.838: require('nvim-tree.keymap') -212.901 002.345 002.345: require('nvim-web-devicons') -217.310 027.323 012.673: require('plugins.nvim-tree') -217.684 000.085 000.085: require('lualine_require') -218.261 000.793 000.708: require('lualine') -218.340 000.072 000.072: require('plugins.linecolor') -222.766 000.090 000.090: require('lualine.utils.mode') -229.111 011.786 010.831: require('plugins.lualine') -229.143 130.389 004.953: sourcing /home/sxrdusr/.config/nvim/init.lua -229.161 008.689: sourcing vimrc file(s) -229.452 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -230.601 000.057 000.057: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.lua -232.794 002.048 002.048: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.vim -236.078 000.256 000.256: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/synload.vim -236.340 002.832 002.576: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/syntax.vim -242.671 001.056 001.056: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/gzip.vim -242.829 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/health.vim -245.729 001.412 001.412: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -246.361 003.446 002.034: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchit.vim -246.870 000.420 000.420: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchparen.vim -247.052 000.090 000.090: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/netrwPlugin.vim -247.500 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -247.522 000.383 000.358: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/rplugin.vim -247.811 000.203 000.203: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/shada.vim -247.967 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/spellfile.vim -248.132 000.075 000.075: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tarPlugin.vim -248.296 000.078 000.078: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tohtml.vim -248.442 000.059 000.059: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tutor.vim -249.216 000.687 000.687: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/zipPlugin.vim -249.516 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -250.932 000.127 000.127: require('lspsaga') -251.194 000.086 000.086: require('lspsaga.window') -251.213 000.185 000.099: require('lspsaga.libs') -252.990 000.425 000.425: require('vim.lsp.log') -253.817 000.818 000.818: require('vim.lsp.protocol') -254.531 000.456 000.456: require('vim.lsp._snippet') -254.675 000.136 000.136: require('vim.highlight') -254.704 000.879 000.287: require('vim.lsp.util') -254.723 002.459 000.337: require('vim.lsp.handlers') -254.916 000.189 000.189: require('vim.lsp.rpc') -255.049 000.125 000.125: require('vim.lsp.sync') -255.512 000.456 000.456: require('vim.lsp.buf') -255.898 000.378 000.378: require('vim.lsp.diagnostic') -256.286 000.381 000.381: require('vim.lsp.codelens') -256.435 005.130 001.140: require('vim.lsp') -256.519 000.076 000.076: require('lspsaga.wrap') -256.530 005.313 000.107: require('lspsaga.codeaction') -256.569 005.629 000.131: require('lspsaga.lightbulb') -256.699 000.095 000.095: require('lspsaga.lspkind') -256.886 000.058 000.058: require('mason-core.path') -256.903 000.134 000.076: require('mason.settings') -257.101 000.054 000.054: require('mason-core.functional.data') -257.109 000.123 000.069: require('mason-core.functional.function') -257.145 000.238 000.115: require('mason-core.platform') -257.150 000.437 000.066: require('mason') -257.357 000.105 000.105: require('mason-core.functional') -257.475 000.101 000.101: require('mason-core.functional.list') -257.521 000.349 000.143: require('mason.api.command') -257.719 000.110 000.110: require('mason-core.log') -257.726 000.201 000.091: require('mason-lspconfig') -257.798 000.068 000.068: require('mason-lspconfig.settings') -257.891 000.077 000.077: require('mason-lspconfig.lspconfig_hook') -258.211 000.315 000.315: require('lspconfig.util') -258.438 000.079 000.079: require('mason-core.functional.table') -258.544 000.310 000.231: require('mason-lspconfig.mappings.server') -258.849 000.091 000.091: require('mason-core.async') -258.922 000.065 000.065: require('mason-core.async.uv') -258.933 000.303 000.147: require('mason-core.fs') -259.009 000.073 000.073: require('mason-core.optional') -259.080 000.067 000.067: require('mason-core.EventEmitter') -259.241 000.156 000.156: require('mason-registry.index') -259.260 000.710 000.112: require('mason-registry') -259.341 000.076 000.076: require('mason-lspconfig.server_config_extensions') -259.439 000.093 000.093: require('lspconfig.configs') -259.568 000.085 000.085: require('lspconfig.server_configurations.omnisharp') -259.680 000.072 000.072: require('mason-lspconfig.ensure_installed') -259.937 000.075 000.075: require('mason-core.result') -260.355 000.248 000.248: require('mason-core.process') -260.434 000.070 000.070: require('mason-core.functional.relation') -260.509 000.067 000.067: require('mason-core.functional.logic') -260.524 000.485 000.101: require('mason-core.spawn') -260.611 000.082 000.082: require('mason-core.receipt') -260.695 000.069 000.069: require('mason-core.functional.string') -260.727 000.784 000.147: require('mason-core.installer.context') -260.802 000.071 000.071: require('mason-core.installer.linker') -260.878 000.071 000.071: require('mason-core.async.control') -260.886 001.109 000.108: require('mason-core.installer') -260.986 000.097 000.097: require('mason-core.installer.handle') -261.352 000.075 000.075: require('mason-core.managers.powershell') -261.358 000.152 000.077: require('mason-core.fetch') -261.362 000.213 000.061: require('mason-core.managers.cargo.client') -261.471 000.410 000.197: require('mason-core.managers.cargo') -261.626 000.150 000.150: require('mason-core.managers.composer') -261.751 000.118 000.118: require('mason-core.managers.gem') -261.836 000.080 000.080: require('mason-core.managers.git') -262.055 000.129 000.129: require('mason-core.managers.std') -262.144 000.084 000.084: require('mason-core.managers.github.client') -262.158 000.317 000.104: require('mason-core.managers.github') -262.335 000.174 000.174: require('mason-core.managers.go') -262.467 000.127 000.127: require('mason-core.managers.luarocks') -262.578 000.106 000.106: require('mason-core.managers.npm') -262.694 000.111 000.111: require('mason-core.managers.pip3') -262.705 001.714 000.122: require('mason-core.package.version-check') -262.717 003.032 000.112: require('mason-core.package') -262.825 000.089 000.089: require('mason-registry.lua-language-server') -263.139 000.116 000.116: require('mason-registry.clangd') -263.374 000.126 000.126: require('mason-registry.rust-analyzer') -263.531 000.060 000.060: require('mason-core.notify') -263.611 000.074 000.074: require('mason-core.functional.number') -263.665 000.282 000.149: require('mason-lspconfig.api.command') -263.672 014.021 001.730: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -264.646 000.093 000.093: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/man.lua -264.859 009.930: loading rtp plugins -266.616 000.071 000.071: require('Comment.config') -266.723 000.099 000.099: require('Comment.utils') -266.800 000.072 000.072: require('Comment.opfunc') -266.873 000.068 000.068: require('Comment.extra') -266.888 000.475 000.165: require('Comment.api') -267.312 000.956 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -267.990 000.074 000.074: require('luasnip.util.types') -268.278 000.281 000.281: require('luasnip.util.ext_opts') -268.369 000.085 000.085: require('luasnip.extras.filetype_functions') -268.451 000.077 000.077: require('luasnip.session') -268.969 000.166 000.166: require('luasnip.util.util') -269.057 000.081 000.081: require('luasnip.nodes.util') -269.128 000.066 000.066: require('luasnip.util.events') -269.145 000.440 000.128: require('luasnip.nodes.node') -269.338 000.080 000.080: require('luasnip.util.extend_decorator') -269.350 000.893 000.373: require('luasnip.nodes.insertNode') -269.673 000.091 000.091: require('luasnip.util.mark') -270.003 000.192 000.192: require('luasnip.nodes.textNode') -271.216 001.044 001.044: require('luasnip.util._builtin_vars') -271.484 001.472 000.428: require('luasnip.util.environ') -271.584 000.093 000.093: require('luasnip.util.pattern_tokenizer') -271.677 000.087 000.087: require('luasnip.util.dict') -271.776 000.093 000.093: require('luasnip.session.snippet_collection') -271.836 002.157 000.219: require('luasnip.nodes.snippet') -271.857 002.504 000.256: require('luasnip.nodes.choiceNode') -272.071 000.154 000.154: require('luasnip.nodes.functionNode') -272.213 000.134 000.134: require('luasnip.nodes.dynamicNode') -272.335 000.116 000.116: require('luasnip.nodes.restoreNode') -272.429 000.089 000.089: require('luasnip.extras') -272.581 000.069 000.069: require('luasnip.util.str') -272.593 000.156 000.088: require('luasnip.extras.fmt') -272.659 000.062 000.062: require('luasnip.extras.expand_conditions') -274.837 000.115 000.115: require('luasnip.util.parser.neovim_ast') -285.484 000.102 000.102: require('luasnip.util.directed_graph') -285.508 012.765 012.548: require('luasnip.util.parser.ast_utils') -285.683 000.077 000.077: require('luasnip.util.functions') -285.694 000.181 000.104: require('luasnip.util.parser.ast_parser') -285.864 000.166 000.166: require('luasnip.util.parser.neovim_parser') -285.880 013.211 000.100: require('luasnip.util.parser') -285.961 000.076 000.076: require('luasnip.nodes.absolute_indexer') -286.571 018.788 000.878: require('luasnip.config') -286.736 019.252 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -287.625 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -288.516 000.096 000.096: require('indent_blankline/utils') -288.525 000.261 000.164: require('indent_blankline') -289.078 000.085 000.085: require('indent_blankline.commands') -289.243 001.156 000.810: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -289.661 000.100 000.100: require('lsp-colors') -290.066 000.560 000.459: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -291.337 000.883 000.883: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -292.198 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -292.735 000.093 000.093: require('cmp.utils.api') -292.879 000.068 000.068: require('cmp.types.cmp') -293.040 000.078 000.078: require('cmp.utils.misc') -293.161 000.276 000.197: require('cmp.types.lsp') -293.233 000.066 000.066: require('cmp.types.vim') -293.239 000.498 000.088: require('cmp.types') -293.311 000.069 000.069: require('cmp.utils.highlight') -293.438 000.060 000.060: require('cmp.utils.debug') -293.453 000.137 000.077: require('cmp.utils.autocmd') -294.094 001.520 000.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -294.361 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -294.791 000.107 000.107: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -295.290 000.200 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -295.922 000.069 000.069: require('nvim-treesitter.statusline') -296.008 000.079 000.079: require('nvim-treesitter.query_predicates') -296.014 000.235 000.087: require('nvim-treesitter') -297.249 000.211 000.211: require('vim.treesitter.highlighter') -297.604 000.717 000.506: require('nvim-treesitter.highlight') -298.233 002.511 001.559: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -298.701 000.250 000.250: require('treesitter-context') -298.712 000.288 000.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -299.085 000.089 000.089: require('nvim-treesitter-refactor') -299.521 000.552 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -299.907 000.123 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -300.288 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -300.657 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -301.449 000.439 000.439: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -301.814 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -302.983 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -303.777 000.499 000.499: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -304.414 000.381 000.381: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -305.285 000.605 000.605: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -305.595 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -305.881 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -306.951 010.557: loading packages -308.634 000.475 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -313.061 005.554 005.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -313.787 000.116 000.116: require('cmp.utils.char') -313.803 000.204 000.088: require('cmp.utils.str') -313.877 000.070 000.070: require('cmp.utils.pattern') -314.102 000.060 000.060: require('cmp.utils.buffer') -314.113 000.161 000.101: require('cmp.utils.keymap') -314.124 000.242 000.080: require('cmp.utils.feedkeys') -314.212 000.084 000.084: require('cmp.utils.async') -314.351 000.064 000.064: require('cmp.utils.cache') -314.358 000.141 000.077: require('cmp.context') -314.613 000.081 000.081: require('cmp.config.mapping') -314.787 000.091 000.091: require('cmp.config.compare') -314.796 000.176 000.085: require('cmp.config.default') -314.822 000.365 000.108: require('cmp.config') -314.996 000.067 000.067: require('cmp.matcher') -315.009 000.183 000.116: require('cmp.entry') -315.023 000.661 000.114: require('cmp.source') -315.170 000.064 000.064: require('cmp.utils.event') -315.349 000.099 000.099: require('cmp.utils.window') -315.357 000.181 000.082: require('cmp.view.docs_view') -315.477 000.117 000.117: require('cmp.view.custom_entries_view') -315.589 000.107 000.107: require('cmp.view.wildmenu_entries_view') -315.680 000.086 000.086: require('cmp.view.native_entries_view') -315.757 000.073 000.073: require('cmp.view.ghost_text_view') -315.774 000.748 000.120: require('cmp.view') -315.888 002.417 000.267: require('cmp.core') -316.199 000.074 000.074: require('cmp.config.sources') -316.266 000.059 000.059: require('cmp.config.window') -316.365 003.024 000.473: require('cmp') -316.650 000.063 000.063: require('cmp_buffer.timer') -316.662 000.153 000.090: require('cmp_buffer.buffer') -316.667 000.232 000.079: require('cmp_buffer.source') -316.671 000.301 000.069: require('cmp_buffer') -316.767 003.486 000.161: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -317.148 000.154 000.154: require('cmp_cmdline') -317.183 000.237 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -317.538 000.084 000.084: require('cmp_nvim_lsp.source') -317.546 000.168 000.084: require('cmp_nvim_lsp') -317.596 000.258 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -318.051 000.260 000.260: require('cmp_path') -318.087 000.339 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -318.379 000.087 000.087: require('cmp_luasnip') -318.445 000.203 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -318.598 001.570: loading after plugins -318.676 000.078: inits 3 -318.691 000.015: reading ShaDa -319.079 000.072 000.072: require('luasnip.loaders._caches') -319.267 000.181 000.181: require('luasnip.util.path') -319.366 000.092 000.092: require('luasnip.loaders.util') -319.603 000.104 000.104: require('luasnip.loaders') -319.642 000.271 000.167: require('luasnip') -319.649 000.734 000.119: require('luasnip.loaders.from_lua') -319.877 000.075 000.075: require('luasnip.nodes.snippetProxy') -319.886 000.177 000.102: require('luasnip.loaders.from_snipmate') -320.022 000.091 000.091: require('luasnip.loaders.from_vscode') -320.658 000.965: opening buffers -320.916 000.258: BufEnter autocommands -320.923 000.007: editing files in windows -335.685 000.594 000.594: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.315 001.315: --- NVIM STARTING --- -029.519 028.204: event init -045.885 016.366: early init -047.405 001.520: locale set -052.798 005.393: init first window -063.084 010.286: inits 1 -063.111 000.026: window checked -063.119 000.008: parsing arguments -075.078 000.268 000.268: require('vim.shared') -075.596 000.245 000.245: require('vim._meta') -075.609 000.509 000.263: require('vim._editor') -075.617 000.903 000.126: require('vim._init_packages') -075.624 011.602: init lua interpreter -075.789 000.165: expanding arguments -077.774 001.985: inits 2 -079.125 001.351: init highlight -079.134 000.009: waiting for UI -082.047 002.914: done waiting for UI -082.119 000.071: init screen for UI -082.613 000.495: init default mappings -082.660 000.047: init default autocommands -093.091 004.347 004.347: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/ftplugin.vim -095.882 001.064 001.064: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/indent.vim -096.229 000.037 000.037: sourcing /usr/share/nvim/archlinux.vim -096.246 000.117 000.080: sourcing /etc/xdg/nvim/sysinit.vim -106.342 005.865 005.865: require('keys') -108.711 002.358 002.358: require('opts') -112.148 001.046 001.046: require('packer.util') -112.298 003.211 002.165: require('packer') -116.366 001.643 001.643: require('packer.log') -116.396 002.522 000.879: require('packer.async') -118.234 000.752 000.752: require('packer.result') -118.250 001.845 001.093: require('packer.jobs') -118.281 005.884 001.517: require('packer.plugin_utils') -119.461 001.139 001.139: require('packer.snapshot') -120.985 012.265 002.031: require('pack') -137.495 016.498 016.498: require('impatient') -138.790 000.212 000.212: require('vim.treesitter.language') -138.824 000.831 000.619: require('vim.treesitter.query') -140.076 000.251 000.251: require('vim.treesitter.languagetree') -140.174 000.578 000.326: require('vim.treesitter') -140.627 001.447 000.869: require('nvim-treesitter.parsers') -140.797 000.161 000.161: require('nvim-treesitter.utils') -140.818 001.862 000.253: require('nvim-treesitter.ts_utils') -140.835 002.005 000.143: require('nvim-treesitter.tsrange') -141.528 000.687 000.687: require('nvim-treesitter.caching') -141.559 003.700 000.177: require('nvim-treesitter.query') -141.598 003.967 000.267: require('nvim-treesitter.configs') -142.951 000.527 000.527: require('nvim-treesitter.info') -143.550 000.590 000.590: require('nvim-treesitter.shell_command_selectors') -143.619 001.783 000.666: require('nvim-treesitter.install') -192.821 055.307 049.557: require('plugins.treesitter') -193.168 000.081 000.081: require('telescope._extensions') -193.177 000.173 000.092: require('telescope') -193.960 000.087 000.087: require('plenary.bit') -194.045 000.078 000.078: require('plenary.functional') -194.102 000.040 000.040: require('ffi') -194.152 000.438 000.234: require('plenary.path') -194.171 000.539 000.101: require('plenary.strings') -194.537 000.363 000.363: require('telescope.deprecated') -195.061 000.255 000.255: require('plenary.log') -195.141 000.488 000.233: require('telescope.log') -195.420 000.156 000.156: require('plenary.job') -195.511 000.085 000.085: require('telescope.state') -195.526 000.380 000.139: require('telescope.utils') -195.538 000.993 000.126: require('telescope.sorters') -195.706 000.144 000.144: require('vim.inspect') -196.270 000.015 000.015: require('vim.F') -200.294 006.805 004.751: require('telescope.config') -201.142 000.155 000.155: require('plenary.window.border') -201.222 000.074 000.074: require('plenary.window') -201.445 000.214 000.214: require('plenary.popup.utils') -201.461 001.156 000.713: require('plenary.popup') -201.595 000.128 000.128: require('telescope.pickers.scroller') -201.749 000.148 000.148: require('telescope.actions.state') -201.827 000.072 000.072: require('telescope.actions.utils') -201.984 000.071 000.071: require('telescope.actions.mt') -202.017 000.184 000.113: require('telescope.actions.set') -202.212 000.078 000.078: require('telescope.config.resolve') -202.218 000.157 000.079: require('telescope.pickers.entry_display') -202.292 000.070 000.070: require('telescope.from_entry') -202.894 009.714 000.995: require('telescope.actions') -203.744 000.059 000.059: require('plenary.tbl') -203.753 000.131 000.073: require('plenary.vararg.rotate') -203.756 000.192 000.061: require('plenary.vararg') -203.872 000.113 000.113: require('plenary.errors') -203.892 000.393 000.087: require('plenary.async.async') -203.963 000.068 000.068: require('plenary.async.structs') -203.978 000.558 000.097: require('plenary.async.control') -204.289 000.233 000.233: require('telescope.make_entry') -204.577 000.085 000.085: require('plenary.async.util') -204.584 000.151 000.066: require('plenary.async.tests') -204.589 000.225 000.074: require('plenary.async') -204.594 000.299 000.074: require('telescope.finders.async_static_finder') -204.816 000.062 000.062: require('plenary.class') -204.845 000.177 000.116: require('telescope._') -204.850 000.253 000.076: require('telescope.finders.async_oneshot_finder') -204.930 000.076 000.076: require('telescope.finders.async_job_finder') -204.942 000.959 000.098: require('telescope.finders') -205.285 000.099 000.099: require('telescope.debounce') -205.562 000.270 000.270: require('telescope.mappings') -205.686 000.115 000.115: require('telescope.pickers.highlights') -205.793 000.101 000.101: require('telescope.pickers.window') -205.962 000.076 000.076: require('telescope.algos.linked_list') -205.970 000.171 000.096: require('telescope.entry_manager') -206.040 000.067 000.067: require('telescope.pickers.multi') -206.079 001.133 000.311: require('telescope.pickers') -206.097 002.802 000.151: require('telescope.builtin.__lsp') -206.126 003.202 000.400: require('telescope.builtin') -206.457 000.236 000.236: require('fzf_lib') -206.469 000.338 000.102: require('telescope._extensions.fzf') -206.811 000.097 000.097: require('telescope._extensions.file_browser.utils') -206.921 000.358 000.261: require('telescope._extensions.file_browser.actions') -207.218 000.200 000.200: require('telescope._extensions.file_browser.make_entry') -207.387 000.161 000.161: require('plenary.scandir') -207.444 000.519 000.158: require('telescope._extensions.file_browser.finders') -207.545 000.097 000.097: require('telescope._extensions.file_browser.picker') -207.650 000.099 000.099: require('telescope._extensions.file_browser.config') -207.657 001.177 000.103: require('telescope._extensions.file_browser') -211.310 000.020 000.020: require('vim.keymap') -211.563 018.727 004.104: require('plugins.telescope') -212.720 000.062 000.062: require('notify.util.queue') -212.735 000.155 000.093: require('notify.util') -213.007 000.269 000.269: require('notify.config.highlights') -213.022 000.525 000.101: require('notify.config') -213.094 000.068 000.068: require('notify.stages') -213.169 000.069 000.069: require('notify.service.notification') -213.682 000.175 000.175: require('notify.animate.spring') -213.690 000.392 000.217: require('notify.animate') -213.704 000.530 000.139: require('notify.windows') -214.066 000.097 000.097: require('notify.service.buffer.highlights') -214.077 000.258 000.161: require('notify.service.buffer') -214.082 000.375 000.117: require('notify.service') -214.184 000.099 000.099: require('notify.stages.util') -214.194 001.784 000.118: require('notify') -214.350 000.152 000.152: require('nvim-tree.iterators.node-iterator') -214.431 002.141 000.206: require('nvim-tree.utils') -214.445 002.227 000.086: require('nvim-tree.events') -214.713 000.088 000.088: require('nvim-tree.log') -214.890 000.171 000.171: require('nvim-tree.git.utils') -215.009 000.114 000.114: require('nvim-tree.git.runner') -215.174 000.161 000.161: require('nvim-tree.watcher') -215.192 000.657 000.124: require('nvim-tree.git') -215.298 000.103 000.103: require('nvim-tree.explorer.watch') -215.406 000.102 000.102: require('nvim-tree.explorer.common') -215.643 000.101 000.101: require('nvim-tree.explorer.node-builders') -215.743 000.094 000.094: require('nvim-tree.explorer.sorters') -215.833 000.085 000.085: require('nvim-tree.explorer.filters') -216.211 000.273 000.273: require('nvim-tree.view') -216.236 000.399 000.126: require('nvim-tree.live-filter') -216.246 000.795 000.117: require('nvim-tree.explorer.explore') -216.401 000.150 000.150: require('nvim-tree.explorer.reload') -216.415 001.967 000.159: require('nvim-tree.explorer') -216.427 004.273 000.079: require('nvim-tree.core') -216.599 000.166 000.166: require('nvim-tree.diagnostics') -216.736 000.128 000.128: require('nvim-tree.renderer.components.padding') -216.878 000.135 000.135: require('nvim-tree.renderer.components.icons') -217.023 000.137 000.137: require('nvim-tree.renderer.components.full-name') -217.159 000.130 000.130: require('nvim-tree.renderer.help') -217.462 000.200 000.200: require('nvim-tree.renderer.components.git') -217.671 000.201 000.201: require('nvim-tree.renderer.builder') -217.860 000.182 000.182: require('nvim-tree.marks') -217.885 005.824 000.272: require('nvim-tree.renderer') -218.041 000.140 000.140: require('nvim-tree.actions.tree-modifiers.collapse-all') -218.225 000.176 000.176: require('nvim-tree.actions.root.dir-up') -218.363 000.130 000.130: require('nvim-tree.actions.root.change-dir') -218.464 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') -218.613 000.139 000.139: require('nvim-tree.actions.finders.find-file') -218.622 006.686 000.182: require('nvim-tree.lib') -218.780 000.153 000.153: require('nvim-tree.colors') -218.941 000.154 000.154: require('nvim-tree.legacy') -219.076 000.130 000.130: require('nvim-tree.actions.fs.copy-paste') -219.307 000.103 000.103: require('nvim-tree.actions.tree-modifiers.expand-all') -219.397 000.084 000.084: require('nvim-tree.actions.tree-modifiers.toggles') -219.500 000.097 000.097: require('nvim-tree.actions.fs.create-file') -219.594 000.088 000.088: require('nvim-tree.actions.fs.rename-file') -219.723 000.124 000.124: require('nvim-tree.actions.fs.trash') -219.830 000.101 000.101: require('nvim-tree.actions.fs.remove-file') -219.918 000.080 000.080: require('nvim-tree.actions.moves.parent') -220.008 000.085 000.085: require('nvim-tree.actions.moves.sibling') -220.096 000.082 000.082: require('nvim-tree.actions.moves.item') -220.192 000.086 000.086: require('nvim-tree.actions.finders.search-node') -220.275 000.078 000.078: require('nvim-tree.actions.node.run-command') -220.377 000.098 000.098: require('nvim-tree.actions.node.file-popup') -220.493 000.111 000.111: require('nvim-tree.actions.node.system-open') -220.617 000.095 000.095: require('nvim-tree.marks.bulk-move') -220.629 001.547 000.234: require('nvim-tree.actions.dispatch') -220.682 008.952 000.284: require('nvim-tree') -220.763 000.077 000.077: require('nvim-tree.config') -225.457 000.258 000.258: require('nvim-tree.actions') -225.612 000.138 000.138: require('nvim-tree.actions.node.open-file') -231.177 000.215 000.215: require('nvim-tree.marks.navigation') -231.192 000.752 000.537: require('nvim-tree.api') -231.319 001.308 000.556: require('nvim-tree.keymap') -233.412 001.322 001.322: require('nvim-web-devicons') -237.819 026.249 014.194: require('plugins.nvim-tree') -238.149 000.080 000.080: require('lualine_require') -238.693 000.744 000.664: require('lualine') -238.769 000.068 000.068: require('plugins.linecolor') -246.769 000.098 000.098: require('lualine.utils.mode') -249.215 011.383 010.473: require('plugins.lualine') -249.247 152.936 004.285: sourcing /home/sxrdusr/.config/nvim/init.lua -249.266 008.141: sourcing vimrc file(s) -249.558 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -250.909 000.165 000.165: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.lua -252.249 001.187 001.187: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.vim -254.478 000.324 000.324: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/synload.vim -254.864 002.122 001.798: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/syntax.vim -261.357 001.228 001.228: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/gzip.vim -261.572 000.105 000.105: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/health.vim -264.456 001.402 001.402: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -264.907 003.231 001.828: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchit.vim -265.364 000.392 000.392: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchparen.vim -265.507 000.075 000.075: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/netrwPlugin.vim -265.913 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -265.934 000.361 000.337: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/rplugin.vim -266.179 000.184 000.184: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/shada.vim -266.298 000.051 000.051: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/spellfile.vim -266.427 000.062 000.062: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tarPlugin.vim -266.555 000.063 000.063: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tohtml.vim -266.666 000.045 000.045: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tutor.vim -267.424 000.693 000.693: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/zipPlugin.vim -267.688 000.035 000.035: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -269.082 000.120 000.120: require('lspsaga') -269.341 000.083 000.083: require('lspsaga.window') -269.360 000.181 000.097: require('lspsaga.libs') -270.284 000.369 000.369: require('vim.lsp.log') -270.982 000.690 000.690: require('vim.lsp.protocol') -271.405 000.179 000.179: require('vim.lsp._snippet') -271.540 000.128 000.128: require('vim.highlight') -271.568 000.579 000.272: require('vim.lsp.util') -271.602 001.846 000.207: require('vim.lsp.handlers') -271.792 000.185 000.185: require('vim.lsp.rpc') -271.899 000.100 000.100: require('vim.lsp.sync') -272.049 000.144 000.144: require('vim.lsp.buf') -272.158 000.102 000.102: require('vim.lsp.diagnostic') -272.268 000.104 000.104: require('vim.lsp.codelens') -272.410 002.961 000.479: require('vim.lsp') -272.488 000.069 000.069: require('lspsaga.wrap') -272.498 003.134 000.105: require('lspsaga.codeaction') -272.539 003.448 000.133: require('lspsaga.lightbulb') -272.662 000.089 000.089: require('lspsaga.lspkind') -272.840 000.056 000.056: require('mason-core.path') -272.856 000.130 000.074: require('mason.settings') -273.051 000.055 000.055: require('mason-core.functional.data') -273.059 000.122 000.068: require('mason-core.functional.function') -273.095 000.234 000.112: require('mason-core.platform') -273.099 000.427 000.063: require('mason') -273.317 000.110 000.110: require('mason-core.functional') -273.431 000.094 000.094: require('mason-core.functional.list') -273.472 000.351 000.146: require('mason.api.command') -273.730 000.170 000.170: require('mason-core.log') -273.738 000.261 000.091: require('mason-lspconfig') -273.810 000.069 000.069: require('mason-lspconfig.settings') -273.930 000.083 000.083: require('mason-lspconfig.lspconfig_hook') -274.191 000.255 000.255: require('lspconfig.util') -274.407 000.070 000.070: require('mason-core.functional.table') -274.515 000.300 000.230: require('mason-lspconfig.mappings.server') -274.819 000.121 000.121: require('mason-core.async') -274.889 000.063 000.063: require('mason-core.async.uv') -274.903 000.305 000.121: require('mason-core.fs') -274.984 000.077 000.077: require('mason-core.optional') -275.055 000.066 000.066: require('mason-core.EventEmitter') -275.213 000.154 000.154: require('mason-registry.index') -275.233 000.711 000.111: require('mason-registry') -275.320 000.069 000.069: require('mason-lspconfig.server_config_extensions') -275.415 000.090 000.090: require('lspconfig.configs') -275.544 000.085 000.085: require('lspconfig.server_configurations.omnisharp') -275.748 000.074 000.074: require('mason-lspconfig.ensure_installed') -276.005 000.072 000.072: require('mason-core.result') -276.417 000.240 000.240: require('mason-core.process') -276.495 000.070 000.070: require('mason-core.functional.relation') -276.570 000.064 000.064: require('mason-core.functional.logic') -276.586 000.480 000.107: require('mason-core.spawn') -276.672 000.081 000.081: require('mason-core.receipt') -276.761 000.078 000.078: require('mason-core.functional.string') -276.793 000.783 000.144: require('mason-core.installer.context') -276.869 000.072 000.072: require('mason-core.installer.linker') -276.943 000.070 000.070: require('mason-core.async.control') -276.955 001.111 000.114: require('mason-core.installer') -277.048 000.090 000.090: require('mason-core.installer.handle') -277.418 000.067 000.067: require('mason-core.managers.powershell') -277.428 000.146 000.079: require('mason-core.fetch') -277.432 000.212 000.066: require('mason-core.managers.cargo.client') -277.559 000.435 000.223: require('mason-core.managers.cargo') -277.681 000.116 000.116: require('mason-core.managers.composer') -277.797 000.110 000.110: require('mason-core.managers.gem') -277.878 000.076 000.076: require('mason-core.managers.git') -278.059 000.095 000.095: require('mason-core.managers.std') -278.142 000.078 000.078: require('mason-core.managers.github.client') -278.155 000.273 000.100: require('mason-core.managers.github') -278.342 000.183 000.183: require('mason-core.managers.go') -278.486 000.139 000.139: require('mason-core.managers.luarocks') -278.592 000.101 000.101: require('mason-core.managers.npm') -278.705 000.108 000.108: require('mason-core.managers.pip3') -278.716 001.661 000.121: require('mason-core.package.version-check') -278.728 002.974 000.112: require('mason-core.package') -278.830 000.089 000.089: require('mason-registry.lua-language-server') -279.275 000.122 000.122: require('mason-registry.clangd') -279.487 000.147 000.147: require('mason-registry.rust-analyzer') -279.655 000.067 000.067: require('mason-core.notify') -279.733 000.071 000.071: require('mason-core.functional.number') -279.785 000.289 000.152: require('mason-lspconfig.api.command') -279.791 011.969 001.915: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -280.735 000.090 000.090: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/man.lua -280.920 009.546: loading rtp plugins -282.674 000.073 000.073: require('Comment.config') -282.771 000.089 000.089: require('Comment.utils') -282.846 000.071 000.071: require('Comment.opfunc') -282.917 000.066 000.066: require('Comment.extra') -282.933 000.458 000.160: require('Comment.api') -283.468 001.047 000.589: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -284.190 000.090 000.090: require('luasnip.util.types') -284.274 000.076 000.076: require('luasnip.util.ext_opts') -284.352 000.074 000.074: require('luasnip.extras.filetype_functions') -284.425 000.068 000.068: require('luasnip.session') -284.739 000.127 000.127: require('luasnip.util.util') -284.819 000.075 000.075: require('luasnip.nodes.util') -284.887 000.062 000.062: require('luasnip.util.events') -284.908 000.387 000.123: require('luasnip.nodes.node') -285.048 000.095 000.095: require('luasnip.util.extend_decorator') -285.063 000.633 000.151: require('luasnip.nodes.insertNode') -285.330 000.083 000.083: require('luasnip.util.mark') -285.616 000.140 000.140: require('luasnip.nodes.textNode') -286.531 000.827 000.827: require('luasnip.util._builtin_vars') -286.833 001.209 000.383: require('luasnip.util.environ') -286.926 000.086 000.086: require('luasnip.util.pattern_tokenizer') -286.999 000.068 000.068: require('luasnip.util.dict') -287.096 000.092 000.092: require('luasnip.session.snippet_collection') -287.152 001.816 000.221: require('luasnip.nodes.snippet') -287.188 002.122 000.223: require('luasnip.nodes.choiceNode') -287.368 000.112 000.112: require('luasnip.nodes.functionNode') -287.544 000.169 000.169: require('luasnip.nodes.dynamicNode') -287.688 000.138 000.138: require('luasnip.nodes.restoreNode') -287.780 000.086 000.086: require('luasnip.extras') -287.977 000.068 000.068: require('luasnip.util.str') -287.989 000.202 000.133: require('luasnip.extras.fmt') -288.054 000.061 000.061: require('luasnip.extras.expand_conditions') -290.201 000.078 000.078: require('luasnip.util.parser.neovim_ast') -300.163 000.097 000.097: require('luasnip.util.directed_graph') -300.185 012.054 011.879: require('luasnip.util.parser.ast_utils') -300.367 000.085 000.085: require('luasnip.util.functions') -300.387 000.196 000.111: require('luasnip.util.parser.ast_parser') -300.563 000.173 000.173: require('luasnip.util.parser.neovim_parser') -300.577 012.513 000.090: require('luasnip.util.parser') -300.655 000.074 000.074: require('luasnip.nodes.absolute_indexer') -301.222 017.241 000.824: require('luasnip.config') -301.385 017.742 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -302.266 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -303.147 000.099 000.099: require('indent_blankline/utils') -303.156 000.256 000.156: require('indent_blankline') -303.623 000.093 000.093: require('indent_blankline.commands') -303.782 001.055 000.706: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -304.216 000.098 000.098: require('lsp-colors') -305.024 000.956 000.858: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -306.488 001.075 001.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -307.360 000.411 000.411: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -307.912 000.092 000.092: require('cmp.utils.api') -308.048 000.066 000.066: require('cmp.types.cmp') -308.210 000.080 000.080: require('cmp.utils.misc') -308.328 000.274 000.194: require('cmp.types.lsp') -308.401 000.067 000.067: require('cmp.types.vim') -308.406 000.487 000.081: require('cmp.types') -308.475 000.065 000.065: require('cmp.utils.highlight') -308.602 000.060 000.060: require('cmp.utils.debug') -308.617 000.137 000.077: require('cmp.utils.autocmd') -309.515 001.773 000.991: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -309.780 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -310.207 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -310.692 000.172 000.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -311.299 000.065 000.065: require('nvim-treesitter.statusline') -311.390 000.084 000.084: require('nvim-treesitter.query_predicates') -311.397 000.237 000.087: require('nvim-treesitter') -312.386 000.250 000.250: require('vim.treesitter.highlighter') -312.746 000.762 000.512: require('nvim-treesitter.highlight') -313.417 002.309 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -313.878 000.234 000.234: require('treesitter-context') -313.888 000.278 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -314.260 000.086 000.086: require('nvim-treesitter-refactor') -314.421 000.273 000.187: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -314.787 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -315.167 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -315.536 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -316.316 000.428 000.428: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -316.677 000.059 000.059: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -317.659 000.460 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -318.449 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -319.069 000.362 000.362: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -319.927 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -320.227 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -320.530 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -322.022 011.008: loading packages -323.663 000.443 000.443: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -328.017 005.446 005.003: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -328.726 000.122 000.122: require('cmp.utils.char') -328.741 000.206 000.084: require('cmp.utils.str') -328.812 000.067 000.067: require('cmp.utils.pattern') -329.041 000.067 000.067: require('cmp.utils.buffer') -329.055 000.166 000.099: require('cmp.utils.keymap') -329.064 000.247 000.081: require('cmp.utils.feedkeys') -329.153 000.085 000.085: require('cmp.utils.async') -329.288 000.060 000.060: require('cmp.utils.cache') -329.295 000.137 000.076: require('cmp.context') -329.538 000.082 000.082: require('cmp.config.mapping') -329.700 000.081 000.081: require('cmp.config.compare') -329.705 000.160 000.079: require('cmp.config.default') -329.731 000.347 000.104: require('cmp.config') -329.907 000.066 000.066: require('cmp.matcher') -329.920 000.185 000.119: require('cmp.entry') -329.934 000.636 000.104: require('cmp.source') -330.070 000.059 000.059: require('cmp.utils.event') -330.244 000.086 000.086: require('cmp.utils.window') -330.251 000.175 000.089: require('cmp.view.docs_view') -330.368 000.115 000.115: require('cmp.view.custom_entries_view') -330.485 000.111 000.111: require('cmp.view.wildmenu_entries_view') -330.590 000.100 000.100: require('cmp.view.native_entries_view') -330.668 000.073 000.073: require('cmp.view.ghost_text_view') -330.686 000.748 000.115: require('cmp.view') -330.759 002.340 000.215: require('cmp.core') -331.206 000.068 000.068: require('cmp.config.sources') -331.275 000.061 000.061: require('cmp.config.window') -331.378 003.082 000.613: require('cmp') -331.667 000.065 000.065: require('cmp_buffer.timer') -331.676 000.156 000.090: require('cmp_buffer.buffer') -331.684 000.236 000.080: require('cmp_buffer.source') -331.688 000.305 000.069: require('cmp_buffer') -331.717 003.480 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -332.116 000.150 000.150: require('cmp_cmdline') -332.152 000.259 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -332.495 000.072 000.072: require('cmp_nvim_lsp.source') -332.502 000.149 000.078: require('cmp_nvim_lsp') -332.552 000.244 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -332.866 000.115 000.115: require('cmp_path') -332.896 000.193 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -333.187 000.090 000.090: require('cmp_luasnip') -333.256 000.210 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -333.412 001.558: loading after plugins -333.475 000.062: inits 3 -333.487 000.013: reading ShaDa -333.892 000.092 000.092: require('luasnip.loaders._caches') -334.006 000.108 000.108: require('luasnip.util.path') -334.098 000.086 000.086: require('luasnip.loaders.util') -334.316 000.100 000.100: require('luasnip.loaders') -334.355 000.252 000.151: require('luasnip') -334.362 000.653 000.115: require('luasnip.loaders.from_lua') -334.576 000.074 000.074: require('luasnip.nodes.snippetProxy') -334.586 000.175 000.101: require('luasnip.loaders.from_snipmate') -334.714 000.088 000.088: require('luasnip.loaders.from_vscode') -335.773 001.369: opening buffers -335.985 000.212: BufEnter autocommands -335.991 000.006: editing files in windows -351.037 000.897 000.897: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.080 001.080: --- NVIM STARTING --- -027.406 026.326: event init -043.818 016.412: early init -045.469 001.651: locale set -050.897 005.428: init first window -060.729 009.831: inits 1 -060.758 000.029: window checked -060.768 000.010: parsing arguments -071.499 000.121 000.121: require('vim.shared') -071.736 000.114 000.114: require('vim._meta') -071.742 000.234 000.119: require('vim._editor') -071.746 000.411 000.057: require('vim._init_packages') -071.749 010.570: init lua interpreter -071.828 000.079: expanding arguments -073.656 001.828: inits 2 -074.260 000.605: init highlight -074.265 000.004: waiting for UI -076.636 002.371: done waiting for UI -076.670 000.035: init screen for UI -076.912 000.241: init default mappings -076.939 000.028: init default autocommands -085.849 003.940 003.940: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/ftplugin.vim -087.715 000.864 000.864: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/indent.vim -087.951 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim -087.963 000.086 000.059: sourcing /etc/xdg/nvim/sysinit.vim -096.976 005.642 005.642: require('keys') -099.478 002.489 002.489: require('opts') -102.067 000.524 000.524: require('packer.util') -102.123 002.264 001.740: require('packer') -103.995 000.611 000.611: require('packer.log') -104.017 001.096 000.485: require('packer.async') -105.004 000.395 000.395: require('packer.result') -105.013 000.991 000.596: require('packer.jobs') -105.029 002.859 000.772: require('packer.plugin_utils') -105.671 000.619 000.619: require('packer.snapshot') -106.678 007.192 001.450: require('pack') -117.616 010.929 010.929: require('impatient') -118.465 000.192 000.192: require('vim.treesitter.language') -118.485 000.545 000.353: require('vim.treesitter.query') -119.777 000.239 000.239: require('vim.treesitter.languagetree') -119.839 000.619 000.380: require('vim.treesitter') -120.125 001.208 000.589: require('nvim-treesitter.parsers') -120.247 000.116 000.116: require('nvim-treesitter.utils') -120.262 001.550 000.226: require('nvim-treesitter.ts_utils') -120.271 001.781 000.231: require('nvim-treesitter.tsrange') -120.346 000.072 000.072: require('nvim-treesitter.caching') -120.368 002.520 000.122: require('nvim-treesitter.query') -120.394 002.687 000.167: require('nvim-treesitter.configs') -120.789 000.085 000.085: require('nvim-treesitter.info') -120.911 000.116 000.116: require('nvim-treesitter.shell_command_selectors') -120.959 000.452 000.250: require('nvim-treesitter.install') -163.436 045.806 042.666: require('plugins.treesitter') -163.913 000.263 000.263: require('telescope._extensions') -163.923 000.350 000.088: require('telescope') -164.650 000.083 000.083: require('plenary.bit') -164.727 000.071 000.071: require('plenary.functional') -164.774 000.028 000.028: require('ffi') -164.798 000.360 000.178: require('plenary.path') -164.812 000.452 000.092: require('plenary.strings') -164.881 000.066 000.066: require('telescope.deprecated') -165.525 000.355 000.355: require('plenary.log') -165.613 000.628 000.273: require('telescope.log') -166.068 000.281 000.281: require('plenary.job') -166.146 000.071 000.071: require('telescope.state') -166.167 000.548 000.196: require('telescope.utils') -166.178 001.291 000.115: require('telescope.sorters') -166.339 000.139 000.139: require('vim.inspect') -166.544 000.011 000.011: require('vim.F') -169.773 005.637 003.678: require('telescope.config') -170.373 000.089 000.089: require('plenary.window.border') -170.442 000.063 000.063: require('plenary.window') -170.504 000.057 000.057: require('plenary.popup.utils') -170.515 000.733 000.525: require('plenary.popup') -170.584 000.065 000.065: require('telescope.pickers.scroller') -170.652 000.064 000.064: require('telescope.actions.state') -170.724 000.067 000.067: require('telescope.actions.utils') -170.865 000.067 000.067: require('telescope.actions.mt') -170.895 000.167 000.099: require('telescope.actions.set') -171.089 000.072 000.072: require('telescope.config.resolve') -171.099 000.152 000.080: require('telescope.pickers.entry_display') -171.158 000.056 000.056: require('telescope.from_entry') -171.494 007.567 000.626: require('telescope.actions') -172.112 000.077 000.077: require('plenary.tbl') -172.121 000.172 000.094: require('plenary.vararg.rotate') -172.125 000.232 000.060: require('plenary.vararg') -172.186 000.058 000.058: require('plenary.errors') -172.198 000.367 000.077: require('plenary.async.async') -172.264 000.063 000.063: require('plenary.async.structs') -172.278 000.518 000.089: require('plenary.async.control') -172.615 000.234 000.234: require('telescope.make_entry') -172.879 000.074 000.074: require('plenary.async.util') -172.886 000.136 000.063: require('plenary.async.tests') -172.890 000.203 000.066: require('plenary.async') -172.894 000.273 000.070: require('telescope.finders.async_static_finder') -173.099 000.057 000.057: require('plenary.class') -173.124 000.162 000.106: require('telescope._') -173.129 000.232 000.070: require('telescope.finders.async_oneshot_finder') -173.199 000.066 000.066: require('telescope.finders.async_job_finder') -173.208 000.925 000.119: require('telescope.finders') -173.492 000.103 000.103: require('telescope.debounce') -173.650 000.152 000.152: require('telescope.mappings') -173.736 000.081 000.081: require('telescope.pickers.highlights') -173.812 000.070 000.070: require('telescope.pickers.window') -173.959 000.070 000.070: require('telescope.algos.linked_list') -173.966 000.150 000.080: require('telescope.entry_manager') -174.031 000.062 000.062: require('telescope.pickers.multi') -174.060 000.849 000.232: require('telescope.pickers') -174.075 002.421 000.129: require('telescope.builtin.__lsp') -174.124 002.624 000.203: require('telescope.builtin') -174.430 000.222 000.222: require('fzf_lib') -174.440 000.310 000.088: require('telescope._extensions.fzf') -174.788 000.093 000.093: require('telescope._extensions.file_browser.utils') -174.884 000.353 000.260: require('telescope._extensions.file_browser.actions') -175.118 000.142 000.142: require('telescope._extensions.file_browser.make_entry') -175.267 000.143 000.143: require('plenary.scandir') -175.316 000.427 000.142: require('telescope._extensions.file_browser.finders') -175.401 000.081 000.081: require('telescope._extensions.file_browser.picker') -175.494 000.088 000.088: require('telescope._extensions.file_browser.config') -175.500 001.050 000.100: require('telescope._extensions.file_browser') -179.114 000.014 000.014: require('vim.keymap') -179.332 015.886 003.971: require('plugins.telescope') -180.337 000.061 000.061: require('notify.util.queue') -180.346 000.147 000.085: require('notify.util') -180.570 000.221 000.221: require('notify.config.highlights') -180.587 000.469 000.102: require('notify.config') -180.765 000.174 000.174: require('notify.stages') -180.841 000.069 000.069: require('notify.service.notification') -181.057 000.060 000.060: require('notify.animate.spring') -181.063 000.120 000.060: require('notify.animate') -181.076 000.230 000.110: require('notify.windows') -181.365 000.108 000.108: require('notify.service.buffer.highlights') -181.379 000.225 000.116: require('notify.service.buffer') -181.385 000.306 000.081: require('notify.service') -181.497 000.108 000.108: require('notify.stages.util') -181.507 001.480 000.123: require('notify') -181.616 000.106 000.106: require('nvim-tree.iterators.node-iterator') -181.725 001.805 000.219: require('nvim-tree.utils') -181.738 001.887 000.083: require('nvim-tree.events') -181.989 000.078 000.078: require('nvim-tree.log') -182.151 000.156 000.156: require('nvim-tree.git.utils') -182.251 000.095 000.095: require('nvim-tree.git.runner') -182.369 000.113 000.113: require('nvim-tree.watcher') -182.393 000.567 000.125: require('nvim-tree.git') -182.492 000.095 000.095: require('nvim-tree.explorer.watch') -182.580 000.083 000.083: require('nvim-tree.explorer.common') -182.807 000.090 000.090: require('nvim-tree.explorer.node-builders') -182.903 000.089 000.089: require('nvim-tree.explorer.sorters') -183.040 000.132 000.132: require('nvim-tree.explorer.filters') -183.398 000.251 000.251: require('nvim-tree.view') -183.410 000.366 000.114: require('nvim-tree.live-filter') -183.421 000.797 000.120: require('nvim-tree.explorer.explore') -183.517 000.093 000.093: require('nvim-tree.explorer.reload') -183.527 001.785 000.150: require('nvim-tree.explorer') -183.545 003.754 000.082: require('nvim-tree.core') -183.660 000.111 000.111: require('nvim-tree.diagnostics') -183.753 000.087 000.087: require('nvim-tree.renderer.components.padding') -183.842 000.084 000.084: require('nvim-tree.renderer.components.icons') -183.948 000.101 000.101: require('nvim-tree.renderer.components.full-name') -184.037 000.085 000.085: require('nvim-tree.renderer.help') -184.170 000.127 000.127: require('nvim-tree.renderer.components.git') -184.303 000.128 000.128: require('nvim-tree.renderer.builder') -184.399 000.091 000.091: require('nvim-tree.marks') -184.415 004.706 000.137: require('nvim-tree.renderer') -184.518 000.089 000.089: require('nvim-tree.actions.tree-modifiers.collapse-all') -184.609 000.086 000.086: require('nvim-tree.actions.root.dir-up') -184.703 000.089 000.089: require('nvim-tree.actions.root.change-dir') -184.787 000.079 000.079: require('nvim-tree.actions.reloaders.reloaders') -184.875 000.079 000.079: require('nvim-tree.actions.finders.find-file') -184.880 005.245 000.117: require('nvim-tree.lib') -184.995 000.111 000.111: require('nvim-tree.colors') -185.150 000.149 000.149: require('nvim-tree.legacy') -185.288 000.132 000.132: require('nvim-tree.actions.fs.copy-paste') -185.532 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') -185.617 000.078 000.078: require('nvim-tree.actions.tree-modifiers.toggles') -185.756 000.132 000.132: require('nvim-tree.actions.fs.create-file') -185.858 000.095 000.095: require('nvim-tree.actions.fs.rename-file') -185.985 000.121 000.121: require('nvim-tree.actions.fs.trash') -186.111 000.121 000.121: require('nvim-tree.actions.fs.remove-file') -186.203 000.085 000.085: require('nvim-tree.actions.moves.parent') -186.287 000.079 000.079: require('nvim-tree.actions.moves.sibling') -186.369 000.076 000.076: require('nvim-tree.actions.moves.item') -186.482 000.089 000.089: require('nvim-tree.actions.finders.search-node') -186.565 000.078 000.078: require('nvim-tree.actions.node.run-command') -186.658 000.088 000.088: require('nvim-tree.actions.node.file-popup') -186.795 000.132 000.132: require('nvim-tree.actions.node.system-open') -186.898 000.095 000.095: require('nvim-tree.marks.bulk-move') -186.906 001.612 000.242: require('nvim-tree.actions.dispatch') -186.960 007.522 000.273: require('nvim-tree') -187.039 000.075 000.075: require('nvim-tree.config') -192.091 000.306 000.306: require('nvim-tree.actions') -192.263 000.152 000.152: require('nvim-tree.actions.node.open-file') -196.580 000.258 000.258: require('nvim-tree.marks.navigation') -196.599 001.236 000.978: require('nvim-tree.api') -196.734 001.594 000.357: require('nvim-tree.keymap') -199.512 002.025 002.025: require('nvim-web-devicons') -203.706 024.367 012.694: require('plugins.nvim-tree') -204.070 000.080 000.080: require('lualine_require') -204.613 000.770 000.690: require('lualine') -204.685 000.065 000.065: require('plugins.linecolor') -213.446 000.088 000.088: require('lualine.utils.mode') -215.545 011.829 010.906: require('plugins.lualine') -215.554 127.545 003.406: sourcing /home/sxrdusr/.config/nvim/init.lua -215.571 006.197: sourcing vimrc file(s) -215.888 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -217.247 000.068 000.068: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.lua -218.594 001.163 001.163: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.vim -222.514 000.412 000.412: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/synload.vim -222.762 003.325 002.913: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/syntax.vim -231.144 002.457 002.457: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/gzip.vim -231.338 000.069 000.069: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/health.vim -234.897 002.302 002.302: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -235.369 003.968 001.667: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchit.vim -235.874 000.439 000.439: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchparen.vim -236.128 000.132 000.132: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/netrwPlugin.vim -236.569 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -236.590 000.393 000.372: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/rplugin.vim -236.889 000.215 000.215: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/shada.vim -237.045 000.083 000.083: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/spellfile.vim -237.420 000.309 000.309: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tarPlugin.vim -237.699 000.210 000.210: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tohtml.vim -237.832 000.066 000.066: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tutor.vim -239.418 001.521 001.521: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/zipPlugin.vim -240.901 001.250 001.250: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -242.244 000.130 000.130: require('lspsaga') -242.541 000.087 000.087: require('lspsaga.window') -242.561 000.223 000.135: require('lspsaga.libs') -243.563 000.403 000.403: require('vim.lsp.log') -244.323 000.753 000.753: require('vim.lsp.protocol') -244.738 000.179 000.179: require('vim.lsp._snippet') -244.874 000.130 000.130: require('vim.highlight') -244.902 000.572 000.264: require('vim.lsp.util') -244.921 001.953 000.225: require('vim.lsp.handlers') -245.149 000.225 000.225: require('vim.lsp.rpc') -245.278 000.122 000.122: require('vim.lsp.sync') -245.455 000.170 000.170: require('vim.lsp.buf') -245.583 000.123 000.123: require('vim.lsp.diagnostic') -245.762 000.173 000.173: require('vim.lsp.codelens') -245.998 003.347 000.582: require('vim.lsp') -246.078 000.072 000.072: require('lspsaga.wrap') -246.088 003.523 000.104: require('lspsaga.codeaction') -246.147 003.895 000.150: require('lspsaga.lightbulb') -246.279 000.090 000.090: require('lspsaga.lspkind') -246.456 000.056 000.056: require('mason-core.path') -246.472 000.128 000.072: require('mason.settings') -246.696 000.053 000.053: require('mason-core.functional.data') -246.704 000.122 000.069: require('mason-core.functional.function') -246.741 000.265 000.143: require('mason-core.platform') -246.746 000.457 000.064: require('mason') -246.951 000.103 000.103: require('mason-core.functional') -247.046 000.077 000.077: require('mason-core.functional.list') -247.086 000.318 000.138: require('mason.api.command') -247.253 000.093 000.093: require('mason-core.log') -247.260 000.170 000.077: require('mason-lspconfig') -247.323 000.059 000.059: require('mason-lspconfig.settings') -247.407 000.066 000.066: require('mason-lspconfig.lspconfig_hook') -247.643 000.232 000.232: require('lspconfig.util') -247.953 000.084 000.084: require('mason-core.functional.table') -248.053 000.296 000.211: require('mason-lspconfig.mappings.server') -248.324 000.084 000.084: require('mason-core.async') -248.393 000.062 000.062: require('mason-core.async.uv') -248.404 000.269 000.123: require('mason-core.fs') -248.477 000.069 000.069: require('mason-core.optional') -248.549 000.068 000.068: require('mason-core.EventEmitter') -248.699 000.145 000.145: require('mason-registry.index') -248.726 000.667 000.117: require('mason-registry') -248.799 000.068 000.068: require('mason-lspconfig.server_config_extensions') -248.932 000.129 000.129: require('lspconfig.configs') -249.152 000.176 000.176: require('lspconfig.server_configurations.omnisharp') -249.411 000.075 000.075: require('mason-lspconfig.ensure_installed') -249.664 000.076 000.076: require('mason-core.result') -250.074 000.234 000.234: require('mason-core.process') -250.151 000.069 000.069: require('mason-core.functional.relation') -250.225 000.066 000.066: require('mason-core.functional.logic') -250.238 000.475 000.106: require('mason-core.spawn') -250.323 000.082 000.082: require('mason-core.receipt') -250.409 000.071 000.071: require('mason-core.functional.string') -250.437 000.768 000.141: require('mason-core.installer.context') -250.513 000.072 000.072: require('mason-core.installer.linker') -250.587 000.070 000.070: require('mason-core.async.control') -250.595 001.086 000.101: require('mason-core.installer') -250.695 000.097 000.097: require('mason-core.installer.handle') -251.037 000.066 000.066: require('mason-core.managers.powershell') -251.043 000.138 000.073: require('mason-core.fetch') -251.047 000.200 000.061: require('mason-core.managers.cargo.client') -251.294 000.526 000.327: require('mason-core.managers.cargo') -251.449 000.148 000.148: require('mason-core.managers.composer') -251.567 000.112 000.112: require('mason-core.managers.gem') -251.649 000.077 000.077: require('mason-core.managers.git') -251.832 000.090 000.090: require('mason-core.managers.std') -251.912 000.075 000.075: require('mason-core.managers.github.client') -251.925 000.271 000.106: require('mason-core.managers.github') -252.028 000.100 000.100: require('mason-core.managers.go') -252.155 000.122 000.122: require('mason-core.managers.luarocks') -252.261 000.101 000.101: require('mason-core.managers.npm') -252.406 000.139 000.139: require('mason-core.managers.pip3') -252.423 001.722 000.125: require('mason-core.package.version-check') -252.433 003.015 000.110: require('mason-core.package') -252.549 000.091 000.091: require('mason-registry.lua-language-server') -252.939 000.191 000.191: require('mason-registry.clangd') -253.173 000.194 000.194: require('mason-registry.rust-analyzer') -253.330 000.055 000.055: require('mason-core.notify') -253.408 000.068 000.068: require('mason-core.functional.number') -253.465 000.282 000.159: require('mason-lspconfig.api.command') -253.471 012.397 001.794: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -254.877 000.113 000.113: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/man.lua -255.100 011.297: loading rtp plugins -256.891 000.076 000.076: require('Comment.config') -256.985 000.086 000.086: require('Comment.utils') -257.060 000.070 000.070: require('Comment.opfunc') -257.130 000.065 000.065: require('Comment.extra') -257.145 000.468 000.170: require('Comment.api') -257.568 000.946 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -258.251 000.068 000.068: require('luasnip.util.types') -258.335 000.077 000.077: require('luasnip.util.ext_opts') -258.413 000.073 000.073: require('luasnip.extras.filetype_functions') -258.485 000.067 000.067: require('luasnip.session') -258.793 000.118 000.118: require('luasnip.util.util') -258.874 000.075 000.075: require('luasnip.nodes.util') -258.941 000.063 000.063: require('luasnip.util.events') -258.958 000.376 000.119: require('luasnip.nodes.node') -259.103 000.096 000.096: require('luasnip.util.extend_decorator') -259.115 000.625 000.153: require('luasnip.nodes.insertNode') -259.378 000.090 000.090: require('luasnip.util.mark') -259.606 000.093 000.093: require('luasnip.nodes.textNode') -260.491 000.806 000.806: require('luasnip.util._builtin_vars') -260.690 001.078 000.272: require('luasnip.util.environ') -260.786 000.090 000.090: require('luasnip.util.pattern_tokenizer') -260.853 000.062 000.062: require('luasnip.util.dict') -260.946 000.088 000.088: require('luasnip.session.snippet_collection') -261.000 001.615 000.205: require('luasnip.nodes.snippet') -261.029 001.911 000.206: require('luasnip.nodes.choiceNode') -261.206 000.114 000.114: require('luasnip.nodes.functionNode') -261.370 000.157 000.157: require('luasnip.nodes.dynamicNode') -261.490 000.114 000.114: require('luasnip.nodes.restoreNode') -261.582 000.086 000.086: require('luasnip.extras') -263.685 002.019 002.019: require('luasnip.util.str') -263.699 002.110 000.091: require('luasnip.extras.fmt') -263.788 000.083 000.083: require('luasnip.extras.expand_conditions') -264.029 000.075 000.075: require('luasnip.util.parser.neovim_ast') -277.336 000.093 000.093: require('luasnip.util.directed_graph') -277.357 013.492 013.325: require('luasnip.util.parser.ast_utils') -277.516 000.067 000.067: require('luasnip.util.functions') -277.529 000.167 000.100: require('luasnip.util.parser.ast_parser') -277.696 000.163 000.163: require('luasnip.util.parser.neovim_parser') -277.708 013.913 000.090: require('luasnip.util.parser') -277.779 000.066 000.066: require('luasnip.nodes.absolute_indexer') -278.395 020.332 000.867: require('luasnip.config') -278.560 020.810 000.478: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -279.482 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -280.347 000.091 000.091: require('indent_blankline/utils') -280.356 000.243 000.152: require('indent_blankline') -280.865 000.093 000.093: require('indent_blankline.commands') -281.069 001.130 000.793: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -281.484 000.096 000.096: require('lsp-colors') -281.881 000.545 000.449: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -283.314 001.039 001.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -284.157 000.385 000.385: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -284.682 000.088 000.088: require('cmp.utils.api') -284.811 000.061 000.061: require('cmp.types.cmp') -284.973 000.083 000.083: require('cmp.utils.misc') -285.067 000.251 000.168: require('cmp.types.lsp') -285.136 000.063 000.063: require('cmp.types.vim') -285.142 000.453 000.079: require('cmp.types') -285.208 000.062 000.062: require('cmp.utils.highlight') -285.330 000.055 000.055: require('cmp.utils.debug') -285.351 000.139 000.084: require('cmp.utils.autocmd') -285.930 001.404 000.661: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -286.193 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -286.604 000.102 000.102: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -287.061 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -287.709 000.068 000.068: require('nvim-treesitter.statusline') -287.795 000.080 000.080: require('nvim-treesitter.query_predicates') -287.802 000.235 000.087: require('nvim-treesitter') -289.115 000.255 000.255: require('vim.treesitter.highlighter') -289.471 000.761 000.506: require('nvim-treesitter.highlight') -289.873 002.400 001.404: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -290.336 000.219 000.219: require('treesitter-context') -290.346 000.259 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -290.708 000.080 000.080: require('nvim-treesitter-refactor') -290.977 000.375 000.295: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -291.352 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -291.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -292.092 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -292.887 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -293.259 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -294.235 000.484 000.484: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -295.020 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -295.620 000.349 000.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -296.512 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -296.818 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -297.099 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -298.594 011.053: loading packages -300.317 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -304.622 005.447 004.964: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -305.441 000.235 000.235: require('cmp.utils.char') -305.461 000.333 000.098: require('cmp.utils.str') -305.537 000.071 000.071: require('cmp.utils.pattern') -305.802 000.083 000.083: require('cmp.utils.buffer') -305.818 000.210 000.128: require('cmp.utils.keymap') -305.827 000.285 000.075: require('cmp.utils.feedkeys') -305.917 000.087 000.087: require('cmp.utils.async') -306.045 000.057 000.057: require('cmp.utils.cache') -306.058 000.135 000.078: require('cmp.context') -306.303 000.077 000.077: require('cmp.config.mapping') -306.465 000.079 000.079: require('cmp.config.compare') -306.470 000.161 000.081: require('cmp.config.default') -306.496 000.349 000.111: require('cmp.config') -306.668 000.065 000.065: require('cmp.matcher') -306.681 000.182 000.116: require('cmp.entry') -306.692 000.631 000.100: require('cmp.source') -306.832 000.064 000.064: require('cmp.utils.event') -306.997 000.088 000.088: require('cmp.utils.window') -307.004 000.167 000.079: require('cmp.view.docs_view') -307.117 000.110 000.110: require('cmp.view.custom_entries_view') -307.224 000.102 000.102: require('cmp.view.wildmenu_entries_view') -307.309 000.080 000.080: require('cmp.view.native_entries_view') -307.385 000.072 000.072: require('cmp.view.ghost_text_view') -307.402 000.707 000.112: require('cmp.view') -307.510 002.498 000.249: require('cmp.core') -307.774 000.074 000.074: require('cmp.config.sources') -307.838 000.058 000.058: require('cmp.config.window') -307.940 003.047 000.417: require('cmp') -308.208 000.061 000.061: require('cmp_buffer.timer') -308.217 000.143 000.082: require('cmp_buffer.buffer') -308.222 000.220 000.078: require('cmp_buffer.source') -308.226 000.281 000.061: require('cmp_buffer') -308.256 003.417 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -308.633 000.153 000.153: require('cmp_cmdline') -308.667 000.236 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -308.999 000.072 000.072: require('cmp_nvim_lsp.source') -309.006 000.147 000.075: require('cmp_nvim_lsp') -309.084 000.268 000.121: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -309.398 000.114 000.114: require('cmp_path') -309.432 000.197 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -309.712 000.085 000.085: require('cmp_luasnip') -309.781 000.199 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -309.930 001.571: loading after plugins -309.992 000.062: inits 3 -310.006 000.014: reading ShaDa -310.393 000.068 000.068: require('luasnip.loaders._caches') -310.505 000.105 000.105: require('luasnip.util.path') -310.592 000.082 000.082: require('luasnip.loaders.util') -310.822 000.111 000.111: require('luasnip.loaders') -310.860 000.263 000.151: require('luasnip') -310.867 000.635 000.118: require('luasnip.loaders.from_lua') -311.072 000.071 000.071: require('luasnip.nodes.snippetProxy') -311.081 000.167 000.096: require('luasnip.loaders.from_snipmate') -311.240 000.091 000.091: require('luasnip.loaders.from_vscode') -311.943 001.045: opening buffers -312.150 000.207: BufEnter autocommands -312.157 000.006: editing files in windows -327.507 000.688 000.688: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.319 001.319: --- NVIM STARTING --- -030.721 029.402: event init -047.792 017.071: early init -049.585 001.792: locale set -055.317 005.732: init first window -065.751 010.434: inits 1 -065.775 000.025: window checked -065.783 000.008: parsing arguments -077.866 000.266 000.266: require('vim.shared') -078.373 000.236 000.236: require('vim._meta') -078.386 000.497 000.261: require('vim._editor') -078.394 000.903 000.139: require('vim._init_packages') -078.401 011.715: init lua interpreter -078.562 000.161: expanding arguments -080.531 001.969: inits 2 -081.878 001.347: init highlight -081.888 000.010: waiting for UI -084.866 002.978: done waiting for UI -084.916 000.050: init screen for UI -085.278 000.361: init default mappings -085.312 000.035: init default autocommands -097.149 004.626 004.626: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/ftplugin.vim -100.189 001.071 001.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/indent.vim -100.744 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim -100.769 000.180 000.123: sourcing /etc/xdg/nvim/sysinit.vim -114.486 007.066 007.066: require('keys') -116.767 002.270 002.270: require('opts') -119.360 000.518 000.518: require('packer.util') -119.441 002.273 001.755: require('packer') -121.592 000.885 000.885: require('packer.log') -121.606 001.371 000.486: require('packer.async') -122.581 000.395 000.395: require('packer.result') -122.589 000.978 000.583: require('packer.jobs') -122.606 003.115 000.766: require('packer.plugin_utils') -123.247 000.619 000.619: require('packer.snapshot') -124.534 007.759 001.752: require('pack') -143.252 018.703 018.703: require('impatient') -145.195 000.383 000.383: require('vim.treesitter.language') -145.225 001.260 000.877: require('vim.treesitter.query') -146.906 000.447 000.447: require('vim.treesitter.languagetree') -147.037 000.947 000.500: require('vim.treesitter') -147.497 001.828 000.882: require('nvim-treesitter.parsers') -147.696 000.190 000.190: require('nvim-treesitter.utils') -147.719 002.227 000.209: require('nvim-treesitter.ts_utils') -147.732 002.501 000.273: require('nvim-treesitter.tsrange') -147.854 000.116 000.116: require('nvim-treesitter.caching') -147.890 004.072 000.195: require('nvim-treesitter.query') -147.933 004.487 000.416: require('nvim-treesitter.configs') -148.437 000.212 000.212: require('nvim-treesitter.info') -148.898 000.450 000.450: require('nvim-treesitter.shell_command_selectors') -148.976 001.005 000.343: require('nvim-treesitter.install') -198.789 055.516 050.023: require('plugins.treesitter') -199.156 000.076 000.076: require('telescope._extensions') -199.170 000.197 000.121: require('telescope') -199.903 000.086 000.086: require('plenary.bit') -199.981 000.071 000.071: require('plenary.functional') -200.068 000.067 000.067: require('ffi') -200.094 000.469 000.244: require('plenary.path') -200.107 000.558 000.089: require('plenary.strings') -200.177 000.067 000.067: require('telescope.deprecated') -200.582 000.238 000.238: require('plenary.log') -200.663 000.379 000.141: require('telescope.log') -201.029 000.245 000.245: require('plenary.job') -201.108 000.073 000.073: require('telescope.state') -201.123 000.454 000.136: require('telescope.utils') -201.136 000.954 000.122: require('telescope.sorters') -201.247 000.088 000.088: require('vim.inspect') -201.726 000.011 000.011: require('vim.F') -205.122 005.710 004.033: require('telescope.config') -205.782 000.089 000.089: require('plenary.window.border') -205.852 000.062 000.062: require('plenary.window') -205.913 000.056 000.056: require('plenary.popup.utils') -205.925 000.793 000.585: require('plenary.popup') -205.993 000.065 000.065: require('telescope.pickers.scroller') -206.062 000.064 000.064: require('telescope.actions.state') -206.136 000.069 000.069: require('telescope.actions.utils') -206.279 000.068 000.068: require('telescope.actions.mt') -206.310 000.169 000.101: require('telescope.actions.set') -206.504 000.073 000.073: require('telescope.config.resolve') -206.510 000.147 000.075: require('telescope.pickers.entry_display') -206.575 000.061 000.061: require('telescope.from_entry') -206.997 007.823 000.744: require('telescope.actions') -207.559 000.058 000.058: require('plenary.tbl') -207.568 000.123 000.065: require('plenary.vararg.rotate') -207.572 000.184 000.061: require('plenary.vararg') -207.667 000.092 000.092: require('plenary.errors') -207.677 000.352 000.076: require('plenary.async.async') -207.862 000.182 000.182: require('plenary.async.structs') -207.879 000.623 000.089: require('plenary.async.control') -208.162 000.201 000.201: require('telescope.make_entry') -208.425 000.073 000.073: require('plenary.async.util') -208.431 000.135 000.063: require('plenary.async.tests') -208.435 000.204 000.068: require('plenary.async') -208.440 000.273 000.069: require('telescope.finders.async_static_finder') -208.641 000.058 000.058: require('plenary.class') -208.667 000.161 000.103: require('telescope._') -208.672 000.229 000.068: require('telescope.finders.async_oneshot_finder') -208.741 000.066 000.066: require('telescope.finders.async_job_finder') -208.751 000.867 000.098: require('telescope.finders') -209.003 000.075 000.075: require('telescope.debounce') -209.169 000.161 000.161: require('telescope.mappings') -209.256 000.081 000.081: require('telescope.pickers.highlights') -209.330 000.069 000.069: require('telescope.pickers.window') -209.471 000.069 000.069: require('telescope.algos.linked_list') -209.479 000.144 000.075: require('telescope.entry_manager') -209.542 000.061 000.061: require('telescope.pickers.multi') -209.574 000.820 000.230: require('telescope.pickers') -209.589 002.444 000.134: require('telescope.builtin.__lsp') -209.612 002.607 000.163: require('telescope.builtin') -209.917 000.224 000.224: require('fzf_lib') -209.927 000.310 000.087: require('telescope._extensions.fzf') -210.257 000.090 000.090: require('telescope._extensions.file_browser.utils') -210.353 000.324 000.234: require('telescope._extensions.file_browser.actions') -210.580 000.137 000.137: require('telescope._extensions.file_browser.make_entry') -210.726 000.140 000.140: require('plenary.scandir') -210.774 000.416 000.139: require('telescope._extensions.file_browser.finders') -210.858 000.079 000.079: require('telescope._extensions.file_browser.picker') -210.951 000.088 000.088: require('telescope._extensions.file_browser.config') -210.957 001.019 000.112: require('telescope._extensions.file_browser') -213.828 000.012 000.012: require('vim.keymap') -214.133 015.325 003.356: require('plugins.telescope') -215.166 000.060 000.060: require('notify.util.queue') -215.175 000.142 000.083: require('notify.util') -215.388 000.209 000.209: require('notify.config.highlights') -215.402 000.458 000.106: require('notify.config') -215.472 000.066 000.066: require('notify.stages') -215.542 000.065 000.065: require('notify.service.notification') -215.796 000.078 000.078: require('notify.animate.spring') -215.801 000.160 000.082: require('notify.animate') -215.809 000.262 000.102: require('notify.windows') -216.106 000.110 000.110: require('notify.service.buffer.highlights') -216.116 000.217 000.107: require('notify.service.buffer') -216.123 000.311 000.094: require('notify.service') -216.229 000.103 000.103: require('notify.stages.util') -216.244 001.471 000.207: require('notify') -216.328 000.080 000.080: require('nvim-tree.iterators.node-iterator') -216.417 001.742 000.190: require('nvim-tree.utils') -216.453 001.850 000.108: require('nvim-tree.events') -216.712 000.089 000.089: require('nvim-tree.log') -216.874 000.156 000.156: require('nvim-tree.git.utils') -216.970 000.091 000.091: require('nvim-tree.git.runner') -217.064 000.090 000.090: require('nvim-tree.watcher') -217.075 000.536 000.110: require('nvim-tree.git') -217.170 000.092 000.092: require('nvim-tree.explorer.watch') -217.254 000.078 000.078: require('nvim-tree.explorer.common') -217.514 000.128 000.128: require('nvim-tree.explorer.node-builders') -217.619 000.099 000.099: require('nvim-tree.explorer.sorters') -217.714 000.090 000.090: require('nvim-tree.explorer.filters') -218.054 000.223 000.223: require('nvim-tree.view') -218.067 000.349 000.125: require('nvim-tree.live-filter') -218.074 000.777 000.112: require('nvim-tree.explorer.explore') -218.180 000.102 000.102: require('nvim-tree.explorer.reload') -218.193 001.736 000.150: require('nvim-tree.explorer') -218.201 003.654 000.068: require('nvim-tree.core') -218.320 000.115 000.115: require('nvim-tree.diagnostics') -218.413 000.087 000.087: require('nvim-tree.renderer.components.padding') -218.510 000.093 000.093: require('nvim-tree.renderer.components.icons') -218.610 000.095 000.095: require('nvim-tree.renderer.components.full-name') -218.693 000.078 000.078: require('nvim-tree.renderer.help') -218.820 000.122 000.122: require('nvim-tree.renderer.components.git') -218.949 000.124 000.124: require('nvim-tree.renderer.builder') -219.045 000.091 000.091: require('nvim-tree.marks') -219.065 004.592 000.133: require('nvim-tree.renderer') -219.158 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') -219.256 000.094 000.094: require('nvim-tree.actions.root.dir-up') -219.354 000.092 000.092: require('nvim-tree.actions.root.change-dir') -219.445 000.087 000.087: require('nvim-tree.actions.reloaders.reloaders') -219.533 000.082 000.082: require('nvim-tree.actions.finders.find-file') -219.538 005.136 000.107: require('nvim-tree.lib') -219.654 000.112 000.112: require('nvim-tree.colors') -219.809 000.149 000.149: require('nvim-tree.legacy') -219.940 000.126 000.126: require('nvim-tree.actions.fs.copy-paste') -220.210 000.120 000.120: require('nvim-tree.actions.tree-modifiers.expand-all') -220.313 000.096 000.096: require('nvim-tree.actions.tree-modifiers.toggles') -220.456 000.134 000.134: require('nvim-tree.actions.fs.create-file') -220.597 000.133 000.133: require('nvim-tree.actions.fs.rename-file') -220.741 000.133 000.133: require('nvim-tree.actions.fs.trash') -220.840 000.093 000.093: require('nvim-tree.actions.fs.remove-file') -220.929 000.079 000.079: require('nvim-tree.actions.moves.parent') -221.015 000.081 000.081: require('nvim-tree.actions.moves.sibling') -221.098 000.078 000.078: require('nvim-tree.actions.moves.item') -221.197 000.085 000.085: require('nvim-tree.actions.finders.search-node') -221.282 000.080 000.080: require('nvim-tree.actions.node.run-command') -221.377 000.090 000.090: require('nvim-tree.actions.node.file-popup') -221.479 000.097 000.097: require('nvim-tree.actions.node.system-open') -221.574 000.084 000.084: require('nvim-tree.marks.bulk-move') -221.586 001.639 000.257: require('nvim-tree.actions.dispatch') -221.649 007.424 000.262: require('nvim-tree') -221.726 000.073 000.073: require('nvim-tree.config') -225.771 000.220 000.220: require('nvim-tree.actions') -225.914 000.131 000.131: require('nvim-tree.actions.node.open-file') -230.601 000.428 000.428: require('nvim-tree.marks.navigation') -230.613 000.910 000.482: require('nvim-tree.api') -230.739 001.334 000.423: require('nvim-tree.keymap') -232.960 001.583 001.583: require('nvim-web-devicons') -237.002 022.861 012.097: require('plugins.nvim-tree') -237.294 000.076 000.076: require('lualine_require') -237.847 000.737 000.661: require('lualine') -237.917 000.063 000.063: require('plugins.linecolor') -245.353 000.079 000.079: require('lualine.utils.mode') -247.774 010.763 009.884: require('plugins.lualine') -247.783 146.914 006.650: sourcing /home/sxrdusr/.config/nvim/init.lua -247.800 009.697: sourcing vimrc file(s) -248.092 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -249.536 000.063 000.063: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.lua -252.421 002.539 002.539: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.vim -255.626 000.259 000.259: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/synload.vim -255.875 002.652 002.393: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/syntax.vim -264.298 002.416 002.416: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/gzip.vim -264.568 000.071 000.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/health.vim -268.136 002.317 002.317: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -268.581 003.942 001.625: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchit.vim -269.046 000.402 000.402: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchparen.vim -269.193 000.077 000.077: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/netrwPlugin.vim -269.596 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -269.616 000.360 000.339: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/rplugin.vim -269.864 000.186 000.186: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/shada.vim -270.034 000.101 000.101: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/spellfile.vim -270.474 000.343 000.343: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tarPlugin.vim -270.876 000.269 000.269: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tohtml.vim -271.243 000.249 000.249: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tutor.vim -273.325 001.871 001.871: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/zipPlugin.vim -275.008 001.252 001.252: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -276.428 000.132 000.132: require('lspsaga') -276.723 000.115 000.115: require('lspsaga.window') -276.745 000.219 000.104: require('lspsaga.libs') -277.875 000.496 000.496: require('vim.lsp.log') -278.559 000.676 000.676: require('vim.lsp.protocol') -279.115 000.243 000.243: require('vim.lsp._snippet') -279.299 000.178 000.178: require('vim.highlight') -279.329 000.762 000.341: require('vim.lsp.util') -279.348 002.182 000.248: require('vim.lsp.handlers') -279.618 000.266 000.266: require('vim.lsp.rpc') -279.748 000.123 000.123: require('vim.lsp.sync') -279.924 000.169 000.169: require('vim.lsp.buf') -280.123 000.193 000.193: require('vim.lsp.diagnostic') -280.307 000.178 000.178: require('vim.lsp.codelens') -280.454 003.614 000.502: require('vim.lsp') -280.531 000.069 000.069: require('lspsaga.wrap') -280.541 003.792 000.109: require('lspsaga.codeaction') -280.582 004.146 000.135: require('lspsaga.lightbulb') -280.712 000.090 000.090: require('lspsaga.lspkind') -280.888 000.054 000.054: require('mason-core.path') -280.905 000.127 000.073: require('mason.settings') -281.098 000.053 000.053: require('mason-core.functional.data') -281.107 000.120 000.067: require('mason-core.functional.function') -281.164 000.255 000.135: require('mason-core.platform') -281.169 000.446 000.064: require('mason') -281.386 000.115 000.115: require('mason-core.functional') -281.494 000.089 000.089: require('mason-core.functional.list') -281.542 000.350 000.146: require('mason.api.command') -281.730 000.105 000.105: require('mason-core.log') -281.740 000.194 000.089: require('mason-lspconfig') -281.808 000.064 000.064: require('mason-lspconfig.settings') -281.901 000.076 000.076: require('mason-lspconfig.lspconfig_hook') -282.200 000.294 000.294: require('lspconfig.util') -282.434 000.073 000.073: require('mason-core.functional.table') -282.539 000.313 000.240: require('mason-lspconfig.mappings.server') -282.810 000.086 000.086: require('mason-core.async') -282.878 000.061 000.061: require('mason-core.async.uv') -282.892 000.271 000.124: require('mason-core.fs') -282.962 000.066 000.066: require('mason-core.optional') -283.034 000.068 000.068: require('mason-core.EventEmitter') -283.206 000.167 000.167: require('mason-registry.index') -283.228 000.682 000.110: require('mason-registry') -283.298 000.066 000.066: require('mason-lspconfig.server_config_extensions') -283.428 000.125 000.125: require('lspconfig.configs') -283.560 000.087 000.087: require('lspconfig.server_configurations.omnisharp') -283.773 000.072 000.072: require('mason-lspconfig.ensure_installed') -284.028 000.072 000.072: require('mason-core.result') -284.440 000.229 000.229: require('mason-core.process') -284.519 000.070 000.070: require('mason-core.functional.relation') -284.595 000.067 000.067: require('mason-core.functional.logic') -284.608 000.468 000.101: require('mason-core.spawn') -284.698 000.085 000.085: require('mason-core.receipt') -284.781 000.071 000.071: require('mason-core.functional.string') -284.810 000.776 000.153: require('mason-core.installer.context') -284.890 000.076 000.076: require('mason-core.installer.linker') -284.972 000.078 000.078: require('mason-core.async.control') -284.981 001.107 000.105: require('mason-core.installer') -285.078 000.094 000.094: require('mason-core.installer.handle') -285.427 000.066 000.066: require('mason-core.managers.powershell') -285.433 000.140 000.074: require('mason-core.fetch') -285.436 000.205 000.065: require('mason-core.managers.cargo.client') -285.472 000.319 000.114: require('mason-core.managers.cargo') -285.581 000.104 000.104: require('mason-core.managers.composer') -285.755 000.169 000.169: require('mason-core.managers.gem') -285.850 000.089 000.089: require('mason-core.managers.git') -286.034 000.095 000.095: require('mason-core.managers.std') -286.124 000.084 000.084: require('mason-core.managers.github.client') -286.134 000.279 000.099: require('mason-core.managers.github') -286.323 000.186 000.186: require('mason-core.managers.go') -286.458 000.129 000.129: require('mason-core.managers.luarocks') -286.603 000.139 000.139: require('mason-core.managers.npm') -286.811 000.202 000.202: require('mason-core.managers.pip3') -286.831 001.746 000.130: require('mason-core.package.version-check') -286.851 003.071 000.124: require('mason-core.package') -287.185 000.212 000.212: require('mason-registry.lua-language-server') -287.599 000.121 000.121: require('mason-registry.clangd') -287.807 000.156 000.156: require('mason-registry.rust-analyzer') -287.971 000.059 000.059: require('mason-core.notify') -288.048 000.070 000.070: require('mason-core.functional.number') -288.105 000.288 000.159: require('mason-lspconfig.api.command') -288.111 012.924 001.940: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -289.627 000.116 000.116: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/man.lua -289.926 012.241: loading rtp plugins -291.669 000.068 000.068: require('Comment.config') -291.770 000.093 000.093: require('Comment.utils') -291.845 000.070 000.070: require('Comment.opfunc') -291.913 000.063 000.063: require('Comment.extra') -291.931 000.454 000.161: require('Comment.api') -292.336 000.918 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -293.020 000.065 000.065: require('luasnip.util.types') -293.097 000.070 000.070: require('luasnip.util.ext_opts') -293.175 000.073 000.073: require('luasnip.extras.filetype_functions') -293.253 000.073 000.073: require('luasnip.session') -293.586 000.123 000.123: require('luasnip.util.util') -293.668 000.075 000.075: require('luasnip.nodes.util') -293.740 000.067 000.067: require('luasnip.util.events') -293.759 000.415 000.150: require('luasnip.nodes.node') -293.874 000.069 000.069: require('luasnip.util.extend_decorator') -293.890 000.632 000.147: require('luasnip.nodes.insertNode') -294.141 000.080 000.080: require('luasnip.util.mark') -294.372 000.092 000.092: require('luasnip.nodes.textNode') -295.150 000.699 000.699: require('luasnip.util._builtin_vars') -295.399 001.020 000.321: require('luasnip.util.environ') -295.489 000.083 000.083: require('luasnip.util.pattern_tokenizer') -295.557 000.063 000.063: require('luasnip.util.dict') -295.649 000.087 000.087: require('luasnip.session.snippet_collection') -295.706 001.558 000.213: require('luasnip.nodes.snippet') -295.735 001.841 000.203: require('luasnip.nodes.choiceNode') -295.954 000.158 000.158: require('luasnip.nodes.functionNode') -296.138 000.175 000.175: require('luasnip.nodes.dynamicNode') -296.263 000.119 000.119: require('luasnip.nodes.restoreNode') -296.351 000.082 000.082: require('luasnip.extras') -298.885 000.081 000.081: require('luasnip.util.str') -298.898 002.540 002.459: require('luasnip.extras.fmt') -298.964 000.061 000.061: require('luasnip.extras.expand_conditions') -299.206 000.074 000.074: require('luasnip.util.parser.neovim_ast') -310.443 000.088 000.088: require('luasnip.util.directed_graph') -310.466 011.416 011.254: require('luasnip.util.parser.ast_utils') -310.629 000.069 000.069: require('luasnip.util.functions') -310.643 000.173 000.103: require('luasnip.util.parser.ast_parser') -310.828 000.181 000.181: require('luasnip.util.parser.neovim_parser') -310.841 011.869 000.099: require('luasnip.util.parser') -310.920 000.075 000.075: require('luasnip.nodes.absolute_indexer') -311.421 018.589 000.756: require('luasnip.config') -311.587 019.067 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -312.464 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -313.335 000.094 000.094: require('indent_blankline/utils') -313.345 000.250 000.155: require('indent_blankline') -313.879 000.080 000.080: require('indent_blankline.commands') -314.049 001.124 000.794: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -314.476 000.103 000.103: require('lsp-colors') -315.271 000.951 000.848: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -316.489 000.830 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -317.341 000.380 000.380: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -317.862 000.085 000.085: require('cmp.utils.api') -318.005 000.073 000.073: require('cmp.types.cmp') -318.157 000.075 000.075: require('cmp.utils.misc') -318.188 000.177 000.102: require('cmp.types.lsp') -318.250 000.057 000.057: require('cmp.types.vim') -318.255 000.386 000.079: require('cmp.types') -318.323 000.065 000.065: require('cmp.utils.highlight') -318.445 000.056 000.056: require('cmp.utils.debug') -318.463 000.135 000.078: require('cmp.utils.autocmd') -319.108 001.399 000.728: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -319.363 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -319.779 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -320.253 000.163 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -320.855 000.065 000.065: require('nvim-treesitter.statusline') -320.945 000.083 000.083: require('nvim-treesitter.query_predicates') -320.952 000.230 000.082: require('nvim-treesitter') -322.295 000.193 000.193: require('vim.treesitter.highlighter') -322.662 000.704 000.510: require('nvim-treesitter.highlight') -323.417 002.749 001.816: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -323.932 000.256 000.256: require('treesitter-context') -323.942 000.298 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -324.311 000.082 000.082: require('nvim-treesitter-refactor') -324.529 000.327 000.245: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -324.909 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -325.289 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -325.655 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -326.420 000.419 000.419: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -326.828 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -327.883 000.564 000.564: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -328.663 000.487 000.487: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -329.274 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -330.130 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -330.437 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -330.720 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -332.100 010.893: loading packages -333.792 000.490 000.490: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -338.131 005.488 004.998: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -338.944 000.173 000.173: require('cmp.utils.char') -338.960 000.260 000.087: require('cmp.utils.str') -339.037 000.072 000.072: require('cmp.utils.pattern') -339.257 000.059 000.059: require('cmp.utils.buffer') -339.268 000.156 000.097: require('cmp.utils.keymap') -339.279 000.237 000.082: require('cmp.utils.feedkeys') -339.372 000.089 000.089: require('cmp.utils.async') -339.505 000.058 000.058: require('cmp.utils.cache') -339.512 000.135 000.076: require('cmp.context') -339.751 000.077 000.077: require('cmp.config.mapping') -339.918 000.085 000.085: require('cmp.config.compare') -339.924 000.165 000.080: require('cmp.config.default') -339.950 000.350 000.108: require('cmp.config') -340.139 000.066 000.066: require('cmp.matcher') -340.154 000.199 000.133: require('cmp.entry') -340.168 000.653 000.104: require('cmp.source') -340.306 000.058 000.058: require('cmp.utils.event') -340.467 000.084 000.084: require('cmp.utils.window') -340.474 000.163 000.078: require('cmp.view.docs_view') -340.593 000.116 000.116: require('cmp.view.custom_entries_view') -340.706 000.109 000.109: require('cmp.view.wildmenu_entries_view') -340.794 000.083 000.083: require('cmp.view.native_entries_view') -340.869 000.071 000.071: require('cmp.view.ghost_text_view') -340.886 000.715 000.116: require('cmp.view') -340.961 002.378 000.217: require('cmp.core') -341.208 000.064 000.064: require('cmp.config.sources') -341.271 000.055 000.055: require('cmp.config.window') -341.368 002.921 000.423: require('cmp') -341.641 000.060 000.060: require('cmp_buffer.timer') -341.652 000.145 000.085: require('cmp_buffer.buffer') -341.658 000.223 000.078: require('cmp_buffer.source') -341.662 000.289 000.066: require('cmp_buffer') -341.699 003.345 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -342.059 000.148 000.148: require('cmp_cmdline') -342.093 000.222 000.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -342.424 000.070 000.070: require('cmp_nvim_lsp.source') -342.434 000.147 000.076: require('cmp_nvim_lsp') -342.494 000.251 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -342.793 000.115 000.115: require('cmp_path') -342.826 000.184 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -343.121 000.086 000.086: require('cmp_luasnip') -343.190 000.203 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -343.339 001.544: loading after plugins -343.447 000.108: inits 3 -343.452 000.005: reading ShaDa -343.839 000.070 000.070: require('luasnip.loaders._caches') -343.956 000.110 000.110: require('luasnip.util.path') -344.050 000.088 000.088: require('luasnip.loaders.util') -344.269 000.099 000.099: require('luasnip.loaders') -344.305 000.250 000.151: require('luasnip') -344.318 000.637 000.119: require('luasnip.loaders.from_lua') -344.553 000.102 000.102: require('luasnip.nodes.snippetProxy') -344.567 000.203 000.101: require('luasnip.loaders.from_snipmate') -344.694 000.088 000.088: require('luasnip.loaders.from_vscode') -345.712 001.333: opening buffers -345.922 000.210: BufEnter autocommands -345.929 000.007: editing files in windows -363.002 000.669 000.669: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.322 001.322: --- NVIM STARTING --- -029.108 027.786: event init -046.110 017.002: early init -047.930 001.821: locale set -053.675 005.744: init first window -064.058 010.383: inits 1 -064.083 000.025: window checked -064.091 000.008: parsing arguments -075.019 000.133 000.133: require('vim.shared') -075.240 000.108 000.108: require('vim._meta') -075.247 000.218 000.109: require('vim._editor') -075.251 000.404 000.054: require('vim._init_packages') -075.254 010.759: init lua interpreter -075.336 000.082: expanding arguments -077.080 001.744: inits 2 -077.695 000.615: init highlight -077.699 000.004: waiting for UI -080.125 002.426: done waiting for UI -080.175 000.050: init screen for UI -080.470 000.294: init default mappings -080.497 000.027: init default autocommands -091.758 004.623 004.623: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/ftplugin.vim -095.325 001.210 001.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/indent.vim -095.907 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim -095.932 000.182 000.125: sourcing /etc/xdg/nvim/sysinit.vim -111.541 008.988 008.988: require('keys') -115.565 004.013 004.013: require('opts') -120.844 001.016 001.016: require('packer.util') -120.952 004.563 003.547: require('packer') -124.638 001.239 001.239: require('packer.log') -124.655 002.203 000.964: require('packer.async') -126.342 000.685 000.685: require('packer.result') -126.357 001.694 001.009: require('packer.jobs') -126.384 005.338 001.441: require('packer.plugin_utils') -127.605 001.102 001.102: require('packer.snapshot') -129.209 013.625 002.622: require('pack') -145.528 016.305 016.305: require('impatient') -146.779 000.225 000.225: require('vim.treesitter.language') -146.806 000.728 000.503: require('vim.treesitter.query') -148.454 000.354 000.354: require('vim.treesitter.languagetree') -148.543 000.890 000.536: require('vim.treesitter') -148.929 001.667 000.777: require('nvim-treesitter.parsers') -149.095 000.158 000.158: require('nvim-treesitter.utils') -149.110 002.017 000.192: require('nvim-treesitter.ts_utils') -149.127 002.315 000.298: require('nvim-treesitter.tsrange') -149.233 000.101 000.101: require('nvim-treesitter.caching') -149.259 003.314 000.170: require('nvim-treesitter.query') -149.296 003.607 000.293: require('nvim-treesitter.configs') -149.827 000.157 000.157: require('nvim-treesitter.info') -150.068 000.234 000.234: require('nvim-treesitter.shell_command_selectors') -150.133 000.656 000.264: require('nvim-treesitter.install') -198.197 052.650 048.387: require('plugins.treesitter') -198.978 000.175 000.175: require('telescope._extensions') -198.988 000.419 000.244: require('telescope') -199.670 000.080 000.080: require('plenary.bit') -199.751 000.074 000.074: require('plenary.functional') -199.872 000.035 000.035: require('ffi') -199.897 000.444 000.255: require('plenary.path') -199.911 000.544 000.100: require('plenary.strings') -199.991 000.077 000.077: require('telescope.deprecated') -200.551 000.253 000.253: require('plenary.log') -200.660 000.556 000.304: require('telescope.log') -200.909 000.124 000.124: require('plenary.job') -200.988 000.073 000.073: require('telescope.state') -201.011 000.344 000.147: require('telescope.utils') -201.022 001.025 000.124: require('telescope.sorters') -201.131 000.085 000.085: require('vim.inspect') -201.401 000.009 000.009: require('vim.F') -205.141 005.915 004.175: require('telescope.config') -205.454 000.098 000.098: require('plenary.window.border') -206.220 000.759 000.759: require('plenary.window') -206.291 000.062 000.062: require('plenary.popup.utils') -206.300 001.140 000.221: require('plenary.popup') -206.374 000.070 000.070: require('telescope.pickers.scroller') -206.471 000.092 000.092: require('telescope.actions.state') -206.548 000.072 000.072: require('telescope.actions.utils') -206.700 000.070 000.070: require('telescope.actions.mt') -206.731 000.178 000.108: require('telescope.actions.set') -206.953 000.091 000.091: require('telescope.config.resolve') -206.959 000.171 000.080: require('telescope.pickers.entry_display') -207.019 000.056 000.056: require('telescope.from_entry') -207.478 008.486 000.793: require('telescope.actions') -208.123 000.061 000.061: require('plenary.tbl') -208.134 000.133 000.073: require('plenary.vararg.rotate') -208.138 000.196 000.062: require('plenary.vararg') -208.205 000.064 000.064: require('plenary.errors') -208.218 000.340 000.080: require('plenary.async.async') -208.295 000.074 000.074: require('plenary.async.structs') -208.310 000.514 000.100: require('plenary.async.control') -208.644 000.244 000.244: require('telescope.make_entry') -208.929 000.077 000.077: require('plenary.async.util') -208.935 000.142 000.066: require('plenary.async.tests') -208.940 000.220 000.078: require('plenary.async') -208.944 000.295 000.075: require('telescope.finders.async_static_finder') -209.164 000.060 000.060: require('plenary.class') -209.192 000.177 000.117: require('telescope._') -209.197 000.250 000.073: require('telescope.finders.async_oneshot_finder') -209.270 000.070 000.070: require('telescope.finders.async_job_finder') -209.280 000.965 000.106: require('telescope.finders') -209.749 000.157 000.157: require('telescope.debounce') -209.958 000.201 000.201: require('telescope.mappings') -210.050 000.086 000.086: require('telescope.pickers.highlights') -210.123 000.067 000.067: require('telescope.pickers.window') -210.263 000.066 000.066: require('telescope.algos.linked_list') -210.271 000.143 000.078: require('telescope.entry_manager') -210.337 000.064 000.064: require('telescope.pickers.multi') -210.372 001.087 000.369: require('telescope.pickers') -210.386 002.716 000.149: require('telescope.builtin.__lsp') -210.436 002.947 000.231: require('telescope.builtin') -210.773 000.249 000.249: require('fzf_lib') -210.783 000.341 000.092: require('telescope._extensions.fzf') -211.122 000.091 000.091: require('telescope._extensions.file_browser.utils') -211.200 000.319 000.229: require('telescope._extensions.file_browser.actions') -211.438 000.145 000.145: require('telescope._extensions.file_browser.make_entry') -211.592 000.147 000.147: require('plenary.scandir') -211.643 000.439 000.147: require('telescope._extensions.file_browser.finders') -211.726 000.078 000.078: require('telescope._extensions.file_browser.picker') -211.821 000.091 000.091: require('telescope._extensions.file_browser.config') -211.827 001.030 000.102: require('telescope._extensions.file_browser') -215.018 000.012 000.012: require('vim.keymap') -215.222 017.012 003.777: require('plugins.telescope') -216.619 000.066 000.066: require('notify.util.queue') -216.628 000.405 000.339: require('notify.util') -216.852 000.220 000.220: require('notify.config.highlights') -216.866 000.729 000.104: require('notify.config') -217.028 000.158 000.158: require('notify.stages') -217.107 000.072 000.072: require('notify.service.notification') -217.362 000.090 000.090: require('notify.animate.spring') -217.368 000.164 000.074: require('notify.animate') -217.376 000.264 000.100: require('notify.windows') -217.666 000.105 000.105: require('notify.service.buffer.highlights') -217.677 000.209 000.104: require('notify.service.buffer') -217.683 000.304 000.095: require('notify.service') -217.796 000.110 000.110: require('notify.stages.util') -217.806 001.754 000.117: require('notify') -217.895 000.086 000.086: require('nvim-tree.iterators.node-iterator') -217.998 002.054 000.213: require('nvim-tree.utils') -218.018 002.239 000.185: require('nvim-tree.events') -218.391 000.101 000.101: require('nvim-tree.log') -218.565 000.167 000.167: require('nvim-tree.git.utils') -218.670 000.100 000.100: require('nvim-tree.git.runner') -218.777 000.102 000.102: require('nvim-tree.watcher') -218.810 000.653 000.184: require('nvim-tree.git') -218.907 000.093 000.093: require('nvim-tree.explorer.watch') -218.987 000.075 000.075: require('nvim-tree.explorer.common') -219.196 000.087 000.087: require('nvim-tree.explorer.node-builders') -219.280 000.078 000.078: require('nvim-tree.explorer.sorters') -219.363 000.078 000.078: require('nvim-tree.explorer.filters') -219.691 000.235 000.235: require('nvim-tree.view') -219.701 000.334 000.099: require('nvim-tree.live-filter') -219.708 000.677 000.100: require('nvim-tree.explorer.explore') -219.838 000.127 000.127: require('nvim-tree.explorer.reload') -219.849 001.827 000.201: require('nvim-tree.explorer') -219.857 004.139 000.073: require('nvim-tree.core') -219.989 000.129 000.129: require('nvim-tree.diagnostics') -220.084 000.089 000.089: require('nvim-tree.renderer.components.padding') -220.180 000.091 000.091: require('nvim-tree.renderer.components.icons') -220.281 000.097 000.097: require('nvim-tree.renderer.components.full-name') -220.366 000.080 000.080: require('nvim-tree.renderer.help') -220.500 000.128 000.128: require('nvim-tree.renderer.components.git') -220.628 000.123 000.123: require('nvim-tree.renderer.builder') -220.724 000.091 000.091: require('nvim-tree.marks') -220.744 005.108 000.142: require('nvim-tree.renderer') -220.838 000.084 000.084: require('nvim-tree.actions.tree-modifiers.collapse-all') -220.936 000.093 000.093: require('nvim-tree.actions.root.dir-up') -221.036 000.096 000.096: require('nvim-tree.actions.root.change-dir') -221.124 000.082 000.082: require('nvim-tree.actions.reloaders.reloaders') -221.213 000.083 000.083: require('nvim-tree.actions.finders.find-file') -221.219 005.692 000.146: require('nvim-tree.lib') -221.342 000.120 000.120: require('nvim-tree.colors') -221.500 000.151 000.151: require('nvim-tree.legacy') -221.623 000.118 000.118: require('nvim-tree.actions.fs.copy-paste') -221.826 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') -221.919 000.087 000.087: require('nvim-tree.actions.tree-modifiers.toggles') -222.020 000.093 000.093: require('nvim-tree.actions.fs.create-file') -222.111 000.086 000.086: require('nvim-tree.actions.fs.rename-file') -222.241 000.124 000.124: require('nvim-tree.actions.fs.trash') -222.345 000.098 000.098: require('nvim-tree.actions.fs.remove-file') -222.427 000.075 000.075: require('nvim-tree.actions.moves.parent') -222.511 000.079 000.079: require('nvim-tree.actions.moves.sibling') -222.593 000.076 000.076: require('nvim-tree.actions.moves.item') -222.688 000.082 000.082: require('nvim-tree.actions.finders.search-node') -222.768 000.074 000.074: require('nvim-tree.actions.node.run-command') -222.863 000.091 000.091: require('nvim-tree.actions.node.file-popup') -222.971 000.103 000.103: require('nvim-tree.actions.node.system-open') -223.078 000.099 000.099: require('nvim-tree.marks.bulk-move') -223.086 001.453 000.198: require('nvim-tree.actions.dispatch') -223.158 007.841 000.307: require('nvim-tree') -223.239 000.076 000.076: require('nvim-tree.config') -227.868 000.224 000.224: require('nvim-tree.actions') -228.009 000.128 000.128: require('nvim-tree.actions.node.open-file') -232.689 000.182 000.182: require('nvim-tree.marks.navigation') -232.700 000.678 000.496: require('nvim-tree.api') -232.818 001.097 000.419: require('nvim-tree.keymap') -234.928 001.392 001.392: require('nvim-web-devicons') -238.932 023.703 012.946: require('plugins.nvim-tree') -239.221 000.075 000.075: require('lualine_require') -239.776 000.738 000.663: require('lualine') -239.865 000.078 000.078: require('plugins.linecolor') -248.350 000.085 000.085: require('lualine.utils.mode') -250.201 011.260 010.360: require('plugins.lualine') -250.210 154.176 006.621: sourcing /home/sxrdusr/.config/nvim/init.lua -250.227 009.539: sourcing vimrc file(s) -250.562 000.098 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -251.765 000.124 000.124: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.lua -253.184 001.213 001.213: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.vim -255.318 000.259 000.259: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/synload.vim -255.565 001.872 001.613: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/syntax.vim -261.462 001.488 001.488: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/gzip.vim -261.738 000.176 000.176: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/health.vim -264.612 001.404 001.404: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -265.083 003.248 001.845: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchit.vim -265.547 000.397 000.397: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchparen.vim -265.699 000.083 000.083: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/netrwPlugin.vim -266.102 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -266.122 000.357 000.335: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/rplugin.vim -266.369 000.188 000.188: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/shada.vim -266.530 000.085 000.085: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/spellfile.vim -266.916 000.319 000.319: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tarPlugin.vim -267.194 000.210 000.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tohtml.vim -267.330 000.070 000.070: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tutor.vim -268.418 001.023 001.023: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/zipPlugin.vim -269.943 001.270 001.270: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -271.634 000.129 000.129: require('lspsaga') -271.896 000.081 000.081: require('lspsaga.window') -271.917 000.184 000.103: require('lspsaga.libs') -272.998 000.411 000.411: require('vim.lsp.log') -273.656 000.651 000.651: require('vim.lsp.protocol') -274.070 000.175 000.175: require('vim.lsp._snippet') -274.203 000.126 000.126: require('vim.highlight') -274.231 000.567 000.267: require('vim.lsp.util') -274.265 001.891 000.262: require('vim.lsp.handlers') -274.453 000.184 000.184: require('vim.lsp.rpc') -274.578 000.119 000.119: require('vim.lsp.sync') -274.751 000.165 000.165: require('vim.lsp.buf') -274.881 000.123 000.123: require('vim.lsp.diagnostic') -275.010 000.123 000.123: require('vim.lsp.codelens') -275.159 003.151 000.545: require('vim.lsp') -275.236 000.070 000.070: require('lspsaga.wrap') -275.247 003.325 000.105: require('lspsaga.codeaction') -275.287 003.644 000.134: require('lspsaga.lightbulb') -275.414 000.089 000.089: require('lspsaga.lspkind') -275.590 000.054 000.054: require('mason-core.path') -275.607 000.128 000.074: require('mason.settings') -275.797 000.052 000.052: require('mason-core.functional.data') -275.805 000.118 000.066: require('mason-core.functional.function') -275.841 000.229 000.112: require('mason-core.platform') -275.846 000.421 000.063: require('mason') -276.050 000.105 000.105: require('mason-core.functional') -276.160 000.089 000.089: require('mason-core.functional.list') -276.208 000.340 000.145: require('mason.api.command') -276.402 000.108 000.108: require('mason-core.log') -276.410 000.197 000.090: require('mason-lspconfig') -276.490 000.077 000.077: require('mason-lspconfig.settings') -276.585 000.076 000.076: require('mason-lspconfig.lspconfig_hook') -276.984 000.394 000.394: require('lspconfig.util') -277.217 000.066 000.066: require('mason-core.functional.table') -277.322 000.301 000.235: require('mason-lspconfig.mappings.server') -277.585 000.082 000.082: require('mason-core.async') -277.652 000.061 000.061: require('mason-core.async.uv') -277.666 000.262 000.119: require('mason-core.fs') -277.743 000.073 000.073: require('mason-core.optional') -277.812 000.064 000.064: require('mason-core.EventEmitter') -277.971 000.155 000.155: require('mason-registry.index') -277.991 000.663 000.110: require('mason-registry') -278.063 000.068 000.068: require('mason-lspconfig.server_config_extensions') -278.159 000.090 000.090: require('lspconfig.configs') -278.284 000.081 000.081: require('lspconfig.server_configurations.omnisharp') -278.517 000.076 000.076: require('mason-lspconfig.ensure_installed') -278.766 000.073 000.073: require('mason-core.result') -279.162 000.221 000.221: require('mason-core.process') -279.239 000.069 000.069: require('mason-core.functional.relation') -279.313 000.067 000.067: require('mason-core.functional.logic') -279.329 000.457 000.101: require('mason-core.spawn') -279.415 000.081 000.081: require('mason-core.receipt') -279.500 000.070 000.070: require('mason-core.functional.string') -279.530 000.758 000.149: require('mason-core.installer.context') -279.606 000.072 000.072: require('mason-core.installer.linker') -279.689 000.079 000.079: require('mason-core.async.control') -279.698 001.086 000.104: require('mason-core.installer') -279.814 000.113 000.113: require('mason-core.installer.handle') -280.159 000.069 000.069: require('mason-core.managers.powershell') -280.165 000.145 000.076: require('mason-core.fetch') -280.169 000.203 000.059: require('mason-core.managers.cargo.client') -280.199 000.311 000.107: require('mason-core.managers.cargo') -280.306 000.103 000.103: require('mason-core.managers.composer') -280.419 000.108 000.108: require('mason-core.managers.gem') -280.507 000.083 000.083: require('mason-core.managers.git') -280.683 000.090 000.090: require('mason-core.managers.std') -280.766 000.078 000.078: require('mason-core.managers.github.client') -280.780 000.268 000.100: require('mason-core.managers.github') -280.887 000.104 000.104: require('mason-core.managers.go') -281.031 000.139 000.139: require('mason-core.managers.luarocks') -281.318 000.281 000.281: require('mason-core.managers.npm') -281.444 000.120 000.120: require('mason-core.managers.pip3') -281.459 001.638 000.121: require('mason-core.package.version-check') -281.468 002.944 000.107: require('mason-core.package') -281.574 000.088 000.088: require('mason-registry.lua-language-server') -281.992 000.116 000.116: require('mason-registry.clangd') -282.246 000.198 000.198: require('mason-registry.rust-analyzer') -282.408 000.057 000.057: require('mason-core.notify') -282.484 000.066 000.066: require('mason-core.functional.number') -282.540 000.284 000.160: require('mason-lspconfig.api.command') -282.547 012.419 002.143: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -283.519 000.094 000.094: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/man.lua -283.761 008.799: loading rtp plugins -285.454 000.072 000.072: require('Comment.config') -285.549 000.088 000.088: require('Comment.utils') -285.625 000.070 000.070: require('Comment.opfunc') -285.695 000.065 000.065: require('Comment.extra') -285.711 000.458 000.163: require('Comment.api') -286.065 000.870 000.412: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -286.768 000.069 000.069: require('luasnip.util.types') -286.846 000.071 000.071: require('luasnip.util.ext_opts') -286.923 000.072 000.072: require('luasnip.extras.filetype_functions') -286.996 000.068 000.068: require('luasnip.session') -287.298 000.115 000.115: require('luasnip.util.util') -287.380 000.076 000.076: require('luasnip.nodes.util') -287.446 000.060 000.060: require('luasnip.util.events') -287.467 000.372 000.121: require('luasnip.nodes.node') -287.583 000.069 000.069: require('luasnip.util.extend_decorator') -287.594 000.593 000.152: require('luasnip.nodes.insertNode') -287.879 000.086 000.086: require('luasnip.util.mark') -288.102 000.087 000.087: require('luasnip.nodes.textNode') -288.965 000.784 000.784: require('luasnip.util._builtin_vars') -289.156 001.047 000.263: require('luasnip.util.environ') -289.245 000.082 000.082: require('luasnip.util.pattern_tokenizer') -289.318 000.068 000.068: require('luasnip.util.dict') -289.407 000.084 000.084: require('luasnip.session.snippet_collection') -289.464 001.578 000.210: require('luasnip.nodes.snippet') -289.482 001.884 000.220: require('luasnip.nodes.choiceNode') -289.656 000.108 000.108: require('luasnip.nodes.functionNode') -289.832 000.169 000.169: require('luasnip.nodes.dynamicNode') -289.954 000.115 000.115: require('luasnip.nodes.restoreNode') -291.929 001.969 001.969: require('luasnip.extras') -292.090 000.062 000.062: require('luasnip.util.str') -292.099 000.159 000.097: require('luasnip.extras.fmt') -292.163 000.060 000.060: require('luasnip.extras.expand_conditions') -292.402 000.072 000.072: require('luasnip.util.parser.neovim_ast') -302.428 000.095 000.095: require('luasnip.util.directed_graph') -302.448 010.211 010.044: require('luasnip.util.parser.ast_utils') -302.614 000.071 000.071: require('luasnip.util.functions') -302.625 000.171 000.100: require('luasnip.util.parser.ast_parser') -302.778 000.150 000.150: require('luasnip.util.parser.neovim_parser') -302.795 010.626 000.094: require('luasnip.util.parser') -302.866 000.066 000.066: require('luasnip.nodes.absolute_indexer') -303.377 016.798 000.767: require('luasnip.config') -303.545 017.302 000.504: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -304.431 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -305.901 000.877 000.877: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -306.799 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -307.353 000.100 000.100: require('cmp.utils.api') -307.486 000.063 000.063: require('cmp.types.cmp') -307.645 000.078 000.078: require('cmp.utils.misc') -307.676 000.183 000.105: require('cmp.types.lsp') -307.736 000.056 000.056: require('cmp.types.vim') -307.742 000.382 000.079: require('cmp.types') -307.810 000.065 000.065: require('cmp.utils.highlight') -307.933 000.056 000.056: require('cmp.utils.debug') -307.951 000.136 000.080: require('cmp.utils.autocmd') -308.471 001.284 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -308.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -309.148 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -309.640 000.196 000.196: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -310.274 000.069 000.069: require('nvim-treesitter.statusline') -310.361 000.080 000.080: require('nvim-treesitter.query_predicates') -310.368 000.231 000.083: require('nvim-treesitter') -311.777 000.241 000.241: require('vim.treesitter.highlighter') -312.243 000.859 000.618: require('nvim-treesitter.highlight') -312.932 002.859 001.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -313.468 000.264 000.264: require('treesitter-context') -313.478 000.308 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -313.858 000.083 000.083: require('nvim-treesitter-refactor') -314.072 000.327 000.244: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -314.445 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -314.840 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -315.176 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -315.945 000.415 000.415: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -316.320 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -317.353 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -318.205 000.523 000.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -318.818 000.355 000.355: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -319.671 000.596 000.596: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -319.991 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -320.278 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -321.792 010.515: loading packages -323.446 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -327.698 005.367 004.898: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -328.389 000.115 000.115: require('cmp.utils.char') -328.404 000.200 000.085: require('cmp.utils.str') -328.474 000.065 000.065: require('cmp.utils.pattern') -328.690 000.060 000.060: require('cmp.utils.buffer') -328.713 000.165 000.105: require('cmp.utils.keymap') -328.722 000.244 000.078: require('cmp.utils.feedkeys') -328.808 000.082 000.082: require('cmp.utils.async') -328.940 000.058 000.058: require('cmp.utils.cache') -328.948 000.134 000.076: require('cmp.context') -329.187 000.077 000.077: require('cmp.config.mapping') -329.353 000.084 000.084: require('cmp.config.compare') -329.359 000.164 000.080: require('cmp.config.default') -329.384 000.345 000.104: require('cmp.config') -329.559 000.066 000.066: require('cmp.matcher') -329.570 000.182 000.115: require('cmp.entry') -329.584 000.633 000.106: require('cmp.source') -329.722 000.058 000.058: require('cmp.utils.event') -329.918 000.086 000.086: require('cmp.utils.window') -329.930 000.203 000.117: require('cmp.view.docs_view') -330.048 000.115 000.115: require('cmp.view.custom_entries_view') -330.163 000.110 000.110: require('cmp.view.wildmenu_entries_view') -330.251 000.082 000.082: require('cmp.view.native_entries_view') -330.331 000.076 000.076: require('cmp.view.ghost_text_view') -330.346 000.758 000.114: require('cmp.view') -330.416 002.325 000.209: require('cmp.core') -330.712 000.066 000.066: require('cmp.config.sources') -330.779 000.059 000.059: require('cmp.config.window') -330.877 002.905 000.453: require('cmp') -331.159 000.067 000.067: require('cmp_buffer.timer') -331.171 000.152 000.086: require('cmp_buffer.buffer') -331.177 000.233 000.081: require('cmp_buffer.source') -331.181 000.299 000.066: require('cmp_buffer') -331.276 003.361 000.157: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -331.654 000.153 000.153: require('cmp_cmdline') -331.685 000.231 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -332.024 000.071 000.071: require('cmp_nvim_lsp.source') -332.032 000.150 000.079: require('cmp_nvim_lsp') -332.086 000.248 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -332.388 000.114 000.114: require('cmp_path') -332.423 000.187 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -332.706 000.086 000.086: require('cmp_luasnip') -332.774 000.201 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -332.928 001.541: loading after plugins -332.955 000.027: inits 3 -332.969 000.014: reading ShaDa -333.378 000.068 000.068: require('luasnip.loaders._caches') -333.497 000.113 000.113: require('luasnip.util.path') -333.589 000.086 000.086: require('luasnip.loaders.util') -333.813 000.099 000.099: require('luasnip.loaders') -333.855 000.260 000.161: require('luasnip') -333.862 000.635 000.108: require('luasnip.loaders.from_lua') -334.083 000.069 000.069: require('luasnip.nodes.snippetProxy') -334.095 000.168 000.099: require('luasnip.loaders.from_snipmate') -334.263 000.091 000.091: require('luasnip.loaders.from_vscode') -334.302 000.439: opening buffers -334.522 000.221: BufEnter autocommands -334.529 000.007: editing files in windows -349.099 000.632 000.632: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.170 001.170: --- NVIM STARTING --- -030.530 029.361: event init -047.939 017.409: early init -049.639 001.699: locale set -055.163 005.524: init first window -064.966 009.803: inits 1 -064.989 000.023: window checked -064.997 000.009: parsing arguments -076.902 000.266 000.266: require('vim.shared') -077.425 000.241 000.241: require('vim._meta') -077.438 000.513 000.273: require('vim._editor') -077.446 000.901 000.121: require('vim._init_packages') -077.454 011.555: init lua interpreter -077.612 000.158: expanding arguments -079.498 001.886: inits 2 -080.971 001.472: init highlight -080.983 000.012: waiting for UI -084.759 003.776: done waiting for UI -084.791 000.032: init screen for UI -085.030 000.239: init default mappings -085.056 000.027: init default autocommands -095.848 004.168 004.168: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/ftplugin.vim -098.579 001.149 001.149: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/indent.vim -099.101 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim -099.127 000.187 000.129: sourcing /etc/xdg/nvim/sysinit.vim -113.526 006.784 006.784: require('keys') -118.451 004.902 004.902: require('opts') -123.870 001.098 001.098: require('packer.util') -124.002 004.774 003.676: require('packer') -128.144 001.664 001.664: require('packer.log') -128.165 002.615 000.951: require('packer.async') -129.891 000.733 000.733: require('packer.result') -129.909 001.735 001.003: require('packer.jobs') -129.934 005.826 001.476: require('packer.plugin_utils') -131.122 001.143 001.143: require('packer.snapshot') -132.785 014.316 002.573: require('pack') -150.741 017.940 017.940: require('impatient') -152.207 000.384 000.384: require('vim.treesitter.language') -152.241 001.024 000.640: require('vim.treesitter.query') -154.123 000.382 000.382: require('vim.treesitter.languagetree') -154.235 000.878 000.495: require('vim.treesitter') -154.661 001.800 000.922: require('nvim-treesitter.parsers') -154.846 000.176 000.176: require('nvim-treesitter.utils') -154.867 002.236 000.260: require('nvim-treesitter.ts_utils') -154.881 002.633 000.396: require('nvim-treesitter.tsrange') -154.997 000.111 000.111: require('nvim-treesitter.caching') -155.031 003.990 000.223: require('nvim-treesitter.query') -155.071 004.197 000.207: require('nvim-treesitter.configs') -155.678 000.124 000.124: require('nvim-treesitter.info') -155.935 000.250 000.250: require('nvim-treesitter.shell_command_selectors') -156.003 000.658 000.284: require('nvim-treesitter.install') -196.263 045.502 040.647: require('plugins.treesitter') -197.005 000.512 000.512: require('telescope._extensions') -197.018 000.617 000.105: require('telescope') -199.073 000.401 000.401: require('plenary.bit') -199.180 000.097 000.097: require('plenary.functional') -199.240 000.036 000.036: require('ffi') -199.268 000.818 000.284: require('plenary.path') -199.284 001.226 000.408: require('plenary.strings') -199.445 000.157 000.157: require('telescope.deprecated') -200.029 000.248 000.248: require('plenary.log') -200.134 000.426 000.178: require('telescope.log') -200.532 000.213 000.213: require('plenary.job') -200.629 000.089 000.089: require('telescope.state') -200.646 000.505 000.204: require('telescope.utils') -200.657 001.204 000.273: require('telescope.sorters') -200.775 000.085 000.085: require('vim.inspect') -201.684 000.015 000.015: require('vim.F') -205.169 007.578 004.892: require('telescope.config') -205.905 000.559 000.559: require('plenary.window.border') -206.101 000.187 000.187: require('plenary.window') -206.179 000.070 000.070: require('plenary.popup.utils') -206.188 001.009 000.193: require('plenary.popup') -206.310 000.117 000.117: require('telescope.pickers.scroller') -206.392 000.076 000.076: require('telescope.actions.state') -206.466 000.069 000.069: require('telescope.actions.utils') -206.670 000.115 000.115: require('telescope.actions.mt') -206.709 000.238 000.123: require('telescope.actions.set') -206.910 000.069 000.069: require('telescope.config.resolve') -206.917 000.151 000.082: require('telescope.pickers.entry_display') -207.087 000.167 000.167: require('telescope.from_entry') -207.560 010.538 001.131: require('telescope.actions') -208.168 000.061 000.061: require('plenary.tbl') -208.181 000.140 000.079: require('plenary.vararg.rotate') -208.185 000.204 000.064: require('plenary.vararg') -208.245 000.057 000.057: require('plenary.errors') -208.257 000.341 000.080: require('plenary.async.async') -208.335 000.075 000.075: require('plenary.async.structs') -208.347 000.510 000.095: require('plenary.async.control') -208.643 000.208 000.208: require('telescope.make_entry') -208.923 000.079 000.079: require('plenary.async.util') -208.929 000.145 000.066: require('plenary.async.tests') -208.934 000.214 000.069: require('plenary.async') -208.939 000.290 000.075: require('telescope.finders.async_static_finder') -209.161 000.064 000.064: require('plenary.class') -209.184 000.169 000.105: require('telescope._') -209.189 000.247 000.079: require('telescope.finders.async_oneshot_finder') -209.264 000.072 000.072: require('telescope.finders.async_job_finder') -209.274 000.922 000.105: require('telescope.finders') -209.542 000.077 000.077: require('telescope.debounce') -209.743 000.195 000.195: require('telescope.mappings') -209.838 000.088 000.088: require('telescope.pickers.highlights') -209.914 000.071 000.071: require('telescope.pickers.window') -210.064 000.074 000.074: require('telescope.algos.linked_list') -210.072 000.153 000.080: require('telescope.entry_manager') -210.141 000.066 000.066: require('telescope.pickers.multi') -210.172 000.894 000.244: require('telescope.pickers') -210.187 002.467 000.140: require('telescope.builtin.__lsp') -210.211 002.643 000.176: require('telescope.builtin') -210.537 000.239 000.239: require('fzf_lib') -210.552 000.335 000.096: require('telescope._extensions.fzf') -210.882 000.094 000.094: require('telescope._extensions.file_browser.utils') -210.984 000.343 000.249: require('telescope._extensions.file_browser.actions') -211.232 000.144 000.144: require('telescope._extensions.file_browser.make_entry') -211.387 000.149 000.149: require('plenary.scandir') -211.441 000.452 000.159: require('telescope._extensions.file_browser.finders') -211.528 000.082 000.082: require('telescope._extensions.file_browser.picker') -211.669 000.136 000.136: require('telescope._extensions.file_browser.config') -211.676 001.113 000.101: require('telescope._extensions.file_browser') -215.882 000.019 000.019: require('vim.keymap') -216.141 019.866 004.600: require('plugins.telescope') -217.337 000.107 000.107: require('notify.util.queue') -217.352 000.200 000.092: require('notify.util') -217.591 000.235 000.235: require('notify.config.highlights') -217.607 000.539 000.104: require('notify.config') -217.684 000.073 000.073: require('notify.stages') -217.757 000.067 000.067: require('notify.service.notification') -218.011 000.090 000.090: require('notify.animate.spring') -218.017 000.152 000.062: require('notify.animate') -218.024 000.263 000.111: require('notify.windows') -218.321 000.139 000.139: require('notify.service.buffer.highlights') -218.332 000.232 000.093: require('notify.service.buffer') -218.340 000.312 000.080: require('notify.service') -218.468 000.126 000.126: require('notify.stages.util') -218.481 001.512 000.133: require('notify') -218.572 000.087 000.087: require('nvim-tree.iterators.node-iterator') -218.665 001.808 000.209: require('nvim-tree.utils') -218.683 001.902 000.094: require('nvim-tree.events') -218.980 000.091 000.091: require('nvim-tree.log') -219.156 000.170 000.170: require('nvim-tree.git.utils') -219.354 000.192 000.192: require('nvim-tree.git.runner') -219.493 000.134 000.134: require('nvim-tree.watcher') -219.506 000.725 000.138: require('nvim-tree.git') -219.640 000.130 000.130: require('nvim-tree.explorer.watch') -219.762 000.117 000.117: require('nvim-tree.explorer.common') -220.044 000.111 000.111: require('nvim-tree.explorer.node-builders') -220.134 000.084 000.084: require('nvim-tree.explorer.sorters') -220.217 000.078 000.078: require('nvim-tree.explorer.filters') -220.565 000.247 000.247: require('nvim-tree.view') -220.581 000.359 000.112: require('nvim-tree.live-filter') -220.588 000.766 000.134: require('nvim-tree.explorer.explore') -220.709 000.117 000.117: require('nvim-tree.explorer.reload') -220.718 002.031 000.176: require('nvim-tree.explorer') -220.726 004.007 000.074: require('nvim-tree.core') -220.909 000.180 000.180: require('nvim-tree.diagnostics') -221.015 000.099 000.099: require('nvim-tree.renderer.components.padding') -221.118 000.098 000.098: require('nvim-tree.renderer.components.icons') -221.226 000.103 000.103: require('nvim-tree.renderer.components.full-name') -221.318 000.088 000.088: require('nvim-tree.renderer.help') -221.462 000.138 000.138: require('nvim-tree.renderer.components.git') -221.608 000.142 000.142: require('nvim-tree.renderer.builder') -221.714 000.101 000.101: require('nvim-tree.marks') -221.737 005.101 000.146: require('nvim-tree.renderer') -221.833 000.087 000.087: require('nvim-tree.actions.tree-modifiers.collapse-all') -221.937 000.098 000.098: require('nvim-tree.actions.root.dir-up') -222.038 000.097 000.097: require('nvim-tree.actions.root.change-dir') -222.133 000.090 000.090: require('nvim-tree.actions.reloaders.reloaders') -222.232 000.093 000.093: require('nvim-tree.actions.finders.find-file') -222.237 005.683 000.118: require('nvim-tree.lib') -222.366 000.125 000.125: require('nvim-tree.colors') -222.542 000.170 000.170: require('nvim-tree.legacy') -222.681 000.133 000.133: require('nvim-tree.actions.fs.copy-paste') -222.892 000.091 000.091: require('nvim-tree.actions.tree-modifiers.expand-all') -223.020 000.122 000.122: require('nvim-tree.actions.tree-modifiers.toggles') -223.130 000.103 000.103: require('nvim-tree.actions.fs.create-file') -223.238 000.102 000.102: require('nvim-tree.actions.fs.rename-file') -223.383 000.139 000.139: require('nvim-tree.actions.fs.trash') -223.530 000.141 000.141: require('nvim-tree.actions.fs.remove-file') -223.668 000.128 000.128: require('nvim-tree.actions.moves.parent') -223.754 000.081 000.081: require('nvim-tree.actions.moves.sibling') -223.838 000.078 000.078: require('nvim-tree.actions.moves.item') -223.939 000.092 000.092: require('nvim-tree.actions.finders.search-node') -224.022 000.078 000.078: require('nvim-tree.actions.node.run-command') -224.119 000.092 000.092: require('nvim-tree.actions.node.file-popup') -224.227 000.103 000.103: require('nvim-tree.actions.node.system-open') -224.338 000.098 000.098: require('nvim-tree.marks.bulk-move') -224.347 001.659 000.211: require('nvim-tree.actions.dispatch') -224.407 008.093 000.322: require('nvim-tree') -224.486 000.074 000.074: require('nvim-tree.config') -229.437 000.237 000.237: require('nvim-tree.actions') -229.603 000.154 000.154: require('nvim-tree.actions.node.open-file') -233.354 000.233 000.233: require('nvim-tree.marks.navigation') -233.364 000.784 000.551: require('nvim-tree.api') -233.479 001.040 000.255: require('nvim-tree.keymap') -236.336 002.170 002.170: require('nvim-web-devicons') -240.525 024.376 012.609: require('plugins.nvim-tree') -240.824 000.077 000.077: require('lualine_require') -241.367 000.729 000.652: require('lualine') -241.438 000.064 000.064: require('plugins.linecolor') -246.560 000.082 000.082: require('lualine.utils.mode') -253.179 012.644 011.770: require('plugins.lualine') -253.188 153.957 007.627: sourcing /home/sxrdusr/.config/nvim/init.lua -253.205 008.688: sourcing vimrc file(s) -253.467 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -254.341 000.051 000.051: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.lua -255.729 001.187 001.187: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.vim -257.642 000.267 000.267: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/synload.vim -257.880 001.755 001.488: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/syntax.vim -263.910 001.409 001.409: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/gzip.vim -264.075 000.066 000.066: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/health.vim -267.945 002.388 002.388: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -268.522 004.362 001.974: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchit.vim -269.029 000.421 000.421: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchparen.vim -269.214 000.092 000.092: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/netrwPlugin.vim -269.707 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -269.729 000.427 000.394: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/rplugin.vim -270.014 000.201 000.201: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/shada.vim -270.210 000.104 000.104: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/spellfile.vim -270.625 000.323 000.323: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tarPlugin.vim -270.959 000.232 000.232: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tohtml.vim -271.133 000.083 000.083: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tutor.vim -272.220 000.996 000.996: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/zipPlugin.vim -273.782 001.296 001.296: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -275.117 001.158 001.158: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -275.996 000.097 000.097: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/man.lua -276.202 008.682: loading rtp plugins -277.568 000.100 000.100: require('Comment.config') -277.655 000.079 000.079: require('Comment.utils') -277.724 000.064 000.064: require('Comment.opfunc') -277.788 000.059 000.059: require('Comment.extra') -277.800 000.452 000.150: require('Comment.api') -278.245 000.948 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -278.890 000.062 000.062: require('luasnip.util.types') -279.005 000.108 000.108: require('luasnip.util.ext_opts') -279.079 000.068 000.068: require('luasnip.extras.filetype_functions') -279.148 000.065 000.065: require('luasnip.session') -279.402 000.098 000.098: require('luasnip.util.util') -279.473 000.066 000.066: require('luasnip.nodes.util') -279.534 000.056 000.056: require('luasnip.util.events') -279.547 000.319 000.099: require('luasnip.nodes.node') -279.674 000.069 000.069: require('luasnip.util.extend_decorator') -279.686 000.533 000.146: require('luasnip.nodes.insertNode') -279.919 000.074 000.074: require('luasnip.util.mark') -280.169 000.139 000.139: require('luasnip.nodes.textNode') -281.040 000.795 000.795: require('luasnip.util._builtin_vars') -281.351 001.174 000.379: require('luasnip.util.environ') -281.437 000.079 000.079: require('luasnip.util.pattern_tokenizer') -281.498 000.056 000.056: require('luasnip.util.dict') -281.575 000.072 000.072: require('luasnip.session.snippet_collection') -281.623 001.697 000.177: require('luasnip.nodes.snippet') -281.637 001.947 000.176: require('luasnip.nodes.choiceNode') -281.746 000.092 000.092: require('luasnip.nodes.functionNode') -281.890 000.138 000.138: require('luasnip.nodes.dynamicNode') -282.120 000.223 000.223: require('luasnip.nodes.restoreNode') -282.206 000.080 000.080: require('luasnip.extras') -282.337 000.058 000.058: require('luasnip.util.str') -282.346 000.132 000.074: require('luasnip.extras.fmt') -282.406 000.056 000.056: require('luasnip.extras.expand_conditions') -282.614 000.065 000.065: require('luasnip.util.parser.neovim_ast') -292.804 000.087 000.087: require('luasnip.util.directed_graph') -292.822 010.347 010.195: require('luasnip.util.parser.ast_utils') -293.128 000.099 000.099: require('luasnip.util.functions') -293.176 000.350 000.251: require('luasnip.util.parser.ast_parser') -293.310 000.128 000.128: require('luasnip.util.parser.neovim_parser') -293.321 010.908 000.083: require('luasnip.util.parser') -293.386 000.062 000.062: require('luasnip.nodes.absolute_indexer') -294.059 015.332 000.858: require('luasnip.config') -294.221 015.792 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -294.977 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -295.967 000.371 000.371: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -296.524 000.083 000.083: require('cmp.utils.api') -296.647 000.059 000.059: require('cmp.types.cmp') -296.839 000.119 000.119: require('cmp.utils.misc') -297.081 000.429 000.310: require('cmp.types.lsp') -297.226 000.138 000.138: require('cmp.types.vim') -297.234 000.702 000.076: require('cmp.types') -297.305 000.067 000.067: require('cmp.utils.highlight') -297.431 000.059 000.059: require('cmp.utils.debug') -297.450 000.140 000.081: require('cmp.utils.autocmd') -298.078 001.706 000.713: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -298.486 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -299.035 000.067 000.067: require('nvim-treesitter.statusline') -299.120 000.078 000.078: require('nvim-treesitter.query_predicates') -299.127 000.230 000.085: require('nvim-treesitter') -300.467 000.465 000.465: require('vim.treesitter.highlighter') -300.868 001.027 000.563: require('nvim-treesitter.highlight') -301.483 002.641 001.383: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -301.941 000.234 000.234: require('treesitter-context') -301.952 000.276 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -302.323 000.085 000.085: require('nvim-treesitter-refactor') -302.482 000.270 000.185: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -302.850 000.115 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -303.268 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -303.688 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -304.627 000.442 000.442: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -305.382 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -305.980 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -307.047 007.082: loading packages -308.141 000.120 000.120: require('cmp.utils.char') -308.156 000.213 000.094: require('cmp.utils.str') -308.227 000.067 000.067: require('cmp.utils.pattern') -308.445 000.058 000.058: require('cmp.utils.buffer') -308.459 000.156 000.099: require('cmp.utils.keymap') -308.467 000.235 000.078: require('cmp.utils.feedkeys') -308.560 000.090 000.090: require('cmp.utils.async') -308.700 000.060 000.060: require('cmp.utils.cache') -308.708 000.142 000.081: require('cmp.context') -308.960 000.082 000.082: require('cmp.config.mapping') -309.130 000.083 000.083: require('cmp.config.compare') -309.135 000.165 000.082: require('cmp.config.default') -309.162 000.364 000.117: require('cmp.config') -309.340 000.067 000.067: require('cmp.matcher') -309.351 000.185 000.119: require('cmp.entry') -309.365 000.655 000.105: require('cmp.source') -309.506 000.060 000.060: require('cmp.utils.event') -309.707 000.096 000.096: require('cmp.utils.window') -309.715 000.204 000.108: require('cmp.view.docs_view') -309.873 000.119 000.119: require('cmp.view.custom_entries_view') -309.983 000.105 000.105: require('cmp.view.wildmenu_entries_view') -310.074 000.086 000.086: require('cmp.view.native_entries_view') -310.155 000.077 000.077: require('cmp.view.ghost_text_view') -310.173 000.804 000.152: require('cmp.view') -310.282 002.463 000.258: require('cmp.core') -310.552 000.080 000.080: require('cmp.config.sources') -310.621 000.061 000.061: require('cmp.config.window') -310.730 003.033 000.429: require('cmp') -311.020 000.062 000.062: require('cmp_buffer.timer') -311.032 000.152 000.089: require('cmp_buffer.buffer') -311.037 000.238 000.087: require('cmp_buffer.source') -311.042 000.307 000.069: require('cmp_buffer') -311.140 003.495 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -311.571 000.162 000.162: require('cmp_cmdline') -311.603 000.289 000.127: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -311.961 000.072 000.072: require('cmp_nvim_lsp.source') -311.969 000.157 000.085: require('cmp_nvim_lsp') -312.022 000.252 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -312.343 000.115 000.115: require('cmp_path') -312.378 000.198 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -313.734 000.697 000.697: require('vim.lsp.protocol') -313.987 000.246 000.246: require('vim.lsp._snippet') -314.131 000.137 000.137: require('vim.highlight') -314.170 001.507 000.427: require('vim.lsp.util') -314.178 001.594 000.087: require('cmp_luasnip') -314.253 001.713 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -314.335 001.341: loading after plugins -314.364 000.028: inits 3 -314.376 000.012: reading ShaDa -314.772 000.072 000.072: require('luasnip.loaders._caches') -314.885 000.106 000.106: require('luasnip.util.path') -314.974 000.083 000.083: require('luasnip.loaders.util') -315.202 000.105 000.105: require('luasnip.loaders') -315.244 000.265 000.160: require('luasnip') -315.251 000.649 000.123: require('luasnip.loaders.from_lua') -315.568 000.075 000.075: require('luasnip.nodes.snippetProxy') -315.581 000.183 000.107: require('luasnip.loaders.from_snipmate') -315.717 000.098 000.098: require('luasnip.loaders.from_vscode') -315.757 000.452: opening buffers -315.967 000.210: BufEnter autocommands -315.973 000.006: editing files in windows -332.180 000.541 000.541: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.440 001.440: --- NVIM STARTING --- -033.506 032.067: event init -051.827 018.320: early init -053.736 001.909: locale set -059.318 005.583: init first window -069.727 010.408: inits 1 -069.752 000.026: window checked -069.761 000.008: parsing arguments -081.649 000.270 000.270: require('vim.shared') -082.171 000.244 000.244: require('vim._meta') -082.184 000.512 000.267: require('vim._editor') -082.192 000.908 000.126: require('vim._init_packages') -082.199 011.531: init lua interpreter -082.371 000.172: expanding arguments -084.237 001.866: inits 2 -085.649 001.412: init highlight -085.660 000.011: waiting for UI -088.638 002.978: done waiting for UI -088.708 000.071: init screen for UI -089.210 000.502: init default mappings -089.266 000.055: init default autocommands -099.603 004.098 004.098: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/ftplugin.vim -102.742 001.689 001.689: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/indent.vim -103.345 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim -103.371 000.184 000.127: sourcing /etc/xdg/nvim/sysinit.vim -120.420 009.662 009.662: require('keys') -125.718 005.274 005.274: require('opts') -131.048 001.043 001.043: require('packer.util') -131.141 004.676 003.633: require('packer') -135.503 001.909 001.909: require('packer.log') -135.523 002.818 000.910: require('packer.async') -137.175 000.657 000.657: require('packer.result') -137.192 001.660 001.003: require('packer.jobs') -137.218 005.968 001.490: require('packer.plugin_utils') -138.471 001.209 001.209: require('packer.snapshot') -139.913 014.177 002.324: require('pack') -157.971 018.042 018.042: require('impatient') -159.695 000.228 000.228: require('vim.treesitter.language') -159.725 000.906 000.678: require('vim.treesitter.query') -161.084 000.390 000.390: require('vim.treesitter.languagetree') -161.183 000.765 000.374: require('vim.treesitter') -161.604 001.571 000.806: require('nvim-treesitter.parsers') -161.821 000.208 000.208: require('nvim-treesitter.utils') -161.843 001.948 000.169: require('nvim-treesitter.ts_utils') -161.860 002.128 000.180: require('nvim-treesitter.tsrange') -162.042 000.176 000.176: require('nvim-treesitter.caching') -162.071 003.524 000.313: require('nvim-treesitter.query') -162.111 003.996 000.471: require('nvim-treesitter.configs') -162.983 000.371 000.371: require('nvim-treesitter.info') -163.160 000.166 000.166: require('nvim-treesitter.shell_command_selectors') -163.230 000.973 000.436: require('nvim-treesitter.install') -201.529 043.537 038.568: require('plugins.treesitter') -201.858 000.117 000.117: require('telescope._extensions') -201.869 000.215 000.098: require('telescope') -202.748 000.087 000.087: require('plenary.bit') -202.837 000.080 000.080: require('plenary.functional') -202.894 000.036 000.036: require('ffi') -202.920 000.413 000.210: require('plenary.path') -202.941 000.534 000.120: require('plenary.strings') -203.036 000.087 000.087: require('telescope.deprecated') -203.433 000.180 000.180: require('plenary.log') -203.526 000.350 000.170: require('telescope.log') -203.805 000.143 000.143: require('plenary.job') -203.893 000.081 000.081: require('telescope.state') -203.912 000.380 000.156: require('telescope.utils') -203.928 000.886 000.156: require('telescope.sorters') -204.097 000.144 000.144: require('vim.inspect') -205.037 000.017 000.017: require('vim.F') -208.736 006.621 004.954: require('telescope.config') -209.238 000.193 000.193: require('plenary.window.border') -209.784 000.538 000.538: require('plenary.window') -209.860 000.069 000.069: require('plenary.popup.utils') -209.870 001.122 000.323: require('plenary.popup') -209.955 000.081 000.081: require('telescope.pickers.scroller') -210.034 000.073 000.073: require('telescope.actions.state') -210.120 000.080 000.080: require('telescope.actions.utils') -210.388 000.082 000.082: require('telescope.actions.mt') -210.427 000.302 000.220: require('telescope.actions.set') -210.812 000.085 000.085: require('telescope.config.resolve') -210.821 000.232 000.147: require('telescope.pickers.entry_display') -210.890 000.066 000.066: require('telescope.from_entry') -211.423 009.549 000.972: require('telescope.actions') -212.041 000.064 000.064: require('plenary.tbl') -212.051 000.140 000.076: require('plenary.vararg.rotate') -212.055 000.208 000.068: require('plenary.vararg') -212.122 000.064 000.064: require('plenary.errors') -212.132 000.357 000.085: require('plenary.async.async') -212.210 000.075 000.075: require('plenary.async.structs') -212.223 000.527 000.095: require('plenary.async.control') -212.539 000.229 000.229: require('telescope.make_entry') -212.832 000.078 000.078: require('plenary.async.util') -212.839 000.148 000.070: require('plenary.async.tests') -212.844 000.222 000.075: require('plenary.async') -212.849 000.304 000.082: require('telescope.finders.async_static_finder') -213.073 000.065 000.065: require('plenary.class') -213.101 000.176 000.110: require('telescope._') -213.107 000.255 000.079: require('telescope.finders.async_oneshot_finder') -213.182 000.072 000.072: require('telescope.finders.async_job_finder') -213.196 000.968 000.108: require('telescope.finders') -213.485 000.082 000.082: require('telescope.debounce') -213.656 000.164 000.164: require('telescope.mappings') -213.782 000.120 000.120: require('telescope.pickers.highlights') -213.862 000.074 000.074: require('telescope.pickers.window') -214.038 000.079 000.079: require('telescope.algos.linked_list') -214.047 000.179 000.101: require('telescope.entry_manager') -214.124 000.074 000.074: require('telescope.pickers.multi') -214.157 000.957 000.264: require('telescope.pickers') -214.173 002.597 000.145: require('telescope.builtin.__lsp') -214.216 002.785 000.188: require('telescope.builtin') -214.575 000.265 000.265: require('fzf_lib') -214.587 000.364 000.099: require('telescope._extensions.fzf') -214.921 000.101 000.101: require('telescope._extensions.file_browser.utils') -215.026 000.349 000.248: require('telescope._extensions.file_browser.actions') -215.273 000.154 000.154: require('telescope._extensions.file_browser.make_entry') -215.417 000.138 000.138: require('plenary.scandir') -215.468 000.437 000.146: require('telescope._extensions.file_browser.finders') -215.551 000.079 000.079: require('telescope._extensions.file_browser.picker') -215.658 000.103 000.103: require('telescope._extensions.file_browser.config') -215.665 001.067 000.100: require('telescope._extensions.file_browser') -220.007 000.023 000.023: require('vim.keymap') -220.326 018.786 004.781: require('plugins.telescope') -221.609 000.069 000.069: require('notify.util.queue') -221.623 000.194 000.125: require('notify.util') -221.878 000.251 000.251: require('notify.config.highlights') -221.888 000.546 000.101: require('notify.config') -222.030 000.137 000.137: require('notify.stages') -222.195 000.158 000.158: require('notify.service.notification') -222.535 000.066 000.066: require('notify.animate.spring') -222.543 000.234 000.168: require('notify.animate') -222.554 000.353 000.119: require('notify.windows') -222.793 000.082 000.082: require('notify.service.buffer.highlights') -222.814 000.184 000.102: require('notify.service.buffer') -222.820 000.261 000.077: require('notify.service') -222.910 000.087 000.087: require('notify.stages.util') -222.920 001.678 000.135: require('notify') -222.997 000.073 000.073: require('nvim-tree.iterators.node-iterator') -223.085 001.979 000.229: require('nvim-tree.utils') -223.099 002.132 000.153: require('nvim-tree.events') -223.342 000.070 000.070: require('nvim-tree.log') -223.507 000.159 000.159: require('nvim-tree.git.utils') -223.603 000.090 000.090: require('nvim-tree.git.runner') -223.692 000.085 000.085: require('nvim-tree.watcher') -223.706 000.526 000.124: require('nvim-tree.git') -223.825 000.116 000.116: require('nvim-tree.explorer.watch') -223.921 000.091 000.091: require('nvim-tree.explorer.common') -224.186 000.113 000.113: require('nvim-tree.explorer.node-builders') -224.289 000.096 000.096: require('nvim-tree.explorer.sorters') -224.436 000.142 000.142: require('nvim-tree.explorer.filters') -224.920 000.367 000.367: require('nvim-tree.view') -224.935 000.493 000.126: require('nvim-tree.live-filter') -224.948 000.968 000.124: require('nvim-tree.explorer.explore') -225.061 000.110 000.110: require('nvim-tree.explorer.reload') -225.071 001.969 000.158: require('nvim-tree.explorer') -225.111 004.209 000.108: require('nvim-tree.core') -225.253 000.138 000.138: require('nvim-tree.diagnostics') -225.338 000.080 000.080: require('nvim-tree.renderer.components.padding') -225.425 000.082 000.082: require('nvim-tree.renderer.components.icons') -225.518 000.089 000.089: require('nvim-tree.renderer.components.full-name') -225.601 000.078 000.078: require('nvim-tree.renderer.help') -225.719 000.113 000.113: require('nvim-tree.renderer.components.git') -225.868 000.144 000.144: require('nvim-tree.renderer.builder') -225.977 000.104 000.104: require('nvim-tree.marks') -226.002 005.207 000.172: require('nvim-tree.renderer') -226.097 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') -226.187 000.085 000.085: require('nvim-tree.actions.root.dir-up') -226.284 000.093 000.093: require('nvim-tree.actions.root.change-dir') -226.372 000.083 000.083: require('nvim-tree.actions.reloaders.reloaders') -226.462 000.084 000.084: require('nvim-tree.actions.finders.find-file') -226.467 005.755 000.119: require('nvim-tree.lib') -226.592 000.121 000.121: require('nvim-tree.colors') -226.766 000.169 000.169: require('nvim-tree.legacy') -226.916 000.145 000.145: require('nvim-tree.actions.fs.copy-paste') -227.109 000.085 000.085: require('nvim-tree.actions.tree-modifiers.expand-all') -227.195 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') -227.297 000.091 000.091: require('nvim-tree.actions.fs.create-file') -227.396 000.094 000.094: require('nvim-tree.actions.fs.rename-file') -227.529 000.127 000.127: require('nvim-tree.actions.fs.trash') -227.629 000.094 000.094: require('nvim-tree.actions.fs.remove-file') -227.737 000.102 000.102: require('nvim-tree.actions.moves.parent') -227.819 000.077 000.077: require('nvim-tree.actions.moves.sibling') -227.903 000.079 000.079: require('nvim-tree.actions.moves.item') -228.001 000.087 000.087: require('nvim-tree.actions.finders.search-node') -228.117 000.111 000.111: require('nvim-tree.actions.node.run-command') -228.214 000.092 000.092: require('nvim-tree.actions.node.file-popup') -228.325 000.106 000.106: require('nvim-tree.actions.node.system-open') -228.423 000.087 000.087: require('nvim-tree.marks.bulk-move') -228.432 001.507 000.196: require('nvim-tree.actions.dispatch') -228.491 008.030 000.333: require('nvim-tree') -228.567 000.071 000.071: require('nvim-tree.config') -233.557 000.315 000.315: require('nvim-tree.actions') -233.708 000.138 000.138: require('nvim-tree.actions.node.open-file') -237.087 000.092 000.092: require('nvim-tree.marks.navigation') -237.098 000.268 000.177: require('nvim-tree.api') -237.135 000.443 000.175: require('nvim-tree.keymap') -238.686 001.052 001.052: require('nvim-web-devicons') -244.255 023.921 013.872: require('plugins.nvim-tree') -245.221 000.395 000.395: require('lualine_require') -246.164 001.579 001.185: require('lualine') -246.240 000.069 000.069: require('plugins.linecolor') -249.546 000.081 000.081: require('lualine.utils.mode') -255.637 011.372 009.643: require('plugins.lualine') -255.647 152.176 007.406: sourcing /home/sxrdusr/.config/nvim/init.lua -255.665 008.252: sourcing vimrc file(s) -255.924 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -257.174 000.058 000.058: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.lua -259.475 002.166 002.166: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.vim -262.509 000.376 000.376: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/synload.vim -262.752 002.375 001.999: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/syntax.vim -268.292 001.428 001.428: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/gzip.vim -268.426 000.061 000.061: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/health.vim -271.039 001.395 001.395: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -271.512 003.018 001.624: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchit.vim -271.977 000.398 000.398: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchparen.vim -272.126 000.080 000.080: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/netrwPlugin.vim -272.541 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -272.561 000.371 000.348: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/rplugin.vim -272.808 000.186 000.186: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/shada.vim -272.959 000.082 000.082: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/spellfile.vim -273.333 000.308 000.308: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tarPlugin.vim -273.622 000.219 000.219: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tohtml.vim -273.757 000.068 000.068: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tutor.vim -274.800 000.978 000.978: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/zipPlugin.vim -276.286 001.257 001.257: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -277.474 001.016 001.016: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -278.325 000.101 000.101: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/man.lua -278.494 008.606: loading rtp plugins -279.975 000.149 000.149: require('Comment.config') -280.069 000.086 000.086: require('Comment.utils') -280.138 000.063 000.063: require('Comment.opfunc') -280.200 000.058 000.058: require('Comment.extra') -280.213 000.601 000.245: require('Comment.api') -280.666 001.108 000.508: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -281.327 000.059 000.059: require('luasnip.util.types') -281.398 000.064 000.064: require('luasnip.util.ext_opts') -281.468 000.065 000.065: require('luasnip.extras.filetype_functions') -281.536 000.063 000.063: require('luasnip.session') -281.783 000.095 000.095: require('luasnip.util.util') -281.853 000.064 000.064: require('luasnip.nodes.util') -281.911 000.054 000.054: require('luasnip.util.events') -281.926 000.314 000.100: require('luasnip.nodes.node') -282.059 000.063 000.063: require('luasnip.util.extend_decorator') -282.070 000.530 000.153: require('luasnip.nodes.insertNode') -282.340 000.076 000.076: require('luasnip.util.mark') -282.529 000.079 000.079: require('luasnip.nodes.textNode') -283.386 000.788 000.788: require('luasnip.util._builtin_vars') -283.668 001.132 000.344: require('luasnip.util.environ') -283.751 000.077 000.077: require('luasnip.util.pattern_tokenizer') -283.811 000.055 000.055: require('luasnip.util.dict') -283.886 000.070 000.070: require('luasnip.session.snippet_collection') -283.934 001.587 000.174: require('luasnip.nodes.snippet') -283.949 001.875 000.212: require('luasnip.nodes.choiceNode') -284.098 000.132 000.132: require('luasnip.nodes.functionNode') -284.205 000.100 000.100: require('luasnip.nodes.dynamicNode') -284.306 000.095 000.095: require('luasnip.nodes.restoreNode') -284.408 000.097 000.097: require('luasnip.extras') -284.538 000.058 000.058: require('luasnip.util.str') -284.547 000.132 000.074: require('luasnip.extras.fmt') -284.608 000.057 000.057: require('luasnip.extras.expand_conditions') -284.811 000.065 000.065: require('luasnip.util.parser.neovim_ast') -293.026 000.084 000.084: require('luasnip.util.directed_graph') -293.043 008.368 008.219: require('luasnip.util.parser.ast_utils') -293.210 000.061 000.061: require('luasnip.util.functions') -293.258 000.211 000.149: require('luasnip.util.parser.ast_parser') -293.400 000.138 000.138: require('luasnip.util.parser.neovim_parser') -293.411 008.797 000.081: require('luasnip.util.parser') -293.477 000.062 000.062: require('luasnip.nodes.absolute_indexer') -293.898 012.734 000.606: require('luasnip.config') -294.056 013.203 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -294.842 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -295.836 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -296.359 000.081 000.081: require('cmp.utils.api') -296.480 000.057 000.057: require('cmp.types.cmp') -296.619 000.068 000.068: require('cmp.utils.misc') -296.743 000.258 000.190: require('cmp.types.lsp') -296.810 000.060 000.060: require('cmp.types.vim') -296.815 000.449 000.074: require('cmp.types') -296.876 000.057 000.057: require('cmp.utils.highlight') -296.985 000.050 000.050: require('cmp.utils.debug') -297.002 000.122 000.072: require('cmp.utils.autocmd') -297.720 001.509 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -298.111 000.135 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -298.635 000.059 000.059: require('nvim-treesitter.statusline') -298.711 000.069 000.069: require('nvim-treesitter.query_predicates') -298.718 000.204 000.076: require('nvim-treesitter') -300.054 000.290 000.290: require('vim.treesitter.highlighter') -300.401 000.792 000.501: require('nvim-treesitter.highlight') -300.770 002.306 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -301.262 000.278 000.278: require('treesitter-context') -301.273 000.317 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -301.636 000.084 000.084: require('nvim-treesitter-refactor') -301.851 000.326 000.242: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -302.218 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -302.588 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -303.010 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -303.920 000.429 000.429: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -304.696 000.549 000.549: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -305.310 000.352 000.352: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -306.794 007.375: loading packages -307.896 000.127 000.127: require('cmp.utils.char') -307.914 000.249 000.122: require('cmp.utils.str') -307.981 000.062 000.062: require('cmp.utils.pattern') -308.199 000.057 000.057: require('cmp.utils.buffer') -308.210 000.157 000.100: require('cmp.utils.keymap') -308.221 000.235 000.078: require('cmp.utils.feedkeys') -308.314 000.089 000.089: require('cmp.utils.async') -308.447 000.059 000.059: require('cmp.utils.cache') -308.454 000.134 000.076: require('cmp.context') -308.705 000.085 000.085: require('cmp.config.mapping') -308.866 000.082 000.082: require('cmp.config.compare') -308.872 000.160 000.077: require('cmp.config.default') -308.897 000.350 000.105: require('cmp.config') -309.068 000.062 000.062: require('cmp.matcher') -309.081 000.180 000.118: require('cmp.entry') -309.095 000.638 000.108: require('cmp.source') -309.233 000.059 000.059: require('cmp.utils.event') -309.405 000.096 000.096: require('cmp.utils.window') -309.412 000.175 000.078: require('cmp.view.docs_view') -309.573 000.120 000.120: require('cmp.view.custom_entries_view') -309.681 000.103 000.103: require('cmp.view.wildmenu_entries_view') -309.769 000.083 000.083: require('cmp.view.native_entries_view') -309.847 000.074 000.074: require('cmp.view.ghost_text_view') -309.865 000.766 000.153: require('cmp.view') -309.975 002.429 000.254: require('cmp.core') -310.464 000.071 000.071: require('cmp.config.sources') -310.532 000.061 000.061: require('cmp.config.window') -310.651 003.219 000.659: require('cmp') -310.932 000.062 000.062: require('cmp_buffer.timer') -310.940 000.144 000.083: require('cmp_buffer.buffer') -310.949 000.232 000.087: require('cmp_buffer.source') -310.953 000.297 000.065: require('cmp_buffer') -310.984 003.601 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -311.371 000.155 000.155: require('cmp_cmdline') -311.405 000.233 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -311.754 000.072 000.072: require('cmp_nvim_lsp.source') -311.761 000.148 000.076: require('cmp_nvim_lsp') -311.854 000.284 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -312.173 000.114 000.114: require('cmp_path') -312.208 000.192 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -313.680 000.681 000.681: require('vim.lsp.protocol') -313.997 000.309 000.309: require('vim.lsp._snippet') -314.150 000.147 000.147: require('vim.highlight') -314.183 001.671 000.534: require('vim.lsp.util') -314.193 001.759 000.089: require('cmp_luasnip') -314.266 001.907 000.148: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -314.409 001.397: loading after plugins -314.443 000.034: inits 3 -314.458 000.014: reading ShaDa -314.850 000.070 000.070: require('luasnip.loaders._caches') -314.966 000.109 000.109: require('luasnip.util.path') -315.062 000.091 000.091: require('luasnip.loaders.util') -315.293 000.104 000.104: require('luasnip.loaders') -315.332 000.265 000.160: require('luasnip') -315.339 000.648 000.114: require('luasnip.loaders.from_lua') -315.551 000.074 000.074: require('luasnip.nodes.snippetProxy') -315.561 000.172 000.097: require('luasnip.loaders.from_snipmate') -315.691 000.089 000.089: require('luasnip.loaders.from_vscode') -315.726 000.360: opening buffers -315.996 000.269: BufEnter autocommands -316.003 000.007: editing files in windows -331.179 000.499 000.499: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.200 001.200: --- NVIM STARTING --- -028.869 027.670: event init -045.983 017.113: early init -047.792 001.810: locale set -053.512 005.720: init first window -063.922 010.410: inits 1 -063.947 000.025: window checked -063.955 000.008: parsing arguments -076.112 000.253 000.253: require('vim.shared') -076.628 000.246 000.246: require('vim._meta') -076.644 000.505 000.259: require('vim._editor') -076.652 000.941 000.183: require('vim._init_packages') -076.660 011.764: init lua interpreter -076.862 000.202: expanding arguments -078.857 001.995: inits 2 -080.284 001.427: init highlight -080.295 000.011: waiting for UI -082.949 002.654: done waiting for UI -083.000 000.051: init screen for UI -083.246 000.246: init default mappings -083.273 000.027: init default autocommands -093.988 004.253 004.253: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/ftplugin.vim -096.789 001.077 001.077: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/indent.vim -097.277 000.056 000.056: sourcing /usr/share/nvim/archlinux.vim -097.304 000.182 000.126: sourcing /etc/xdg/nvim/sysinit.vim -111.429 006.947 006.947: require('keys') -113.908 002.467 002.467: require('opts') -117.673 001.187 001.187: require('packer.util') -117.808 003.545 002.358: require('packer') -122.146 001.171 001.171: require('packer.log') -122.166 002.129 000.957: require('packer.async') -124.195 000.802 000.802: require('packer.result') -124.220 002.045 001.244: require('packer.jobs') -124.252 005.833 001.659: require('packer.plugin_utils') -125.549 001.251 001.251: require('packer.snapshot') -127.162 013.245 002.616: require('pack') -158.488 031.310 031.310: require('impatient') -159.340 000.277 000.277: require('lualine_require') -160.073 001.430 001.153: require('lualine') -160.228 000.146 000.146: require('plugins.linecolor') -169.390 000.177 000.177: require('lualine.utils.mode') -172.397 013.891 012.138: require('plugins.lualine') -172.450 075.045 007.184: sourcing /home/sxrdusr/.config/nvim/init.lua -172.493 008.664: sourcing vimrc file(s) -172.853 000.064 000.064: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -174.426 000.083 000.083: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.lua -176.471 001.751 001.751: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.vim -179.037 000.296 000.296: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/synload.vim -179.314 002.168 001.872: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/syntax.vim -179.520 000.026 000.026: require('vim.F') -186.212 001.264 001.264: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/gzip.vim -186.358 000.064 000.064: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/health.vim -186.496 000.065 000.065: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchit.vim -186.634 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchparen.vim -186.802 000.097 000.097: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/netrwPlugin.vim -187.224 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -187.244 000.381 000.343: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/rplugin.vim -187.485 000.182 000.182: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/shada.vim -187.643 000.091 000.091: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/spellfile.vim -187.770 000.062 000.062: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tarPlugin.vim -187.893 000.059 000.059: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tohtml.vim -188.022 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tutor.vim -188.970 000.884 000.884: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/zipPlugin.vim -190.447 001.228 001.228: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -191.939 001.259 001.259: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -192.809 000.149 000.149: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/man.lua -193.044 010.542: loading rtp plugins -194.557 000.015 000.015: require('vim.keymap') -194.979 000.089 000.089: require('Comment.config') -195.098 000.111 000.111: require('Comment.utils') -195.179 000.075 000.075: require('Comment.opfunc') -195.356 000.171 000.171: require('Comment.extra') -195.374 000.809 000.362: require('Comment.api') -195.696 001.258 000.434: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -196.405 000.067 000.067: require('luasnip.util.types') -196.489 000.076 000.076: require('luasnip.util.ext_opts') -198.131 000.221 000.221: require('vim.treesitter.language') -198.166 000.785 000.564: require('vim.treesitter.query') -198.468 000.297 000.297: require('vim.treesitter.languagetree') -198.532 001.607 000.525: require('vim.treesitter') -198.791 002.228 000.622: require('nvim-treesitter.parsers') -198.993 000.100 000.100: require('nvim-treesitter.utils') -199.005 000.208 000.108: require('nvim-treesitter.ts_utils') -199.011 002.516 000.080: require('luasnip.extras.filetype_functions') -199.094 000.079 000.079: require('luasnip.session') -199.418 000.126 000.126: require('luasnip.util.util') -199.498 000.074 000.074: require('luasnip.nodes.util') -199.570 000.067 000.067: require('luasnip.util.events') -199.587 000.382 000.115: require('luasnip.nodes.node') -199.701 000.066 000.066: require('luasnip.util.extend_decorator') -199.712 000.613 000.165: require('luasnip.nodes.insertNode') -199.969 000.081 000.081: require('luasnip.util.mark') -200.192 000.093 000.093: require('luasnip.nodes.textNode') -200.914 000.645 000.645: require('luasnip.util._builtin_vars') -201.113 000.189 000.189: require('vim.inspect') -201.340 001.141 000.306: require('luasnip.util.environ') -201.452 000.105 000.105: require('luasnip.util.pattern_tokenizer') -201.569 000.108 000.108: require('luasnip.util.dict') -201.675 000.094 000.094: require('luasnip.session.snippet_collection') -201.787 001.810 000.270: require('luasnip.nodes.snippet') -201.807 002.091 000.199: require('luasnip.nodes.choiceNode') -201.938 000.106 000.106: require('luasnip.nodes.functionNode') -202.112 000.166 000.166: require('luasnip.nodes.dynamicNode') -202.290 000.172 000.172: require('luasnip.nodes.restoreNode') -202.386 000.089 000.089: require('luasnip.extras') -202.561 000.072 000.072: require('luasnip.util.str') -202.575 000.181 000.109: require('luasnip.extras.fmt') -202.643 000.063 000.063: require('luasnip.extras.expand_conditions') -202.880 000.077 000.077: require('luasnip.util.parser.neovim_ast') -215.457 000.113 000.113: require('luasnip.util.directed_graph') -215.486 012.764 012.575: require('luasnip.util.parser.ast_utils') -215.665 000.071 000.071: require('luasnip.util.functions') -215.677 000.184 000.113: require('luasnip.util.parser.ast_parser') -215.881 000.200 000.200: require('luasnip.util.parser.neovim_parser') -215.894 013.244 000.096: require('luasnip.util.parser') -215.971 000.071 000.071: require('luasnip.nodes.absolute_indexer') -217.153 020.941 001.407: require('luasnip.config') -217.313 021.401 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -218.109 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -218.673 000.108 000.108: require('lsp-colors') -219.216 000.706 000.598: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -220.523 000.925 000.925: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -221.323 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -221.864 000.096 000.096: require('cmp.utils.api') -222.010 000.072 000.072: require('cmp.types.cmp') -222.182 000.079 000.079: require('cmp.utils.misc') -222.383 000.366 000.287: require('cmp.types.lsp') -222.479 000.088 000.088: require('cmp.types.vim') -222.486 000.614 000.088: require('cmp.types') -222.558 000.068 000.068: require('cmp.utils.highlight') -222.684 000.058 000.058: require('cmp.utils.debug') -222.699 000.136 000.078: require('cmp.utils.autocmd') -223.440 001.744 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -223.708 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -224.265 000.243 000.243: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -224.744 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer/plugin/nvim-lsp-installer.vim -225.221 000.152 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -226.304 000.080 000.080: require('nvim-treesitter.tsrange') -226.375 000.063 000.063: require('nvim-treesitter.caching') -226.395 000.257 000.113: require('nvim-treesitter.query') -226.423 000.394 000.137: require('nvim-treesitter.configs') -226.435 000.486 000.092: require('nvim-treesitter.info') -226.559 000.120 000.120: require('nvim-treesitter.shell_command_selectors') -226.608 000.850 000.243: require('nvim-treesitter.install') -226.680 000.067 000.067: require('nvim-treesitter.statusline') -226.764 000.079 000.079: require('nvim-treesitter.query_predicates') -226.771 001.082 000.087: require('nvim-treesitter') -228.041 000.342 000.342: require('vim.treesitter.highlighter') -228.350 000.802 000.461: require('nvim-treesitter.highlight') -228.990 003.358 001.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -229.487 000.218 000.218: require('treesitter-context') -229.498 000.262 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -229.869 000.082 000.082: require('nvim-treesitter-refactor') -230.155 000.393 000.311: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -230.535 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -230.984 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -231.332 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -231.669 000.028 000.028: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -232.027 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -233.279 000.677 000.677: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -233.906 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -234.199 000.032 000.032: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -234.492 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -236.377 010.537: loading packages -237.770 000.206 000.206: require('cmp.utils.char') -237.795 000.307 000.101: require('cmp.utils.str') -237.874 000.073 000.073: require('cmp.utils.pattern') -238.114 000.058 000.058: require('cmp.utils.buffer') -238.126 000.165 000.107: require('cmp.utils.keymap') -238.139 000.259 000.095: require('cmp.utils.feedkeys') -238.243 000.100 000.100: require('cmp.utils.async') -238.378 000.062 000.062: require('cmp.utils.cache') -238.386 000.137 000.075: require('cmp.context') -238.631 000.076 000.076: require('cmp.config.mapping') -238.815 000.092 000.092: require('cmp.config.compare') -238.825 000.186 000.094: require('cmp.config.default') -238.903 000.422 000.160: require('cmp.config') -239.078 000.067 000.067: require('cmp.matcher') -239.092 000.184 000.117: require('cmp.entry') -239.109 000.720 000.114: require('cmp.source') -239.317 000.061 000.061: require('cmp.utils.event') -239.485 000.088 000.088: require('cmp.utils.window') -239.495 000.172 000.084: require('cmp.view.docs_view') -239.626 000.127 000.127: require('cmp.view.custom_entries_view') -239.733 000.101 000.101: require('cmp.view.wildmenu_entries_view') -239.821 000.083 000.083: require('cmp.view.native_entries_view') -239.912 000.085 000.085: require('cmp.view.ghost_text_view') -239.931 000.818 000.189: require('cmp.view') -240.078 002.714 000.300: require('cmp.core') -240.402 000.068 000.068: require('cmp.config.sources') -240.473 000.062 000.062: require('cmp.config.window') -240.589 003.405 000.561: require('cmp') -240.880 000.061 000.061: require('cmp_buffer.timer') -240.889 000.145 000.084: require('cmp_buffer.buffer') -240.898 000.225 000.079: require('cmp_buffer.source') -240.903 000.308 000.083: require('cmp_buffer') -240.932 003.863 000.149: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -241.333 000.156 000.156: require('cmp_cmdline') -241.367 000.241 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -241.724 000.072 000.072: require('cmp_nvim_lsp.source') -241.735 000.152 000.080: require('cmp_nvim_lsp') -241.792 000.253 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -242.117 000.119 000.119: require('cmp_path') -242.152 000.200 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -244.719 000.990 000.990: require('vim.lsp.protocol') -245.045 000.318 000.318: require('vim.lsp._snippet') -245.341 000.289 000.289: require('vim.highlight') -245.373 002.812 001.214: require('vim.lsp.util') -245.381 003.021 000.210: require('cmp_luasnip') -245.454 003.140 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -245.540 001.468: loading after plugins -245.570 000.029: inits 3 -245.584 000.014: reading ShaDa -246.009 000.071 000.071: require('luasnip.loaders._caches') -246.125 000.109 000.109: require('luasnip.util.path') -246.226 000.094 000.094: require('luasnip.loaders.util') -246.457 000.106 000.106: require('luasnip.loaders') -246.497 000.264 000.159: require('luasnip') -246.504 000.653 000.114: require('luasnip.loaders.from_lua') -246.720 000.069 000.069: require('luasnip.nodes.snippetProxy') -246.733 000.169 000.100: require('luasnip.loaders.from_snipmate') -246.974 000.094 000.094: require('luasnip.loaders.from_vscode') -247.013 000.513: opening buffers -247.262 000.249: BufEnter autocommands -247.269 000.007: editing files in windows -337.636 000.735 000.735: require('vim.diagnostic') -339.538 000.687 000.687: require('nvim-web-devicons') diff --git a/nvim/lua/utils.lua b/nvim/lua/utils.lua deleted file mode 100644 index ab1473f..0000000 --- a/nvim/lua/utils.lua +++ /dev/null @@ -1,66 +0,0 @@ -local fn = vim.fn - -local M = {} - -function M.executable(name) - if fn.executable(name) > 0 then - return true - end - - return false -end - ---- check whether a feature exists in Nvim ---- @feat: string ---- the feature name, like `nvim-0.7` or `unix`. ---- return: bool -M.has = function(feat) - if fn.has(feat) == 1 then - return true - end - - return false -end - ---- Create a dir if it does not exist -function M.may_create_dir(dir) - local res = fn.isdirectory(dir) - - if res == 0 then - fn.mkdir(dir, "p") - end -end - -function M.get_nvim_version() - local actual_ver = vim.version() - - local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch) - return nvim_ver_str -end - ---- Generate random integers in the range [Low, High], inclusive, ---- adapted from https://stackoverflow.com/a/12739441/6064933 ---- @low: the lower value for this range ---- @high: the upper value for this range -function M.rand_int(low, high) - -- Use lua to generate random int, see also: https://stackoverflow.com/a/20157671/6064933 - math.randomseed(os.time()) - - return math.random(low, high) -end - ---- Select a random element from a sequence/list. ---- @seq: the sequence to choose an element -function M.rand_element(seq) - local idx = M.rand_int(1, #seq) - - return seq[idx] -end - -function M.add_pack(name) - local status, error = pcall(vim.cmd, "packadd " .. name) - - return status -end - -return M diff --git a/nvim/plugin/packer_compiled.lua b/nvim/plugin/packer_compiled.lua deleted file mode 100644 index 425f601..0000000 --- a/nvim/plugin/packer_compiled.lua +++ /dev/null @@ -1,506 +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() - -_G._packer = _G._packer or {} -_G._packer.inside_compile = true - -local time -local profile_info -local should_profile = false -if should_profile then - local hrtime = vim.loop.hrtime - profile_info = {} - time = function(chunk, start) - if start then - profile_info[chunk] = hrtime() - else - profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 - end - 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 - if threshold then - table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') - end - - _G._packer.profile_output = results -end - -time([[Luarocks path setup]], true) -local package_path_str = "/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/home/sxrdusr/.cache/nvim/packer_hererocks/2.1.0-beta3/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 = { - ["Comment.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim", - url = "https://github.com/numToStr/Comment.nvim" - }, - ["FixCursorHold.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim", - url = "https://github.com/antoinemadec/FixCursorHold.nvim" - }, - LuaSnip = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip", - url = "https://github.com/L3MON4D3/LuaSnip" - }, - ["ayu-vim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim", - url = "https://github.com/ayu-theme/ayu-vim" - }, - ["cmp-buffer"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer", - url = "https://github.com/hrsh7th/cmp-buffer" - }, - ["cmp-cmdline"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline", - url = "https://github.com/hrsh7th/cmp-cmdline" - }, - ["cmp-nvim-lsp"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", - url = "https://github.com/hrsh7th/cmp-nvim-lsp" - }, - ["cmp-path"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path", - url = "https://github.com/hrsh7th/cmp-path" - }, - cmp_luasnip = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip", - url = "https://github.com/saadparwaiz1/cmp_luasnip" - }, - ["crates.nvim"] = { - config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0" }, - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim", - url = "https://github.com/saecki/crates.nvim" - }, - ["doom-one.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim", - url = "https://github.com/NTBBloodbath/doom-one.nvim" - }, - ["everblush.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/everblush.nvim", - url = "https://github.com/everblush/everblush.nvim" - }, - ["fidget.nvim"] = { - config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vfidget\frequire\0" }, - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/fidget.nvim", - url = "https://github.com/j-hui/fidget.nvim" - }, - ["filetype.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim", - url = "https://github.com/nathom/filetype.nvim" - }, - ["friendly-snippets"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/friendly-snippets", - url = "https://github.com/rafamadriz/friendly-snippets" - }, - fzf = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf", - url = "https://github.com/junegunn/fzf" - }, - ["git.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/git.nvim", - url = "https://github.com/dinhhuy258/git.nvim" - }, - ["gitsigns.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", - url = "https://github.com/lewis6991/gitsigns.nvim" - }, - gruvbox = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/gruvbox", - url = "https://github.com/gruvbox-community/gruvbox" - }, - ["heirline.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/heirline.nvim", - url = "https://github.com/rebelot/heirline.nvim" - }, - ["impatient.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/impatient.nvim", - url = "https://github.com/lewis6991/impatient.nvim" - }, - ["lsp-colors.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim", - url = "https://github.com/folke/lsp-colors.nvim" - }, - ["lsp-inlayhints.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-inlayhints.nvim", - url = "https://github.com/lvimuser/lsp-inlayhints.nvim" - }, - ["lsp_lines.nvim"] = { - config = { "\27LJ\2\nr\0\0\3\0\a\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\3\0009\0\4\0009\0\5\0005\2\6\0B\0\2\1K\0\1\0\1\0\1\17virtual_text\1\vconfig\15diagnostic\bvim\nsetup\14lsp_lines\frequire\0" }, - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp_lines.nvim", - url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim" - }, - ["lspkind-nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspkind-nvim", - url = "https://github.com/onsails/lspkind-nvim" - }, - ["mason-lspconfig.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", - url = "https://github.com/williamboman/mason-lspconfig.nvim" - }, - ["mason.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/mason.nvim", - url = "https://github.com/williamboman/mason.nvim" - }, - molokai = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/molokai", - url = "https://github.com/tomasr/molokai" - }, - ["neoscroll.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/neoscroll.nvim", - url = "https://github.com/karb94/neoscroll.nvim" - }, - ["nightfox.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim", - url = "https://github.com/EdenEast/nightfox.nvim" - }, - ["null-ls.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/null-ls.nvim", - url = "https://github.com/jose-elias-alvarez/null-ls.nvim" - }, - ["numbers.vim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim", - url = "https://github.com/myusuf3/numbers.vim" - }, - ["nvim-autopairs"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-autopairs", - url = "https://github.com/windwp/nvim-autopairs" - }, - ["nvim-cmp"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp", - url = "https://github.com/hrsh7th/nvim-cmp" - }, - ["nvim-code-action-menu"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu", - url = "https://github.com/weilbith/nvim-code-action-menu" - }, - ["nvim-colorizer.lua"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua", - url = "https://github.com/norcalli/nvim-colorizer.lua" - }, - ["nvim-dap"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap", - url = "https://github.com/mfussenegger/nvim-dap" - }, - ["nvim-dap-ui"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap-ui", - url = "https://github.com/rcarriga/nvim-dap-ui" - }, - ["nvim-lightbulb"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lightbulb", - url = "https://github.com/kosayoda/nvim-lightbulb" - }, - ["nvim-lint"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lint", - url = "https://github.com/mfussenegger/nvim-lint" - }, - ["nvim-lspconfig"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", - url = "https://github.com/neovim/nvim-lspconfig" - }, - ["nvim-navic"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-navic", - url = "https://github.com/SmiteshP/nvim-navic" - }, - ["nvim-notify"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-notify", - url = "https://github.com/rcarriga/nvim-notify" - }, - ["nvim-tree.lua"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", - url = "https://github.com/kyazdani42/nvim-tree.lua" - }, - ["nvim-treesitter"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter", - url = "https://github.com/nvim-treesitter/nvim-treesitter" - }, - ["nvim-treesitter-context"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context", - url = "https://github.com/nvim-treesitter/nvim-treesitter-context" - }, - ["nvim-treesitter-refactor"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor", - url = "https://github.com/nvim-treesitter/nvim-treesitter-refactor" - }, - ["nvim-web-devicons"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", - url = "https://github.com/kyazdani42/nvim-web-devicons" - }, - ["onedark.vim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/onedark.vim", - url = "https://github.com/joshdick/onedark.vim" - }, - ["packer.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/packer.nvim", - url = "https://github.com/wbthomason/packer.nvim" - }, - ["plenary.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim", - url = "https://github.com/nvim-lua/plenary.nvim" - }, - ["prettier.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim", - url = "https://github.com/MunifTanjim/prettier.nvim" - }, - ["rust-tools.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/rust-tools.nvim", - url = "https://github.com/simrat39/rust-tools.nvim" - }, - sonokai = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/sonokai", - url = "https://github.com/sainnhe/sonokai" - }, - ["sqlite.lua"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/sqlite.lua", - url = "https://github.com/tami5/sqlite.lua" - }, - ["srcery-vim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/srcery-vim", - url = "https://github.com/srcery-colors/srcery-vim" - }, - ["startuptime.vim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim", - url = "https://github.com/tweekmonster/startuptime.vim" - }, - ["symbols-outline.nvim"] = { - config = { "\27LJ\2\nP\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\15auto_close\2\nsetup\20symbols-outline\frequire\0" }, - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim", - url = "https://github.com/simrat39/symbols-outline.nvim" - }, - ["telescope-file-browser.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-file-browser.nvim", - url = "https://github.com/nvim-telescope/telescope-file-browser.nvim" - }, - ["telescope-frecency.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim", - url = "https://github.com/nvim-telescope/telescope-frecency.nvim" - }, - ["telescope-fzf-native.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-fzf-native.nvim", - url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim" - }, - ["telescope-media-files.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-media-files.nvim", - url = "https://github.com/nvim-telescope/telescope-media-files.nvim" - }, - ["telescope-symbols.nvim"] = { - load_after = {}, - loaded = true, - needs_bufread = false, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/opt/telescope-symbols.nvim", - url = "https://github.com/nvim-telescope/telescope-symbols.nvim" - }, - ["telescope-ui-select.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-ui-select.nvim", - url = "https://github.com/nvim-telescope/telescope-ui-select.nvim" - }, - ["telescope.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim", - url = "https://github.com/nvim-telescope/telescope.nvim" - }, - ["tender.vim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/tender.vim", - url = "https://github.com/jacoborus/tender.vim" - }, - ["toggleterm.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/toggleterm.nvim", - url = "https://github.com/akinsho/toggleterm.nvim" - }, - ["trouble.nvim"] = { - config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\ftrouble\frequire\0" }, - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/trouble.nvim", - url = "https://github.com/folke/trouble.nvim" - }, - ["vim-cool"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool", - url = "https://github.com/romainl/vim-cool" - }, - ["vim-eunuch"] = { - commands = { "Rename", "Delete" }, - loaded = false, - needs_bufread = false, - only_cond = false, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/opt/vim-eunuch", - url = "https://github.com/tpope/vim-eunuch" - }, - ["vim-nightfly-guicolors"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-nightfly-guicolors", - url = "https://github.com/bluz71/vim-nightfly-guicolors" - }, - ["vim-tmux-navigator"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator", - url = "https://github.com/christoomey/vim-tmux-navigator" - }, - ["which-key.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim", - url = "https://github.com/folke/which-key.nvim" - }, - ["zen-mode.nvim"] = { - loaded = true, - path = "/home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim", - url = "https://github.com/folke/zen-mode.nvim" - } -} - -time([[Defining packer_plugins]], false) --- Config for: symbols-outline.nvim -time([[Config for symbols-outline.nvim]], true) -try_loadstring("\27LJ\2\nP\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\15auto_close\2\nsetup\20symbols-outline\frequire\0", "config", "symbols-outline.nvim") -time([[Config for symbols-outline.nvim]], false) --- Config for: crates.nvim -time([[Config for crates.nvim]], true) -try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0", "config", "crates.nvim") -time([[Config for crates.nvim]], false) --- Config for: trouble.nvim -time([[Config for trouble.nvim]], true) -try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\ftrouble\frequire\0", "config", "trouble.nvim") -time([[Config for trouble.nvim]], false) --- Config for: lsp_lines.nvim -time([[Config for lsp_lines.nvim]], true) -try_loadstring("\27LJ\2\nr\0\0\3\0\a\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\3\0009\0\4\0009\0\5\0005\2\6\0B\0\2\1K\0\1\0\1\0\1\17virtual_text\1\vconfig\15diagnostic\bvim\nsetup\14lsp_lines\frequire\0", "config", "lsp_lines.nvim") -time([[Config for lsp_lines.nvim]], false) --- Config for: fidget.nvim -time([[Config for fidget.nvim]], true) -try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vfidget\frequire\0", "config", "fidget.nvim") -time([[Config for fidget.nvim]], false) --- Load plugins in order defined by `after` -time([[Sequenced loading]], true) -vim.cmd [[ packadd telescope.nvim ]] -vim.cmd [[ packadd telescope-symbols.nvim ]] -time([[Sequenced loading]], false) - --- Command lazy-loads -time([[Defining lazy-load commands]], true) -pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file Delete lua require("packer.load")({'vim-eunuch'}, { cmd = "Delete", l1 = , l2 = , bang = , args = , mods = "" }, _G.packer_plugins)]]) -pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file Rename lua require("packer.load")({'vim-eunuch'}, { cmd = "Rename", l1 = , l2 = , bang = , args = , mods = "" }, _G.packer_plugins)]]) -time([[Defining lazy-load commands]], false) - - -_G._packer.inside_compile = false -if _G._packer.needs_bufread == true then - vim.cmd("doautocmd BufRead") -end -_G._packer.needs_bufread = false - -if should_profile then save_profiles() end - -end) - -if not no_errors then - error_msg = error_msg:gsub('"', '\\"') - vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') -end -- cgit v1.2.3 From 2d2c18e3b61a1883190fcd3c9dd9ab86002ddeab Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 14 Oct 2022 23:43:14 +0200 Subject: Updated nvim-cmp & lsp: config/saga --- lua/keys.lua | 4 +- lua/opts.lua | 5 +- lua/plugins/bufferline.lua | 323 ++++ lua/plugins/bufferline.lua-202209041657.backup | 322 ++++ lua/plugins/cmp-22.10.14-23:39-bak.lua | 161 ++ lua/plugins/cmp.lua | 188 +- lua/plugins/colorscheme.lua | 3 + lua/plugins/heirline.backup.lua | 733 ++++++++ lua/plugins/heirline.backup2.lua | 1921 ++++++++++++++++++++ lua/plugins/heirline.lua-202210111610.backup | 1452 +++++++++++++++ lua/plugins/heirlinenew.lua | 1342 ++++++++++++++ .../lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua | 301 +++ lua/plugins/lsp-22.10.12-21:29-bak.lua | 301 +++ lua/plugins/lsp-22.10.14-23:39-bak.lua | 422 +++++ lua/plugins/lsp.lua | 31 +- lua/plugins/lspOld.lsp | 531 ++++++ lua/plugins/lspconfig.lua | 148 ++ lua/plugins/lspsaga-22.10.13-22:51-bak.lua | 61 + lua/plugins/lspsaga.lua | 146 +- lua/plugins/nvim-tree.lua | 2 +- lua/plugins/treesitter.lua | 27 +- lua/scripts/lsp-ext.lua | 48 + lua/scripts/toggleLsp.lua | 40 + 23 files changed, 8269 insertions(+), 243 deletions(-) create mode 100644 lua/plugins/bufferline.lua create mode 100644 lua/plugins/bufferline.lua-202209041657.backup create mode 100644 lua/plugins/cmp-22.10.14-23:39-bak.lua create mode 100644 lua/plugins/heirline.backup.lua create mode 100644 lua/plugins/heirline.backup2.lua create mode 100644 lua/plugins/heirline.lua-202210111610.backup create mode 100644 lua/plugins/heirlinenew.lua create mode 100644 lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua create mode 100644 lua/plugins/lsp-22.10.12-21:29-bak.lua create mode 100644 lua/plugins/lsp-22.10.14-23:39-bak.lua create mode 100644 lua/plugins/lspOld.lsp create mode 100644 lua/plugins/lspconfig.lua create mode 100644 lua/plugins/lspsaga-22.10.13-22:51-bak.lua create mode 100644 lua/scripts/lsp-ext.lua create mode 100644 lua/scripts/toggleLsp.lua diff --git a/lua/keys.lua b/lua/keys.lua index 29b59c4..55e24ac 100644 --- a/lua/keys.lua +++ b/lua/keys.lua @@ -193,7 +193,7 @@ map("n", "fb", "lua require('telescope.builtin').current_buffer_fuz --map("n", "fz", ":FZF", opts) --map("t", [[]], [[]], opts) --map("n", "ff", ":NvimTreeToggle", {}) -map("n", "ff", ":NvimTreeToggle", {}) +map("n", "f", ":NvimTreeToggle", {}) -- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) -- Find files in config dirs --key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) @@ -369,7 +369,7 @@ map("n", ".", ":unhide", opts) ---- Open the current file in the default program (on Mac this should just be just `open`) --keymap('n', 'x', ':!xdg-open %') ---keymap("n", "ff", "lua require('telescope.builtin').find_files()", opts) +map("n", "ff", "lua require('telescope.builtin').find_files()", opts) --keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()", opts) --keymap('n', 'k', ':nohlsearch') -- diff --git a/lua/opts.lua b/lua/opts.lua index b52bcc8..2bc70d6 100644 --- a/lua/opts.lua +++ b/lua/opts.lua @@ -117,9 +117,10 @@ vim.opt.hlsearch = true -- Keep matches highlighted. vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital in search vim.opt.smartcase = true -- smart case vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. -vim.opt.winblend = 0 -- +vim.opt.winblend = 30 vim.opt.wildoptions = "pum" -- -vim.opt.pumblend = 5 -- +--vim.opt.pumblend = 5 -- +vim.opt.pumblend=15 vim.opt.pumheight = 10 -- pop up menu height -- Better Completion diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua new file mode 100644 index 0000000..6488f29 --- /dev/null +++ b/lua/plugins/bufferline.lua @@ -0,0 +1,323 @@ +require("bufferline").setup({ + options = { + numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, + close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + --indicator = { + -- icon = '', -- this should be omitted if indicator style is not 'icon' + -- style = 'icon', -- | 'underline' | 'none', + --}, + --indicator_icon = " ", + --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + modified_icon = '●', + left_trunc_marker = "", + right_trunc_marker = "", + show_buffer_close_icons = true, + --diagnostics = "nvim_lsp", + diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", + diagnostics_update_in_insert = false, + buffer_close_icon = "", + separator_style = "thin", + enforce_regular_tabs = true, + always_show_bufferline = true, + max_name_length = 25, + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + highlight = "StatusLine", + text_align = "center", + }, + }, + custom_areas = { + right = function() + local result = {} + local error = vim.diagnostic.get_count(0, [[Error]]) + local warning = vim.diagnostic.get_count(0, [[Warning]]) + local info = vim.diagnostic.get_count(0, [[Information]]) + local hint = vim.diagnostic.get_count(0, [[Hint]]) + + if error ~= 0 then + result[1] = { text = "  " .. error, fg = "#EC5241" } + end + + if warning ~= 0 then + result[2] = { text = "  " .. warning, fg = "#EFB839" } + end + + if hint ~= 0 then + result[3] = { text = "  " .. hint, fg = "#A3BA5E" } + end + + if info ~= 0 then + result[4] = { text = "  " .. info, fg = "#7EA9A7" } + end + + return result + end, + }, + }, + highlights = { + background = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab_selected = { + fg = "#fdf6e3", + bg = "#002b36", + --fg = tabline_sel_bg, + }, + tab_close = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_selected = { + fg = "002b36", + bg = "#fdf6e3", + bold = true, + italic = true, + }, + numbers = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + hint = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + hint_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + error = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + error_diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + modified = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + duplicate_selected = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true, + }, + duplicate_visible = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + duplicate = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + separator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator = { + fg = "#fdf6e3", + bg = "#002b36", + }, + indicator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + pick_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick_visible = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + --offset_separator = { + -- fg = win_separator_fg, + -- bg = separator_background_color, + --}, + } +}) diff --git a/lua/plugins/bufferline.lua-202209041657.backup b/lua/plugins/bufferline.lua-202209041657.backup new file mode 100644 index 0000000..1d45e5f --- /dev/null +++ b/lua/plugins/bufferline.lua-202209041657.backup @@ -0,0 +1,322 @@ +require("bufferline").setup({ + options = { + numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, + close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + --indicator = { + -- icon = '', -- this should be omitted if indicator style is not 'icon' + -- style = 'icon', -- | 'underline' | 'none', + --}, + --indicator_icon = " ", + --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + modified_icon = '●', + left_trunc_marker = "", + right_trunc_marker = "", + show_buffer_close_icons = true, + --diagnostics = "nvim_lsp", + diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", + diagnostics_update_in_insert = false, + buffer_close_icon = "", + separator_style = "slant", + enforce_regular_tabs = true, + always_show_bufferline = true, + max_name_length = 25, + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + highlight = "StatusLine", + text_align = "center", + }, + }, + custom_areas = { + right = function() + local result = {} + local error = vim.diagnostic.get_count(0, [[Error]]) + local warning = vim.diagnostic.get_count(0, [[Warning]]) + local info = vim.diagnostic.get_count(0, [[Information]]) + local hint = vim.diagnostic.get_count(0, [[Hint]]) + + if error ~= 0 then + result[1] = { text = "  " .. error, fg = "#EC5241" } + end + + if warning ~= 0 then + result[2] = { text = "  " .. warning, fg = "#EFB839" } + end + + if hint ~= 0 then + result[3] = { text = "  " .. hint, fg = "#A3BA5E" } + end + + if info ~= 0 then + result[4] = { text = "  " .. info, fg = "#7EA9A7" } + end + + return result + end, + }, + }, + highlights = { + background = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab = { + fg = "#fdf6e3", + bg = "#002b36", + }, + tab_selected = { + fg = tabline_sel_bg, + bg = "#002b36", + }, + tab_close = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + close_button_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + buffer_selected = { + fg = normal_fg, + bg = "#002b36", + bold = true, + italic = true, + }, + numbers = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + numbers_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + hint = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + hint_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + hint_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + hint_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + info_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + info_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + info_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + warning_diagnostic = { + fg = "#fdf6e3", + sp = "#002b36", + bg = "#002b36", + }, + warning_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + warning_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + error = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + error_diagnostic = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + }, + error_diagnostic_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + error_diagnostic_selected = { + fg = "#fdf6e3", + bg = "#002b36", + sp = "#002b36", + bold = true, + italic = true, + }, + modified = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + modified_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + duplicate_selected = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true, + }, + duplicate_visible = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + duplicate = { + fg = "#fdf6e3", + bg = "#002b36", + italic = true + }, + separator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator_visible = { + fg = "#fdf6e3", + bg = "#002b36", + }, + separator = { + fg = "#fdf6e3", + bg = "#002b36", + }, + indicator_selected = { + fg = "#fdf6e3", + bg = "#002b36", + }, + pick_selected = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick_visible = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + pick = { + fg = "#fdf6e3", + bg = "#002b36", + bold = true, + italic = true, + }, + --offset_separator = { + -- fg = win_separator_fg, + -- bg = separator_background_color, + --}, + } +}) diff --git a/lua/plugins/cmp-22.10.14-23:39-bak.lua b/lua/plugins/cmp-22.10.14-23:39-bak.lua new file mode 100644 index 0000000..3b0a8f5 --- /dev/null +++ b/lua/plugins/cmp-22.10.14-23:39-bak.lua @@ -0,0 +1,161 @@ +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end + +vim.o.completeopt = "menu,menuone,noselect" + +--require("luasnip/loaders/from_vscode").lazy_load() +--local luasnip = require "luasnip" + +cmp.setup { + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + mapping = { + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }, + [''] = cmp.mapping(cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), {'i'}), + [''] = cmp.mapping(cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), {'i'}), + }, + sources = { + { name = 'nvim_lsp' }, + { name = 'treesitter' }, + { name = 'luasnip' }, + } +} +--local lspkind = require("lspkind") +--cmp.setup({ +-- formatting = { +-- format = lspkind.cmp_format({ +-- mode = "symbol", -- show only symbol annotations +-- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) +-- ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) +-- +-- -- The function below will be called before any actual modifications from lspkind +-- -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) +-- before = function(entry, vim_item) +-- --... +-- return vim_item +-- end, +-- }), +-- }, +--}) +-- +--require("luasnip/loaders/from_vscode").lazy_load() +-- +----   פּ ﯟ  some other good icons +--local kind_icons = { +-- Text = "", +-- Method = "", +-- Function = "", +-- Constructor = "⚙️", +-- Field = "", +-- Variable = "", +-- Class = "ﴯ", +-- Interface = "", +-- Module = "", +-- Property = "ﰠ", +-- Unit = "", +-- Value = "", +-- Enum = "", +-- Keyword = "", +-- Snippet = "", +-- Color = "", +-- File = "", +-- Reference = "", +-- Folder = "", +-- EnumMember = "", +-- Constant = "", +-- Struct = "", +-- Event = "", +-- Operator = "", +-- TypeParameter = "", +--} +-- +---- find more here: https://www.nerdfonts.com/cheat-sheet +-- +--cmp.setup({ +-- snippet = { +-- expand = function(args) +-- require("luasnip").lsp_expand(args.body) +-- end, +-- }, +-- mapping = cmp.mapping.preset.insert({ +-- [""] = cmp.mapping.scroll_docs(-4), +-- [""] = cmp.mapping.scroll_docs(4), +-- [""] = cmp.mapping.complete(), +-- [""] = cmp.mapping.close(), +-- [""] = cmp.mapping.confirm({ +-- behavior = cmp.ConfirmBehavior.Replace, +-- select = true, +-- }), +-- }), +-- sources = cmp.config.sources({ +-- { name = "path" }, +-- { name = "nvim_lsp", keyword_length = 3 }, +-- { name = "buffer", keyword_length = 3 }, +-- { name = "luasnip", keyword_length = 4 }, +-- { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, +-- --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this +-- --{name = 'luasnip', keyword_length = 2}, +-- }), +-- formatting = { +-- fields = { "kind", "abbr", "menu" }, +-- format = function(entry, vim_item) +-- -- Kind icons +-- vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) +-- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind +-- vim_item.menu = ({ +-- nvim_lsp = "[LSP]", +-- luasnip = "[Snippet]", +-- buffer = "[Buffer]", +-- path = "[Path]", +-- })[entry.source.name] +-- return vim_item +-- end, +-- }, +-- confirm_opts = { +-- behavior = cmp.ConfirmBehavior.Replace, +-- select = false, +-- }, +-- window = { +-- documentation = { +-- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, +-- }, +-- }, +-- experimental = { +-- ghost_text = true, +-- native_menu = false, +-- --view = { +-- -- entries = "native" +-- --}, +-- }, +--}) +-- +----vim.cmd([[ +---- set completeopt=menuone,noinsert,noselect +---- highlight! default link CmpItemKind CmpItemMenuDefault +----]]) +-- +--cmp.setup.cmdline("/", { +-- mapping = cmp.mapping.preset.cmdline(), +-- sources = { +-- { name = "buffer" }, +-- }, +--}) +-- +--cmp.setup.cmdline(":", { +-- mapping = cmp.mapping.preset.cmdline(), +-- sources = cmp.config.sources({ +-- { name = "path" }, +-- }, { +-- { name = "cmdline" }, +-- }), +--}) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua index 93bc5b2..fcec30f 100644 --- a/lua/plugins/cmp.lua +++ b/lua/plugins/cmp.lua @@ -1,58 +1,75 @@ + +-- Setup nvim-cmp. +vim.opt.completeopt = "menu,menuone,noselect" + local cmp_status_ok, cmp = pcall(require, "cmp") if not cmp_status_ok then return end -local lspkind = require("lspkind") -cmp.setup({ - formatting = { - format = lspkind.cmp_format({ - mode = "symbol", -- show only symbol annotations - maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) - ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) - - -- The function below will be called before any actual modifications from lspkind - -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) - before = function(entry, vim_item) - --... - return vim_item - end, - }), - }, -}) -require("luasnip/loaders/from_vscode").lazy_load() +local opts = { + -- whether to highlight the currently hovered symbol + -- disable if your cpu usage is higher than you want it + -- or you just hate the highlight + -- default: true + highlight_hovered_item = true, ---   פּ ﯟ  some other good icons -local kind_icons = { - Text = "", - Method = "", - Function = "", - Constructor = "⚙️", - Field = "", - Variable = "", - Class = "ﴯ", - Interface = "", - Module = "", - Property = "ﰠ", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", + -- whether to show outline guides + -- default: true + show_guides = true, } +require("symbols-outline").setup(opts) --- find more here: https://www.nerdfonts.com/cheat-sheet +local snippets_paths = function() + local plugins = { "friendly-snippets" } + local paths = {} + local path + local root_path = vim.env.HOME .. "/.vim/plugged/" + for _, plug in ipairs(plugins) do + path = root_path .. plug + if vim.fn.isdirectory(path) ~= 0 then + table.insert(paths, path) + end + end + return paths +end + +require("luasnip.loaders.from_vscode").lazy_load({ + paths = snippets_paths(), + include = nil, -- Load all languages + exclude = {}, +}) + +local lspkind = require("lspkind") + +--local kind_icons = { +-- Text = "", +-- Method = "", +-- Function = "", +-- Constructor = "⚙️", +-- Field = "", +-- Variable = "", +-- Class = "ﴯ", +-- Interface = "", +-- Module = "", +-- Property = "ﰠ", +-- Unit = "", +-- Value = "", +-- Enum = "", +-- Keyword = "", +-- Snippet = "", +-- Color = "", +-- File = "", +-- Reference = "", +-- Folder = "", +-- EnumMember = "", +-- Constant = "", +-- Struct = "", +-- Event = "", +-- Operator = "", +-- TypeParameter = "", +--} cmp.setup({ snippet = { @@ -61,62 +78,65 @@ cmp.setup({ end, }, mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), +-- [""] = cmp.mapping.confirm({ +-- behavior = cmp.ConfirmBehavior.Replace, +-- select = true, +-- }), + [''] = cmp.mapping.confirm({ select = true }), [""] = cmp.mapping.close(), - [""] = cmp.mapping.confirm({ - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }), - }), - sources = cmp.config.sources({ - { name = "path" }, - { name = "nvim_lsp", keyword_length = 3 }, - { name = "buffer", keyword_length = 3 }, - { name = "luasnip", keyword_length = 4 }, - { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, - --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this - --{name = 'luasnip', keyword_length = 2}, + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), }), + formatting = { - fields = { "kind", "abbr", "menu" }, + fields = { "abbr", "kind", "menu" }, format = function(entry, vim_item) -- Kind icons - vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + vim_item.kind = lspkind.presets.default[vim_item.kind] -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind vim_item.menu = ({ - nvim_lsp = "[LSP]", - luasnip = "[Snippet]", - buffer = "[Buffer]", - path = "[Path]", + nvim_lsp = "LSP", + luasnip = "Snip", + buffer = "Buf", + path = "Path", + cmdline = "Cmd", })[entry.source.name] return vim_item end, }, - confirm_opts = { + sources = cmp.config.sources({ + { name = "path" }, + { name = "nvim_lsp", keyword_length = 3 }, + { name = "luasnip", keyword_length = 4 }, + { name = "buffer", keyword_length = 3 }, + --{ name = 'treesitter' }, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this + --{name = 'luasnip', keyword_length = 2}, + }), + confirm_opts = { behavior = cmp.ConfirmBehavior.Replace, select = false, }, window = { - documentation = { - border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - }, - }, - experimental = { - ghost_text = true, - native_menu = false, - --view = { - -- entries = "native" + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + --documentation = { + -- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, --}, }, +-- experimental = { +-- ghost_text = true, +-- native_menu = true, +-- --native_menu = false, +-- --view = { +-- -- entries = "native" +-- --}, +-- }, }) ---vim.cmd([[ --- set completeopt=menuone,noinsert,noselect --- highlight! default link CmpItemKind CmpItemMenuDefault ---]]) - cmp.setup.cmdline("/", { mapping = cmp.mapping.preset.cmdline(), sources = { @@ -132,3 +152,5 @@ cmp.setup.cmdline(":", { { name = "cmdline" }, }), }) + + diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index a7653e2..11d8834 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -20,6 +20,9 @@ vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") vim.api.nvim_command("highlight WinBar guibg=none gui=bold") +--vim.api.nvim_command("highlight PmenuSel guibg=none") +vim.api.nvim_command("highlight NormalFloat guibg=none") +--vim.api.nvim_command("highlight winblend guibg=none") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") --vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") --vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") diff --git a/lua/plugins/heirline.backup.lua b/lua/plugins/heirline.backup.lua new file mode 100644 index 0000000..d65de92 --- /dev/null +++ b/lua/plugins/heirline.backup.lua @@ -0,0 +1,733 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +require("nvim-gps").setup({ + icons = { + ["class-name"] = " ", + ["function-name"] = " ", + ["method-name"] = " ", + ["container-name"] = "炙", + ["tag-name"] = "炙", + }, +}) + +vim.o.laststatus = 3 + +local colors = { + bg = "#333842", + brown = "#504945", + white = "#f8f8f0", + grey = "#8F908A", + black = "#000000", + pink = "#f92672", + green = "#a6e22e", + blue = "#66d9ef", + yellow = "#e6db74", + orange = "#fd971f", + purple = "#ae81ff", + red = "#e95678", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +local ViMode = { + -- get vim current mode, this information will be required by the provider + -- and the highlight functions, so we compute it only once per component + -- evaluation and store it as a component attribute + init = function(self) + self.mode = vim.fn.mode(1) -- :h mode() + end, + -- Now we define some dictionaries to map the output of mode() to the + -- corresponding string and color. We can put these into `static` to compute + -- them at initialisation time. + static = { + mode_names = { + -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + mode_colors = { + n = colors.green, + i = colors.pink, + v = colors.blue, + V = colors.blue, + [""] = colors.blue, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + }, + -- We can now access the value of mode() that, by now, would have been + -- computed by `init()` and use it to index our strings dictionary. + -- note how `static` fields become just regular attributes once the + -- component is instantiated. + -- To be extra meticulous, we can also add some vim statusline syntax to + -- control the padding and make sure our string is always at least 2 + -- characters long. Plus a nice Icon. + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + -- Same goes for the highlight. Now the foreground will change according to the current mode. + hl = function(self) + local mode = self.mode:sub(1, 1) -- get only the first mode character + return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } + end, +} + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} +-- We can now define some children separately and add them later + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "[No Name]" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return "" + end + end, + hl = { fg = colors.orange }, + }, +} + +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + -- use `force` because we need to override the child's hl foreground + return { fg = colors.cyan, bold = true, force = true, bg = colors.bg } + end + end, +} + +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local Diagnostics = { + condition = conditions.has_diagnostics, + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, +} + +local Git = { + condition = conditions.is_git_repo, + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + hl = { fg = colors.orange, bg = colors.bg }, + { + -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + return count > 0 and ("  " .. count) + end, + hl = { fg = colors.git.change, bg = colors.bg }, + }, +} + +local WorkDir = { + provider = function() + local icon = " " + local cwd = vim.fn.getcwd(0) + cwd = vim.fn.fnamemodify(cwd, ":~") + if not conditions.width_percent_below(#cwd, 0.25) then + cwd = vim.fn.pathshorten(cwd) + end + local trail = cwd:sub(-1) == "/" and "" or "/" + return icon .. cwd .. trail + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, +} + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + hl = { bold = true, bg = colors.bg }, +} + +local Ruler = { + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + provider = "%7 %p%% Ln %l, Col %c", +} + +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " " } + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileEncoding = { + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:upper() + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + FileEncoding, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileNameShort = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":t") + if filename == "" then + return "[No Name]" + end + return filename + end, + hl = { fg = colors.gray, bg = colors.bg }, +} + +local FileNameShortBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileNameShortBlock = utils.insert( + FileNameShortBlock, + FileIcon, + FileNameShort, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local Gps = { + condition = require("nvim-gps").is_available, + provider = function() + local loc = require("nvim-gps").get_location() + if loc == "" then + return "" + end + return "> " .. loc + end, + hl = { fg = colors.gray, bg = colors.bg }, +} + +local DefaultStatusline = { + ViMode, + Space, + FileNameBlock, + Space, + Diagnostics, + Align, + Ruler, + Space, + FileInfoBlock, + Space, + Git, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + FileType, + Space, + Align, +} + +local TerminalStatusline = { + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + TerminalName, + Align, +} + +local StatusLines = { + fallthrough = false, + SpecialStatusline, + TerminalStatusline, + DefaultStatusline, +} + +local GSpace = { provider = " ", hl = { bg = colors.bg } } + +local WinBars = { + fallthrough = false, + { + -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix", "nofile", "promt" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + provider = "", + }, + { + -- An inactive winbar for regular files + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) and not conditions.is_active() + end, + utils.surround( + { "", "" }, + colors.bright_bg, + { hl = { fg = "gray", force = true }, GSpace, TerminalName, Align } + ), + }, + { + -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, colors.dark_red, { + GSpace, + TerminalName, + Align, + }), + }, + { + -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround( + { "", "" }, + colors.bright_bg, + { hl = { fg = "gray", force = true }, GSpace, FileNameShortBlock, Align } + ), + }, + -- A winbar for regular files + { GSpace, FileNameShortBlock, GSpace, Gps, Align }, +} + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+]" + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "" + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineDiagnostics = { + static = { + error_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + init = function(self) + self.errors = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.INFO }) + end, + { + provider = function(self) + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + else + return "TabLine" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = true }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineFileIcon, + TablineFileName, + TablineFileFlags, + TablineDiagnostics, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.bo[self.bufnr].modified + end, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLine").bg + end +end, { TablineFileNameBlock, TablineCloseButton }) + +-- and here we go +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + hl = "TabLine", +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +local TabLine = { TabLineOffset, BufferLine, TabPages } + +require("heirline").setup(StatusLines, WinBars, TabLine) + +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +vim.api.nvim_create_augroup("Heirline", { clear = true }) +vim.api.nvim_create_autocmd("ColorScheme", { + callback = function() + local colors = setup_colors() + utils.on_colorscheme(colors) + end, + group = "Heirline", +}) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) diff --git a/lua/plugins/heirline.backup2.lua b/lua/plugins/heirline.backup2.lua new file mode 100644 index 0000000..9f5c4ca --- /dev/null +++ b/lua/plugins/heirline.backup2.lua @@ -0,0 +1,1921 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +-- Colors +--local colors = { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +--} + +--local colors = { +-- gray = '#23232e', +-- lightgray = '#5f6a8e', +-- orange = '#ffb86c', +-- purple = '#bd93f9', +-- red = '#ff5555', +-- yellow = '#f1fa8c', +-- green = '#50fa7b', +-- white = '#f8f8f2', +-- black = '#282a36', +--} +local colors = { + bg = "#333842", + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + brown = "#504945", + white = "#f8f8f0", + grey = "#8F908A", + pink = "#f92672", + --green = "#a6e22e", + green = "#AAD94C", + --blue = "#66d9ef", + blue = "#39BAE6", + yellow = "#e6db74", + --orange = "#fd971f", + orange = "#FA8D3F", + purple = "#ae81ff", + --red = "#e95678", + red = "#F07171", + cyan = "#66d9eC", + mode_fg = "#242424", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +--local mode_lable = { +-- n = 'NORMAL', +-- no = 'OPPEND', +-- nov = 'N?', +-- noV = 'N?', +-- ['no\22'] = 'N?', +-- niI = 'Ni', +-- niR = 'Nr', +-- niV = 'Nv', +-- nt = 'N-TERM', +-- v = 'VISUAL', +-- vs = 'Vs', +-- V = 'V-LINE', +-- Vs = 'Vs', +-- ['\22'] = 'V-BLCK', +-- ['\22s'] = '^V', +-- s = 'SELECT', +-- S = 'S-LINE', +-- ['\19'] = 'S-BLCK', +-- i = 'INSERT', +-- ic = 'ICOMPL', +-- ix = 'Ix', +-- R = 'REPLACE', +-- Rc = 'Rc', +-- Rx = 'Rx', +-- Rv = 'VRPLCE', +-- Rvc = 'Rv', +-- Rvx = 'Rv', +-- c = 'CMMAND', +-- cv = 'PROMPT', +-- r = '...', +-- rm = 'MORE', +-- ['r?'] = 'CNFIRM', +-- ['!'] = 'SHELL', +-- t = 'TERM', +--} +-- +--local mode_colors_table = { +-- n = 'red', +-- no = 'blue', +-- nov = 'blue', +-- noV = 'blue', +-- niI = 'red', +-- niR = 'red', +-- niV = 'red', +-- nt = 'red', +-- v = 'cyan', +-- vs = 'cyan', +-- V = 'cyan', +-- Vs = 'cyan', +-- ['\22'] = 'cyan', +-- ['\22s'] = 'cyan', +-- s = 'purple', +-- S = 'purple', +-- ['\19'] = 'purple', +-- i = 'blue', +-- ic = 'blue', +-- ix = 'blue', +-- R = 'orange', +-- Rc = 'orange', +-- Rx = 'orange', +-- Rv = 'orange', +-- Rvc = 'orange', +-- Rvx = 'orange', +-- c = 'green', +-- cv = 'green', +-- r = 'green', +-- rm = 'green', +-- ['r?'] = 'green', +-- ['!'] = 'red', +-- t = 'red', +--} +-- +--local mode_colors = setmetatable({ +-- n = { fg = 'red' } +--}, { +-- __index = function(_, mode) +-- return { +-- fg = 'mode_fg', +-- bg = mode_colors_table[mode], +-- } +-- end +--}) +-- +-- +--local VimModeNormal = { +-- condition = function(self) +-- return self.mode == 'n' +-- end, +-- provider = ' ●', +--} +-- +--local VimModeOthers = { +-- condition = function(self) +-- return self.mode ~= 'n' +-- end, +-- +-- utils.surround({ '', '' }, +-- function(self) +-- return mode_colors[self.mode].bg +-- end, +-- { +-- { +-- provider = function(self) +-- return '● ' .. mode_lable[self.mode] +-- end, +-- }, +-- hl = function(self) +-- return mode_colors[self.mode] +-- end +-- } +-- ), +--} +-- +--local ViMode = { +-- init = function(self) +-- self.mode = vim.fn.mode(1) +-- end, +-- +-- VimModeNormal, VimModeOthers, +-- +-- update = { 'ModeChanged' } +--} +--local colors = require'kanagawa.colors'.setup() -- wink + +--utils.surround({ "", "" }, function(self) return self:mode_color() end, {Ruler, hl = {fg = 'black'}} ), +-- we are surrounding the component and adjusting the foreground in one go! + +-- ViMode truemode +--local ViMode = { +-- -- get vim current mode, this information will be required by the provider +-- -- and the highlight functions, so we compute it only once per component +-- -- evaluation and store it as a component attribute +-- init = function(self) +-- self.mode = vim.fn.mode(1) -- :h mode() +-- +-- -- execute this only once, this is required if you want the ViMode +-- -- component to be updated on operator pending mode +-- if not self.once then +-- vim.api.nvim_create_autocmd("ModeChanged", { +-- pattern = "*:*o", +-- command = "redrawstatus", +-- }) +-- self.once = true +-- end +-- end, +-- -- Now we define some dictionaries to map the output of mode() to the +-- -- corresponding string and color. We can put these into `static` to compute +-- -- them at initialisation time. +-- static = { +-- mode_names = { -- change the strings if you like it vvvvverbose! +-- ["n"] = "NORMAL ", +-- ["no"] = "N·OPERATOR PENDING ", +-- ["v"] = "VISUAL ", +-- ["V"] = "V·LINE ", +-- [""] = "V·BLOCK ", +-- ["s"] = "SELECT ", +-- ["S"] = "S·LINE ", +-- [""] = "S·BLOCK ", +-- ["i"] = "INSERT ", +-- ["R"] = "REPLACE ", +-- ["Rv"] = "V·REPLACE ", +-- ["c"] = "COMMAND ", +-- ["cv"] = "VIM EX ", +-- ["ce"] = "EX ", +-- ["r"] = "PROMPT ", +-- ["rm"] = "MORE ", +-- ["r?"] = "CONFIRM ", +-- ["!"] = "SHELL ", +-- ["t"] = "TERMINAL ", +-- }, +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- --n = "blue" , +-- --i = "green", +-- --v = "cyan", +-- --V = "cyan", +-- --["\22"] = "cyan", +-- --c = "orange", +-- --s = "purple", +-- --S = "purple", +-- --["\19"] = "purple", +-- --R = "orange", +-- --r = "orange", +-- --["!"] = "red", +-- --t = "red", +-- }, +-- }, +-- -- We can now access the value of mode() that, by now, would have been +-- -- computed by `init()` and use it to index our strings dictionary. +-- -- note how `static` fields become just regular attributes once the +-- -- component is instantiated. +-- -- To be extra meticulous, we can also add some vim statusline syntax to +-- -- control the padding and make sure our string is always at least 2 +-- -- characters long. Plus a nice Icon. +-- provider = function(self) +-- return " %2(" .. self.mode_names[self.mode] .. "%)" +-- --return " %2("..self.mode_names[self.mode].."%)" +-- -- +-- -- +-- -- +-- end, +-- -- Same goes for the highlight. Now the foreground will change according to the current mode. +-- hl = function(self) +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- end, +-- -- Re-evaluate the component only on ModeChanged event! +-- -- This is not required in any way, but it's there, and it's a small +-- -- performance improvement. +-- update = { +-- "ModeChanged", +-- }, --optional +--} +local ViMode = { + static = { + mode_names = { -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color, fg = colors.bg, bold = true } + end, +} + +local ViModeColor = { + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + }, +} + +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} +-- +---- lsp status +---- I personally use it only to display progress messages! +---- See lsp-status/README.md for configuration options. +-- +---- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +--local LSPMessages = { +-- provider = require("lsp-status").status, +-- hl = { fg = "gray" }, +--} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local fill = { provider = "%=", hl = { bg = colors.nobg } } +--local LeftSep = { provider = "" hl = { fg = colors.bg } } +--local RightSep = { provider = "" hl = { fg = colors.bg }} + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + --return { fg = self.icon_color } + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "[No Name]" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return "" + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + -- use `force` because we need to override the child's hl foreground + --return { fg = "cyan", bold = true, force = true } + return { fg = "blue", bold = true, force = true, bg = colors.bg } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + -- return string.upper(vim.bo.filetype) + --end, + ----hl = { fg = utils.get_highlight("Type").fg, bold = true }, + --hl = { fg = utils.get_highlight("Type").fg, bold = true, bg = colors.bg }, + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:upper() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + provider = "%3(%2l%):%c %P", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} +--local ScrollBar = { +-- static = { +-- --sbar = { "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" }, +-- sbar = { "🭶", "🭷", "🭸", "🭹", "🭺", "🭻" }, +-- }, +-- provider = function(self) +-- local curr_line = vim.api.nvim_win_get_cursor(0)[1] +-- local lines = vim.api.nvim_buf_line_count(0) +-- local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1 +-- return string.rep(self.sbar[i], 2) +-- end, +-- --hl = { fg = "blue", bg = "bright_bg" }, +-- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +--} +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%p%%" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + --hl = { fg = "blue", bold = true }, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + --hl = { fg = "blue", bold = true }, + hl = { bold = true, bg = colors.bg }, +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + FileEncoding, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +-- Statusline + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) + +--utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), +local DefaultStatusline = { + ViMode, + Space, + FileNameBlock, + Space, + Git, + Space, + Diagnostics, + Align, + Navic, + DAPMessages, + Align, + Space, + FileInfoBlock, + Space, + WordCount, + Ruler, + Space, + --Position, + --Percentage, + --ScrollBar, + --Space, + --LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +} + +--local InactiveStatusline = { +-- condition = conditions.is_not_active, +-- FileType, +-- Space, +-- FileName, +-- Align, +--} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + FileType, + Space, + Align, + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + hl = { bg = "dark_red" }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + { condition = conditions.is_active, ViMode, Space }, + FileType, + Space, + TerminalName, + Align, +} + +--local StatusLines = { +-- +-- hl = function() +-- if conditions.is_active() then +-- return "StatusLine" +-- else +-- return "StatusLineNC" +-- end +-- end, +-- +-- -- the first statusline with no condition, or which condition returns true is used. +-- -- think of it as a switch case with breaks to stop fallthrough. +-- fallthrough = false, +-- +-- SpecialStatusline, +-- TerminalStatusline, +-- --InactiveStatusline, +-- DefaultStatusline, +--} +local StatusLines = { + + hl = function() + if conditions.is_active() then + return "StatusLine" + else + return "StatusLineNC" + end + end, + + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + --InactiveStatusline, + DefaultStatusline, +} +--hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +-- hl = { bg = colors.bg }, +--require("heirline").setup(StatusLines) +-- we're done. + +--local FelineStyle = { +-- +-- -- stop at child where buftype/filetype/bufname matches +-- fallthrough = false, +-- +-- { -- Identify the buftype/filetype/bufname first +-- condtion = function() +-- return conditions.buffer_matches({...}) +-- end, +-- +-- -- Evaluate only the "active" or "inactive" child +-- fallthrough = false, +-- +-- { -- If it's the current window, display some components +-- condition = conditions.is_active +-- {...} -- +-- }, +-- { -- Otherwise, display some other components +-- {...} -- +-- } +-- }, +-- { -- this block can be exactly as the one above for a different kind of +-- -- buffer +-- ... +-- } +--} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) +local active_middle_segment = { --{{{ + -- provider = "%999X  %X", + + --provider = function(self) + -- --return " %999X %999X " + -- return " %2("..self.mode_names[self.mode].."%)" + -- -- + -- -- + -- -- + --end, + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + --utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), + }, + -- A winbar for regular files + --utils.surround({ "", "" }, "bright_bg", FileNameBlock), + --█🙼🙽🙼█⮘██⮚ + --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = function(self) + -- local color = self:mode_color() -- here! + -- return { bg = color, bold = true, force = true } + --end, + --}), + --utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), +} + +--utils.surround({ "", "" }, function(self) return self:mode_color() end, { active_middle_segment, hl = { fg = colors.bg, force = true } }) + +local WinBars = { + fill, + active_middle_segment, + fill, +} +-- --utils.surround({ " ", " " }, colors.nobg, { fill, active_middle_segment, fill }) +-- --static = { +-- -- mode_colors_map = { +-- -- n = colors.blue, +-- -- i = colors.green, +-- -- v = colors.purple, +-- -- V = colors.purple, +-- -- [""] = colors.purple, +-- -- c = colors.red, +-- -- s = colors.purple, +-- -- S = colors.purple, +-- -- [""] = colors.purple, +-- -- R = colors.orange, +-- -- r = colors.orange, +-- -- ["!"] = colors.red, +-- -- t = colors.red, +-- -- }, +-- -- mode_color = function(self) +-- -- local mode = conditions.is_active() and vim.fn.mode() or "n" +-- -- return self.mode_colors_map[mode] +-- -- end, +-- --}, +-- --utils.surround({ " ", " " }, colors.nobg, { active_middle_segment, hl = function(self) +-- -- local color = self:mode_color() -- here! +-- -- return { bg = color, bold = true, force = true } +-- --end, +-- --}) +--} +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +-- Use it anywhere! +--local WinBarFileName = utils.surround({ "", "" }, "bright_bg", { +-- hl = function() +-- if not conditions.is_active() then +-- return { fg = "gray", force = true } +-- end +-- end, +-- FileNameBlock, +-- Space, +-- CloseButton, +--}) + +--local WinBars = { +-- -- init = utils.pick_child_on_condition, +-- fallthrough = false, +-- { +-- condition = function() +-- return conditions.buffer_matches({ +-- buftype = { "nofile", "prompt", "help", "quickfix" }, +-- filetype = { "^git.*", "fugitive" }, +-- }) +-- end, +-- init = function() +-- vim.opt_local.winbar = nil +-- end, +-- }, +-- { +-- condition = function() +-- return conditions.buffer_matches({ buftype = { "terminal" } }) +-- end, +-- utils.surround({ "", "" }, "dark_red", { +-- FileType, +-- Space, +-- TerminalName, +-- CloseButton, +-- }), +-- }, +-- utils.surround({ "", "" }, "bright_bg", { +-- hl = function() +-- if conditions.is_not_active() then +-- return { fg = "gray", force = true } +-- end +-- end, +-- +-- FileNameBlock, +-- CloseButton, +-- }), +--} + +-- TabLine +--local TabLine ={ +-- hl = { bg = colors.bg }, +--} +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. ". " + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +-- this looks exactly like the FileFlags component that we saw in +-- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly +-- also, we are adding a nice icon for terminal buffers. +--local TablineFileFlags = { +-- { +-- condition = function(self) +-- return vim.api.nvim_buf_get_option(self.bufnr, "modified") +-- end, +-- provider = "[+]", +-- --hl = { fg = colors.green }, +-- hl = { fg = colors.green, bold = true, bg = colors.bg }, +-- }, +-- { +-- condition = function(self) +-- return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable") +-- or vim.api.nvim_buf_get_option(self.bufnr, "readonly") +-- end, +-- provider = function(self) +-- if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then +-- return "  " +-- else +-- return "" +-- end +-- end, +-- hl = { fg = "orange", bg = colors.bg }, +-- }, +--} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+]" + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "" + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLine" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +--local TablineBufferBlock = utils.surround({ "", "", hl = { bg =colors.bg } }, function(self) +-- if self.is_active then +-- return utils.get_highlight("TabLineSel").fg, utils.get_highlight("TabLineSel").bg +-- else +-- return utils.get_highlight("TabLine").fg, utils.get_highlight("TabLine").bg +-- end +----end, { TabLine, TablineFileNameBlock, TablineCloseButton }) +--end, { TablineFileNameBlock, TablineCloseButton }) + +--local TablineBufferBlock = utils.surround({ "█", "█" }, "bg", { +-- hl = function() +-- if not conditions.is_active() then +-- return { fg = "gray", force = true, bg = colors.bg } +-- end +-- end, +-- TablineFileNameBlock, +-- TablineCloseButton, +--}) +--local TablineBufferBlock = utils.surround({ "█", "█" }, +-- { hl = function(self) +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- end, }, +--{ TablineFileNameBlock, TablineCloseButton, { hl = ViMode }, }) + +--local TablineBufferBlock = { +-- init = function(self) +-- +-- self.mode = vim.fn.mode(1) -- :h mode() +-- +-- vim.api.nvim_create_autocmd("ModeChanged", { +-- pattern = "*:*o", +-- command = "redrawstatus", +-- }) +-- self.once = true +-- end, +-- static = { +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- }, +-- hl = function(self) +-- if self.is_active then +-- local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { fg = self.mode_colors[mode], bold = true, } +-- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("TabLine").bg +-- end +-- end, +-- update = { +-- "ModeChanged", +-- }, --optional +-- { TablineFileNameBlock, TablineCloseButton } +--} + +--local TabLineSel = { +-- hl = { bg = self.mode_colors[mode], fg = colors.bg, bold = true } +--} +--local ViMode2 = { +-- init = function(self) +-- self.mode = vim.fn.mode() +-- end, +-- static = { +-- mode_colors = { +-- n = "red", +-- i = "green", +-- v = "blue", +-- c = "orange" +-- +-- } +-- }, +-- provider = function(self) +-- return string.upper(self.mode) +-- end, +-- hl = function(self) +-- return { fg = self.mode_colors[self.mode], bold = true, } +-- end +--} +--local surrr = { +-- utils.surround({ "", "" }, "red", { +-- utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), +-- { provider = "Normal" }, +-- }), +--} +--local statusline = ViMode + +--local TablineBufferBlock = utils.surround({ "", "" }, function(self) +-- if self.is_active then +-- --self.mode = vim.fn.mode(1) -- :h mode() +-- +-- --return utils.get_highlight(vim.api.nvim_get_mode().mode).bg +-- return utils.get_highlight("TabLineSel").bg +-- --return utils.get_highlight("Normal").bg +-- --local mode = self.mode:sub(1, 1) -- get only the first mode character +-- --return { bg = TabLineSel, fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("TabLine").bg +-- end +--end, { TablineFileNameBlock, TablineCloseButton }) + +local TablineBufferBlock = utils.surround({ "█", "▎" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLine").bg + end +end, { TablineFileNameBlock, TablineCloseButton }) +--█ +--local TablineBufferBlock = { +-- init = function(self) +-- self.mode = vim.fn.mode() +-- end, +-- static = { +-- mode_colors = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- }, +-- hl = function(self) +-- if conditions.is_active() then +-- return { bg = self.mode_colors[self.mode], fg = colors.bg, bold = true } +-- else +-- return utils.get_highlight("Tabline").bg +-- end +-- end, +-- update = { +-- "ModeChanged", +-- }, --optional +-- { TablineFileNameBlock, TablineCloseButton }, +--} + +--local TablineBufferBlock = { +-- static = { +-- mode_colors_map = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.purple, +-- V = colors.purple, +-- [""] = colors.purple, +-- c = colors.red, +-- s = colors.purple, +-- S = colors.purple, +-- [""] = colors.purple, +-- R = colors.orange, +-- r = colors.orange, +-- ["!"] = colors.red, +-- t = colors.red, +-- }, +-- mode_color = function(self) +-- local mode = conditions.is_active() and vim.fn.mode() or "n" +-- return self.mode_colors_map[mode] +-- end, +-- }, +-- { -- A special winbar for terminals +-- condition = function() +-- return conditions.buffer_matches({ buftype = { "terminal" } }) +-- end, +-- utils.surround({ "", "" }, "dark_red", { +-- FileType, +-- Space, +-- TerminalName, +-- }), +-- }, +-- { -- An inactive winbar for regular files +-- condition = function() +-- return conditions.is_not_active() +-- end, +-- utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton } ) +-- }, +-- { +-- condition = function() +-- return conditions.is_active() +-- end, +-- utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ) +-- }, +--function() +--if self.is_active then +--utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), +--utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), +--utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ), +--} +--ViMode = utils.surround({ "", "" }, function(self) +-- if self.is_active then +-- return self:mode_color() +-- else +-- return utils.get_highlight("TabLine").bg +-- end +-- end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } ) +-- +----} +--local TablineBufferBlock = { +-- ViMode, +-- TablineFileName, +-- TablineCloseButton, +--} +-- A winbar for regular files +--utils.surround({ "", "" }, "bright_bg", FileNameBlock), +--utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- if self.is_active then +-- return utils.get_highlight("TabLineSel").bg +-- else +-- return utils.get_highlight("TabLine").bg +-- end +--end, { TablineFileNameBlock, TablineCloseButton, } ) +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) +--local StatusLines = { +-- +-- hl = function() +-- if conditions.is_active() then +-- return "StatusLine" +-- else +-- return "StatusLineNC" +-- end +-- end, +-- +-- -- the first statusline with no condition, or which condition returns true is used. +-- -- think of it as a switch case with breaks to stop fallthrough. +-- fallthrough = false, +-- +-- SpecialStatusline, +-- TerminalStatusline, +-- --InactiveStatusline, +-- DefaultStatusline, +--} +-- +-- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +-- hl = { bg = colors.bg }, +--local TabLine ={ +-- hl = { bg = colors.bg }, +--} +-- Window Close button: Let the callback know from which window it was clicked from! +-- The following is the recommended way of achieving that: +require("heirline").setup(StatusLines, WinBars, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +vim.api.nvim_create_augroup("Heirline", { clear = true }) +vim.api.nvim_create_autocmd("ColorScheme", { + callback = function() + local colors = setup_colors() + utils.on_colorscheme(colors) + end, + group = "Heirline", +}) + +local function get_bufs() + return vim.tbl_filter(function(bufnr) + return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted + end, vim.api.nvim_list_bufs()) +end + +local function goto_buf(index) + local bufs = get_bufs() + if index > #bufs then + index = #bufs + end + vim.api.nvim_win_set_buf(0, bufs[index]) +end + +local function addKey(key, index) + vim.keymap.set("", "", function() + goto_buf(index) + end, { noremap = true, silent = true }) +end + +for i = 1, 9 do + addKey(i, i) +end +addKey("0", 10) +-- Theming +--local function setup_colors() +-- return { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +-- } +--end +--require('heirline').load_colors(setup_colors()) +-- +--vim.api.nvim_create_augroup("Heirline", { clear = true }) +--vim.api.nvim_create_autocmd("ColorScheme", { +-- callback = function() +-- local colors = setup_colors() +-- utils.on_colorscheme(colors) +-- end, +-- group = "Heirline", +--}) diff --git a/lua/plugins/heirline.lua-202210111610.backup b/lua/plugins/heirline.lua-202210111610.backup new file mode 100644 index 0000000..e1a54e3 --- /dev/null +++ b/lua/plugins/heirline.lua-202210111610.backup @@ -0,0 +1,1452 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + white = "#f8f8f2", + --darkgray = "#1c1c29", + --darkgray = "#2d2b3a", + --darkgray = "#181818", + darkgray = "#23232e", + --darkgray = "#404040", + --gray = "#333842", + --gray = "#393547", + --gray = "#333842", + --lightgray = "#888888", + gray = "#2d2b3a", + lightgray = "#d6d3ea", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + ---purple = "#bd93f9", + ---purple = "#be2ed6", + purple = "#BF40BF", + --purple = "#5D3FD3", + --purple = "#DA70D6", + violet = "#7F00FF", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +local ViMode = { + init = function(self) + self.mode = vim.fn.mode(1) + if not self.once then + vim.cmd("au ModeChanged *:*o redrawstatus") + end + self.once = true + end, + static = { + mode_names = { + n = "NORMAL ", + no = "N·OPERATOR PENDING ", + nov = "N?", + noV = "N?", + ["no\22"] = "N? ", + niI = "Ni", + niR = "Nr", + niV = "Nv", + nt = "Nt", + v = "VISUAL ", + vs = "Vs", + V = "V·LINE ", + ["\22"] = "V·BLOCK ", + ["\22s"] = "V·BLOCK ", + s = "SELECT ", + S = "S·LINE ", + ["\19"] = "S·BLOCK ", + i = "INSERT ", + ix = "insert x ", + ic = "insert c ", + R = "REPLACE ", + Rc = "Rc", + Rx = "Rx", + Rv = "V·REPLACE ", + Rvc = "Rv", + Rvx = "Rv", + c = "COMMAND ", + cv = "VIM EX ", + --ce = "EX ", + r = "PROMPT ", + rm = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + t = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%)" + end, + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + update = { + "ModeChanged", + }, +} + +-- +-- +-- +--  +--凜兩 +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = { "LspAttach", "LspDetach" }, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- +-- provider = function() +-- local names = vim.tbl_values(vim.tbl_map(function(cl) +-- return cl.name +-- end, vim.lsp.buf_get_clients(0))) +-- +-- return "LSP " .. table.concat(names, " ") .. "" +-- end, +-- hl = { fg = colors.bg }, +--} +local LSPActive = { + condition = conditions.lsp_attached, + update = { "LspAttach", "LspDetach" }, + + -- You can keep it simple, + -- provider = " [LSP]", + + -- Or complicate things a bit and get the servers names + provider = function() + local buf_clients = vim.lsp.buf_get_clients() + local buf_ft = vim.bo.filetype + local buf_client_names = {} + + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" then + table.insert(buf_client_names, client.name) + end + end + return "⚙️ " .. table.concat(buf_client_names, "") + --return table.concat(buf_client_names, " ") + --return "⚙️﬉ " .. table.concat(buf_client_names, ", ") .. " " + --return " " .. table.concat(names, " ") .. " " + end, + hl = { fg = colors.lightgray, bold = false }, +} +--local LSPActive = { +-- function(msg) +-- msg = msg or "LS Inactive" +-- local buf_clients = vim.lsp.buf_get_clients() +-- if next(buf_clients) == nil then +-- if type(msg) == "boolean" or #msg == 0 then +-- return "LS Inactive" +-- end +-- return msg +-- end +-- +-- local buf_ft = vim.bo.filetype +-- local buf_client_names = {} +-- +-- -- add client +-- for _, client in pairs(buf_clients) do +-- if client.name ~= "null-ls" then +-- table.insert(buf_client_names, client.name) +-- end +-- end +-- +-- -- add formatter +-- local formatters = require("user.lsp.null-ls.formatters") +-- local supported_formatters = formatters.list_registered(buf_ft) +-- vim.list_extend(buf_client_names, supported_formatters) +-- +-- -- add linter +-- local linters = require("user.lsp.null-ls.linters") +-- local supported_linters = linters.list_registered(buf_ft) +-- vim.list_extend(buf_client_names, supported_linters) +-- +-- return table.concat(buf_client_names, " ") +-- -- return "[" .. table.concat(buf_client_names, ", ") .. "]" +-- end, +-- hl = { fg = colors.bg }, +--} +-- lsp status +-- I personally use it only to display progress messages! +-- See lsp-status/README.md for configuration options. + +-- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +local LSPMessages = { + provider = require("lsp-status").status, + hl = { fg = "gray" }, +} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + --±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +-- hl = { bg = colors.bg }, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + provider = "%3(%l:%1.5c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) ", + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +local Total = { + provider = "%L", + hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%P" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +--local TerminalName = { +-- -- we could add a condition to check that buftype == 'terminal' +-- -- or we could do that later (see #conditional-statuslines below) +-- provider = function() +-- local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") +-- return " " .. tname +-- end, +-- hl = { bold = true, bg = colors.bg }, +--} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) +-- Statusline +--BackgroundStatusline = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) +-- +local Surrr = { + utils.surround({ "", "" }, "gray", { + FileInfoBlock, + hl = { bg = colors.gray }, + utils.surround({ "", "" }, "gray", { + Percentage, + utils.surround({ "", "" }, function(self) + return self:mode_color() + end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), + }), + }), +} + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +-- +RightSpace = utils.surround( + { "", "" }, + colors.gray, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround( + { "█", "" }, + colors.darkgray, + { RightSpace2, hl = { fg = colors.darkgray, force = true } } +) + +RightSpace3 = utils.surround( + { "█", "" }, + utils.get_highlight("statusline").bg, + { RightSpace3, hl = { fg = colors.darkgray, force = true } } +) +--RightSpace = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +---- +-- +--Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) +-- + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.gray, { Space, Ruler, hl = { fg = colors.gray, force = true } }) + +local align = { provider = "%=" } +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { + RightSpace3, + hl = { bg = colors.darkgray, force = true }, + }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { LSPActive, hl = { bg = colors.darkgray, force = true } }, + --{ FileEncoding, hl = { bg = colors.orange, force = true } }, + { RightSpace2, hl = { bg = colors.gray, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileInfoBlock, hl = { bg = colors.gray, force = true } }, + --{ Space, hl = { bg = colors.red, force = true } }, + --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = colors.gray, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local sections = { left, middle, right } +local DefaultStatusline = { sections } + +--local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } +--local statusline = { +--Space, +--Space, +--Git, +--Space, +--Diagnostics, +--Align, +--Navic, +--DAPMessages, +--Align, +--Space, +--FileInfoBlock, +--Space, +--WordCount, +--Ruler, +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +--} + +local InactiveStatusline = { + condition = conditions.is_not_active, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + --FileType, + --Space, + --Align, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + --hl = { bg = colors.red }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + --{ condition = conditions.is_active, ViMode, Space }, + + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --FileType, + --Space, + --TerminalName, + --Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + ["\22"] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + ["\19"] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + --mode_colors_map = { + -- n = colors.blue, + -- i = colors.green, + -- v = colors.purple, + -- V = colors.violet, + -- [""] = colors.red, + -- c = colors.yellow, + -- s = colors.orange, + -- S = colors.orange, + -- [""] = colors.purple, + -- R = colors.orange, + -- r = colors.orange, + -- ["!"] = colors.red, + -- t = colors.red, + }, + --mode_color = function(self) + -- local mode = conditions.is_active() and vim.fn.mode() or "n" + -- return self.mode_colors_map[mode] + --end, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + InactiveStatusline, + DefaultStatusline, +} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local active_middle_segment = { --{{{ + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), + }, +} + +--local WinBar = { +-- Fill, +-- active_middle_segment, +-- Fill, +--} +local WinBar = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, colors.nobg, FileNameBlock), +} + +-- TabLine +-- + +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + --+ + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) +--require("heirline").setup(StatusLine, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/lua/plugins/heirlinenew.lua b/lua/plugins/heirlinenew.lua new file mode 100644 index 0000000..64a33b2 --- /dev/null +++ b/lua/plugins/heirlinenew.lua @@ -0,0 +1,1342 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + bright_fg = "#ffffff", + bright_bg = "#000000", + white = "#f8f8f2", + gray = "#23232e", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + purple = "#bd93f9", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +--local function setup_colors() +-- return { +-- bright_bg = utils.get_highlight("Folded").bg, +-- bright_fg = utils.get_highlight("Folded").fg, +-- red = utils.get_highlight("DiagnosticError").fg, +-- dark_red = utils.get_highlight("DiffDelete").bg, +-- green = utils.get_highlight("String").fg, +-- blue = utils.get_highlight("Function").fg, +-- gray = utils.get_highlight("NonText").fg, +-- orange = utils.get_highlight("Constant").fg, +-- purple = utils.get_highlight("Statement").fg, +-- cyan = utils.get_highlight("Special").fg, +-- diag_warn = utils.get_highlight("DiagnosticWarn").fg, +-- diag_error = utils.get_highlight("DiagnosticError").fg, +-- diag_hint = utils.get_highlight("DiagnosticHint").fg, +-- diag_info = utils.get_highlight("DiagnosticInfo").fg, +-- git_del = utils.get_highlight("diffDeleted").fg, +-- git_add = utils.get_highlight("diffAdded").fg, +-- git_change = utils.get_highlight("diffChanged").fg, +-- } +--end +--require('heirline').load_colors(setup_colors()) +-- +--vim.api.nvim_create_augroup("Heirline", { clear = true }) +--vim.api.nvim_create_autocmd("ColorScheme", { +-- callback = function() +-- local colors = setup_colors() +-- utils.on_colorscheme(colors) +-- end, +-- group = "Heirline", +--}) + +local ViMode = { + static = { + mode_names = { -- change the strings if you like it vvvvverbose! + ["n"] = "NORMAL ", + ["no"] = "N·OPERATOR PENDING ", + ["v"] = "VISUAL ", + ["V"] = "V·LINE ", + [""] = "V·BLOCK ", + ["s"] = "SELECT ", + ["S"] = "S·LINE ", + [""] = "S·BLOCK ", + ["i"] = "INSERT ", + ["R"] = "REPLACE ", + ["Rv"] = "V·REPLACE ", + ["c"] = "COMMAND ", + ["cv"] = "VIM EX ", + ["ce"] = "EX ", + ["r"] = "PROMPT ", + ["rm"] = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + ["t"] = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color, fg = colors.bg, bold = true } + end, +} + +-- LSP + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = {'LspAttach', 'LspDetach'}, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +-- on_click = { +-- callback = function() +-- vim.defer_fn(function() +-- vim.cmd("LspInfo") +-- end, 100) +-- end, +-- name = "heirline_LSP", +-- }, +--} + +--local LSPActive = { +-- condition = conditions.lsp_attached, +-- update = { "LspAttach", "LspDetach" }, +-- +-- -- You can keep it simple, +-- -- provider = " [LSP]", +-- +-- -- Or complicate things a bit and get the servers names +-- provider = function() +-- local names = {} +-- for i, server in pairs(vim.lsp.buf_get_clients(0)) do +-- table.insert(names, server.name) +-- end +-- return " [" .. table.concat(names, " ") .. "]" +-- end, +-- hl = { fg = "green", bold = true }, +--} + +local LSPActive = { + condition = conditions.lsp_attached, + + provider = function() + local names = vim.tbl_values(vim.tbl_map(function(cl) + return cl.name + end, vim.lsp.buf_get_clients(0))) + + return "LSP [" .. table.concat(names, " ") .. "]" + end, + hl = { fg = colors.green }, +} +-- lsp status +-- I personally use it only to display progress messages! +-- See lsp-status/README.md for configuration options. + +-- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. +local LSPMessages = { + provider = require("lsp-status").status, + hl = { fg = "gray" }, +} + +-- Nvim Navic +--local Navic = { +-- condition = require("nvim-navic").is_available, +-- provider = require("nvim-navic").get_location, +--} +--local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) + +-- Full nerd (with icon colors)! +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = "bright_fg" }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = "gray" }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + --{ + -- provider = "]", + --}, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileName and Friends + +--local Align = { provider = "%=" } +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "", hl = { fg = colors.bg } } +local RightSep = { provider = "", hl = { fg = colors.bg } } + +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} +-- We can now define some children separately and add them later +-- + +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" + --±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} +-- Now, let's say that we want the filename color to change if the buffer is +-- modified. Of course, we could do that directly using the FileName.hl field, +-- but we'll see how easy it is to alter existing components using a "modifier" +-- component + +local FileNameModifer = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, +} + +--local FileEncoding = { +-- provider = function() +-- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' +-- return enc ~= "utf-8" and enc:upper() +-- end, +-- hl = { bg = colors.bg }, +--} +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + return fmt ~= "unix" and fmt:upper() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = "SPELL ", + hl = { bold = true, fg = "orange" }, +} + +-- Cursor position: Ruler and ScrollBar +-- We're getting minimalists here! +local Ruler = { + -- We're getting minimalists here! + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + provider = "%6(%l:%1.5c/%L%) ", + hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, +} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +local Position = { + Space, + { provider = "%l:%c" }, + hl = { bg = colors.bg }, +} + +local Percentage = { + Space, + { provider = "%P" }, + hl = { bg = colors.bg }, +} +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Terminal Name +-- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! + +local TerminalName = { + -- we could add a condition to check that buftype == 'terminal' + -- or we could do that later (see #conditional-statuslines below) + provider = function() + local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") + return " " .. tname + end, + hl = { bold = true, bg = colors.bg }, +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +--FileNameBlock = utils.insert( +-- FileNameBlock, +--FileEncoding, +--Space, +--FileIcon, +--FileType, +--FileLastModified, +--FileSize, +--FileFormat, +--FileNameModifer, +-- unpack(FileFlags), +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) +--FileNameBlock = utils.insert( +-- FileNameBlock, +-- FileIcon, +-- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier +-- unpack(FileFlags), -- A small optimisation, since their parent does nothing +-- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +--) + +local Surrr = { + utils.surround({ "", "" }, "red", { + utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), + { provider = "Normal" }, + }), +} +--ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +--ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { +-- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), +-- { provider = "heyya" }, +-- }) +-- Statusline +--BackgroundStatusline = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) +-- +local Surrr = { + utils.surround({ "", "" }, "gray", { + FileInfoBlock, + hl = { bg = colors.gray }, + utils.surround({ "", "" }, "gray", { + Percentage, + utils.surround({ "", "" }, function(self) + return self:mode_color() + end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), + }), + }), +} + +ViMode = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +-- +RightSpace = utils.surround( + { "", "" }, + colors.red, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround({ "", "" }, colors.orange, { RightSpace2, hl = { bg = colors.red, force = true } }) +--RightSpace = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +---- +-- +--Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) +-- + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.orange, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.red, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.red, { Space, Ruler, hl = { fg = colors.red, force = true } }) + +local align = { provider = "%=" } +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { LSPActive, hl = { bg = colors.orange, force = true } }, + --{ FileEncoding, hl = { bg = colors.orange, force = true } }, + { RightSpace2, hl = { fg = colors.orange, bg = colors.red, force = true } }, + --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileInfoBlock, hl = { bg = colors.red, force = true } }, + --{ Space, hl = { bg = colors.red, force = true } }, + --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = colors.red, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local sections = { left, align, middle, align, right } +local DefaultStatusline = { sections } + +--local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } +--local statusline = { +--Space, +--Space, +--Git, +--Space, +--Diagnostics, +--Align, +--Navic, +--DAPMessages, +--Align, +--Space, +--FileInfoBlock, +--Space, +--WordCount, +--Ruler, +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar +--} + +--local InactiveStatusline = { +-- condition = conditions.is_not_active, +-- FileType, +-- Space, +-- FileName, +-- Align, +--} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + FileType, + Space, + Align, + --FileType, Space, HelpFileName, Align +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + hl = { bg = "dark_red" }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + { condition = conditions.is_active, ViMode, Space }, + FileType, + Space, + TerminalName, + Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + --mode_colors_map = { + -- n = colors.blue, + -- i = colors.green, + -- v = colors.purple, + -- V = colors.violet, + -- [""] = colors.red, + -- c = colors.yellow, + -- s = colors.orange, + -- S = colors.orange, + -- [""] = colors.purple, + -- R = colors.orange, + -- r = colors.orange, + -- ["!"] = colors.red, + -- t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + --InactiveStatusline, + DefaultStatusline, +} + +-- WinBar + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +on_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + on_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local active_middle_segment = { --{{{ + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + static = { + mode_colors_map = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + [""] = colors.purple, + c = colors.red, + s = colors.purple, + S = colors.purple, + [""] = colors.purple, + R = colors.orange, + r = colors.orange, + ["!"] = colors.red, + t = colors.red, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors_map[mode] + end, + provider = "%f", + hl = function(self) + local color = self:mode_color() -- here! + return { fg = color } + end, + -- self.filename will be defined later, just keep looking at the example! + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + }, +} + +--local WinBar = { +-- Fill, +-- active_middle_segment, +-- Fill, +--} +local WinBar = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + utils.surround({ "", "" }, "dark_red", { + FileType, + Space, + TerminalName, + }), + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), + }, + -- A winbar for regular files + utils.surround({ "", "" }, "bright_bg", FileNameBlock), +} + +-- TabLine +-- + +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + --hl = "Comment", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + --+ + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = "red" }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") + { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) + +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLine" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { provider = "%=" }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.bo[bufnr].filetype == "NvimTree" then + self.title = "NvimTree" + return true + -- elseif vim.bo[bufnr].filetype == "TagBar" then + -- ... + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "Tabline" + end + end, +} + +local TabLine = { + --hl = { bg = colors.bg }, + fallthrough = false, + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) +--require("heirline").setup(StatusLine, TabLine) + +-- Yep, with heirline we're driving manual! +vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) + +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua b/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua new file mode 100644 index 0000000..dd25d9a --- /dev/null +++ b/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua @@ -0,0 +1,301 @@ +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({ + single_file_support = true, + on_attach = function(client, bufnr) + print('hello') + lspconfig.util.default_config.on_attach(client, bufnr) + end +}) + +vim.api.nvim_create_autocmd('User', { + pattern = 'LspAttached', + desc = 'LSP actions', + callback = function() + local bufmap = function(mode, lhs, rhs) + local opts = {buffer = true} + vim.keymap.set(mode, lhs, rhs, opts) + end + + -- Displays hover information about the symbol under the cursor + bufmap('n', 'K', 'lua vim.lsp.buf.hover()') + + -- Jump to the definition + bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') + + -- Jump to declaration + bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') + + -- Lists all the implementations for the symbol under the cursor + bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') + + -- Jumps to the definition of the type symbol + bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') + + -- Lists all the references + bufmap('n', 'gr', 'lua vim.lsp.buf.references()') + + -- Displays a function's signature information + bufmap('n', '', 'lua vim.lsp.buf.signature_help()') + + -- Renames all references to the symbol under the cursor + bufmap('n', '', 'lua vim.lsp.buf.rename()') + + -- Selects a code action available at the current cursor position + bufmap('n', '', 'lua vim.lsp.buf.code_action()') + bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') + + -- Show diagnostics in a floating window + bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') + + -- Move to the previous diagnostic + bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') + + -- Move to the next diagnostic + bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') + end +}) + +-- +---Snippets +-- +require('luasnip.loaders.from_vscode').lazy_load() + +-- +--- Autocompletion/nvim-cmp +-- +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + +}) + +snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end +}, + +sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, +}, + +window = { + documentation = cmp.config.window.bordered() +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'} +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, +}, + +mapping = { + [''] = cmp.mapping.confirm({select = true}), +} +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), + +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), +[''] = cmp.mapping.scroll_docs(-4), +[''] = cmp.mapping.scroll_docs(4), +[''] = cmp.mapping.abort(), +[''] = cmp.mapping.confirm({select = true}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end +end, {'i', 's'}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end +end, {'i', 's'}), + +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} + +require('luasnip.loaders.from_vscode').lazy_load() + +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end + }, + sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, + }, + window = { + documentation = cmp.config.window.bordered() + }, + formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, + }, + mapping = { + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({select = true}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + local col = vim.fn.col('.') - 1 + + if cmp.visible() then + cmp.select_next_item(select_opts) + elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then + fallback() + else + cmp.complete() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item(select_opts) + else + fallback() + end + end, {'i', 's'}), + }, +}) + + +vim.diagnostic.config({ + virtual_text = false, + severity_sort = true, + float = { + border = 'rounded', + source = 'always', + header = '', + prefix = '', + }, +}) + +vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( + vim.lsp.handlers.hover, + {border = 'rounded'} +) + +vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( + vim.lsp.handlers.signature_help, + {border = 'rounded'} +) + +require('mason').setup() +require('mason-lspconfig').setup() + + +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({}) + + + + + + + + diff --git a/lua/plugins/lsp-22.10.12-21:29-bak.lua b/lua/plugins/lsp-22.10.12-21:29-bak.lua new file mode 100644 index 0000000..dd25d9a --- /dev/null +++ b/lua/plugins/lsp-22.10.12-21:29-bak.lua @@ -0,0 +1,301 @@ +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({ + single_file_support = true, + on_attach = function(client, bufnr) + print('hello') + lspconfig.util.default_config.on_attach(client, bufnr) + end +}) + +vim.api.nvim_create_autocmd('User', { + pattern = 'LspAttached', + desc = 'LSP actions', + callback = function() + local bufmap = function(mode, lhs, rhs) + local opts = {buffer = true} + vim.keymap.set(mode, lhs, rhs, opts) + end + + -- Displays hover information about the symbol under the cursor + bufmap('n', 'K', 'lua vim.lsp.buf.hover()') + + -- Jump to the definition + bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') + + -- Jump to declaration + bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') + + -- Lists all the implementations for the symbol under the cursor + bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') + + -- Jumps to the definition of the type symbol + bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') + + -- Lists all the references + bufmap('n', 'gr', 'lua vim.lsp.buf.references()') + + -- Displays a function's signature information + bufmap('n', '', 'lua vim.lsp.buf.signature_help()') + + -- Renames all references to the symbol under the cursor + bufmap('n', '', 'lua vim.lsp.buf.rename()') + + -- Selects a code action available at the current cursor position + bufmap('n', '', 'lua vim.lsp.buf.code_action()') + bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') + + -- Show diagnostics in a floating window + bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') + + -- Move to the previous diagnostic + bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') + + -- Move to the next diagnostic + bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') + end +}) + +-- +---Snippets +-- +require('luasnip.loaders.from_vscode').lazy_load() + +-- +--- Autocompletion/nvim-cmp +-- +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + +}) + +snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end +}, + +sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, +}, + +window = { + documentation = cmp.config.window.bordered() +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'} +}, + +formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, +}, + +mapping = { + [''] = cmp.mapping.confirm({select = true}), +} +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), + +[''] = cmp.mapping.select_prev_item(select_opts), +[''] = cmp.mapping.select_next_item(select_opts), +[''] = cmp.mapping.scroll_docs(-4), +[''] = cmp.mapping.scroll_docs(4), +[''] = cmp.mapping.abort(), +[''] = cmp.mapping.confirm({select = true}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end +end, {'i', 's'}), +[''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end +end, {'i', 's'}), + +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} + +require('luasnip.loaders.from_vscode').lazy_load() + +local cmp = require('cmp') +local luasnip = require('luasnip') + +local select_opts = {behavior = cmp.SelectBehavior.Select} + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end + }, + sources = { + {name = 'path'}, + {name = 'nvim_lsp', keyword_length = 3}, + {name = 'buffer', keyword_length = 3}, + {name = 'luasnip', keyword_length = 2}, + }, + window = { + documentation = cmp.config.window.bordered() + }, + formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + + item.menu = menu_icon[entry.source.name] + return item + end, + }, + mapping = { + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.select_prev_item(select_opts), + [''] = cmp.mapping.select_next_item(select_opts), + + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({select = true}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(1) then + luasnip.jump(1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + local col = vim.fn.col('.') - 1 + + if cmp.visible() then + cmp.select_next_item(select_opts) + elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then + fallback() + else + cmp.complete() + end + end, {'i', 's'}), + + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item(select_opts) + else + fallback() + end + end, {'i', 's'}), + }, +}) + + +vim.diagnostic.config({ + virtual_text = false, + severity_sort = true, + float = { + border = 'rounded', + source = 'always', + header = '', + prefix = '', + }, +}) + +vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( + vim.lsp.handlers.hover, + {border = 'rounded'} +) + +vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( + vim.lsp.handlers.signature_help, + {border = 'rounded'} +) + +require('mason').setup() +require('mason-lspconfig').setup() + + +local lsp_defaults = { + flags = { + debounce_text_changes = 150, + }, + capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + end +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +lspconfig.sumneko_lua.setup({}) + + + + + + + + diff --git a/lua/plugins/lsp-22.10.14-23:39-bak.lua b/lua/plugins/lsp-22.10.14-23:39-bak.lua new file mode 100644 index 0000000..9c8e943 --- /dev/null +++ b/lua/plugins/lsp-22.10.14-23:39-bak.lua @@ -0,0 +1,422 @@ + +local fn = vim.fn +local keymap = vim.keymap + +local utils = require("utils") + +local custom_attach = function(client, bufnr) + -- Enable completion triggered by + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.noremap = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end +--map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location +--map("n", "gp", "Lspsaga peek_definition") +-- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) +-- map("n", "", vim.lsp.buf.definition) +-- map("n", "K", vim.lsp.buf.hover) +-- map("n", "", vim.lsp.buf.signature_help) +-- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) +-- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) +-- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) +-- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) +-- map("n", "q", function() +-- vim.diagnostic.setqflist({ open = true }) +-- end, { desc = "put diagnostic to qf" }) +-- --map.('n', 'q', vim.diagnostic.setloclist) +-- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) +-- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) +-- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) +-- map("n", "wl", function() +-- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) +-- end, { desc = "list workspace folder" }) +-- map("n", "gs", "vim.lsp.buf.document_symbol()") +-- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) +-- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") +-- map("n", "gt", ":lua vim.lsp.buf.type_definition()") +-- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. +-- map("n", "gi", ":lua vim.lsp.buf.implementation()") +-- map("n", "go", ":lua vim.diagnostic.open_float()") +-- map("n", "gk", "Lspsaga diagnostic_jump_prev") +-- map("n", "gj", "Lspsaga diagnostic_jump_next") + + -- Set some key bindings conditional on server capabilities + if client.server_capabilities.documentFormattingProvider then + map("n", "f", vim.lsp.buf.format, { desc = "format code" }) + end + + -- add rust specific keymappings + if client.name == "rust_analyzer" then + map("n", "rr", "RustRunnables") + map("n", "ra", "RustHoverAction") + end + + -- Diagnostic position + vim.api.nvim_create_autocmd("CursorHold", { + buffer = bufnr, + callback = function() + local float_opts = { + focusable = false, + close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, + border = "rounded", + source = "always", -- show source in diagnostic popup window + prefix = " ", + } + + if not vim.b.diagnostics_pos then + vim.b.diagnostics_pos = { nil, nil } + end + + local cursor_pos = vim.api.nvim_win_get_cursor(0) + if + (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) + and #vim.diagnostic.get() > 0 + then + vim.diagnostic.open_float(nil, float_opts) + end + + vim.b.diagnostics_pos = cursor_pos + end, + }) + + -- The below command will highlight the current variable and its usages in the buffer. + if client.server_capabilities.documentHighlightProvider then + vim.cmd([[ + hi! link LspReferenceRead Visual + hi! link LspReferenceText Visual + hi! link LspReferenceWrite Visual + augroup lsp_document_highlight + autocmd! * + autocmd CursorHold lua vim.lsp.buf.document_highlight() + autocmd CursorMoved lua vim.lsp.buf.clear_references() + augroup END + ]]) + end + + if vim.g.logging_level == "debug" then + local msg = string.format("Language server %s started!", client.name) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) + end +end + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) +capabilities.textDocument.completion.completionItem.snippetSupport = true +capabilities.offsetEncoding = { "utf-16" } + +local lspconfig = require("lspconfig") + +if utils.executable("pylsp") then + lspconfig.pylsp.setup({ + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + }) +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup({ + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + }) +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup({ + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + }) +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup({ + on_attach = custom_attach, + capabilities = capabilities, + }) +end + +if utils.executable("lua-language-server") then + lspconfig.sumneko_lua.setup({ + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + }) +end + + +if utils.executable("rust-language-server") then +require("lspconfig").rust_analyzer.setup{ + cmd = { "rustup", "run", "nightly", "rust-analyzer" }, + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + --[[ + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + } + --]] +} +end + + +-- Setup nvim-cmp. +vim.opt.completeopt = "menu,menuone,noselect" + +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end + + +local opts = { + -- whether to highlight the currently hovered symbol + -- disable if your cpu usage is higher than you want it + -- or you just hate the highlight + -- default: true + highlight_hovered_item = true, + + -- whether to show outline guides + -- default: true + show_guides = true, +} +require("symbols-outline").setup(opts) + +local snippets_paths = function() + local plugins = { "friendly-snippets" } + local paths = {} + local path + local root_path = vim.env.HOME .. "/.vim/plugged/" + for _, plug in ipairs(plugins) do + path = root_path .. plug + if vim.fn.isdirectory(path) ~= 0 then + table.insert(paths, path) + end + end + return paths +end + +require("luasnip.loaders.from_vscode").lazy_load({ + paths = snippets_paths(), + include = nil, -- Load all languages + exclude = {}, +}) + +local lspkind = require("lspkind") + +--local kind_icons = { +-- Text = "", +-- Method = "", +-- Function = "", +-- Constructor = "⚙️", +-- Field = "", +-- Variable = "", +-- Class = "ﴯ", +-- Interface = "", +-- Module = "", +-- Property = "ﰠ", +-- Unit = "", +-- Value = "", +-- Enum = "", +-- Keyword = "", +-- Snippet = "", +-- Color = "", +-- File = "", +-- Reference = "", +-- Folder = "", +-- EnumMember = "", +-- Constant = "", +-- Struct = "", +-- Event = "", +-- Operator = "", +-- TypeParameter = "", +--} + +cmp.setup({ + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ +-- [""] = cmp.mapping.confirm({ +-- behavior = cmp.ConfirmBehavior.Replace, +-- select = true, +-- }), + [''] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.close(), + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + }), + + formatting = { + fields = { "abbr", "kind", "menu" }, + format = function(entry, vim_item) + -- Kind icons + --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + vim_item.kind = lspkind.presets.default[vim_item.kind] + -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + vim_item.menu = ({ + nvim_lsp = "LSP", + luasnip = "Snip", + buffer = "Buf", + path = "Path", + cmdline = "Cmd", + })[entry.source.name] + return vim_item + end, + }, + sources = cmp.config.sources({ + { name = "path" }, + { name = "nvim_lsp", keyword_length = 3 }, + { name = "luasnip", keyword_length = 4 }, + { name = "buffer", keyword_length = 3 }, + --{ name = 'treesitter' }, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this + --{name = 'luasnip', keyword_length = 2}, + }), + confirm_opts = { + behavior = cmp.ConfirmBehavior.Replace, + select = false, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + --documentation = { + -- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + --}, + }, + experimental = { + ghost_text = true, + native_menu = true, + --native_menu = false, + --view = { + -- entries = "native" + --}, + }, +}) + +cmp.setup.cmdline("/", { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, +}) + +cmp.setup.cmdline(":", { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = "path" }, + }, { + { name = "cmdline" }, + }), +}) + + + +-- Global config for diagnostic +vim.diagnostic.config({ + underline = false, + virtual_text = true, + signs = true, + severity_sort = true, + float = { + focusable = true, -- + style = "minimal", -- + --border = "rounded", + border = "shadow", + source = "always", + header = "", + prefix = "", + }, +}) + +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + underline = false, + virtual_text = false, + signs = true, + update_in_insert = false, +}) +--vim.lsp.buf.definition +--vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) + +--local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } +--local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } +local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 3570a98..bf9f771 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -8,11 +8,6 @@ local custom_attach = function(client, bufnr) -- Enable completion triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') -local status, saga = pcall(require, "lspsaga") -if not status then - return -end - -- Mappings. local map = function(mode, l, r, opts) opts = opts or {} @@ -211,24 +206,28 @@ if utils.executable("lua-language-server") then }) end ---lspconfig.sumneko_lua.setup({ --- single_file_support = true, --- on_attach = function(client, bufnr) --- print('hello') --- lspconfig.util.default_config.on_attach(client, bufnr) --- end ---}) -require('lspconfig')['rust_analyzer'].setup{ + +if utils.executable("rust-language-server") then +require("lspconfig").rust_analyzer.setup{ + cmd = { "rustup", "run", "nightly", "rust-analyzer" }, on_attach = custom_attach, flags = { debounce_text_changes = 500, }, - - -- Server-specific settings... + --[[ settings = { - ["rust-analyzer"] = {} + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, } + --]] } +end + + + -- Global config for diagnostic vim.diagnostic.config({ underline = false, diff --git a/lua/plugins/lspOld.lsp b/lua/plugins/lspOld.lsp new file mode 100644 index 0000000..206ea57 --- /dev/null +++ b/lua/plugins/lspOld.lsp @@ -0,0 +1,531 @@ +-- lspconfig + nvim-cmp + lspsaga +-- Dependencies +-- nvim-lspconfig +-- nvim-cmp +-- cmp-buffer +-- cmp-path +-- cmp_luasnip +-- cmp-nvim-lsp +-- LuaSnip +-- friendly-snippets +local fn = vim.fn +local api = vim.api +local keymap = vim.keymap +local lsp = vim.lsp + +local utils = require("utils") + +local custom_attach = function(client, bufnr) + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + + +local lsp_defaults = { + flags = { + debounce_text_changes = 150, -- Amount of miliseconds neovim will wait to send the next document update notification. + }, + + -- The data on this option is send to the server, to announce what features the editor can support. + capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()), + on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds("User", { pattern = "LspAttached" }) + end, +} + +local lspconfig = require('lspconfig') + +lspconfig.util.default_config = vim.tbl_deep_extend( + 'force', + lspconfig.util.default_config, + lsp_defaults +) + +--- +-- LSP Servers +--- + +if utils.executable("pylsp") then + lspconfig.pylsp.setup { + on_attach = custom_attach, + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + } +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup { + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + } +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup { + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + } +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup { + on_attach = custom_attach, + capabilities = capabilities, + } +end + +if utils.executable("lua-language-server") then + -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . + lspconfig.sumneko_lua.setup { + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + } +end +-- Lua +lspconfig.sumneko_lua.setup({ + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, + single_file_support = true, + on_attach = function(client, bufnr) + print('hello') + lspconfig.util.default_config.on_attach(client, bufnr) + end +}) + +lspconfig.sumneko_lua.setup({ +on_attach = custom_attach, +settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + -- Setup your lua path + path = runtime_path, + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, +}, +}) + + lspconfig.sumneko_lua.setup { + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + } + +require'lspconfig'.sumneko_lua.setup { + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, +} + + + +require'lspconfig'.sumneko_lua.setup{} + + +**Default values:** + - `cmd` : + { "lua-language-server" } + - `filetypes` : + - `log_level` : + ```lua + 2 + ``` + - `root_dir` : + ```lua + root_pattern(".luarc.json", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", ".git") + ``` + - `settings` : + ```lua + { + Lua = { + telemetry = { + enable = false + } + } + } + - `single_file_support` : + true + + + + + + + + + + + + + + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.ccls.setup{} +``` + + +**Default values:** + - `cmd` : + ```lua + { "ccls" } + ``` + - `filetypes` : + ```lua + { "c", "cpp", "objc", "objcpp" } + ``` + - `offset_encoding` : + ```lua + "utf-32" + ``` + - `root_dir` : + ```lua + root_pattern('compile_commands.json', '.ccls', '.git') + ``` + - `single_file_support` : + ```lua + false + ``` + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.clangd.setup{} +``` +**Commands:** +- ClangdSwitchSourceHeader: Switch between source/header + +**Default values:** + - `capabilities` : + ```lua + default capabilities, with offsetEncoding utf-8 + ``` + - `cmd` : + ```lua + { "clangd" } + ``` + - `filetypes` : + ```lua + { "c", "cpp", "objc", "objcpp", "cuda", "proto" } + ``` + - `root_dir` : + ```lua + root_pattern( + '.clangd', + '.clang-tidy', + '.clang-format', + 'compile_commands.json', + 'compile_flags.txt', + 'configure.ac', + '.git' + ) + + ``` + - `single_file_support` : + ```lua + true + ``` + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.pyright.setup{} +``` +**Commands:** +- PyrightOrganizeImports: Organize Imports + +**Default values:** + - `cmd` : + ```lua + { "pyright-langserver", "--stdio" } + ``` + - `filetypes` : + ```lua + { "python" } + ``` + - `root_dir` : + ```lua + see source file + ``` + - `settings` : + ```lua + { + python = { + analysis = { + autoSearchPaths = true, + diagnosticMode = "workspace", + useLibraryCodeForTypes = true + } + } + } + ``` + - `single_file_support` : + ```lua + true + ``` + +## rls + +https://github.com/rust-lang/rls + +rls, a language server for Rust + +See https://github.com/rust-lang/rls#setup to setup rls itself. +See https://github.com/rust-lang/rls#configuration for rls-specific settings. +All settings listed on the rls configuration section of the readme +must be set under settings.rust as follows: + +```lua +nvim_lsp.rls.setup { + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + }, +} +``` + +If you want to use rls for a particular build, eg nightly, set cmd as follows: + +```lua +cmd = {"rustup", "run", "nightly", "rls"} +``` + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rls.setup{} +``` + + +**Default values:** + - `cmd` : + ```lua + { "rls" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml") + ``` + + +## rust_analyzer + +https://github.com/rust-analyzer/rust-analyzer + +rust-analyzer (aka rls 2.0), a language server for Rust + +See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rust_analyzer.setup{} +``` +**Commands:** +- CargoReload: Reload current cargo workspace + +**Default values:** + - `cmd` : + ```lua + { "rust-analyzer" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml", "rust-project.json") + ``` + - `settings` : + ```lua + { + ["rust-analyzer"] = {} + } + ``` + +## rust_analyzer + +https://github.com/rust-analyzer/rust-analyzer + +rust-analyzer (aka rls 2.0), a language server for Rust + +See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. + + + +**Snippet to enable the language server:** +```lua +require'lspconfig'.rust_analyzer.setup{} +``` +**Commands:** +- CargoReload: Reload current cargo workspace + +**Default values:** + - `cmd` : + ```lua + { "rust-analyzer" } + ``` + - `filetypes` : + ```lua + { "rust" } + ``` + - `root_dir` : + ```lua + root_pattern("Cargo.toml", "rust-project.json") + ``` + - `settings` : + ```lua + { + ["rust-analyzer"] = {} + } + ``` + + diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua new file mode 100644 index 0000000..a130dcd --- /dev/null +++ b/lua/plugins/lspconfig.lua @@ -0,0 +1,148 @@ +--vim.lsp.set_log_level("debug") + +local status, nvim_lsp = pcall(require, "lspconfig") +if not status then + return +end + +local protocol = require("vim.lsp.protocol") + +-- Use an on_attach function to only map the following keys +-- after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + local function buf_set_keymap(...) + vim.api.nvim_buf_set_keymap(bufnr, ...) + end + + local function buf_set_option(...) + vim.api.nvim_buf_set_option(bufnr, ...) + end + + --Enable completion triggered by + buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") + + -- Mappings. + local opts = { noremap = true, silent = true } + + -- See `:help vim.lsp.*` for documentation on any of the below functions + buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) -- most of the lsp server don't implement textDocument/Declaration, so gD is useless for now. + --buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) + --buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + + -- add rust specific keymappings + if client.name == "rust_analyzer" then + buf_set_keymap("n", "rr", "RustRunnables", opts) + buf_set_keymap("n", "ra", "RustHoverAction", opts) + end + + -- formatting + if client.server_capabilities.documentFormattingProvider then + vim.api.nvim_create_autocmd("BufWritePre", { + group = vim.api.nvim_create_augroup("Format", { clear = true }), + buffer = bufnr, + callback = function() + vim.lsp.buf.format() + end, + }) + end +end + +protocol.CompletionItemKind = { + -- "", -- Text + -- "", -- Method + -- "", -- Function + -- "", -- Constructor + -- "", -- Field + -- "", -- Variable + -- "", -- Class + -- "ﰮ", -- Interface + -- "", -- Module + -- "", -- Property + -- "", -- Unit + -- "", -- Value + -- "", -- Enum + -- "", -- Keyword + -- "", -- Snippet + -- "", -- Color + -- "", -- File + -- "", -- Reference + -- "", -- Folder + -- "", -- EnumMember + -- "", -- Constant + -- "", -- Struct + -- "", -- Event + -- "ﬦ", -- Operator + -- "", -- TypeParameter + File = { icon = "", hl = "TSURI" }, + Module = { icon = "", hl = "TSNamespace" }, + Namespace = { icon = "", hl = "TSNamespace" }, + Package = { icon = "", hl = "TSNamespace" }, + Class = { icon = "ﴯ", hl = "TSType" }, + Method = { icon = "", hl = "TSMethod" }, + Property = { icon = "", hl = "TSMethod" }, + Field = { icon = "", hl = "TSField" }, + Constructor = { icon = "", hl = "TSConstructor" }, + Enum = { icon = "", hl = "TSType" }, + Interface = { icon = "", hl = "TSType" }, + Function = { icon = "", hl = "TSFunction" }, + Variable = { icon = "", hl = "TSConstant" }, + Constant = { icon = "", hl = "TSConstant" }, + String = { icon = "ﮜ", hl = "TSString" }, + Number = { icon = "", hl = "TSNumber" }, + Boolean = { icon = "ﮒ", hl = "TSBoolean" }, + Array = { icon = "", hl = "TSConstant" }, + Object = { icon = "⦿", hl = "TSType" }, + Key = { icon = "", hl = "TSType" }, + Null = { icon = "ﳠ", hl = "TSType" }, + EnumMember = { icon = "", hl = "TSField" }, + Struct = { icon = "ﴯ", hl = "TSType" }, + Event = { icon = "🗲", hl = "TSType" }, + Operator = { icon = "+", hl = "TSOperator" }, + TypeParameter = { icon = "𝙏", hl = "TSParameter" }, +} + +-- Set up completion using nvim_cmp with LSP source +local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) + +nvim_lsp.flow.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) + +nvim_lsp.sumneko_lua.setup({ + on_attach = on_attach, + settings = { + Lua = { + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, + }, + }, + }, +}) + +-- Diagnostic symbols in the sign column (gutter) +--local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } +--local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } +local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end +-- +vim.diagnostic.config({ + virtual_text = { + prefix = "●", + }, + update_in_insert = true, + float = { + source = "always", -- Or "if_many" + }, +}) diff --git a/lua/plugins/lspsaga-22.10.13-22:51-bak.lua b/lua/plugins/lspsaga-22.10.13-22:51-bak.lua new file mode 100644 index 0000000..ceb1099 --- /dev/null +++ b/lua/plugins/lspsaga-22.10.13-22:51-bak.lua @@ -0,0 +1,61 @@ +local status, saga = pcall(require, "lspsaga") +if not status then + return +end + +saga.init_lsp_saga({ + -- when cursor in saga window you config these to move + move_in_saga = { prev = "k", next = "j" }, + diagnostic_header = { " ", " ", " ", " " }, + scroll_in_preview = { + scroll_down = "", + scroll_up = "", + }, + code_action_icon = "ﯦ ", + -- Same as nvim-lightbulb but async + code_action_lightbulb = { + sign = false, + virtual_text = true, + }, + finder_icons = { + def = " ", + ref = " ", + link = " ", + }, + finder_action_keys = { + open = "", + "o", + vsplit = "gv", + split = "gs", + tabe = "t", + quit = "gq", + scroll_down = "", + scroll_up = "", + }, + + -- Show symbols in winbar must be neovim 0.8.0, + -- Close it until neovim 0.8.0 become stable + symbol_in_winbar = { + in_custom = false, + --enable = enable_winbar, + separator = "  ", + show_file = true, + click_support = false, + }, +}) + + -- Mappings. +local map = vim.api.nvim_set_keymap +local opts = { noremap = true, silent = true } + +map("n", "gd", "Lspsaga lsp_finder", opts) -- Press "o" to open the reference location +map("n", "gp", "Lspsaga peek_definition", opts) +map("n", "K", "Lspsaga hover_doc", opts) +map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) +map("n", "gj", "Lspsaga diagnostic_jump_next", opts) +map("n", "gs", "Lspsaga signature_help", opts) -- Default is +map("n", "go", "Lspsaga show_line_diagnostics", opts) +map("n", "gr", "Lspsaga rename", opts) +map("n", "ga", "Lspsaga code_action", opts) +map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) +map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua index 1d03666..aeff464 100644 --- a/lua/plugins/lspsaga.lua +++ b/lua/plugins/lspsaga.lua @@ -1,10 +1,8 @@ require "lspsaga".init_lsp_saga { + -- "single" | "double" | "rounded" | "bold" | "plus" + border_style = "rounded", --border_style = "single", - saga_winblend = 20, - -- float_term = { - -- winblend = 25, - -- shadow_background = false, - -- }, + saga_winblend = 30, move_in_saga = { next = '', prev = '' }, --move_in_saga = { prev = "k", next = "j" }, scroll_in_preview = { @@ -42,7 +40,7 @@ require "lspsaga".init_lsp_saga { -- definition_preview_quit = '', -- finder_preview_hl_ns = 8, finder_action_keys = { - open = "o", + open = { 'o', '' }, vsplit = "v", split = "s", tabe = "t", @@ -52,32 +50,33 @@ require "lspsaga".init_lsp_saga { }, code_action_keys = { quit = "", - exec = "l", + exec = "", }, rename_action_quit = "", rename_in_select = true, symbol_in_winbar = { enable = true, - in_custom = false, - --in_custom = true, + --in_custom = false, + in_custom = true, separator = '  ', --show_file = false, show_file = true, click_support = false, + --click_support = false, }, - show_outline = { - win_position = 'right', - --set special filetype win that outline window split.like NvimTree neotree - -- defx, db_ui - min_with = '', - win_width = 40, - auto_enter = false, - auto_preview = true, - virt_text = 'x', - jump_key = 'l', - -- auto refresh when change buffer - auto_refresh = true, - }, + --show_outline = { + -- win_position = 'right', + -- --set special filetype win that outline window split.like NvimTree neotree + -- -- defx, db_ui + -- min_with = '', + -- win_width = 40, + -- auto_enter = false, + -- auto_preview = true, + -- virt_text = 'x', + -- jump_key = 'l', + -- -- auto refresh when change buffer + -- auto_refresh = true, + --}, custom_kind = { File = { " " }, Module = { " " }, @@ -133,107 +132,8 @@ map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) map("t", "", "Lspsaga close_floaterm", opts) - - - --- vim.keymap.set("n", "", function() require "lspsaga.action".smart_scroll_with_saga(1) end, opts) --- vim.keymap.set("n", "", function() require "lspsaga.action".smart_scroll_with_saga(-1) end, opts) - - - -vim.api.nvim_set_hl(0, "LspSagaHoverBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaTermBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspFloatWinBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaAutoPrew", { bg = "NONE", fg = "#BBE73D", }) -vim.api.nvim_set_hl(0, "LspSagaAutoPreview", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaBorderTitle", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaCodeActionBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaCodeActionContent", { bg = "NONE", fg = "#000000", }) -vim.api.nvim_set_hl(0, "LspSagaCodeActionTitle", { bg = "NONE", fg = "#000000", }) -vim.api.nvim_set_hl(0, "LspSagaCodeActionTrunCateLine", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "DefinitionBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "DefinitionArror", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "DefinitionSearch", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "DefinitionFile", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticSource", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticQuickFix", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticMap", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticLineCol", { bg = "NONE", fg = "#929292", }) - -vim.api.nvim_set_hl(0, "LspSagaDiagnosticBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticHeader", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticError", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticWarn", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticInfo", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticHint", { bg = "NONE", fg = "#929292", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticSource", { bg = "NONE", fg = "#C53B82", }) -vim.api.nvim_set_hl(0, "LspSagaDiagnosticTruncateLine", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaErrorTrunCateLine", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaFinderSelection", { bg = "NONE", fg = "#888888", }) -vim.api.nvim_set_hl(0, "LspSagaHintTrunCateLine", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaHoverTrunCateLine", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaInfoTrunCateLine", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaLightBulb", { bg = "NONE", fg = "#BBE73D", }) -vim.api.nvim_set_hl(0, "LspSagaLspFinderBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaRenameBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaRenameMatch", { bg = "NONE", fg = "#C53B82", }) -vim.api.nvim_set_hl(0, "LspSagaShTrunCateLine", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaSignatureHelpBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "LspSagaTrunCatgeLine", { bg = "NONE", fg = "#353535", }) - -vim.api.nvim_set_hl(0, "TargetFileName", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "FinderParam", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "FinderVirtText", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "DefinitionsIcon", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "Definitions", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "ReferencesIcon", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "References", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "DefinitionCount", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "ReferencesCount", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "FinderPreviewSearch", { bg = "NONE", fg = "#888888", }) -vim.api.nvim_set_hl(0, "FinderSpinnerBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "FinderSpinnerTitle", { bg = "NONE", fg = "#C53B82", }) -vim.api.nvim_set_hl(0, "FinderSpinner", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "DefinitionPreviewTitle", { bg = "NONE", fg = "#666666", }) -vim.api.nvim_set_hl(0, "SagaShadow", { bg = "NONE", fg = "#000000", }) --- ----- Outline -vim.api.nvim_set_hl(0, "LSOutlinePreviewBorder", { bg = "NONE", fg = "#353535", }) -vim.api.nvim_set_hl(0, "OutlineIndentEvn", { bg = "NONE", fg = "#ffffff", }) -vim.api.nvim_set_hl(0, "OutlineIndentOdd", { bg = "NONE", fg = "#ffffff", }) -vim.api.nvim_set_hl(0, "OutlineFoldPrefix", { bg = "NONE", fg = "#000000", }) -vim.api.nvim_set_hl(0, "OutlineDetail", { bg = "NONE", fg = "#383838", }) --- -vim.api.nvim_set_hl(0, "LSOutLineFile", { bg = "NONE", fg = "#AF87D7" }) -vim.api.nvim_set_hl(0, "LSOutLineModule", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineNamespace", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLinePackage", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineClass", { bg = "NONE", fg = "#BBE73D", bold = true, italic = true }) -vim.api.nvim_set_hl(0, "LSOutLineMethod", { bg = "NONE", fg = "#C53B82", italic = true }) -vim.api.nvim_set_hl(0, "LSOutLineProperty", { bg = "NONE", fg = "#6A5A9D" }) -vim.api.nvim_set_hl(0, "LSOutLineField", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineConstructor", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineEnum", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineInterface", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineFunction", { bg = "NONE", fg = "#C53B82", bold = true, italic = true }) -vim.api.nvim_set_hl(0, "LSOutLineVariable", { bg = "NONE", fg = "#696969" }) -vim.api.nvim_set_hl(0, "LSOutLineConstant", { bg = "NONE", fg = "#C53B82" }) -vim.api.nvim_set_hl(0, "LSOutLineString", { bg = "NONE", fg = "#444444" }) -vim.api.nvim_set_hl(0, "LSOutLineNumber", { bg = "NONE", fg = "#AFC460" }) -vim.api.nvim_set_hl(0, "LSOutLineBoolean", { bg = "NONE", fg = "#C53B82" }) -vim.api.nvim_set_hl(0, "LSOutLineArray", { bg = "NONE", fg = "#614F97" }) -vim.api.nvim_set_hl(0, "LSOutLineObject", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineKey", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineNull", { bg = "NONE", fg = "#C53B82" }) -vim.api.nvim_set_hl(0, "LSOutLineEnummember", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineStruct", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineEvent", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineOperator", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineTypeparameter", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineTypealias", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineParameter", { bg = "NONE", fg = "#8567A3" }) -vim.api.nvim_set_hl(0, "LSOutLineStaticmethod", { bg = "NONE", fg = "#666666" }) -vim.api.nvim_set_hl(0, "LSOutLineMacro", { bg = "NONE", fg = "#666666" }) +--vim.api.nvim_command("highlight LspFloatWinNormal guibg=none ") +--hi LspFloatWinNormal guibg=none -- vim.api.nvim_create_autocmd("BufEnter", { diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua index f362659..74030cb 100644 --- a/lua/plugins/nvim-tree.lua +++ b/lua/plugins/nvim-tree.lua @@ -56,7 +56,7 @@ nvim_tree.setup({ view = { width = 30, --height = 30, - side = "right", + side = "left", mappings = { list = { { key = { "l", "", "o" }, cb = tree_cb("edit") }, diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index 261e262..b081ca3 100644 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -11,26 +11,21 @@ treesitter.setup { disable = {}, --disable = { "python", "css" } }, - --ensure_installed = { - -- "c", - -- "zsh", - -- "lua" - -- --"rust", - -- --"php", - -- --"json", - -- --"yaml", - -- --"swift", - -- --"css", - -- --"html", - -- --"toml", - -- --"tsx", - --}, - ensure_installed = "all", -- one of "all" or a list of languages + ensure_installed = { + "c", + "bash", + "lua", + "rust", + }, + --ensure_installed = "all", -- one of "all" or a list of languages --ignore_install = { "" }, -- List of parsers to ignore installing - autotag = { enable = true, }, + efactor = { + highlight_definitions = { enable = true }, + highlight_current_scope = { enable = true } + } } --vim.opt.foldmethod = "expr" --vim.opt.foldexpr = "nvim_treesitter#foldexpr()" diff --git a/lua/scripts/lsp-ext.lua b/lua/scripts/lsp-ext.lua new file mode 100644 index 0000000..c4378c6 --- /dev/null +++ b/lua/scripts/lsp-ext.lua @@ -0,0 +1,48 @@ +-- +-- lsp-ext.lua + + +M = {} + +function M.preview_location(location, context, before_context) + -- location may be LocationLink or Location (more useful for the former) + context = context or 15 + before_context = before_context or 0 + local uri = location.targetUri or location.uri + if uri == nil then + return + end + local bufnr = vim.uri_to_bufnr(uri) + if not vim.api.nvim_buf_is_loaded(bufnr) then + vim.fn.bufload(bufnr) + end + local range = location.targetRange or location.range + local contents = + vim.api.nvim_buf_get_lines(bufnr, range.start.line - before_context, range["end"].line + 1 + context, false) + local filetype = vim.api.nvim_buf_get_option(bufnr, "filetype") + return vim.lsp.util.open_floating_preview(contents, filetype) +end + +function M.preview_location_callback(_, method, result) + local context = 15 + if result == nil or vim.tbl_isempty(result) then + print("No location found: " .. method) + return nil + end + if vim.tbl_islist(result) then + M.floating_buf, M.floating_win = M.preview_location(result[1], context) + else + M.floating_buf, M.floating_win = M.preview_location(result, context) + end +end + +function M.peek_definition() + if vim.tbl_contains(vim.api.nvim_list_wins(), M.floating_win) then + vim.api.nvim_set_current_win(M.floating_win) + else + local params = vim.lsp.util.make_position_params() + return vim.lsp.buf_request(0, "textDocument/definition", params, M.preview_location_callback) + end +end + +return M diff --git a/lua/scripts/toggleLsp.lua b/lua/scripts/toggleLsp.lua new file mode 100644 index 0000000..28af698 --- /dev/null +++ b/lua/scripts/toggleLsp.lua @@ -0,0 +1,40 @@ +local M = {} + +local check_function = function(bufnr, _) + local ok, result = pcall(vim.api.nvim_buf_get_var, bufnr, 'lsp_enabled') + -- No buffer local variable set, so just enable by default + if not ok then + return true + end + + return result +end + +vim.lsp.handlers["textDocument/publishDiagnostics"] = + vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + underline = check_function, + virtual_text = check_function, + signs = check_function + }) + +function M.Enable() + vim.b.lsp_enabled = true +end + +function M.Disable() + vim.b.lsp_enabled = false +end + +function M.Toggle() + if vim.b.lsp_enabled == false then + M.Enable() + else + M.Disable() + end +end + +vim.cmd [[ + command! -nargs=* ToggleLsp lua require'lsp.toggle'.Toggle() +]] + +return M -- cgit v1.2.3 From 8242c19f6427996a94e6f6079b11ccebdb003cf2 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 18 Oct 2022 23:58:06 +0200 Subject: Updated Cmp and lsp --- init.lua | 4 +- lua/keys.lua | 10 +- lua/opts.lua | 5 +- lua/pack.lua | 82 +++++----- lua/plugins/cmp.lua | 232 ++++++++++++++++++----------- lua/plugins/colorscheme.lua | 2 +- lua/plugins/lsp.lua | 356 ++++++++++++++++++++++++++++++++++++++------ lua/plugins/lspsaga.lua | 14 +- lua/plugins/telescope.lua | 36 ++--- 9 files changed, 541 insertions(+), 200 deletions(-) diff --git a/init.lua b/init.lua index d4ae827..d28cc30 100644 --- a/init.lua +++ b/init.lua @@ -62,13 +62,13 @@ require("plugins.gitsigns") require("plugins.neoscroll") require("plugins.lsp") --require("plugins.lspconfig") -require("plugins.lspsaga") +--require("plugins.lspsaga") --require("plugins.lspkind") ---require("plugins.lsp-colors") require("plugins.null-ls") require("plugins.web-devicons") require("plugins.zen-mode") require("plugins.colorscheme") +--require("plugins.lsp-colors") --vim.opt.laststatus = 3 require("plugins.heirline") diff --git a/lua/keys.lua b/lua/keys.lua index 55e24ac..c8f796d 100644 --- a/lua/keys.lua +++ b/lua/keys.lua @@ -38,6 +38,10 @@ map("n", "n", ":bn", opts) map("n", "p", ":bp", opts) map("n", "d", ":bd", opts) +-- Disable default completion. +map('i', '', '', opts) +map('i', '', '', opts) + -- Set alt + j/k to switch lines of texts or simply move them map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) @@ -190,6 +194,7 @@ map( map("n", "fg", "lua require('telescope.builtin').live_grep()", opts) map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()", opts) + map("n", "fd", "lua require('telescope.builtin').diagnostics()", opts) --map("n", "fz", ":FZF", opts) --map("t", [[]], [[]], opts) --map("n", "ff", ":NvimTreeToggle", {}) @@ -197,9 +202,9 @@ map("n", "f", ":NvimTreeToggle", {}) -- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) -- Find files in config dirs --key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) -map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) +--map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) map("n", "ft", "lua require('plugins.telescope').file_explorer({})", opts) -map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) +--map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})", opts) -- registers picker map("n", "r", "lua require('telescope.builtin').registers({})", opts) @@ -475,7 +480,6 @@ vim.cmd([[ -- desc = "Search symbols", -- } -- maps.n["lR"] = { function() require("telescope.builtin").lsp_references() end, desc = "Search references" } --- maps.n["lD"] = { function() require("telescope.builtin").diagnostics() end, desc = "Search diagnostics" } --end -- ---- Terminal diff --git a/lua/opts.lua b/lua/opts.lua index 2bc70d6..51b3628 100644 --- a/lua/opts.lua +++ b/lua/opts.lua @@ -118,9 +118,10 @@ vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital vim.opt.smartcase = true -- smart case vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. vim.opt.winblend = 30 +--vim.opt.winblend = 5 vim.opt.wildoptions = "pum" -- ---vim.opt.pumblend = 5 -- -vim.opt.pumblend=15 +vim.opt.pumblend = 5 -- +--vim.opt.pumblend=15 vim.opt.pumheight = 10 -- pop up menu height -- Better Completion diff --git a/lua/pack.lua b/lua/pack.lua index 48db169..840baf2 100644 --- a/lua/pack.lua +++ b/lua/pack.lua @@ -1,4 +1,3 @@ -local utils = require("utils") local fn = vim.fn -- Automatically install packer @@ -60,33 +59,46 @@ return packer.startup(function(use) "pylsp", "pyright", "clangd", - "vim-language-server", - "bash-language-server", - "lua-language-server", + --"vim-language-server", + --"bash-language-server", + --"lua-language-server", "sumneko_lua", } }) - use { "j-hui/fidget.nvim", + use({ "j-hui/fidget.nvim", config = function() require("fidget").setup() end - } - use { "folke/trouble.nvim", - config = function() - require("trouble").setup() - end - } - use({ - "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim - config = function() - require("lsp_lines").setup() - - -- disable virtual_text since it's redundant due to lsp_lines. - vim.diagnostic.config({ - virtual_text = false, - }) - end, }) + --use({ "folke/trouble.nvim", + -- config = function() + -- require("trouble").setup({ position = "right", }) + -- end + --}) + --use({ + --"folke/trouble.nvim", + --requires = "kyazdani42/nvim-web-devicons", + --config = function() + -- require("trouble").setup({ + -- postion = "top", + -- -- your configuration comes here + -- -- or leave it empty to use the default settings + -- -- refer to the configuration section below + -- }) + --end, + --}) + + --use({ + -- "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim + -- config = function() + -- require("lsp_lines").setup() + + -- -- disable virtual_text since it's redundant due to lsp_lines. + -- vim.diagnostic.config({ + -- virtual_text = false, + -- }) + -- end, + --}) use { "simrat39/symbols-outline.nvim", config = function() require("symbols-outline").setup({ @@ -95,7 +107,7 @@ return packer.startup(function(use) end } use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } - use "folke/lsp-colors.nvim" + --use("folke/lsp-colors.nvim") use "mfussenegger/nvim-lint" use "weilbith/nvim-code-action-menu" use "simrat39/rust-tools.nvim" @@ -105,10 +117,10 @@ return packer.startup(function(use) require("crates").setup() end, } - use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't + --use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't -- null-ls - use { "jose-elias-alvarez/null-ls.nvim", + use({ "jose-elias-alvarez/null-ls.nvim", config = function() require("null-ls").setup({ sources = { @@ -116,7 +128,7 @@ return packer.startup(function(use) } }) end - } + }) use({ "SmiteshP/nvim-navic", requires = "neovim/nvim-lspconfig", @@ -138,17 +150,17 @@ return packer.startup(function(use) --use("williamboman/nvim-lsp-installer") --use("glepnir/lspsaga.nvim") --use("nvim-lua/lsp-status.nvim") - use({ - "glepnir/lspsaga.nvim", - branch = "main", - config = function() - local saga = require("lspsaga") + --use({ + -- "glepnir/lspsaga.nvim", + -- branch = "main", + -- config = function() + -- local saga = require("lspsaga") - saga.init_lsp_saga({ - -- your configuration - }) - end, - }) + -- saga.init_lsp_saga({ + -- -- your configuration + -- }) + -- end, + --}) -- use("nvim-lua/popup.nvim") --use("SmiteshP/nvim-gps") -- autocomplete plugins diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua index fcec30f..122524c 100644 --- a/lua/plugins/cmp.lua +++ b/lua/plugins/cmp.lua @@ -1,12 +1,12 @@ -- Setup nvim-cmp. -vim.opt.completeopt = "menu,menuone,noselect" - +--vim.opt.completeopt = "menu,menuone,noselect" +vim.g.completeopt = "menu,menuone,noselect,noinsert" local cmp_status_ok, cmp = pcall(require, "cmp") if not cmp_status_ok then return end - +local WIDE_HEIGHT = 40 local opts = { -- whether to highlight the currently hovered symbol @@ -14,63 +14,60 @@ local opts = { -- or you just hate the highlight -- default: true highlight_hovered_item = true, - - -- whether to show outline guides - -- default: true show_guides = true, } require("symbols-outline").setup(opts) -local snippets_paths = function() - local plugins = { "friendly-snippets" } - local paths = {} - local path - local root_path = vim.env.HOME .. "/.vim/plugged/" - for _, plug in ipairs(plugins) do - path = root_path .. plug - if vim.fn.isdirectory(path) ~= 0 then - table.insert(paths, path) - end - end - return paths -end -require("luasnip.loaders.from_vscode").lazy_load({ - paths = snippets_paths(), - include = nil, -- Load all languages - exclude = {}, -}) +--local snippets_paths = function() +-- local plugins = { "friendly-snippets" } +-- local paths = {} +-- local path +-- local root_path = vim.env.HOME .. "/.vim/plugged/" +-- for _, plug in ipairs(plugins) do +-- path = root_path .. plug +-- if vim.fn.isdirectory(path) ~= 0 then +-- table.insert(paths, path) +-- end +-- end +-- return paths +--end +-- +--require("luasnip.loaders.from_vscode").lazy_load({ +-- paths = snippets_paths(), +-- include = nil, -- Load all languages +-- exclude = {}, +--}) +require("luasnip.loaders.from_vscode").lazy_load() local lspkind = require("lspkind") - ---local kind_icons = { --- Text = "", --- Method = "", --- Function = "", --- Constructor = "⚙️", --- Field = "", --- Variable = "", --- Class = "ﴯ", --- Interface = "", --- Module = "", --- Property = "ﰠ", --- Unit = "", --- Value = "", --- Enum = "", --- Keyword = "", --- Snippet = "", --- Color = "", --- File = "", --- Reference = "", --- Folder = "", --- EnumMember = "", --- Constant = "", --- Struct = "", --- Event = "", --- Operator = "", --- TypeParameter = "", ---} - +local kind_icons = { + Text = "", + Method = "m", --"", + Function = "", + Constructor = "", --"⚙️", + Field = "", + Variable = "", + Class = "", + Interface = "", + Module = "", + Property = "", + Unit = "", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "", + Event = "", + Operator = "", + TypeParameter = "", +} cmp.setup({ snippet = { expand = function(args) @@ -84,20 +81,45 @@ cmp.setup({ -- }), [''] = cmp.mapping.confirm({ select = true }), [""] = cmp.mapping.close(), + --[''] = cmp.config.disable, [""] = cmp.mapping.scroll_docs(-4), [""] = cmp.mapping.scroll_docs(4), [""] = cmp.mapping.complete(), + [''] = function(fallback) + if cmp.visible() then + cmp.mapping.confirm({ select = true })(fallback) + else + cmp.mapping.complete()(fallback) + end + end }), + sources = cmp.config.sources({ + { name = "path" }, + { name = "nvim_lsp", keyword_length = 3 }, + { name = "luasnip", keyword_length = 4 }, + --{ name = "buffer", keyword_length = 3 }, + { name = "buffer", option = { get_bufnrs = function() + return vim.api.nvim_list_bufs() + end + }}, + --{ name = 'treesitter' }, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this + { name = "cmp_git"}, + --{name = 'luasnip', keyword_length = 2}, + }), formatting = { - fields = { "abbr", "kind", "menu" }, + --formatting = { format = function(entry, vim_item) - -- Kind icons + --format = function(entry, vim_item,) + --local icons = kind_icons --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - vim_item.kind = lspkind.presets.default[vim_item.kind] - -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + -- vim_item.kind = lspkind.presets.default[vim_item.kind] + vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + --vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind) vim_item.menu = ({ - nvim_lsp = "LSP", + nvim_lsp = "Lsp", luasnip = "Snip", buffer = "Buf", path = "Path", @@ -105,38 +127,80 @@ cmp.setup({ })[entry.source.name] return vim_item end, - }, - sources = cmp.config.sources({ - { name = "path" }, - { name = "nvim_lsp", keyword_length = 3 }, - { name = "luasnip", keyword_length = 4 }, - { name = "buffer", keyword_length = 3 }, - --{ name = 'treesitter' }, - { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, - --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this - --{name = 'luasnip', keyword_length = 2}, - }), + --}, + + -- + -- + --fields = { "abbr", "kind", "menu" }, + -- format = lspkind.cmp_format({ + -- mode = 'symbol_text', -- show only symbol annotations + -- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + -- }) + --format = require('lspkind').cmp_format { + -- with_text = true, + -- menu = { + -- luasnip = "Snip", + -- buffer = "Buf", + -- nvim_lsp = "LSP", + -- path = "Path", + -- cmdline = "Cmd", + -- cmp_git = "Git", + -- }, + --}, + }, + --format = function(entry, vim_item) + -- -- Kind icons + -- --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + -- vim_item.kind = lspkind.presets.default[vim_item.kind] + -- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + -- vim_item.menu = ({ + -- nvim_lsp = "LSP", + -- luasnip = "Snip", + -- buffer = "Buf", + -- path = "Path", + -- cmdline = "Cmd", + -- })[entry.source.name] + -- return vim_item + --end, confirm_opts = { behavior = cmp.ConfirmBehavior.Replace, select = false, }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - --documentation = { - -- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - --}, - }, --- experimental = { --- ghost_text = true, --- native_menu = true, --- --native_menu = false, --- --view = { --- -- entries = "native" --- --}, --- }, + + + event = {}, + + experimental = { + ghost_text = true, + hl_group = 'Nontext', + }, + + view = { + entries = { name = 'custom', selection_order = 'top_down' }, + }, + + window = { + --completion = cmp.config.window.bordered(), + completion = { + border = { '', '', '', ' ', '', '', '', ' ' }, + --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + --border = { '', '', '', '', '', '', '', '' }, + --border = "CmpBorder", + --winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None', + winhighlight = "Normal:CmpPmenu,CursorLine:PmenuSel,Search:None", + }, + --documentation = cmp.config.window.bordered(), + documentation = { + max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)), + max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))), + border = { '', '', '', ' ', '', '', '', ' ' }, + --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + winhighlight = 'FloatBorder:NormalFloat', + }, + }, }) + cmp.setup.cmdline("/", { mapping = cmp.mapping.preset.cmdline(), sources = { diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 11d8834..35e4f47 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -20,8 +20,8 @@ vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") vim.api.nvim_command("highlight WinBar guibg=none gui=bold") ---vim.api.nvim_command("highlight PmenuSel guibg=none") vim.api.nvim_command("highlight NormalFloat guibg=none") +--vim.api.nvim_command("highlight PmenuSel guibg=none") --vim.api.nvim_command("highlight winblend guibg=none") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") --vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index bf9f771..323b864 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -19,16 +19,16 @@ local custom_attach = function(client, bufnr) --map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location --map("n", "gp", "Lspsaga peek_definition") -- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) --- map("n", "", vim.lsp.buf.definition) + map("n", "", vim.lsp.buf.definition) -- map("n", "K", vim.lsp.buf.hover) -- map("n", "", vim.lsp.buf.signature_help) -- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) -- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) -- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) -- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) --- map("n", "q", function() --- vim.diagnostic.setqflist({ open = true }) --- end, { desc = "put diagnostic to qf" }) + map("n", "q", function() + vim.diagnostic.setqflist({ open = true }) + end, { desc = "put diagnostic to qf" }) -- --map.('n', 'q', vim.diagnostic.setloclist) -- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) -- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) @@ -42,10 +42,44 @@ local custom_attach = function(client, bufnr) -- map("n", "gt", ":lua vim.lsp.buf.type_definition()") -- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. -- map("n", "gi", ":lua vim.lsp.buf.implementation()") --- map("n", "go", ":lua vim.diagnostic.open_float()") + map("n", "go", ":lua vim.diagnostic.open_float()") -- map("n", "gk", "Lspsaga diagnostic_jump_prev") -- map("n", "gj", "Lspsaga diagnostic_jump_next") +vim.g.diagnostics_visible = true +function _G.toggle_diagnostics() + if vim.g.diagnostics_visible then + vim.g.diagnostics_visible = false + vim.diagnostic.disable() + else + vim.g.diagnostics_visible = true + vim.diagnostic.enable() + end +end +map('n', 'm', ':call v:lua.toggle_diagnostics()') +--vim.g.diagnostics_active = true +--function _G.toggle_diagnostics() +-- if vim.g.diagnostics_active then +-- vim.g.diagnostics_active = false +-- vim.lsp.diagnostic.clear(0) +-- vim.cmd([[exe "normal ii\x"]]) +-- vim.lsp.handlers["textDocument/publishDiagnostics"] = function() end +-- else +-- vim.g.diagnostics_active = true +-- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( +-- vim.lsp.diagnostic.on_publish_diagnostics, { +-- virtual_text = true, +-- signs = true, +-- underline = true, +-- update_in_insert = false, +-- } +-- ) +-- end +--end +-- +--map("n", "i", ":call v:lua.toggle_diagnostics()") + + -- Set some key bindings conditional on server capabilities if client.server_capabilities.documentFormattingProvider then map("n", "f", vim.lsp.buf.format, { desc = "format code" }) @@ -57,33 +91,48 @@ local custom_attach = function(client, bufnr) map("n", "ra", "RustHoverAction") end +--For diagnostics for specific cursor position +--vim.api.nvim_create_autocmd("CursorHold", { +-- buffer = bufnr, +-- callback = function() +-- local opts = { +-- focusable = false, +-- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, +-- border = 'rounded', +-- source = 'always', +-- prefix = ' ', +-- scope = 'cursor', +-- } +-- vim.diagnostic.open_float(nil, opts) +-- end +--}) -- Diagnostic position - vim.api.nvim_create_autocmd("CursorHold", { - buffer = bufnr, - callback = function() - local float_opts = { - focusable = false, - close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, - border = "rounded", - source = "always", -- show source in diagnostic popup window - prefix = " ", - } - - if not vim.b.diagnostics_pos then - vim.b.diagnostics_pos = { nil, nil } - end - - local cursor_pos = vim.api.nvim_win_get_cursor(0) - if - (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) - and #vim.diagnostic.get() > 0 - then - vim.diagnostic.open_float(nil, float_opts) - end - - vim.b.diagnostics_pos = cursor_pos - end, - }) +-- vim.api.nvim_create_autocmd("CursorHold", { +-- buffer = bufnr, +-- callback = function() +-- local float_opts = { +-- focusable = false, +-- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, +-- border = "rounded", +-- source = "always", -- show source in diagnostic popup window +-- prefix = " ", +-- } +-- +-- if not vim.b.diagnostics_pos then +-- vim.b.diagnostics_pos = { nil, nil } +-- end +-- +-- local cursor_pos = vim.api.nvim_win_get_cursor(0) +-- if +-- (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) +-- and #vim.diagnostic.get() > 0 +-- then +-- vim.diagnostic.open_float(nil, float_opts) +-- end +-- +-- vim.b.diagnostics_pos = cursor_pos +-- end, +-- }) -- The below command will highlight the current variable and its usages in the buffer. if client.server_capabilities.documentHighlightProvider then @@ -106,7 +155,7 @@ local custom_attach = function(client, bufnr) end local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) +capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) capabilities.textDocument.completion.completionItem.snippetSupport = true capabilities.offsetEncoding = { "utf-16" } @@ -226,31 +275,98 @@ require("lspconfig").rust_analyzer.setup{ } end +--vim.diagnostic.config({ +-- virtual_text = false, +-- underline = true, +--}) +vim.diagnostic.config({ + underline = false, + signs = true, + virtual_text = false, + float = { + show_header = true, + source = 'if_many', + border = 'rounded', + focusable = false, + }, + update_in_insert = false, -- default to false + severity_sort = false, -- default to false +}) +-- Show line diagnostics automatically in hover window +vim.o.updatetime = 250 +vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] + +--local diagnostics_active = true +--local toggle_diagnostics = function() +-- diagnostics_active = not diagnostics_active +-- if diagnostics_active then +-- vim.o.updatetime = 250 +-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] +-- --vim.diagnostic.open_float(nil, {focus=false}) +-- else +-- --vim.diagnostic.hide() +-- vim.diagnostic.disable() +-- end +--end +--vim.keymap.set("n", "a", toggle_diagnostics) + +-- Toogle diagnostics +local diagnostics_active = true +local toggle_diagnostics = function() + diagnostics_active = not diagnostics_active + if diagnostics_active then + vim.api.nvim_echo({ { "Show diagnostics" } }, false, {}) + vim.diagnostic.enable() + else + vim.api.nvim_echo({ { "Disable diagnostics" } }, false, {}) + vim.diagnostic.disable() + end +end +vim.keymap.set("n", "a", toggle_diagnostics) + +--vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float(0, {scope="cursor", close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}})]] + +--function LspDiagnosticsFocus() +-- vim.api.nvim_command('set eventignore=WinLeave') +-- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') +-- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) +--end +--vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) +--local diagnostics_active = true +--map('n', 'a', function() +-- diagnostics_active = not diagnostics_active +-- if diagnostics_active then +-- vim.diagnostic.show() +-- else +-- vim.diagnostic.hide() +-- end +--end) -- Global config for diagnostic -vim.diagnostic.config({ - underline = false, - virtual_text = true, - signs = true, - severity_sort = true, - float = { - focusable = true, -- - style = "minimal", -- - --border = "rounded", - border = "shadow", - source = "always", - header = "", - prefix = "", - }, -}) +--vim.diagnostic.config({ +-- underline = false, +-- virtual_text = false, +-- signs = true, +-- severity_sort = true, +-- float = { +-- focusable = true, -- +-- style = "minimal", -- +-- --border = "rounded", +-- border = "shadow", +-- source = "always", +-- header = "", +-- prefix = "", +-- }, +--}) vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - underline = false, + underline = true, virtual_text = false, signs = true, update_in_insert = false, }) + --vim.lsp.buf.definition --vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) @@ -265,3 +381,147 @@ for type, icon in pairs(signs) do local hl = "DiagnosticSign" .. type vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) end + + +---- Location information about the last message printed. The format is +---- `(did print, buffer number, line number)`. +--local last_echo = { false, -1, -1 } +-- +---- The timer used for displaying a diagnostic in the commandline. +--local echo_timer = nil +-- +---- The timer after which to display a diagnostic in the commandline. +--local echo_timeout = 250 +-- +---- The highlight group to use for warning messages. +--local warning_hlgroup = 'WarningMsg' +-- +---- The highlight group to use for error messages. +--local error_hlgroup = 'ErrorMsg' +-- +---- If the first diagnostic line has fewer than this many characters, also add +---- the second line to it. +--local short_line_limit = 20 +-- +---- Shows the current line's diagnostics in a floating window. +--function show_line_diagnostics() +-- vim +-- .lsp +-- .diagnostic +-- .show_line_diagnostics({ severity_limit = 'Warning' }, vim.fn.bufnr('')) +--end +-- +---- Prints the first diagnostic for the current line. +--function echo_diagnostic() +-- if echo_timer then +-- echo_timer:stop() +-- end +-- +-- echo_timer = vim.defer_fn( +-- function() +-- local line = vim.fn.line('.') - 1 +-- local bufnr = vim.api.nvim_win_get_buf(0) +-- +-- if last_echo[1] and last_echo[2] == bufnr and last_echo[3] == line then +-- return +-- end +-- +-- local diags = vim +-- .lsp +-- .diagnostic +-- .get_line_diagnostics(bufnr, line, { severity_limit = 'Warning' }) +-- +-- if #diags == 0 then +-- -- If we previously echo'd a message, clear it out by echoing an empty +-- -- message. +-- if last_echo[1] then +-- last_echo = { false, -1, -1 } +-- +-- vim.api.nvim_command('echo ""') +-- end +-- +-- return +-- end +-- +-- last_echo = { true, bufnr, line } +-- +-- local diag = diags[1] +-- local width = vim.api.nvim_get_option('columns') - 15 +-- local lines = vim.split(diag.message, "\n") +-- local message = lines[1] +-- local trimmed = false +-- +-- if #lines > 1 and #message <= short_line_limit then +-- message = message .. ' ' .. lines[2] +-- end +-- +-- if width > 0 and #message >= width then +-- message = message:sub(1, width) .. '...' +-- end +-- +-- local kind = 'warning' +-- local hlgroup = warning_hlgroup +-- +-- if diag.severity == vim.lsp.protocol.DiagnosticSeverity.Error then +-- kind = 'error' +-- hlgroup = error_hlgroup +-- end +-- +-- local chunks = { +-- { kind .. ': ', hlgroup }, +-- { message } +-- } +-- +-- vim.api.nvim_echo(chunks, false, {}) +-- end, +-- echo_timeout +-- ) +--end +--vim.cmd([[ +-- autocmd CursorMoved * :lua echo_diagnostic() +--]]) +-- Highlight line number instead of having icons in sign column + +-- See the properties of the signs with sign list. + +--vim.cmd [[ +-- highlight! DiagnosticLineNrError guibg=#51202A guifg=#FF0000 gui=bold +-- highlight! DiagnosticLineNrWarn guibg=#51412A guifg=#FFA500 gui=bold +-- highlight! DiagnosticLineNrInfo guibg=#1E535D guifg=#00FFFF gui=bold +-- highlight! DiagnosticLineNrHint guibg=#1E205D guifg=#0000FF gui=bold +-- +-- sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl=DiagnosticLineNrError +-- sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl=DiagnosticLineNrWarn +-- sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl=DiagnosticLineNrInfo +-- sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl=DiagnosticLineNrHint +--]] + +-- Highlight symbol under cursor + +-- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. + +--if client.resolved_capabilities.document_highlight then +-- vim.cmd [[ +-- hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow +-- hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow +-- hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow +-- ]] +-- vim.api.nvim_create_augroup('lsp_document_highlight', { +-- clear = false +-- }) +-- vim.api.nvim_clear_autocmds({ +-- buffer = bufnr, +-- group = 'lsp_document_highlight', +-- }) +-- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { +-- group = 'lsp_document_highlight', +-- buffer = bufnr, +-- callback = vim.lsp.buf.document_highlight, +-- }) +-- vim.api.nvim_create_autocmd('CursorMoved', { +-- group = 'lsp_document_highlight', +-- buffer = bufnr, +-- callback = vim.lsp.buf.clear_references, +-- }) +--end + diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua index aeff464..0bf1ec7 100644 --- a/lua/plugins/lspsaga.lua +++ b/lua/plugins/lspsaga.lua @@ -21,7 +21,7 @@ require "lspsaga".init_lsp_saga { enable = false, sign = false, sign_priority = 20, -- - virtual_text = true, + virtual_text = false, }, finder_icons = { def = " ", @@ -118,13 +118,13 @@ local opts = { noremap = true, silent = true } map("n", "gd", "Lspsaga peek_definition", opts) --map("n", "gp", "Lspsaga peek_definition", opts) map("n", "gi", "Lspsaga lsp_finder", opts) ---map("n", "gh", "Lspsaga hover_doc", opts) +map("n", "gh", "Lspsaga hover_doc", opts) map("n", "gs", "Lspsaga signature_help", opts) -map("n", "ga", "Lspsaga code_action", opts) -map("v", "ga", "Lspsaga range_code_action", opts) -map("n", "gl", "Lspsaga show_line_diagnostics", opts) -map("n", "go", "Lspsaga open_floaterm fish", opts) -map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) +map("n", "ga", "Lspsaga code_action", opts) +map("v", "ga", "Lspsaga range_code_action", opts) +map("n", "gl", "Lspsaga show_line_diagnostics", opts) +--map("n", "go", "Lspsaga open_floaterm zsh", opts) +map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) map("n", "", "Lspsaga rename", opts) map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) map("n", "gj", "Lspsaga diagnostic_jump_next", opts) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index dcf6b9e..7e70bd5 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -142,12 +142,12 @@ telescope.setup({ telescope.load_extension("file_browser") -vim.keymap.set("n", ";f", function() - builtin.find_files({ - no_ignore = false, - hidden = true, - }) -end) +--vim.keymap.set("n", ";f", function() +-- builtin.find_files({ +-- no_ignore = false, +-- hidden = true, +-- }) +--end) vim.keymap.set("n", ";r", function() builtin.live_grep() end) @@ -163,15 +163,15 @@ end) vim.keymap.set("n", ";e", function() builtin.diagnostics() end) -vim.keymap.set("n", "sf", function() - telescope.extensions.file_browser.file_browser({ - path = "%:p:h", - cwd = telescope_buffer_dir(), - respect_gitignore = false, - hidden = true, - grouped = true, - previewer = false, - initial_mode = "normal", - layout_config = { height = 40 }, - }) -end) +--vim.keymap.set("n", "sf", function() +-- telescope.extensions.file_browser.file_browser({ +-- path = "%:p:h", +-- cwd = telescope_buffer_dir(), +-- respect_gitignore = false, +-- hidden = true, +-- grouped = true, +-- previewer = false, +-- initial_mode = "normal", +-- layout_config = { height = 40 }, +-- }) +--end) -- cgit v1.2.3 From 27a7c25f0727b373b5d0e4693d5bb2cb4c9c3a88 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 19 Oct 2022 23:55:51 +0200 Subject: Made Sourcing lua config easier --- init.lua | 86 +-- lua/user/autopairs.lua | 33 ++ lua/user/cmp-gh-source.lua | 72 +++ lua/user/cmp.lua | 264 +++++++++ lua/user/colorizer.lua | 6 + lua/user/colorscheme.lua | 33 ++ lua/user/git.lua | 11 + lua/user/gitsigns.lua | 1 + lua/user/heirline.lua | 1203 ++++++++++++++++++++++++++++++++++++++++ lua/user/keys.lua | 531 ++++++++++++++++++ lua/user/linecolor.lua | 112 ++++ lua/user/lsp-colors.lua | 9 + lua/user/lsp.lua | 584 +++++++++++++++++++ lua/user/lspkind.lua | 47 ++ lua/user/lspsaga.lua | 145 +++++ lua/user/lualine.lua | 423 ++++++++++++++ lua/user/luasnip.lua | 80 +++ lua/user/mason.lua | 27 + lua/user/modify-blend.lua | 40 ++ lua/user/mods.lua | 138 +++++ lua/user/neoscroll.lua | 21 + lua/user/null-ls.lua | 26 + lua/user/nvim-tree.lua | 68 +++ lua/user/opts.lua | 181 ++++++ lua/user/pack.lua | 360 ++++++++++++ lua/user/prettier.lua | 19 + lua/user/reload.lua | 50 ++ lua/user/scripts/lsp-ext.lua | 48 ++ lua/user/scripts/setcolors.lua | 121 ++++ lua/user/scripts/toggleLsp.lua | 40 ++ lua/user/tabline.lua | 22 + lua/user/telescope.lua | 223 ++++++++ lua/user/toggleterm.lua | 90 +++ lua/user/treesitter.lua | 34 ++ lua/user/utils.lua | 66 +++ lua/user/web-devicons.lua | 12 + lua/user/winbar.lua | 35 ++ lua/user/zen-mode.lua | 7 + 38 files changed, 5228 insertions(+), 40 deletions(-) create mode 100644 lua/user/autopairs.lua create mode 100644 lua/user/cmp-gh-source.lua create mode 100644 lua/user/cmp.lua create mode 100644 lua/user/colorizer.lua create mode 100644 lua/user/colorscheme.lua create mode 100644 lua/user/git.lua create mode 100644 lua/user/gitsigns.lua create mode 100644 lua/user/heirline.lua create mode 100644 lua/user/keys.lua create mode 100644 lua/user/linecolor.lua create mode 100644 lua/user/lsp-colors.lua create mode 100644 lua/user/lsp.lua create mode 100644 lua/user/lspkind.lua create mode 100644 lua/user/lspsaga.lua create mode 100644 lua/user/lualine.lua create mode 100644 lua/user/luasnip.lua create mode 100644 lua/user/mason.lua create mode 100644 lua/user/modify-blend.lua create mode 100644 lua/user/mods.lua create mode 100644 lua/user/neoscroll.lua create mode 100644 lua/user/null-ls.lua create mode 100644 lua/user/nvim-tree.lua create mode 100644 lua/user/opts.lua create mode 100644 lua/user/pack.lua create mode 100644 lua/user/prettier.lua create mode 100644 lua/user/reload.lua create mode 100644 lua/user/scripts/lsp-ext.lua create mode 100644 lua/user/scripts/setcolors.lua create mode 100644 lua/user/scripts/toggleLsp.lua create mode 100644 lua/user/tabline.lua create mode 100644 lua/user/telescope.lua create mode 100644 lua/user/toggleterm.lua create mode 100644 lua/user/treesitter.lua create mode 100644 lua/user/utils.lua create mode 100644 lua/user/web-devicons.lua create mode 100644 lua/user/winbar.lua create mode 100644 lua/user/zen-mode.lua diff --git a/init.lua b/init.lua index d28cc30..78e1a9b 100644 --- a/init.lua +++ b/init.lua @@ -18,8 +18,8 @@ --end --local stdpath = vim.fn.stdpath local api = vim.api -local utils = require("utils") - +local utils = require("user.utils") +vim.g.snippets = "luasnip" -- check if we have the latest stable version of nvim local expected_ver = "0.8.0" local nvim_ver = utils.get_nvim_version() @@ -38,47 +38,52 @@ end) -- IMPORTS require("impatient") -require("utils") -require("keys") -- Keymaps -require("opts") -- Options -require("pack") -- Plugins ---require("mods") -- Modules/functions ---require("deps") -- Plugins -require("plugins.treesitter") -require("plugins.telescope") -require("plugins.nvim-tree") ---require("scripts") -require("plugins.cmp") -require("plugins.toggleterm") ---require("plugins.floatterm") -require("plugins.autopairs") ---require("plugins.vimspector") ---require("plugins.mason") ---require("plugins.dap") -require("plugins.colorizer") -require("plugins.prettier") -require("plugins.git") -require("plugins.gitsigns") -require("plugins.neoscroll") -require("plugins.lsp") ---require("plugins.lspconfig") ---require("plugins.lspsaga") ---require("plugins.lspkind") -require("plugins.null-ls") -require("plugins.web-devicons") -require("plugins.zen-mode") -require("plugins.colorscheme") ---require("plugins.lsp-colors") +--for k, v in pairs(package.loaded) do +for k in pairs(package.loaded) do + if string.match(k, "^user") then + package.loaded[k] = nil + end +end + +require("user.utils") +require("user.keys") -- Keymaps +require("user.opts") -- Options +require("user.pack") -- Plugins +require("user.reload") +--requirdkfse("mods") -- Modules/functions +--requirdkfe("deps") -- Plugins +require("user.treesitter") +require("user.telescope") +require("user.nvim-tree") +--requirdfke("scripts") +require("user.cmp") +require("user.luasnip") +require("user.toggleterm") +--requirdfe("user.floatterm") +require("user.autopairs") +--requirdfe("user.vimspector") +--requirdfe("user.mason") +--requirdfe("user.dap") +require("user.colorizer") +require("user.prettier") +require("user.git") +require("user.gitsigns") +require("user.neoscroll") +require("user.lsp") +--requirdfe("user.lspconfig") +--requirdfe("user.lspsaga") +--requirdfe("user.lspkind") +require("user.null-ls") +require("user.web-devicons") +require("user.zen-mode") +require("user.colorscheme") +--requirdfe("user.lsp-colors") --vim.opt.laststatus = 3 -require("plugins.heirline") ---require("plugins.lualine") ---require("plugins.tabline") ---require("plugins.bufferline") ---require("plugins.airline") ---require("plugins.feline") ---require("plugins.winbar") +require("user.heirline") +--vim.api.nvim_command("luafile '/home/sxrdusr/.config/nvim/lua/user/heirline.lua'") +--vim.api.nvim_command(':luafile ~/.config/nvim/lua/user/heirline.lua') ---- Hide statusline by setting laststatus and cmdheight to 0. --vim.o.ls = 0 --vim.o.ch = 0 @@ -114,6 +119,7 @@ require("plugins.heirline") -- vim.g["loaded_" .. builtin] = status --end + --local core_conf_files = { -- "globals.lua", -- some global settings -- "options.vim", -- setting options in nvim diff --git a/lua/user/autopairs.lua b/lua/user/autopairs.lua new file mode 100644 index 0000000..577e571 --- /dev/null +++ b/lua/user/autopairs.lua @@ -0,0 +1,33 @@ +-- Setup nvim-cmp. +local status_ok, npairs = pcall(require, "nvim-autopairs") +if not status_ok then + return +end + +npairs.setup { + check_ts = true, + ts_config = { + lua = { "string", "source" }, + javascript = { "string", "template_string" }, + java = false, + }, + disable_filetype = { "TelescopePrompt", "spectre_panel" }, + fast_wrap = { + map = "", + chars = { "{", "[", "(", '"', "'" }, + pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), + offset = 0, -- Offset from pattern match + end_key = "$", + keys = "qwertyuiopzxcvbnmasdfghjkl", + check_comma = true, + highlight = "PmenuSel", + highlight_grey = "LineNr", + }, +} + +local cmp_autopairs = require "nvim-autopairs.completion.cmp" +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end +cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } }) diff --git a/lua/user/cmp-gh-source.lua b/lua/user/cmp-gh-source.lua new file mode 100644 index 0000000..05bba55 --- /dev/null +++ b/lua/user/cmp-gh-source.lua @@ -0,0 +1,72 @@ +local ok, Job = pcall(require, "plenary.job") +if not ok then + return +end + +local source = {} + +source.new = function() + local self = setmetatable({ cache = {} }, { __index = source }) + + return self +end + +source.complete = function(self, _, callback) + local bufnr = vim.api.nvim_get_current_buf() + + -- This just makes sure that we only hit the GH API once per session. + -- + -- You could remove this if you wanted, but this just makes it so we're + -- good programming citizens. + if not self.cache[bufnr] then + Job + :new({ + -- Uses `gh` executable to request the issues from the remote repository. + "gh", + "issue", + "list", + "--limit", + "1000", + "--json", + "title,number,body", + + on_exit = function(job) + local result = job:result() + local ok, parsed = pcall(vim.json.decode, table.concat(result, "")) + if not ok then + vim.notify "Failed to parse gh result" + return + end + + local items = {} + for _, gh_item in ipairs(parsed) do + gh_item.body = string.gsub(gh_item.body or "", "\r", "") + + table.insert(items, { + label = string.format("#%s", gh_item.number), + documentation = { + kind = "markdown", + value = string.format("# %s\n\n%s", gh_item.title, gh_item.body), + }, + }) + end + + callback { items = items, isIncomplete = false } + self.cache[bufnr] = items + end, + }) + :start() + else + callback { items = self.cache[bufnr], isIncomplete = false } + end +end + +source.get_trigger_characters = function() + return { "#" } +end + +source.is_available = function() + return vim.bo.filetype == "gitcommit" +end + +require("cmp").register_source("gh_issues", source.new()) diff --git a/lua/user/cmp.lua b/lua/user/cmp.lua new file mode 100644 index 0000000..77a4943 --- /dev/null +++ b/lua/user/cmp.lua @@ -0,0 +1,264 @@ + +-- Setup nvim-cmp. +--vim.opt.completeopt = "menu,menuone,noselect" +vim.g.completeopt = "menu,menuone,noselect,noinsert" +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end +--local WIDE_HEIGHT = 40 + +local opts = { + -- whether to highlight the currently hovered symbol + -- disable if your cpu usage is higher than you want it + -- or you just hate the highlight + -- default: true + highlight_hovered_item = true, + show_guides = true, +} +require("symbols-outline").setup(opts) + + +--local snippets_paths = function() +-- local plugins = { "friendly-snippets" } +-- local paths = {} +-- local path +-- local root_path = vim.env.HOME .. "/.vim/plugged/" +-- for _, plug in ipairs(plugins) do +-- path = root_path .. plug +-- if vim.fn.isdirectory(path) ~= 0 then +-- table.insert(paths, path) +-- end +-- end +-- return paths +--end +-- +--require("luasnip.loaders.from_vscode").lazy_load({ +-- paths = snippets_paths(), +-- include = nil, -- Load all languages +-- exclude = {}, +--}) + +require("luasnip.loaders.from_vscode").lazy_load() +local lspkind = require("lspkind") +local kind_icons = { + Text = "", + Method = "m", --"", + Function = "", + Constructor = "", --"⚙️", + Field = "", + Variable = "", + Class = "", + Interface = "", + Module = "", + Property = "", + Unit = "", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "", + Event = "", + Operator = "", + TypeParameter = "", +} +cmp.setup({ + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ +-- [""] = cmp.mapping.confirm({ +-- behavior = cmp.ConfirmBehavior.Replace, +-- select = true, +-- }), + [""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), + [''] = cmp.mapping.confirm({ select = true }), + --[""] = cmp.mapping.close(), + [''] = cmp.mapping({ + i = cmp.mapping.abort(), + c = cmp.mapping.close(), + }), + --[''] = cmp.config.disable, + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [''] = function(fallback) + if cmp.visible() then + cmp.mapping.confirm({ select = true })(fallback) + else + cmp.mapping.complete()(fallback) + end + end + }), + + sources = cmp.config.sources({ + { name = "path" }, + { name = "nvim_lua" }, + { name = "gh_issues" }, + { name = "nvim_lsp", keyword_length = 3 }, + { name = "luasnip", keyword_length = 4 }, + --{ name = "buffer", keyword_length = 3 }, + { name = "buffer", option = { get_bufnrs = function() + return vim.api.nvim_list_bufs() + end + }}, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + { name = "cmp_git"}, + --{ name = 'treesitter' }, + --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this + --{name = 'luasnip', keyword_length = 2}, + }), + formatting = { + --formatting = { + --local icons = kind_icons + --format = function(entry, vim_item) + ----vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + ----vim_item.kind = lspkind.presets.default[vim_item.kind] + --vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + ----vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind) + --vim_item.menu = ({ + ----nvim_lsp = "LSP", + ----luasnip = "snip", + ----buffer = "buf", + ----path = "path", + ----cmdline = "cmd", + --buffer = "[buf]", + --nvim_lsp = "[LSP]", + --nvim_lua = "[api]", + --path = "[path]", + --luasnip = "[snip]", + --cmdline = "[cmd]", + --gh_issues = "[issues]", + --})[entry.source.name] + --return vim_item + --end, + format = lspkind.cmp_format { + with_text = true, + menu = { + buffer = "[buf]", + nvim_lsp = "[LSP]", + nvim_lua = "[api]", + path = "[path]", + luasnip = "[snip]", + gh_issues = "[issues]", + }, + }, + --}, + + -- + -- + --fields = { "abbr", "kind", "menu" }, + -- format = lspkind.cmp_format({ + -- mode = 'symbol_text', -- show only symbol annotations + -- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + -- }) + --format = require('lspkind').cmp_format { + -- with_text = true, + -- menu = { + -- luasnip = "Snip", + -- buffer = "Buf", + -- nvim_lsp = "LSP", + -- path = "Path", + -- cmdline = "Cmd", + -- cmp_git = "Git", + -- }, + --}, + }, + --format = function(entry, vim_item) + -- -- Kind icons + -- --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + -- vim_item.kind = lspkind.presets.default[vim_item.kind] + -- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + -- vim_item.menu = ({ + -- nvim_lsp = "LSP", + -- luasnip = "Snip", + -- buffer = "Buf", + -- path = "Path", + -- cmdline = "Cmd", + -- })[entry.source.name] + -- return vim_item + --end, + confirm_opts = { + behavior = cmp.ConfirmBehavior.Replace, + select = false, + }, + + + event = {}, + + experimental = { + ghost_text = true, + hl_group = 'Nontext', + native_menu = false, + }, + + view = { + entries = { name = 'custom', selection_order = 'top_down' }, + }, + + window = { + --completion = cmp.config.window.bordered(), + completion = { + border = { '', '', '', ' ', '', '', '', ' ' }, + --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + --border = { '', '', '', '', '', '', '', '' }, + --border = "CmpBorder", + winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None', + --winhighlight = "Normal:CmpPmenu,CursorLine:PmenuSel,Search:None", + }, + --documentation = cmp.config.window.bordered(), + documentation = { + --max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)), + --max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))), + border = { '', '', '', ' ', '', '', '', ' ' }, + --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + winhighlight = 'FloatBorder:NormalFloat', + }, + }, +}) + + +cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, +}) + +cmp.setup.cmdline(":", { + mapping = { + [""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.confirm({ select = true }), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.close(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), + --[""] = cmp.mapping.select_prev_item(), + --[""] = cmp.mapping.select_next_item(), + --[''] = cmp.mapping.confirm({ select = true }), + --[""] = cmp.mapping.close(), + ----[''] = cmp.config.disable, + --[""] = cmp.mapping.scroll_docs(-4), + --[""] = cmp.mapping.scroll_docs(4), + --[""] = cmp.mapping.complete(), + }, + + sources = cmp.config.sources({ + { name = "path" }, + }, { + --{ name = "cmdline" }, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + }) +}) + + diff --git a/lua/user/colorizer.lua b/lua/user/colorizer.lua new file mode 100644 index 0000000..14d25e2 --- /dev/null +++ b/lua/user/colorizer.lua @@ -0,0 +1,6 @@ +local status, colorizer = pcall(require, "colorizer") +if (not status) then return end + +colorizer.setup({ + '*'; +}) diff --git a/lua/user/colorscheme.lua b/lua/user/colorscheme.lua new file mode 100644 index 0000000..3ded54c --- /dev/null +++ b/lua/user/colorscheme.lua @@ -0,0 +1,33 @@ +-- Colorscheme +-- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one +local colorscheme = "doom-one" +local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) +if not status_ok then + vim.notify("colorscheme " .. colorscheme .. " not found!") + return +end + +vim.api.nvim_command("syntax on") +vim.api.nvim_command("highlight Normal guibg=none") +vim.api.nvim_command("highlight SignColumn guibg=none") +vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight TabLine guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") +vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") +vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") +vim.api.nvim_command("highlight WinBar guibg=none gui=bold") +vim.api.nvim_command("highlight NormalFloat guibg=none") +vim.api.nvim_command("highlight MsgSeparator guibg=none") +--vim.api.nvim_command("highlight PmenuSel guibg=none") +--vim.api.nvim_command("highlight winblend guibg=none") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") + +require("notify").setup({ + background_colour = "#000000", +}) diff --git a/lua/user/git.lua b/lua/user/git.lua new file mode 100644 index 0000000..963f7f9 --- /dev/null +++ b/lua/user/git.lua @@ -0,0 +1,11 @@ +local status, git = pcall(require, "git") +if (not status) then return end + +git.setup({ + keymaps = { + -- Open blame window + blame = "gb", + -- Open file/folder in git repository + browse = "go", + } +}) diff --git a/lua/user/gitsigns.lua b/lua/user/gitsigns.lua new file mode 100644 index 0000000..53d1a1e --- /dev/null +++ b/lua/user/gitsigns.lua @@ -0,0 +1 @@ +require('gitsigns').setup {} diff --git a/lua/user/heirline.lua b/lua/user/heirline.lua new file mode 100644 index 0000000..f17f523 --- /dev/null +++ b/lua/user/heirline.lua @@ -0,0 +1,1203 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + white = "#f8f8f2", + black = "#000000", + darkgray = "#23232e", + gray = "#2d2b3a", + lightgray = "#d6d3ea", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + purple = "#BF40BF", + violet = "#7F00FF", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local LeftSpace = { provider = "" } +local RightSpace = { provider = "" } +local RightSpace2 = { provider = "" } +local RightSpace3 = { provider = "" } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "" } +local RightSep = { provider = "" } + +local ViMode = { + init = function(self) + self.mode = vim.fn.mode(1) + if not self.once then + vim.cmd("au ModeChanged *:*o redrawstatus") + end + self.once = true + end, + static = { + mode_names = { + n = "NORMAL ", + no = "N·OPERATOR PENDING ", + nov = "N?", + noV = "N?", + ["no\22"] = "N? ", + niI = "Ni", + niR = "Nr", + niV = "Nv", + nt = "Nt", + v = "VISUAL ", + vs = "Vs", + V = "V·LINE ", + ["\22"] = "V·BLOCK ", + ["\22s"] = "V·BLOCK ", + s = "SELECT ", + S = "S·LINE ", + ["\19"] = "S·BLOCK ", + i = "INSERT ", + ix = "insert x ", + ic = "insert c ", + R = "REPLACE ", + Rc = "Rc", + Rx = "Rx", + Rv = "V·REPLACE ", + Rvc = "Rv", + Rvx = "Rv", + c = "COMMAND ", + cv = "VIM EX ", + ce = "EX ", + r = "PROMPT ", + rm = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + t = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%) " + end, + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + update = { + "ModeChanged", + }, +} + +-- LSP +local LSPActive = { + condition = conditions.lsp_attached, + update = { "LspAttach", "LspDetach" }, + + provider = function() + local buf_clients = vim.lsp.buf_get_clients() + local buf_client_names = {} + + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" then + table.insert(buf_client_names, client.name) + end + end + return "⚙️ " .. table.concat(buf_client_names, "") + end, + hl = { fg = colors.lightgray, bold = false }, +} + +-- Navic +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = colors.white }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = colors.white }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and (" 柳" .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileNameBlock: FileIcon, FileName and friends +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} + +-- FileIcon, FileName, FileFlags and FileNameModifier +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" -- ±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} + +local FileNameModifier = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + --return fmt ~= "unix" and fmt:upper() + return fmt ~= "unix" and fmt:lower() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = " 暈", + hl = { bold = true, fg = colors.yellow }, +} + +local help_file_name = { + condition = function() + return vim.bo.filetype == "help" + end, + provider = function() + local filename = vim.api.nvim_buf_get_name(0) + return vim.fn.fnamemodify(filename, ":t") + end, + hl = { fg = colors.blue }, +} + +-- Cursor position: Ruler +--local Ruler = { + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + --provider = "%6(%l:%1.5c/%L%) ", + --provider = "%3(%l:%1.5c/%L%) ", + --provider = "%7(%l/%3L%):%2c ", +-- provider = "%7(%l:%c%) ", + --provider = "%l:%c ", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +-- hl = { fg = colors.darkgray, bold = true }, +--} +local leftruler = { Space, Align } +local rightruler = { Align, Space } +local cursor_location = { + --{ provider = "", hl = { fg = utils.get_highlight("StatusLine").bg, bold = true } }, +-- { provider = "%<%-05.10(%l:%c%)", hl = { fg = colors.darkgray, bold = true } }, +-- { provider = " ", hl = { fg = colors.darkgray, bold = true } }, + --{ provider = "%P %=%<%(%l,%c)" }, + --{ provider = " %w%-8.(%l,%c%)%>" }, + { provider = " %1(%4l:%-3(%c%) %)%*", hl = { fg = colors.black, bold = true } }, +} +local Ruler = { cursor_location } + + --utils.make_flexible_component( + -- 3, + -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + -- { provider = "%<" } + --), +--local cursor_location = { +-- { provider = "%7(%l:%c%) ", hl = { bold = true } }, +-- { +-- provider = " ", +-- hl = function(self) +-- local color = self:mode_color() +-- return { fg = color, bold = true } +-- end, +-- }, +--} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +--local mysurroundedcomponent = { +--{provider='', hl = {...}}, +--{}, +--{provider = '>>>', hl = {...}} +--} +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +RightSpace = utils.surround( + { "", "" }, + colors.gray, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround( + { "█", "" }, + colors.darkgray, + { RightSpace2, hl = { fg = colors.darkgray, force = true } } +) + +RightSpace3 = utils.surround( + { "█", "" }, + utils.get_highlight("statusline").bg, + { RightSpace3, hl = { fg = colors.darkgray, force = true } } +) + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } }) + +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --{ LeftSep, hl = function(self) + -- return { fg = self.mode_colors[self.mode], bg = utils.get_highlight("statusline").bg, bold = true, } + -- end, + --}, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { + RightSpace3, + hl = { bg = colors.darkgray, force = true }, + }, + { LSPActive, hl = { bg = colors.darkgray, force = true } }, + { RightSpace2, hl = { bg = colors.gray, force = true } }, + { FileInfoBlock, hl = { bg = colors.gray, force = true } }, + { RightSpace, hl = { fg = colors.gray, force = true } }, + --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --utils.make_flexible_component( + -- 3, + -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + -- { provider = "%<" } + --), +} +--local Align = { provider = "%=", hl = { bg = colors.bg } } + +local sections = { left, middle, right } +local DefaultStatusline = { sections } +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar + +local InactiveStatusline = { + condition = conditions.is_not_active, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + --FileType, + --Space, + --Align, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + --hl = { bg = colors.red }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + --{ condition = conditions.is_active, ViMode, Space }, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --FileType, + --Space, + --TerminalName, + --Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + ["\22"] = colors.purple, + c = colors.orange, + s = colors.purple, + S = colors.purple, + ["\19"] = colors.purple, + R = colors.red, + r = colors.red, + ["!"] = colors.orange, + t = colors.orange, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + InactiveStatusline, + DefaultStatusline, +} + + +-- +--- WinBar +-- +local WinbarFileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + hl = { bg = colors.bg }, +} + +--local WinbarFileName = { +-- provider = function(self) +-- -- self.filename will be defined later, just keep looking at the example! +-- local filename = self.filename +-- filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") +-- return filename +-- end, +-- hl = function() +-- return { fg = colors.gray, italic = true } +-- end, +--} +local WinbarFileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, + hl = { fg = colors.gray, bold = false, bg = colors.bg }, +} + +WinbarFileNameBlock = utils.insert( + WinbarFileNameBlock, + FileIcon, + utils.insert(WinbarFileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +On_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + On_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local Center = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + --utils.surround({ "", "" }, colors.nobg, { FileIcon, { WinbarFileName, hl = { fg = colors.gray } }, FileFlags } ), + utils.surround({ "", "" }, colors.nobg, { WinbarFileNameBlock } ), + }, + -- A winbar for regular files + utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), +} + +--local WinBar = { Align, Center, Align } +local WinBar = { Space, Center } + + +-- TabLine +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + hl = { fg = colors.white, bold = false }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = colors.red }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "􀰎 ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") + { provider = " 􀰓", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLineFill" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { + provider = "%=", + }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then + self.title = "NvimTree" + return true + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "TablineFill" + end + end, +} + +local TabLine = { + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) + +-- Yep, with heirline we're driving manual! +--vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) +-- +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/lua/user/keys.lua b/lua/user/keys.lua new file mode 100644 index 0000000..4515cbc --- /dev/null +++ b/lua/user/keys.lua @@ -0,0 +1,531 @@ +--[[ key.lua ]] + +-- Shorten function name +local map = vim.api.nvim_set_keymap + +local function new_desc(d) + return { desc = d } +end + +local d = new_desc + +local opts = { noremap = true, silent = true } + +local term_opts = { silent = true } + +--------------- Standard Operations --------------- +-- Semi-colon as leader key +vim.g.mapleader = ";" +--vim.g.maplocalleader = ";" + +-- "jj" to exit insert-mode +map("i", "jj", "", opts) + +-- save quickly +--map("n", ";w", ":w", d("Save buffer")) + +--map("n", "so", ":luafile %", opts) + +--vim.cmd([[ +--let $my_vimrc = $localappdata.'/nvim/init.lua' +--nnoremap so :source $my_vimrc +--]]) + +--vim.api.nvim_set_keymap("n", "", "lua ReloadConfig()", { noremap = true, silent = false }) +vim.api.nvim_set_keymap("n", "", "luafile ~/.config/nvim/init.lua", { noremap = true, silent = false }) +--vim.api.nvim_set_keymap('n', 'qr', ':lua require("plugins.telescope").reload()', { noremap = true, silent = true }) + +--Easier split navigations, just ctrl-j instead of ctrl-w then j +map("n", "", "", opts) +map("n", "", "", opts) +map("n", "", "", opts) +map("n", "", "", opts) + +-- Combine buffers list with buffer name +map("n", "b", ":buffers:buffer", opts) + +-- Map buffer next, prev and delete to +map("n", "n", ":bn", opts) +map("n", "p", ":bp", opts) +map("n", "d", ":bd", opts) + +-- Disable default completion. +map('i', '', '', opts) +map('i', '', '', opts) + +-- Set alt + j/k to switch lines of texts or simply move them +map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) +map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) + +map("n", "", "!clear", opts) +vim.cmd([[ + inoremap + inoremap + inoremap + inoremap +]]) + +vim.cmd([[ + cnoremap + cnoremap + cnoremap + cnoremap +]]) + +--vim.cmd([[ +-- cnoremap +-- cnoremap +-- cnoremap +-- cnoremap +--]]) + +vim.cmd([[ + snoremap + snoremap + snoremap + snoremap +]]) + +-- move block easily +map("n", "<", "<<", d("Decrease indent")) +map("n", ">", ">>", d("Increase indent")) +map("x", "<", "", ">gv", d("Decrease indent")) + +-- Resize Panes +map("n", "+", ":resize +5", opts) +map("n", "-", ":resize -5", opts) +map("n", "<", ":vertical resize +5", opts) +map("n", ">", ":vertical resize -5", opts) +map("n", "=", "=", opts) + +-- New tab +map("n", "e", ":tabedit", opts) + +-- create tab like window +map("n", "h", ":tabprevious", d("Goto previous tab")) +map("n", "l", ":tabnext", d("Goto next tab")) +map("n", "n", ":tabnew", d("Create a new tab")) + +-- Vim TABs +map("n", "1", "1gt", opts) +map("n", "2", "2gt", opts) +map("n", "3", "3gt", opts) +map("n", "4", "4gt", opts) +map("n", "5", "5gt", opts) +map("n", "6", "6gt", opts) +map("n", "7", "7gt", opts) +map("n", "8", "8gt", opts) +map("n", "9", "9gt", opts) +map("n", "0", "10gt", opts) + +-- Split window +map("n", "h", ":split", opts) +map("n", "v", ":vsplit", opts) +map("n", "c", "c", opts) + +-- Toggle set number +map("n", "$", ":NumbersToggle", opts) +map("n", "%", ":NumbersOnOff", opts) + +-- Change mode to executable +map("n", "x", ":!chmod +x %", opts) + +-- Paste without replace clipboard +map("v", "p", '"_dP', opts) + +-- Paste end of line +--map("n", ",", "$p", opts) +vim.cmd([[ + nmap , $p +]]) + +-- Select entire buffer +map("v", "", "ggG", opts) + +-- Delete without changing the registers +--map('n', 'x', '"_x', opts) + +-- Select all text in current buffer +--map('n', 'a', ':keepjumps normal! ggVG') + +-- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in +-- visual mode to select text to swap with +map("v", "", "`.``gvP``P", opts) + +-- Search and replace +map("v", "sr", 'y:%s/"//gc', opts) +--vnoremap ; :call Get_visual_selection() +-- +--function! Get_visual_selection() +-- " Why is this not a built-in Vim script function?! +-- let [lnum1, col1] = getpos("'<")[1:2] +-- let [lnum2, col2] = getpos("'>")[1:2] +-- let lines = getline(lnum1, lnum2) +-- let lines[-1] = lines[-1][: col2 - (&selection == 'inclusive' ? 1 : 2)] +-- let lines[0] = lines[0][col1 - 1:] +-- let selection = join(lines,'\n') +-- let change = input('Change the selection with: ') +-- execute ":%s/".selection."/".change."/g" +--endfunction +vim.cmd([[ +let s:hidden_all = 0 +function! ToggleHiddenAll() + if s:hidden_all == 0 + let s:hidden_all = 1 + set noshowmode + set noruler + set laststatus=0 + set noshowcmd + else + let s:hidden_all = 0 + set showmode + set ruler + set laststatus=2 + set showcmd + endif +endfunction +nnoremap :call ToggleHiddenAll() +]]) + +vim.cmd([[ + map s :up \| saveas! %:p:r-=strftime("%y.%m.%d-%H:%M")-bak.=expand("%:e") \| 3sleep \| e # +]]) + +-------------- Telescope -------------- +--Telescope find_files cwd=.. +map("n", "fc", "lua require('telescope.builtin').commands()", opts) +map( + "n", + "ft", + "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))", + opts +) + +map("n", "fg", "lua require('telescope.builtin').live_grep()", opts) +map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()", opts) + + map("n", "fd", "lua require('telescope.builtin').diagnostics()", opts) +--map("n", "fz", ":FZF", opts) +--map("t", [[]], [[]], opts) +--map("n", "ff", ":NvimTreeToggle", {}) +map("n", "f", ":NvimTreeToggle", {}) +-- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) +-- Find files in config dirs +--key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) +--map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) +map("n", "ft", "lua require('plugins.telescope').file_explorer({})", opts) +--map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) +map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})", opts) +-- registers picker +map("n", "r", "lua require('telescope.builtin').registers({})", opts) +-- find files including gitignored +--keymap( +-- "n", +-- "fg", +-- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})", opts) +-- open available commands & run it +map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})", opts) + +-------------- Autopairs -------------- +Toggle_autopairs = function() + local ok, autopairs = pcall(require, "nvim-autopairs") + if ok then + if autopairs.state.disabled then + autopairs.enable() + print("autopairs on") + else + autopairs.disable() + print("autopairs off") + end + else + print("autopairs not available") + end +end +map("n", "ww", ":lua Toggle_autopairs()", term_opts) + +-------------- Functions -------------- +-- Toggle transparency +vim.cmd([[ + let t:is_transparent = 0 + function! Toggle_transparent_background() + if t:is_transparent == 0 + hi Normal guibg=#111111 ctermbg=black + let t:is_transparent = 1 + else + hi Normal guibg=NONE ctermbg=NONE + let t:is_transparent = 0 + endif + endfunction + nnoremap tb :call Toggle_transparent_background() +]]) +--keymap('n', 'tb', ':Toggle_transparent_background', opts) + +-- Toggle zoom +vim.cmd([[ + function! s:ZoomToggle() abort + if exists('t:zoomed') && t:zoomed + execute t:zoom_winrestcmd + let t:zoomed = 0 + else + let t:zoom_winrestcmd = winrestcmd() + resize + vertical resize + let t:zoomed = 1 + endif + endfunction + command! ZoomToggle call s:ZoomToggle() + ]]) +map("n", "z", ":ZoomToggle", opts) +-- "Zoom" a split window into a tab and/or close it +--keymap('n', ',', ':tabnew %', opts) +--keymap('n', '.', ':tabclose', opts) + +-- Open last closed buffer +vim.cmd([[ + function! OpenLastClosed() + let last_buf = bufname('#') + if empty(last_buf) + echo "No recently closed buffer found" + return + endif + let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ") + if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n') + return + endif + if result ==# 't' + execute 'tabnew' + elseif result ==# 'v' + execute "vsplit" + elseif result ==# 's' + execute "split" + endif + execute 'b ' . last_buf + endfunction + ]]) +map("n", "", ":call OpenLastClosed() ", opts) + +-- Tabularize +vim.cmd([[ + vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" + nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" + "nnoremap i mc40A 080lDgelD`cP + "vnoremap ii mc0f-20i`cdt=j +]]) + +vim.cmd([[ + " Start interactive EasyAlign in visual mode (e.g. vipga) + xmap ga (EasyAlign) + " Start interactive EasyAlign for a motion/text object (e.g. gaip) + nmap ga (EasyAlign) + if !exists('g:easy_align_delimiters') + let g:easy_align_delimiters = {} + endif + let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } + nnoremap 21A d21\| + imap a +]]) +--:'<,'>EasyAlign /--/ +--EasyAlign /--/ +--:'<,'>Tabularize /-- + +map("n", ",", ":hide", opts) +map("n", ".", ":unhide", opts) + +--" Clean trailing whitespace +--nnoremap ww mz:%s/\s\+$//:let @/=''`z + +-- Save with root permission (not working for now) +--vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) + +-- Copy and Paste with and +--keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'', opts) +-- Use command :Vb for Visual Block or since is used for Copy +--command! Vb normal! +-- Map to save/edit a root permission/read-only file, only works in +-- traditional vim and not neovim +--keymap('c', 'w!! %!sudo tee > /dev/null', opts) +--" Copying text to the system clipboard. +--" +--" For some reason Vim no longer wants to talk to the OS X pasteboard through "*. +--" Computers are bullshit. +--function! g:FuckingCopyTheTextPlease() +-- let old_z = @z +-- normal! gv"zy +-- call system('pbcopy', @z) +-- let @z = old_z +--endfunction +--noremap p :silent! set paste"*p:set nopaste +--" noremap p mz:r!pbpaste`z +--vnoremap y :call g:FuckingCopyTheTextPlease() + +--" Indent/dedent/autoindent what you just pasted. +--nnoremap > V`]< +--nnoremap > V`]> +--nnoremap =- V`]= + +--" Keep the cursor in place while joining lines +--nnoremap J mzJ`z + +--" Toggle [i]nvisible characters +--nnoremap i :set list! +-- +--" Unfuck my screen +--nnoremap U :syntax sync fromstart:redraw! + +--" Ranger +--nnoremap r :silent !ranger %:h:redraw! +--nnoremap R :silent !ranger:redraw! +-- +--" Insert Mode Completion {{{ +-- +--inoremap +--inoremap +--inoremap +---- Open the current file in the default program (on Mac this should just be just `open`) +--keymap('n', 'x', ':!xdg-open %') + +map("n", "ff", "lua require('telescope.builtin').find_files()", opts) +--keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()", opts) +--keymap('n', 'k', ':nohlsearch') +-- +--"This unsets the "last search pattern" register by hitting return +vim.cmd([[ + nnoremap :noh +]]) + +--keymap('n', 'Q', ':bufdo bdelete') +-- +---- Allow gf to open non-existent files +--keymap('', 'gf', ':edit ') +-- +---- Reselect visual selection after indenting +--keymap('v', '<', '', '>gv') +-- +---- Maintain the cursor position when yanking a visual selection +---- http://ddrscott.github.io/blog/2016/yank-without-jank/ +--keymap('v', 'y', 'myy`y') +--keymap('v', 'Y', 'myY`y') +--keymap("n", "", ":q", opts) +--keymap("n", "", ":qa!", opts) + +--" Sort lines +--nnoremap s vip:!sort +--vnoremap s :!sort +-- +--" Tabs +--nnoremap ( :tabprev +--nnoremap ) :tabnext +-- +--" Wrap +--nnoremap W :set wrap! + +--set foldlevelstart=0 +-- +--" Space to toggle folds. +--nnoremap za +--vnoremap za +--" Make zO recursively open whatever fold we're in, even if it's partially open. +--nnoremap zO zczO + +-- Packer +--maps.n["pc"] = { "PackerCompile", desc = "Packer Compile" } +--maps.n["pi"] = { "PackerInstall", desc = "Packer Install" } +--maps.n["ps"] = { "PackerSync", desc = "Packer Sync" } +--maps.n["pS"] = { "PackerStatus", desc = "Packer Status" } +--maps.n["pu"] = { "PackerUpdate", desc = "Packer Update" } +-- NeoTree +--if is_available "neo-tree.nvim" then +-- keymaps.n["e"] = { "Neotree toggle", desc = "Toggle Explorer" } +-- keymaps.n["o"] = { "Neotree focus", desc = "Focus Explorer" } +--end +-- Alpha +--if is_available "alpha-nvim" then maps.n["d"] = { "Alpha", desc = "Alpha Dashboard" } end + +-- Package Manager +-- TODO: v2 rework these key bindings to be more general +--if is_available "mason.nvim" then maps.n["lI"] = { "Mason", desc = "LSP installer" } end +-- Telescope +--if is_available "telescope.nvim" then +-- maps.n["fw"] = { function() require("telescope.builtin").live_grep() end, desc = "Search words" } +-- maps.n["fW"] = { +-- function() +-- require("telescope.builtin").live_grep { +-- additional_args = function(args) return vim.list_extend(args, { "--hidden", "--no-ignore" }) end, +-- } +-- end, +-- desc = "Search words in all files", +-- } +-- maps.n["gt"] = { function() require("telescope.builtin").git_status() end, desc = "Git status" } +-- maps.n["gb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } +-- maps.n["gc"] = { function() require("telescope.builtin").git_commits() end, desc = "Git commits" } +-- maps.n["ff"] = { function() require("telescope.builtin").find_files() end, desc = "Search files" } +-- maps.n["fF"] = { +-- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, +-- desc = "Search all files", +-- } +-- maps.n["fb"] = { function() require("telescope.builtin").buffers() end, desc = "Search buffers" } +-- maps.n["fh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } +-- maps.n["fm"] = { function() require("telescope.builtin").marks() end, desc = "Search marks" } +-- maps.n["fo"] = { function() require("telescope.builtin").oldfiles() end, desc = "Search history" } +-- maps.n["fc"] = +-- { function() require("telescope.builtin").grep_string() end, desc = "Search for word under cursor" } +-- maps.n["sb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } +-- maps.n["sh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } +-- maps.n["sm"] = { function() require("telescope.builtin").man_pages() end, desc = "Search man" } +-- maps.n["sn"] = +-- { function() require("telescope").extensions.notify.notify() end, desc = "Search notifications" } +-- maps.n["sr"] = { function() require("telescope.builtin").registers() end, desc = "Search registers" } +-- maps.n["sk"] = { function() require("telescope.builtin").keymaps() end, desc = "Search keymaps" } +-- maps.n["sc"] = { function() require("telescope.builtin").commands() end, desc = "Search commands" } +-- maps.n["ls"] = { +-- function() +-- local aerial_avail, _ = pcall(require, "aerial") +-- if aerial_avail then +-- require("telescope").extensions.aerial.aerial() +-- else +-- require("telescope.builtin").lsp_document_symbols() +-- end +-- end, +-- desc = "Search symbols", +-- } +-- maps.n["lR"] = { function() require("telescope.builtin").lsp_references() end, desc = "Search references" } +--end +-- +---- Terminal +--if is_available "toggleterm.nvim" then +-- local toggle_term_cmd = astronvim.toggle_term_cmd +-- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } +-- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } +-- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } +-- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } +-- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } +-- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } +-- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } +-- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } +--end +-- +---- Stay in indent mode +--maps.v["<"] = { ""] = { ">gv", desc = "indent line" } +-- +---- Improved Terminal Mappings +--maps.t[""] = { "", desc = "Terminal normal mode" } +--maps.t["jk"] = { "", desc = "Terminal normal mode" } +--maps.t[""] = { "h", desc = "Terminal left window navigation" } +--maps.t[""] = { "j", desc = "Terminal down window navigation" } +--maps.t[""] = { "k", desc = "Terminal up window navigation" } +--maps.t[""] = { "l", desc = "Terminal right window naviation" } +-- LSP Installer +--if is_available "mason-lspconfig.nvim" then maps.n["li"] = { "LspInfo", desc = "LSP information" } end + +-- ALE: toggle _ALE activity +--keymap('n', 'a',[[:ALEToggle]]) + +--keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})', opts) +-- ":lua require('neogen').generate()", opts) +--keymap("n", "ww", ":set wrap!", opts) +-- diff --git a/lua/user/linecolor.lua b/lua/user/linecolor.lua new file mode 100644 index 0000000..37550dd --- /dev/null +++ b/lua/user/linecolor.lua @@ -0,0 +1,112 @@ +--local M = {} +--M.theme = function() +-- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future +-- local colors = { +-- nobg = nil, +-- blue = "#87b0f9", +-- mauve = "#cba6f7", +-- red = "#f38ba8", +-- green = "#a6e3a1", +-- peach = "#fab387", +-- white = "#c6d0f5", +-- gray = "#a1a8c9", +-- black = "#1e1e2e", +-- } +-- return { +-- inactive = { +-- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, +-- b = { fg = colors.white, bg = colors.black }, +-- c = { fg = colors.gray, bg = colors.nobg }, +-- }, +-- visual = { +-- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, +-- b = { fg = colors.mauve, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- replace = { +-- a = { fg = colors.black, bg = colors.red, gui = "bold" }, +-- b = { fg = colors.red, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- normal = { +-- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, +-- b = { fg = colors.black, bg = colors.green }, +-- c = { fg = colors.white, bg = colors.black }, +-- }, +-- insert = { +-- a = { fg = colors.black, bg = colors.green, gui = "bold" }, +-- b = { fg = colors.teal, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- command = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- modified = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.peach }, +-- c = { fg = colors.white, bg = colors.peach }, +-- }, +-- } +--end +--return M +local M = {} +M.theme = function() + --local colors = { + -- darkgray = "#16161d", + -- gray = "#727169", + -- innerbg = nil, + -- outerbg = "#16161D", + -- normal = "#7e9cd8", + -- insert = "#98bb6c", + -- visual = "#ffa066", + -- replace = "#e46876", + -- command = "#e6c384", + --} + local colors = { + darkgray = "#16161d", + gray = "#727169", + innerbg = nil, + outerbg = "#16161D", + normal = "#39BAE6", + insert = "#AAD94C", + visual = "#FA8D3F", + replace = "#F07171", + command = "#F2AE49", + } + return { + inactive = { + a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + visual = { + a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + replace = { + a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + normal = { + a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + y = { fg = colors.gray, bg = colors.outerbg }, + }, + insert = { + a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + command = { + a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + } +end +return M diff --git a/lua/user/lsp-colors.lua b/lua/user/lsp-colors.lua new file mode 100644 index 0000000..1398123 --- /dev/null +++ b/lua/user/lsp-colors.lua @@ -0,0 +1,9 @@ +local status, colors = pcall(require, "lsp-colors") +if (not status) then return end + +colors.setup { + Error = "#db4b4b", + Warning = "#e0af68", + Information = "#0db9d7", + Hint = "#10B981" +} diff --git a/lua/user/lsp.lua b/lua/user/lsp.lua new file mode 100644 index 0000000..5d422a3 --- /dev/null +++ b/lua/user/lsp.lua @@ -0,0 +1,584 @@ + +local fn = vim.fn +local keymap = vim.keymap + +local utils = require("user.utils") + +local custom_attach = function(client, bufnr) + -- Enable completion triggered by + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.noremap = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end +--map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location +--map("n", "gp", "Lspsaga peek_definition") +-- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) + map("n", "", vim.lsp.buf.definition) +-- map("n", "K", vim.lsp.buf.hover) +-- map("n", "", vim.lsp.buf.signature_help) +-- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) +-- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) +-- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) +-- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) + map("n", "q", function() + vim.diagnostic.setqflist({ open = true }) + end, { desc = "put diagnostic to qf" }) +-- --map.('n', 'q', vim.diagnostic.setloclist) +-- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) +-- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) +-- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) +-- map("n", "wl", function() +-- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) +-- end, { desc = "list workspace folder" }) +-- map("n", "gs", "vim.lsp.buf.document_symbol()") +-- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) +-- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") +-- map("n", "gt", ":lua vim.lsp.buf.type_definition()") +-- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. +-- map("n", "gi", ":lua vim.lsp.buf.implementation()") + map("n", "go", ":lua vim.diagnostic.open_float()") +-- map("n", "gk", "Lspsaga diagnostic_jump_prev") +-- map("n", "gj", "Lspsaga diagnostic_jump_next") +--vim.api.nvim_set_keymap('n', 'dd', 'lua vim.diagnostic.setloclist()', { noremap = true, silent = true }) +vim.g.diagnostics_visible = true +function _G.toggle_diagnostics() + if vim.g.diagnostics_visible then + vim.g.diagnostics_visible = false + vim.diagnostic.disable() + else + vim.g.diagnostics_visible = true + vim.diagnostic.enable() + end +end +map('n', 'm', ':call v:lua.toggle_diagnostics()') +--vim.g.diagnostics_active = true +--function _G.toggle_diagnostics() +-- if vim.g.diagnostics_active then +-- vim.g.diagnostics_active = false +-- vim.lsp.diagnostic.clear(0) +-- vim.cmd([[exe "normal ii\x"]]) +-- vim.lsp.handlers["textDocument/publishDiagnostics"] = function() end +-- else +-- vim.g.diagnostics_active = true +-- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( +-- vim.lsp.diagnostic.on_publish_diagnostics, { +-- virtual_text = true, +-- signs = true, +-- underline = true, +-- update_in_insert = false, +-- } +-- ) +-- end +--end +-- +--map("n", "i", ":call v:lua.toggle_diagnostics()") + + + -- Set some key bindings conditional on server capabilities + if client.server_capabilities.documentFormattingProvider then + map("n", "f", vim.lsp.buf.format, { desc = "format code" }) + end + + -- add rust specific keymappings + if client.name == "rust_analyzer" then + map("n", "rr", "RustRunnables") + map("n", "ra", "RustHoverAction") + end + +--For diagnostics for specific cursor position +--vim.api.nvim_create_autocmd("CursorHold", { +-- buffer = bufnr, +-- callback = function() +-- local opts = { +-- focusable = false, +-- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, +-- border = 'rounded', +-- source = 'always', +-- prefix = ' ', +-- scope = 'cursor', +-- } +-- vim.diagnostic.open_float(nil, opts) +-- end +--}) + -- Diagnostic position +-- vim.api.nvim_create_autocmd("CursorHold", { +-- buffer = bufnr, +-- callback = function() +-- local float_opts = { +-- focusable = false, +-- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, +-- border = "rounded", +-- source = "always", -- show source in diagnostic popup window +-- prefix = " ", +-- } +-- +-- if not vim.b.diagnostics_pos then +-- vim.b.diagnostics_pos = { nil, nil } +-- end +-- +-- local cursor_pos = vim.api.nvim_win_get_cursor(0) +-- if +-- (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) +-- and #vim.diagnostic.get() > 0 +-- then +-- vim.diagnostic.open_float(nil, float_opts) +-- end +-- +-- vim.b.diagnostics_pos = cursor_pos +-- end, +-- }) + + -- The below command will highlight the current variable and its usages in the buffer. + if client.server_capabilities.documentHighlightProvider then + vim.cmd([[ + hi! link LspReferenceRead Visual + hi! link LspReferenceText Visual + hi! link LspReferenceWrite Visual + augroup lsp_document_highlight + autocmd! * + autocmd CursorHold lua vim.lsp.buf.document_highlight() + autocmd CursorMoved lua vim.lsp.buf.clear_references() + augroup END + ]]) + end + + if vim.g.logging_level == "debug" then + local msg = string.format("Language server %s started!", client.name) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) + end +end + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) +capabilities.textDocument.completion.completionItem.snippetSupport = true +capabilities.offsetEncoding = { "utf-16" } + +local lspconfig = require("lspconfig") + +if utils.executable("pylsp") then + lspconfig.pylsp.setup({ + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + }) +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup({ + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + }) +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup({ + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + }) +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup({ + on_attach = custom_attach, + capabilities = capabilities, + }) +end + +if utils.executable("lua-language-server") then + lspconfig.sumneko_lua.setup({ + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + }) +end + + +if utils.executable("rust-language-server") then +require("lspconfig").rust_analyzer.setup{ + cmd = { "rustup", "run", "nightly", "rust-analyzer" }, + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + --[[ + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + } + --]] +} +end + +--vim.diagnostic.config({ +-- virtual_text = false, +-- underline = true, +--}) +vim.diagnostic.config({ + underline = false, + signs = true, + virtual_text = false, + float = { + show_header = true, + source = 'if_many', + border = 'rounded', + focusable = false, + }, + update_in_insert = false, -- default to false + severity_sort = false, -- default to false +}) +-- Show line diagnostics automatically in hover window +--vim.o.updatetime = 250 +--vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] +--vim.cmd ([[ noremap a :autocmd! CursorHold,CursorHoldI ]]) + +--vim.cmd [[ noremap a :autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] +--local diagnostics_active = true +--local toggle_diagnostics = function() +-- diagnostics_active = not diagnostics_active +-- if diagnostics_active then +-- vim.o.updatetime = 250 +-- vim.cmd ([[autocmd! CursorHold,CursorHoldI ]]) +-- --vim.diagnostic.open_float(nil, {focus=false}) +-- else +-- vim.o.updatetime = 250 +-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] +-- --vim.diagnostic.hide() +-- --vim.diagnostic.disable() +-- end +--end +--vim.keymap.set("n", "a", toggle_diagnostics) + +--function LspDiagnosticsFocus() +-- vim.api.nvim_command('set eventignore=WinLeave') +-- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') +-- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) +--end +--vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) + --vim.o.updatetime = 250 + +-- vim.o.updatetime = 250 +----vim.o.updatetime = 250 +----vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] +----local diagnostics_active = true +--local toggle_diagnostics = function() +-- --diagnostics_active = not diagnostics_active +-- --if diagnostics_active then +-- --if vim.diagnostic.open_float() == true then +-- if vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] +--, true) then +-- vim.api.nvim_exec([[autocmd! CursorHold,CursorHoldI ]] +--, true) +-- else +-- vim.o.updatetime = 250 +-- vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]], true) +-- end +--end +--vim.keymap.set("n", "a", toggle_diagnostics) +-- +--vim.api.nvim_create_autocmd('CursorHold', { +-- vim.diagnostic.open_float(nil, {focus=false}) +-- +--}) + +vim.o.updatetime = 250 +vim.cmd[[ +augroup OpenFloat + autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) + +augroup END +]] +vim.cmd([[ +function! ToggleDiagnosticsOpenFloat() + " Switch the toggle variable + let g:DiagnosticsOpenFloat = !get(g:, 'DiagnosticsOpenFloat', 1) + + " Reset group + augroup OpenFloat + autocmd! + augroup END + + " Enable if toggled on + if g:DiagnosticsOpenFloat + augroup OpenFloat + autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled . . .") + augroup END + endif +endfunction +nnoremap a :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." +]]) + +--vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( +-- vim.lsp.handlers.hover, { +-- signs = true, +-- underline = false, +-- virtual_text = false, +-- show_diagnostic_autocmds = {'InsertLeave', 'TextChanged'}, +-- diagnostic_delay = 500 +-- }) +--vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float(0, {scope="cursor", close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}})]] + +--function LspDiagnosticsFocus() +-- vim.api.nvim_command('set eventignore=WinLeave') +-- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') +-- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) +--end +--vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) + +--local diagnostics_active = true +--map('n', 'a', function() +-- diagnostics_active = not diagnostics_active +-- if diagnostics_active then +-- vim.diagnostic.show() +-- else +-- vim.diagnostic.hide() +-- end +--end) + +-- Global config for diagnostic +--vim.diagnostic.config({ +-- underline = false, +-- virtual_text = false, +-- signs = true, +-- severity_sort = true, +-- float = { +-- focusable = true, -- +-- style = "minimal", -- +-- --border = "rounded", +-- border = "shadow", +-- source = "always", +-- header = "", +-- prefix = "", +-- }, +--}) + +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + underline = true, + virtual_text = false, + signs = true, + update_in_insert = false, +}) + +--vim.lsp.buf.definition +vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +--vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) + +--local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } +--local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } +local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end + + +---- Location information about the last message printed. The format is +---- `(did print, buffer number, line number)`. +--local last_echo = { false, -1, -1 } +-- +---- The timer used for displaying a diagnostic in the commandline. +--local echo_timer = nil +-- +---- The timer after which to display a diagnostic in the commandline. +--local echo_timeout = 250 +-- +---- The highlight group to use for warning messages. +--local warning_hlgroup = 'WarningMsg' +-- +---- The highlight group to use for error messages. +--local error_hlgroup = 'ErrorMsg' +-- +---- If the first diagnostic line has fewer than this many characters, also add +---- the second line to it. +--local short_line_limit = 20 +-- +---- Shows the current line's diagnostics in a floating window. +--function show_line_diagnostics() +-- vim +-- .lsp +-- .diagnostic +-- .show_line_diagnostics({ severity_limit = 'Warning' }, vim.fn.bufnr('')) +--end +-- +---- Prints the first diagnostic for the current line. +--function echo_diagnostic() +-- if echo_timer then +-- echo_timer:stop() +-- end +-- +-- echo_timer = vim.defer_fn( +-- function() +-- local line = vim.fn.line('.') - 1 +-- local bufnr = vim.api.nvim_win_get_buf(0) +-- +-- if last_echo[1] and last_echo[2] == bufnr and last_echo[3] == line then +-- return +-- end +-- +-- local diags = vim +-- .lsp +-- .diagnostic +-- .get_line_diagnostics(bufnr, line, { severity_limit = 'Warning' }) +-- +-- if #diags == 0 then +-- -- If we previously echo'd a message, clear it out by echoing an empty +-- -- message. +-- if last_echo[1] then +-- last_echo = { false, -1, -1 } +-- +-- vim.api.nvim_command('echo ""') +-- end +-- +-- return +-- end +-- +-- last_echo = { true, bufnr, line } +-- +-- local diag = diags[1] +-- local width = vim.api.nvim_get_option('columns') - 15 +-- local lines = vim.split(diag.message, "\n") +-- local message = lines[1] +-- local trimmed = false +-- +-- if #lines > 1 and #message <= short_line_limit then +-- message = message .. ' ' .. lines[2] +-- end +-- +-- if width > 0 and #message >= width then +-- message = message:sub(1, width) .. '...' +-- end +-- +-- local kind = 'warning' +-- local hlgroup = warning_hlgroup +-- +-- if diag.severity == vim.lsp.protocol.DiagnosticSeverity.Error then +-- kind = 'error' +-- hlgroup = error_hlgroup +-- end +-- +-- local chunks = { +-- { kind .. ': ', hlgroup }, +-- { message } +-- } +-- +-- vim.api.nvim_echo(chunks, false, {}) +-- end, +-- echo_timeout +-- ) +--end +--vim.cmd([[ +-- autocmd CursorMoved * :lua echo_diagnostic() +--]]) +-- Highlight line number instead of having icons in sign column + +-- See the properties of the signs with sign list. + +--vim.cmd [[ +-- highlight! DiagnosticLineNrError guibg=#51202A guifg=#FF0000 gui=bold +-- highlight! DiagnosticLineNrWarn guibg=#51412A guifg=#FFA500 gui=bold +-- highlight! DiagnosticLineNrInfo guibg=#1E535D guifg=#00FFFF gui=bold +-- highlight! DiagnosticLineNrHint guibg=#1E205D guifg=#0000FF gui=bold +-- +-- sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl=DiagnosticLineNrError +-- sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl=DiagnosticLineNrWarn +-- sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl=DiagnosticLineNrInfo +-- sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl=DiagnosticLineNrHint +--]] + +-- Highlight symbol under cursor + +-- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. + +--if client.resolved_capabilities.document_highlight then +-- vim.cmd [[ +-- hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow +-- hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow +-- hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow +-- ]] +-- vim.api.nvim_create_augroup('lsp_document_highlight', { +-- clear = false +-- }) +-- vim.api.nvim_clear_autocmds({ +-- buffer = bufnr, +-- group = 'lsp_document_highlight', +-- }) +-- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { +-- group = 'lsp_document_highlight', +-- buffer = bufnr, +-- callback = vim.lsp.buf.document_highlight, +-- }) +-- vim.api.nvim_create_autocmd('CursorMoved', { +-- group = 'lsp_document_highlight', +-- buffer = bufnr, +-- callback = vim.lsp.buf.clear_references, +-- }) +--end + diff --git a/lua/user/lspkind.lua b/lua/user/lspkind.lua new file mode 100644 index 0000000..72ca5c2 --- /dev/null +++ b/lua/user/lspkind.lua @@ -0,0 +1,47 @@ +local status, lspkind = pcall(require, "lspkind") +if (not status) then return end + +lspkind.init({ + -- enables text annotations + -- + -- default: true + mode = 'symbol', + + -- default symbol map + -- can be either 'default' (requires nerd-fonts font) or + -- 'codicons' for codicon preset (requires vscode-codicons font) + -- + -- default: 'default' + preset = 'codicons', + + -- override preset symbols + -- + -- default: {} + symbol_map = { + Text = "", + Method = "", + Function = "", + Constructor = "", + Field = "ﰠ", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "塞", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "פּ", + Event = "", + Operator = "", + TypeParameter = "" + }, +}) diff --git a/lua/user/lspsaga.lua b/lua/user/lspsaga.lua new file mode 100644 index 0000000..0bf1ec7 --- /dev/null +++ b/lua/user/lspsaga.lua @@ -0,0 +1,145 @@ +require "lspsaga".init_lsp_saga { + -- "single" | "double" | "rounded" | "bold" | "plus" + border_style = "rounded", + --border_style = "single", + saga_winblend = 30, + move_in_saga = { next = '', prev = '' }, + --move_in_saga = { prev = "k", next = "j" }, + scroll_in_preview = { + scroll_down = "", + scroll_up = "", + }, + diagnostic_header = { " ", " ", " ", " " }, + -- add bracket or something with diagnostic source, just have 2 elements + -- use emoji lightbulb in default + code_action_icon = "", + --code_action_icon = "ﯦ ", + -- if true can press number to execute the codeaction in codeaction window + code_action_num_shortcut = true, + -- same as nvim-lightbulb but async + code_action_lightbulb = { + enable = false, + sign = false, + sign_priority = 20, -- + virtual_text = false, + }, + finder_icons = { + def = " ", + ref = " ", + link = " ", + }, + -- preview lines of lsp_finder and definition preview + max_preview_lines = 5, + definition_action_keys = { + edit = '', + vsplit = '', + split = '', + tabe = '', + quit = '', + }, + -- definition_preview_quit = '', + -- finder_preview_hl_ns = 8, + finder_action_keys = { + open = { 'o', '' }, + vsplit = "v", + split = "s", + tabe = "t", + quit = "", + scroll_down = "", + scroll_up = "", -- quit can be a table + }, + code_action_keys = { + quit = "", + exec = "", + }, + rename_action_quit = "", + rename_in_select = true, + symbol_in_winbar = { + enable = true, + --in_custom = false, + in_custom = true, + separator = '  ', + --show_file = false, + show_file = true, + click_support = false, + --click_support = false, + }, + --show_outline = { + -- win_position = 'right', + -- --set special filetype win that outline window split.like NvimTree neotree + -- -- defx, db_ui + -- min_with = '', + -- win_width = 40, + -- auto_enter = false, + -- auto_preview = true, + -- virt_text = 'x', + -- jump_key = 'l', + -- -- auto refresh when change buffer + -- auto_refresh = true, + --}, + custom_kind = { + File = { " " }, + Module = { " " }, + Namespace = { "ﱕ " }, + Package = { " " }, + Class = { "ﴯ " }, + Method = { "" }, + Property = { "ﰠ " }, + Field = { "ﰠ " }, + Constructor = { " " }, + Enum = { " " }, + Interface = { " " }, + Function = { " " }, + Variable = { " " }, + Constant = { " " }, + String = { " " }, + Number = { " " }, + Boolean = { " " }, + Array = { " " }, + Object = { " " }, + Key = { "- " }, + Null = { " " }, + EnumMember = { " " }, + Struct = { " " }, + Event = { " " }, + Operator = { " " }, + TypeParameter = { " " }, + TypeAlias = { " " }, + Parameter = { " " }, + StaticMethod = { " " }, + Macro = { "廓" }, + }, +} + + -- Mappings. +local map = vim.api.nvim_set_keymap +local opts = { noremap = true, silent = true } + +map("n", "gd", "Lspsaga peek_definition", opts) +--map("n", "gp", "Lspsaga peek_definition", opts) +map("n", "gi", "Lspsaga lsp_finder", opts) +map("n", "gh", "Lspsaga hover_doc", opts) +map("n", "gs", "Lspsaga signature_help", opts) +map("n", "ga", "Lspsaga code_action", opts) +map("v", "ga", "Lspsaga range_code_action", opts) +map("n", "gl", "Lspsaga show_line_diagnostics", opts) +--map("n", "go", "Lspsaga open_floaterm zsh", opts) +map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) +map("n", "", "Lspsaga rename", opts) +map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) +map("n", "gj", "Lspsaga diagnostic_jump_next", opts) +map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) +map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) +map("t", "", "Lspsaga close_floaterm", opts) + +--vim.api.nvim_command("highlight LspFloatWinNormal guibg=none ") +--hi LspFloatWinNormal guibg=none + + +-- vim.api.nvim_create_autocmd("BufEnter", { +-- callback = function () +-- if #vim.api.nvim_list_wins() == 1 and vim.bo.filetype == "lspsagaoutline" then +-- vim.cmd "quit" +-- end +-- end +-- }) diff --git a/lua/user/lualine.lua b/lua/user/lualine.lua new file mode 100644 index 0000000..9d86e21 --- /dev/null +++ b/lua/user/lualine.lua @@ -0,0 +1,423 @@ +local lualine_status_ok, lualine = pcall(require, "lualine") +if not lualine_status_ok then + print("lualine.nvim is etiher broken or is not installed.") + return +end + +--local colors = require('tokyonight.colors').setup() +--local colors = { +--bg_dark = "#1f2335", +--bg = "#24283b", +--fg = "#c0caf5", +--fg_gutter = "#3b4261", +--green = "#a6e3a1", +--red = "#f38ba8", +--} + +--local colors = { +-- gray = '#23232e', +-- lightgray = '#5f6a8e', +-- orange = '#ffb86c', +-- purple = '#bd93f9', +-- red = '#ff5555', +-- yellow = '#f1fa8c', +-- green = '#50fa7b', +-- white = '#f8f8f2', +-- black = '#282a36', +--} +local colors = { + nobg = nil, + blue = "#87b0f9", + mauve = "#cba6f7", + red = "#f38ba8", + green = "#a6e3a1", + peach = "#fab387", + white = "#c6d0f5", + gray = "#a1a8c9", + black = "#1e1e2e", + innerbg = nil, + outerbg = "#16161D", +} +--require("lualine").setup({ +-- Your lua part of config goes here +require("lualine").setup({ + options = { + icons_enabled = true, + --theme = "auto", + theme = require("plugins.linecolor").theme(), + --theme = { + -- We are going to use lualine_c an lualine_x as left and + -- right section. Both are highlighte by c theme . So we + -- are just setting default looks o statusline + --normal = { c = { fg = colors.fg, bg = colors.bg } }, + --inactive = { c = { fg = colors.fg, bg = colors.bg } }, + --}, + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + --component_separators = { left = '|', right = '|'}, + --section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = true, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + }, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { + "branch", + { + "diff", + colored = true, + diff_color = { + added = "DiffAdd", + modified = "DiffChange", + removed = "DiffDelete", + }, + }, + { + "diagnostics", + + sources = { "nvim_lsp" }, + sections = { "error", "warn", "info" }, + + diagnostics_color = { + error = "DiagnosticError", + warn = "DiagnosticWarn", + info = "DiagnosticInfo", + }, + colored = true, + update_in_insert = false, + always_visible = false, + }, + }, + --lualine_b = { "branch", "diff", "diagnostics" }, + lualine_c = { + --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, + --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, + --{ "filetype", + -- icon_only = true, + --}, + { + "filename", + --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, + --component_separators = {left = "", right = ""}, + }, + }, + lualine_x = { "encoding", "fileformat", "filetype" }, + --lualine_x = { + -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + --}, + lualine_y = { "progress" }, + lualine_z = { "location" }, + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = { "location" }, + lualine_y = {}, + lualine_z = {}, + }, + -- tabline = {}, + tabline = { + --lualine_a = { "mode" }, + --lualine_a = {custom_fname}, + lualine_a = { + { + "buffers", + show_filename_only = false, + show_modified_status = true, + mode = 4, + buffers_color = { + active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer + --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer + --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer + --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer + ----color = function() + ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } + ----end, + }, + symbols = { + modified = " ●", -- Text to show when the buffer is modified + alternate_file = "", -- Text to show to identify the alternate file + --directory = "", -- Text to show when the buffer is a directory + }, + max_length = vim.o.columns * 5 / 6, + --{{function() + -- local bg = 'hi! lualine_buffers_color' -- not modified + -- if vim.bo.modified then bg = '#c70039' -- unsaved + -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly + -- vim.cmd('hi! lualine_buffers_color guibg='..bg) + --end, + --color = 'hi! lualine_buffers_color', + --}}, + }, + }, + lualine_b = {}, + lualine_c = {}, + lualine_x = {}, + lualine_y = {}, + lualine_z = {}, + --lualine_z = { "tabs" }, + }, + --tabline = { + -- lualine_a = { "mode" }, + -- lualine_b = { "buffers" }, + -- lualine_c = { "branch" }, + -- --lualine_c = { "branch", "diff", "diagnostics" }, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = { "tabs" }, + --}, + --winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {'filename'}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + --inactive_winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + winbar = {}, + inactive_winbar = {}, + --extensions = {}, + extensions = { "quickfix" }, +}) +--require("lualine").statusline() +--require("lualine").tabline() +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local lualine_status_ok, lualine = pcall(require, "lualine") +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local utils = require("heirline.utils") + +--local M = {} + +-- stylua: ignore start +--M.colours = {--{{{ +---- Color table for highlights +---- stylua: ignore +--local colors = { +-- bg = '#2E3440', +-- fg = '#E5E9F0', +-- yellow = '#EBCB8B', +-- cyan = '#88C0D0', +-- darkblue = '#5E81AC', +-- green = '#A3BE8C', +-- orange = '#D08770', +-- violet = '#B48EAD', +-- magenta = '#B48EAD', +-- blue = '#81A1C1', +-- red = '#BF616A', +--} +-- +--local conditions = { +-- buffer_not_empty = function() +-- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 +-- end, +-- hide_in_width = function() +-- return vim.fn.winwidth(0) > 80 +-- end, +-- check_git_workspace = function() +-- local filepath = vim.fn.expand("%:p:h") +-- local gitdir = vim.fn.finddir(".git", filepath .. ";") +-- return gitdir and #gitdir > 0 and #gitdir < #filepath +-- end, +--} + +-- Config +--local config = { +--require('lualine').setup { +-- options = { +-- -- Disable sections and component separators +-- component_separators = "", +-- section_separators = "", +-- theme = { +-- -- We are going to use lualine_c an lualine_x as left and +-- -- right section. Both are highlighte by c theme . So we +-- -- are just setting default looks o statusline +-- normal = { c = { fg = colors.fg, bg = colors.bg } }, +-- inactive = { c = { fg = colors.fg, bg = colors.bg } }, +-- }, +-- disabled_filetypes = { "NvimTree" }, +-- }, +-- sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- -- These will be filled later +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +-- inactive_sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +--} +-- +---- Inserts a component in lualine_c at left section +--local function ins_left(component) +-- table.insert(lualine.sections.lualine_c, component) +--end +-- +---- Inserts a component in lualine_x ot right section +--local function ins_right(component) +-- table.insert(lualine.sections.lualine_x, component) +--end +-- +--ins_left({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, -- Sets highlighting of component +-- padding = { left = 0, right = 1 }, -- We don't need space before this +--}) +-- +--ins_left({ +-- -- mode component +-- function() +-- return "" +-- end, +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- -- mode component +-- "mode", +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.red, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- "branch", +-- icon = "", +-- color = { fg = colors.violet, gui = "bold" }, +--}) +-- +--ins_left({ +-- "filename", +-- cond = conditions.buffer_not_empty, +-- color = { fg = colors.aqua, gui = "bold" }, +--}) +-- +--ins_left({ +-- -- filesize component +-- "filesize", +-- cond = conditions.buffer_not_empty, +--}) +-- +---- Add components to right sections +--ins_right({ +-- "o:encoding", -- option component same as &encoding in viml +-- fmt = string.lower, -- I'm not sure why it's upper case either ;) +-- cond = conditions.hide_in_width, +-- color = { fg = colors.yellow }, +--}) +-- +--ins_right({ +-- "fileformat", +-- fmt = string.upper, +-- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh +-- color = { fg = colors.fg, gui = "bold" }, +--}) +-- +--ins_right({ +-- "filetype", +--}) +-- +--ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) +-- +--ins_right({ +-- "location", +--}) +-- +--ins_right({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, +-- padding = { left = 1 }, +--}) +--return M +-- Now don't forget to initialize lualine +--require("lualine").setup(config) +--require"lualine".setup(config) +--lualine.setup(config) diff --git a/lua/user/luasnip.lua b/lua/user/luasnip.lua new file mode 100644 index 0000000..12352e8 --- /dev/null +++ b/lua/user/luasnip.lua @@ -0,0 +1,80 @@ +if vim.g.snippets ~= "luasnip" or not pcall(require, "luasnip") then + return +end +--local luasnip = require("luasnip") +local ls = require "luasnip" -- +local types = require "luasnip.util.types" -- +local options = { + history = true, + updateevents = "TextChanged,TextChangedI", + -- Autosnippets: + enable_autosnippets = true, -- + ext_opts = { -- + [types.choiceNode] = { -- + active = { -- + virt_text = { { " « ", "NonTest" } }, -- + }, -- + }, -- + }, -- +} +-- is my expansion key +-- this will expand the current item or jump to the next item within the snippet. +vim.keymap.set({ "i", "s" }, "", function() + if ls.expand_or_jumpable() then + ls.expand_or_jump() + end +end, { silent = true }) + +-- is my jump backwards key. +-- this always moves to the previous item within the snippet +vim.keymap.set({ "i", "s" }, "", function() + if ls.jumpable(-1) then + ls.jump(-1) + end +end, { silent = true }) + +-- is selecting within a list of options. +-- This is useful for choice nodes (introduced in the forthcoming episode 2) +vim.keymap.set("i", "", function() + if ls.choice_active() then + ls.change_choice(1) + end +end) + +vim.keymap.set("i", "", require "luasnip.extras.select_choice") + +-- shorcut to source my luasnips file again, which will reload my snippets +vim.keymap.set("n", "s", "source ~/.config/nvim/lua/plugins/luasnip.lua") + +-- ls.parser.parse_snippet(, ) +ls.snippets = { + all = { + -- Available in any filetype + ls.parser.parse_snippet("expand", "-- this is what was expanded!"), + }, + lua = { + -- Lua specific snippets go here. + }, +} + + + + +--luasnip.config.set_config(options) +--require("luasnip.loaders.from_vscode").lazy_load() +--require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.luasnippets_path or "" } +-- +--vim.api.nvim_create_autocmd("InsertLeave", { +-- callback = function() +-- if +-- require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()] +-- and not require("luasnip").session.jump_active +-- then +-- require("luasnip").unlink_current() +-- end +-- end, +--}) + + + + diff --git a/lua/user/mason.lua b/lua/user/mason.lua new file mode 100644 index 0000000..69c61ba --- /dev/null +++ b/lua/user/mason.lua @@ -0,0 +1,27 @@ +local status, mason = pcall(require, "mason") +if (not status) then return end +local status2, lspconfig = pcall(require, "mason-lspconfig") +if (not status2) then return end + +mason.setup({ + +}) + +lspconfig.setup { + ensure_installed = { "sumneko_lua" }, +} +local keymap = vim.api.nvim_set_keymap +local opts = { noremap = true } + + +keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) +keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) +keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) +keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) +keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) +keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) +keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) +keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) +keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) diff --git a/lua/user/modify-blend.lua b/lua/user/modify-blend.lua new file mode 100644 index 0000000..7c48815 --- /dev/null +++ b/lua/user/modify-blend.lua @@ -0,0 +1,40 @@ +local ui = vim.api.nvim_list_uis()[1] + +local bufnr = vim.api.nvim_create_buf(false, true) +local win = vim.api.nvim_open_win(bufnr, true, { + relative = "editor", + width = ui.width, + height = ui.height, + row = 10, + col = 10, + style = "minimal", +}) + +vim.api.nvim_win_set_option(win, "winblend", 1) + +local blend_start = 15 +local offset = 1 + +CANCEL = false +local timer = vim.loop.new_timer() +timer:start( + 0, + 50, + vim.schedule_wrap(function() + blend_start = blend_start + offset + + if blend_start > 90 then + offset = -1 + elseif blend_start < 10 then + offset = 1 + end + + if CANCEL or not vim.api.nvim_win_is_valid(win) then + timer:close() + timer:stop() + return + end + + vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start)) + end) +) diff --git a/lua/user/mods.lua b/lua/user/mods.lua new file mode 100644 index 0000000..ec77173 --- /dev/null +++ b/lua/user/mods.lua @@ -0,0 +1,138 @@ +--vim.cmd([[ +-- function RandomColorScheme() +-- let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") +-- exe 'so ' . mycolors[localtime() % len(mycolors)] +-- unlet mycolors +-- endfunction +-- +-- call RandomColorScheme() +-- +-- :command NewColor call RandomColorScheme() +--]]) + +--vim.cmd([[ +-- function RandomColorSchemeMyPicks() +-- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"] +-- let mypick = mypicks[localtime() % len(mypicks)] +-- echom mypick +-- execute 'colo' mypick +-- endfunction +-- +-- command NewColor call RandomColorSchemeMyPicks() +-- +-- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors) +-- if (s:use_gui) +-- call RandomColorSchemeMyPicks() +-- endif +--]]) + +vim.cmd([[ + let g:fzf_history_dir = '~/.local/share/fzf-history' + map z :FZF + map a :Files + map l :Lines + map L :BLines + map B :Buffers + map h :History: + nnoremap g :Rg + "nnoremap t :Tags + nnoremap m :Marks + " This is the default extra key bindings + let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-y': 'vsplit' } + let g:fzf_tags_command = 'ctags -R' + " Border color + let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } + let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' + let $FZF_DEFAULT_COMMAND="rg --files --hidden" + " Customize fzf colors to match your color scheme + let g:fzf_colors = + \ { 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Comment'], + \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': ['fg', 'Statement'], + \ 'info': ['fg', 'PreProc'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'Conditional'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'] } + " Get Files + command! -bang -nargs=? -complete=dir Files + \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) + " Get text in files with Rg + command! -bang -nargs=* Rg + \ call fzf#vim#grep( + \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, + \ fzf#vim#with_preview(), 0) + " Ripgrep advanced + function! RipgrepFzf(query, fullscreen) + let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' + let initial_command = printf(command_fmt, shellescape(a:query)) + let reload_command = printf(command_fmt, '{q}') + let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} + call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) + endfunction + command! -nargs=* -bang RG call RipgrepFzf(, 0) + " Git grep + command! -bang -nargs=* GGrep + \ call fzf#vim#grep( + \ 'git grep --line-number '.shellescape(), 0, + \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) + command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) +]]) + +vim.cmd([[ + " Enable mouse scrollback + set mouse=a + tnoremap + tnoremap + function! ClearTerminal() + set scrollback=1 + let &g:scrollback=1 + echo &scrollback + call feedkeys("\i") + call feedkeys("clear\") + call feedkeys("\\") + call feedkeys("\i") + sleep 100m + let &scrollback=s:scroll_value + endfunction +]]) + +vim.cmd([[ + " :Rename {newname} + function! RenameFile() + let old_name = expand('%') + let new_name = input('New file name: ', expand('%'), 'file') + if new_name != '' && new_name != old_name + exec ':saveas ' . new_name + exec ':silent !rm ' . old_name + redraw! + endif + endfunction + map re :call RenameFile() +]]) + +--vim.cmd([[ +-- " Markdown Settings +-- autocmd BufNewFile,BufReadPost *.md set filetype=markdown +-- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug'] +-- let g:markdown_minlines = 100 +-- let g:instant_markdown_autostart = 0 +--]]) +-- +--vim.cmd([[ +-- " On The Fly Table mode +-- function! s:isAtStartOfLine(mapping) +-- let text_before_cursor = getline('.')[0 : col('.')-1] +-- let mapping_pattern = '\V' . escape(a:mapping, '\') +-- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\') +-- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$') +-- endfunction +--]]) diff --git a/lua/user/neoscroll.lua b/lua/user/neoscroll.lua new file mode 100644 index 0000000..d122584 --- /dev/null +++ b/lua/user/neoscroll.lua @@ -0,0 +1,21 @@ +require("neoscroll").setup({ + easing_function = "quadratic", +}) + +local t = {} +-- Syntax: t[keys] = {function, {function arguments}} +-- Use the "sine" easing function +t[""] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } } +t[""] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } } +-- Use the "circular" easing function +t[""] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +t[""] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +-- Pass "nil" to disable the easing animation (constant scrolling speed) +t[""] = { "scroll", { "-0.10", "false", "100", nil } } +t[""] = { "scroll", { "0.10", "false", "100", nil } } +-- When no easing function is provided the default easing function (in this case "quadratic") will be used +t["zt"] = { "zt", { "10" } } +t["zz"] = { "zz", { "10" } } +t["zb"] = { "zb", { "10" } } + +require("neoscroll.config").set_mappings(t) diff --git a/lua/user/null-ls.lua b/lua/user/null-ls.lua new file mode 100644 index 0000000..7fc4377 --- /dev/null +++ b/lua/user/null-ls.lua @@ -0,0 +1,26 @@ +local null_ls_status_ok, null_ls = pcall(require, "null-ls") +if not null_ls_status_ok then + return +end + +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting +local formatting = null_ls.builtins.formatting +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics +local diagnostics = null_ls.builtins.diagnostics + +--null_ls.setup({ +-- debug = false, +-- sources = { +-- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), +-- formatting.black.with({ extra_args = { "--fast" } }), +-- formatting.stylua, +-- -- diagnostics.flake8 +-- }, +--}) +require("null-ls").setup({ + sources = { + require("null-ls").builtins.formatting.stylua, + require("null-ls").builtins.diagnostics.eslint, + require("null-ls").builtins.completion.spell, + }, +}) diff --git a/lua/user/nvim-tree.lua b/lua/user/nvim-tree.lua new file mode 100644 index 0000000..74030cb --- /dev/null +++ b/lua/user/nvim-tree.lua @@ -0,0 +1,68 @@ +local status_ok, nvim_tree = pcall(require, "nvim-tree") +if not status_ok then + return +end + +local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") +if not config_status_ok then + return +end + +local tree_cb = nvim_tree_config.nvim_tree_callback + +nvim_tree.setup({ + update_focused_file = { + enable = true, + update_cwd = true, + }, + renderer = { + root_folder_modifier = ":t", + icons = { + glyphs = { + default = "", + symlink = "", + folder = { + arrow_open = "", + arrow_closed = "", + default = "", + open = "", + empty = "", + empty_open = "", + symlink = "", + symlink_open = "", + }, + git = { + unstaged = "", + staged = "S", + unmerged = "", + renamed = "➜", + untracked = "U", + deleted = "", + ignored = "◌", + }, + }, + }, + }, + diagnostics = { + enable = true, + show_on_dirs = true, + icons = { + hint = "", + info = "", + warning = "", + error = "", + }, + }, + view = { + width = 30, + --height = 30, + side = "left", + mappings = { + list = { + { key = { "l", "", "o" }, cb = tree_cb("edit") }, + { key = "h", cb = tree_cb("close_node") }, + { key = "v", cb = tree_cb("vsplit") }, + }, + }, + }, +}) diff --git a/lua/user/opts.lua b/lua/user/opts.lua new file mode 100644 index 0000000..51b3628 --- /dev/null +++ b/lua/user/opts.lua @@ -0,0 +1,181 @@ +--[[ opts.lua ]] + +vim.cmd([[ + "filetype plugin indent on " Load indent files, to automatically do language-dependent indenting. + "autocmd BufEnter * :syntax sync fromstart + "syntax enable + let g:clipbrdDefaultReg = '+' + "set nocompatible + "autocmd FileType lua set comments=s1:---,m:--,ex:-- +]]) + +-- Environment +vim.opt.shell = "zsh" -- +vim.scriptencoding = "utf-8" -- +vim.opt.encoding = "utf-8" -- +vim.opt.fileencoding = "utf-8" -- +vim.g.python3_host_prog = "/usr/bin/python3" -- +vim.g.loaded_python3_provider = 1 -- +vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file +--vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" -- + +vim.opt.termguicolors = true +-- Behaviour +vim.opt.clipboard:append({ "unnamedplus" }) -- +vim.opt.backspace = { "start", "eol", "indent" } -- Make backspace work as you would expect. +vim.opt.hidden = true -- Switch between buffers without having to save first. +vim.opt.splitbelow = true -- make split put the new buffer below the current buffer +vim.opt.splitright = true -- make vsplit put the new buffer on the right of the current buffer +vim.opt.scrolloff = 8 -- +vim.opt.sidescrolloff = 8 -- how many lines to scroll when using the scrollbar +vim.opt.autoread = true -- reload files if changed externally +vim.opt.display = "lastline" -- Show as much as possible of the last line. +vim.opt.inccommand = "split" -- +vim.opt.ttyfast = true -- Faster redrawing. +vim.opt.lazyredraw = true -- Only redraw when necessary +vim.opt.keywordprg = ":help" -- :help options +vim.opt.ruler = true -- +vim.opt.errorbells = false -- +vim.opt.list = true -- Show non-printable characters. +vim.opt.showmatch = true -- +vim.opt.matchtime = 3 -- +vim.opt.showbreak = "↪ " -- +vim.opt.linebreak = true -- +vim.opt.exrc = true -- +--vim.opt.autochdir = true -- or use this to use <:e> to create a file in current directory +vim.opt.autoread = true -- if a file is changed outside of vim, automatically reload it without asking +--vim.opt.notimeout = true -- Timeout on keycodes and not mappings +vim.opt.ttimeout = true -- Makes terminal vim work sanely +vim.opt.ttimeoutlen = 10 -- +--vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds) +--vim.cmd([[set diffopt = vertical = true]]) -- diffs are shown side-by-side not above/below + +-- Indent/tab +vim.opt.breakindent = true -- +vim.opt.autoindent = true -- Indent according to previous line. +vim.opt.smarttab = false -- +vim.opt.tabstop = 2 -- +vim.opt.expandtab = true -- Indent according to previous line. +--vim.opt.expandtab = true -- Use spaces instead of tabs. +vim.opt.softtabstop = 2 -- Tab key indents by 2 spaces. +vim.opt.shiftwidth = 2 -- >> indents by 2 spaces. +vim.opt.shiftround = true -- >> indents to next multiple of 'shiftwidth'. +vim.opt.smartindent = true -- smart indent + +-- Column/statusline/Cl +vim.opt.number = true -- +--vim.opt.title = true -- +--vim.opt.colorcolumn = "+1" -- +--vim.opt.signcolumn = "yes:1" -- always show the sign column +vim.opt.signcolumn = "number" +--vim.opt.signcolumn = "no" -- +vim.opt.laststatus = 3 -- " Always show statusline. +vim.opt.showmode = true -- Show current mode in command-line, example: -- INSERT -- mode +vim.opt.showcmd = true -- Show the command in the status bar +vim.opt.cmdheight = 1 -- +--vim.opt.cmdheight = 0 -- +vim.opt.report = 0 -- Always report changed lines. +--local autocmd = vim.api.nvim_create_autocmd +--autocmd("bufenter", { +-- pattern = "*", +-- callback = function() +-- if vim.bo.ft ~= "terminal" then +-- vim.opt.statusline = "%!v:lua.require'ui.statusline'.run()" +-- else +-- vim.opt.statusline = "%#normal# " +-- end +-- end, +--}) + +-- Backup/undo +vim.opt.backup = false -- +--vim.opt.noswapfile = true -- +--vim.opt.undofile = true -- +vim.opt.backupskip = { "/tmp/*", "/private/tmp/*" } -- + +-- Format +vim.opt.textwidth = 80 -- +vim.cmd([[let &t_Cs = "\e[4:3m"]]) -- Undercurl +vim.cmd([[let &t_Ce = "\e[4:0m"]]) -- +vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder +vim.cmd("set whichwrap+=<,>,[,],h,l") -- +vim.cmd([[set iskeyword+=-]]) -- +vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work +vim.opt.wrapscan = true -- " Searches wrap around end-of-file. +--vim.wo.number = true -- +--vim.opt.wrap = false -- No Wrap lines +--vim.opt.foldmethod = 'manual' -- +--vim.opt.foldmethod = "expr" -- +vim.opt.modeline = true -- +vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis) +--vim.opt.nofoldenable = true -- turn folding off +vim.opt.foldenable = false -- turn folding off + +-- Highlights +vim.opt.incsearch = true -- Highlight while searching with / or ?. +vim.opt.hlsearch = true -- Keep matches highlighted. +vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital in search +vim.opt.smartcase = true -- smart case +vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. +vim.opt.winblend = 30 +--vim.opt.winblend = 5 +vim.opt.wildoptions = "pum" -- +vim.opt.pumblend = 5 -- +--vim.opt.pumblend=15 +vim.opt.pumheight = 10 -- pop up menu height + +-- Better Completion +vim.opt.complete = { ".", "w", "b", "u", "t" } -- +--vim.opt.completeopt = { "longest,menuone,preview" } -- +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} +--vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp +--vim.opt.completeopt = { "menu", "menuone", "noselect" } -- + +-- Wildmenu completion -- +vim.opt.wildmenu = true -- +vim.opt.wildmode = { "list:longest" } -- +vim.opt.wildignore:append({ ".hg", ".git", ".svn" }) -- Version control +vim.opt.wildignore:append({ "*.aux", "*.out", "*.toc" }) -- LaTeX intermediate files +vim.opt.wildignore:append({ "*.jpg", "*.bmp", "*.gif", "*.png", "*.jpeg" }) -- binary images +vim.opt.wildignore:append({ "*.o", "*.obj", "*.exe", "*.dll", "*.manifest" }) -- compiled object files +vim.opt.wildignore:append({ "*.spl" }) -- compiled spelling word lists +vim.opt.wildignore:append({ "*.sw?" }) -- Vim swap files +vim.opt.wildignore:append({ "*.DS_Store" }) -- OSX bullshit +vim.opt.wildignore:append({ "*.luac" }) -- Lua byte code +vim.opt.wildignore:append({ "migrations" }) -- Django migrations +vim.opt.wildignore:append({ "*.pyc" }) -- Python byte code +vim.opt.wildignore:append({ "*.orig" }) -- Merge resolution files +vim.opt.wildignore:append({ "*/node_modules/*" }) -- + +-- Cursorline +vim.cmd([[ " Only show cursorline in the current window and in normal mode + augroup cline + au! + au WinLeave,InsertEnter * set nocursorline + au WinEnter,InsertLeave * set cursorline + augroup END +]]) +vim.opt.cursorline = true -- +vim.opt.guicursor = "i:ver100,r:hor100" -- + +-- Trailing whitespace +vim.cmd([[ " Only show in insert mode + augroup trailing + au! + au InsertEnter * :set listchars-=trail:⌴ + au InsertLeave * :set listchars+=trail:⌴ + augroup END +]]) +vim.opt.listchars = { tab = "▸ ", trail = "·" } -- +vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer + +-- Line Return +vim.cmd([[ " Return to the same line when we reopen a file + augroup line_return + au! + au BufReadPost * + \ if line("'\"") > 0 && line("'\"") <= line("$") | + \ execute 'normal! g`"zvzz' | + \ endif + augroup END +]]) diff --git a/lua/user/pack.lua b/lua/user/pack.lua new file mode 100644 index 0000000..8df4216 --- /dev/null +++ b/lua/user/pack.lua @@ -0,0 +1,360 @@ +local fn = vim.fn + +-- Automatically install packer +local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" +if fn.empty(fn.glob(install_path)) > 0 then + PACKER_BOOTSTRAP = fn.system({ + "git", + "clone", + "--depth", + "1", + "https://github.com/wbthomason/packer.nvim", + install_path, + }) + print("Installing packer close and reopen Neovim...") + vim.cmd([[packadd packer.nvim]]) +end + +-- Autocommand that reloads neovim whenever you save the plugins.lua file +vim.cmd([[ + augroup packer_user_config + autocmd! + autocmd BufWritePost pack.lua source | PackerSync + augroup end +]]) + +-- Use a protected call so we don't error out on first use +local status_ok, packer = pcall(require, "packer") +if not status_ok then + return +end + +-- Have packer use a popup window +packer.init({ + auto_reload_compiled = true, + display = { + open_fn = function() + return require("packer.util").float({ border = "rounded" }) + end, + }, +}) + +-- Install your plugins here +return packer.startup(function(use) + use("wbthomason/packer.nvim") -- Have packer manage itself + + use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins + --use("jose-elias-alvarez/null-ls.nvim") + + -- lsp + use { + "williamboman/mason.nvim", + "williamboman/mason-lspconfig.nvim", + "neovim/nvim-lspconfig", + } + require("mason").setup() + local mason_lspconfig = require("mason-lspconfig") + mason_lspconfig.setup({ + ensure_installed = { + "pylsp", + "pyright", + "clangd", + --"vim-language-server", + --"bash-language-server", + --"lua-language-server", + "sumneko_lua", + } + }) + use({ "j-hui/fidget.nvim", + config = function() + require("fidget").setup() + end + }) + --use({ "folke/trouble.nvim", + -- config = function() + -- require("trouble").setup({ position = "right", }) + -- end + --}) + --use({ + --"folke/trouble.nvim", + --requires = "kyazdani42/nvim-web-devicons", + --config = function() + -- require("trouble").setup({ + -- postion = "top", + -- -- your configuration comes here + -- -- or leave it empty to use the default settings + -- -- refer to the configuration section below + -- }) + --end, + --}) + + --use({ + -- "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim + -- config = function() + -- require("lsp_lines").setup() + + -- -- disable virtual_text since it's redundant due to lsp_lines. + -- vim.diagnostic.config({ + -- virtual_text = false, + -- }) + -- end, + --}) + use { "simrat39/symbols-outline.nvim", + config = function() + require("symbols-outline").setup({ + auto_close = true, + }) + end + } + use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } + --use("folke/lsp-colors.nvim") + use "mfussenegger/nvim-lint" + use "weilbith/nvim-code-action-menu" + use "simrat39/rust-tools.nvim" + use { "saecki/crates.nvim", + requires = { "nvim-lua/plenary.nvim" }, + config = function() + require("crates").setup() + end, + } + --use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't + + -- null-ls + use({ "jose-elias-alvarez/null-ls.nvim", + config = function() + require("null-ls").setup({ + sources = { + require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake + } + }) + end + }) + use({ + "SmiteshP/nvim-navic", + requires = "neovim/nvim-lspconfig", + }) + + -- nvimlsp plugins + --use({ + -- "williamboman/mason.nvim", + -- config = function() + -- require("mason").setup() + -- require("mason-lspconfig").setup({ + -- ensure_installed = { "sumneko_lua", "clangd", "rust_analyzer" }, + -- }) + -- end, + --}) + --use("williamboman/mason.nvim") + --use("williamboman/mason-lspconfig.nvim") + --use("neovim/nvim-lspconfig") + --use("williamboman/nvim-lsp-installer") + --use("glepnir/lspsaga.nvim") + --use("nvim-lua/lsp-status.nvim") + --use({ + -- "glepnir/lspsaga.nvim", + -- branch = "main", + -- config = function() + -- local saga = require("lspsaga") + + -- saga.init_lsp_saga({ + -- -- your configuration + -- }) + -- end, + --}) + -- use("nvim-lua/popup.nvim") + --use("SmiteshP/nvim-gps") + -- autocomplete plugins + use("hrsh7th/nvim-cmp") + use("hrsh7th/cmp-nvim-lsp") + use("hrsh7th/cmp-buffer") + use("hrsh7th/cmp-path") + use("petertriho/cmp-git") + use("hrsh7th/cmp-cmdline") + use("onsails/lspkind-nvim") + use("saadparwaiz1/cmp_luasnip") + + -- snippets + use("L3MON4D3/LuaSnip") --snippet engine + use("rafamadriz/friendly-snippets") -- a bunch of snippets to use + --use("github/copilot.vim") + --use({ + --"zbirenbaum/copilot.lua", + --event = { "VimEnter" }, + --config = function() + --vim.defer_fn(function() + --require("plugins.copilot") + --end, 100) + --end, + --}) + --use({ + --"zbirenbaum/copilot-cmp", + --module = "copilot_cmp", + --}) + + -- treesitter plugins + use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) --folding, jumping, refactoring... + use("nvim-treesitter/nvim-treesitter-refactor") + use("nvim-treesitter/nvim-treesitter-context") + --use({ + -- "danymat/neogen", + -- config = function() + -- require("neogen").setup({ snippet_engine = "luasnip" }) + -- end, + -- requires = "nvim-treesitter/nvim-treesitter", + --}) + use({ "junegunn/fzf", run = ":call fzf#install()" }) + -- telescope plugins + use("nvim-telescope/telescope.nvim") + use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) + use("tami5/sqlite.lua") + use("nvim-telescope/telescope-frecency.nvim") + use("nvim-telescope/telescope-ui-select.nvim") + use("nvim-telescope/telescope-media-files.nvim") + use("nvim-telescope/telescope-file-browser.nvim") + -- search emoji and other symbols + use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) + -- statusline plugins + --use("nvim-lualine/lualine.nvim") + --use({ + -- "nvim-lualine/lualine.nvim", + -- requires = { "kyazdani42/nvim-web-devicons", opt = true }, + --}) + --use({ + -- "folke/trouble.nvim", + -- requires = "kyazdani42/nvim-web-devicons", + -- config = function() + -- require("trouble").setup({ + -- -- your configuration comes here + -- -- or leave it empty to use the default settings + -- -- refer to the configuration section below + -- }) + -- end, + --}) + use("rebelot/heirline.nvim") + --use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" }) + --use("itchyny/lightline.vim") + -- debug plugins + --use("puremourning/vimspector") + use("mfussenegger/nvim-dap") + use("rcarriga/nvim-dap-ui") + --use({ + -- "rcarriga/neotest", + -- requires = { + -- "nvim-lua/plenary.nvim", + -- "nvim-treesitter/nvim-treesitter", + -- "antoinemadec/FixCursorHold.nvim", + -- "rcarriga/neotest-python", + -- "rcarriga/neotest-vim-test", + -- "rcarriga/neotest-plenary", + -- "vim-test/vim-test", + -- }, + -- config = function() + -- require("plugins.neotest") + -- end, + --}) + --use("vim-test/vim-test") + --use({ + -- "rcarriga/vim-ultest", + -- requires = { "vim-test/vim-test" }, + -- run = ":UpdateRemotePlugins", + -- config = function() + -- require("plugins.ultest") + -- end, + --}) + -- UI + use("karb94/neoscroll.nvim") + use("folke/which-key.nvim") + use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client + use("norcalli/nvim-colorizer.lua") + use("folke/zen-mode.nvim") + use("romainl/vim-cool") + --use("p00f/nvim-ts-rainbow") + --use("goolord/alpha-nvim") + --use("feline-nvim/feline.nvim") + --use({ "fgheng/winbar.nvim" }) + --use("vim-airline/vim-airline") + --use("kdheepak/tabline.nvim") + -- use({ + -- "kdheepak/tabline.nvim", + -- config = function() + -- require("tabline").setup({ enable = false }) + -- end, + -- requires = { "hoob3rt/lualine.nvim", "kyazdani42/nvim-web-devicons" }, + -- notification plugin + use("rcarriga/nvim-notify") + --use("lukas-reineke/indent-blankline.nvim") + use("kyazdani42/nvim-web-devicons") + -- Colorschemes + use("gruvbox-community/gruvbox") + use("srcery-colors/srcery-vim") + use("tomasr/molokai") + use("ayu-theme/ayu-vim") + --use("sjl/badwolf") + use("joshdick/onedark.vim") + use("everblush/everblush.nvim") + use("EdenEast/nightfox.nvim") + use("bluz71/vim-nightfly-guicolors") + --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" }) + use("jacoborus/tender.vim") + use("sainnhe/sonokai") + use("NTBBloodbath/doom-one.nvim") + + -- Utilities + use("nathom/filetype.nvim") + use("christoomey/vim-tmux-navigator") + --use("preservim/vimux") + use("myusuf3/numbers.vim") + use("windwp/nvim-autopairs") + use("lewis6991/gitsigns.nvim") + use("dinhhuy258/git.nvim") -- For git blame & browse + use("kyazdani42/nvim-tree.lua") + use("numToStr/Comment.nvim") + use("akinsho/toggleterm.nvim") + --use("godlygeek/tabular") + --use("Vonr/align.nvim") + --use("junegunn/vim-easy-align") + --use("dstein64/vim-startuptime") + use("tweekmonster/startuptime.vim") + use("lewis6991/impatient.nvim") + -- use("luukvbaal/stabilize.nvim") + --use({ + -- "ggandor/leap.nvim", + -- config = function() + -- require("leap").set_default_keymaps() + -- end, + --}) + --use("Shatur/neovim-session-manager") + --use("rmagatti/auto-session") + --use("rmagatti/session-lens") + --use("ahmedkhalf/project.nvim") + --use("aserowy/tmux.nvim") + --use("wakatime/vim-wakatime") + --use("tpope/vim-eunuch") + -- Handy unix command inside Vim (Rename, Move etc.) + use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) + --use("tpope/vim-fugitive") + --use("tpope/vim-surround") + --use("tpope/vim-obsession") + --use("tpope/vim-unimpaired") + --use("voldikss/vim-floaterm") + --use("vimpostor/vim-tpipeline") + --use({ + -- "vimwiki/vimwiki", + -- config = function() + -- vim.g.vimwiki_list = { + -- { + -- path = "~/", + -- syntax = "markdown", + -- ext = ".md", + -- }, + -- } + -- vim.g.vimwiki_ext2syntax = { + -- [".md"] = "markdown", + -- [".markdown"] = "markdown", + -- [".mdown"] = "markdown", + -- Automatically set up your configuration after cloning packer.nvim + -- Put this at the end after all plugins + if PACKER_BOOTSTRAP then + require("packer").sync() + end +end) diff --git a/lua/user/prettier.lua b/lua/user/prettier.lua new file mode 100644 index 0000000..05d4665 --- /dev/null +++ b/lua/user/prettier.lua @@ -0,0 +1,19 @@ +local status, prettier = pcall(require, "prettier") +if (not status) then return end + +prettier.setup { + bin = 'prettierd', + filetypes = { + "c", + "lua", + "vim", + --"css", + --"javascript", + --"javascriptreact", + --"typescript", + --"typescriptreact", + --"json", + --"scss", + "less" + } +} diff --git a/lua/user/reload.lua b/lua/user/reload.lua new file mode 100644 index 0000000..ecf5dd0 --- /dev/null +++ b/lua/user/reload.lua @@ -0,0 +1,50 @@ +--function _G.ReloadConfig() +-- for name,_ in pairs(package.loaded) do +-- if name:match('^lua') and not name:match('nvim-tree') then +-- package.loaded[name] = nil +-- end +-- end +-- +-- dofile(vim.env.MYVIMRC) +-- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) +--end +function _G.ReloadConfig() + --dofile(vim.env.MYVIMRC) + -- dofile(vim.fn.stdpath('config') .. '/init.lua') + --dofile(vim.fn.stdpath('user') .. '/init.lua') + require("plenary.reload").reload_module("user", true) + --dofile("/home/sxrdusr/.config/nvim/lua/user/keys.lua") + --dofile("/home/sxrdusr/.config/nvim/lua/user/mods.lua") + --dofile("/home/sxrdusr/.config/nvim/lua/user/opts.lua") + --dofile("/home/sxrdusr/.config/nvim/lua/user/pack.lua") + --dofile("/home/sxrdusr/.config/nvim/lua/user/utils.lua") + vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) +end +--P = function(v) +-- print(vim.inspect(v)) +-- return v +--end +-- +--if pcall(require, "plenary") then +-- RELOAD = require("plenary.reload").reload_module +-- +-- R = function(name) +-- RELOAD(name) +-- return require(name) +-- end +--end +-- r = reload vimrc + + +local M = {} + +M['unload_lua_namespace'] = function(prefix) + local prefix_with_dot = prefix .. '.' + for key, value in pairs(package.loaded) do + if key == prefix or key:sub(1, #prefix_with_dot) == prefix_with_dot then + package.loaded[key] = nil + end + end +end + +return M diff --git a/lua/user/scripts/lsp-ext.lua b/lua/user/scripts/lsp-ext.lua new file mode 100644 index 0000000..c4378c6 --- /dev/null +++ b/lua/user/scripts/lsp-ext.lua @@ -0,0 +1,48 @@ +-- +-- lsp-ext.lua + + +M = {} + +function M.preview_location(location, context, before_context) + -- location may be LocationLink or Location (more useful for the former) + context = context or 15 + before_context = before_context or 0 + local uri = location.targetUri or location.uri + if uri == nil then + return + end + local bufnr = vim.uri_to_bufnr(uri) + if not vim.api.nvim_buf_is_loaded(bufnr) then + vim.fn.bufload(bufnr) + end + local range = location.targetRange or location.range + local contents = + vim.api.nvim_buf_get_lines(bufnr, range.start.line - before_context, range["end"].line + 1 + context, false) + local filetype = vim.api.nvim_buf_get_option(bufnr, "filetype") + return vim.lsp.util.open_floating_preview(contents, filetype) +end + +function M.preview_location_callback(_, method, result) + local context = 15 + if result == nil or vim.tbl_isempty(result) then + print("No location found: " .. method) + return nil + end + if vim.tbl_islist(result) then + M.floating_buf, M.floating_win = M.preview_location(result[1], context) + else + M.floating_buf, M.floating_win = M.preview_location(result, context) + end +end + +function M.peek_definition() + if vim.tbl_contains(vim.api.nvim_list_wins(), M.floating_win) then + vim.api.nvim_set_current_win(M.floating_win) + else + local params = vim.lsp.util.make_position_params() + return vim.lsp.buf_request(0, "textDocument/definition", params, M.preview_location_callback) + end +end + +return M diff --git a/lua/user/scripts/setcolors.lua b/lua/user/scripts/setcolors.lua new file mode 100644 index 0000000..605bc84 --- /dev/null +++ b/lua/user/scripts/setcolors.lua @@ -0,0 +1,121 @@ +vim.cmd([[ +" Change the color scheme from a list of color scheme names. +" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341 +" Press key: +" F8 next scheme +" Shift-F8 previous scheme +" Alt-F8 random scheme +" Set the list of color schemes used by the above (default is 'all'): +" :SetColors all (all $VIMRUNTIME/colors/*.vim) +" :SetColors my (names built into script) +" :SetColors blue ayu ron (these schemes) +" :SetColors (display current scheme names) +" Set the current color scheme based on time of day: +" :SetColors now +if v:version < 700 || exists('loaded_setcolors') || &cp + finish +endif + +let loaded_setcolors = 1 +let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color + +" Set list of color scheme names that we will use, except +" argument 'now' actually changes the current color scheme. +function! s:SetColors(args) + if len(a:args) == 0 + echo 'Current color scheme names:' + let i = 0 + while i < len(s:mycolors) + echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)')) + let i += 5 + endwhile + elseif a:args == 'all' + let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n") + let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")'))) + echo 'List of colors set from all installed color schemes' + elseif a:args == 'my' + let c1 = 'default srcery everblush' + let c2 = 'gruvbox onedark' + let c3 = 'ayu molokai' + let s:mycolors = split(c1.' '.c2.' '.c3) + echo 'List of colors set from built-in names' + elseif a:args == 'now' + call s:HourColor() + else + let s:mycolors = split(a:args) + echo 'List of colors set from argument (space-separated names)' + endif +endfunction + +command! -nargs=* SetColors call s:SetColors('') + +" Set next/previous/random (how = 1/-1/0) color from our list of colors. +" The 'random' index is actually set from the current time in seconds. +" Global (no 's:') so can easily call from command line. +function! NextColor(how) + call s:NextColor(a:how, 1) +endfunction + +" Helper function for NextColor(), allows echoing of the color name to be +" disabled. +function! s:NextColor(how, echo_color) + if len(s:mycolors) == 0 + call s:SetColors('all') + endif + if exists('g:colors_name') + let current = index(s:mycolors, g:colors_name) + else + let current = -1 + endif + let missing = [] + let how = a:how + for i in range(len(s:mycolors)) + if how == 0 + let current = localtime() % len(s:mycolors) + let how = 1 " in case random color does not exist + else + let current += how + if !(0 <= current && current < len(s:mycolors)) + let current = (how>0 ? 0 : len(s:mycolors)-1) + endif + endif + try + execute 'colorscheme '.s:mycolors[current] + break + catch /E185:/ + call add(missing, s:mycolors[current]) + endtry + endfor + redraw + if len(missing) > 0 + echo 'Error: colorscheme not found:' join(missing) + endif + if (a:echo_color) + echo g:colors_name + endif +endfunction + +nnoremap cn :call NextColor(1) +nnoremap cp :call NextColor(-1) +nnoremap cc :call NextColor(0) + +" Set color scheme according to current time of day. +function! s:HourColor() + let hr = str2nr(strftime('%H')) + if hr <= 3 + let i = 0 + elseif hr <= 7 + let i = 1 + elseif hr <= 14 + let i = 2 + elseif hr <= 18 + let i = 3 + else + let i = 4 + endif + let nowcolors = 'srcery onedark molokai' + execute 'colorscheme '.split(nowcolors)[i] + redraw + echo g:colors_name +endfunction +]]) diff --git a/lua/user/scripts/toggleLsp.lua b/lua/user/scripts/toggleLsp.lua new file mode 100644 index 0000000..28af698 --- /dev/null +++ b/lua/user/scripts/toggleLsp.lua @@ -0,0 +1,40 @@ +local M = {} + +local check_function = function(bufnr, _) + local ok, result = pcall(vim.api.nvim_buf_get_var, bufnr, 'lsp_enabled') + -- No buffer local variable set, so just enable by default + if not ok then + return true + end + + return result +end + +vim.lsp.handlers["textDocument/publishDiagnostics"] = + vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + underline = check_function, + virtual_text = check_function, + signs = check_function + }) + +function M.Enable() + vim.b.lsp_enabled = true +end + +function M.Disable() + vim.b.lsp_enabled = false +end + +function M.Toggle() + if vim.b.lsp_enabled == false then + M.Enable() + else + M.Disable() + end +end + +vim.cmd [[ + command! -nargs=* ToggleLsp lua require'lsp.toggle'.Toggle() +]] + +return M diff --git a/lua/user/tabline.lua b/lua/user/tabline.lua new file mode 100644 index 0000000..4e1c506 --- /dev/null +++ b/lua/user/tabline.lua @@ -0,0 +1,22 @@ +require("tabline").setup({ + -- Defaults configuration options + enable = true, + options = { + -- If lualine is installed tabline will use separators configured in lualine by default. + -- These options can be used to override those settings. + section_separators = { "", "" }, + component_separators = { "", "" }, + max_bufferline_percent = 66, -- set to nil by default, and it uses vim.o.columns * 2/3 + show_tabs_always = true, -- this shows tabs only when there are more than one tab or if the first tab is named + show_devicons = true, -- this shows devicons in buffer section + show_bufnr = true, -- this appends [bufnr] to buffer section, + show_filename_only = false, -- shows base filename only instead of relative path in filename + modified_icon = "+", -- change the default modified icon + modified_italic = true, -- set to true by default; this determines whether the filename turns italic if modified + show_tabs_only = false, -- this shows only tabs instead of tabs + buffers + }, +}) +vim.cmd([[ + set guioptions-=e " Use showtabline in gui vim + set sessionoptions+=tabpages,globals " store tabpages and globals in session +]]) diff --git a/lua/user/telescope.lua b/lua/user/telescope.lua new file mode 100644 index 0000000..db065d7 --- /dev/null +++ b/lua/user/telescope.lua @@ -0,0 +1,223 @@ +local status_ok, telescope = pcall(require, "telescope") +if not status_ok then + return +end +local actions = require("telescope.actions") +local builtin = require("telescope.builtin") + +local function telescope_buffer_dir() + return vim.fn.expand("%:p:h") +end + +telescope.load_extension("fzf") +telescope.load_extension("file_browser") +require("telescope").load_extension("file_browser") +local fb_actions = require("telescope").extensions.file_browser.actions +--telescope.load_extension('media_files') + +telescope.setup({ + defaults = { + -- + prompt_prefix = " ", + selection_caret = " ", + path_display = { "smart" }, + -- + mappings = { + i = { + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.close, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + [""] = actions.complete_tag, + [""] = actions.which_key, -- keys from pressing + }, + + n = { + [""] = actions.close, + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + + ["j"] = actions.move_selection_next, + ["k"] = actions.move_selection_previous, + ["H"] = actions.move_to_top, + ["M"] = actions.move_to_middle, + ["L"] = actions.move_to_bottom, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + ["gg"] = actions.move_to_top, + ["G"] = actions.move_to_bottom, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + ["?"] = actions.which_key, + ["cd"] = function(prompt_bufnr) + local selection = require("telescope.actions.state").get_selected_entry() + local dir = vim.fn.fnamemodify(selection.path, ":p:h") + require("telescope.actions").close(prompt_bufnr) + -- Depending on what you want put `cd`, `lcd`, `tcd` + vim.cmd(string.format("silent lcd %s", dir)) + end, + }, + }, + }, + pickers = { + -- Default configuration for builtin pickers goes here: + -- picker_name = { + -- picker_config_key = value, + -- ... + -- } + -- Now the picker_config_key will be applied every time you call this + -- builtin picker + }, + extensions = { + file_browser = { + theme = "dropdown", + -- disables netrw and use telescope-file-browser in its place + hijack_netrw = true, + mappings = { + -- your custom insert mode mappings + ["i"] = { + [""] = function() + vim.cmd("normal vbd") + end, + }, + ["n"] = { + -- your custom normal mode mappings + ["N"] = fb_actions.create, + ["h"] = fb_actions.goto_parent_dir, + ["/"] = function() + vim.cmd("startinsert") + end, + }, + }, + }, + + media_files = { + -- filetypes whitelist + -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} + filetypes = { "png", "webp", "jpg", "jpeg" }, + find_cmd = "rg", -- find command (defaults to `fd`) + }, + -- Your extension configuration goes here: + -- extension_name = { + -- extension_config_key = value, + -- } + -- please take a look at the readme of the extension you want to configure + }, +}) + +telescope.load_extension("file_browser") + +--vim.keymap.set("n", ";f", function() +-- builtin.find_files({ +-- no_ignore = false, +-- hidden = true, +-- }) +--end) +vim.keymap.set("n", ";r", function() + builtin.live_grep() +end) +vim.keymap.set("n", "\\\\", function() + builtin.buffers() +end) +vim.keymap.set("n", ";t", function() + builtin.help_tags() +end) +vim.keymap.set("n", ";;", function() + builtin.resume() +end) +vim.keymap.set("n", ";e", function() + builtin.diagnostics() +end) +--vim.keymap.set("n", "sf", function() +-- telescope.extensions.file_browser.file_browser({ +-- path = "%:p:h", +-- cwd = telescope_buffer_dir(), +-- respect_gitignore = false, +-- hidden = true, +-- grouped = true, +-- previewer = false, +-- initial_mode = "normal", +-- layout_config = { height = 40 }, +-- }) +--end) + +local M = {} + +function M.reload() + local function get_module_name(s) + local module_name; + + module_name = s:gsub("%.lua", "") + module_name = module_name:gsub("%/", ".") + module_name = module_name:gsub("%.init", "") + + return module_name + end + + local prompt_title = "~ neovim modules ~" + + -- sets the path to the lua folder + local path = "~/.config/nvim/lua" + + local opts = { + prompt_title = prompt_title, + cwd = path, + + attach_mappings = function(_, map) + -- Adds a new map to ctrl+e. + map("i", "", function(_) + -- these two a very self-explanatory + local entry = require("telescope.actions.state").get_selected_entry() + local name = get_module_name(entry.value) + + -- call the helper method to reload the module + -- and give some feedback + R(name) + P(name .. " RELOADED!!!") + end) + + return true + end + } + + -- call the builtin method to list files + require('telescope.builtin').find_files(opts) +end + +return M; + diff --git a/lua/user/toggleterm.lua b/lua/user/toggleterm.lua new file mode 100644 index 0000000..912729a --- /dev/null +++ b/lua/user/toggleterm.lua @@ -0,0 +1,90 @@ +local status_ok, toggleterm = pcall(require, "toggleterm") +if not status_ok then + return +end + +toggleterm.setup({ + size = function(term) + if term.direction == "horizontal" then + return 12 + elseif term.direction == "vertical" then + return vim.o.columns * 0.3 + end + end, + --size = 20, + open_mapping = [[to]], + hide_numbers = true, + shade_filetypes = {}, + shade_terminals = false, + shading_factor = 1, + start_in_insert = true, + insert_mappings = true, + persist_size = true, + direction = "float", + --direction = "vertical", + --direction = "horizontal", + close_on_exit = true, + shell = vim.o.shell, + highlights = { + -- highlights which map to a highlight group name and a table of it's values + -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split + Normal = { + background = "#000000", + }, + }, + float_opts = { + width = 70, + height = 15, + winblend = 3, + border = "curved", + --winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, +}) + +function _G.set_terminal_keymaps() + local opts = { noremap = true } + --local opts = {buffer = 0} + vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) +end + +vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") + +local Terminal = require("toggleterm.terminal").Terminal +local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + +function _LAZYGIT_TOGGLE() + lazygit:toggle() +end + +local node = Terminal:new({ cmd = "node", hidden = true }) + +function _NODE_TOGGLE() + node:toggle() +end + +local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) + +function _NCDU_TOGGLE() + ncdu:toggle() +end + +local htop = Terminal:new({ cmd = "htop", hidden = true }) + +function _HTOP_TOGGLE() + htop:toggle() +end + +local python = Terminal:new({ cmd = "python", hidden = true }) + +function _PYTHON_TOGGLE() + python:toggle() +end diff --git a/lua/user/treesitter.lua b/lua/user/treesitter.lua new file mode 100644 index 0000000..b081ca3 --- /dev/null +++ b/lua/user/treesitter.lua @@ -0,0 +1,34 @@ +local status, treesitter = pcall(require, "nvim-treesitter.configs") +if (not status) then return end + +treesitter.setup { + highlight = { + enable = true, + disable = {}, + }, + indent = { + enable = true, + disable = {}, + --disable = { "python", "css" } + }, + ensure_installed = { + "c", + "bash", + "lua", + "rust", + }, + --ensure_installed = "all", -- one of "all" or a list of languages + --ignore_install = { "" }, -- List of parsers to ignore installing + autotag = { + enable = true, + }, + efactor = { + highlight_definitions = { enable = true }, + highlight_current_scope = { enable = true } + } +} +--vim.opt.foldmethod = "expr" +--vim.opt.foldexpr = "nvim_treesitter#foldexpr()" + +--local parser_config = require "nvim-treesitter.parsers".get_parser_configs() +--parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" } diff --git a/lua/user/utils.lua b/lua/user/utils.lua new file mode 100644 index 0000000..ab1473f --- /dev/null +++ b/lua/user/utils.lua @@ -0,0 +1,66 @@ +local fn = vim.fn + +local M = {} + +function M.executable(name) + if fn.executable(name) > 0 then + return true + end + + return false +end + +--- check whether a feature exists in Nvim +--- @feat: string +--- the feature name, like `nvim-0.7` or `unix`. +--- return: bool +M.has = function(feat) + if fn.has(feat) == 1 then + return true + end + + return false +end + +--- Create a dir if it does not exist +function M.may_create_dir(dir) + local res = fn.isdirectory(dir) + + if res == 0 then + fn.mkdir(dir, "p") + end +end + +function M.get_nvim_version() + local actual_ver = vim.version() + + local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch) + return nvim_ver_str +end + +--- Generate random integers in the range [Low, High], inclusive, +--- adapted from https://stackoverflow.com/a/12739441/6064933 +--- @low: the lower value for this range +--- @high: the upper value for this range +function M.rand_int(low, high) + -- Use lua to generate random int, see also: https://stackoverflow.com/a/20157671/6064933 + math.randomseed(os.time()) + + return math.random(low, high) +end + +--- Select a random element from a sequence/list. +--- @seq: the sequence to choose an element +function M.rand_element(seq) + local idx = M.rand_int(1, #seq) + + return seq[idx] +end + +function M.add_pack(name) + local status, error = pcall(vim.cmd, "packadd " .. name) + + return status +end + +return M diff --git a/lua/user/web-devicons.lua b/lua/user/web-devicons.lua new file mode 100644 index 0000000..b8396bc --- /dev/null +++ b/lua/user/web-devicons.lua @@ -0,0 +1,12 @@ +local status, icons = pcall(require, "nvim-web-devicons") +if (not status) then return end + +icons.setup { + -- your personnal icons can go here (to override) + -- DevIcon will be appended to `name` + override = { + }, + -- globally enable default icons (default to false) + -- will get overriden by `get_icons` option + default = true +} diff --git a/lua/user/winbar.lua b/lua/user/winbar.lua new file mode 100644 index 0000000..1573828 --- /dev/null +++ b/lua/user/winbar.lua @@ -0,0 +1,35 @@ +require("winbar").setup({ + enabled = true, + + show_file_path = true, + show_symbols = true, + + colors = { + path = "", -- You can customize colors like #c946fd + file_name = "", + symbols = "", + }, + + icons = { + file_icon_default = "", + seperator = ">", + editor_state = "●", + lock_icon = "", + }, + + exclude_filetype = { + "help", + "startify", + "dashboard", + "packer", + "neogitstatus", + "NvimTree", + "Trouble", + "alpha", + "lir", + "Outline", + "spectre_panel", + "toggleterm", + "qf", + }, +}) diff --git a/lua/user/zen-mode.lua b/lua/user/zen-mode.lua new file mode 100644 index 0000000..7e52854 --- /dev/null +++ b/lua/user/zen-mode.lua @@ -0,0 +1,7 @@ +local status, zenMode = pcall(require, "zen-mode") +if (not status) then return end + +zenMode.setup { +} + +vim.keymap.set('n', 'o', 'ZenMode', { silent = true }) -- cgit v1.2.3 From 97be95d96b96c42dab64dff7018a89baa22384ee Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 19 Oct 2022 23:57:09 +0200 Subject: Made Sourcing lua config easier --- lua/keys.lua | 520 -- lua/mods.lua | 138 - lua/opts.lua | 181 - lua/pack.lua | 359 -- lua/plugins/airline.lua | 9 - lua/plugins/autopairs.lua | 33 - lua/plugins/bufferline.lua | 323 -- lua/plugins/bufferline.lua-202209041657.backup | 322 - lua/plugins/cmp-22.10.14-23:39-bak.lua | 161 - lua/plugins/cmp.lua | 220 - lua/plugins/colorizer.lua | 6 - lua/plugins/colorscheme.lua | 32 - lua/plugins/feline.lua | 726 --- lua/plugins/floaterm.lua | 6 - lua/plugins/fzf.lua | 66 - lua/plugins/git.lua | 11 - lua/plugins/gitsigns.lua | 1 - lua/plugins/heirline.backup.lua | 733 --- lua/plugins/heirline.backup2.lua | 1921 ------ lua/plugins/heirline.lua | 1191 ---- lua/plugins/heirline.lua-202210111610.backup | 1452 ----- lua/plugins/heirlinenew.lua | 1342 ----- lua/plugins/linecolor.lua | 112 - .../lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua | 301 - lua/plugins/lsp-22.10.12-21:29-bak.lua | 301 - lua/plugins/lsp-22.10.14-23:39-bak.lua | 422 -- lua/plugins/lsp-colors.lua | 9 - lua/plugins/lsp.lua | 527 -- lua/plugins/lspOld.lsp | 531 -- lua/plugins/lspconfig.lua | 148 - lua/plugins/lspkind.lua | 47 - lua/plugins/lspsaga-22.10.13-22:51-bak.lua | 61 - lua/plugins/lspsaga.lua | 145 - lua/plugins/lualine.lua | 423 -- lua/plugins/mason.lua | 27 - lua/plugins/neoscroll.lua | 21 - lua/plugins/null-ls.lua | 26 - lua/plugins/nvim-tree.lua | 68 - lua/plugins/prettier.lua | 19 - lua/plugins/tabline.lua | 22 - lua/plugins/telescope.lua | 177 - lua/plugins/toggleterm.lua | 90 - lua/plugins/treesitter.lua | 34 - lua/plugins/web-devicons.lua | 12 - lua/plugins/winbar.lua | 35 - lua/plugins/zen-mode.lua | 7 - lua/scripts/lsp-ext.lua | 48 - lua/scripts/setcolors.lua | 121 - lua/scripts/toggleLsp.lua | 40 - lua/startup.log | 6125 -------------------- lua/utils.lua | 66 - 51 files changed, 19718 deletions(-) delete mode 100644 lua/keys.lua delete mode 100644 lua/mods.lua delete mode 100644 lua/opts.lua delete mode 100644 lua/pack.lua delete mode 100644 lua/plugins/airline.lua delete mode 100644 lua/plugins/autopairs.lua delete mode 100644 lua/plugins/bufferline.lua delete mode 100644 lua/plugins/bufferline.lua-202209041657.backup delete mode 100644 lua/plugins/cmp-22.10.14-23:39-bak.lua delete mode 100644 lua/plugins/cmp.lua delete mode 100644 lua/plugins/colorizer.lua delete mode 100644 lua/plugins/colorscheme.lua delete mode 100644 lua/plugins/feline.lua delete mode 100644 lua/plugins/floaterm.lua delete mode 100644 lua/plugins/fzf.lua delete mode 100644 lua/plugins/git.lua delete mode 100644 lua/plugins/gitsigns.lua delete mode 100644 lua/plugins/heirline.backup.lua delete mode 100644 lua/plugins/heirline.backup2.lua delete mode 100644 lua/plugins/heirline.lua delete mode 100644 lua/plugins/heirline.lua-202210111610.backup delete mode 100644 lua/plugins/heirlinenew.lua delete mode 100644 lua/plugins/linecolor.lua delete mode 100644 lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua delete mode 100644 lua/plugins/lsp-22.10.12-21:29-bak.lua delete mode 100644 lua/plugins/lsp-22.10.14-23:39-bak.lua delete mode 100644 lua/plugins/lsp-colors.lua delete mode 100644 lua/plugins/lsp.lua delete mode 100644 lua/plugins/lspOld.lsp delete mode 100644 lua/plugins/lspconfig.lua delete mode 100644 lua/plugins/lspkind.lua delete mode 100644 lua/plugins/lspsaga-22.10.13-22:51-bak.lua delete mode 100644 lua/plugins/lspsaga.lua delete mode 100644 lua/plugins/lualine.lua delete mode 100644 lua/plugins/mason.lua delete mode 100644 lua/plugins/neoscroll.lua delete mode 100644 lua/plugins/null-ls.lua delete mode 100644 lua/plugins/nvim-tree.lua delete mode 100644 lua/plugins/prettier.lua delete mode 100644 lua/plugins/tabline.lua delete mode 100644 lua/plugins/telescope.lua delete mode 100644 lua/plugins/toggleterm.lua delete mode 100644 lua/plugins/treesitter.lua delete mode 100644 lua/plugins/web-devicons.lua delete mode 100644 lua/plugins/winbar.lua delete mode 100644 lua/plugins/zen-mode.lua delete mode 100644 lua/scripts/lsp-ext.lua delete mode 100644 lua/scripts/setcolors.lua delete mode 100644 lua/scripts/toggleLsp.lua delete mode 100644 lua/startup.log delete mode 100644 lua/utils.lua diff --git a/lua/keys.lua b/lua/keys.lua deleted file mode 100644 index c8f796d..0000000 --- a/lua/keys.lua +++ /dev/null @@ -1,520 +0,0 @@ ---[[ key.lua ]] - --- Shorten function name -local map = vim.api.nvim_set_keymap - -local function new_desc(d) - return { desc = d } -end - -local d = new_desc - -local opts = { noremap = true, silent = true } - -local term_opts = { silent = true } - ---------------- Standard Operations --------------- --- Semi-colon as leader key -vim.g.mapleader = ";" ---vim.g.maplocalleader = ";" - --- "jj" to exit insert-mode -map("i", "jj", "", opts) - --- save quickly ---map("n", ";w", ":w", d("Save buffer")) - ---Easier split navigations, just ctrl-j instead of ctrl-w then j -map("n", "", "", opts) -map("n", "", "", opts) -map("n", "", "", opts) -map("n", "", "", opts) - --- Combine buffers list with buffer name -map("n", "b", ":buffers:buffer", opts) - --- Map buffer next, prev and delete to -map("n", "n", ":bn", opts) -map("n", "p", ":bp", opts) -map("n", "d", ":bd", opts) - --- Disable default completion. -map('i', '', '', opts) -map('i', '', '', opts) - --- Set alt + j/k to switch lines of texts or simply move them -map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) -map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) - -map("n", "", "!clear", opts) -vim.cmd([[ - inoremap - inoremap - inoremap - inoremap -]]) - -vim.cmd([[ - cnoremap - cnoremap - cnoremap - cnoremap -]]) - ---vim.cmd([[ --- cnoremap --- cnoremap --- cnoremap --- cnoremap ---]]) - -vim.cmd([[ - snoremap - snoremap - snoremap - snoremap -]]) - --- move block easily -map("n", "<", "<<", d("Decrease indent")) -map("n", ">", ">>", d("Increase indent")) -map("x", "<", "", ">gv", d("Decrease indent")) - --- Resize Panes -map("n", "+", ":resize +5", opts) -map("n", "-", ":resize -5", opts) -map("n", "<", ":vertical resize +5", opts) -map("n", ">", ":vertical resize -5", opts) -map("n", "=", "=", opts) - --- New tab -map("n", "e", ":tabedit", opts) - --- create tab like window -map("n", "h", ":tabprevious", d("Goto previous tab")) -map("n", "l", ":tabnext", d("Goto next tab")) -map("n", "n", ":tabnew", d("Create a new tab")) - --- Vim TABs -map("n", "1", "1gt", opts) -map("n", "2", "2gt", opts) -map("n", "3", "3gt", opts) -map("n", "4", "4gt", opts) -map("n", "5", "5gt", opts) -map("n", "6", "6gt", opts) -map("n", "7", "7gt", opts) -map("n", "8", "8gt", opts) -map("n", "9", "9gt", opts) -map("n", "0", "10gt", opts) - --- Split window -map("n", "h", ":split", opts) -map("n", "v", ":vsplit", opts) -map("n", "c", "c", opts) - --- Toggle set number -map("n", "$", ":NumbersToggle", opts) -map("n", "%", ":NumbersOnOff", opts) - --- Change mode to executable -map("n", "x", ":!chmod +x %", opts) - --- Paste without replace clipboard -map("v", "p", '"_dP', opts) - --- Paste end of line ---map("n", ",", "$p", opts) -vim.cmd([[ - nmap , $p -]]) - --- Select entire buffer -map("v", "", "ggG", opts) - --- Delete without changing the registers ---map('n', 'x', '"_x', opts) - --- Select all text in current buffer ---map('n', 'a', ':keepjumps normal! ggVG') - --- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in --- visual mode to select text to swap with -map("v", "", "`.``gvP``P", opts) - --- Search and replace -map("v", "sr", 'y:%s/"//gc', opts) ---vnoremap ; :call Get_visual_selection() --- ---function! Get_visual_selection() --- " Why is this not a built-in Vim script function?! --- let [lnum1, col1] = getpos("'<")[1:2] --- let [lnum2, col2] = getpos("'>")[1:2] --- let lines = getline(lnum1, lnum2) --- let lines[-1] = lines[-1][: col2 - (&selection == 'inclusive' ? 1 : 2)] --- let lines[0] = lines[0][col1 - 1:] --- let selection = join(lines,'\n') --- let change = input('Change the selection with: ') --- execute ":%s/".selection."/".change."/g" ---endfunction -vim.cmd([[ -let s:hidden_all = 0 -function! ToggleHiddenAll() - if s:hidden_all == 0 - let s:hidden_all = 1 - set noshowmode - set noruler - set laststatus=0 - set noshowcmd - else - let s:hidden_all = 0 - set showmode - set ruler - set laststatus=2 - set showcmd - endif -endfunction -nnoremap :call ToggleHiddenAll() -]]) - -vim.cmd([[ - map s :up \| saveas! %:p:r-=strftime("%y.%m.%d-%H:%M")-bak.=expand("%:e") \| 3sleep \| e # -]]) - --------------- Telescope -------------- ---Telescope find_files cwd=.. -map("n", "fc", "lua require('telescope.builtin').commands()", opts) -map( - "n", - "ft", - "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))", - opts -) - -map("n", "fg", "lua require('telescope.builtin').live_grep()", opts) -map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()", opts) - - map("n", "fd", "lua require('telescope.builtin').diagnostics()", opts) ---map("n", "fz", ":FZF", opts) ---map("t", [[]], [[]], opts) ---map("n", "ff", ":NvimTreeToggle", {}) -map("n", "f", ":NvimTreeToggle", {}) --- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) --- Find files in config dirs ---key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) ---map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) -map("n", "ft", "lua require('plugins.telescope').file_explorer({})", opts) ---map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) -map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})", opts) --- registers picker -map("n", "r", "lua require('telescope.builtin').registers({})", opts) --- find files including gitignored ---keymap( --- "n", --- "fg", --- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})", opts) --- open available commands & run it -map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})", opts) - --------------- Autopairs -------------- -Toggle_autopairs = function() - local ok, autopairs = pcall(require, "nvim-autopairs") - if ok then - if autopairs.state.disabled then - autopairs.enable() - print("autopairs on") - else - autopairs.disable() - print("autopairs off") - end - else - print("autopairs not available") - end -end -map("n", "ww", ":lua Toggle_autopairs()", term_opts) - --------------- Functions -------------- --- Toggle transparency -vim.cmd([[ - let t:is_transparent = 0 - function! Toggle_transparent_background() - if t:is_transparent == 0 - hi Normal guibg=#111111 ctermbg=black - let t:is_transparent = 1 - else - hi Normal guibg=NONE ctermbg=NONE - let t:is_transparent = 0 - endif - endfunction - nnoremap tb :call Toggle_transparent_background() -]]) ---keymap('n', 'tb', ':Toggle_transparent_background', opts) - --- Toggle zoom -vim.cmd([[ - function! s:ZoomToggle() abort - if exists('t:zoomed') && t:zoomed - execute t:zoom_winrestcmd - let t:zoomed = 0 - else - let t:zoom_winrestcmd = winrestcmd() - resize - vertical resize - let t:zoomed = 1 - endif - endfunction - command! ZoomToggle call s:ZoomToggle() - ]]) -map("n", "z", ":ZoomToggle", opts) --- "Zoom" a split window into a tab and/or close it ---keymap('n', ',', ':tabnew %', opts) ---keymap('n', '.', ':tabclose', opts) - --- Open last closed buffer -vim.cmd([[ - function! OpenLastClosed() - let last_buf = bufname('#') - if empty(last_buf) - echo "No recently closed buffer found" - return - endif - let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ") - if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n') - return - endif - if result ==# 't' - execute 'tabnew' - elseif result ==# 'v' - execute "vsplit" - elseif result ==# 's' - execute "split" - endif - execute 'b ' . last_buf - endfunction - ]]) -map("n", "", ":call OpenLastClosed() ", opts) - --- Tabularize -vim.cmd([[ - vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" - nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" - "nnoremap i mc40A 080lDgelD`cP - "vnoremap ii mc0f-20i`cdt=j -]]) - -vim.cmd([[ - " Start interactive EasyAlign in visual mode (e.g. vipga) - xmap ga (EasyAlign) - " Start interactive EasyAlign for a motion/text object (e.g. gaip) - nmap ga (EasyAlign) - if !exists('g:easy_align_delimiters') - let g:easy_align_delimiters = {} - endif - let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } - nnoremap 21A d21\| - imap a -]]) ---:'<,'>EasyAlign /--/ ---EasyAlign /--/ ---:'<,'>Tabularize /-- - -map("n", ",", ":hide", opts) -map("n", ".", ":unhide", opts) - ---" Clean trailing whitespace ---nnoremap ww mz:%s/\s\+$//:let @/=''`z - --- Save with root permission (not working for now) ---vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) - --- Copy and Paste with and ---keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'', opts) --- Use command :Vb for Visual Block or since is used for Copy ---command! Vb normal! --- Map to save/edit a root permission/read-only file, only works in --- traditional vim and not neovim ---keymap('c', 'w!! %!sudo tee > /dev/null', opts) ---" Copying text to the system clipboard. ---" ---" For some reason Vim no longer wants to talk to the OS X pasteboard through "*. ---" Computers are bullshit. ---function! g:FuckingCopyTheTextPlease() --- let old_z = @z --- normal! gv"zy --- call system('pbcopy', @z) --- let @z = old_z ---endfunction ---noremap p :silent! set paste"*p:set nopaste ---" noremap p mz:r!pbpaste`z ---vnoremap y :call g:FuckingCopyTheTextPlease() - ---" Indent/dedent/autoindent what you just pasted. ---nnoremap > V`]< ---nnoremap > V`]> ---nnoremap =- V`]= - ---" Keep the cursor in place while joining lines ---nnoremap J mzJ`z - ---" Toggle [i]nvisible characters ---nnoremap i :set list! --- ---" Unfuck my screen ---nnoremap U :syntax sync fromstart:redraw! - ---" Ranger ---nnoremap r :silent !ranger %:h:redraw! ---nnoremap R :silent !ranger:redraw! --- ---" Insert Mode Completion {{{ --- ---inoremap ---inoremap ---inoremap ----- Open the current file in the default program (on Mac this should just be just `open`) ---keymap('n', 'x', ':!xdg-open %') - -map("n", "ff", "lua require('telescope.builtin').find_files()", opts) ---keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()", opts) ---keymap('n', 'k', ':nohlsearch') --- ---"This unsets the "last search pattern" register by hitting return -vim.cmd([[ - nnoremap :noh -]]) - ---keymap('n', 'Q', ':bufdo bdelete') --- ----- Allow gf to open non-existent files ---keymap('', 'gf', ':edit ') --- ----- Reselect visual selection after indenting ---keymap('v', '<', '', '>gv') --- ----- Maintain the cursor position when yanking a visual selection ----- http://ddrscott.github.io/blog/2016/yank-without-jank/ ---keymap('v', 'y', 'myy`y') ---keymap('v', 'Y', 'myY`y') ---keymap("n", "", ":q", opts) ---keymap("n", "", ":qa!", opts) - ---" Sort lines ---nnoremap s vip:!sort ---vnoremap s :!sort --- ---" Tabs ---nnoremap ( :tabprev ---nnoremap ) :tabnext --- ---" Wrap ---nnoremap W :set wrap! - ---set foldlevelstart=0 --- ---" Space to toggle folds. ---nnoremap za ---vnoremap za ---" Make zO recursively open whatever fold we're in, even if it's partially open. ---nnoremap zO zczO - --- Packer ---maps.n["pc"] = { "PackerCompile", desc = "Packer Compile" } ---maps.n["pi"] = { "PackerInstall", desc = "Packer Install" } ---maps.n["ps"] = { "PackerSync", desc = "Packer Sync" } ---maps.n["pS"] = { "PackerStatus", desc = "Packer Status" } ---maps.n["pu"] = { "PackerUpdate", desc = "Packer Update" } --- NeoTree ---if is_available "neo-tree.nvim" then --- keymaps.n["e"] = { "Neotree toggle", desc = "Toggle Explorer" } --- keymaps.n["o"] = { "Neotree focus", desc = "Focus Explorer" } ---end --- Alpha ---if is_available "alpha-nvim" then maps.n["d"] = { "Alpha", desc = "Alpha Dashboard" } end - --- Package Manager --- TODO: v2 rework these key bindings to be more general ---if is_available "mason.nvim" then maps.n["lI"] = { "Mason", desc = "LSP installer" } end --- Telescope ---if is_available "telescope.nvim" then --- maps.n["fw"] = { function() require("telescope.builtin").live_grep() end, desc = "Search words" } --- maps.n["fW"] = { --- function() --- require("telescope.builtin").live_grep { --- additional_args = function(args) return vim.list_extend(args, { "--hidden", "--no-ignore" }) end, --- } --- end, --- desc = "Search words in all files", --- } --- maps.n["gt"] = { function() require("telescope.builtin").git_status() end, desc = "Git status" } --- maps.n["gb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } --- maps.n["gc"] = { function() require("telescope.builtin").git_commits() end, desc = "Git commits" } --- maps.n["ff"] = { function() require("telescope.builtin").find_files() end, desc = "Search files" } --- maps.n["fF"] = { --- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, --- desc = "Search all files", --- } --- maps.n["fb"] = { function() require("telescope.builtin").buffers() end, desc = "Search buffers" } --- maps.n["fh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } --- maps.n["fm"] = { function() require("telescope.builtin").marks() end, desc = "Search marks" } --- maps.n["fo"] = { function() require("telescope.builtin").oldfiles() end, desc = "Search history" } --- maps.n["fc"] = --- { function() require("telescope.builtin").grep_string() end, desc = "Search for word under cursor" } --- maps.n["sb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } --- maps.n["sh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } --- maps.n["sm"] = { function() require("telescope.builtin").man_pages() end, desc = "Search man" } --- maps.n["sn"] = --- { function() require("telescope").extensions.notify.notify() end, desc = "Search notifications" } --- maps.n["sr"] = { function() require("telescope.builtin").registers() end, desc = "Search registers" } --- maps.n["sk"] = { function() require("telescope.builtin").keymaps() end, desc = "Search keymaps" } --- maps.n["sc"] = { function() require("telescope.builtin").commands() end, desc = "Search commands" } --- maps.n["ls"] = { --- function() --- local aerial_avail, _ = pcall(require, "aerial") --- if aerial_avail then --- require("telescope").extensions.aerial.aerial() --- else --- require("telescope.builtin").lsp_document_symbols() --- end --- end, --- desc = "Search symbols", --- } --- maps.n["lR"] = { function() require("telescope.builtin").lsp_references() end, desc = "Search references" } ---end --- ----- Terminal ---if is_available "toggleterm.nvim" then --- local toggle_term_cmd = astronvim.toggle_term_cmd --- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } --- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } --- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } --- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } --- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } --- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } --- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } --- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } ---end --- ----- Stay in indent mode ---maps.v["<"] = { ""] = { ">gv", desc = "indent line" } --- ----- Improved Terminal Mappings ---maps.t[""] = { "", desc = "Terminal normal mode" } ---maps.t["jk"] = { "", desc = "Terminal normal mode" } ---maps.t[""] = { "h", desc = "Terminal left window navigation" } ---maps.t[""] = { "j", desc = "Terminal down window navigation" } ---maps.t[""] = { "k", desc = "Terminal up window navigation" } ---maps.t[""] = { "l", desc = "Terminal right window naviation" } --- LSP Installer ---if is_available "mason-lspconfig.nvim" then maps.n["li"] = { "LspInfo", desc = "LSP information" } end - --- ALE: toggle _ALE activity ---keymap('n', 'a',[[:ALEToggle]]) - ---keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})', opts) --- ":lua require('neogen').generate()", opts) ---keymap("n", "ww", ":set wrap!", opts) --- diff --git a/lua/mods.lua b/lua/mods.lua deleted file mode 100644 index b8866fc..0000000 --- a/lua/mods.lua +++ /dev/null @@ -1,138 +0,0 @@ -vim.cmd([[ - function RandomColorScheme() - let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") - exe 'so ' . mycolors[localtime() % len(mycolors)] - unlet mycolors - endfunction - - call RandomColorScheme() - - :command NewColor call RandomColorScheme() -]]) - ---vim.cmd([[ --- function RandomColorSchemeMyPicks() --- let mypicks = ["pyte", "fokus", "github", "peachpuff", "morning", "simple256", "xcode", "gruvbox"] --- let mypick = mypicks[localtime() % len(mypicks)] --- echom mypick --- execute 'colo' mypick --- endfunction --- --- command NewColor call RandomColorSchemeMyPicks() --- --- let s:use_gui = exists('g:neovide') || has('gui_running') || (has('termguicolors') && &termguicolors) --- if (s:use_gui) --- call RandomColorSchemeMyPicks() --- endif ---]]) - -vim.cmd([[ - let g:fzf_history_dir = '~/.local/share/fzf-history' - map z :FZF - map a :Files - map l :Lines - map L :BLines - map B :Buffers - map h :History: - nnoremap g :Rg - "nnoremap t :Tags - nnoremap m :Marks - " This is the default extra key bindings - let g:fzf_action = { - \ 'ctrl-t': 'tab split', - \ 'ctrl-x': 'split', - \ 'ctrl-y': 'vsplit' } - let g:fzf_tags_command = 'ctags -R' - " Border color - let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } - let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' - let $FZF_DEFAULT_COMMAND="rg --files --hidden" - " Customize fzf colors to match your color scheme - let g:fzf_colors = - \ { 'fg': ['fg', 'Normal'], - \ 'bg': ['bg', 'Normal'], - \ 'hl': ['fg', 'Comment'], - \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], - \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], - \ 'hl+': ['fg', 'Statement'], - \ 'info': ['fg', 'PreProc'], - \ 'border': ['fg', 'Ignore'], - \ 'prompt': ['fg', 'Conditional'], - \ 'pointer': ['fg', 'Exception'], - \ 'marker': ['fg', 'Keyword'], - \ 'spinner': ['fg', 'Label'], - \ 'header': ['fg', 'Comment'] } - " Get Files - command! -bang -nargs=? -complete=dir Files - \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) - " Get text in files with Rg - command! -bang -nargs=* Rg - \ call fzf#vim#grep( - \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, - \ fzf#vim#with_preview(), 0) - " Ripgrep advanced - function! RipgrepFzf(query, fullscreen) - let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' - let initial_command = printf(command_fmt, shellescape(a:query)) - let reload_command = printf(command_fmt, '{q}') - let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} - call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) - endfunction - command! -nargs=* -bang RG call RipgrepFzf(, 0) - " Git grep - command! -bang -nargs=* GGrep - \ call fzf#vim#grep( - \ 'git grep --line-number '.shellescape(), 0, - \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) - command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) -]]) - -vim.cmd([[ - " Enable mouse scrollback - set mouse=a - tnoremap - tnoremap - function! ClearTerminal() - set scrollback=1 - let &g:scrollback=1 - echo &scrollback - call feedkeys("\i") - call feedkeys("clear\") - call feedkeys("\\") - call feedkeys("\i") - sleep 100m - let &scrollback=s:scroll_value - endfunction -]]) - -vim.cmd([[ - " :Rename {newname} - function! RenameFile() - let old_name = expand('%') - let new_name = input('New file name: ', expand('%'), 'file') - if new_name != '' && new_name != old_name - exec ':saveas ' . new_name - exec ':silent !rm ' . old_name - redraw! - endif - endfunction - map re :call RenameFile() -]]) - ---vim.cmd([[ --- " Markdown Settings --- autocmd BufNewFile,BufReadPost *.md set filetype=markdown --- let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'sql', 'pug'] --- let g:markdown_minlines = 100 --- let g:instant_markdown_autostart = 0 ---]]) --- ---vim.cmd([[ --- " On The Fly Table mode --- function! s:isAtStartOfLine(mapping) --- let text_before_cursor = getline('.')[0 : col('.')-1] --- let mapping_pattern = '\V' . escape(a:mapping, '\') --- let comment_pattern = '\V' . escape(substitute(&l:commentstring, '%s.*$', '', ''), '\') --- return (text_before_cursor =~? '^' . ('\v(' . comment_pattern . '\v)?') . '\s*\v' . mapping_pattern . '\v$') --- endfunction ---]]) diff --git a/lua/opts.lua b/lua/opts.lua deleted file mode 100644 index 51b3628..0000000 --- a/lua/opts.lua +++ /dev/null @@ -1,181 +0,0 @@ ---[[ opts.lua ]] - -vim.cmd([[ - "filetype plugin indent on " Load indent files, to automatically do language-dependent indenting. - "autocmd BufEnter * :syntax sync fromstart - "syntax enable - let g:clipbrdDefaultReg = '+' - "set nocompatible - "autocmd FileType lua set comments=s1:---,m:--,ex:-- -]]) - --- Environment -vim.opt.shell = "zsh" -- -vim.scriptencoding = "utf-8" -- -vim.opt.encoding = "utf-8" -- -vim.opt.fileencoding = "utf-8" -- -vim.g.python3_host_prog = "/usr/bin/python3" -- -vim.g.loaded_python3_provider = 1 -- -vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file ---vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" -- - -vim.opt.termguicolors = true --- Behaviour -vim.opt.clipboard:append({ "unnamedplus" }) -- -vim.opt.backspace = { "start", "eol", "indent" } -- Make backspace work as you would expect. -vim.opt.hidden = true -- Switch between buffers without having to save first. -vim.opt.splitbelow = true -- make split put the new buffer below the current buffer -vim.opt.splitright = true -- make vsplit put the new buffer on the right of the current buffer -vim.opt.scrolloff = 8 -- -vim.opt.sidescrolloff = 8 -- how many lines to scroll when using the scrollbar -vim.opt.autoread = true -- reload files if changed externally -vim.opt.display = "lastline" -- Show as much as possible of the last line. -vim.opt.inccommand = "split" -- -vim.opt.ttyfast = true -- Faster redrawing. -vim.opt.lazyredraw = true -- Only redraw when necessary -vim.opt.keywordprg = ":help" -- :help options -vim.opt.ruler = true -- -vim.opt.errorbells = false -- -vim.opt.list = true -- Show non-printable characters. -vim.opt.showmatch = true -- -vim.opt.matchtime = 3 -- -vim.opt.showbreak = "↪ " -- -vim.opt.linebreak = true -- -vim.opt.exrc = true -- ---vim.opt.autochdir = true -- or use this to use <:e> to create a file in current directory -vim.opt.autoread = true -- if a file is changed outside of vim, automatically reload it without asking ---vim.opt.notimeout = true -- Timeout on keycodes and not mappings -vim.opt.ttimeout = true -- Makes terminal vim work sanely -vim.opt.ttimeoutlen = 10 -- ---vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds) ---vim.cmd([[set diffopt = vertical = true]]) -- diffs are shown side-by-side not above/below - --- Indent/tab -vim.opt.breakindent = true -- -vim.opt.autoindent = true -- Indent according to previous line. -vim.opt.smarttab = false -- -vim.opt.tabstop = 2 -- -vim.opt.expandtab = true -- Indent according to previous line. ---vim.opt.expandtab = true -- Use spaces instead of tabs. -vim.opt.softtabstop = 2 -- Tab key indents by 2 spaces. -vim.opt.shiftwidth = 2 -- >> indents by 2 spaces. -vim.opt.shiftround = true -- >> indents to next multiple of 'shiftwidth'. -vim.opt.smartindent = true -- smart indent - --- Column/statusline/Cl -vim.opt.number = true -- ---vim.opt.title = true -- ---vim.opt.colorcolumn = "+1" -- ---vim.opt.signcolumn = "yes:1" -- always show the sign column -vim.opt.signcolumn = "number" ---vim.opt.signcolumn = "no" -- -vim.opt.laststatus = 3 -- " Always show statusline. -vim.opt.showmode = true -- Show current mode in command-line, example: -- INSERT -- mode -vim.opt.showcmd = true -- Show the command in the status bar -vim.opt.cmdheight = 1 -- ---vim.opt.cmdheight = 0 -- -vim.opt.report = 0 -- Always report changed lines. ---local autocmd = vim.api.nvim_create_autocmd ---autocmd("bufenter", { --- pattern = "*", --- callback = function() --- if vim.bo.ft ~= "terminal" then --- vim.opt.statusline = "%!v:lua.require'ui.statusline'.run()" --- else --- vim.opt.statusline = "%#normal# " --- end --- end, ---}) - --- Backup/undo -vim.opt.backup = false -- ---vim.opt.noswapfile = true -- ---vim.opt.undofile = true -- -vim.opt.backupskip = { "/tmp/*", "/private/tmp/*" } -- - --- Format -vim.opt.textwidth = 80 -- -vim.cmd([[let &t_Cs = "\e[4:3m"]]) -- Undercurl -vim.cmd([[let &t_Ce = "\e[4:0m"]]) -- -vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder -vim.cmd("set whichwrap+=<,>,[,],h,l") -- -vim.cmd([[set iskeyword+=-]]) -- -vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work -vim.opt.wrapscan = true -- " Searches wrap around end-of-file. ---vim.wo.number = true -- ---vim.opt.wrap = false -- No Wrap lines ---vim.opt.foldmethod = 'manual' -- ---vim.opt.foldmethod = "expr" -- -vim.opt.modeline = true -- -vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis) ---vim.opt.nofoldenable = true -- turn folding off -vim.opt.foldenable = false -- turn folding off - --- Highlights -vim.opt.incsearch = true -- Highlight while searching with / or ?. -vim.opt.hlsearch = true -- Keep matches highlighted. -vim.opt.ignorecase = true -- ignore case in search patterns UNLESS /C or capital in search -vim.opt.smartcase = true -- smart case -vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. -vim.opt.winblend = 30 ---vim.opt.winblend = 5 -vim.opt.wildoptions = "pum" -- -vim.opt.pumblend = 5 -- ---vim.opt.pumblend=15 -vim.opt.pumheight = 10 -- pop up menu height - --- Better Completion -vim.opt.complete = { ".", "w", "b", "u", "t" } -- ---vim.opt.completeopt = { "longest,menuone,preview" } -- -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} ---vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp ---vim.opt.completeopt = { "menu", "menuone", "noselect" } -- - --- Wildmenu completion -- -vim.opt.wildmenu = true -- -vim.opt.wildmode = { "list:longest" } -- -vim.opt.wildignore:append({ ".hg", ".git", ".svn" }) -- Version control -vim.opt.wildignore:append({ "*.aux", "*.out", "*.toc" }) -- LaTeX intermediate files -vim.opt.wildignore:append({ "*.jpg", "*.bmp", "*.gif", "*.png", "*.jpeg" }) -- binary images -vim.opt.wildignore:append({ "*.o", "*.obj", "*.exe", "*.dll", "*.manifest" }) -- compiled object files -vim.opt.wildignore:append({ "*.spl" }) -- compiled spelling word lists -vim.opt.wildignore:append({ "*.sw?" }) -- Vim swap files -vim.opt.wildignore:append({ "*.DS_Store" }) -- OSX bullshit -vim.opt.wildignore:append({ "*.luac" }) -- Lua byte code -vim.opt.wildignore:append({ "migrations" }) -- Django migrations -vim.opt.wildignore:append({ "*.pyc" }) -- Python byte code -vim.opt.wildignore:append({ "*.orig" }) -- Merge resolution files -vim.opt.wildignore:append({ "*/node_modules/*" }) -- - --- Cursorline -vim.cmd([[ " Only show cursorline in the current window and in normal mode - augroup cline - au! - au WinLeave,InsertEnter * set nocursorline - au WinEnter,InsertLeave * set cursorline - augroup END -]]) -vim.opt.cursorline = true -- -vim.opt.guicursor = "i:ver100,r:hor100" -- - --- Trailing whitespace -vim.cmd([[ " Only show in insert mode - augroup trailing - au! - au InsertEnter * :set listchars-=trail:⌴ - au InsertLeave * :set listchars+=trail:⌴ - augroup END -]]) -vim.opt.listchars = { tab = "▸ ", trail = "·" } -- -vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer - --- Line Return -vim.cmd([[ " Return to the same line when we reopen a file - augroup line_return - au! - au BufReadPost * - \ if line("'\"") > 0 && line("'\"") <= line("$") | - \ execute 'normal! g`"zvzz' | - \ endif - augroup END -]]) diff --git a/lua/pack.lua b/lua/pack.lua deleted file mode 100644 index 840baf2..0000000 --- a/lua/pack.lua +++ /dev/null @@ -1,359 +0,0 @@ -local fn = vim.fn - --- Automatically install packer -local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" -if fn.empty(fn.glob(install_path)) > 0 then - PACKER_BOOTSTRAP = fn.system({ - "git", - "clone", - "--depth", - "1", - "https://github.com/wbthomason/packer.nvim", - install_path, - }) - print("Installing packer close and reopen Neovim...") - vim.cmd([[packadd packer.nvim]]) -end - --- Autocommand that reloads neovim whenever you save the plugins.lua file -vim.cmd([[ - augroup packer_user_config - autocmd! - autocmd BufWritePost pack.lua source | PackerSync - augroup end -]]) - --- Use a protected call so we don't error out on first use -local status_ok, packer = pcall(require, "packer") -if not status_ok then - return -end - --- Have packer use a popup window -packer.init({ - auto_reload_compiled = true, - display = { - open_fn = function() - return require("packer.util").float({ border = "rounded" }) - end, - }, -}) - --- Install your plugins here -return packer.startup(function(use) - use("wbthomason/packer.nvim") -- Have packer manage itself - - use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins - --use("jose-elias-alvarez/null-ls.nvim") - - -- lsp - use { - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim", - "neovim/nvim-lspconfig", - } - require("mason").setup() - local mason_lspconfig = require("mason-lspconfig") - mason_lspconfig.setup({ - ensure_installed = { - "pylsp", - "pyright", - "clangd", - --"vim-language-server", - --"bash-language-server", - --"lua-language-server", - "sumneko_lua", - } - }) - use({ "j-hui/fidget.nvim", - config = function() - require("fidget").setup() - end - }) - --use({ "folke/trouble.nvim", - -- config = function() - -- require("trouble").setup({ position = "right", }) - -- end - --}) - --use({ - --"folke/trouble.nvim", - --requires = "kyazdani42/nvim-web-devicons", - --config = function() - -- require("trouble").setup({ - -- postion = "top", - -- -- your configuration comes here - -- -- or leave it empty to use the default settings - -- -- refer to the configuration section below - -- }) - --end, - --}) - - --use({ - -- "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim - -- config = function() - -- require("lsp_lines").setup() - - -- -- disable virtual_text since it's redundant due to lsp_lines. - -- vim.diagnostic.config({ - -- virtual_text = false, - -- }) - -- end, - --}) - use { "simrat39/symbols-outline.nvim", - config = function() - require("symbols-outline").setup({ - auto_close = true, - }) - end - } - use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } - --use("folke/lsp-colors.nvim") - use "mfussenegger/nvim-lint" - use "weilbith/nvim-code-action-menu" - use "simrat39/rust-tools.nvim" - use { "saecki/crates.nvim", - requires = { "nvim-lua/plenary.nvim" }, - config = function() - require("crates").setup() - end, - } - --use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't - - -- null-ls - use({ "jose-elias-alvarez/null-ls.nvim", - config = function() - require("null-ls").setup({ - sources = { - require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake - } - }) - end - }) - use({ - "SmiteshP/nvim-navic", - requires = "neovim/nvim-lspconfig", - }) - - -- nvimlsp plugins - --use({ - -- "williamboman/mason.nvim", - -- config = function() - -- require("mason").setup() - -- require("mason-lspconfig").setup({ - -- ensure_installed = { "sumneko_lua", "clangd", "rust_analyzer" }, - -- }) - -- end, - --}) - --use("williamboman/mason.nvim") - --use("williamboman/mason-lspconfig.nvim") - --use("neovim/nvim-lspconfig") - --use("williamboman/nvim-lsp-installer") - --use("glepnir/lspsaga.nvim") - --use("nvim-lua/lsp-status.nvim") - --use({ - -- "glepnir/lspsaga.nvim", - -- branch = "main", - -- config = function() - -- local saga = require("lspsaga") - - -- saga.init_lsp_saga({ - -- -- your configuration - -- }) - -- end, - --}) - -- use("nvim-lua/popup.nvim") - --use("SmiteshP/nvim-gps") - -- autocomplete plugins - use("hrsh7th/nvim-cmp") - use("hrsh7th/cmp-nvim-lsp") - use("hrsh7th/cmp-buffer") - use("hrsh7th/cmp-path") - use("hrsh7th/cmp-cmdline") - use("onsails/lspkind-nvim") - use("saadparwaiz1/cmp_luasnip") - - -- snippets - use("L3MON4D3/LuaSnip") --snippet engine - use("rafamadriz/friendly-snippets") -- a bunch of snippets to use - --use("github/copilot.vim") - --use({ - --"zbirenbaum/copilot.lua", - --event = { "VimEnter" }, - --config = function() - --vim.defer_fn(function() - --require("plugins.copilot") - --end, 100) - --end, - --}) - --use({ - --"zbirenbaum/copilot-cmp", - --module = "copilot_cmp", - --}) - - -- treesitter plugins - use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) --folding, jumping, refactoring... - use("nvim-treesitter/nvim-treesitter-refactor") - use("nvim-treesitter/nvim-treesitter-context") - --use({ - -- "danymat/neogen", - -- config = function() - -- require("neogen").setup({ snippet_engine = "luasnip" }) - -- end, - -- requires = "nvim-treesitter/nvim-treesitter", - --}) - use({ "junegunn/fzf", run = ":call fzf#install()" }) - -- telescope plugins - use("nvim-telescope/telescope.nvim") - use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) - use("tami5/sqlite.lua") - use("nvim-telescope/telescope-frecency.nvim") - use("nvim-telescope/telescope-ui-select.nvim") - use("nvim-telescope/telescope-media-files.nvim") - use("nvim-telescope/telescope-file-browser.nvim") - -- search emoji and other symbols - use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) - -- statusline plugins - --use("nvim-lualine/lualine.nvim") - --use({ - -- "nvim-lualine/lualine.nvim", - -- requires = { "kyazdani42/nvim-web-devicons", opt = true }, - --}) - --use({ - -- "folke/trouble.nvim", - -- requires = "kyazdani42/nvim-web-devicons", - -- config = function() - -- require("trouble").setup({ - -- -- your configuration comes here - -- -- or leave it empty to use the default settings - -- -- refer to the configuration section below - -- }) - -- end, - --}) - use("rebelot/heirline.nvim") - --use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" }) - --use("itchyny/lightline.vim") - -- debug plugins - --use("puremourning/vimspector") - use("mfussenegger/nvim-dap") - use("rcarriga/nvim-dap-ui") - --use({ - -- "rcarriga/neotest", - -- requires = { - -- "nvim-lua/plenary.nvim", - -- "nvim-treesitter/nvim-treesitter", - -- "antoinemadec/FixCursorHold.nvim", - -- "rcarriga/neotest-python", - -- "rcarriga/neotest-vim-test", - -- "rcarriga/neotest-plenary", - -- "vim-test/vim-test", - -- }, - -- config = function() - -- require("plugins.neotest") - -- end, - --}) - --use("vim-test/vim-test") - --use({ - -- "rcarriga/vim-ultest", - -- requires = { "vim-test/vim-test" }, - -- run = ":UpdateRemotePlugins", - -- config = function() - -- require("plugins.ultest") - -- end, - --}) - -- UI - use("karb94/neoscroll.nvim") - use("folke/which-key.nvim") - use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client - use("norcalli/nvim-colorizer.lua") - use("folke/zen-mode.nvim") - use("romainl/vim-cool") - --use("p00f/nvim-ts-rainbow") - --use("goolord/alpha-nvim") - --use("feline-nvim/feline.nvim") - --use({ "fgheng/winbar.nvim" }) - --use("vim-airline/vim-airline") - --use("kdheepak/tabline.nvim") - -- use({ - -- "kdheepak/tabline.nvim", - -- config = function() - -- require("tabline").setup({ enable = false }) - -- end, - -- requires = { "hoob3rt/lualine.nvim", "kyazdani42/nvim-web-devicons" }, - -- notification plugin - use("rcarriga/nvim-notify") - --use("lukas-reineke/indent-blankline.nvim") - use("kyazdani42/nvim-web-devicons") - -- Colorschemes - use("gruvbox-community/gruvbox") - use("srcery-colors/srcery-vim") - use("tomasr/molokai") - use("ayu-theme/ayu-vim") - --use("sjl/badwolf") - use("joshdick/onedark.vim") - use("everblush/everblush.nvim") - use("EdenEast/nightfox.nvim") - use("bluz71/vim-nightfly-guicolors") - --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" }) - use("jacoborus/tender.vim") - use("sainnhe/sonokai") - use("NTBBloodbath/doom-one.nvim") - - -- Utilities - use("nathom/filetype.nvim") - use("christoomey/vim-tmux-navigator") - --use("preservim/vimux") - use("myusuf3/numbers.vim") - use("windwp/nvim-autopairs") - use("lewis6991/gitsigns.nvim") - use("dinhhuy258/git.nvim") -- For git blame & browse - use("kyazdani42/nvim-tree.lua") - use("numToStr/Comment.nvim") - use("akinsho/toggleterm.nvim") - --use("godlygeek/tabular") - --use("Vonr/align.nvim") - --use("junegunn/vim-easy-align") - --use("dstein64/vim-startuptime") - use("tweekmonster/startuptime.vim") - use("lewis6991/impatient.nvim") - -- use("luukvbaal/stabilize.nvim") - --use({ - -- "ggandor/leap.nvim", - -- config = function() - -- require("leap").set_default_keymaps() - -- end, - --}) - --use("Shatur/neovim-session-manager") - --use("rmagatti/auto-session") - --use("rmagatti/session-lens") - --use("ahmedkhalf/project.nvim") - --use("aserowy/tmux.nvim") - --use("wakatime/vim-wakatime") - --use("tpope/vim-eunuch") - -- Handy unix command inside Vim (Rename, Move etc.) - use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) - --use("tpope/vim-fugitive") - --use("tpope/vim-surround") - --use("tpope/vim-obsession") - --use("tpope/vim-unimpaired") - --use("voldikss/vim-floaterm") - --use("vimpostor/vim-tpipeline") - --use({ - -- "vimwiki/vimwiki", - -- config = function() - -- vim.g.vimwiki_list = { - -- { - -- path = "~/", - -- syntax = "markdown", - -- ext = ".md", - -- }, - -- } - -- vim.g.vimwiki_ext2syntax = { - -- [".md"] = "markdown", - -- [".markdown"] = "markdown", - -- [".mdown"] = "markdown", - -- Automatically set up your configuration after cloning packer.nvim - -- Put this at the end after all plugins - if PACKER_BOOTSTRAP then - require("packer").sync() - end -end) diff --git a/lua/plugins/airline.lua b/lua/plugins/airline.lua deleted file mode 100644 index 76f3655..0000000 --- a/lua/plugins/airline.lua +++ /dev/null @@ -1,9 +0,0 @@ --- airline -vim.cmd([[ - let g:airline#extensions#tabline#enabled = 1 - let g:airline#extensions#tabline#show_buffers = 1 - let g:airline_powerline_fonts = 1 - let g:airline#extensions#tabline#buffer_nr_show = 1 - let g:airline#extensions#tagbar#enabled = 0 - let g:airline_theme='onedark' -]]) diff --git a/lua/plugins/autopairs.lua b/lua/plugins/autopairs.lua deleted file mode 100644 index 577e571..0000000 --- a/lua/plugins/autopairs.lua +++ /dev/null @@ -1,33 +0,0 @@ --- Setup nvim-cmp. -local status_ok, npairs = pcall(require, "nvim-autopairs") -if not status_ok then - return -end - -npairs.setup { - check_ts = true, - ts_config = { - lua = { "string", "source" }, - javascript = { "string", "template_string" }, - java = false, - }, - disable_filetype = { "TelescopePrompt", "spectre_panel" }, - fast_wrap = { - map = "", - chars = { "{", "[", "(", '"', "'" }, - pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), - offset = 0, -- Offset from pattern match - end_key = "$", - keys = "qwertyuiopzxcvbnmasdfghjkl", - check_comma = true, - highlight = "PmenuSel", - highlight_grey = "LineNr", - }, -} - -local cmp_autopairs = require "nvim-autopairs.completion.cmp" -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } }) diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua deleted file mode 100644 index 6488f29..0000000 --- a/lua/plugins/bufferline.lua +++ /dev/null @@ -1,323 +0,0 @@ -require("bufferline").setup({ - options = { - numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, - close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - --indicator = { - -- icon = '', -- this should be omitted if indicator style is not 'icon' - -- style = 'icon', -- | 'underline' | 'none', - --}, - --indicator_icon = " ", - --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - modified_icon = '●', - left_trunc_marker = "", - right_trunc_marker = "", - show_buffer_close_icons = true, - --diagnostics = "nvim_lsp", - diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", - diagnostics_update_in_insert = false, - buffer_close_icon = "", - separator_style = "thin", - enforce_regular_tabs = true, - always_show_bufferline = true, - max_name_length = 25, - offsets = { - { - filetype = "NvimTree", - text = "File Explorer", - highlight = "StatusLine", - text_align = "center", - }, - }, - custom_areas = { - right = function() - local result = {} - local error = vim.diagnostic.get_count(0, [[Error]]) - local warning = vim.diagnostic.get_count(0, [[Warning]]) - local info = vim.diagnostic.get_count(0, [[Information]]) - local hint = vim.diagnostic.get_count(0, [[Hint]]) - - if error ~= 0 then - result[1] = { text = "  " .. error, fg = "#EC5241" } - end - - if warning ~= 0 then - result[2] = { text = "  " .. warning, fg = "#EFB839" } - end - - if hint ~= 0 then - result[3] = { text = "  " .. hint, fg = "#A3BA5E" } - end - - if info ~= 0 then - result[4] = { text = "  " .. info, fg = "#7EA9A7" } - end - - return result - end, - }, - }, - highlights = { - background = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab_selected = { - fg = "#fdf6e3", - bg = "#002b36", - --fg = tabline_sel_bg, - }, - tab_close = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_selected = { - fg = "002b36", - bg = "#fdf6e3", - bold = true, - italic = true, - }, - numbers = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - hint = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - hint_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - error = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - error_diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - modified = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - duplicate_selected = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true, - }, - duplicate_visible = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - duplicate = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - separator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator = { - fg = "#fdf6e3", - bg = "#002b36", - }, - indicator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - pick_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick_visible = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - --offset_separator = { - -- fg = win_separator_fg, - -- bg = separator_background_color, - --}, - } -}) diff --git a/lua/plugins/bufferline.lua-202209041657.backup b/lua/plugins/bufferline.lua-202209041657.backup deleted file mode 100644 index 1d45e5f..0000000 --- a/lua/plugins/bufferline.lua-202209041657.backup +++ /dev/null @@ -1,322 +0,0 @@ -require("bufferline").setup({ - options = { - numbers = "buffer_id", -- | "ordinal" | "buffer_id" | "both" | "none" | function({ ordinal, id, lower, raise }): string, - close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - --indicator = { - -- icon = '', -- this should be omitted if indicator style is not 'icon' - -- style = 'icon', -- | 'underline' | 'none', - --}, - --indicator_icon = " ", - --left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - modified_icon = '●', - left_trunc_marker = "", - right_trunc_marker = "", - show_buffer_close_icons = true, - --diagnostics = "nvim_lsp", - diagnostics = false, --"nvim_lsp", --false, -- | "nvim_lsp" | "coc", - diagnostics_update_in_insert = false, - buffer_close_icon = "", - separator_style = "slant", - enforce_regular_tabs = true, - always_show_bufferline = true, - max_name_length = 25, - offsets = { - { - filetype = "NvimTree", - text = "File Explorer", - highlight = "StatusLine", - text_align = "center", - }, - }, - custom_areas = { - right = function() - local result = {} - local error = vim.diagnostic.get_count(0, [[Error]]) - local warning = vim.diagnostic.get_count(0, [[Warning]]) - local info = vim.diagnostic.get_count(0, [[Information]]) - local hint = vim.diagnostic.get_count(0, [[Hint]]) - - if error ~= 0 then - result[1] = { text = "  " .. error, fg = "#EC5241" } - end - - if warning ~= 0 then - result[2] = { text = "  " .. warning, fg = "#EFB839" } - end - - if hint ~= 0 then - result[3] = { text = "  " .. hint, fg = "#A3BA5E" } - end - - if info ~= 0 then - result[4] = { text = "  " .. info, fg = "#7EA9A7" } - end - - return result - end, - }, - }, - highlights = { - background = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab = { - fg = "#fdf6e3", - bg = "#002b36", - }, - tab_selected = { - fg = tabline_sel_bg, - bg = "#002b36", - }, - tab_close = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - close_button_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - buffer_selected = { - fg = normal_fg, - bg = "#002b36", - bold = true, - italic = true, - }, - numbers = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - numbers_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - hint = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - hint_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - hint_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - hint_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - info_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - info_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - info_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - warning_diagnostic = { - fg = "#fdf6e3", - sp = "#002b36", - bg = "#002b36", - }, - warning_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - warning_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - error = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - error_diagnostic = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - }, - error_diagnostic_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - error_diagnostic_selected = { - fg = "#fdf6e3", - bg = "#002b36", - sp = "#002b36", - bold = true, - italic = true, - }, - modified = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - modified_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - duplicate_selected = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true, - }, - duplicate_visible = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - duplicate = { - fg = "#fdf6e3", - bg = "#002b36", - italic = true - }, - separator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator_visible = { - fg = "#fdf6e3", - bg = "#002b36", - }, - separator = { - fg = "#fdf6e3", - bg = "#002b36", - }, - indicator_selected = { - fg = "#fdf6e3", - bg = "#002b36", - }, - pick_selected = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick_visible = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - pick = { - fg = "#fdf6e3", - bg = "#002b36", - bold = true, - italic = true, - }, - --offset_separator = { - -- fg = win_separator_fg, - -- bg = separator_background_color, - --}, - } -}) diff --git a/lua/plugins/cmp-22.10.14-23:39-bak.lua b/lua/plugins/cmp-22.10.14-23:39-bak.lua deleted file mode 100644 index 3b0a8f5..0000000 --- a/lua/plugins/cmp-22.10.14-23:39-bak.lua +++ /dev/null @@ -1,161 +0,0 @@ -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - -vim.o.completeopt = "menu,menuone,noselect" - ---require("luasnip/loaders/from_vscode").lazy_load() ---local luasnip = require "luasnip" - -cmp.setup { - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - mapping = { - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.close(), - [''] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }, - [''] = cmp.mapping(cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), {'i'}), - [''] = cmp.mapping(cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), {'i'}), - }, - sources = { - { name = 'nvim_lsp' }, - { name = 'treesitter' }, - { name = 'luasnip' }, - } -} ---local lspkind = require("lspkind") ---cmp.setup({ --- formatting = { --- format = lspkind.cmp_format({ --- mode = "symbol", -- show only symbol annotations --- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) --- ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) --- --- -- The function below will be called before any actual modifications from lspkind --- -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) --- before = function(entry, vim_item) --- --... --- return vim_item --- end, --- }), --- }, ---}) --- ---require("luasnip/loaders/from_vscode").lazy_load() --- -----   פּ ﯟ  some other good icons ---local kind_icons = { --- Text = "", --- Method = "", --- Function = "", --- Constructor = "⚙️", --- Field = "", --- Variable = "", --- Class = "ﴯ", --- Interface = "", --- Module = "", --- Property = "ﰠ", --- Unit = "", --- Value = "", --- Enum = "", --- Keyword = "", --- Snippet = "", --- Color = "", --- File = "", --- Reference = "", --- Folder = "", --- EnumMember = "", --- Constant = "", --- Struct = "", --- Event = "", --- Operator = "", --- TypeParameter = "", ---} --- ----- find more here: https://www.nerdfonts.com/cheat-sheet --- ---cmp.setup({ --- snippet = { --- expand = function(args) --- require("luasnip").lsp_expand(args.body) --- end, --- }, --- mapping = cmp.mapping.preset.insert({ --- [""] = cmp.mapping.scroll_docs(-4), --- [""] = cmp.mapping.scroll_docs(4), --- [""] = cmp.mapping.complete(), --- [""] = cmp.mapping.close(), --- [""] = cmp.mapping.confirm({ --- behavior = cmp.ConfirmBehavior.Replace, --- select = true, --- }), --- }), --- sources = cmp.config.sources({ --- { name = "path" }, --- { name = "nvim_lsp", keyword_length = 3 }, --- { name = "buffer", keyword_length = 3 }, --- { name = "luasnip", keyword_length = 4 }, --- { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, --- --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this --- --{name = 'luasnip', keyword_length = 2}, --- }), --- formatting = { --- fields = { "kind", "abbr", "menu" }, --- format = function(entry, vim_item) --- -- Kind icons --- vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) --- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind --- vim_item.menu = ({ --- nvim_lsp = "[LSP]", --- luasnip = "[Snippet]", --- buffer = "[Buffer]", --- path = "[Path]", --- })[entry.source.name] --- return vim_item --- end, --- }, --- confirm_opts = { --- behavior = cmp.ConfirmBehavior.Replace, --- select = false, --- }, --- window = { --- documentation = { --- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, --- }, --- }, --- experimental = { --- ghost_text = true, --- native_menu = false, --- --view = { --- -- entries = "native" --- --}, --- }, ---}) --- -----vim.cmd([[ ----- set completeopt=menuone,noinsert,noselect ----- highlight! default link CmpItemKind CmpItemMenuDefault -----]]) --- ---cmp.setup.cmdline("/", { --- mapping = cmp.mapping.preset.cmdline(), --- sources = { --- { name = "buffer" }, --- }, ---}) --- ---cmp.setup.cmdline(":", { --- mapping = cmp.mapping.preset.cmdline(), --- sources = cmp.config.sources({ --- { name = "path" }, --- }, { --- { name = "cmdline" }, --- }), ---}) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua deleted file mode 100644 index 122524c..0000000 --- a/lua/plugins/cmp.lua +++ /dev/null @@ -1,220 +0,0 @@ - --- Setup nvim-cmp. ---vim.opt.completeopt = "menu,menuone,noselect" -vim.g.completeopt = "menu,menuone,noselect,noinsert" -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end -local WIDE_HEIGHT = 40 - -local opts = { - -- whether to highlight the currently hovered symbol - -- disable if your cpu usage is higher than you want it - -- or you just hate the highlight - -- default: true - highlight_hovered_item = true, - show_guides = true, -} -require("symbols-outline").setup(opts) - - ---local snippets_paths = function() --- local plugins = { "friendly-snippets" } --- local paths = {} --- local path --- local root_path = vim.env.HOME .. "/.vim/plugged/" --- for _, plug in ipairs(plugins) do --- path = root_path .. plug --- if vim.fn.isdirectory(path) ~= 0 then --- table.insert(paths, path) --- end --- end --- return paths ---end --- ---require("luasnip.loaders.from_vscode").lazy_load({ --- paths = snippets_paths(), --- include = nil, -- Load all languages --- exclude = {}, ---}) - -require("luasnip.loaders.from_vscode").lazy_load() -local lspkind = require("lspkind") -local kind_icons = { - Text = "", - Method = "m", --"", - Function = "", - Constructor = "", --"⚙️", - Field = "", - Variable = "", - Class = "", - Interface = "", - Module = "", - Property = "", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", -} -cmp.setup({ - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ --- [""] = cmp.mapping.confirm({ --- behavior = cmp.ConfirmBehavior.Replace, --- select = true, --- }), - [''] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping.close(), - --[''] = cmp.config.disable, - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [''] = function(fallback) - if cmp.visible() then - cmp.mapping.confirm({ select = true })(fallback) - else - cmp.mapping.complete()(fallback) - end - end - }), - - sources = cmp.config.sources({ - { name = "path" }, - { name = "nvim_lsp", keyword_length = 3 }, - { name = "luasnip", keyword_length = 4 }, - --{ name = "buffer", keyword_length = 3 }, - { name = "buffer", option = { get_bufnrs = function() - return vim.api.nvim_list_bufs() - end - }}, - --{ name = 'treesitter' }, - { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, - --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this - { name = "cmp_git"}, - --{name = 'luasnip', keyword_length = 2}, - }), - formatting = { - --formatting = { - format = function(entry, vim_item) - --format = function(entry, vim_item,) - --local icons = kind_icons - --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - -- vim_item.kind = lspkind.presets.default[vim_item.kind] - vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind - --vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind) - vim_item.menu = ({ - nvim_lsp = "Lsp", - luasnip = "Snip", - buffer = "Buf", - path = "Path", - cmdline = "Cmd", - })[entry.source.name] - return vim_item - end, - --}, - - -- - -- - --fields = { "abbr", "kind", "menu" }, - -- format = lspkind.cmp_format({ - -- mode = 'symbol_text', -- show only symbol annotations - -- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) - -- }) - --format = require('lspkind').cmp_format { - -- with_text = true, - -- menu = { - -- luasnip = "Snip", - -- buffer = "Buf", - -- nvim_lsp = "LSP", - -- path = "Path", - -- cmdline = "Cmd", - -- cmp_git = "Git", - -- }, - --}, - }, - --format = function(entry, vim_item) - -- -- Kind icons - -- --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - -- vim_item.kind = lspkind.presets.default[vim_item.kind] - -- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind - -- vim_item.menu = ({ - -- nvim_lsp = "LSP", - -- luasnip = "Snip", - -- buffer = "Buf", - -- path = "Path", - -- cmdline = "Cmd", - -- })[entry.source.name] - -- return vim_item - --end, - confirm_opts = { - behavior = cmp.ConfirmBehavior.Replace, - select = false, - }, - - - event = {}, - - experimental = { - ghost_text = true, - hl_group = 'Nontext', - }, - - view = { - entries = { name = 'custom', selection_order = 'top_down' }, - }, - - window = { - --completion = cmp.config.window.bordered(), - completion = { - border = { '', '', '', ' ', '', '', '', ' ' }, - --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - --border = { '', '', '', '', '', '', '', '' }, - --border = "CmpBorder", - --winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None', - winhighlight = "Normal:CmpPmenu,CursorLine:PmenuSel,Search:None", - }, - --documentation = cmp.config.window.bordered(), - documentation = { - max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)), - max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))), - border = { '', '', '', ' ', '', '', '', ' ' }, - --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - winhighlight = 'FloatBorder:NormalFloat', - }, - }, -}) - - -cmp.setup.cmdline("/", { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = "buffer" }, - }, -}) - -cmp.setup.cmdline(":", { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = "path" }, - }, { - { name = "cmdline" }, - }), -}) - - diff --git a/lua/plugins/colorizer.lua b/lua/plugins/colorizer.lua deleted file mode 100644 index 14d25e2..0000000 --- a/lua/plugins/colorizer.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status, colorizer = pcall(require, "colorizer") -if (not status) then return end - -colorizer.setup({ - '*'; -}) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua deleted file mode 100644 index 35e4f47..0000000 --- a/lua/plugins/colorscheme.lua +++ /dev/null @@ -1,32 +0,0 @@ --- Colorscheme --- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly -local colorscheme = "onedark" -local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) -if not status_ok then - vim.notify("colorscheme " .. colorscheme .. " not found!") - return -end - -vim.api.nvim_command("syntax on") -vim.api.nvim_command("highlight Normal guibg=none") -vim.api.nvim_command("highlight SignColumn guibg=none") -vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") ---vim.api.nvim_command("highlight TabLine guibg=none gui=bold") -vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") -vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") -vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") -vim.api.nvim_command("highlight WinBar guibg=none gui=bold") -vim.api.nvim_command("highlight NormalFloat guibg=none") ---vim.api.nvim_command("highlight PmenuSel guibg=none") ---vim.api.nvim_command("highlight winblend guibg=none") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") - -require("notify").setup({ - background_colour = "#000000", -}) diff --git a/lua/plugins/feline.lua b/lua/plugins/feline.lua deleted file mode 100644 index f259108..0000000 --- a/lua/plugins/feline.lua +++ /dev/null @@ -1,726 +0,0 @@ -require('feline').setup() ---local lsp = require("feline.providers.lsp") ---local vi_mode_utils = require("feline.providers.vi_mode") ---local navic = require("nvim-navic") --- ---local force_inactive = { --- filetypes = {}, --- buftypes = {}, --- bufnames = {}, ---} --- ---local winbar_components = { --- active = { {}, {}, {} }, --- inactive = { {}, {}, {} }, ---} --- ---local components = { --- active = { {}, {}, {} }, --- inactive = { {}, {}, {} }, ---} --- ---local colors = { --- bg = "#282828", --- black = "#282828", --- yellow = "#d8a657", --- cyan = "#89b482", --- oceanblue = "#45707a", --- green = "#a9b665", --- orange = "#e78a4e", --- violet = "#d3869b", --- magenta = "#c14a4a", --- white = "#a89984", --- fg = "#a89984", --- skyblue = "#7daea3", --- red = "#ea6962", ---} --- ---local vi_mode_colors = { --- NORMAL = "green", --- OP = "green", --- INSERT = "red", --- CONFIRM = "red", --- VISUAL = "skyblue", --- LINES = "skyblue", --- BLOCK = "skyblue", --- REPLACE = "violet", --- ["V-REPLACE"] = "violet", --- ENTER = "cyan", --- MORE = "cyan", --- SELECT = "orange", --- COMMAND = "green", --- SHELL = "green", --- TERM = "green", --- NONE = "yellow", ---} --- ---local vi_mode_text = { --- NORMAL = "<|", --- OP = "<|", --- INSERT = "|>", --- VISUAL = "<>", --- LINES = "<>", --- BLOCK = "<>", --- REPLACE = "<>", --- ["V-REPLACE"] = "<>", --- ENTER = "<>", --- MORE = "<>", --- SELECT = "<>", --- COMMAND = "<|", --- SHELL = "<|", --- TERM = "<|", --- NONE = "<>", --- CONFIRM = "|>", ---} --- ---local buffer_not_empty = function() --- if vim.fn.empty(vim.fn.expand("%:t")) ~= 1 then --- return true --- end --- return false ---end --- ---local checkwidth = function() --- local squeeze_width = vim.fn.winwidth(0) / 2 --- if squeeze_width > 40 then --- return true --- end --- return false ---end --- ---force_inactive.filetypes = { --- "NvimTree", --- "dbui", --- "packer", --- "startify", --- "fugitive", --- "fugitiveblame", ---} --- ---force_inactive.buftypes = { --- "terminal", ---} --- ----- STATUSLINE ----- LEFT --- ----- vi-mode ---components.active[1][1] = { --- provider = " NV-IDE ", --- hl = function() --- local val = {} --- --- val.bg = vi_mode_utils.get_mode_color() --- val.fg = "black" --- val.style = "bold" --- --- return val --- end, --- right_sep = " ", ---} ----- vi-symbol ---components.active[1][2] = { --- provider = function() --- return vi_mode_text[vi_mode_utils.get_vim_mode()] --- end, --- hl = function() --- local val = {} --- val.fg = vi_mode_utils.get_mode_color() --- val.bg = "bg" --- val.style = "bold" --- return val --- end, --- right_sep = " ", ---} ----- filename ---components.active[1][3] = { --- provider = function() --- return vim.fn.expand("%:F") --- end, --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, ---} ----- MID --- ----- gitBranch ---components.active[2][1] = { --- provider = "git_branch", --- hl = { --- fg = "yellow", --- bg = "bg", --- style = "bold", --- }, ---} ----- diffAdd ---components.active[2][2] = { --- provider = "git_diff_added", --- hl = { --- fg = "green", --- bg = "bg", --- style = "bold", --- }, ---} ----- diffModfified ---components.active[2][3] = { --- provider = "git_diff_changed", --- hl = { --- fg = "orange", --- bg = "bg", --- style = "bold", --- }, ---} ----- diffRemove ---components.active[2][4] = { --- provider = "git_diff_removed", --- hl = { --- fg = "red", --- bg = "bg", --- style = "bold", --- }, ---} --- ----- RIGHT --- ----- fileIcon ---components.active[3][1] = { --- provider = function() --- local filename = vim.fn.expand("%:t") --- local extension = vim.fn.expand("%:e") --- local icon = require("nvim-web-devicons").get_icon(filename, extension) --- if icon == nil then --- icon = "" --- end --- return icon --- end, --- hl = function() --- local val = {} --- local filename = vim.fn.expand("%:t") --- local extension = vim.fn.expand("%:e") --- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) --- if icon ~= nil then --- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") --- else --- val.fg = "white" --- end --- val.bg = "bg" --- val.style = "bold" --- return val --- end, --- right_sep = " ", ---} ----- fileType ---components.active[3][2] = { --- provider = "file_type", --- hl = function() --- local val = {} --- local filename = vim.fn.expand("%:t") --- local extension = vim.fn.expand("%:e") --- local icon, name = require("nvim-web-devicons").get_icon(filename, extension) --- if icon ~= nil then --- val.fg = vim.fn.synIDattr(vim.fn.hlID(name), "fg") --- else --- val.fg = "white" --- end --- val.bg = "bg" --- val.style = "bold" --- return val --- end, --- right_sep = " ", ---} ----- fileSize ---components.active[3][3] = { --- provider = "file_size", --- enabled = function() --- return vim.fn.getfsize(vim.fn.expand("%:t")) > 0 --- end, --- hl = { --- fg = "skyblue", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- fileFormat ---components.active[3][4] = { --- provider = function() --- return "" .. vim.bo.fileformat:upper() .. "" --- end, --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- fileEncode ---components.active[3][5] = { --- provider = "file_encoding", --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ---components.active[3][6] = { --- provider = "position", --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- linePercent ---components.active[3][7] = { --- provider = "line_percentage", --- hl = { --- fg = "white", --- bg = "bg", --- style = "bold", --- }, --- right_sep = " ", ---} ----- scrollBar ---components.active[3][8] = { --- provider = "scroll_bar", --- hl = { --- fg = "yellow", --- bg = "bg", --- }, ---} --- ----- INACTIVE --- ----- fileType ---components.inactive[1][1] = { --- provider = "file_type", --- hl = { --- fg = "black", --- bg = "cyan", --- style = "bold", --- }, --- left_sep = { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- right_sep = { --- { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- " ", --- }, ---} --- ----- WINBAR ----- LEFT --- ----- nvimGps ---winbar_components.active[1][1] = { --- provider = function() --- return navic.get_location() --- end, --- enabled = function() --- return navic.is_available() --- end, --- hl = { --- fg = "orange", --- style = "bold", --- }, ---} --- ----- MID --- ----- RIGHT --- ----- LspName ---winbar_components.active[3][1] = { --- provider = "lsp_client_names", --- hl = { --- fg = "yellow", --- style = "bold", --- }, --- right_sep = " ", ---} ----- diagnosticErrors ---winbar_components.active[3][2] = { --- provider = "diagnostic_errors", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.ERROR) --- end, --- hl = { --- fg = "red", --- style = "bold", --- }, ---} ----- diagnosticWarn ---winbar_components.active[3][3] = { --- provider = "diagnostic_warnings", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.WARN) --- end, --- hl = { --- fg = "yellow", --- style = "bold", --- }, ---} ----- diagnosticHint ---winbar_components.active[3][4] = { --- provider = "diagnostic_hints", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.HINT) --- end, --- hl = { --- fg = "cyan", --- style = "bold", --- }, ---} ----- diagnosticInfo ---winbar_components.active[3][5] = { --- provider = "diagnostic_info", --- enabled = function() --- return lsp.diagnostics_exist(vim.diagnostic.severity.INFO) --- end, --- hl = { --- fg = "skyblue", --- style = "bold", --- }, ---} --- ----- INACTIVE --- ----- fileType ---winbar_components.inactive[1][1] = { --- provider = "file_type", --- hl = { --- fg = "black", --- bg = "cyan", --- style = "bold", --- }, --- left_sep = { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- right_sep = { --- { --- str = " ", --- hl = { --- fg = "NONE", --- bg = "cyan", --- }, --- }, --- " ", --- }, ---} --- ---require("feline").setup({ --- theme = colors, --- default_bg = bg, --- default_fg = fg, --- vi_mode_colors = vi_mode_colors, --- components = components, --- force_inactive = force_inactive, ---}) --- ---require("feline").winbar.setup({ --- components = winbar_components, --- force_inactive = force_inactive, ---}) -----local M = { vi = {} } ----- ----- -----M.vi.text = { ----- n = "NORMAL", ----- no = "NORMAL", ----- i = "INSERT", ----- v = "VISUAL", ----- V = "V-LINE", ----- [""] = "V-BLOCK", ----- c = "COMMAND", ----- cv = "COMMAND", ----- ce = "COMMAND", ----- R = "REPLACE", ----- Rv = "REPLACE", ----- s = "SELECT", ----- S = "SELECT", ----- [""] = "SELECT", ----- t = "TERMINAL", -----} ----- -----M.vi.colors = { ----- n = "FlnViCyan", ----- no = "FlnViCyan", ----- i = "FlnStatus", ----- v = "FlnViMagenta", ----- V = "FlnViMagenta", ----- [""] = "FlnViMagenta", ----- R = "FlnViRed", ----- Rv = "FlnViRed", ----- r = "FlnViBlue", ----- rm = "FlnViBlue", ----- s = "FlnViMagenta", ----- S = "FlnViMagenta", ----- [""] = "FelnMagenta", ----- c = "FlnViYellow", ----- ["!"] = "FlnViBlue", ----- t = "FlnViBlue", -----} ----- -----M.vi.sep = { ----- n = "FlnCyan", ----- no = "FlnCyan", ----- i = "FlnStatusBg", ----- v = "FlnMagenta", ----- V = "FlnMagenta", ----- [""] = "FlnMagenta", ----- R = "FlnRed", ----- Rv = "FlnRed", ----- r = "FlnBlue", ----- rm = "FlnBlue", ----- s = "FlnMagenta", ----- S = "FlnMagenta", ----- [""] = "FelnMagenta", ----- c = "FlnYellow", ----- ["!"] = "FlnBlue", ----- t = "FlnBlue", -----} ----- -----M.icons = { ----- locker = "", -- #f023 ----- page = "☰", -- 2630 ----- line_number = "", -- e0a1 ----- connected = "", -- f817 ----- dos = "", -- e70f ----- unix = "", -- f17c ----- mac = "", -- f179 ----- mathematical_L = "𝑳", ----- vertical_bar = "┃", ----- vertical_bar_thin = "│", ----- left = "", ----- right = "", ----- block = "█", ----- left_filled = "", ----- right_filled = "", ----- slant_left = "", ----- slant_left_thin = "", ----- slant_right = "", ----- slant_right_thin = "", ----- slant_left_2 = "", ----- slant_left_2_thin = "", ----- slant_right_2 = "", ----- slant_right_2_thin = "", ----- left_rounded = "", ----- left_rounded_thin = "", ----- right_rounded = "", ----- right_rounded_thin = "", ----- circle = "●", -----} ----- -----return M ------- Feline statusline definition. ------- ------- Note: This statusline does not define any colors. Instead the statusline is ------- built on custom highlight groups that I define. The colors for these ------- highlight groups are pulled from the current colorscheme applied. Check the ------- file: `lua/eden/modules/ui/colors.lua` to see how they are defined. ----- -----local u = require("eden.modules.ui.feline.util") -----local fmt = string.format ----- ------- "┃", "█", "", "", "", "", "", "", "●" ----- -----local get_diag = function(str) ----- local count = vim.lsp.diagnostic.get_count(0, str) ----- return (count > 0) and " " .. count .. " " or "" -----end ----- -----local function vi_mode_hl() ----- return u.vi.colors[vim.fn.mode()] or "FlnViBlack" -----end ----- -----local function vi_sep_hl() ----- return u.vi.sep[vim.fn.mode()] or "FlnBlack" -----end ----- -----local c = { ----- vimode = { ----- provider = function() ----- return string.format(" %s ", u.vi.text[vim.fn.mode()]) ----- end, ----- hl = vi_mode_hl, ----- right_sep = { str = " ", hl = vi_sep_hl }, ----- }, ----- gitbranch = { ----- provider = "git_branch", ----- icon = " ", ----- hl = "FlnGitBranch", ----- right_sep = { str = " ", hl = "FlnGitBranch" }, ----- enabled = function() ----- return vim.b.gitsigns_status_dict ~= nil ----- end, ----- }, ----- file_type = { ----- provider = function() ----- return fmt(" %s ", vim.bo.filetype:upper()) ----- end, ----- hl = "FlnAlt", ----- }, ----- fileinfo = { ----- provider = { name = "file_info", opts = { type = "relative" } }, ----- hl = "FlnAlt", ----- left_sep = { str = " ", hl = "FlnAltSep" }, ----- right_sep = { str = "", hl = "FlnAltSep" }, ----- }, ----- file_enc = { ----- provider = function() ----- local os = u.icons[vim.bo.fileformat] or "" ----- return fmt(" %s %s ", os, vim.bo.fileencoding) ----- end, ----- hl = "StatusLine", ----- left_sep = { str = u.icons.left_filled, hl = "FlnAltSep" }, ----- }, ----- cur_position = { ----- provider = function() ----- -- TODO: What about 4+ diget line numbers? ----- return fmt(" %3d:%-2d ", unpack(vim.api.nvim_win_get_cursor(0))) ----- end, ----- hl = vi_mode_hl, ----- left_sep = { str = u.icons.left_filled, hl = vi_sep_hl }, ----- }, ----- cur_percent = { ----- provider = function() ----- return " " .. require("feline.providers.cursor").line_percentage() .. " " ----- end, ----- hl = vi_mode_hl, ----- left_sep = { str = u.icons.left, hl = vi_mode_hl }, ----- }, ----- default = { -- needed to pass the parent StatusLine hl group to right hand side ----- provider = "", ----- hl = "StatusLine", ----- }, ----- lsp_status = { ----- provider = function() ----- return require("lsp-status").status() ----- end, ----- hl = "FlnStatus", ----- left_sep = { str = "", hl = "FlnStatusBg", always_visible = true }, ----- right_sep = { str = "", hl = "FlnErrorStatus", always_visible = true }, ----- }, ----- lsp_error = { ----- provider = function() ----- return get_diag("Error") ----- end, ----- hl = "FlnError", ----- right_sep = { str = "", hl = "FlnWarnError", always_visible = true }, ----- }, ----- lsp_warn = { ----- provider = function() ----- return get_diag("Warning") ----- end, ----- hl = "FlnWarn", ----- right_sep = { str = "", hl = "FlnInfoWarn", always_visible = true }, ----- }, ----- lsp_info = { ----- provider = function() ----- return get_diag("Information") ----- end, ----- hl = "FlnInfo", ----- right_sep = { str = "", hl = "FlnHintInfo", always_visible = true }, ----- }, ----- lsp_hint = { ----- provider = function() ----- return get_diag("Hint") ----- end, ----- hl = "FlnHint", ----- right_sep = { str = "", hl = "FlnBgHint", always_visible = true }, ----- }, ----- ----- in_fileinfo = { ----- provider = "file_info", ----- hl = "StatusLine", ----- }, ----- in_position = { ----- provider = "position", ----- hl = "StatusLine", ----- }, -----} ----- -----local active = { ----- { -- left ----- c.vimode, ----- c.gitbranch, ----- c.fileinfo, ----- c.default, -- must be last ----- }, ----- { -- right ----- c.lsp_status, ----- c.lsp_error, ----- c.lsp_warn, ----- c.lsp_info, ----- c.lsp_hint, ----- c.file_type, ----- c.file_enc, ----- c.cur_position, ----- c.cur_percent, ----- }, -----} ----- -----local inactive = { ----- { c.in_fileinfo }, -- left ----- { c.in_position }, -- right -----} ----- ------- -- Define autocmd that generates the highlight groups from the new colorscheme ------- -- Then reset the highlights for feline ------- edn.aug.FelineColorschemeReload = { ------- { ------- { "SessionLoadPost", "ColorScheme" }, ------- function() ------- require("eden.modules.ui.feline.colors").gen_highlights() ------- -- This does not look like it is required. If this is called I see the ^^^^^^ that ------- -- seperates the two sides of the bar. Since the entire config uses highlight groups ------- -- all that is required is to redefine them. ------- -- require("feline").reset_highlights() ------- end, ------- }, ------- } ----- -----require("feline").setup({ ----- components = { active = active, inactive = inactive }, ----- highlight_reset_triggers = {}, ----- force_inactive = { ----- filetypes = { ----- "NvimTree", ----- "packer", ----- "dap-repl", ----- "dapui_scopes", ----- "dapui_stacks", ----- "dapui_watches", ----- "dapui_repl", ----- "LspTrouble", ----- "qf", ----- "help", ----- }, ----- buftypes = { "terminal" }, ----- bufnames = {}, ----- }, ----- disable = { ----- filetypes = { ----- "dashboard", ----- "startify", ----- }, ----- }, -----}) diff --git a/lua/plugins/floaterm.lua b/lua/plugins/floaterm.lua deleted file mode 100644 index ea554af..0000000 --- a/lua/plugins/floaterm.lua +++ /dev/null @@ -1,6 +0,0 @@ -vim.cmd([[ - let g:floaterm_keymap_new = 't' - let g:floaterm_keymap_prev = 'tn' - let g:floaterm_keymap_next = 'tp' - let g:floaterm_keymap_toggle = 'tt' -]]) diff --git a/lua/plugins/fzf.lua b/lua/plugins/fzf.lua deleted file mode 100644 index 4195cd6..0000000 --- a/lua/plugins/fzf.lua +++ /dev/null @@ -1,66 +0,0 @@ -vim.cmd([[ - " FZF fuzzy finder - "--------------------------------------- - " Enable per-command history. - " CTRL-N and CTRL-P will be automatically bound to next-history and - " previous-history instead of down and up. If you don't like the change, - " explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS. - let g:fzf_history_dir = '~/.local/share/fzf-history' - map fz :FZF - map a :Files - map l :Lines - map L :BLines - map B :Buffers - map h :History: - nnoremap g :Rg - "nnoremap t :Tags - nnoremap m :Marks - " This is the default extra key bindings - let g:fzf_action = { - \ 'ctrl-t': 'tab split', - \ 'ctrl-x': 'split', - \ 'ctrl-y': 'vsplit' } - let g:fzf_tags_command = 'ctags -R' - " Border color - let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } - let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' - let $FZF_DEFAULT_COMMAND="rg --files --hidden" - " Customize fzf colors to match your color scheme - let g:fzf_colors = - \ { 'fg': ['fg', 'Normal'], - \ 'bg': ['bg', 'Normal'], - \ 'hl': ['fg', 'Comment'], - \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], - \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], - \ 'hl+': ['fg', 'Statement'], - \ 'info': ['fg', 'PreProc'], - \ 'border': ['fg', 'Ignore'], - \ 'prompt': ['fg', 'Conditional'], - \ 'pointer': ['fg', 'Exception'], - \ 'marker': ['fg', 'Keyword'], - \ 'spinner': ['fg', 'Label'], - \ 'header': ['fg', 'Comment'] } - " Get Files - command! -bang -nargs=? -complete=dir Files - \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) - " Get text in files with Rg - command! -bang -nargs=* Rg - \ call fzf#vim#grep( - \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, - \ fzf#vim#with_preview(), 0) - " Ripgrep advanced - function! RipgrepFzf(query, fullscreen) - let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' - let initial_command = printf(command_fmt, shellescape(a:query)) - let reload_command = printf(command_fmt, '{q}') - let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} - call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) - endfunction - command! -nargs=* -bang RG call RipgrepFzf(, 0) - " Git grep - command! -bang -nargs=* GGrep - \ call fzf#vim#grep( - \ 'git grep --line-number '.shellescape(), 0, - \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) - command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) -]]) diff --git a/lua/plugins/git.lua b/lua/plugins/git.lua deleted file mode 100644 index 963f7f9..0000000 --- a/lua/plugins/git.lua +++ /dev/null @@ -1,11 +0,0 @@ -local status, git = pcall(require, "git") -if (not status) then return end - -git.setup({ - keymaps = { - -- Open blame window - blame = "gb", - -- Open file/folder in git repository - browse = "go", - } -}) diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua deleted file mode 100644 index 53d1a1e..0000000 --- a/lua/plugins/gitsigns.lua +++ /dev/null @@ -1 +0,0 @@ -require('gitsigns').setup {} diff --git a/lua/plugins/heirline.backup.lua b/lua/plugins/heirline.backup.lua deleted file mode 100644 index d65de92..0000000 --- a/lua/plugins/heirline.backup.lua +++ /dev/null @@ -1,733 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -require("nvim-gps").setup({ - icons = { - ["class-name"] = " ", - ["function-name"] = " ", - ["method-name"] = " ", - ["container-name"] = "炙", - ["tag-name"] = "炙", - }, -}) - -vim.o.laststatus = 3 - -local colors = { - bg = "#333842", - brown = "#504945", - white = "#f8f8f0", - grey = "#8F908A", - black = "#000000", - pink = "#f92672", - green = "#a6e22e", - blue = "#66d9ef", - yellow = "#e6db74", - orange = "#fd971f", - purple = "#ae81ff", - red = "#e95678", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -local ViMode = { - -- get vim current mode, this information will be required by the provider - -- and the highlight functions, so we compute it only once per component - -- evaluation and store it as a component attribute - init = function(self) - self.mode = vim.fn.mode(1) -- :h mode() - end, - -- Now we define some dictionaries to map the output of mode() to the - -- corresponding string and color. We can put these into `static` to compute - -- them at initialisation time. - static = { - mode_names = { - -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - mode_colors = { - n = colors.green, - i = colors.pink, - v = colors.blue, - V = colors.blue, - [""] = colors.blue, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - }, - -- We can now access the value of mode() that, by now, would have been - -- computed by `init()` and use it to index our strings dictionary. - -- note how `static` fields become just regular attributes once the - -- component is instantiated. - -- To be extra meticulous, we can also add some vim statusline syntax to - -- control the padding and make sure our string is always at least 2 - -- characters long. Plus a nice Icon. - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" - end, - -- Same goes for the highlight. Now the foreground will change according to the current mode. - hl = function(self) - local mode = self.mode:sub(1, 1) -- get only the first mode character - return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } - end, -} - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} --- We can now define some children separately and add them later - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "[No Name]" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return "" - end - end, - hl = { fg = colors.orange }, - }, -} - --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - -- use `force` because we need to override the child's hl foreground - return { fg = colors.cyan, bold = true, force = true, bg = colors.bg } - end - end, -} - --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local Diagnostics = { - condition = conditions.has_diagnostics, - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, -} - -local Git = { - condition = conditions.is_git_repo, - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - hl = { fg = colors.orange, bg = colors.bg }, - { - -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - return count > 0 and ("  " .. count) - end, - hl = { fg = colors.git.change, bg = colors.bg }, - }, -} - -local WorkDir = { - provider = function() - local icon = " " - local cwd = vim.fn.getcwd(0) - cwd = vim.fn.fnamemodify(cwd, ":~") - if not conditions.width_percent_below(#cwd, 0.25) then - cwd = vim.fn.pathshorten(cwd) - end - local trail = cwd:sub(-1) == "/" and "" or "/" - return icon .. cwd .. trail - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, -} - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - hl = { bold = true, bg = colors.bg }, -} - -local Ruler = { - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - provider = "%7 %p%% Ln %l, Col %c", -} - -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " " } - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileEncoding = { - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:upper() - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - FileEncoding, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileNameShort = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":t") - if filename == "" then - return "[No Name]" - end - return filename - end, - hl = { fg = colors.gray, bg = colors.bg }, -} - -local FileNameShortBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileNameShortBlock = utils.insert( - FileNameShortBlock, - FileIcon, - FileNameShort, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local Gps = { - condition = require("nvim-gps").is_available, - provider = function() - local loc = require("nvim-gps").get_location() - if loc == "" then - return "" - end - return "> " .. loc - end, - hl = { fg = colors.gray, bg = colors.bg }, -} - -local DefaultStatusline = { - ViMode, - Space, - FileNameBlock, - Space, - Diagnostics, - Align, - Ruler, - Space, - FileInfoBlock, - Space, - Git, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - FileType, - Space, - Align, -} - -local TerminalStatusline = { - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - TerminalName, - Align, -} - -local StatusLines = { - fallthrough = false, - SpecialStatusline, - TerminalStatusline, - DefaultStatusline, -} - -local GSpace = { provider = " ", hl = { bg = colors.bg } } - -local WinBars = { - fallthrough = false, - { - -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix", "nofile", "promt" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - provider = "", - }, - { - -- An inactive winbar for regular files - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) and not conditions.is_active() - end, - utils.surround( - { "", "" }, - colors.bright_bg, - { hl = { fg = "gray", force = true }, GSpace, TerminalName, Align } - ), - }, - { - -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, colors.dark_red, { - GSpace, - TerminalName, - Align, - }), - }, - { - -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround( - { "", "" }, - colors.bright_bg, - { hl = { fg = "gray", force = true }, GSpace, FileNameShortBlock, Align } - ), - }, - -- A winbar for regular files - { GSpace, FileNameShortBlock, GSpace, Gps, Align }, -} - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+]" - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "" - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineDiagnostics = { - static = { - error_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = " " .. vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - init = function(self) - self.errors = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(self.bufnr, { severity = vim.diagnostic.severity.INFO }) - end, - { - provider = function(self) - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - else - return "TabLine" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = true }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineFileIcon, - TablineFileName, - TablineFileFlags, - TablineDiagnostics, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.bo[self.bufnr].modified - end, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLine").bg - end -end, { TablineFileNameBlock, TablineCloseButton }) - --- and here we go -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - hl = "TabLine", -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - -local TabLine = { TabLineOffset, BufferLine, TabPages } - -require("heirline").setup(StatusLines, WinBars, TabLine) - -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -vim.api.nvim_create_augroup("Heirline", { clear = true }) -vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - local colors = setup_colors() - utils.on_colorscheme(colors) - end, - group = "Heirline", -}) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) diff --git a/lua/plugins/heirline.backup2.lua b/lua/plugins/heirline.backup2.lua deleted file mode 100644 index 9f5c4ca..0000000 --- a/lua/plugins/heirline.backup2.lua +++ /dev/null @@ -1,1921 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - --- Colors ---local colors = { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, ---} - ---local colors = { --- gray = '#23232e', --- lightgray = '#5f6a8e', --- orange = '#ffb86c', --- purple = '#bd93f9', --- red = '#ff5555', --- yellow = '#f1fa8c', --- green = '#50fa7b', --- white = '#f8f8f2', --- black = '#282a36', ---} -local colors = { - bg = "#333842", - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - brown = "#504945", - white = "#f8f8f0", - grey = "#8F908A", - pink = "#f92672", - --green = "#a6e22e", - green = "#AAD94C", - --blue = "#66d9ef", - blue = "#39BAE6", - yellow = "#e6db74", - --orange = "#fd971f", - orange = "#FA8D3F", - purple = "#ae81ff", - --red = "#e95678", - red = "#F07171", - cyan = "#66d9eC", - mode_fg = "#242424", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - ---local mode_lable = { --- n = 'NORMAL', --- no = 'OPPEND', --- nov = 'N?', --- noV = 'N?', --- ['no\22'] = 'N?', --- niI = 'Ni', --- niR = 'Nr', --- niV = 'Nv', --- nt = 'N-TERM', --- v = 'VISUAL', --- vs = 'Vs', --- V = 'V-LINE', --- Vs = 'Vs', --- ['\22'] = 'V-BLCK', --- ['\22s'] = '^V', --- s = 'SELECT', --- S = 'S-LINE', --- ['\19'] = 'S-BLCK', --- i = 'INSERT', --- ic = 'ICOMPL', --- ix = 'Ix', --- R = 'REPLACE', --- Rc = 'Rc', --- Rx = 'Rx', --- Rv = 'VRPLCE', --- Rvc = 'Rv', --- Rvx = 'Rv', --- c = 'CMMAND', --- cv = 'PROMPT', --- r = '...', --- rm = 'MORE', --- ['r?'] = 'CNFIRM', --- ['!'] = 'SHELL', --- t = 'TERM', ---} --- ---local mode_colors_table = { --- n = 'red', --- no = 'blue', --- nov = 'blue', --- noV = 'blue', --- niI = 'red', --- niR = 'red', --- niV = 'red', --- nt = 'red', --- v = 'cyan', --- vs = 'cyan', --- V = 'cyan', --- Vs = 'cyan', --- ['\22'] = 'cyan', --- ['\22s'] = 'cyan', --- s = 'purple', --- S = 'purple', --- ['\19'] = 'purple', --- i = 'blue', --- ic = 'blue', --- ix = 'blue', --- R = 'orange', --- Rc = 'orange', --- Rx = 'orange', --- Rv = 'orange', --- Rvc = 'orange', --- Rvx = 'orange', --- c = 'green', --- cv = 'green', --- r = 'green', --- rm = 'green', --- ['r?'] = 'green', --- ['!'] = 'red', --- t = 'red', ---} --- ---local mode_colors = setmetatable({ --- n = { fg = 'red' } ---}, { --- __index = function(_, mode) --- return { --- fg = 'mode_fg', --- bg = mode_colors_table[mode], --- } --- end ---}) --- --- ---local VimModeNormal = { --- condition = function(self) --- return self.mode == 'n' --- end, --- provider = ' ●', ---} --- ---local VimModeOthers = { --- condition = function(self) --- return self.mode ~= 'n' --- end, --- --- utils.surround({ '', '' }, --- function(self) --- return mode_colors[self.mode].bg --- end, --- { --- { --- provider = function(self) --- return '● ' .. mode_lable[self.mode] --- end, --- }, --- hl = function(self) --- return mode_colors[self.mode] --- end --- } --- ), ---} --- ---local ViMode = { --- init = function(self) --- self.mode = vim.fn.mode(1) --- end, --- --- VimModeNormal, VimModeOthers, --- --- update = { 'ModeChanged' } ---} ---local colors = require'kanagawa.colors'.setup() -- wink - ---utils.surround({ "", "" }, function(self) return self:mode_color() end, {Ruler, hl = {fg = 'black'}} ), --- we are surrounding the component and adjusting the foreground in one go! - --- ViMode truemode ---local ViMode = { --- -- get vim current mode, this information will be required by the provider --- -- and the highlight functions, so we compute it only once per component --- -- evaluation and store it as a component attribute --- init = function(self) --- self.mode = vim.fn.mode(1) -- :h mode() --- --- -- execute this only once, this is required if you want the ViMode --- -- component to be updated on operator pending mode --- if not self.once then --- vim.api.nvim_create_autocmd("ModeChanged", { --- pattern = "*:*o", --- command = "redrawstatus", --- }) --- self.once = true --- end --- end, --- -- Now we define some dictionaries to map the output of mode() to the --- -- corresponding string and color. We can put these into `static` to compute --- -- them at initialisation time. --- static = { --- mode_names = { -- change the strings if you like it vvvvverbose! --- ["n"] = "NORMAL ", --- ["no"] = "N·OPERATOR PENDING ", --- ["v"] = "VISUAL ", --- ["V"] = "V·LINE ", --- [""] = "V·BLOCK ", --- ["s"] = "SELECT ", --- ["S"] = "S·LINE ", --- [""] = "S·BLOCK ", --- ["i"] = "INSERT ", --- ["R"] = "REPLACE ", --- ["Rv"] = "V·REPLACE ", --- ["c"] = "COMMAND ", --- ["cv"] = "VIM EX ", --- ["ce"] = "EX ", --- ["r"] = "PROMPT ", --- ["rm"] = "MORE ", --- ["r?"] = "CONFIRM ", --- ["!"] = "SHELL ", --- ["t"] = "TERMINAL ", --- }, --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- --n = "blue" , --- --i = "green", --- --v = "cyan", --- --V = "cyan", --- --["\22"] = "cyan", --- --c = "orange", --- --s = "purple", --- --S = "purple", --- --["\19"] = "purple", --- --R = "orange", --- --r = "orange", --- --["!"] = "red", --- --t = "red", --- }, --- }, --- -- We can now access the value of mode() that, by now, would have been --- -- computed by `init()` and use it to index our strings dictionary. --- -- note how `static` fields become just regular attributes once the --- -- component is instantiated. --- -- To be extra meticulous, we can also add some vim statusline syntax to --- -- control the padding and make sure our string is always at least 2 --- -- characters long. Plus a nice Icon. --- provider = function(self) --- return " %2(" .. self.mode_names[self.mode] .. "%)" --- --return " %2("..self.mode_names[self.mode].."%)" --- -- --- -- --- -- --- end, --- -- Same goes for the highlight. Now the foreground will change according to the current mode. --- hl = function(self) --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- end, --- -- Re-evaluate the component only on ModeChanged event! --- -- This is not required in any way, but it's there, and it's a small --- -- performance improvement. --- update = { --- "ModeChanged", --- }, --optional ---} -local ViMode = { - static = { - mode_names = { -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color, fg = colors.bg, bold = true } - end, -} - -local ViModeColor = { - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - }, -} - --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} --- ----- lsp status ----- I personally use it only to display progress messages! ----- See lsp-status/README.md for configuration options. --- ----- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. ---local LSPMessages = { --- provider = require("lsp-status").status, --- hl = { fg = "gray" }, ---} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local fill = { provider = "%=", hl = { bg = colors.nobg } } ---local LeftSep = { provider = "" hl = { fg = colors.bg } } ---local RightSep = { provider = "" hl = { fg = colors.bg }} - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - --return { fg = self.icon_color } - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "[No Name]" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Directory").fg, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return "" - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - -- use `force` because we need to override the child's hl foreground - --return { fg = "cyan", bold = true, force = true } - return { fg = "blue", bold = true, force = true, bg = colors.bg } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - -- return string.upper(vim.bo.filetype) - --end, - ----hl = { fg = utils.get_highlight("Type").fg, bold = true }, - --hl = { fg = utils.get_highlight("Type").fg, bold = true, bg = colors.bg }, - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:upper() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - provider = "%3(%2l%):%c %P", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} ---local ScrollBar = { --- static = { --- --sbar = { "▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" }, --- sbar = { "🭶", "🭷", "🭸", "🭹", "🭺", "🭻" }, --- }, --- provider = function(self) --- local curr_line = vim.api.nvim_win_get_cursor(0)[1] --- local lines = vim.api.nvim_buf_line_count(0) --- local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1 --- return string.rep(self.sbar[i], 2) --- end, --- --hl = { fg = "blue", bg = "bright_bg" }, --- hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, ---} -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%p%%" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - --hl = { fg = "blue", bold = true }, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - --hl = { fg = "blue", bold = true }, - hl = { bold = true, bg = colors.bg }, -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - FileEncoding, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - --- Statusline - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) - ---utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), -local DefaultStatusline = { - ViMode, - Space, - FileNameBlock, - Space, - Git, - Space, - Diagnostics, - Align, - Navic, - DAPMessages, - Align, - Space, - FileInfoBlock, - Space, - WordCount, - Ruler, - Space, - --Position, - --Percentage, - --ScrollBar, - --Space, - --LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar -} - ---local InactiveStatusline = { --- condition = conditions.is_not_active, --- FileType, --- Space, --- FileName, --- Align, ---} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - FileType, - Space, - Align, - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - hl = { bg = "dark_red" }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - { condition = conditions.is_active, ViMode, Space }, - FileType, - Space, - TerminalName, - Align, -} - ---local StatusLines = { --- --- hl = function() --- if conditions.is_active() then --- return "StatusLine" --- else --- return "StatusLineNC" --- end --- end, --- --- -- the first statusline with no condition, or which condition returns true is used. --- -- think of it as a switch case with breaks to stop fallthrough. --- fallthrough = false, --- --- SpecialStatusline, --- TerminalStatusline, --- --InactiveStatusline, --- DefaultStatusline, ---} -local StatusLines = { - - hl = function() - if conditions.is_active() then - return "StatusLine" - else - return "StatusLineNC" - end - end, - - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - --InactiveStatusline, - DefaultStatusline, -} ---hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, --- hl = { bg = colors.bg }, ---require("heirline").setup(StatusLines) --- we're done. - ---local FelineStyle = { --- --- -- stop at child where buftype/filetype/bufname matches --- fallthrough = false, --- --- { -- Identify the buftype/filetype/bufname first --- condtion = function() --- return conditions.buffer_matches({...}) --- end, --- --- -- Evaluate only the "active" or "inactive" child --- fallthrough = false, --- --- { -- If it's the current window, display some components --- condition = conditions.is_active --- {...} -- --- }, --- { -- Otherwise, display some other components --- {...} -- --- } --- }, --- { -- this block can be exactly as the one above for a different kind of --- -- buffer --- ... --- } ---} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) -local active_middle_segment = { --{{{ - -- provider = "%999X  %X", - - --provider = function(self) - -- --return " %999X %999X " - -- return " %2("..self.mode_names[self.mode].."%)" - -- -- - -- -- - -- -- - --end, - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - --utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), - }, - -- A winbar for regular files - --utils.surround({ "", "" }, "bright_bg", FileNameBlock), - --█🙼🙽🙼█⮘██⮚ - --utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = function(self) - -- local color = self:mode_color() -- here! - -- return { bg = color, bold = true, force = true } - --end, - --}), - --utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), -} - ---utils.surround({ "", "" }, function(self) return self:mode_color() end, { active_middle_segment, hl = { fg = colors.bg, force = true } }) - -local WinBars = { - fill, - active_middle_segment, - fill, -} --- --utils.surround({ " ", " " }, colors.nobg, { fill, active_middle_segment, fill }) --- --static = { --- -- mode_colors_map = { --- -- n = colors.blue, --- -- i = colors.green, --- -- v = colors.purple, --- -- V = colors.purple, --- -- [""] = colors.purple, --- -- c = colors.red, --- -- s = colors.purple, --- -- S = colors.purple, --- -- [""] = colors.purple, --- -- R = colors.orange, --- -- r = colors.orange, --- -- ["!"] = colors.red, --- -- t = colors.red, --- -- }, --- -- mode_color = function(self) --- -- local mode = conditions.is_active() and vim.fn.mode() or "n" --- -- return self.mode_colors_map[mode] --- -- end, --- --}, --- --utils.surround({ " ", " " }, colors.nobg, { active_middle_segment, hl = function(self) --- -- local color = self:mode_color() -- here! --- -- return { bg = color, bold = true, force = true } --- --end, --- --}) ---} -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - --- Use it anywhere! ---local WinBarFileName = utils.surround({ "", "" }, "bright_bg", { --- hl = function() --- if not conditions.is_active() then --- return { fg = "gray", force = true } --- end --- end, --- FileNameBlock, --- Space, --- CloseButton, ---}) - ---local WinBars = { --- -- init = utils.pick_child_on_condition, --- fallthrough = false, --- { --- condition = function() --- return conditions.buffer_matches({ --- buftype = { "nofile", "prompt", "help", "quickfix" }, --- filetype = { "^git.*", "fugitive" }, --- }) --- end, --- init = function() --- vim.opt_local.winbar = nil --- end, --- }, --- { --- condition = function() --- return conditions.buffer_matches({ buftype = { "terminal" } }) --- end, --- utils.surround({ "", "" }, "dark_red", { --- FileType, --- Space, --- TerminalName, --- CloseButton, --- }), --- }, --- utils.surround({ "", "" }, "bright_bg", { --- hl = function() --- if conditions.is_not_active() then --- return { fg = "gray", force = true } --- end --- end, --- --- FileNameBlock, --- CloseButton, --- }), ---} - --- TabLine ---local TabLine ={ --- hl = { bg = colors.bg }, ---} -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. ". " - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "[No Name]" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - --- this looks exactly like the FileFlags component that we saw in --- #crash-course-part-ii-filename-and-friends, but we are indexing the bufnr explicitly --- also, we are adding a nice icon for terminal buffers. ---local TablineFileFlags = { --- { --- condition = function(self) --- return vim.api.nvim_buf_get_option(self.bufnr, "modified") --- end, --- provider = "[+]", --- --hl = { fg = colors.green }, --- hl = { fg = colors.green, bold = true, bg = colors.bg }, --- }, --- { --- condition = function(self) --- return not vim.api.nvim_buf_get_option(self.bufnr, "modifiable") --- or vim.api.nvim_buf_get_option(self.bufnr, "readonly") --- end, --- provider = function(self) --- if vim.api.nvim_buf_get_option(self.bufnr, "buftype") == "terminal" then --- return "  " --- else --- return "" --- end --- end, --- hl = { fg = "orange", bg = colors.bg }, --- }, ---} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+]" - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "" - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLine" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! ---local TablineBufferBlock = utils.surround({ "", "", hl = { bg =colors.bg } }, function(self) --- if self.is_active then --- return utils.get_highlight("TabLineSel").fg, utils.get_highlight("TabLineSel").bg --- else --- return utils.get_highlight("TabLine").fg, utils.get_highlight("TabLine").bg --- end -----end, { TabLine, TablineFileNameBlock, TablineCloseButton }) ---end, { TablineFileNameBlock, TablineCloseButton }) - ---local TablineBufferBlock = utils.surround({ "█", "█" }, "bg", { --- hl = function() --- if not conditions.is_active() then --- return { fg = "gray", force = true, bg = colors.bg } --- end --- end, --- TablineFileNameBlock, --- TablineCloseButton, ---}) ---local TablineBufferBlock = utils.surround({ "█", "█" }, --- { hl = function(self) --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- end, }, ---{ TablineFileNameBlock, TablineCloseButton, { hl = ViMode }, }) - ---local TablineBufferBlock = { --- init = function(self) --- --- self.mode = vim.fn.mode(1) -- :h mode() --- --- vim.api.nvim_create_autocmd("ModeChanged", { --- pattern = "*:*o", --- command = "redrawstatus", --- }) --- self.once = true --- end, --- static = { --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- }, --- hl = function(self) --- if self.is_active then --- local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { fg = self.mode_colors[mode], bold = true, } --- return { bg = self.mode_colors[mode], fg = colors.bg, bold = true } --- else --- return utils.get_highlight("TabLine").bg --- end --- end, --- update = { --- "ModeChanged", --- }, --optional --- { TablineFileNameBlock, TablineCloseButton } ---} - ---local TabLineSel = { --- hl = { bg = self.mode_colors[mode], fg = colors.bg, bold = true } ---} ---local ViMode2 = { --- init = function(self) --- self.mode = vim.fn.mode() --- end, --- static = { --- mode_colors = { --- n = "red", --- i = "green", --- v = "blue", --- c = "orange" --- --- } --- }, --- provider = function(self) --- return string.upper(self.mode) --- end, --- hl = function(self) --- return { fg = self.mode_colors[self.mode], bold = true, } --- end ---} ---local surrr = { --- utils.surround({ "", "" }, "red", { --- utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), --- { provider = "Normal" }, --- }), ---} ---local statusline = ViMode - ---local TablineBufferBlock = utils.surround({ "", "" }, function(self) --- if self.is_active then --- --self.mode = vim.fn.mode(1) -- :h mode() --- --- --return utils.get_highlight(vim.api.nvim_get_mode().mode).bg --- return utils.get_highlight("TabLineSel").bg --- --return utils.get_highlight("Normal").bg --- --local mode = self.mode:sub(1, 1) -- get only the first mode character --- --return { bg = TabLineSel, fg = colors.bg, bold = true } --- else --- return utils.get_highlight("TabLine").bg --- end ---end, { TablineFileNameBlock, TablineCloseButton }) - -local TablineBufferBlock = utils.surround({ "█", "▎" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLine").bg - end -end, { TablineFileNameBlock, TablineCloseButton }) ---█ ---local TablineBufferBlock = { --- init = function(self) --- self.mode = vim.fn.mode() --- end, --- static = { --- mode_colors = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- }, --- hl = function(self) --- if conditions.is_active() then --- return { bg = self.mode_colors[self.mode], fg = colors.bg, bold = true } --- else --- return utils.get_highlight("Tabline").bg --- end --- end, --- update = { --- "ModeChanged", --- }, --optional --- { TablineFileNameBlock, TablineCloseButton }, ---} - ---local TablineBufferBlock = { --- static = { --- mode_colors_map = { --- n = colors.blue, --- i = colors.green, --- v = colors.purple, --- V = colors.purple, --- [""] = colors.purple, --- c = colors.red, --- s = colors.purple, --- S = colors.purple, --- [""] = colors.purple, --- R = colors.orange, --- r = colors.orange, --- ["!"] = colors.red, --- t = colors.red, --- }, --- mode_color = function(self) --- local mode = conditions.is_active() and vim.fn.mode() or "n" --- return self.mode_colors_map[mode] --- end, --- }, --- { -- A special winbar for terminals --- condition = function() --- return conditions.buffer_matches({ buftype = { "terminal" } }) --- end, --- utils.surround({ "", "" }, "dark_red", { --- FileType, --- Space, --- TerminalName, --- }), --- }, --- { -- An inactive winbar for regular files --- condition = function() --- return conditions.is_not_active() --- end, --- utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton } ) --- }, --- { --- condition = function() --- return conditions.is_active() --- end, --- utils.surround({ "█", "█" }, function(self) return self:mode_color() end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ) --- }, ---function() ---if self.is_active then ---utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), ---utils.surround({ "", "" }, function(self) return self:mode_color() end, { FileNameBlock, hl = { fg = colors.bg, force = true } } ), ---utils.surround({ "█", "█" }, function() return utils.get_highlight("TabLine").bg end, { TablineFileNameBlock, TablineCloseButton, hl = { fg = colors.bg, force = true } } ), ---} ---ViMode = utils.surround({ "", "" }, function(self) --- if self.is_active then --- return self:mode_color() --- else --- return utils.get_highlight("TabLine").bg --- end --- end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } ) --- -----} ---local TablineBufferBlock = { --- ViMode, --- TablineFileName, --- TablineCloseButton, ---} --- A winbar for regular files ---utils.surround({ "", "" }, "bright_bg", FileNameBlock), ---utils.surround({ "", "" }, function(self) return self:mode_color() end, FileNameBlock), -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- if self.is_active then --- return utils.get_highlight("TabLineSel").bg --- else --- return utils.get_highlight("TabLine").bg --- end ---end, { TablineFileNameBlock, TablineCloseButton, } ) --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) ---local StatusLines = { --- --- hl = function() --- if conditions.is_active() then --- return "StatusLine" --- else --- return "StatusLineNC" --- end --- end, --- --- -- the first statusline with no condition, or which condition returns true is used. --- -- think of it as a switch case with breaks to stop fallthrough. --- fallthrough = false, --- --- SpecialStatusline, --- TerminalStatusline, --- --InactiveStatusline, --- DefaultStatusline, ---} --- --- --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, --- hl = { bg = colors.bg }, ---local TabLine ={ --- hl = { bg = colors.bg }, ---} --- Window Close button: Let the callback know from which window it was clicked from! --- The following is the recommended way of achieving that: -require("heirline").setup(StatusLines, WinBars, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -vim.api.nvim_create_augroup("Heirline", { clear = true }) -vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - local colors = setup_colors() - utils.on_colorscheme(colors) - end, - group = "Heirline", -}) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) --- Theming ---local function setup_colors() --- return { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, --- } ---end ---require('heirline').load_colors(setup_colors()) --- ---vim.api.nvim_create_augroup("Heirline", { clear = true }) ---vim.api.nvim_create_autocmd("ColorScheme", { --- callback = function() --- local colors = setup_colors() --- utils.on_colorscheme(colors) --- end, --- group = "Heirline", ---}) diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua deleted file mode 100644 index 78408dc..0000000 --- a/lua/plugins/heirline.lua +++ /dev/null @@ -1,1191 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - white = "#f8f8f2", - black = "#000000", - darkgray = "#23232e", - gray = "#2d2b3a", - lightgray = "#d6d3ea", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - purple = "#BF40BF", - violet = "#7F00FF", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local ViMode = { - init = function(self) - self.mode = vim.fn.mode(1) - if not self.once then - vim.cmd("au ModeChanged *:*o redrawstatus") - end - self.once = true - end, - static = { - mode_names = { - n = "NORMAL ", - no = "N·OPERATOR PENDING ", - nov = "N?", - noV = "N?", - ["no\22"] = "N? ", - niI = "Ni", - niR = "Nr", - niV = "Nv", - nt = "Nt", - v = "VISUAL ", - vs = "Vs", - V = "V·LINE ", - ["\22"] = "V·BLOCK ", - ["\22s"] = "V·BLOCK ", - s = "SELECT ", - S = "S·LINE ", - ["\19"] = "S·BLOCK ", - i = "INSERT ", - ix = "insert x ", - ic = "insert c ", - R = "REPLACE ", - Rc = "Rc", - Rx = "Rx", - Rv = "V·REPLACE ", - Rvc = "Rv", - Rvx = "Rv", - c = "COMMAND ", - cv = "VIM EX ", - ce = "EX ", - r = "PROMPT ", - rm = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - t = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%) " - end, - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - update = { - "ModeChanged", - }, -} - --- LSP -local LSPActive = { - condition = conditions.lsp_attached, - update = { "LspAttach", "LspDetach" }, - - provider = function() - local buf_clients = vim.lsp.buf_get_clients() - local buf_client_names = {} - - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" then - table.insert(buf_client_names, client.name) - end - end - return "⚙️ " .. table.concat(buf_client_names, "") - end, - hl = { fg = colors.lightgray, bold = false }, -} - --- Navic -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = colors.white }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = colors.white }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and (" 柳" .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileNameBlock: FileIcon, FileName and friends -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} - --- FileIcon, FileName, FileFlags and FileNameModifier -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, - hl = { fg = colors.white, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" -- ±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} - -local FileNameModifier = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = colors.white, bold = false, bg = colors.bg }, -} - -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - --return fmt ~= "unix" and fmt:upper() - return fmt ~= "unix" and fmt:lower() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = " 暈", - hl = { bold = true, fg = colors.yellow }, -} - -local help_file_name = { - condition = function() - return vim.bo.filetype == "help" - end, - provider = function() - local filename = vim.api.nvim_buf_get_name(0) - return vim.fn.fnamemodify(filename, ":t") - end, - hl = { fg = colors.blue }, -} - --- Cursor position: Ruler ---local Ruler = { - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - --provider = "%6(%l:%1.5c/%L%) ", - --provider = "%3(%l:%1.5c/%L%) ", - --provider = "%7(%l/%3L%):%2c ", --- provider = "%7(%l:%c%) ", - --provider = "%l:%c ", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, --- hl = { fg = colors.darkgray, bold = true }, ---} -local leftruler = { Space, Align } -local rightruler = { Align, Space } -local cursor_location = { - --{ provider = "", hl = { fg = utils.get_highlight("StatusLine").bg, bold = true } }, --- { provider = "%<%-05.10(%l:%c%)", hl = { fg = colors.darkgray, bold = true } }, --- { provider = " ", hl = { fg = colors.darkgray, bold = true } }, - --{ provider = "%P %=%<%(%l,%c)" }, - --{ provider = " %w%-8.(%l,%c%)%>" }, - { provider = " %1(%4l:%-3(%c%) %)%*", hl = { fg = colors.black, bold = true } }, -} -local Ruler = { cursor_location } - - --utils.make_flexible_component( - -- 3, - -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - -- { provider = "%<" } - --), ---local cursor_location = { --- { provider = "%7(%l:%c%) ", hl = { bold = true } }, --- { --- provider = " ", --- hl = function(self) --- local color = self:mode_color() --- return { fg = color, bold = true } --- end, --- }, ---} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -RightSpace = utils.surround( - { "", "" }, - colors.gray, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround( - { "█", "" }, - colors.darkgray, - { RightSpace2, hl = { fg = colors.darkgray, force = true } } -) - -RightSpace3 = utils.surround( - { "█", "" }, - utils.get_highlight("statusline").bg, - { RightSpace3, hl = { fg = colors.darkgray, force = true } } -) - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } }) - -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { - RightSpace3, - hl = { bg = colors.darkgray, force = true }, - }, - { LSPActive, hl = { bg = colors.darkgray, force = true } }, - { RightSpace2, hl = { bg = colors.gray, force = true } }, - { FileInfoBlock, hl = { bg = colors.gray, force = true } }, - { RightSpace, hl = { fg = colors.gray, force = true } }, - --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --utils.make_flexible_component( - -- 3, - -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - -- { provider = "%<" } - --), -} ---local Align = { provider = "%=", hl = { bg = colors.bg } } - -local sections = { left, middle, right } -local DefaultStatusline = { sections } ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar - -local InactiveStatusline = { - condition = conditions.is_not_active, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - --FileType, - --Space, - --Align, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - --hl = { bg = colors.red }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - --{ condition = conditions.is_active, ViMode, Space }, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --FileType, - --Space, - --TerminalName, - --Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - ["\22"] = colors.purple, - c = colors.orange, - s = colors.purple, - S = colors.purple, - ["\19"] = colors.purple, - R = colors.red, - r = colors.red, - ["!"] = colors.orange, - t = colors.orange, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - InactiveStatusline, - DefaultStatusline, -} - - --- ---- WinBar --- -local WinbarFileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - hl = { bg = colors.bg }, -} - ---local WinbarFileName = { --- provider = function(self) --- -- self.filename will be defined later, just keep looking at the example! --- local filename = self.filename --- filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") --- return filename --- end, --- hl = function() --- return { fg = colors.gray, italic = true } --- end, ---} -local WinbarFileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, - hl = { fg = colors.gray, bold = false, bg = colors.bg }, -} - -WinbarFileNameBlock = utils.insert( - WinbarFileNameBlock, - FileIcon, - utils.insert(WinbarFileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -On_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - On_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local Center = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - --utils.surround({ "", "" }, colors.nobg, { FileIcon, { WinbarFileName, hl = { fg = colors.gray } }, FileFlags } ), - utils.surround({ "", "" }, colors.nobg, { WinbarFileNameBlock } ), - }, - -- A winbar for regular files - utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), -} - ---local WinBar = { Align, Center, Align } -local WinBar = { Space, Center } - - --- TabLine -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - hl = { fg = colors.white, bold = false }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = colors.red }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "􀰎 ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") - { provider = " 􀰓", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLineFill" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { - provider = "%=", - }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then - self.title = "NvimTree" - return true - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "TablineFill" - end - end, -} - -local TabLine = { - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - -local function get_bufs() - return vim.tbl_filter(function(bufnr) - return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted - end, vim.api.nvim_list_bufs()) -end - -local function goto_buf(index) - local bufs = get_bufs() - if index > #bufs then - index = #bufs - end - vim.api.nvim_win_set_buf(0, bufs[index]) -end - -local function addKey(key, index) - vim.keymap.set("", "", function() - goto_buf(index) - end, { noremap = true, silent = true }) -end - -for i = 1, 9 do - addKey(i, i) -end -addKey("0", 10) diff --git a/lua/plugins/heirline.lua-202210111610.backup b/lua/plugins/heirline.lua-202210111610.backup deleted file mode 100644 index e1a54e3..0000000 --- a/lua/plugins/heirline.lua-202210111610.backup +++ /dev/null @@ -1,1452 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - white = "#f8f8f2", - --darkgray = "#1c1c29", - --darkgray = "#2d2b3a", - --darkgray = "#181818", - darkgray = "#23232e", - --darkgray = "#404040", - --gray = "#333842", - --gray = "#393547", - --gray = "#333842", - --lightgray = "#888888", - gray = "#2d2b3a", - lightgray = "#d6d3ea", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - ---purple = "#bd93f9", - ---purple = "#be2ed6", - purple = "#BF40BF", - --purple = "#5D3FD3", - --purple = "#DA70D6", - violet = "#7F00FF", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - -local ViMode = { - init = function(self) - self.mode = vim.fn.mode(1) - if not self.once then - vim.cmd("au ModeChanged *:*o redrawstatus") - end - self.once = true - end, - static = { - mode_names = { - n = "NORMAL ", - no = "N·OPERATOR PENDING ", - nov = "N?", - noV = "N?", - ["no\22"] = "N? ", - niI = "Ni", - niR = "Nr", - niV = "Nv", - nt = "Nt", - v = "VISUAL ", - vs = "Vs", - V = "V·LINE ", - ["\22"] = "V·BLOCK ", - ["\22s"] = "V·BLOCK ", - s = "SELECT ", - S = "S·LINE ", - ["\19"] = "S·BLOCK ", - i = "INSERT ", - ix = "insert x ", - ic = "insert c ", - R = "REPLACE ", - Rc = "Rc", - Rx = "Rx", - Rv = "V·REPLACE ", - Rvc = "Rv", - Rvx = "Rv", - c = "COMMAND ", - cv = "VIM EX ", - --ce = "EX ", - r = "PROMPT ", - rm = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - t = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%)" - end, - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - update = { - "ModeChanged", - }, -} - --- --- --- ---  ---凜兩 --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = { "LspAttach", "LspDetach" }, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- --- provider = function() --- local names = vim.tbl_values(vim.tbl_map(function(cl) --- return cl.name --- end, vim.lsp.buf_get_clients(0))) --- --- return "LSP " .. table.concat(names, " ") .. "" --- end, --- hl = { fg = colors.bg }, ---} -local LSPActive = { - condition = conditions.lsp_attached, - update = { "LspAttach", "LspDetach" }, - - -- You can keep it simple, - -- provider = " [LSP]", - - -- Or complicate things a bit and get the servers names - provider = function() - local buf_clients = vim.lsp.buf_get_clients() - local buf_ft = vim.bo.filetype - local buf_client_names = {} - - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" then - table.insert(buf_client_names, client.name) - end - end - return "⚙️ " .. table.concat(buf_client_names, "") - --return table.concat(buf_client_names, " ") - --return "⚙️﬉ " .. table.concat(buf_client_names, ", ") .. " " - --return " " .. table.concat(names, " ") .. " " - end, - hl = { fg = colors.lightgray, bold = false }, -} ---local LSPActive = { --- function(msg) --- msg = msg or "LS Inactive" --- local buf_clients = vim.lsp.buf_get_clients() --- if next(buf_clients) == nil then --- if type(msg) == "boolean" or #msg == 0 then --- return "LS Inactive" --- end --- return msg --- end --- --- local buf_ft = vim.bo.filetype --- local buf_client_names = {} --- --- -- add client --- for _, client in pairs(buf_clients) do --- if client.name ~= "null-ls" then --- table.insert(buf_client_names, client.name) --- end --- end --- --- -- add formatter --- local formatters = require("user.lsp.null-ls.formatters") --- local supported_formatters = formatters.list_registered(buf_ft) --- vim.list_extend(buf_client_names, supported_formatters) --- --- -- add linter --- local linters = require("user.lsp.null-ls.linters") --- local supported_linters = linters.list_registered(buf_ft) --- vim.list_extend(buf_client_names, supported_linters) --- --- return table.concat(buf_client_names, " ") --- -- return "[" .. table.concat(buf_client_names, ", ") .. "]" --- end, --- hl = { fg = colors.bg }, ---} --- lsp status --- I personally use it only to display progress messages! --- See lsp-status/README.md for configuration options. - --- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. -local LSPMessages = { - provider = require("lsp-status").status, - hl = { fg = "gray" }, -} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - --±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, --- hl = { bg = colors.bg }, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - provider = "%3(%l:%1.5c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) ", - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - -local Total = { - provider = "%L", - hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, -} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%P" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - ---local TerminalName = { --- -- we could add a condition to check that buftype == 'terminal' --- -- or we could do that later (see #conditional-statuslines below) --- provider = function() --- local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") --- return " " .. tname --- end, --- hl = { bold = true, bg = colors.bg }, ---} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) ---ViMode = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) --- Statusline ---BackgroundStatusline = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) --- -local Surrr = { - utils.surround({ "", "" }, "gray", { - FileInfoBlock, - hl = { bg = colors.gray }, - utils.surround({ "", "" }, "gray", { - Percentage, - utils.surround({ "", "" }, function(self) - return self:mode_color() - end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), - }), - }), -} - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) --- -RightSpace = utils.surround( - { "", "" }, - colors.gray, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround( - { "█", "" }, - colors.darkgray, - { RightSpace2, hl = { fg = colors.darkgray, force = true } } -) - -RightSpace3 = utils.surround( - { "█", "" }, - utils.get_highlight("statusline").bg, - { RightSpace3, hl = { fg = colors.darkgray, force = true } } -) ---RightSpace = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) ----- --- ---Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) --- - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.gray, { Space, Ruler, hl = { fg = colors.gray, force = true } }) - -local align = { provider = "%=" } -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { - RightSpace3, - hl = { bg = colors.darkgray, force = true }, - }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { LSPActive, hl = { bg = colors.darkgray, force = true } }, - --{ FileEncoding, hl = { bg = colors.orange, force = true } }, - { RightSpace2, hl = { bg = colors.gray, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileInfoBlock, hl = { bg = colors.gray, force = true } }, - --{ Space, hl = { bg = colors.red, force = true } }, - --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = colors.gray, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local sections = { left, middle, right } -local DefaultStatusline = { sections } - ---local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } ---local statusline = { ---Space, ---Space, ---Git, ---Space, ---Diagnostics, ---Align, ---Navic, ---DAPMessages, ---Align, ---Space, ---FileInfoBlock, ---Space, ---WordCount, ---Ruler, ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar ---} - -local InactiveStatusline = { - condition = conditions.is_not_active, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - --FileType, - --Space, - --Align, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - --hl = { bg = colors.red }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - --{ condition = conditions.is_active, ViMode, Space }, - - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --FileType, - --Space, - --TerminalName, - --Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - ["\22"] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - ["\19"] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - --mode_colors_map = { - -- n = colors.blue, - -- i = colors.green, - -- v = colors.purple, - -- V = colors.violet, - -- [""] = colors.red, - -- c = colors.yellow, - -- s = colors.orange, - -- S = colors.orange, - -- [""] = colors.purple, - -- R = colors.orange, - -- r = colors.orange, - -- ["!"] = colors.red, - -- t = colors.red, - }, - --mode_color = function(self) - -- local mode = conditions.is_active() and vim.fn.mode() or "n" - -- return self.mode_colors_map[mode] - --end, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - InactiveStatusline, - DefaultStatusline, -} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local active_middle_segment = { --{{{ - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), - }, -} - ---local WinBar = { --- Fill, --- active_middle_segment, --- Fill, ---} -local WinBar = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, colors.nobg, { hl = { fg = "gray", force = true }, FileNameBlock }), - }, - -- A winbar for regular files - utils.surround({ "", "" }, colors.nobg, FileNameBlock), -} - --- TabLine --- - -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - --+ - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) ---require("heirline").setup(StatusLine, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - ---local function get_bufs() --- return vim.tbl_filter(function(bufnr) --- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted --- end, vim.api.nvim_list_bufs()) ---end --- ---local function goto_buf(index) --- local bufs = get_bufs() --- if index > #bufs then --- index = #bufs --- end --- vim.api.nvim_win_set_buf(0, bufs[index]) ---end --- ---local function addKey(key, index) --- vim.keymap.set("", "", function() --- goto_buf(index) --- end, { noremap = true, silent = true }) ---end --- ---for i = 1, 9 do --- addKey(i, i) ---end ---addKey("0", 10) diff --git a/lua/plugins/heirlinenew.lua b/lua/plugins/heirlinenew.lua deleted file mode 100644 index 64a33b2..0000000 --- a/lua/plugins/heirlinenew.lua +++ /dev/null @@ -1,1342 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - bright_fg = "#ffffff", - bright_bg = "#000000", - white = "#f8f8f2", - gray = "#23232e", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - purple = "#bd93f9", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - ---local function setup_colors() --- return { --- bright_bg = utils.get_highlight("Folded").bg, --- bright_fg = utils.get_highlight("Folded").fg, --- red = utils.get_highlight("DiagnosticError").fg, --- dark_red = utils.get_highlight("DiffDelete").bg, --- green = utils.get_highlight("String").fg, --- blue = utils.get_highlight("Function").fg, --- gray = utils.get_highlight("NonText").fg, --- orange = utils.get_highlight("Constant").fg, --- purple = utils.get_highlight("Statement").fg, --- cyan = utils.get_highlight("Special").fg, --- diag_warn = utils.get_highlight("DiagnosticWarn").fg, --- diag_error = utils.get_highlight("DiagnosticError").fg, --- diag_hint = utils.get_highlight("DiagnosticHint").fg, --- diag_info = utils.get_highlight("DiagnosticInfo").fg, --- git_del = utils.get_highlight("diffDeleted").fg, --- git_add = utils.get_highlight("diffAdded").fg, --- git_change = utils.get_highlight("diffChanged").fg, --- } ---end ---require('heirline').load_colors(setup_colors()) --- ---vim.api.nvim_create_augroup("Heirline", { clear = true }) ---vim.api.nvim_create_autocmd("ColorScheme", { --- callback = function() --- local colors = setup_colors() --- utils.on_colorscheme(colors) --- end, --- group = "Heirline", ---}) - -local ViMode = { - static = { - mode_names = { -- change the strings if you like it vvvvverbose! - ["n"] = "NORMAL ", - ["no"] = "N·OPERATOR PENDING ", - ["v"] = "VISUAL ", - ["V"] = "V·LINE ", - [""] = "V·BLOCK ", - ["s"] = "SELECT ", - ["S"] = "S·LINE ", - [""] = "S·BLOCK ", - ["i"] = "INSERT ", - ["R"] = "REPLACE ", - ["Rv"] = "V·REPLACE ", - ["c"] = "COMMAND ", - ["cv"] = "VIM EX ", - ["ce"] = "EX ", - ["r"] = "PROMPT ", - ["rm"] = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - ["t"] = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[vim.fn.mode(1)] .. "%)" - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color, fg = colors.bg, bold = true } - end, -} - --- LSP - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = {'LspAttach', 'LspDetach'}, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, --- on_click = { --- callback = function() --- vim.defer_fn(function() --- vim.cmd("LspInfo") --- end, 100) --- end, --- name = "heirline_LSP", --- }, ---} - ---local LSPActive = { --- condition = conditions.lsp_attached, --- update = { "LspAttach", "LspDetach" }, --- --- -- You can keep it simple, --- -- provider = " [LSP]", --- --- -- Or complicate things a bit and get the servers names --- provider = function() --- local names = {} --- for i, server in pairs(vim.lsp.buf_get_clients(0)) do --- table.insert(names, server.name) --- end --- return " [" .. table.concat(names, " ") .. "]" --- end, --- hl = { fg = "green", bold = true }, ---} - -local LSPActive = { - condition = conditions.lsp_attached, - - provider = function() - local names = vim.tbl_values(vim.tbl_map(function(cl) - return cl.name - end, vim.lsp.buf_get_clients(0))) - - return "LSP [" .. table.concat(names, " ") .. "]" - end, - hl = { fg = colors.green }, -} --- lsp status --- I personally use it only to display progress messages! --- See lsp-status/README.md for configuration options. - --- Note: check "j-hui/fidget.nvim" for a nice statusline-free alternative. -local LSPMessages = { - provider = require("lsp-status").status, - hl = { fg = "gray" }, -} - --- Nvim Navic ---local Navic = { --- condition = require("nvim-navic").is_available, --- provider = require("nvim-navic").get_location, ---} ---local Navic = utils.make_flexible_component(3, Navic, { provider = "" }) - --- Full nerd (with icon colors)! -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = "bright_fg" }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = "gray" }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - --{ - -- provider = "]", - --}, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileName and Friends - ---local Align = { provider = "%=" } -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "", hl = { fg = colors.bg } } -local RightSep = { provider = "", hl = { fg = colors.bg } } - -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} --- We can now define some children separately and add them later --- - -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" - --±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} --- Now, let's say that we want the filename color to change if the buffer is --- modified. Of course, we could do that directly using the FileName.hl field, --- but we'll see how easy it is to alter existing components using a "modifier" --- component - -local FileNameModifer = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, -} - ---local FileEncoding = { --- provider = function() --- local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' --- return enc ~= "utf-8" and enc:upper() --- end, --- hl = { bg = colors.bg }, ---} -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - return fmt ~= "unix" and fmt:upper() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = "SPELL ", - hl = { bold = true, fg = "orange" }, -} - --- Cursor position: Ruler and ScrollBar --- We're getting minimalists here! -local Ruler = { - -- We're getting minimalists here! - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - provider = "%6(%l:%1.5c/%L%) ", - hl = { fg = utils.get_highlight("Statusline").fg, bold = false }, -} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - -local Position = { - Space, - { provider = "%l:%c" }, - hl = { bg = colors.bg }, -} - -local Percentage = { - Space, - { provider = "%P" }, - hl = { bg = colors.bg }, -} --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Terminal Name --- Special handling of the built-in terminal bufname. See conditional statuslines below to see an example of dedicated statusline for terminals! - -local TerminalName = { - -- we could add a condition to check that buftype == 'terminal' - -- or we could do that later (see #conditional-statuslines below) - provider = function() - local tname, _ = vim.api.nvim_buf_get_name(0):gsub(".*:", "") - return " " .. tname - end, - hl = { bold = true, bg = colors.bg }, -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component ---FileNameBlock = utils.insert( --- FileNameBlock, ---FileEncoding, ---Space, ---FileIcon, ---FileType, ---FileLastModified, ---FileSize, ---FileFormat, ---FileNameModifer, --- unpack(FileFlags), --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) ---FileNameBlock = utils.insert( --- FileNameBlock, --- FileIcon, --- utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier --- unpack(FileFlags), -- A small optimisation, since their parent does nothing --- { provider = "%<" } -- this means that the statusline is cut here when there's not enough space ---) - -local Surrr = { - utils.surround({ "", "" }, "red", { - utils.surround({ "", "" }, "green", utils.surround({ "", "" }, "blue", { provider = "heyya" })), - { provider = "Normal" }, - }), -} ---ViMode = utils.surround({ "", "" }, "bright_bg", { ViMode, Snippets }) ---ViMode = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - ---ViMode = utils.surround({ "◥", "" }, function(self) return self:mode_color() end, { --- utils.surround({ "█", "" }, function(self) return self:mode_color() end, utils.surround({ "", "" }, function(self) return self:mode_color() end, { {provider = "normal" }, ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } } )), --- { provider = "heyya" }, --- }) --- Statusline ---BackgroundStatusline = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { BackgroundStatusline, hl = { bg = utils.get_highlight("statusline").bg, force = true } }) --- -local Surrr = { - utils.surround({ "", "" }, "gray", { - FileInfoBlock, - hl = { bg = colors.gray }, - utils.surround({ "", "" }, "gray", { - Percentage, - utils.surround({ "", "" }, function(self) - return self:mode_color() - end, { Space, Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }), - }), - }), -} - -ViMode = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) --- -RightSpace = utils.surround( - { "", "" }, - colors.red, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround({ "", "" }, colors.orange, { RightSpace2, hl = { bg = colors.red, force = true } }) ---RightSpace = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) ----- --- ---Percentage = utils.surround({ "", " " }, "red", { Percentage, hl = { bg = colors.red, force = true } }) --- - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.orange, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.red, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.red, { Space, Ruler, hl = { fg = colors.red, force = true } }) - -local align = { provider = "%=" } -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { LSPActive, hl = { bg = colors.orange, force = true } }, - --{ FileEncoding, hl = { bg = colors.orange, force = true } }, - { RightSpace2, hl = { fg = colors.orange, bg = colors.red, force = true } }, - --{ Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileInfoBlock, hl = { bg = colors.red, force = true } }, - --{ Space, hl = { bg = colors.red, force = true } }, - --{ FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - --{ WordCount, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = colors.red, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local sections = { left, align, middle, align, right } -local DefaultStatusline = { sections } - ---local NewSpace = { provider = "", hl = { bg = utils.get_highlight("statusline").bg } } ---local statusline = { ---Space, ---Space, ---Git, ---Space, ---Diagnostics, ---Align, ---Navic, ---DAPMessages, ---Align, ---Space, ---FileInfoBlock, ---Space, ---WordCount, ---Ruler, ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar ---} - ---local InactiveStatusline = { --- condition = conditions.is_not_active, --- FileType, --- Space, --- FileName, --- Align, ---} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - FileType, - Space, - Align, - --FileType, Space, HelpFileName, Align -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - hl = { bg = "dark_red" }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - { condition = conditions.is_active, ViMode, Space }, - FileType, - Space, - TerminalName, - Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - --mode_colors_map = { - -- n = colors.blue, - -- i = colors.green, - -- v = colors.purple, - -- V = colors.violet, - -- [""] = colors.red, - -- c = colors.yellow, - -- s = colors.orange, - -- S = colors.orange, - -- [""] = colors.purple, - -- R = colors.orange, - -- r = colors.orange, - -- ["!"] = colors.red, - -- t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - --InactiveStatusline, - DefaultStatusline, -} - --- WinBar - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -on_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - on_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local active_middle_segment = { --{{{ - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - static = { - mode_colors_map = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - [""] = colors.purple, - c = colors.red, - s = colors.purple, - S = colors.purple, - [""] = colors.purple, - R = colors.orange, - r = colors.orange, - ["!"] = colors.red, - t = colors.red, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors_map[mode] - end, - provider = "%f", - hl = function(self) - local color = self:mode_color() -- here! - return { fg = color } - end, - -- self.filename will be defined later, just keep looking at the example! - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - }, -} - ---local WinBar = { --- Fill, --- active_middle_segment, --- Fill, ---} -local WinBar = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - utils.surround({ "", "" }, "dark_red", { - FileType, - Space, - TerminalName, - }), - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - utils.surround({ "", "" }, "bright_bg", { hl = { fg = "gray", force = true }, FileNameBlock }), - }, - -- A winbar for regular files - utils.surround({ "", "" }, "bright_bg", FileNameBlock), -} - --- TabLine --- - -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - --hl = "Comment", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - --+ - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - --FileIcon, -- turns out the version defined in #crash-course-part-ii-filename-and-friends can be reutilized as is here! - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = "red" }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - --{ provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - --{ provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - { provider = "", hl = { fg = "gray" } }, -- left truncation, optional (defaults to "<") - { provider = "", hl = { fg = "gray" } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) - --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLine" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { provider = "%=" }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.bo[bufnr].filetype == "NvimTree" then - self.title = "NvimTree" - return true - -- elseif vim.bo[bufnr].filetype == "TagBar" then - -- ... - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "Tabline" - end - end, -} - -local TabLine = { - --hl = { bg = colors.bg }, - fallthrough = false, - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) ---require("heirline").setup(StatusLine, TabLine) - --- Yep, with heirline we're driving manual! -vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) - ---local function get_bufs() --- return vim.tbl_filter(function(bufnr) --- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted --- end, vim.api.nvim_list_bufs()) ---end --- ---local function goto_buf(index) --- local bufs = get_bufs() --- if index > #bufs then --- index = #bufs --- end --- vim.api.nvim_win_set_buf(0, bufs[index]) ---end --- ---local function addKey(key, index) --- vim.keymap.set("", "", function() --- goto_buf(index) --- end, { noremap = true, silent = true }) ---end --- ---for i = 1, 9 do --- addKey(i, i) ---end ---addKey("0", 10) diff --git a/lua/plugins/linecolor.lua b/lua/plugins/linecolor.lua deleted file mode 100644 index 37550dd..0000000 --- a/lua/plugins/linecolor.lua +++ /dev/null @@ -1,112 +0,0 @@ ---local M = {} ---M.theme = function() --- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future --- local colors = { --- nobg = nil, --- blue = "#87b0f9", --- mauve = "#cba6f7", --- red = "#f38ba8", --- green = "#a6e3a1", --- peach = "#fab387", --- white = "#c6d0f5", --- gray = "#a1a8c9", --- black = "#1e1e2e", --- } --- return { --- inactive = { --- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, --- b = { fg = colors.white, bg = colors.black }, --- c = { fg = colors.gray, bg = colors.nobg }, --- }, --- visual = { --- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, --- b = { fg = colors.mauve, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- replace = { --- a = { fg = colors.black, bg = colors.red, gui = "bold" }, --- b = { fg = colors.red, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- normal = { --- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, --- b = { fg = colors.black, bg = colors.green }, --- c = { fg = colors.white, bg = colors.black }, --- }, --- insert = { --- a = { fg = colors.black, bg = colors.green, gui = "bold" }, --- b = { fg = colors.teal, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- command = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- modified = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.peach }, --- c = { fg = colors.white, bg = colors.peach }, --- }, --- } ---end ---return M -local M = {} -M.theme = function() - --local colors = { - -- darkgray = "#16161d", - -- gray = "#727169", - -- innerbg = nil, - -- outerbg = "#16161D", - -- normal = "#7e9cd8", - -- insert = "#98bb6c", - -- visual = "#ffa066", - -- replace = "#e46876", - -- command = "#e6c384", - --} - local colors = { - darkgray = "#16161d", - gray = "#727169", - innerbg = nil, - outerbg = "#16161D", - normal = "#39BAE6", - insert = "#AAD94C", - visual = "#FA8D3F", - replace = "#F07171", - command = "#F2AE49", - } - return { - inactive = { - a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - visual = { - a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - replace = { - a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - normal = { - a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - y = { fg = colors.gray, bg = colors.outerbg }, - }, - insert = { - a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - command = { - a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - } -end -return M diff --git a/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua b/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua deleted file mode 100644 index dd25d9a..0000000 --- a/lua/plugins/lsp-22.10.12-21:29-bak-22.10.12-23:45-bak.lua +++ /dev/null @@ -1,301 +0,0 @@ -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({ - single_file_support = true, - on_attach = function(client, bufnr) - print('hello') - lspconfig.util.default_config.on_attach(client, bufnr) - end -}) - -vim.api.nvim_create_autocmd('User', { - pattern = 'LspAttached', - desc = 'LSP actions', - callback = function() - local bufmap = function(mode, lhs, rhs) - local opts = {buffer = true} - vim.keymap.set(mode, lhs, rhs, opts) - end - - -- Displays hover information about the symbol under the cursor - bufmap('n', 'K', 'lua vim.lsp.buf.hover()') - - -- Jump to the definition - bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') - - -- Jump to declaration - bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') - - -- Lists all the implementations for the symbol under the cursor - bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') - - -- Jumps to the definition of the type symbol - bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') - - -- Lists all the references - bufmap('n', 'gr', 'lua vim.lsp.buf.references()') - - -- Displays a function's signature information - bufmap('n', '', 'lua vim.lsp.buf.signature_help()') - - -- Renames all references to the symbol under the cursor - bufmap('n', '', 'lua vim.lsp.buf.rename()') - - -- Selects a code action available at the current cursor position - bufmap('n', '', 'lua vim.lsp.buf.code_action()') - bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') - - -- Show diagnostics in a floating window - bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') - - -- Move to the previous diagnostic - bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') - - -- Move to the next diagnostic - bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') - end -}) - --- ----Snippets --- -require('luasnip.loaders.from_vscode').lazy_load() - --- ---- Autocompletion/nvim-cmp --- -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - -}) - -snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end -}, - -sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, -}, - -window = { - documentation = cmp.config.window.bordered() -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'} -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, -}, - -mapping = { - [''] = cmp.mapping.confirm({select = true}), -} -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), - -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), -[''] = cmp.mapping.scroll_docs(-4), -[''] = cmp.mapping.scroll_docs(4), -[''] = cmp.mapping.abort(), -[''] = cmp.mapping.confirm({select = true}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end -end, {'i', 's'}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end -end, {'i', 's'}), - -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} - -require('luasnip.loaders.from_vscode').lazy_load() - -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end - }, - sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, - }, - window = { - documentation = cmp.config.window.bordered() - }, - formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, - }, - mapping = { - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({select = true}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - local col = vim.fn.col('.') - 1 - - if cmp.visible() then - cmp.select_next_item(select_opts) - elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then - fallback() - else - cmp.complete() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item(select_opts) - else - fallback() - end - end, {'i', 's'}), - }, -}) - - -vim.diagnostic.config({ - virtual_text = false, - severity_sort = true, - float = { - border = 'rounded', - source = 'always', - header = '', - prefix = '', - }, -}) - -vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( - vim.lsp.handlers.hover, - {border = 'rounded'} -) - -vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( - vim.lsp.handlers.signature_help, - {border = 'rounded'} -) - -require('mason').setup() -require('mason-lspconfig').setup() - - -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({}) - - - - - - - - diff --git a/lua/plugins/lsp-22.10.12-21:29-bak.lua b/lua/plugins/lsp-22.10.12-21:29-bak.lua deleted file mode 100644 index dd25d9a..0000000 --- a/lua/plugins/lsp-22.10.12-21:29-bak.lua +++ /dev/null @@ -1,301 +0,0 @@ -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({ - single_file_support = true, - on_attach = function(client, bufnr) - print('hello') - lspconfig.util.default_config.on_attach(client, bufnr) - end -}) - -vim.api.nvim_create_autocmd('User', { - pattern = 'LspAttached', - desc = 'LSP actions', - callback = function() - local bufmap = function(mode, lhs, rhs) - local opts = {buffer = true} - vim.keymap.set(mode, lhs, rhs, opts) - end - - -- Displays hover information about the symbol under the cursor - bufmap('n', 'K', 'lua vim.lsp.buf.hover()') - - -- Jump to the definition - bufmap('n', 'gd', 'lua vim.lsp.buf.definition()') - - -- Jump to declaration - bufmap('n', 'gD', 'lua vim.lsp.buf.declaration()') - - -- Lists all the implementations for the symbol under the cursor - bufmap('n', 'gi', 'lua vim.lsp.buf.implementation()') - - -- Jumps to the definition of the type symbol - bufmap('n', 'go', 'lua vim.lsp.buf.type_definition()') - - -- Lists all the references - bufmap('n', 'gr', 'lua vim.lsp.buf.references()') - - -- Displays a function's signature information - bufmap('n', '', 'lua vim.lsp.buf.signature_help()') - - -- Renames all references to the symbol under the cursor - bufmap('n', '', 'lua vim.lsp.buf.rename()') - - -- Selects a code action available at the current cursor position - bufmap('n', '', 'lua vim.lsp.buf.code_action()') - bufmap('x', '', 'lua vim.lsp.buf.range_code_action()') - - -- Show diagnostics in a floating window - bufmap('n', 'gl', 'lua vim.diagnostic.open_float()') - - -- Move to the previous diagnostic - bufmap('n', '[d', 'lua vim.diagnostic.goto_prev()') - - -- Move to the next diagnostic - bufmap('n', ']d', 'lua vim.diagnostic.goto_next()') - end -}) - --- ----Snippets --- -require('luasnip.loaders.from_vscode').lazy_load() - --- ---- Autocompletion/nvim-cmp --- -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} -- Suggested values for completeopt -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - -}) - -snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end -}, - -sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, -}, - -window = { - documentation = cmp.config.window.bordered() -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'} -}, - -formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, -}, - -mapping = { - [''] = cmp.mapping.confirm({select = true}), -} -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), - -[''] = cmp.mapping.select_prev_item(select_opts), -[''] = cmp.mapping.select_next_item(select_opts), -[''] = cmp.mapping.scroll_docs(-4), -[''] = cmp.mapping.scroll_docs(4), -[''] = cmp.mapping.abort(), -[''] = cmp.mapping.confirm({select = true}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end -end, {'i', 's'}), -[''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end -end, {'i', 's'}), - -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} - -require('luasnip.loaders.from_vscode').lazy_load() - -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end - }, - sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 3}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, - }, - window = { - documentation = cmp.config.window.bordered() - }, - formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, - }, - mapping = { - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.select_prev_item(select_opts), - [''] = cmp.mapping.select_next_item(select_opts), - - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({select = true}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - local col = vim.fn.col('.') - 1 - - if cmp.visible() then - cmp.select_next_item(select_opts) - elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then - fallback() - else - cmp.complete() - end - end, {'i', 's'}), - - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item(select_opts) - else - fallback() - end - end, {'i', 's'}), - }, -}) - - -vim.diagnostic.config({ - virtual_text = false, - severity_sort = true, - float = { - border = 'rounded', - source = 'always', - header = '', - prefix = '', - }, -}) - -vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( - vim.lsp.handlers.hover, - {border = 'rounded'} -) - -vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( - vim.lsp.handlers.signature_help, - {border = 'rounded'} -) - -require('mason').setup() -require('mason-lspconfig').setup() - - -local lsp_defaults = { - flags = { - debounce_text_changes = 150, - }, - capabilities = require('cmp_nvim_lsp').update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) - end -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - -lspconfig.sumneko_lua.setup({}) - - - - - - - - diff --git a/lua/plugins/lsp-22.10.14-23:39-bak.lua b/lua/plugins/lsp-22.10.14-23:39-bak.lua deleted file mode 100644 index 9c8e943..0000000 --- a/lua/plugins/lsp-22.10.14-23:39-bak.lua +++ /dev/null @@ -1,422 +0,0 @@ - -local fn = vim.fn -local keymap = vim.keymap - -local utils = require("utils") - -local custom_attach = function(client, bufnr) - -- Enable completion triggered by - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.noremap = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end ---map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location ---map("n", "gp", "Lspsaga peek_definition") --- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) --- map("n", "", vim.lsp.buf.definition) --- map("n", "K", vim.lsp.buf.hover) --- map("n", "", vim.lsp.buf.signature_help) --- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) --- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) --- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) --- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) --- map("n", "q", function() --- vim.diagnostic.setqflist({ open = true }) --- end, { desc = "put diagnostic to qf" }) --- --map.('n', 'q', vim.diagnostic.setloclist) --- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) --- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) --- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) --- map("n", "wl", function() --- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) --- end, { desc = "list workspace folder" }) --- map("n", "gs", "vim.lsp.buf.document_symbol()") --- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) --- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") --- map("n", "gt", ":lua vim.lsp.buf.type_definition()") --- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. --- map("n", "gi", ":lua vim.lsp.buf.implementation()") --- map("n", "go", ":lua vim.diagnostic.open_float()") --- map("n", "gk", "Lspsaga diagnostic_jump_prev") --- map("n", "gj", "Lspsaga diagnostic_jump_next") - - -- Set some key bindings conditional on server capabilities - if client.server_capabilities.documentFormattingProvider then - map("n", "f", vim.lsp.buf.format, { desc = "format code" }) - end - - -- add rust specific keymappings - if client.name == "rust_analyzer" then - map("n", "rr", "RustRunnables") - map("n", "ra", "RustHoverAction") - end - - -- Diagnostic position - vim.api.nvim_create_autocmd("CursorHold", { - buffer = bufnr, - callback = function() - local float_opts = { - focusable = false, - close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, - border = "rounded", - source = "always", -- show source in diagnostic popup window - prefix = " ", - } - - if not vim.b.diagnostics_pos then - vim.b.diagnostics_pos = { nil, nil } - end - - local cursor_pos = vim.api.nvim_win_get_cursor(0) - if - (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) - and #vim.diagnostic.get() > 0 - then - vim.diagnostic.open_float(nil, float_opts) - end - - vim.b.diagnostics_pos = cursor_pos - end, - }) - - -- The below command will highlight the current variable and its usages in the buffer. - if client.server_capabilities.documentHighlightProvider then - vim.cmd([[ - hi! link LspReferenceRead Visual - hi! link LspReferenceText Visual - hi! link LspReferenceWrite Visual - augroup lsp_document_highlight - autocmd! * - autocmd CursorHold lua vim.lsp.buf.document_highlight() - autocmd CursorMoved lua vim.lsp.buf.clear_references() - augroup END - ]]) - end - - if vim.g.logging_level == "debug" then - local msg = string.format("Language server %s started!", client.name) - vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) - end -end - -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) -capabilities.textDocument.completion.completionItem.snippetSupport = true -capabilities.offsetEncoding = { "utf-16" } - -local lspconfig = require("lspconfig") - -if utils.executable("pylsp") then - lspconfig.pylsp.setup({ - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, - }, - }, - flags = { - debounce_text_changes = 200, - }, - capabilities = capabilities, - }) -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) --- end - -if utils.executable("clangd") then - lspconfig.clangd.setup({ - on_attach = custom_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - }) -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup({ - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - }) -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup({ - on_attach = custom_attach, - capabilities = capabilities, - }) -end - -if utils.executable("lua-language-server") then - lspconfig.sumneko_lua.setup({ - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - }) -end - - -if utils.executable("rust-language-server") then -require("lspconfig").rust_analyzer.setup{ - cmd = { "rustup", "run", "nightly", "rust-analyzer" }, - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - --[[ - settings = { - rust = { - unstable_features = true, - build_on_save = false, - all_features = true, - }, - } - --]] -} -end - - --- Setup nvim-cmp. -vim.opt.completeopt = "menu,menuone,noselect" - -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - - -local opts = { - -- whether to highlight the currently hovered symbol - -- disable if your cpu usage is higher than you want it - -- or you just hate the highlight - -- default: true - highlight_hovered_item = true, - - -- whether to show outline guides - -- default: true - show_guides = true, -} -require("symbols-outline").setup(opts) - -local snippets_paths = function() - local plugins = { "friendly-snippets" } - local paths = {} - local path - local root_path = vim.env.HOME .. "/.vim/plugged/" - for _, plug in ipairs(plugins) do - path = root_path .. plug - if vim.fn.isdirectory(path) ~= 0 then - table.insert(paths, path) - end - end - return paths -end - -require("luasnip.loaders.from_vscode").lazy_load({ - paths = snippets_paths(), - include = nil, -- Load all languages - exclude = {}, -}) - -local lspkind = require("lspkind") - ---local kind_icons = { --- Text = "", --- Method = "", --- Function = "", --- Constructor = "⚙️", --- Field = "", --- Variable = "", --- Class = "ﴯ", --- Interface = "", --- Module = "", --- Property = "ﰠ", --- Unit = "", --- Value = "", --- Enum = "", --- Keyword = "", --- Snippet = "", --- Color = "", --- File = "", --- Reference = "", --- Folder = "", --- EnumMember = "", --- Constant = "", --- Struct = "", --- Event = "", --- Operator = "", --- TypeParameter = "", ---} - -cmp.setup({ - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ --- [""] = cmp.mapping.confirm({ --- behavior = cmp.ConfirmBehavior.Replace, --- select = true, --- }), - [''] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping.close(), - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - }), - - formatting = { - fields = { "abbr", "kind", "menu" }, - format = function(entry, vim_item) - -- Kind icons - --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - vim_item.kind = lspkind.presets.default[vim_item.kind] - -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind - vim_item.menu = ({ - nvim_lsp = "LSP", - luasnip = "Snip", - buffer = "Buf", - path = "Path", - cmdline = "Cmd", - })[entry.source.name] - return vim_item - end, - }, - sources = cmp.config.sources({ - { name = "path" }, - { name = "nvim_lsp", keyword_length = 3 }, - { name = "luasnip", keyword_length = 4 }, - { name = "buffer", keyword_length = 3 }, - --{ name = 'treesitter' }, - { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, - --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this - --{name = 'luasnip', keyword_length = 2}, - }), - confirm_opts = { - behavior = cmp.ConfirmBehavior.Replace, - select = false, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - --documentation = { - -- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - --}, - }, - experimental = { - ghost_text = true, - native_menu = true, - --native_menu = false, - --view = { - -- entries = "native" - --}, - }, -}) - -cmp.setup.cmdline("/", { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = "buffer" }, - }, -}) - -cmp.setup.cmdline(":", { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = "path" }, - }, { - { name = "cmdline" }, - }), -}) - - - --- Global config for diagnostic -vim.diagnostic.config({ - underline = false, - virtual_text = true, - signs = true, - severity_sort = true, - float = { - focusable = true, -- - style = "minimal", -- - --border = "rounded", - border = "shadow", - source = "always", - header = "", - prefix = "", - }, -}) - -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - underline = false, - virtual_text = false, - signs = true, - update_in_insert = false, -}) ---vim.lsp.buf.definition ---vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - -vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - -vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) - ---local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } ---local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } -local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } -for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) -end diff --git a/lua/plugins/lsp-colors.lua b/lua/plugins/lsp-colors.lua deleted file mode 100644 index 1398123..0000000 --- a/lua/plugins/lsp-colors.lua +++ /dev/null @@ -1,9 +0,0 @@ -local status, colors = pcall(require, "lsp-colors") -if (not status) then return end - -colors.setup { - Error = "#db4b4b", - Warning = "#e0af68", - Information = "#0db9d7", - Hint = "#10B981" -} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua deleted file mode 100644 index 323b864..0000000 --- a/lua/plugins/lsp.lua +++ /dev/null @@ -1,527 +0,0 @@ - -local fn = vim.fn -local keymap = vim.keymap - -local utils = require("utils") - -local custom_attach = function(client, bufnr) - -- Enable completion triggered by - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.noremap = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end ---map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location ---map("n", "gp", "Lspsaga peek_definition") --- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) - map("n", "", vim.lsp.buf.definition) --- map("n", "K", vim.lsp.buf.hover) --- map("n", "", vim.lsp.buf.signature_help) --- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) --- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) --- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) --- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) - map("n", "q", function() - vim.diagnostic.setqflist({ open = true }) - end, { desc = "put diagnostic to qf" }) --- --map.('n', 'q', vim.diagnostic.setloclist) --- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) --- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) --- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) --- map("n", "wl", function() --- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) --- end, { desc = "list workspace folder" }) --- map("n", "gs", "vim.lsp.buf.document_symbol()") --- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) --- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") --- map("n", "gt", ":lua vim.lsp.buf.type_definition()") --- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. --- map("n", "gi", ":lua vim.lsp.buf.implementation()") - map("n", "go", ":lua vim.diagnostic.open_float()") --- map("n", "gk", "Lspsaga diagnostic_jump_prev") --- map("n", "gj", "Lspsaga diagnostic_jump_next") - -vim.g.diagnostics_visible = true -function _G.toggle_diagnostics() - if vim.g.diagnostics_visible then - vim.g.diagnostics_visible = false - vim.diagnostic.disable() - else - vim.g.diagnostics_visible = true - vim.diagnostic.enable() - end -end -map('n', 'm', ':call v:lua.toggle_diagnostics()') ---vim.g.diagnostics_active = true ---function _G.toggle_diagnostics() --- if vim.g.diagnostics_active then --- vim.g.diagnostics_active = false --- vim.lsp.diagnostic.clear(0) --- vim.cmd([[exe "normal ii\x"]]) --- vim.lsp.handlers["textDocument/publishDiagnostics"] = function() end --- else --- vim.g.diagnostics_active = true --- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( --- vim.lsp.diagnostic.on_publish_diagnostics, { --- virtual_text = true, --- signs = true, --- underline = true, --- update_in_insert = false, --- } --- ) --- end ---end --- ---map("n", "i", ":call v:lua.toggle_diagnostics()") - - - -- Set some key bindings conditional on server capabilities - if client.server_capabilities.documentFormattingProvider then - map("n", "f", vim.lsp.buf.format, { desc = "format code" }) - end - - -- add rust specific keymappings - if client.name == "rust_analyzer" then - map("n", "rr", "RustRunnables") - map("n", "ra", "RustHoverAction") - end - ---For diagnostics for specific cursor position ---vim.api.nvim_create_autocmd("CursorHold", { --- buffer = bufnr, --- callback = function() --- local opts = { --- focusable = false, --- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, --- border = 'rounded', --- source = 'always', --- prefix = ' ', --- scope = 'cursor', --- } --- vim.diagnostic.open_float(nil, opts) --- end ---}) - -- Diagnostic position --- vim.api.nvim_create_autocmd("CursorHold", { --- buffer = bufnr, --- callback = function() --- local float_opts = { --- focusable = false, --- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, --- border = "rounded", --- source = "always", -- show source in diagnostic popup window --- prefix = " ", --- } --- --- if not vim.b.diagnostics_pos then --- vim.b.diagnostics_pos = { nil, nil } --- end --- --- local cursor_pos = vim.api.nvim_win_get_cursor(0) --- if --- (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) --- and #vim.diagnostic.get() > 0 --- then --- vim.diagnostic.open_float(nil, float_opts) --- end --- --- vim.b.diagnostics_pos = cursor_pos --- end, --- }) - - -- The below command will highlight the current variable and its usages in the buffer. - if client.server_capabilities.documentHighlightProvider then - vim.cmd([[ - hi! link LspReferenceRead Visual - hi! link LspReferenceText Visual - hi! link LspReferenceWrite Visual - augroup lsp_document_highlight - autocmd! * - autocmd CursorHold lua vim.lsp.buf.document_highlight() - autocmd CursorMoved lua vim.lsp.buf.clear_references() - augroup END - ]]) - end - - if vim.g.logging_level == "debug" then - local msg = string.format("Language server %s started!", client.name) - vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) - end -end - -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) -capabilities.textDocument.completion.completionItem.snippetSupport = true -capabilities.offsetEncoding = { "utf-16" } - -local lspconfig = require("lspconfig") - -if utils.executable("pylsp") then - lspconfig.pylsp.setup({ - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, - }, - }, - flags = { - debounce_text_changes = 200, - }, - capabilities = capabilities, - }) -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) --- end - -if utils.executable("clangd") then - lspconfig.clangd.setup({ - on_attach = custom_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - }) -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup({ - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - }) -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup({ - on_attach = custom_attach, - capabilities = capabilities, - }) -end - -if utils.executable("lua-language-server") then - lspconfig.sumneko_lua.setup({ - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - }) -end - - -if utils.executable("rust-language-server") then -require("lspconfig").rust_analyzer.setup{ - cmd = { "rustup", "run", "nightly", "rust-analyzer" }, - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - --[[ - settings = { - rust = { - unstable_features = true, - build_on_save = false, - all_features = true, - }, - } - --]] -} -end - ---vim.diagnostic.config({ --- virtual_text = false, --- underline = true, ---}) -vim.diagnostic.config({ - underline = false, - signs = true, - virtual_text = false, - float = { - show_header = true, - source = 'if_many', - border = 'rounded', - focusable = false, - }, - update_in_insert = false, -- default to false - severity_sort = false, -- default to false -}) --- Show line diagnostics automatically in hover window -vim.o.updatetime = 250 -vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] - ---local diagnostics_active = true ---local toggle_diagnostics = function() --- diagnostics_active = not diagnostics_active --- if diagnostics_active then --- vim.o.updatetime = 250 --- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] --- --vim.diagnostic.open_float(nil, {focus=false}) --- else --- --vim.diagnostic.hide() --- vim.diagnostic.disable() --- end ---end ---vim.keymap.set("n", "a", toggle_diagnostics) - --- Toogle diagnostics -local diagnostics_active = true -local toggle_diagnostics = function() - diagnostics_active = not diagnostics_active - if diagnostics_active then - vim.api.nvim_echo({ { "Show diagnostics" } }, false, {}) - vim.diagnostic.enable() - else - vim.api.nvim_echo({ { "Disable diagnostics" } }, false, {}) - vim.diagnostic.disable() - end -end -vim.keymap.set("n", "a", toggle_diagnostics) - ---vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float(0, {scope="cursor", close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}})]] - ---function LspDiagnosticsFocus() --- vim.api.nvim_command('set eventignore=WinLeave') --- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') --- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) ---end ---vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) - ---local diagnostics_active = true ---map('n', 'a', function() --- diagnostics_active = not diagnostics_active --- if diagnostics_active then --- vim.diagnostic.show() --- else --- vim.diagnostic.hide() --- end ---end) - --- Global config for diagnostic ---vim.diagnostic.config({ --- underline = false, --- virtual_text = false, --- signs = true, --- severity_sort = true, --- float = { --- focusable = true, -- --- style = "minimal", -- --- --border = "rounded", --- border = "shadow", --- source = "always", --- header = "", --- prefix = "", --- }, ---}) - -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - underline = true, - virtual_text = false, - signs = true, - update_in_insert = false, -}) - ---vim.lsp.buf.definition ---vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - -vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - -vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) - ---local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } ---local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } -local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } -for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) -end - - ----- Location information about the last message printed. The format is ----- `(did print, buffer number, line number)`. ---local last_echo = { false, -1, -1 } --- ----- The timer used for displaying a diagnostic in the commandline. ---local echo_timer = nil --- ----- The timer after which to display a diagnostic in the commandline. ---local echo_timeout = 250 --- ----- The highlight group to use for warning messages. ---local warning_hlgroup = 'WarningMsg' --- ----- The highlight group to use for error messages. ---local error_hlgroup = 'ErrorMsg' --- ----- If the first diagnostic line has fewer than this many characters, also add ----- the second line to it. ---local short_line_limit = 20 --- ----- Shows the current line's diagnostics in a floating window. ---function show_line_diagnostics() --- vim --- .lsp --- .diagnostic --- .show_line_diagnostics({ severity_limit = 'Warning' }, vim.fn.bufnr('')) ---end --- ----- Prints the first diagnostic for the current line. ---function echo_diagnostic() --- if echo_timer then --- echo_timer:stop() --- end --- --- echo_timer = vim.defer_fn( --- function() --- local line = vim.fn.line('.') - 1 --- local bufnr = vim.api.nvim_win_get_buf(0) --- --- if last_echo[1] and last_echo[2] == bufnr and last_echo[3] == line then --- return --- end --- --- local diags = vim --- .lsp --- .diagnostic --- .get_line_diagnostics(bufnr, line, { severity_limit = 'Warning' }) --- --- if #diags == 0 then --- -- If we previously echo'd a message, clear it out by echoing an empty --- -- message. --- if last_echo[1] then --- last_echo = { false, -1, -1 } --- --- vim.api.nvim_command('echo ""') --- end --- --- return --- end --- --- last_echo = { true, bufnr, line } --- --- local diag = diags[1] --- local width = vim.api.nvim_get_option('columns') - 15 --- local lines = vim.split(diag.message, "\n") --- local message = lines[1] --- local trimmed = false --- --- if #lines > 1 and #message <= short_line_limit then --- message = message .. ' ' .. lines[2] --- end --- --- if width > 0 and #message >= width then --- message = message:sub(1, width) .. '...' --- end --- --- local kind = 'warning' --- local hlgroup = warning_hlgroup --- --- if diag.severity == vim.lsp.protocol.DiagnosticSeverity.Error then --- kind = 'error' --- hlgroup = error_hlgroup --- end --- --- local chunks = { --- { kind .. ': ', hlgroup }, --- { message } --- } --- --- vim.api.nvim_echo(chunks, false, {}) --- end, --- echo_timeout --- ) ---end ---vim.cmd([[ --- autocmd CursorMoved * :lua echo_diagnostic() ---]]) --- Highlight line number instead of having icons in sign column - --- See the properties of the signs with sign list. - ---vim.cmd [[ --- highlight! DiagnosticLineNrError guibg=#51202A guifg=#FF0000 gui=bold --- highlight! DiagnosticLineNrWarn guibg=#51412A guifg=#FFA500 gui=bold --- highlight! DiagnosticLineNrInfo guibg=#1E535D guifg=#00FFFF gui=bold --- highlight! DiagnosticLineNrHint guibg=#1E205D guifg=#0000FF gui=bold --- --- sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl=DiagnosticLineNrError --- sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl=DiagnosticLineNrWarn --- sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl=DiagnosticLineNrInfo --- sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl=DiagnosticLineNrHint ---]] - --- Highlight symbol under cursor - --- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. - ---if client.resolved_capabilities.document_highlight then --- vim.cmd [[ --- hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow --- hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow --- hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow --- ]] --- vim.api.nvim_create_augroup('lsp_document_highlight', { --- clear = false --- }) --- vim.api.nvim_clear_autocmds({ --- buffer = bufnr, --- group = 'lsp_document_highlight', --- }) --- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { --- group = 'lsp_document_highlight', --- buffer = bufnr, --- callback = vim.lsp.buf.document_highlight, --- }) --- vim.api.nvim_create_autocmd('CursorMoved', { --- group = 'lsp_document_highlight', --- buffer = bufnr, --- callback = vim.lsp.buf.clear_references, --- }) ---end - diff --git a/lua/plugins/lspOld.lsp b/lua/plugins/lspOld.lsp deleted file mode 100644 index 206ea57..0000000 --- a/lua/plugins/lspOld.lsp +++ /dev/null @@ -1,531 +0,0 @@ --- lspconfig + nvim-cmp + lspsaga --- Dependencies --- nvim-lspconfig --- nvim-cmp --- cmp-buffer --- cmp-path --- cmp_luasnip --- cmp-nvim-lsp --- LuaSnip --- friendly-snippets -local fn = vim.fn -local api = vim.api -local keymap = vim.keymap -local lsp = vim.lsp - -local utils = require("utils") - -local custom_attach = function(client, bufnr) - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end - - -local lsp_defaults = { - flags = { - debounce_text_changes = 150, -- Amount of miliseconds neovim will wait to send the next document update notification. - }, - - -- The data on this option is send to the server, to announce what features the editor can support. - capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()), - on_attach = function(client, bufnr) - vim.api.nvim_exec_autocmds("User", { pattern = "LspAttached" }) - end, -} - -local lspconfig = require('lspconfig') - -lspconfig.util.default_config = vim.tbl_deep_extend( - 'force', - lspconfig.util.default_config, - lsp_defaults -) - ---- --- LSP Servers ---- - -if utils.executable("pylsp") then - lspconfig.pylsp.setup { - on_attach = custom_attach, - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, - }, - }, - flags = { - debounce_text_changes = 200, - }, - capabilities = capabilities, - } -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Nvim-config'}) --- end - -if utils.executable("clangd") then - lspconfig.clangd.setup { - on_attach = custom_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - } -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup { - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - } -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup { - on_attach = custom_attach, - capabilities = capabilities, - } -end - -if utils.executable("lua-language-server") then - -- settings for lua-language-server can be found on https://github.com/sumneko/lua-language-server/wiki/Settings . - lspconfig.sumneko_lua.setup { - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - } -end --- Lua -lspconfig.sumneko_lua.setup({ - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, - }, - single_file_support = true, - on_attach = function(client, bufnr) - print('hello') - lspconfig.util.default_config.on_attach(client, bufnr) - end -}) - -lspconfig.sumneko_lua.setup({ -on_attach = custom_attach, -settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - -- Setup your lua path - path = runtime_path, - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, -}, -}) - - lspconfig.sumneko_lua.setup { - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - } - -require'lspconfig'.sumneko_lua.setup { - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, - }, -} - - - -require'lspconfig'.sumneko_lua.setup{} - - -**Default values:** - - `cmd` : - { "lua-language-server" } - - `filetypes` : - - `log_level` : - ```lua - 2 - ``` - - `root_dir` : - ```lua - root_pattern(".luarc.json", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", ".git") - ``` - - `settings` : - ```lua - { - Lua = { - telemetry = { - enable = false - } - } - } - - `single_file_support` : - true - - - - - - - - - - - - - - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.ccls.setup{} -``` - - -**Default values:** - - `cmd` : - ```lua - { "ccls" } - ``` - - `filetypes` : - ```lua - { "c", "cpp", "objc", "objcpp" } - ``` - - `offset_encoding` : - ```lua - "utf-32" - ``` - - `root_dir` : - ```lua - root_pattern('compile_commands.json', '.ccls', '.git') - ``` - - `single_file_support` : - ```lua - false - ``` - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.clangd.setup{} -``` -**Commands:** -- ClangdSwitchSourceHeader: Switch between source/header - -**Default values:** - - `capabilities` : - ```lua - default capabilities, with offsetEncoding utf-8 - ``` - - `cmd` : - ```lua - { "clangd" } - ``` - - `filetypes` : - ```lua - { "c", "cpp", "objc", "objcpp", "cuda", "proto" } - ``` - - `root_dir` : - ```lua - root_pattern( - '.clangd', - '.clang-tidy', - '.clang-format', - 'compile_commands.json', - 'compile_flags.txt', - 'configure.ac', - '.git' - ) - - ``` - - `single_file_support` : - ```lua - true - ``` - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.pyright.setup{} -``` -**Commands:** -- PyrightOrganizeImports: Organize Imports - -**Default values:** - - `cmd` : - ```lua - { "pyright-langserver", "--stdio" } - ``` - - `filetypes` : - ```lua - { "python" } - ``` - - `root_dir` : - ```lua - see source file - ``` - - `settings` : - ```lua - { - python = { - analysis = { - autoSearchPaths = true, - diagnosticMode = "workspace", - useLibraryCodeForTypes = true - } - } - } - ``` - - `single_file_support` : - ```lua - true - ``` - -## rls - -https://github.com/rust-lang/rls - -rls, a language server for Rust - -See https://github.com/rust-lang/rls#setup to setup rls itself. -See https://github.com/rust-lang/rls#configuration for rls-specific settings. -All settings listed on the rls configuration section of the readme -must be set under settings.rust as follows: - -```lua -nvim_lsp.rls.setup { - settings = { - rust = { - unstable_features = true, - build_on_save = false, - all_features = true, - }, - }, -} -``` - -If you want to use rls for a particular build, eg nightly, set cmd as follows: - -```lua -cmd = {"rustup", "run", "nightly", "rls"} -``` - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rls.setup{} -``` - - -**Default values:** - - `cmd` : - ```lua - { "rls" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml") - ``` - - -## rust_analyzer - -https://github.com/rust-analyzer/rust-analyzer - -rust-analyzer (aka rls 2.0), a language server for Rust - -See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rust_analyzer.setup{} -``` -**Commands:** -- CargoReload: Reload current cargo workspace - -**Default values:** - - `cmd` : - ```lua - { "rust-analyzer" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml", "rust-project.json") - ``` - - `settings` : - ```lua - { - ["rust-analyzer"] = {} - } - ``` - -## rust_analyzer - -https://github.com/rust-analyzer/rust-analyzer - -rust-analyzer (aka rls 2.0), a language server for Rust - -See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. - - - -**Snippet to enable the language server:** -```lua -require'lspconfig'.rust_analyzer.setup{} -``` -**Commands:** -- CargoReload: Reload current cargo workspace - -**Default values:** - - `cmd` : - ```lua - { "rust-analyzer" } - ``` - - `filetypes` : - ```lua - { "rust" } - ``` - - `root_dir` : - ```lua - root_pattern("Cargo.toml", "rust-project.json") - ``` - - `settings` : - ```lua - { - ["rust-analyzer"] = {} - } - ``` - - diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua deleted file mode 100644 index a130dcd..0000000 --- a/lua/plugins/lspconfig.lua +++ /dev/null @@ -1,148 +0,0 @@ ---vim.lsp.set_log_level("debug") - -local status, nvim_lsp = pcall(require, "lspconfig") -if not status then - return -end - -local protocol = require("vim.lsp.protocol") - --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) - local function buf_set_keymap(...) - vim.api.nvim_buf_set_keymap(bufnr, ...) - end - - local function buf_set_option(...) - vim.api.nvim_buf_set_option(bufnr, ...) - end - - --Enable completion triggered by - buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") - - -- Mappings. - local opts = { noremap = true, silent = true } - - -- See `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) -- most of the lsp server don't implement textDocument/Declaration, so gD is useless for now. - --buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) - --buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - - -- add rust specific keymappings - if client.name == "rust_analyzer" then - buf_set_keymap("n", "rr", "RustRunnables", opts) - buf_set_keymap("n", "ra", "RustHoverAction", opts) - end - - -- formatting - if client.server_capabilities.documentFormattingProvider then - vim.api.nvim_create_autocmd("BufWritePre", { - group = vim.api.nvim_create_augroup("Format", { clear = true }), - buffer = bufnr, - callback = function() - vim.lsp.buf.format() - end, - }) - end -end - -protocol.CompletionItemKind = { - -- "", -- Text - -- "", -- Method - -- "", -- Function - -- "", -- Constructor - -- "", -- Field - -- "", -- Variable - -- "", -- Class - -- "ﰮ", -- Interface - -- "", -- Module - -- "", -- Property - -- "", -- Unit - -- "", -- Value - -- "", -- Enum - -- "", -- Keyword - -- "", -- Snippet - -- "", -- Color - -- "", -- File - -- "", -- Reference - -- "", -- Folder - -- "", -- EnumMember - -- "", -- Constant - -- "", -- Struct - -- "", -- Event - -- "ﬦ", -- Operator - -- "", -- TypeParameter - File = { icon = "", hl = "TSURI" }, - Module = { icon = "", hl = "TSNamespace" }, - Namespace = { icon = "", hl = "TSNamespace" }, - Package = { icon = "", hl = "TSNamespace" }, - Class = { icon = "ﴯ", hl = "TSType" }, - Method = { icon = "", hl = "TSMethod" }, - Property = { icon = "", hl = "TSMethod" }, - Field = { icon = "", hl = "TSField" }, - Constructor = { icon = "", hl = "TSConstructor" }, - Enum = { icon = "", hl = "TSType" }, - Interface = { icon = "", hl = "TSType" }, - Function = { icon = "", hl = "TSFunction" }, - Variable = { icon = "", hl = "TSConstant" }, - Constant = { icon = "", hl = "TSConstant" }, - String = { icon = "ﮜ", hl = "TSString" }, - Number = { icon = "", hl = "TSNumber" }, - Boolean = { icon = "ﮒ", hl = "TSBoolean" }, - Array = { icon = "", hl = "TSConstant" }, - Object = { icon = "⦿", hl = "TSType" }, - Key = { icon = "", hl = "TSType" }, - Null = { icon = "ﳠ", hl = "TSType" }, - EnumMember = { icon = "", hl = "TSField" }, - Struct = { icon = "ﴯ", hl = "TSType" }, - Event = { icon = "🗲", hl = "TSType" }, - Operator = { icon = "+", hl = "TSOperator" }, - TypeParameter = { icon = "𝙏", hl = "TSParameter" }, -} - --- Set up completion using nvim_cmp with LSP source -local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities()) - -nvim_lsp.flow.setup({ - on_attach = on_attach, - capabilities = capabilities, -}) - -nvim_lsp.sumneko_lua.setup({ - on_attach = on_attach, - settings = { - Lua = { - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - checkThirdParty = false, - }, - }, - }, -}) - --- Diagnostic symbols in the sign column (gutter) ---local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } ---local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } -local signs = { Error = " ", Warn = " ", Hint = " ", Info = "􀅴 " } -for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) -end --- -vim.diagnostic.config({ - virtual_text = { - prefix = "●", - }, - update_in_insert = true, - float = { - source = "always", -- Or "if_many" - }, -}) diff --git a/lua/plugins/lspkind.lua b/lua/plugins/lspkind.lua deleted file mode 100644 index 72ca5c2..0000000 --- a/lua/plugins/lspkind.lua +++ /dev/null @@ -1,47 +0,0 @@ -local status, lspkind = pcall(require, "lspkind") -if (not status) then return end - -lspkind.init({ - -- enables text annotations - -- - -- default: true - mode = 'symbol', - - -- default symbol map - -- can be either 'default' (requires nerd-fonts font) or - -- 'codicons' for codicon preset (requires vscode-codicons font) - -- - -- default: 'default' - preset = 'codicons', - - -- override preset symbols - -- - -- default: {} - symbol_map = { - Text = "", - Method = "", - Function = "", - Constructor = "", - Field = "ﰠ", - Variable = "", - Class = "ﴯ", - Interface = "", - Module = "", - Property = "ﰠ", - Unit = "塞", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "פּ", - Event = "", - Operator = "", - TypeParameter = "" - }, -}) diff --git a/lua/plugins/lspsaga-22.10.13-22:51-bak.lua b/lua/plugins/lspsaga-22.10.13-22:51-bak.lua deleted file mode 100644 index ceb1099..0000000 --- a/lua/plugins/lspsaga-22.10.13-22:51-bak.lua +++ /dev/null @@ -1,61 +0,0 @@ -local status, saga = pcall(require, "lspsaga") -if not status then - return -end - -saga.init_lsp_saga({ - -- when cursor in saga window you config these to move - move_in_saga = { prev = "k", next = "j" }, - diagnostic_header = { " ", " ", " ", " " }, - scroll_in_preview = { - scroll_down = "", - scroll_up = "", - }, - code_action_icon = "ﯦ ", - -- Same as nvim-lightbulb but async - code_action_lightbulb = { - sign = false, - virtual_text = true, - }, - finder_icons = { - def = " ", - ref = " ", - link = " ", - }, - finder_action_keys = { - open = "", - "o", - vsplit = "gv", - split = "gs", - tabe = "t", - quit = "gq", - scroll_down = "", - scroll_up = "", - }, - - -- Show symbols in winbar must be neovim 0.8.0, - -- Close it until neovim 0.8.0 become stable - symbol_in_winbar = { - in_custom = false, - --enable = enable_winbar, - separator = "  ", - show_file = true, - click_support = false, - }, -}) - - -- Mappings. -local map = vim.api.nvim_set_keymap -local opts = { noremap = true, silent = true } - -map("n", "gd", "Lspsaga lsp_finder", opts) -- Press "o" to open the reference location -map("n", "gp", "Lspsaga peek_definition", opts) -map("n", "K", "Lspsaga hover_doc", opts) -map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) -map("n", "gj", "Lspsaga diagnostic_jump_next", opts) -map("n", "gs", "Lspsaga signature_help", opts) -- Default is -map("n", "go", "Lspsaga show_line_diagnostics", opts) -map("n", "gr", "Lspsaga rename", opts) -map("n", "ga", "Lspsaga code_action", opts) -map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) -map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua deleted file mode 100644 index 0bf1ec7..0000000 --- a/lua/plugins/lspsaga.lua +++ /dev/null @@ -1,145 +0,0 @@ -require "lspsaga".init_lsp_saga { - -- "single" | "double" | "rounded" | "bold" | "plus" - border_style = "rounded", - --border_style = "single", - saga_winblend = 30, - move_in_saga = { next = '', prev = '' }, - --move_in_saga = { prev = "k", next = "j" }, - scroll_in_preview = { - scroll_down = "", - scroll_up = "", - }, - diagnostic_header = { " ", " ", " ", " " }, - -- add bracket or something with diagnostic source, just have 2 elements - -- use emoji lightbulb in default - code_action_icon = "", - --code_action_icon = "ﯦ ", - -- if true can press number to execute the codeaction in codeaction window - code_action_num_shortcut = true, - -- same as nvim-lightbulb but async - code_action_lightbulb = { - enable = false, - sign = false, - sign_priority = 20, -- - virtual_text = false, - }, - finder_icons = { - def = " ", - ref = " ", - link = " ", - }, - -- preview lines of lsp_finder and definition preview - max_preview_lines = 5, - definition_action_keys = { - edit = '', - vsplit = '', - split = '', - tabe = '', - quit = '', - }, - -- definition_preview_quit = '', - -- finder_preview_hl_ns = 8, - finder_action_keys = { - open = { 'o', '' }, - vsplit = "v", - split = "s", - tabe = "t", - quit = "", - scroll_down = "", - scroll_up = "", -- quit can be a table - }, - code_action_keys = { - quit = "", - exec = "", - }, - rename_action_quit = "", - rename_in_select = true, - symbol_in_winbar = { - enable = true, - --in_custom = false, - in_custom = true, - separator = '  ', - --show_file = false, - show_file = true, - click_support = false, - --click_support = false, - }, - --show_outline = { - -- win_position = 'right', - -- --set special filetype win that outline window split.like NvimTree neotree - -- -- defx, db_ui - -- min_with = '', - -- win_width = 40, - -- auto_enter = false, - -- auto_preview = true, - -- virt_text = 'x', - -- jump_key = 'l', - -- -- auto refresh when change buffer - -- auto_refresh = true, - --}, - custom_kind = { - File = { " " }, - Module = { " " }, - Namespace = { "ﱕ " }, - Package = { " " }, - Class = { "ﴯ " }, - Method = { "" }, - Property = { "ﰠ " }, - Field = { "ﰠ " }, - Constructor = { " " }, - Enum = { " " }, - Interface = { " " }, - Function = { " " }, - Variable = { " " }, - Constant = { " " }, - String = { " " }, - Number = { " " }, - Boolean = { " " }, - Array = { " " }, - Object = { " " }, - Key = { "- " }, - Null = { " " }, - EnumMember = { " " }, - Struct = { " " }, - Event = { " " }, - Operator = { " " }, - TypeParameter = { " " }, - TypeAlias = { " " }, - Parameter = { " " }, - StaticMethod = { " " }, - Macro = { "廓" }, - }, -} - - -- Mappings. -local map = vim.api.nvim_set_keymap -local opts = { noremap = true, silent = true } - -map("n", "gd", "Lspsaga peek_definition", opts) ---map("n", "gp", "Lspsaga peek_definition", opts) -map("n", "gi", "Lspsaga lsp_finder", opts) -map("n", "gh", "Lspsaga hover_doc", opts) -map("n", "gs", "Lspsaga signature_help", opts) -map("n", "ga", "Lspsaga code_action", opts) -map("v", "ga", "Lspsaga range_code_action", opts) -map("n", "gl", "Lspsaga show_line_diagnostics", opts) ---map("n", "go", "Lspsaga open_floaterm zsh", opts) -map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) -map("n", "", "Lspsaga rename", opts) -map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) -map("n", "gj", "Lspsaga diagnostic_jump_next", opts) -map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) -map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) -map("t", "", "Lspsaga close_floaterm", opts) - ---vim.api.nvim_command("highlight LspFloatWinNormal guibg=none ") ---hi LspFloatWinNormal guibg=none - - --- vim.api.nvim_create_autocmd("BufEnter", { --- callback = function () --- if #vim.api.nvim_list_wins() == 1 and vim.bo.filetype == "lspsagaoutline" then --- vim.cmd "quit" --- end --- end --- }) diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua deleted file mode 100644 index 9d86e21..0000000 --- a/lua/plugins/lualine.lua +++ /dev/null @@ -1,423 +0,0 @@ -local lualine_status_ok, lualine = pcall(require, "lualine") -if not lualine_status_ok then - print("lualine.nvim is etiher broken or is not installed.") - return -end - ---local colors = require('tokyonight.colors').setup() ---local colors = { ---bg_dark = "#1f2335", ---bg = "#24283b", ---fg = "#c0caf5", ---fg_gutter = "#3b4261", ---green = "#a6e3a1", ---red = "#f38ba8", ---} - ---local colors = { --- gray = '#23232e', --- lightgray = '#5f6a8e', --- orange = '#ffb86c', --- purple = '#bd93f9', --- red = '#ff5555', --- yellow = '#f1fa8c', --- green = '#50fa7b', --- white = '#f8f8f2', --- black = '#282a36', ---} -local colors = { - nobg = nil, - blue = "#87b0f9", - mauve = "#cba6f7", - red = "#f38ba8", - green = "#a6e3a1", - peach = "#fab387", - white = "#c6d0f5", - gray = "#a1a8c9", - black = "#1e1e2e", - innerbg = nil, - outerbg = "#16161D", -} ---require("lualine").setup({ --- Your lua part of config goes here -require("lualine").setup({ - options = { - icons_enabled = true, - --theme = "auto", - theme = require("plugins.linecolor").theme(), - --theme = { - -- We are going to use lualine_c an lualine_x as left and - -- right section. Both are highlighte by c theme . So we - -- are just setting default looks o statusline - --normal = { c = { fg = colors.fg, bg = colors.bg } }, - --inactive = { c = { fg = colors.fg, bg = colors.bg } }, - --}, - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - --component_separators = { left = '|', right = '|'}, - --section_separators = { left = '', right = ''}, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - globalstatus = true, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - }, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { - "branch", - { - "diff", - colored = true, - diff_color = { - added = "DiffAdd", - modified = "DiffChange", - removed = "DiffDelete", - }, - }, - { - "diagnostics", - - sources = { "nvim_lsp" }, - sections = { "error", "warn", "info" }, - - diagnostics_color = { - error = "DiagnosticError", - warn = "DiagnosticWarn", - info = "DiagnosticInfo", - }, - colored = true, - update_in_insert = false, - always_visible = false, - }, - }, - --lualine_b = { "branch", "diff", "diagnostics" }, - lualine_c = { - --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, - --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, - --{ "filetype", - -- icon_only = true, - --}, - { - "filename", - --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, - --component_separators = {left = "", right = ""}, - }, - }, - lualine_x = { "encoding", "fileformat", "filetype" }, - --lualine_x = { - -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - --}, - lualine_y = { "progress" }, - lualine_z = { "location" }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - -- tabline = {}, - tabline = { - --lualine_a = { "mode" }, - --lualine_a = {custom_fname}, - lualine_a = { - { - "buffers", - show_filename_only = false, - show_modified_status = true, - mode = 4, - buffers_color = { - active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer - --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer - --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer - --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer - ----color = function() - ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } - ----end, - }, - symbols = { - modified = " ●", -- Text to show when the buffer is modified - alternate_file = "", -- Text to show to identify the alternate file - --directory = "", -- Text to show when the buffer is a directory - }, - max_length = vim.o.columns * 5 / 6, - --{{function() - -- local bg = 'hi! lualine_buffers_color' -- not modified - -- if vim.bo.modified then bg = '#c70039' -- unsaved - -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly - -- vim.cmd('hi! lualine_buffers_color guibg='..bg) - --end, - --color = 'hi! lualine_buffers_color', - --}}, - }, - }, - lualine_b = {}, - lualine_c = {}, - lualine_x = {}, - lualine_y = {}, - lualine_z = {}, - --lualine_z = { "tabs" }, - }, - --tabline = { - -- lualine_a = { "mode" }, - -- lualine_b = { "buffers" }, - -- lualine_c = { "branch" }, - -- --lualine_c = { "branch", "diff", "diagnostics" }, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = { "tabs" }, - --}, - --winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {'filename'}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - --inactive_winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - winbar = {}, - inactive_winbar = {}, - --extensions = {}, - extensions = { "quickfix" }, -}) ---require("lualine").statusline() ---require("lualine").tabline() ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local lualine_status_ok, lualine = pcall(require, "lualine") ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local utils = require("heirline.utils") - ---local M = {} - --- stylua: ignore start ---M.colours = {--{{{ ----- Color table for highlights ----- stylua: ignore ---local colors = { --- bg = '#2E3440', --- fg = '#E5E9F0', --- yellow = '#EBCB8B', --- cyan = '#88C0D0', --- darkblue = '#5E81AC', --- green = '#A3BE8C', --- orange = '#D08770', --- violet = '#B48EAD', --- magenta = '#B48EAD', --- blue = '#81A1C1', --- red = '#BF616A', ---} --- ---local conditions = { --- buffer_not_empty = function() --- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 --- end, --- hide_in_width = function() --- return vim.fn.winwidth(0) > 80 --- end, --- check_git_workspace = function() --- local filepath = vim.fn.expand("%:p:h") --- local gitdir = vim.fn.finddir(".git", filepath .. ";") --- return gitdir and #gitdir > 0 and #gitdir < #filepath --- end, ---} - --- Config ---local config = { ---require('lualine').setup { --- options = { --- -- Disable sections and component separators --- component_separators = "", --- section_separators = "", --- theme = { --- -- We are going to use lualine_c an lualine_x as left and --- -- right section. Both are highlighte by c theme . So we --- -- are just setting default looks o statusline --- normal = { c = { fg = colors.fg, bg = colors.bg } }, --- inactive = { c = { fg = colors.fg, bg = colors.bg } }, --- }, --- disabled_filetypes = { "NvimTree" }, --- }, --- sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- -- These will be filled later --- lualine_c = {}, --- lualine_x = {}, --- }, --- inactive_sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- lualine_c = {}, --- lualine_x = {}, --- }, ---} --- ----- Inserts a component in lualine_c at left section ---local function ins_left(component) --- table.insert(lualine.sections.lualine_c, component) ---end --- ----- Inserts a component in lualine_x ot right section ---local function ins_right(component) --- table.insert(lualine.sections.lualine_x, component) ---end --- ---ins_left({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, -- Sets highlighting of component --- padding = { left = 0, right = 1 }, -- We don't need space before this ---}) --- ---ins_left({ --- -- mode component --- function() --- return "" --- end, --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.blue, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- -- mode component --- "mode", --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.red, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- "branch", --- icon = "", --- color = { fg = colors.violet, gui = "bold" }, ---}) --- ---ins_left({ --- "filename", --- cond = conditions.buffer_not_empty, --- color = { fg = colors.aqua, gui = "bold" }, ---}) --- ---ins_left({ --- -- filesize component --- "filesize", --- cond = conditions.buffer_not_empty, ---}) --- ----- Add components to right sections ---ins_right({ --- "o:encoding", -- option component same as &encoding in viml --- fmt = string.lower, -- I'm not sure why it's upper case either ;) --- cond = conditions.hide_in_width, --- color = { fg = colors.yellow }, ---}) --- ---ins_right({ --- "fileformat", --- fmt = string.upper, --- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh --- color = { fg = colors.fg, gui = "bold" }, ---}) --- ---ins_right({ --- "filetype", ---}) --- ---ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) --- ---ins_right({ --- "location", ---}) --- ---ins_right({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, --- padding = { left = 1 }, ---}) ---return M --- Now don't forget to initialize lualine ---require("lualine").setup(config) ---require"lualine".setup(config) ---lualine.setup(config) diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua deleted file mode 100644 index 69c61ba..0000000 --- a/lua/plugins/mason.lua +++ /dev/null @@ -1,27 +0,0 @@ -local status, mason = pcall(require, "mason") -if (not status) then return end -local status2, lspconfig = pcall(require, "mason-lspconfig") -if (not status2) then return end - -mason.setup({ - -}) - -lspconfig.setup { - ensure_installed = { "sumneko_lua" }, -} -local keymap = vim.api.nvim_set_keymap -local opts = { noremap = true } - - -keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) -keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) -keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) -keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) -keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) -keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) -keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) -keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) -keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) diff --git a/lua/plugins/neoscroll.lua b/lua/plugins/neoscroll.lua deleted file mode 100644 index d122584..0000000 --- a/lua/plugins/neoscroll.lua +++ /dev/null @@ -1,21 +0,0 @@ -require("neoscroll").setup({ - easing_function = "quadratic", -}) - -local t = {} --- Syntax: t[keys] = {function, {function arguments}} --- Use the "sine" easing function -t[""] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } } -t[""] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } } --- Use the "circular" easing function -t[""] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } -t[""] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } --- Pass "nil" to disable the easing animation (constant scrolling speed) -t[""] = { "scroll", { "-0.10", "false", "100", nil } } -t[""] = { "scroll", { "0.10", "false", "100", nil } } --- When no easing function is provided the default easing function (in this case "quadratic") will be used -t["zt"] = { "zt", { "10" } } -t["zz"] = { "zz", { "10" } } -t["zb"] = { "zb", { "10" } } - -require("neoscroll.config").set_mappings(t) diff --git a/lua/plugins/null-ls.lua b/lua/plugins/null-ls.lua deleted file mode 100644 index 7fc4377..0000000 --- a/lua/plugins/null-ls.lua +++ /dev/null @@ -1,26 +0,0 @@ -local null_ls_status_ok, null_ls = pcall(require, "null-ls") -if not null_ls_status_ok then - return -end - --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting -local formatting = null_ls.builtins.formatting --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics -local diagnostics = null_ls.builtins.diagnostics - ---null_ls.setup({ --- debug = false, --- sources = { --- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), --- formatting.black.with({ extra_args = { "--fast" } }), --- formatting.stylua, --- -- diagnostics.flake8 --- }, ---}) -require("null-ls").setup({ - sources = { - require("null-ls").builtins.formatting.stylua, - require("null-ls").builtins.diagnostics.eslint, - require("null-ls").builtins.completion.spell, - }, -}) diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua deleted file mode 100644 index 74030cb..0000000 --- a/lua/plugins/nvim-tree.lua +++ /dev/null @@ -1,68 +0,0 @@ -local status_ok, nvim_tree = pcall(require, "nvim-tree") -if not status_ok then - return -end - -local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") -if not config_status_ok then - return -end - -local tree_cb = nvim_tree_config.nvim_tree_callback - -nvim_tree.setup({ - update_focused_file = { - enable = true, - update_cwd = true, - }, - renderer = { - root_folder_modifier = ":t", - icons = { - glyphs = { - default = "", - symlink = "", - folder = { - arrow_open = "", - arrow_closed = "", - default = "", - open = "", - empty = "", - empty_open = "", - symlink = "", - symlink_open = "", - }, - git = { - unstaged = "", - staged = "S", - unmerged = "", - renamed = "➜", - untracked = "U", - deleted = "", - ignored = "◌", - }, - }, - }, - }, - diagnostics = { - enable = true, - show_on_dirs = true, - icons = { - hint = "", - info = "", - warning = "", - error = "", - }, - }, - view = { - width = 30, - --height = 30, - side = "left", - mappings = { - list = { - { key = { "l", "", "o" }, cb = tree_cb("edit") }, - { key = "h", cb = tree_cb("close_node") }, - { key = "v", cb = tree_cb("vsplit") }, - }, - }, - }, -}) diff --git a/lua/plugins/prettier.lua b/lua/plugins/prettier.lua deleted file mode 100644 index 05d4665..0000000 --- a/lua/plugins/prettier.lua +++ /dev/null @@ -1,19 +0,0 @@ -local status, prettier = pcall(require, "prettier") -if (not status) then return end - -prettier.setup { - bin = 'prettierd', - filetypes = { - "c", - "lua", - "vim", - --"css", - --"javascript", - --"javascriptreact", - --"typescript", - --"typescriptreact", - --"json", - --"scss", - "less" - } -} diff --git a/lua/plugins/tabline.lua b/lua/plugins/tabline.lua deleted file mode 100644 index 4e1c506..0000000 --- a/lua/plugins/tabline.lua +++ /dev/null @@ -1,22 +0,0 @@ -require("tabline").setup({ - -- Defaults configuration options - enable = true, - options = { - -- If lualine is installed tabline will use separators configured in lualine by default. - -- These options can be used to override those settings. - section_separators = { "", "" }, - component_separators = { "", "" }, - max_bufferline_percent = 66, -- set to nil by default, and it uses vim.o.columns * 2/3 - show_tabs_always = true, -- this shows tabs only when there are more than one tab or if the first tab is named - show_devicons = true, -- this shows devicons in buffer section - show_bufnr = true, -- this appends [bufnr] to buffer section, - show_filename_only = false, -- shows base filename only instead of relative path in filename - modified_icon = "+", -- change the default modified icon - modified_italic = true, -- set to true by default; this determines whether the filename turns italic if modified - show_tabs_only = false, -- this shows only tabs instead of tabs + buffers - }, -}) -vim.cmd([[ - set guioptions-=e " Use showtabline in gui vim - set sessionoptions+=tabpages,globals " store tabpages and globals in session -]]) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua deleted file mode 100644 index 7e70bd5..0000000 --- a/lua/plugins/telescope.lua +++ /dev/null @@ -1,177 +0,0 @@ -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return -end -local actions = require("telescope.actions") -local builtin = require("telescope.builtin") - -local function telescope_buffer_dir() - return vim.fn.expand("%:p:h") -end - -telescope.load_extension("fzf") -telescope.load_extension("file_browser") -require("telescope").load_extension("file_browser") -local fb_actions = require("telescope").extensions.file_browser.actions ---telescope.load_extension('media_files') - -telescope.setup({ - defaults = { - -- - prompt_prefix = " ", - selection_caret = " ", - path_display = { "smart" }, - -- - mappings = { - i = { - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.close, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - [""] = actions.complete_tag, - [""] = actions.which_key, -- keys from pressing - }, - - n = { - [""] = actions.close, - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - - ["j"] = actions.move_selection_next, - ["k"] = actions.move_selection_previous, - ["H"] = actions.move_to_top, - ["M"] = actions.move_to_middle, - ["L"] = actions.move_to_bottom, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - ["gg"] = actions.move_to_top, - ["G"] = actions.move_to_bottom, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - ["?"] = actions.which_key, - ["cd"] = function(prompt_bufnr) - local selection = require("telescope.actions.state").get_selected_entry() - local dir = vim.fn.fnamemodify(selection.path, ":p:h") - require("telescope.actions").close(prompt_bufnr) - -- Depending on what you want put `cd`, `lcd`, `tcd` - vim.cmd(string.format("silent lcd %s", dir)) - end, - }, - }, - }, - pickers = { - -- Default configuration for builtin pickers goes here: - -- picker_name = { - -- picker_config_key = value, - -- ... - -- } - -- Now the picker_config_key will be applied every time you call this - -- builtin picker - }, - extensions = { - file_browser = { - theme = "dropdown", - -- disables netrw and use telescope-file-browser in its place - hijack_netrw = true, - mappings = { - -- your custom insert mode mappings - ["i"] = { - [""] = function() - vim.cmd("normal vbd") - end, - }, - ["n"] = { - -- your custom normal mode mappings - ["N"] = fb_actions.create, - ["h"] = fb_actions.goto_parent_dir, - ["/"] = function() - vim.cmd("startinsert") - end, - }, - }, - }, - - media_files = { - -- filetypes whitelist - -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} - filetypes = { "png", "webp", "jpg", "jpeg" }, - find_cmd = "rg", -- find command (defaults to `fd`) - }, - -- Your extension configuration goes here: - -- extension_name = { - -- extension_config_key = value, - -- } - -- please take a look at the readme of the extension you want to configure - }, -}) - -telescope.load_extension("file_browser") - ---vim.keymap.set("n", ";f", function() --- builtin.find_files({ --- no_ignore = false, --- hidden = true, --- }) ---end) -vim.keymap.set("n", ";r", function() - builtin.live_grep() -end) -vim.keymap.set("n", "\\\\", function() - builtin.buffers() -end) -vim.keymap.set("n", ";t", function() - builtin.help_tags() -end) -vim.keymap.set("n", ";;", function() - builtin.resume() -end) -vim.keymap.set("n", ";e", function() - builtin.diagnostics() -end) ---vim.keymap.set("n", "sf", function() --- telescope.extensions.file_browser.file_browser({ --- path = "%:p:h", --- cwd = telescope_buffer_dir(), --- respect_gitignore = false, --- hidden = true, --- grouped = true, --- previewer = false, --- initial_mode = "normal", --- layout_config = { height = 40 }, --- }) ---end) diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua deleted file mode 100644 index 912729a..0000000 --- a/lua/plugins/toggleterm.lua +++ /dev/null @@ -1,90 +0,0 @@ -local status_ok, toggleterm = pcall(require, "toggleterm") -if not status_ok then - return -end - -toggleterm.setup({ - size = function(term) - if term.direction == "horizontal" then - return 12 - elseif term.direction == "vertical" then - return vim.o.columns * 0.3 - end - end, - --size = 20, - open_mapping = [[to]], - hide_numbers = true, - shade_filetypes = {}, - shade_terminals = false, - shading_factor = 1, - start_in_insert = true, - insert_mappings = true, - persist_size = true, - direction = "float", - --direction = "vertical", - --direction = "horizontal", - close_on_exit = true, - shell = vim.o.shell, - highlights = { - -- highlights which map to a highlight group name and a table of it's values - -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split - Normal = { - background = "#000000", - }, - }, - float_opts = { - width = 70, - height = 15, - winblend = 3, - border = "curved", - --winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, -}) - -function _G.set_terminal_keymaps() - local opts = { noremap = true } - --local opts = {buffer = 0} - vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) -end - -vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") - -local Terminal = require("toggleterm.terminal").Terminal -local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) - -function _LAZYGIT_TOGGLE() - lazygit:toggle() -end - -local node = Terminal:new({ cmd = "node", hidden = true }) - -function _NODE_TOGGLE() - node:toggle() -end - -local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) - -function _NCDU_TOGGLE() - ncdu:toggle() -end - -local htop = Terminal:new({ cmd = "htop", hidden = true }) - -function _HTOP_TOGGLE() - htop:toggle() -end - -local python = Terminal:new({ cmd = "python", hidden = true }) - -function _PYTHON_TOGGLE() - python:toggle() -end diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua deleted file mode 100644 index b081ca3..0000000 --- a/lua/plugins/treesitter.lua +++ /dev/null @@ -1,34 +0,0 @@ -local status, treesitter = pcall(require, "nvim-treesitter.configs") -if (not status) then return end - -treesitter.setup { - highlight = { - enable = true, - disable = {}, - }, - indent = { - enable = true, - disable = {}, - --disable = { "python", "css" } - }, - ensure_installed = { - "c", - "bash", - "lua", - "rust", - }, - --ensure_installed = "all", -- one of "all" or a list of languages - --ignore_install = { "" }, -- List of parsers to ignore installing - autotag = { - enable = true, - }, - efactor = { - highlight_definitions = { enable = true }, - highlight_current_scope = { enable = true } - } -} ---vim.opt.foldmethod = "expr" ---vim.opt.foldexpr = "nvim_treesitter#foldexpr()" - ---local parser_config = require "nvim-treesitter.parsers".get_parser_configs() ---parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" } diff --git a/lua/plugins/web-devicons.lua b/lua/plugins/web-devicons.lua deleted file mode 100644 index b8396bc..0000000 --- a/lua/plugins/web-devicons.lua +++ /dev/null @@ -1,12 +0,0 @@ -local status, icons = pcall(require, "nvim-web-devicons") -if (not status) then return end - -icons.setup { - -- your personnal icons can go here (to override) - -- DevIcon will be appended to `name` - override = { - }, - -- globally enable default icons (default to false) - -- will get overriden by `get_icons` option - default = true -} diff --git a/lua/plugins/winbar.lua b/lua/plugins/winbar.lua deleted file mode 100644 index 1573828..0000000 --- a/lua/plugins/winbar.lua +++ /dev/null @@ -1,35 +0,0 @@ -require("winbar").setup({ - enabled = true, - - show_file_path = true, - show_symbols = true, - - colors = { - path = "", -- You can customize colors like #c946fd - file_name = "", - symbols = "", - }, - - icons = { - file_icon_default = "", - seperator = ">", - editor_state = "●", - lock_icon = "", - }, - - exclude_filetype = { - "help", - "startify", - "dashboard", - "packer", - "neogitstatus", - "NvimTree", - "Trouble", - "alpha", - "lir", - "Outline", - "spectre_panel", - "toggleterm", - "qf", - }, -}) diff --git a/lua/plugins/zen-mode.lua b/lua/plugins/zen-mode.lua deleted file mode 100644 index 7e52854..0000000 --- a/lua/plugins/zen-mode.lua +++ /dev/null @@ -1,7 +0,0 @@ -local status, zenMode = pcall(require, "zen-mode") -if (not status) then return end - -zenMode.setup { -} - -vim.keymap.set('n', 'o', 'ZenMode', { silent = true }) diff --git a/lua/scripts/lsp-ext.lua b/lua/scripts/lsp-ext.lua deleted file mode 100644 index c4378c6..0000000 --- a/lua/scripts/lsp-ext.lua +++ /dev/null @@ -1,48 +0,0 @@ --- --- lsp-ext.lua - - -M = {} - -function M.preview_location(location, context, before_context) - -- location may be LocationLink or Location (more useful for the former) - context = context or 15 - before_context = before_context or 0 - local uri = location.targetUri or location.uri - if uri == nil then - return - end - local bufnr = vim.uri_to_bufnr(uri) - if not vim.api.nvim_buf_is_loaded(bufnr) then - vim.fn.bufload(bufnr) - end - local range = location.targetRange or location.range - local contents = - vim.api.nvim_buf_get_lines(bufnr, range.start.line - before_context, range["end"].line + 1 + context, false) - local filetype = vim.api.nvim_buf_get_option(bufnr, "filetype") - return vim.lsp.util.open_floating_preview(contents, filetype) -end - -function M.preview_location_callback(_, method, result) - local context = 15 - if result == nil or vim.tbl_isempty(result) then - print("No location found: " .. method) - return nil - end - if vim.tbl_islist(result) then - M.floating_buf, M.floating_win = M.preview_location(result[1], context) - else - M.floating_buf, M.floating_win = M.preview_location(result, context) - end -end - -function M.peek_definition() - if vim.tbl_contains(vim.api.nvim_list_wins(), M.floating_win) then - vim.api.nvim_set_current_win(M.floating_win) - else - local params = vim.lsp.util.make_position_params() - return vim.lsp.buf_request(0, "textDocument/definition", params, M.preview_location_callback) - end -end - -return M diff --git a/lua/scripts/setcolors.lua b/lua/scripts/setcolors.lua deleted file mode 100644 index 605bc84..0000000 --- a/lua/scripts/setcolors.lua +++ /dev/null @@ -1,121 +0,0 @@ -vim.cmd([[ -" Change the color scheme from a list of color scheme names. -" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341 -" Press key: -" F8 next scheme -" Shift-F8 previous scheme -" Alt-F8 random scheme -" Set the list of color schemes used by the above (default is 'all'): -" :SetColors all (all $VIMRUNTIME/colors/*.vim) -" :SetColors my (names built into script) -" :SetColors blue ayu ron (these schemes) -" :SetColors (display current scheme names) -" Set the current color scheme based on time of day: -" :SetColors now -if v:version < 700 || exists('loaded_setcolors') || &cp - finish -endif - -let loaded_setcolors = 1 -let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color - -" Set list of color scheme names that we will use, except -" argument 'now' actually changes the current color scheme. -function! s:SetColors(args) - if len(a:args) == 0 - echo 'Current color scheme names:' - let i = 0 - while i < len(s:mycolors) - echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)')) - let i += 5 - endwhile - elseif a:args == 'all' - let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n") - let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")'))) - echo 'List of colors set from all installed color schemes' - elseif a:args == 'my' - let c1 = 'default srcery everblush' - let c2 = 'gruvbox onedark' - let c3 = 'ayu molokai' - let s:mycolors = split(c1.' '.c2.' '.c3) - echo 'List of colors set from built-in names' - elseif a:args == 'now' - call s:HourColor() - else - let s:mycolors = split(a:args) - echo 'List of colors set from argument (space-separated names)' - endif -endfunction - -command! -nargs=* SetColors call s:SetColors('') - -" Set next/previous/random (how = 1/-1/0) color from our list of colors. -" The 'random' index is actually set from the current time in seconds. -" Global (no 's:') so can easily call from command line. -function! NextColor(how) - call s:NextColor(a:how, 1) -endfunction - -" Helper function for NextColor(), allows echoing of the color name to be -" disabled. -function! s:NextColor(how, echo_color) - if len(s:mycolors) == 0 - call s:SetColors('all') - endif - if exists('g:colors_name') - let current = index(s:mycolors, g:colors_name) - else - let current = -1 - endif - let missing = [] - let how = a:how - for i in range(len(s:mycolors)) - if how == 0 - let current = localtime() % len(s:mycolors) - let how = 1 " in case random color does not exist - else - let current += how - if !(0 <= current && current < len(s:mycolors)) - let current = (how>0 ? 0 : len(s:mycolors)-1) - endif - endif - try - execute 'colorscheme '.s:mycolors[current] - break - catch /E185:/ - call add(missing, s:mycolors[current]) - endtry - endfor - redraw - if len(missing) > 0 - echo 'Error: colorscheme not found:' join(missing) - endif - if (a:echo_color) - echo g:colors_name - endif -endfunction - -nnoremap cn :call NextColor(1) -nnoremap cp :call NextColor(-1) -nnoremap cc :call NextColor(0) - -" Set color scheme according to current time of day. -function! s:HourColor() - let hr = str2nr(strftime('%H')) - if hr <= 3 - let i = 0 - elseif hr <= 7 - let i = 1 - elseif hr <= 14 - let i = 2 - elseif hr <= 18 - let i = 3 - else - let i = 4 - endif - let nowcolors = 'srcery onedark molokai' - execute 'colorscheme '.split(nowcolors)[i] - redraw - echo g:colors_name -endfunction -]]) diff --git a/lua/scripts/toggleLsp.lua b/lua/scripts/toggleLsp.lua deleted file mode 100644 index 28af698..0000000 --- a/lua/scripts/toggleLsp.lua +++ /dev/null @@ -1,40 +0,0 @@ -local M = {} - -local check_function = function(bufnr, _) - local ok, result = pcall(vim.api.nvim_buf_get_var, bufnr, 'lsp_enabled') - -- No buffer local variable set, so just enable by default - if not ok then - return true - end - - return result -end - -vim.lsp.handlers["textDocument/publishDiagnostics"] = - vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - underline = check_function, - virtual_text = check_function, - signs = check_function - }) - -function M.Enable() - vim.b.lsp_enabled = true -end - -function M.Disable() - vim.b.lsp_enabled = false -end - -function M.Toggle() - if vim.b.lsp_enabled == false then - M.Enable() - else - M.Disable() - end -end - -vim.cmd [[ - command! -nargs=* ToggleLsp lua require'lsp.toggle'.Toggle() -]] - -return M diff --git a/lua/startup.log b/lua/startup.log deleted file mode 100644 index cd880b7..0000000 --- a/lua/startup.log +++ /dev/null @@ -1,6125 +0,0 @@ - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -000.030 000.030: --- NVIM STARTING --- -000.690 000.660: locale set -001.457 000.767: inits 1 -001.481 000.024: window checked -001.489 000.008: parsing arguments -006.143 004.654: init lua interpreter -006.432 000.289: expanding arguments -006.485 000.054: inits 2 -007.386 000.901: init highlight -007.390 000.004: waiting for UI -009.710 002.320: done waiting for UI -009.741 000.031: init screen for UI -009.777 000.036: init default mappings -009.849 000.072: init default autocommands -014.503 000.337 000.337: sourcing /usr/share/nvim/runtime/ftplugin.vim -015.383 000.089 000.089: sourcing /usr/share/nvim/runtime/indent.vim -015.552 000.030 000.030: sourcing /usr/share/nvim/archlinux.vim -015.561 000.082 000.052: sourcing /etc/xdg/nvim/sysinit.vim -021.171 000.093 000.093: sourcing /usr/share/nvim/runtime/filetype.lua -036.308 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim -037.051 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim -037.378 000.026 000.026: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim -037.446 000.036 000.036: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim -037.617 000.131 000.131: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim -037.716 000.064 000.064: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim -038.773 017.553 017.236: sourcing /usr/share/nvim/runtime/filetype.vim -039.391 000.027 000.027: sourcing /usr/share/nvim/runtime/ftplugin.vim -039.936 000.021 000.021: sourcing /usr/share/nvim/runtime/indent.vim -365.797 003.542 003.542: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim -368.520 000.193 000.193: sourcing /usr/share/nvim/runtime/syntax/synload.vim -368.860 001.099 000.906: sourcing /usr/share/nvim/runtime/syntax/syntax.vim -369.137 353.529 331.193: sourcing /home/sxrdusr/.config/nvim/init.lua -369.157 005.272: sourcing vimrc file(s) -373.085 000.554 000.554: sourcing /usr/share/nvim/runtime/plugin/gzip.vim -373.151 000.025 000.025: sourcing /usr/share/nvim/runtime/plugin/health.vim -373.327 000.144 000.144: sourcing /usr/share/nvim/runtime/plugin/man.vim -374.418 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -374.626 001.264 000.820: sourcing /usr/share/nvim/runtime/plugin/matchit.vim -374.959 000.297 000.297: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim -375.038 000.042 000.042: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim -375.374 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -375.392 000.321 000.299: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim -375.631 000.209 000.209: sourcing /usr/share/nvim/runtime/plugin/shada.vim -375.731 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim -376.093 000.318 000.318: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim -376.308 000.167 000.167: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim -376.393 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/tutor.vim -376.825 000.397 000.397: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim -378.105 001.110 001.110: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -387.539 009.175 009.175: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -388.054 004.777: loading rtp plugins -391.529 001.769 001.769: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -392.303 000.615 000.615: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -393.117 000.042 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -396.623 003.164 003.164: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -397.394 000.420 000.420: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -398.575 000.976 000.976: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -399.616 000.673 000.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -400.317 000.481 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim -401.132 000.394 000.394: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -402.646 001.181 001.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -402.889 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -403.318 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -403.887 000.309 000.309: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -410.104 005.911 005.911: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -411.745 001.430 001.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -412.774 000.731 000.731: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -413.166 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -413.556 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -413.859 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -414.509 000.341 000.341: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -414.920 000.062 000.062: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -416.289 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -417.493 000.175 000.175: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim -419.578 001.080 001.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim -420.400 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim -423.478 000.285 000.285: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim -423.652 007.107 005.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim -424.176 000.279 000.279: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim -425.502 001.103 001.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim -426.259 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim -428.992 002.485 002.485: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim -429.902 000.528 000.528: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim -431.653 001.300 001.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim -432.720 000.543 000.543: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -447.697 014.724 014.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim -449.392 000.133 000.133: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim -450.395 000.326 000.326: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim -450.586 001.896 001.437: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim -451.786 003.739 001.843: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim -452.701 000.649 000.649: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -454.329 000.593 000.593: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim -457.139 000.166 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim -463.032 010.052 009.294: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim -463.438 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -463.709 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -464.077 013.014: loading packages -465.745 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -469.545 004.983 004.590: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -470.936 001.172 001.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -471.544 000.451 000.451: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -472.050 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -472.695 000.497 000.497: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -473.371 000.514 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -473.511 001.472: loading after plugins -473.539 000.029: inits 3 -478.437 004.898: reading ShaDa -482.242 000.511 000.511: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim -482.916 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim -483.659 000.282 000.282: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim -484.393 000.066 000.066: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim -485.973 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim -486.960 000.329 000.329: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim -487.570 002.286 001.851: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim -488.773 000.379 000.379: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim -489.544 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim -490.389 000.116 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim -491.221 000.199 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim -492.050 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim -492.776 000.155 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim -493.511 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim -494.153 000.071 000.071: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim -495.585 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim -515.108 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim -516.155 001.981 001.862: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim -554.910 000.246 000.246: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim -556.123 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim -663.827 178.485: opening buffers -664.368 000.541: BufEnter autocommands -664.379 000.010: editing files in windows -667.364 000.707 000.707: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -000.016 000.016: --- NVIM STARTING --- -000.645 000.628: locale set -001.314 000.670: inits 1 -001.351 000.036: window checked -001.360 000.010: parsing arguments -007.583 006.223: init lua interpreter -007.958 000.374: expanding arguments -008.022 000.064: inits 2 -009.122 001.100: init highlight -009.128 000.006: waiting for UI -012.871 003.743: done waiting for UI -012.918 000.047: init screen for UI -012.972 000.054: init default mappings -013.052 000.080: init default autocommands -017.713 000.148 000.148: sourcing /usr/share/nvim/runtime/ftplugin.vim -018.500 000.086 000.086: sourcing /usr/share/nvim/runtime/indent.vim -018.734 000.034 000.034: sourcing /usr/share/nvim/archlinux.vim -018.747 000.102 000.068: sourcing /etc/xdg/nvim/sysinit.vim -026.363 000.143 000.143: sourcing /usr/share/nvim/runtime/filetype.lua -040.626 000.040 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim -041.433 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/ftdetect/fugitive.vim -041.845 000.030 000.030: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim -041.980 000.099 000.099: sourcing /usr/share/vim/vimfiles/ftdetect/conkyrc.vim -042.145 000.127 000.127: sourcing /usr/share/vim/vimfiles/ftdetect/firejail.vim -042.247 000.068 000.068: sourcing /usr/share/vim/vimfiles/ftdetect/meson.vim -043.487 017.063 016.671: sourcing /usr/share/nvim/runtime/filetype.vim -044.228 000.039 000.039: sourcing /usr/share/nvim/runtime/ftplugin.vim -044.826 000.023 000.023: sourcing /usr/share/nvim/runtime/indent.vim -354.645 003.386 003.386: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/colors/ayu.vim -357.306 000.212 000.212: sourcing /usr/share/nvim/runtime/syntax/synload.vim -357.593 001.082 000.870: sourcing /usr/share/nvim/runtime/syntax/syntax.vim -357.862 339.061 317.325: sourcing /home/sxrdusr/.config/nvim/init.lua -357.884 005.435: sourcing vimrc file(s) -361.965 000.572 000.572: sourcing /usr/share/nvim/runtime/plugin/gzip.vim -362.033 000.026 000.026: sourcing /usr/share/nvim/runtime/plugin/health.vim -362.218 000.153 000.153: sourcing /usr/share/nvim/runtime/plugin/man.vim -363.321 000.444 000.444: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -363.527 001.273 000.829: sourcing /usr/share/nvim/runtime/plugin/matchit.vim -363.867 000.305 000.305: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim -363.944 000.041 000.041: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim -364.272 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -364.291 000.314 000.277: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim -364.528 000.206 000.206: sourcing /usr/share/nvim/runtime/plugin/shada.vim -364.630 000.054 000.054: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim -364.985 000.311 000.311: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim -365.214 000.177 000.177: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim -365.321 000.049 000.049: sourcing /usr/share/nvim/runtime/plugin/tutor.vim -365.765 000.406 000.406: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim -367.088 001.150 001.150: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -375.323 008.056 008.056: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -375.841 004.866: loading rtp plugins -379.412 001.854 001.854: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -380.146 000.570 000.570: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -380.990 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -383.716 002.369 002.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -384.344 000.301 000.301: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -385.072 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -386.341 000.878 000.878: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -386.938 000.366 000.366: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim/plugin/mkdp.vim -387.768 000.406 000.406: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -389.297 001.189 001.189: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -389.543 000.070 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -389.981 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -390.544 000.298 000.298: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -394.211 003.349 003.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -395.750 001.332 001.332: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -396.621 000.626 000.626: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -396.957 000.101 000.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -397.349 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -397.652 000.089 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -398.317 000.358 000.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -398.678 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -399.781 000.665 000.665: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -400.996 000.181 000.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/init.vim -403.064 001.038 001.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/parts.vim -403.886 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/formatter/short_path.vim -406.913 000.299 000.299: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/util.vim -407.082 007.039 005.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/plugin/airline.vim -407.616 000.277 000.277: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-easy-align/plugin/easy_align.vim -408.966 001.122 001.122: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-eunuch/plugin/eunuch.vim -409.735 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-floaterm/plugin/floaterm.vim -412.162 002.181 002.181: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-fugitive/plugin/fugitive.vim -412.683 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim -413.367 000.438 000.438: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -414.379 000.760 000.760: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim -415.083 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -429.507 014.133 014.133: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-unimpaired/plugin/unimpaired.vim -431.102 000.130 000.130: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim -432.166 000.343 000.343: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim -432.357 001.966 001.493: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim -433.372 003.592 001.625: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/plugin/vimspector.vim -434.296 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -435.993 000.612 000.612: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/vars.vim -438.802 000.176 000.176: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/autoload/vimwiki/u.vim -444.128 009.557 008.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimwiki/plugin/vimwiki.vim -444.497 000.035 000.035: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -444.772 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -445.139 012.625: loading packages -446.629 000.373 000.373: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -450.348 004.674 004.300: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -451.730 001.165 001.165: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -452.362 000.473 000.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -452.781 000.268 000.268: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -453.460 000.534 000.534: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -454.136 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -454.275 001.498: loading after plugins -454.303 000.028: inits 3 -459.084 004.781: reading ShaDa -462.255 000.518 000.518: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions.vim -462.914 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/quickfix.vim -463.666 000.283 000.283: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline.vim -464.405 000.068 000.068: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fzf.vim -465.992 000.119 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/section.vim -466.989 000.346 000.346: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/highlighter.vim -467.604 002.304 001.840: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/term.vim -468.826 000.393 000.393: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/branch.vim -469.599 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/fugitiveline.vim -470.437 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/nvimlsp.vim -471.295 000.208 000.208: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/whitespace.vim -472.141 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/po.vim -472.878 000.162 000.162: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/wordcount.vim -473.615 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/keymap.vim -474.255 000.065 000.065: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/obsession.vim -475.552 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/searchcount.vim -493.677 000.106 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/themes.vim -494.652 001.780 001.673: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/ayu-vim/autoload/airline/themes/ayu.vim -531.806 000.251 000.251: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/builder.vim -533.020 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-airline/autoload/airline/extensions/default.vim -634.041 168.210: opening buffers -634.303 000.263: BufEnter autocommands -634.310 000.007: editing files in windows -636.729 000.726 000.726: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimspector/autoload/vimspector.vim - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.077 001.077: --- NVIM STARTING --- -028.689 027.612: event init -046.977 018.288: early init -048.697 001.720: locale set -054.356 005.659: init first window -065.332 010.976: inits 1 -065.359 000.027: window checked -065.367 000.008: parsing arguments -077.586 000.123 000.123: require('vim.shared') -077.824 000.107 000.107: require('vim._meta') -077.830 000.231 000.124: require('vim._editor') -077.834 000.414 000.060: require('vim._init_packages') -077.837 012.056: init lua interpreter -077.932 000.095: expanding arguments -079.680 001.748: inits 2 -080.294 000.614: init highlight -080.299 000.004: waiting for UI -082.730 002.431: done waiting for UI -082.778 000.048: init screen for UI -083.210 000.432: init default mappings -083.247 000.037: init default autocommands -094.132 004.012 004.012: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/ftplugin.vim -096.795 000.983 000.983: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/indent.vim -097.228 000.051 000.051: sourcing /usr/share/nvim/archlinux.vim -097.252 000.163 000.112: sourcing /etc/xdg/nvim/sysinit.vim -114.521 016.974 016.974: require('impatient') -114.662 000.125 000.125: require('impatient.profile') -118.350 000.854 000.854: require('keys') -119.312 000.215 000.215: require('packer.util') -119.373 000.674 000.458: require('packer') -120.180 000.435 000.435: require('packer.log') -120.196 000.556 000.122: require('packer.async') -120.438 000.116 000.116: require('packer.result') -120.447 000.245 000.128: require('packer.jobs') -120.463 001.034 000.234: require('packer.plugin_utils') -120.612 000.125 000.125: require('packer.snapshot') -121.714 003.350 001.517: require('pack') -121.772 024.427 003.123: sourcing /home/sxrdusr/.config/nvim/init.lua -121.801 008.970: sourcing vimrc file(s) -122.332 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -123.500 000.086 000.086: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.lua -124.937 001.189 001.189: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/filetype.vim -127.169 000.260 000.260: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/synload.vim -127.861 002.338 002.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/syntax/syntax.vim -133.403 001.041 001.041: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/gzip.vim -133.559 000.065 000.065: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/health.vim -136.590 001.376 001.376: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -137.190 003.546 002.170: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchit.vim -137.698 000.421 000.421: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/matchparen.vim -137.887 000.097 000.097: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/netrwPlugin.vim -138.490 000.036 000.036: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -138.512 000.537 000.501: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/rplugin.vim -138.798 000.197 000.197: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/shada.vim -138.955 000.064 000.064: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/spellfile.vim -139.124 000.079 000.079: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tarPlugin.vim -139.292 000.078 000.078: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tohtml.vim -139.438 000.058 000.058: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/tutor.vim -140.205 000.679 000.679: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/zipPlugin.vim -140.504 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -142.282 000.260 000.260: require('lspsaga') -142.901 000.205 000.205: require('lspsaga.window') -142.926 000.443 000.238: require('lspsaga.libs') -145.564 000.465 000.465: require('vim.lsp.log') -169.723 000.018 000.018: require('vim.F') -169.738 002.191 002.173: require('vim.lsp.protocol') -170.357 000.261 000.261: require('vim.lsp._snippet') -170.593 000.227 000.227: require('vim.highlight') -170.630 000.886 000.398: require('vim.lsp.util') -170.668 026.257 022.716: require('vim.lsp.handlers') -171.061 000.383 000.383: require('vim.lsp.rpc') -171.364 000.291 000.291: require('vim.lsp.sync') -171.679 000.305 000.305: require('vim.lsp.buf') -171.894 000.205 000.205: require('vim.lsp.diagnostic') -172.159 000.256 000.256: require('vim.lsp.codelens') -172.312 028.804 001.107: require('vim.lsp') -172.481 000.122 000.122: require('lspsaga.wrap') -172.495 029.494 000.568: require('lspsaga.codeaction') -172.544 030.250 000.313: require('lspsaga.lightbulb') -172.784 000.198 000.198: require('lspsaga.lspkind') -173.147 000.146 000.146: require('mason-core.path') -173.167 000.276 000.130: require('mason.settings') -173.545 000.105 000.105: require('mason-core.functional.data') -173.558 000.217 000.112: require('mason-core.functional.function') -173.598 000.425 000.208: require('mason-core.platform') -173.603 000.806 000.106: require('mason') -173.894 000.141 000.141: require('mason-core.functional') -174.044 000.126 000.126: require('mason-core.functional.list') -174.089 000.456 000.189: require('mason.api.command') -174.347 000.139 000.139: require('mason-core.log') -174.356 000.261 000.122: require('mason-lspconfig') -174.461 000.097 000.097: require('mason-lspconfig.settings') -174.648 000.119 000.119: require('mason-lspconfig.lspconfig_hook') -174.939 000.283 000.283: require('lspconfig.util') -175.274 000.102 000.102: require('mason-core.functional.table') -175.368 000.408 000.306: require('mason-lspconfig.mappings.server') -175.698 000.113 000.113: require('mason-core.async') -175.804 000.091 000.091: require('mason-core.async.uv') -175.815 000.334 000.131: require('mason-core.fs') -175.919 000.098 000.098: require('mason-core.optional') -176.021 000.095 000.095: require('mason-core.EventEmitter') -176.228 000.201 000.201: require('mason-registry.index') -176.254 000.877 000.150: require('mason-registry') -176.363 000.102 000.102: require('mason-lspconfig.server_config_extensions') -176.490 000.120 000.120: require('lspconfig.configs') -176.635 000.138 000.138: require('lspconfig.server_configurations.omnisharp') -176.840 000.105 000.105: require('mason-lspconfig.ensure_installed') -177.337 000.145 000.145: require('mason-core.result') -178.358 000.752 000.752: require('mason-core.process') -178.492 000.118 000.118: require('mason-core.functional.relation') -178.603 000.097 000.097: require('mason-core.functional.logic') -178.620 001.137 000.169: require('mason-core.spawn') -178.751 000.119 000.119: require('mason-core.receipt') -178.880 000.108 000.108: require('mason-core.functional.string') -178.910 001.564 000.201: require('mason-core.installer.context') -179.062 000.145 000.145: require('mason-core.installer.linker') -179.227 000.153 000.153: require('mason-core.async.control') -179.237 002.268 000.260: require('mason-core.installer') -179.374 000.128 000.128: require('mason-core.installer.handle') -179.949 000.105 000.105: require('mason-core.managers.powershell') -179.957 000.222 000.117: require('mason-core.fetch') -179.961 000.376 000.154: require('mason-core.managers.cargo.client') -179.995 000.514 000.138: require('mason-core.managers.cargo') -180.147 000.146 000.146: require('mason-core.managers.composer') -180.301 000.147 000.147: require('mason-core.managers.gem') -180.417 000.109 000.109: require('mason-core.managers.git') -180.670 000.129 000.129: require('mason-core.managers.std') -180.789 000.112 000.112: require('mason-core.managers.github.client') -180.806 000.382 000.142: require('mason-core.managers.github') -180.957 000.146 000.146: require('mason-core.managers.go') -181.140 000.176 000.176: require('mason-core.managers.luarocks') -181.503 000.356 000.356: require('mason-core.managers.npm') -181.709 000.181 000.181: require('mason-core.managers.pip3') -181.763 002.376 000.219: require('mason-core.package.version-check') -181.774 004.926 000.154: require('mason-core.package') -182.043 000.228 000.228: require('mason-registry.lua-language-server') -182.376 000.155 000.155: require('mason-registry.clangd') -182.814 000.414 000.414: require('mason-registry.rust-analyzer') -183.076 000.094 000.094: require('mason-core.notify') -183.229 000.143 000.143: require('mason-core.functional.number') -183.286 000.458 000.221: require('mason-lspconfig.api.command') -183.293 042.652 001.993: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -184.424 000.122 000.122: sourcing /tmp/.mount_nvimgsxj67/usr/share/nvim/runtime/plugin/man.lua -184.966 009.773: loading rtp plugins -186.975 000.018 000.018: require('vim.keymap') -187.357 000.155 000.155: require('Comment.config') -187.549 000.182 000.182: require('Comment.utils') -187.822 000.264 000.264: require('Comment.opfunc') -187.947 000.116 000.116: require('Comment.extra') -187.974 000.986 000.269: require('Comment.api') -188.811 001.972 000.968: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -189.751 000.207 000.207: require('luasnip.util.types') -189.955 000.191 000.191: require('luasnip.util.ext_opts') -191.461 000.264 000.264: require('vim.treesitter.language') -191.494 000.686 000.422: require('vim.treesitter.query') -191.893 000.391 000.391: require('vim.treesitter.languagetree') -191.972 001.516 000.439: require('vim.treesitter') -192.479 002.387 000.871: require('nvim-treesitter.parsers') -192.816 000.163 000.163: require('nvim-treesitter.utils') -192.831 000.341 000.179: require('nvim-treesitter.ts_utils') -192.840 002.877 000.148: require('luasnip.extras.filetype_functions') -192.983 000.138 000.138: require('luasnip.session') -193.462 000.187 000.187: require('luasnip.util.util') -193.599 000.125 000.125: require('luasnip.nodes.util') -193.707 000.099 000.099: require('luasnip.util.events') -193.739 000.614 000.203: require('luasnip.nodes.node') -194.029 000.113 000.113: require('luasnip.util.extend_decorator') -194.044 001.053 000.326: require('luasnip.nodes.insertNode') -194.823 000.255 000.255: require('luasnip.util.mark') -196.003 000.498 000.498: require('luasnip.nodes.textNode') -197.798 001.448 001.448: require('luasnip.util._builtin_vars') -198.128 000.299 000.299: require('vim.inspect') -198.478 002.453 000.707: require('luasnip.util.environ') -198.613 000.122 000.122: require('luasnip.util.pattern_tokenizer') -198.708 000.087 000.087: require('luasnip.util.dict') -198.828 000.112 000.112: require('luasnip.session.snippet_collection') -198.893 004.060 000.790: require('luasnip.nodes.snippet') -198.913 004.863 000.548: require('luasnip.nodes.choiceNode') -199.131 000.188 000.188: require('luasnip.nodes.functionNode') -199.295 000.151 000.151: require('luasnip.nodes.dynamicNode') -199.572 000.268 000.268: require('luasnip.nodes.restoreNode') -199.761 000.158 000.158: require('luasnip.extras') -200.016 000.106 000.106: require('luasnip.util.str') -200.029 000.252 000.146: require('luasnip.extras.fmt') -200.132 000.096 000.096: require('luasnip.extras.expand_conditions') -200.444 000.095 000.095: require('luasnip.util.parser.neovim_ast') -211.625 000.154 000.154: require('luasnip.util.directed_graph') -211.650 011.406 011.157: require('luasnip.util.parser.ast_utils') -211.868 000.087 000.087: require('luasnip.util.functions') -211.882 000.224 000.137: require('luasnip.util.parser.ast_parser') -212.035 000.148 000.148: require('luasnip.util.parser.neovim_parser') -212.051 011.907 000.129: require('luasnip.util.parser') -212.142 000.084 000.084: require('luasnip.nodes.absolute_indexer') -212.684 023.347 000.915: require('luasnip.config') -212.841 023.839 000.491: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -213.735 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -214.713 000.113 000.113: require('indent_blankline/utils') -214.723 000.309 000.196: require('indent_blankline') -215.272 000.101 000.101: require('indent_blankline.commands') -215.432 001.197 000.787: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -215.854 000.112 000.112: require('lsp-colors') -216.374 000.683 000.572: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -217.476 000.712 000.712: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -218.519 000.405 000.405: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -219.096 000.111 000.111: require('cmp.utils.api') -219.265 000.080 000.080: require('cmp.types.cmp') -219.455 000.092 000.092: require('cmp.utils.misc') -219.550 000.277 000.186: require('cmp.types.lsp') -219.639 000.080 000.080: require('cmp.types.vim') -219.644 000.539 000.102: require('cmp.types') -219.729 000.079 000.079: require('cmp.utils.highlight') -219.888 000.073 000.073: require('cmp.utils.debug') -219.903 000.167 000.094: require('cmp.utils.autocmd') -220.440 001.544 000.647: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -220.714 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -221.137 000.108 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -221.612 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -222.733 000.097 000.097: require('nvim-treesitter.tsrange') -222.825 000.082 000.082: require('nvim-treesitter.caching') -222.842 000.306 000.128: require('nvim-treesitter.query') -222.868 000.449 000.143: require('nvim-treesitter.configs') -222.875 000.549 000.100: require('nvim-treesitter.info') -222.999 000.117 000.117: require('nvim-treesitter.shell_command_selectors') -223.061 000.878 000.211: require('nvim-treesitter.install') -223.160 000.089 000.089: require('nvim-treesitter.statusline') -223.261 000.094 000.094: require('nvim-treesitter.query_predicates') -223.267 001.169 000.108: require('nvim-treesitter') -224.518 000.332 000.332: require('vim.treesitter.highlighter') -224.815 000.781 000.449: require('nvim-treesitter.highlight') -225.463 003.438 001.488: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -225.909 000.214 000.214: require('treesitter-context') -225.919 000.259 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -226.301 000.100 000.100: require('nvim-treesitter-refactor') -226.635 000.463 000.363: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -227.006 000.112 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -227.383 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -227.709 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -228.502 000.446 000.446: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -228.871 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -229.853 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -230.676 000.537 000.537: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -231.318 000.391 000.391: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -232.188 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -232.511 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -232.791 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -233.904 011.128: loading packages -235.602 000.461 000.461: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -240.266 005.819 005.358: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -241.144 000.147 000.147: require('cmp.utils.char') -241.159 000.257 000.110: require('cmp.utils.str') -241.254 000.088 000.088: require('cmp.utils.pattern') -241.600 000.126 000.126: require('cmp.utils.buffer') -241.614 000.252 000.126: require('cmp.utils.keymap') -241.626 000.364 000.112: require('cmp.utils.feedkeys') -241.741 000.109 000.109: require('cmp.utils.async') -241.924 000.083 000.083: require('cmp.utils.cache') -241.933 000.184 000.101: require('cmp.context') -242.260 000.117 000.117: require('cmp.config.mapping') -242.477 000.106 000.106: require('cmp.config.compare') -242.483 000.212 000.106: require('cmp.config.default') -242.509 000.462 000.134: require('cmp.config') -242.732 000.085 000.085: require('cmp.matcher') -242.746 000.230 000.145: require('cmp.entry') -242.761 000.824 000.131: require('cmp.source') -242.948 000.084 000.084: require('cmp.utils.event') -243.168 000.111 000.111: require('cmp.utils.window') -243.176 000.220 000.109: require('cmp.view.docs_view') -243.327 000.146 000.146: require('cmp.view.custom_entries_view') -243.466 000.132 000.132: require('cmp.view.wildmenu_entries_view') -243.584 000.112 000.112: require('cmp.view.native_entries_view') -243.688 000.098 000.098: require('cmp.view.ghost_text_view') -243.706 000.940 000.150: require('cmp.view') -243.817 003.068 000.302: require('cmp.core') -244.161 000.093 000.093: require('cmp.config.sources') -244.259 000.087 000.087: require('cmp.config.window') -244.362 003.763 000.515: require('cmp') -244.731 000.083 000.083: require('cmp_buffer.timer') -244.743 000.196 000.113: require('cmp_buffer.buffer') -244.748 000.295 000.099: require('cmp_buffer.source') -244.752 000.384 000.089: require('cmp_buffer') -244.783 004.279 000.132: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -245.357 000.256 000.256: require('cmp_cmdline') -245.393 000.408 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -245.812 000.099 000.099: require('cmp_nvim_lsp.source') -245.820 000.204 000.105: require('cmp_nvim_lsp') -245.917 000.363 000.159: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -246.284 000.146 000.146: require('cmp_path') -246.318 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -246.649 000.105 000.105: require('cmp_luasnip') -246.719 000.244 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -246.874 001.611: loading after plugins -246.910 000.036: inits 3 -246.920 000.011: reading ShaDa -247.351 000.091 000.091: require('luasnip.loaders._caches') -247.486 000.126 000.126: require('luasnip.util.path') -247.606 000.112 000.112: require('luasnip.loaders.util') -247.897 000.141 000.141: require('luasnip.loaders') -247.951 000.337 000.196: require('luasnip') -247.957 000.805 000.139: require('luasnip.loaders.from_lua') -248.252 000.121 000.121: require('luasnip.nodes.snippetProxy') -248.266 000.255 000.134: require('luasnip.loaders.from_snipmate') -248.494 000.122 000.122: require('luasnip.loaders.from_vscode') -249.362 001.259: opening buffers -249.368 000.006: BufEnter autocommands -249.371 000.004: editing files in windows - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.215 001.215: --- NVIM STARTING --- -028.665 027.450: event init -045.736 017.071: early init -047.546 001.811: locale set -053.272 005.725: init first window -063.706 010.434: inits 1 -063.737 000.031: window checked -063.745 000.009: parsing arguments -075.797 000.281 000.281: require('vim.shared') -076.316 000.237 000.237: require('vim._meta') -076.329 000.509 000.272: require('vim._editor') -076.337 000.917 000.127: require('vim._init_packages') -076.345 011.682: init lua interpreter -076.535 000.191: expanding arguments -078.389 001.854: inits 2 -079.780 001.390: init highlight -079.790 000.010: waiting for UI -082.769 002.979: done waiting for UI -082.820 000.051: init screen for UI -083.178 000.358: init default mappings -083.214 000.036: init default autocommands -091.921 004.068 004.068: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/ftplugin.vim -095.030 001.354 001.354: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/indent.vim -095.750 000.072 000.072: sourcing /usr/share/nvim/archlinux.vim -095.777 000.241 000.169: sourcing /etc/xdg/nvim/sysinit.vim -121.943 025.794 025.794: require('impatient') -122.199 000.229 000.229: require('impatient.profile') -131.279 002.028 002.028: require('keys') -136.986 005.676 005.676: require('opts') -138.889 000.369 000.369: require('packer.util') -139.047 001.067 000.698: require('packer') -140.531 000.662 000.662: require('packer.log') -140.554 000.943 000.281: require('packer.async') -141.218 000.285 000.285: require('packer.result') -141.238 000.669 000.384: require('packer.jobs') -141.379 002.217 000.605: require('packer.plugin_utils') -142.546 001.109 001.109: require('packer.snapshot') -145.067 008.052 003.658: require('pack') -147.725 000.587 000.587: require('vim.treesitter.language') -147.771 001.260 000.673: require('vim.treesitter.query') -150.344 000.518 000.518: require('vim.treesitter.languagetree') -150.457 001.130 000.611: require('vim.treesitter') -151.134 002.622 001.492: require('nvim-treesitter.parsers') -152.015 000.862 000.862: require('nvim-treesitter.utils') -152.043 003.863 000.379: require('nvim-treesitter.ts_utils') -152.074 004.281 000.417: require('nvim-treesitter.tsrange') -152.465 000.373 000.373: require('nvim-treesitter.caching') -152.508 006.281 000.367: require('nvim-treesitter.query') -152.584 006.707 000.426: require('nvim-treesitter.configs') -153.878 000.354 000.354: require('nvim-treesitter.info') -154.194 000.294 000.294: require('nvim-treesitter.shell_command_selectors') -154.311 001.429 000.781: require('nvim-treesitter.install') -222.484 077.393 069.257: require('plugins.treesitter') -223.003 000.151 000.151: require('telescope._extensions') -223.015 000.272 000.121: require('telescope') -223.849 000.143 000.143: require('plenary.bit') -223.949 000.091 000.091: require('plenary.functional') -224.011 000.035 000.035: require('ffi') -224.034 000.483 000.214: require('plenary.path') -224.051 000.602 000.119: require('plenary.strings') -224.140 000.083 000.083: require('telescope.deprecated') -224.650 000.303 000.303: require('plenary.log') -224.723 000.456 000.153: require('telescope.log') -225.018 000.150 000.150: require('plenary.job') -225.112 000.085 000.085: require('telescope.state') -225.127 000.396 000.160: require('telescope.utils') -225.141 000.994 000.142: require('telescope.sorters') -225.248 000.080 000.080: require('vim.inspect') -225.765 000.019 000.019: require('vim.F') -229.308 006.007 004.228: require('telescope.config') -229.577 000.120 000.120: require('plenary.window.border') -229.683 000.098 000.098: require('plenary.window') -229.770 000.080 000.080: require('plenary.popup.utils') -229.781 000.456 000.158: require('plenary.popup') -229.882 000.095 000.095: require('telescope.pickers.scroller') -229.979 000.091 000.091: require('telescope.actions.state') -230.081 000.095 000.095: require('telescope.actions.utils') -230.286 000.096 000.096: require('telescope.actions.mt') -230.366 000.280 000.184: require('telescope.actions.set') -230.575 000.101 000.101: require('telescope.config.resolve') -230.582 000.209 000.107: require('telescope.pickers.entry_display') -230.672 000.086 000.086: require('telescope.from_entry') -231.015 007.994 000.677: require('telescope.actions') -231.930 000.115 000.115: require('plenary.tbl') -231.939 000.219 000.104: require('plenary.vararg.rotate') -231.943 000.319 000.100: require('plenary.vararg') -232.042 000.086 000.086: require('plenary.errors') -232.062 000.539 000.134: require('plenary.async.async') -232.167 000.100 000.100: require('plenary.async.structs') -232.186 000.783 000.144: require('plenary.async.control') -232.710 000.361 000.361: require('telescope.make_entry') -233.194 000.129 000.129: require('plenary.async.util') -233.201 000.233 000.104: require('plenary.async.tests') -233.207 000.357 000.124: require('plenary.async') -233.213 000.488 000.131: require('telescope.finders.async_static_finder') -233.549 000.093 000.093: require('plenary.class') -233.580 000.246 000.153: require('telescope._') -233.587 000.369 000.123: require('telescope.finders.async_oneshot_finder') -233.698 000.105 000.105: require('telescope.finders.async_job_finder') -233.710 001.515 000.192: require('telescope.finders') -234.124 000.171 000.171: require('telescope.debounce') -234.362 000.229 000.229: require('telescope.mappings') -234.498 000.126 000.126: require('telescope.pickers.highlights') -234.610 000.104 000.104: require('telescope.pickers.window') -234.844 000.108 000.108: require('telescope.algos.linked_list') -234.853 000.236 000.128: require('telescope.entry_manager') -234.963 000.106 000.106: require('telescope.pickers.multi') -235.003 001.288 000.316: require('telescope.pickers') -235.020 003.806 000.220: require('telescope.builtin.__lsp') -235.078 004.055 000.249: require('telescope.builtin') -235.503 000.287 000.287: require('fzf_lib') -235.517 000.432 000.145: require('telescope._extensions.fzf') -236.042 000.183 000.183: require('telescope._extensions.file_browser.utils') -236.187 000.522 000.339: require('telescope._extensions.file_browser.actions') -236.536 000.198 000.198: require('telescope._extensions.file_browser.make_entry') -236.753 000.204 000.204: require('plenary.scandir') -236.804 000.609 000.208: require('telescope._extensions.file_browser.finders') -236.937 000.124 000.124: require('telescope._extensions.file_browser.picker') -237.091 000.147 000.147: require('telescope._extensions.file_browser.config') -237.098 001.565 000.163: require('telescope._extensions.file_browser') -243.325 000.017 000.017: require('vim.keymap') -243.488 020.979 006.644: require('plugins.telescope') -245.555 000.085 000.085: require('notify.util.queue') -245.565 000.495 000.410: require('notify.util') -245.823 000.253 000.253: require('notify.config.highlights') -245.834 001.119 000.371: require('notify.config') -246.182 000.341 000.341: require('notify.stages') -246.287 000.097 000.097: require('notify.service.notification') -246.645 000.079 000.079: require('notify.animate.spring') -246.652 000.175 000.096: require('notify.animate') -246.661 000.367 000.192: require('notify.windows') -247.013 000.098 000.098: require('notify.service.buffer.highlights') -247.023 000.262 000.164: require('notify.service.buffer') -247.028 000.362 000.100: require('notify.service') -247.128 000.095 000.095: require('notify.stages.util') -247.137 002.804 000.422: require('notify') -247.232 000.089 000.089: require('nvim-tree.iterators.node-iterator') -247.295 003.077 000.183: require('nvim-tree.utils') -247.307 003.176 000.100: require('nvim-tree.events') -247.638 000.084 000.084: require('nvim-tree.log') -247.810 000.164 000.164: require('nvim-tree.git.utils') -247.913 000.095 000.095: require('nvim-tree.git.runner') -248.009 000.090 000.090: require('nvim-tree.watcher') -248.019 000.608 000.174: require('nvim-tree.git') -248.113 000.089 000.089: require('nvim-tree.explorer.watch') -248.246 000.086 000.086: require('nvim-tree.explorer.common') -248.436 000.098 000.098: require('nvim-tree.explorer.node-builders') -248.530 000.086 000.086: require('nvim-tree.explorer.sorters') -248.634 000.089 000.089: require('nvim-tree.explorer.filters') -248.908 000.177 000.177: require('nvim-tree.view') -248.920 000.279 000.102: require('nvim-tree.live-filter') -248.925 000.671 000.119: require('nvim-tree.explorer.explore') -249.050 000.104 000.104: require('nvim-tree.explorer.reload') -249.058 001.745 000.187: require('nvim-tree.explorer') -249.065 005.013 000.091: require('nvim-tree.core') -249.181 000.110 000.110: require('nvim-tree.diagnostics') -249.279 000.090 000.090: require('nvim-tree.renderer.components.padding') -249.374 000.088 000.088: require('nvim-tree.renderer.components.icons') -249.474 000.094 000.094: require('nvim-tree.renderer.components.full-name') -249.562 000.082 000.082: require('nvim-tree.renderer.help') -249.675 000.107 000.107: require('nvim-tree.renderer.components.git') -249.794 000.112 000.112: require('nvim-tree.renderer.builder') -249.901 000.100 000.100: require('nvim-tree.marks') -249.916 005.971 000.175: require('nvim-tree.renderer') -250.022 000.095 000.095: require('nvim-tree.actions.tree-modifiers.collapse-all') -250.110 000.081 000.081: require('nvim-tree.actions.root.dir-up') -250.210 000.094 000.094: require('nvim-tree.actions.root.change-dir') -250.308 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') -250.406 000.089 000.089: require('nvim-tree.actions.finders.find-file') -250.411 006.559 000.137: require('nvim-tree.lib') -250.512 000.096 000.096: require('nvim-tree.colors') -250.633 000.111 000.111: require('nvim-tree.legacy') -250.749 000.108 000.108: require('nvim-tree.actions.fs.copy-paste') -250.948 000.093 000.093: require('nvim-tree.actions.tree-modifiers.expand-all') -251.044 000.089 000.089: require('nvim-tree.actions.tree-modifiers.toggles') -251.152 000.093 000.093: require('nvim-tree.actions.fs.create-file') -251.249 000.089 000.089: require('nvim-tree.actions.fs.rename-file') -251.369 000.113 000.113: require('nvim-tree.actions.fs.trash') -251.472 000.095 000.095: require('nvim-tree.actions.fs.remove-file') -251.566 000.085 000.085: require('nvim-tree.actions.moves.parent') -251.657 000.084 000.084: require('nvim-tree.actions.moves.sibling') -251.747 000.083 000.083: require('nvim-tree.actions.moves.item') -251.856 000.090 000.090: require('nvim-tree.actions.finders.search-node') -251.945 000.083 000.083: require('nvim-tree.actions.node.run-command') -252.039 000.088 000.088: require('nvim-tree.actions.node.file-popup') -252.148 000.103 000.103: require('nvim-tree.actions.node.system-open') -252.247 000.088 000.088: require('nvim-tree.marks.bulk-move') -252.253 001.494 000.219: require('nvim-tree.actions.dispatch') -252.298 008.630 000.262: require('nvim-tree') -252.386 000.080 000.080: require('nvim-tree.config') -257.095 000.193 000.193: require('nvim-tree.actions') -257.240 000.128 000.128: require('nvim-tree.actions.node.open-file') -260.691 000.107 000.107: require('nvim-tree.marks.navigation') -260.703 000.318 000.211: require('nvim-tree.api') -260.730 000.478 000.160: require('nvim-tree.keymap') -261.644 000.460 000.460: require('nvim-web-devicons') -265.847 022.349 012.380: require('plugins.nvim-tree') -266.218 000.107 000.107: require('lualine_require') -266.776 000.811 000.704: require('lualine') -266.861 000.076 000.076: require('plugins.linecolor') -271.822 000.113 000.113: require('lualine.utils.mode') -278.657 012.797 011.798: require('plugins.lualine') -278.733 182.854 007.556: sourcing /home/sxrdusr/.config/nvim/init.lua -278.753 007.023: sourcing vimrc file(s) -279.069 000.055 000.055: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -280.561 000.083 000.083: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.lua -282.097 001.197 001.197: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/filetype.vim -284.560 000.271 000.271: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/synload.vim -284.797 002.162 001.892: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/syntax/syntax.vim -290.655 001.081 001.081: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/gzip.vim -290.838 000.074 000.074: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/health.vim -293.462 001.365 001.365: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -293.908 003.000 001.635: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchit.vim -294.379 000.409 000.409: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/matchparen.vim -294.523 000.076 000.076: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/netrwPlugin.vim -294.930 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -294.951 000.364 000.340: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/rplugin.vim -295.198 000.188 000.188: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/shada.vim -295.317 000.052 000.052: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/spellfile.vim -295.444 000.062 000.062: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tarPlugin.vim -295.569 000.061 000.061: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tohtml.vim -295.694 000.049 000.049: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/tutor.vim -296.445 000.685 000.685: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/zipPlugin.vim -296.743 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -298.142 000.181 000.181: require('lspsaga') -298.522 000.126 000.126: require('lspsaga.window') -298.545 000.267 000.141: require('lspsaga.libs') -299.708 000.362 000.362: require('vim.lsp.log') -300.673 000.954 000.954: require('vim.lsp.protocol') -301.346 000.346 000.346: require('vim.lsp._snippet') -301.641 000.285 000.285: require('vim.highlight') -301.680 000.996 000.365: require('vim.lsp.util') -301.701 002.616 000.304: require('vim.lsp.handlers') -301.930 000.222 000.222: require('vim.lsp.rpc') -302.074 000.133 000.133: require('vim.lsp.sync') -302.593 000.511 000.511: require('vim.lsp.buf') -303.020 000.417 000.417: require('vim.lsp.diagnostic') -303.435 000.406 000.406: require('vim.lsp.codelens') -303.596 004.920 000.615: require('vim.lsp') -303.708 000.100 000.100: require('lspsaga.wrap') -303.723 005.172 000.152: require('lspsaga.codeaction') -303.769 005.615 000.176: require('lspsaga.lightbulb') -303.937 000.131 000.131: require('lspsaga.lspkind') -304.222 000.093 000.093: require('mason-core.path') -304.240 000.198 000.105: require('mason.settings') -304.542 000.086 000.086: require('mason-core.functional.data') -304.553 000.189 000.104: require('mason-core.functional.function') -304.594 000.347 000.158: require('mason-core.platform') -304.599 000.650 000.105: require('mason') -304.884 000.145 000.145: require('mason-core.functional') -305.020 000.116 000.116: require('mason-core.functional.list') -305.058 000.434 000.173: require('mason.api.command') -305.320 000.142 000.142: require('mason-core.log') -305.331 000.268 000.126: require('mason-lspconfig') -305.425 000.088 000.088: require('mason-lspconfig.settings') -305.553 000.105 000.105: require('mason-lspconfig.lspconfig_hook') -305.792 000.233 000.233: require('lspconfig.util') -306.061 000.092 000.092: require('mason-core.functional.table') -306.169 000.352 000.260: require('mason-lspconfig.mappings.server') -306.537 000.120 000.120: require('mason-core.async') -306.641 000.094 000.094: require('mason-core.async.uv') -306.661 000.347 000.133: require('mason-core.fs') -306.767 000.099 000.099: require('mason-core.optional') -306.864 000.089 000.089: require('mason-core.EventEmitter') -307.048 000.178 000.178: require('mason-registry.index') -307.071 000.893 000.181: require('mason-registry') -307.172 000.094 000.094: require('mason-lspconfig.server_config_extensions') -307.343 000.126 000.126: require('lspconfig.configs') -307.463 000.113 000.113: require('lspconfig.server_configurations.omnisharp') -307.665 000.101 000.101: require('mason-lspconfig.ensure_installed') -308.014 000.094 000.094: require('mason-core.result') -308.491 000.256 000.256: require('mason-core.process') -308.603 000.100 000.100: require('mason-core.functional.relation') -308.703 000.089 000.089: require('mason-core.functional.logic') -308.723 000.583 000.138: require('mason-core.spawn') -308.851 000.120 000.120: require('mason-core.receipt') -308.984 000.113 000.113: require('mason-core.functional.string') -309.020 000.998 000.182: require('mason-core.installer.context') -309.126 000.099 000.099: require('mason-core.installer.linker') -309.229 000.096 000.096: require('mason-core.async.control') -309.237 001.439 000.151: require('mason-core.installer') -309.364 000.122 000.122: require('mason-core.installer.handle') -311.696 000.112 000.112: require('mason-core.managers.powershell') -311.706 002.028 001.916: require('mason-core.fetch') -311.711 002.119 000.092: require('mason-core.managers.cargo.client') -311.749 002.278 000.158: require('mason-core.managers.cargo') -312.009 000.255 000.255: require('mason-core.managers.composer') -312.211 000.193 000.193: require('mason-core.managers.gem') -312.357 000.134 000.134: require('mason-core.managers.git') -312.604 000.124 000.124: require('mason-core.managers.std') -312.724 000.112 000.112: require('mason-core.managers.github.client') -312.738 000.373 000.137: require('mason-core.managers.github') -312.893 000.150 000.150: require('mason-core.managers.go') -313.074 000.174 000.174: require('mason-core.managers.luarocks') -313.273 000.193 000.193: require('mason-core.managers.npm') -313.429 000.148 000.148: require('mason-core.managers.pip3') -313.440 004.063 000.166: require('mason-core.package.version-check') -313.453 005.780 000.156: require('mason-core.package') -313.596 000.120 000.120: require('mason-registry.lua-language-server') -314.016 000.148 000.148: require('mason-registry.clangd') -314.251 000.202 000.202: require('mason-registry.rust-analyzer') -314.478 000.079 000.079: require('mason-core.notify') -314.587 000.100 000.100: require('mason-core.functional.number') -314.647 000.385 000.206: require('mason-lspconfig.api.command') -314.654 017.774 001.756: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -315.963 000.101 000.101: sourcing /tmp/.mount_nvimqgAC59/usr/share/nvim/runtime/plugin/man.lua -316.291 010.027: loading rtp plugins -318.118 000.121 000.121: require('Comment.config') -318.235 000.108 000.108: require('Comment.utils') -318.334 000.092 000.092: require('Comment.opfunc') -318.429 000.089 000.089: require('Comment.extra') -318.444 000.586 000.176: require('Comment.api') -318.874 001.089 000.503: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -319.655 000.090 000.090: require('luasnip.util.types') -319.758 000.094 000.094: require('luasnip.util.ext_opts') -319.863 000.098 000.098: require('luasnip.extras.filetype_functions') -319.970 000.100 000.100: require('luasnip.session') -320.338 000.137 000.137: require('luasnip.util.util') -320.444 000.098 000.098: require('luasnip.nodes.util') -320.531 000.080 000.080: require('luasnip.util.events') -320.549 000.467 000.152: require('luasnip.nodes.node') -320.704 000.092 000.092: require('luasnip.util.extend_decorator') -320.715 000.738 000.179: require('luasnip.nodes.insertNode') -321.030 000.111 000.111: require('luasnip.util.mark') -321.311 000.122 000.122: require('luasnip.nodes.textNode') -323.154 001.735 001.735: require('luasnip.util._builtin_vars') -323.344 002.021 000.286: require('luasnip.util.environ') -323.470 000.114 000.114: require('luasnip.util.pattern_tokenizer') -323.562 000.085 000.085: require('luasnip.util.dict') -323.680 000.110 000.110: require('luasnip.session.snippet_collection') -323.746 002.707 000.255: require('luasnip.nodes.snippet') -323.805 003.084 000.266: require('luasnip.nodes.choiceNode') -323.972 000.139 000.139: require('luasnip.nodes.functionNode') -324.195 000.214 000.214: require('luasnip.nodes.dynamicNode') -324.383 000.179 000.179: require('luasnip.nodes.restoreNode') -324.509 000.119 000.119: require('luasnip.extras') -324.709 000.086 000.086: require('luasnip.util.str') -324.718 000.193 000.107: require('luasnip.extras.fmt') -324.812 000.088 000.088: require('luasnip.extras.expand_conditions') -325.142 000.106 000.106: require('luasnip.util.parser.neovim_ast') -337.540 000.132 000.132: require('luasnip.util.directed_graph') -337.562 012.634 012.397: require('luasnip.util.parser.ast_utils') -337.788 000.094 000.094: require('luasnip.util.functions') -337.804 000.235 000.140: require('luasnip.util.parser.ast_parser') -337.986 000.177 000.177: require('luasnip.util.parser.neovim_parser') -338.002 013.180 000.134: require('luasnip.util.parser') -338.102 000.093 000.093: require('luasnip.nodes.absolute_indexer') -338.653 019.224 000.817: require('luasnip.config') -338.816 019.693 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -339.740 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -340.704 000.121 000.121: require('indent_blankline/utils') -340.714 000.328 000.207: require('indent_blankline') -341.171 000.107 000.107: require('indent_blankline.commands') -341.331 001.120 000.686: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -341.766 000.120 000.120: require('lsp-colors') -342.120 000.527 000.407: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -343.544 001.016 001.016: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -344.414 000.400 000.400: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -345.007 000.111 000.111: require('cmp.utils.api') -345.199 000.086 000.086: require('cmp.types.cmp') -345.402 000.100 000.100: require('cmp.utils.misc') -345.503 000.297 000.197: require('cmp.types.lsp') -345.626 000.113 000.113: require('cmp.types.vim') -345.632 000.615 000.119: require('cmp.types') -345.728 000.090 000.090: require('cmp.utils.highlight') -345.899 000.080 000.080: require('cmp.utils.debug') -345.915 000.180 000.101: require('cmp.utils.autocmd') -346.453 001.651 000.655: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -346.722 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -347.167 000.120 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -347.647 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -348.348 000.094 000.094: require('nvim-treesitter.statusline') -348.460 000.104 000.104: require('nvim-treesitter.query_predicates') -348.467 000.315 000.116: require('nvim-treesitter') -349.846 000.554 000.554: require('vim.treesitter.highlighter') -350.210 001.095 000.541: require('nvim-treesitter.highlight') -350.824 002.752 001.342: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -351.290 000.239 000.239: require('treesitter-context') -351.300 000.282 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -351.700 000.111 000.111: require('nvim-treesitter-refactor') -351.993 000.433 000.322: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -352.381 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -352.769 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -353.140 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -353.923 000.425 000.425: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -354.290 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -355.450 000.659 000.659: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -356.275 000.502 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -356.887 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -357.732 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -358.028 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -358.315 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -359.679 011.023: loading packages -361.384 000.464 000.464: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -365.756 005.510 005.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -366.647 000.195 000.195: require('cmp.utils.char') -366.667 000.306 000.111: require('cmp.utils.str') -366.765 000.090 000.090: require('cmp.utils.pattern') -367.066 000.082 000.082: require('cmp.utils.buffer') -367.081 000.207 000.126: require('cmp.utils.keymap') -367.091 000.315 000.108: require('cmp.utils.feedkeys') -367.201 000.105 000.105: require('cmp.utils.async') -367.380 000.082 000.082: require('cmp.utils.cache') -367.389 000.180 000.098: require('cmp.context') -367.705 000.104 000.104: require('cmp.config.mapping') -367.927 000.112 000.112: require('cmp.config.compare') -367.934 000.218 000.106: require('cmp.config.default') -367.962 000.455 000.133: require('cmp.config') -368.178 000.083 000.083: require('cmp.matcher') -368.191 000.223 000.140: require('cmp.entry') -368.209 000.816 000.138: require('cmp.source') -368.392 000.080 000.080: require('cmp.utils.event') -368.603 000.111 000.111: require('cmp.utils.window') -368.611 000.211 000.101: require('cmp.view.docs_view') -368.766 000.150 000.150: require('cmp.view.custom_entries_view') -368.897 000.124 000.124: require('cmp.view.wildmenu_entries_view') -369.028 000.124 000.124: require('cmp.view.native_entries_view') -369.135 000.100 000.100: require('cmp.view.ghost_text_view') -369.152 000.938 000.148: require('cmp.view') -369.269 003.048 000.297: require('cmp.core') -369.712 000.089 000.089: require('cmp.config.sources') -369.804 000.082 000.082: require('cmp.config.window') -369.904 003.832 000.613: require('cmp') -370.290 000.081 000.081: require('cmp_buffer.timer') -370.302 000.203 000.122: require('cmp_buffer.buffer') -370.308 000.305 000.102: require('cmp_buffer.source') -370.312 000.401 000.095: require('cmp_buffer') -370.344 004.362 000.130: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -370.777 000.183 000.183: require('cmp_cmdline') -370.811 000.289 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -371.233 000.099 000.099: require('cmp_nvim_lsp.source') -371.241 000.212 000.113: require('cmp_nvim_lsp') -371.290 000.324 000.112: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -371.645 000.140 000.140: require('cmp_path') -371.743 000.303 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -372.089 000.120 000.120: require('cmp_luasnip') -372.183 000.285 000.166: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -372.388 001.635: loading after plugins -372.417 000.029: inits 3 -372.430 000.013: reading ShaDa -372.874 000.094 000.094: require('luasnip.loaders._caches') -373.012 000.130 000.130: require('luasnip.util.path') -373.134 000.114 000.114: require('luasnip.loaders.util') -373.430 000.135 000.135: require('luasnip.loaders') -373.482 000.340 000.205: require('luasnip') -373.489 000.831 000.154: require('luasnip.loaders.from_lua') -373.761 000.100 000.100: require('luasnip.nodes.snippetProxy') -373.775 000.232 000.132: require('luasnip.loaders.from_snipmate') -373.944 000.123 000.123: require('luasnip.loaders.from_vscode') -374.862 001.247: opening buffers -375.085 000.223: BufEnter autocommands -375.092 000.007: editing files in windows -411.604 001.608 001.608: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.111 001.111: --- NVIM STARTING --- -027.185 026.074: event init -043.596 016.411: early init -045.265 001.669: locale set -050.725 005.460: init first window -060.579 009.854: inits 1 -060.609 000.030: window checked -060.619 000.010: parsing arguments -071.284 000.124 000.124: require('vim.shared') -071.506 000.108 000.108: require('vim._meta') -071.512 000.217 000.109: require('vim._editor') -071.515 000.397 000.055: require('vim._init_packages') -071.519 010.503: init lua interpreter -071.592 000.073: expanding arguments -073.348 001.755: inits 2 -073.982 000.634: init highlight -073.987 000.005: waiting for UI -077.805 003.818: done waiting for UI -077.840 000.035: init screen for UI -078.079 000.239: init default mappings -078.106 000.027: init default autocommands -087.815 004.243 004.243: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/ftplugin.vim -089.992 001.017 001.017: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/indent.vim -090.372 000.035 000.035: sourcing /usr/share/nvim/archlinux.vim -090.385 000.098 000.064: sourcing /etc/xdg/nvim/sysinit.vim -105.119 014.531 014.531: require('impatient') -105.253 000.119 000.119: require('impatient.profile') -108.631 000.731 000.731: require('keys') -111.118 002.475 002.475: require('opts') -111.846 000.144 000.144: require('packer.util') -111.903 000.510 000.366: require('packer') -112.587 000.275 000.275: require('packer.log') -112.597 000.463 000.188: require('packer.async') -112.989 000.210 000.210: require('packer.result') -112.997 000.394 000.183: require('packer.jobs') -113.012 001.062 000.206: require('packer.plugin_utils') -113.532 000.496 000.496: require('packer.snapshot') -114.562 003.432 001.363: require('pack') -115.890 000.293 000.293: require('vim.treesitter.language') -115.910 000.727 000.434: require('vim.treesitter.query') -117.287 000.216 000.216: require('vim.treesitter.languagetree') -117.351 000.578 000.363: require('vim.treesitter') -117.630 001.176 000.598: require('nvim-treesitter.parsers') -117.859 000.220 000.220: require('nvim-treesitter.utils') -117.871 001.701 000.305: require('nvim-treesitter.ts_utils') -117.885 001.964 000.263: require('nvim-treesitter.tsrange') -117.988 000.096 000.096: require('nvim-treesitter.caching') -118.007 002.945 000.158: require('nvim-treesitter.query') -118.039 003.132 000.187: require('nvim-treesitter.configs') -118.536 000.114 000.114: require('nvim-treesitter.info') -118.675 000.129 000.129: require('nvim-treesitter.shell_command_selectors') -118.724 000.480 000.236: require('nvim-treesitter.install') -157.329 042.756 039.144: require('plugins.treesitter') -157.746 000.103 000.103: require('telescope._extensions') -157.757 000.215 000.113: require('telescope') -158.664 000.097 000.097: require('plenary.bit') -158.765 000.092 000.092: require('plenary.functional') -158.812 000.031 000.031: require('ffi') -158.835 000.422 000.202: require('plenary.path') -158.850 000.595 000.173: require('plenary.strings') -158.947 000.092 000.092: require('telescope.deprecated') -159.473 000.318 000.318: require('plenary.log') -159.514 000.439 000.120: require('telescope.log') -159.793 000.137 000.137: require('plenary.job') -159.900 000.098 000.098: require('telescope.state') -159.916 000.395 000.160: require('telescope.utils') -159.931 000.977 000.143: require('telescope.sorters') -160.097 000.145 000.145: require('vim.inspect') -160.525 000.020 000.020: require('vim.F') -164.303 006.263 004.434: require('telescope.config') -164.534 000.095 000.095: require('plenary.window.border') -164.641 000.100 000.100: require('plenary.window') -164.732 000.083 000.083: require('plenary.popup.utils') -164.741 000.423 000.145: require('plenary.popup') -164.846 000.099 000.099: require('telescope.pickers.scroller') -164.947 000.094 000.094: require('telescope.actions.state') -165.047 000.094 000.094: require('telescope.actions.utils') -165.255 000.098 000.098: require('telescope.actions.mt') -165.339 000.285 000.187: require('telescope.actions.set') -165.628 000.111 000.111: require('telescope.config.resolve') -165.635 000.290 000.180: require('telescope.pickers.entry_display') -165.765 000.089 000.089: require('telescope.from_entry') -166.096 008.333 000.695: require('telescope.actions') -167.038 000.094 000.094: require('plenary.tbl') -167.049 000.215 000.122: require('plenary.vararg.rotate') -167.053 000.346 000.131: require('plenary.vararg') -167.177 000.112 000.112: require('plenary.errors') -167.190 000.618 000.160: require('plenary.async.async') -167.317 000.121 000.121: require('plenary.async.structs') -167.332 000.898 000.159: require('plenary.async.control') -167.818 000.360 000.360: require('telescope.make_entry') -168.264 000.119 000.119: require('plenary.async.util') -168.271 000.220 000.101: require('plenary.async.tests') -168.277 000.330 000.110: require('plenary.async') -168.287 000.453 000.123: require('telescope.finders.async_static_finder') -168.613 000.092 000.092: require('plenary.class') -168.647 000.246 000.155: require('telescope._') -168.654 000.362 000.115: require('telescope.finders.async_oneshot_finder') -168.772 000.113 000.113: require('telescope.finders.async_job_finder') -168.788 001.448 000.161: require('telescope.finders') -169.220 000.156 000.156: require('telescope.debounce') -169.470 000.241 000.241: require('telescope.mappings') -169.610 000.129 000.129: require('telescope.pickers.highlights') -169.755 000.136 000.136: require('telescope.pickers.window') -169.976 000.103 000.103: require('telescope.algos.linked_list') -169.989 000.227 000.124: require('telescope.entry_manager') -170.088 000.094 000.094: require('telescope.pickers.multi') -170.141 001.347 000.364: require('telescope.pickers') -170.166 003.902 000.209: require('telescope.builtin.__lsp') -170.213 004.110 000.208: require('telescope.builtin') -170.621 000.277 000.277: require('fzf_lib') -170.638 000.414 000.136: require('telescope._extensions.fzf') -171.172 000.187 000.187: require('telescope._extensions.file_browser.utils') -171.332 000.559 000.372: require('telescope._extensions.file_browser.actions') -171.693 000.212 000.212: require('telescope._extensions.file_browser.make_entry') -171.940 000.235 000.235: require('plenary.scandir') -171.994 000.653 000.206: require('telescope._extensions.file_browser.finders') -172.126 000.124 000.124: require('telescope._extensions.file_browser.picker') -172.281 000.148 000.148: require('telescope._extensions.file_browser.config') -172.287 001.634 000.149: require('telescope._extensions.file_browser') -177.884 000.017 000.017: require('vim.keymap') -178.248 020.907 006.185: require('plugins.telescope') -179.753 000.165 000.165: require('notify.util.queue') -179.763 000.341 000.175: require('notify.util') -180.014 000.244 000.244: require('notify.config.highlights') -180.024 000.708 000.123: require('notify.config') -180.121 000.091 000.091: require('notify.stages') -180.279 000.128 000.128: require('notify.service.notification') -180.547 000.077 000.077: require('notify.animate.spring') -180.553 000.163 000.086: require('notify.animate') -180.562 000.276 000.113: require('notify.windows') -180.849 000.099 000.099: require('notify.service.buffer.highlights') -180.859 000.202 000.104: require('notify.service.buffer') -180.864 000.297 000.095: require('notify.service') -180.964 000.096 000.096: require('notify.stages.util') -180.973 001.863 000.268: require('notify') -181.067 000.088 000.088: require('nvim-tree.iterators.node-iterator') -181.131 002.139 000.187: require('nvim-tree.utils') -181.143 002.243 000.104: require('nvim-tree.events') -181.520 000.083 000.083: require('nvim-tree.log') -181.695 000.166 000.166: require('nvim-tree.git.utils') -181.800 000.098 000.098: require('nvim-tree.git.runner') -181.898 000.091 000.091: require('nvim-tree.watcher') -181.908 000.566 000.128: require('nvim-tree.git') -182.001 000.088 000.088: require('nvim-tree.explorer.watch') -182.135 000.087 000.087: require('nvim-tree.explorer.common') -182.325 000.099 000.099: require('nvim-tree.explorer.node-builders') -182.421 000.087 000.087: require('nvim-tree.explorer.sorters') -182.521 000.085 000.085: require('nvim-tree.explorer.filters') -182.808 000.182 000.182: require('nvim-tree.view') -182.825 000.297 000.115: require('nvim-tree.live-filter') -182.833 000.691 000.123: require('nvim-tree.explorer.explore') -182.993 000.151 000.151: require('nvim-tree.explorer.reload') -183.004 001.856 000.273: require('nvim-tree.explorer') -183.016 004.199 000.099: require('nvim-tree.core') -183.191 000.168 000.168: require('nvim-tree.diagnostics') -183.342 000.138 000.138: require('nvim-tree.renderer.components.padding') -183.522 000.170 000.170: require('nvim-tree.renderer.components.icons') -183.685 000.151 000.151: require('nvim-tree.renderer.components.full-name') -183.825 000.130 000.130: require('nvim-tree.renderer.help') -184.007 000.171 000.171: require('nvim-tree.renderer.components.git') -184.195 000.178 000.178: require('nvim-tree.renderer.builder') -184.347 000.141 000.141: require('nvim-tree.marks') -184.368 005.654 000.208: require('nvim-tree.renderer') -184.535 000.149 000.149: require('nvim-tree.actions.tree-modifiers.collapse-all') -184.674 000.129 000.129: require('nvim-tree.actions.root.dir-up') -184.832 000.147 000.147: require('nvim-tree.actions.root.change-dir') -184.958 000.116 000.116: require('nvim-tree.actions.reloaders.reloaders') -185.064 000.095 000.095: require('nvim-tree.actions.finders.find-file') -185.070 006.451 000.159: require('nvim-tree.lib') -185.173 000.098 000.098: require('nvim-tree.colors') -185.295 000.112 000.112: require('nvim-tree.legacy') -185.413 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') -185.615 000.095 000.095: require('nvim-tree.actions.tree-modifiers.expand-all') -185.712 000.090 000.090: require('nvim-tree.actions.tree-modifiers.toggles') -185.821 000.094 000.094: require('nvim-tree.actions.fs.create-file') -185.919 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -186.041 000.114 000.114: require('nvim-tree.actions.fs.trash') -186.143 000.095 000.095: require('nvim-tree.actions.fs.remove-file') -186.240 000.086 000.086: require('nvim-tree.actions.moves.parent') -186.331 000.085 000.085: require('nvim-tree.actions.moves.sibling') -186.423 000.084 000.084: require('nvim-tree.actions.moves.item') -186.533 000.091 000.091: require('nvim-tree.actions.finders.search-node') -186.622 000.083 000.083: require('nvim-tree.actions.node.run-command') -186.719 000.091 000.091: require('nvim-tree.actions.node.file-popup') -186.848 000.121 000.121: require('nvim-tree.actions.node.system-open') -186.948 000.090 000.090: require('nvim-tree.marks.bulk-move') -186.954 001.531 000.224: require('nvim-tree.actions.dispatch') -186.983 008.551 000.251: require('nvim-tree') -187.065 000.076 000.076: require('nvim-tree.config') -190.975 000.179 000.179: require('nvim-tree.actions') -191.118 000.126 000.126: require('nvim-tree.actions.node.open-file') -194.601 000.103 000.103: require('nvim-tree.marks.navigation') -194.613 000.300 000.197: require('nvim-tree.api') -194.642 000.462 000.162: require('nvim-tree.keymap') -195.607 000.463 000.463: require('nvim-web-devicons') -200.113 021.854 011.996: require('plugins.nvim-tree') -200.819 000.138 000.138: require('lualine_require') -201.441 000.999 000.861: require('lualine') -201.530 000.079 000.079: require('plugins.linecolor') -209.975 000.135 000.135: require('lualine.utils.mode') -213.198 013.006 011.794: require('plugins.lualine') -213.236 122.803 002.991: sourcing /home/sxrdusr/.config/nvim/init.lua -213.254 006.986: sourcing vimrc file(s) -213.571 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -214.883 000.074 000.074: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.lua -216.250 001.156 001.156: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/filetype.vim -218.459 000.289 000.289: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/synload.vim -218.710 001.984 001.695: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/syntax/syntax.vim -224.924 001.037 001.037: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/gzip.vim -225.080 000.065 000.065: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/health.vim -228.009 001.454 001.454: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -228.576 003.411 001.957: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchit.vim -229.076 000.413 000.413: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/matchparen.vim -229.256 000.090 000.090: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/netrwPlugin.vim -229.702 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -229.723 000.379 000.355: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/rplugin.vim -230.008 000.198 000.198: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/shada.vim -230.190 000.091 000.091: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/spellfile.vim -230.360 000.080 000.080: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tarPlugin.vim -230.524 000.075 000.075: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tohtml.vim -230.670 000.058 000.058: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/tutor.vim -231.429 000.673 000.673: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/zipPlugin.vim -231.723 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -233.248 000.155 000.155: require('lspsaga') -233.650 000.126 000.126: require('lspsaga.window') -233.674 000.289 000.163: require('lspsaga.libs') -234.831 000.402 000.402: require('vim.lsp.log') -235.514 000.671 000.671: require('vim.lsp.protocol') -236.036 000.228 000.228: require('vim.lsp._snippet') -236.195 000.149 000.149: require('vim.highlight') -236.231 000.707 000.330: require('vim.lsp.util') -236.254 002.041 000.262: require('vim.lsp.handlers') -236.548 000.287 000.287: require('vim.lsp.rpc') -236.714 000.154 000.154: require('vim.lsp.sync') -236.982 000.258 000.258: require('vim.lsp.buf') -237.189 000.194 000.194: require('vim.lsp.diagnostic') -237.383 000.186 000.186: require('vim.lsp.codelens') -237.546 003.740 000.620: require('vim.lsp') -237.656 000.098 000.098: require('lspsaga.wrap') -237.672 003.992 000.153: require('lspsaga.codeaction') -237.713 004.454 000.172: require('lspsaga.lightbulb') -237.892 000.137 000.137: require('lspsaga.lspkind') -238.160 000.086 000.086: require('mason-core.path') -238.178 000.190 000.104: require('mason.settings') -238.483 000.086 000.086: require('mason-core.functional.data') -238.491 000.190 000.104: require('mason-core.functional.function') -238.531 000.345 000.156: require('mason-core.platform') -238.536 000.631 000.096: require('mason') -238.821 000.142 000.142: require('mason-core.functional') -238.957 000.113 000.113: require('mason-core.functional.list') -239.001 000.437 000.182: require('mason.api.command') -239.249 000.137 000.137: require('mason-core.log') -239.258 000.250 000.114: require('mason-lspconfig') -239.355 000.092 000.092: require('mason-lspconfig.settings') -239.481 000.107 000.107: require('mason-lspconfig.lspconfig_hook') -239.804 000.316 000.316: require('lspconfig.util') -240.204 000.126 000.126: require('mason-core.functional.table') -240.364 000.446 000.320: require('mason-lspconfig.mappings.server') -240.714 000.112 000.112: require('mason-core.async') -240.810 000.087 000.087: require('mason-core.async.uv') -240.822 000.314 000.115: require('mason-core.fs') -240.921 000.090 000.090: require('mason-core.optional') -241.022 000.094 000.094: require('mason-core.EventEmitter') -241.210 000.181 000.181: require('mason-registry.index') -241.234 000.860 000.181: require('mason-registry') -241.334 000.093 000.093: require('mason-lspconfig.server_config_extensions') -241.505 000.118 000.118: require('lspconfig.configs') -241.623 000.110 000.110: require('lspconfig.server_configurations.omnisharp') -241.763 000.097 000.097: require('mason-lspconfig.ensure_installed') -242.095 000.095 000.095: require('mason-core.result') -242.582 000.251 000.251: require('mason-core.process') -242.688 000.094 000.094: require('mason-core.functional.relation') -242.788 000.090 000.090: require('mason-core.functional.logic') -242.807 000.575 000.140: require('mason-core.spawn') -242.922 000.106 000.106: require('mason-core.receipt') -243.037 000.096 000.096: require('mason-core.functional.string') -243.067 000.964 000.187: require('mason-core.installer.context') -243.173 000.100 000.100: require('mason-core.installer.linker') -243.274 000.095 000.095: require('mason-core.async.control') -243.283 001.396 000.141: require('mason-core.installer') -243.420 000.132 000.132: require('mason-core.installer.handle') -245.806 000.120 000.120: require('mason-core.managers.powershell') -245.817 002.066 001.945: require('mason-core.fetch') -245.822 002.152 000.086: require('mason-core.managers.cargo.client') -245.863 002.308 000.156: require('mason-core.managers.cargo') -246.012 000.143 000.143: require('mason-core.managers.composer') -246.163 000.144 000.144: require('mason-core.managers.gem') -246.277 000.107 000.107: require('mason-core.managers.git') -246.520 000.120 000.120: require('mason-core.managers.std') -246.633 000.106 000.106: require('mason-core.managers.github.client') -246.652 000.368 000.142: require('mason-core.managers.github') -246.927 000.270 000.270: require('mason-core.managers.go') -247.120 000.184 000.184: require('mason-core.managers.luarocks') -247.268 000.141 000.141: require('mason-core.managers.npm') -247.446 000.171 000.171: require('mason-core.managers.pip3') -247.459 004.027 000.192: require('mason-core.package.version-check') -247.472 005.702 000.147: require('mason-core.package') -247.697 000.125 000.125: require('mason-registry.lua-language-server') -248.154 000.144 000.144: require('mason-registry.clangd') -248.338 000.142 000.142: require('mason-registry.rust-analyzer') -248.567 000.079 000.079: require('mason-core.notify') -248.681 000.104 000.104: require('mason-core.functional.number') -248.744 000.395 000.212: require('mason-lspconfig.api.command') -248.751 016.895 002.084: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -250.216 000.149 000.149: sourcing /tmp/.mount_nvimnx9QwH/usr/share/nvim/runtime/plugin/man.lua -250.464 010.291: loading rtp plugins -252.317 000.130 000.130: require('Comment.config') -252.432 000.105 000.105: require('Comment.utils') -252.532 000.092 000.092: require('Comment.opfunc') -252.631 000.092 000.092: require('Comment.extra') -252.648 000.616 000.196: require('Comment.api') -253.164 001.202 000.586: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -253.955 000.088 000.088: require('luasnip.util.types') -254.062 000.098 000.098: require('luasnip.util.ext_opts') -254.171 000.101 000.101: require('luasnip.extras.filetype_functions') -254.272 000.094 000.094: require('luasnip.session') -254.636 000.137 000.137: require('luasnip.util.util') -254.743 000.099 000.099: require('luasnip.nodes.util') -254.843 000.092 000.092: require('luasnip.util.events') -254.861 000.475 000.147: require('luasnip.nodes.node') -255.012 000.094 000.094: require('luasnip.util.extend_decorator') -255.023 000.743 000.175: require('luasnip.nodes.insertNode') -255.408 000.109 000.109: require('luasnip.util.mark') -255.695 000.123 000.123: require('luasnip.nodes.textNode') -256.595 000.792 000.792: require('luasnip.util._builtin_vars') -256.841 001.133 000.341: require('luasnip.util.environ') -256.963 000.111 000.111: require('luasnip.util.pattern_tokenizer') -257.055 000.084 000.084: require('luasnip.util.dict') -257.172 000.110 000.110: require('luasnip.session.snippet_collection') -257.232 001.814 000.254: require('luasnip.nodes.snippet') -257.291 002.263 000.339: require('luasnip.nodes.choiceNode') -257.465 000.139 000.139: require('luasnip.nodes.functionNode') -257.663 000.187 000.187: require('luasnip.nodes.dynamicNode') -257.824 000.153 000.153: require('luasnip.nodes.restoreNode') -257.940 000.109 000.109: require('luasnip.extras') -258.135 000.088 000.088: require('luasnip.util.str') -258.144 000.193 000.104: require('luasnip.extras.fmt') -258.239 000.087 000.087: require('luasnip.extras.expand_conditions') -258.565 000.104 000.104: require('luasnip.util.parser.neovim_ast') -268.931 000.123 000.123: require('luasnip.util.directed_graph') -268.952 010.600 010.373: require('luasnip.util.parser.ast_utils') -269.185 000.096 000.096: require('luasnip.util.functions') -269.202 000.243 000.147: require('luasnip.util.parser.ast_parser') -269.421 000.212 000.212: require('luasnip.util.parser.neovim_parser') -269.442 011.193 000.138: require('luasnip.util.parser') -269.543 000.094 000.094: require('luasnip.nodes.absolute_indexer') -269.972 016.251 000.709: require('luasnip.config') -270.152 016.806 000.555: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -271.034 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -271.973 000.123 000.123: require('indent_blankline/utils') -271.982 000.313 000.190: require('indent_blankline') -272.343 000.105 000.105: require('indent_blankline.commands') -272.499 001.006 000.587: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -272.937 000.132 000.132: require('lsp-colors') -273.381 000.626 000.495: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -274.698 000.902 000.902: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -275.547 000.392 000.392: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -276.124 000.110 000.110: require('cmp.utils.api') -276.308 000.089 000.089: require('cmp.types.cmp') -276.520 000.102 000.102: require('cmp.utils.misc') -276.553 000.238 000.136: require('cmp.types.lsp') -276.641 000.081 000.081: require('cmp.types.vim') -276.647 000.514 000.105: require('cmp.types') -276.740 000.088 000.088: require('cmp.utils.highlight') -276.942 000.083 000.083: require('cmp.utils.debug') -276.958 000.211 000.128: require('cmp.utils.autocmd') -277.710 001.788 000.865: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -277.977 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -278.441 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -278.924 000.182 000.182: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -279.607 000.095 000.095: require('nvim-treesitter.statusline') -279.735 000.120 000.120: require('nvim-treesitter.query_predicates') -279.743 000.332 000.117: require('nvim-treesitter') -280.880 000.218 000.218: require('vim.treesitter.highlighter') -281.220 000.738 000.520: require('nvim-treesitter.highlight') -281.584 002.249 001.180: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -282.055 000.247 000.247: require('treesitter-context') -282.065 000.289 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -282.467 000.116 000.116: require('nvim-treesitter-refactor') -282.639 000.316 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -282.999 000.105 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -283.374 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -283.801 000.096 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -284.568 000.417 000.417: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -284.926 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -285.791 000.378 000.378: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -286.575 000.492 000.492: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -287.223 000.361 000.361: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -288.060 000.588 000.588: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -288.358 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -288.635 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -289.572 010.432: loading packages -291.291 000.474 000.474: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -295.675 005.526 005.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -296.520 000.147 000.147: require('cmp.utils.char') -296.536 000.263 000.115: require('cmp.utils.str') -296.633 000.090 000.090: require('cmp.utils.pattern') -296.969 000.081 000.081: require('cmp.utils.buffer') -296.982 000.246 000.166: require('cmp.utils.keymap') -296.995 000.354 000.108: require('cmp.utils.feedkeys') -297.107 000.107 000.107: require('cmp.utils.async') -297.291 000.081 000.081: require('cmp.utils.cache') -297.301 000.186 000.104: require('cmp.context') -297.636 000.107 000.107: require('cmp.config.mapping') -297.858 000.108 000.108: require('cmp.config.compare') -297.868 000.220 000.112: require('cmp.config.default') -297.896 000.466 000.139: require('cmp.config') -298.116 000.086 000.086: require('cmp.matcher') -298.130 000.228 000.142: require('cmp.entry') -298.150 000.844 000.150: require('cmp.source') -298.347 000.087 000.087: require('cmp.utils.event') -298.569 000.111 000.111: require('cmp.utils.window') -298.577 000.222 000.112: require('cmp.view.docs_view') -298.733 000.151 000.151: require('cmp.view.custom_entries_view') -298.868 000.128 000.128: require('cmp.view.wildmenu_entries_view') -298.986 000.112 000.112: require('cmp.view.native_entries_view') -299.096 000.102 000.102: require('cmp.view.ghost_text_view') -299.114 000.959 000.156: require('cmp.view') -299.197 003.078 000.275: require('cmp.core') -299.687 000.092 000.092: require('cmp.config.sources') -299.782 000.085 000.085: require('cmp.config.window') -299.886 003.913 000.659: require('cmp') -300.287 000.084 000.084: require('cmp_buffer.timer') -300.296 000.211 000.127: require('cmp_buffer.buffer') -300.304 000.319 000.108: require('cmp_buffer.source') -300.309 000.416 000.097: require('cmp_buffer') -300.342 004.448 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -300.758 000.175 000.175: require('cmp_cmdline') -300.793 000.281 000.106: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -301.292 000.176 000.176: require('cmp_nvim_lsp.source') -301.303 000.288 000.112: require('cmp_nvim_lsp') -301.353 000.407 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -301.714 000.146 000.146: require('cmp_path') -301.753 000.246 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -302.079 000.105 000.105: require('cmp_luasnip') -302.261 000.359 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -302.459 001.620: loading after plugins -302.488 000.029: inits 3 -302.501 000.013: reading ShaDa -302.942 000.097 000.097: require('luasnip.loaders._caches') -303.083 000.132 000.132: require('luasnip.util.path') -303.202 000.111 000.111: require('luasnip.loaders.util') -303.527 000.159 000.159: require('luasnip.loaders') -303.585 000.375 000.215: require('luasnip') -303.592 000.859 000.145: require('luasnip.loaders.from_lua') -303.889 000.122 000.122: require('luasnip.nodes.snippetProxy') -303.901 000.254 000.133: require('luasnip.loaders.from_snipmate') -304.069 000.123 000.123: require('luasnip.loaders.from_vscode') -305.197 001.459: opening buffers -305.422 000.225: BufEnter autocommands -305.429 000.007: editing files in windows -322.290 000.943 000.943: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.092 001.092: --- NVIM STARTING --- -027.470 026.378: event init -043.953 016.484: early init -045.599 001.646: locale set -051.045 005.446: init first window -060.894 009.849: inits 1 -060.923 000.029: window checked -060.933 000.011: parsing arguments -071.709 000.123 000.123: require('vim.shared') -071.945 000.108 000.108: require('vim._meta') -071.950 000.231 000.123: require('vim._editor') -071.954 000.411 000.057: require('vim._init_packages') -071.957 010.613: init lua interpreter -072.034 000.077: expanding arguments -073.708 001.674: inits 2 -074.323 000.616: init highlight -074.327 000.004: waiting for UI -078.106 003.778: done waiting for UI -078.157 000.052: init screen for UI -078.520 000.363: init default mappings -078.555 000.035: init default autocommands -088.938 004.488 004.488: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/ftplugin.vim -090.930 000.943 000.943: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/indent.vim -091.231 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim -091.243 000.084 000.057: sourcing /etc/xdg/nvim/sysinit.vim -105.580 014.174 014.174: require('impatient') -105.713 000.118 000.118: require('impatient.profile') -109.123 000.739 000.739: require('keys') -111.607 002.472 002.472: require('opts') -112.518 000.214 000.214: require('packer.util') -112.571 000.683 000.470: require('packer') -113.172 000.202 000.202: require('packer.log') -113.182 000.366 000.164: require('packer.async') -113.454 000.161 000.161: require('packer.result') -113.465 000.277 000.116: require('packer.jobs') -113.478 000.858 000.215: require('packer.plugin_utils') -113.774 000.272 000.272: require('packer.snapshot') -114.919 003.300 001.486: require('pack') -116.141 000.252 000.252: require('vim.treesitter.language') -116.161 000.730 000.479: require('vim.treesitter.query') -117.088 000.211 000.211: require('vim.treesitter.languagetree') -117.193 000.526 000.315: require('vim.treesitter') -117.477 001.084 000.558: require('nvim-treesitter.parsers') -117.613 000.127 000.127: require('nvim-treesitter.utils') -117.627 001.344 000.133: require('nvim-treesitter.ts_utils') -117.641 001.470 000.126: require('nvim-treesitter.tsrange') -117.738 000.090 000.090: require('nvim-treesitter.caching') -117.759 002.507 000.217: require('nvim-treesitter.query') -117.790 002.780 000.273: require('nvim-treesitter.configs') -118.152 000.107 000.107: require('nvim-treesitter.info') -118.293 000.132 000.132: require('nvim-treesitter.shell_command_selectors') -118.339 000.451 000.212: require('nvim-treesitter.install') -156.898 041.970 038.738: require('plugins.treesitter') -157.216 000.091 000.091: require('telescope._extensions') -157.226 000.195 000.105: require('telescope') -157.946 000.092 000.092: require('plenary.bit') -158.045 000.090 000.090: require('plenary.functional') -158.093 000.029 000.029: require('ffi') -158.116 000.407 000.196: require('plenary.path') -158.132 000.520 000.113: require('plenary.strings') -158.310 000.173 000.173: require('telescope.deprecated') -158.887 000.298 000.298: require('plenary.log') -159.000 000.494 000.196: require('telescope.log') -159.285 000.138 000.138: require('plenary.job') -159.380 000.086 000.086: require('telescope.state') -159.395 000.386 000.162: require('telescope.utils') -159.405 001.086 000.207: require('telescope.sorters') -159.514 000.086 000.086: require('vim.inspect') -160.442 000.019 000.019: require('vim.F') -164.246 006.778 004.895: require('telescope.config') -164.541 000.161 000.161: require('plenary.window.border') -164.687 000.136 000.136: require('plenary.window') -164.772 000.076 000.076: require('plenary.popup.utils') -164.780 000.520 000.147: require('plenary.popup') -164.894 000.108 000.108: require('telescope.pickers.scroller') -164.993 000.091 000.091: require('telescope.actions.state') -165.092 000.092 000.092: require('telescope.actions.utils') -165.296 000.095 000.095: require('telescope.actions.mt') -165.373 000.274 000.179: require('telescope.actions.set') -165.577 000.097 000.097: require('telescope.config.resolve') -165.583 000.204 000.107: require('telescope.pickers.entry_display') -165.670 000.081 000.081: require('telescope.from_entry') -166.061 008.829 000.680: require('telescope.actions') -166.884 000.089 000.089: require('plenary.tbl') -166.896 000.201 000.112: require('plenary.vararg.rotate') -166.900 000.295 000.094: require('plenary.vararg') -167.037 000.125 000.125: require('plenary.errors') -167.063 000.564 000.144: require('plenary.async.async') -167.168 000.098 000.098: require('plenary.async.structs') -167.185 000.805 000.142: require('plenary.async.control') -167.596 000.295 000.295: require('telescope.make_entry') -168.063 000.142 000.142: require('plenary.async.util') -168.070 000.240 000.098: require('plenary.async.tests') -168.076 000.347 000.107: require('plenary.async') -168.088 000.480 000.133: require('telescope.finders.async_static_finder') -168.440 000.106 000.106: require('plenary.class') -168.476 000.270 000.163: require('telescope._') -168.482 000.389 000.119: require('telescope.finders.async_oneshot_finder') -168.596 000.108 000.108: require('telescope.finders.async_job_finder') -168.611 001.418 000.147: require('telescope.finders') -169.013 000.151 000.151: require('telescope.debounce') -169.240 000.217 000.217: require('telescope.mappings') -169.382 000.132 000.132: require('telescope.pickers.highlights') -169.541 000.146 000.146: require('telescope.pickers.window') -169.887 000.127 000.127: require('telescope.algos.linked_list') -169.898 000.304 000.178: require('telescope.entry_manager') -170.005 000.102 000.102: require('telescope.pickers.multi') -170.047 001.428 000.376: require('telescope.pickers') -170.069 003.829 000.178: require('telescope.builtin.__lsp') -170.126 004.055 000.227: require('telescope.builtin') -170.538 000.280 000.280: require('fzf_lib') -170.556 000.422 000.142: require('telescope._extensions.fzf') -171.114 000.177 000.177: require('telescope._extensions.file_browser.utils') -171.256 000.523 000.345: require('telescope._extensions.file_browser.actions') -171.607 000.207 000.207: require('telescope._extensions.file_browser.make_entry') -171.830 000.210 000.210: require('plenary.scandir') -171.885 000.621 000.204: require('telescope._extensions.file_browser.finders') -172.019 000.126 000.126: require('telescope._extensions.file_browser.picker') -172.179 000.153 000.153: require('telescope._extensions.file_browser.config') -172.195 001.582 000.159: require('telescope._extensions.file_browser') -177.155 000.039 000.039: require('vim.keymap') -177.505 020.593 005.471: require('plugins.telescope') -179.728 000.170 000.170: require('notify.util.queue') -179.739 000.342 000.172: require('notify.util') -179.999 000.254 000.254: require('notify.config.highlights') -180.010 000.712 000.116: require('notify.config') -180.101 000.086 000.086: require('notify.stages') -180.201 000.092 000.092: require('notify.service.notification') -180.473 000.076 000.076: require('notify.animate.spring') -180.479 000.174 000.098: require('notify.animate') -180.488 000.281 000.107: require('notify.windows') -180.766 000.095 000.095: require('notify.service.buffer.highlights') -180.775 000.195 000.100: require('notify.service.buffer') -180.780 000.287 000.091: require('notify.service') -180.878 000.093 000.093: require('notify.stages.util') -180.888 001.802 000.250: require('notify') -180.980 000.087 000.087: require('nvim-tree.iterators.node-iterator') -181.047 002.073 000.184: require('nvim-tree.utils') -181.058 002.174 000.101: require('nvim-tree.events') -181.322 000.081 000.081: require('nvim-tree.log') -181.491 000.161 000.161: require('nvim-tree.git.utils') -181.595 000.097 000.097: require('nvim-tree.git.runner') -181.696 000.094 000.094: require('nvim-tree.watcher') -181.707 000.555 000.122: require('nvim-tree.git') -181.802 000.090 000.090: require('nvim-tree.explorer.watch') -181.935 000.086 000.086: require('nvim-tree.explorer.common') -182.126 000.098 000.098: require('nvim-tree.explorer.node-builders') -182.222 000.087 000.087: require('nvim-tree.explorer.sorters') -182.325 000.086 000.086: require('nvim-tree.explorer.filters') -182.606 000.178 000.178: require('nvim-tree.view') -182.618 000.286 000.108: require('nvim-tree.live-filter') -182.623 000.680 000.123: require('nvim-tree.explorer.explore') -182.725 000.098 000.098: require('nvim-tree.explorer.reload') -182.733 001.669 000.160: require('nvim-tree.explorer') -182.740 003.940 000.096: require('nvim-tree.core') -182.854 000.110 000.110: require('nvim-tree.diagnostics') -182.951 000.089 000.089: require('nvim-tree.renderer.components.padding') -183.045 000.087 000.087: require('nvim-tree.renderer.components.icons') -183.143 000.092 000.092: require('nvim-tree.renderer.components.full-name') -183.231 000.081 000.081: require('nvim-tree.renderer.help') -183.343 000.105 000.105: require('nvim-tree.renderer.components.git') -183.459 000.110 000.110: require('nvim-tree.renderer.builder') -183.554 000.088 000.088: require('nvim-tree.marks') -183.569 004.957 000.255: require('nvim-tree.renderer') -183.714 000.133 000.133: require('nvim-tree.actions.tree-modifiers.collapse-all') -183.809 000.088 000.088: require('nvim-tree.actions.root.dir-up') -183.909 000.093 000.093: require('nvim-tree.actions.root.change-dir') -184.006 000.091 000.091: require('nvim-tree.actions.reloaders.reloaders') -184.106 000.090 000.090: require('nvim-tree.actions.finders.find-file') -184.111 006.027 000.576: require('nvim-tree.lib') -184.209 000.093 000.093: require('nvim-tree.colors') -184.329 000.110 000.110: require('nvim-tree.legacy') -184.447 000.109 000.109: require('nvim-tree.actions.fs.copy-paste') -184.645 000.092 000.092: require('nvim-tree.actions.tree-modifiers.expand-all') -184.740 000.088 000.088: require('nvim-tree.actions.tree-modifiers.toggles') -184.847 000.092 000.092: require('nvim-tree.actions.fs.create-file') -184.944 000.088 000.088: require('nvim-tree.actions.fs.rename-file') -185.063 000.112 000.112: require('nvim-tree.actions.fs.trash') -185.164 000.093 000.093: require('nvim-tree.actions.fs.remove-file') -185.257 000.084 000.084: require('nvim-tree.actions.moves.parent') -185.347 000.083 000.083: require('nvim-tree.actions.moves.sibling') -185.436 000.081 000.081: require('nvim-tree.actions.moves.item') -185.544 000.090 000.090: require('nvim-tree.actions.finders.search-node') -185.634 000.083 000.083: require('nvim-tree.actions.node.run-command') -185.729 000.089 000.089: require('nvim-tree.actions.node.file-popup') -185.840 000.104 000.104: require('nvim-tree.actions.node.system-open') -185.937 000.087 000.087: require('nvim-tree.marks.bulk-move') -185.943 001.485 000.221: require('nvim-tree.actions.dispatch') -185.973 008.278 000.454: require('nvim-tree') -186.053 000.074 000.074: require('nvim-tree.config') -192.349 000.155 000.155: require('nvim-tree.actions') -192.479 000.113 000.113: require('nvim-tree.actions.node.open-file') -196.244 000.112 000.112: require('nvim-tree.marks.navigation') -196.255 000.312 000.199: require('nvim-tree.api') -196.284 000.470 000.158: require('nvim-tree.keymap') -197.266 000.487 000.487: require('nvim-web-devicons') -202.059 024.544 014.966: require('plugins.nvim-tree') -202.450 000.103 000.103: require('lualine_require') -203.033 000.835 000.732: require('lualine') -203.120 000.078 000.078: require('plugins.linecolor') -211.064 000.113 000.113: require('lualine.utils.mode') -213.472 011.399 010.372: require('plugins.lualine') -213.595 122.306 002.998: sourcing /home/sxrdusr/.config/nvim/init.lua -213.617 007.239: sourcing vimrc file(s) -214.062 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -215.663 000.110 000.110: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.lua -218.896 002.865 002.865: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/filetype.vim -222.633 000.464 000.464: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/synload.vim -222.910 003.277 002.813: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/syntax/syntax.vim -230.982 002.165 002.165: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/gzip.vim -231.269 000.080 000.080: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/health.vim -234.916 002.388 002.388: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -235.394 004.055 001.667: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchit.vim -235.851 000.389 000.389: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/matchparen.vim -235.996 000.075 000.075: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/netrwPlugin.vim -236.395 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -236.416 000.357 000.333: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/rplugin.vim -236.661 000.185 000.185: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/shada.vim -236.780 000.051 000.051: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/spellfile.vim -236.906 000.061 000.061: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tarPlugin.vim -237.061 000.091 000.091: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tohtml.vim -237.174 000.046 000.046: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/tutor.vim -238.457 001.220 001.220: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/zipPlugin.vim -238.752 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -240.127 000.153 000.153: require('lspsaga') -240.603 000.125 000.125: require('lspsaga.window') -240.623 000.279 000.154: require('lspsaga.libs') -241.874 000.487 000.487: require('vim.lsp.log') -242.691 000.807 000.807: require('vim.lsp.protocol') -243.422 000.332 000.332: require('vim.lsp._snippet') -243.615 000.184 000.184: require('vim.highlight') -243.648 000.946 000.430: require('vim.lsp.util') -243.726 002.598 000.358: require('vim.lsp.handlers') -244.087 000.352 000.352: require('vim.lsp.rpc') -244.346 000.248 000.248: require('vim.lsp.sync') -244.661 000.306 000.306: require('vim.lsp.buf') -244.922 000.253 000.253: require('vim.lsp.diagnostic') -245.190 000.257 000.257: require('vim.lsp.codelens') -245.375 004.624 000.610: require('vim.lsp') -245.483 000.096 000.096: require('lspsaga.wrap') -245.499 004.869 000.149: require('lspsaga.codeaction') -245.544 005.350 000.202: require('lspsaga.lightbulb') -245.715 000.129 000.129: require('lspsaga.lspkind') -245.979 000.083 000.083: require('mason-core.path') -246.000 000.191 000.108: require('mason.settings') -246.299 000.084 000.084: require('mason-core.functional.data') -246.308 000.184 000.100: require('mason-core.functional.function') -246.351 000.344 000.159: require('mason-core.platform') -246.356 000.629 000.095: require('mason') -246.650 000.148 000.148: require('mason-core.functional') -246.787 000.115 000.115: require('mason-core.functional.list') -246.828 000.447 000.184: require('mason.api.command') -247.090 000.151 000.151: require('mason-core.log') -247.099 000.265 000.115: require('mason-lspconfig') -247.239 000.098 000.098: require('mason-lspconfig.settings') -247.367 000.107 000.107: require('mason-lspconfig.lspconfig_hook') -247.717 000.343 000.343: require('lspconfig.util') -247.999 000.096 000.096: require('mason-core.functional.table') -248.100 000.356 000.260: require('mason-lspconfig.mappings.server') -248.444 000.109 000.109: require('mason-core.async') -248.538 000.084 000.084: require('mason-core.async.uv') -248.552 000.314 000.121: require('mason-core.fs') -248.651 000.092 000.092: require('mason-core.optional') -248.748 000.089 000.089: require('mason-core.EventEmitter') -248.943 000.189 000.189: require('mason-registry.index') -248.967 000.858 000.174: require('mason-registry') -249.068 000.094 000.094: require('mason-lspconfig.server_config_extensions') -249.236 000.119 000.119: require('lspconfig.configs') -249.356 000.112 000.112: require('lspconfig.server_configurations.omnisharp') -249.701 000.098 000.098: require('mason-lspconfig.ensure_installed') -250.043 000.099 000.099: require('mason-core.result') -250.531 000.264 000.264: require('mason-core.process') -250.642 000.095 000.095: require('mason-core.functional.relation') -250.743 000.090 000.090: require('mason-core.functional.logic') -250.762 000.589 000.140: require('mason-core.spawn') -250.889 000.119 000.119: require('mason-core.receipt') -251.006 000.101 000.101: require('mason-core.functional.string') -251.040 000.990 000.181: require('mason-core.installer.context') -251.152 000.105 000.105: require('mason-core.installer.linker') -251.255 000.096 000.096: require('mason-core.async.control') -251.263 001.435 000.145: require('mason-core.installer') -251.392 000.124 000.124: require('mason-core.installer.handle') -251.882 000.093 000.093: require('mason-core.managers.powershell') -251.892 000.198 000.105: require('mason-core.fetch') -251.896 000.286 000.089: require('mason-core.managers.cargo.client') -251.931 000.430 000.143: require('mason-core.managers.cargo') -252.157 000.220 000.220: require('mason-core.managers.composer') -252.349 000.184 000.184: require('mason-core.managers.gem') -252.472 000.116 000.116: require('mason-core.managers.git') -252.713 000.124 000.124: require('mason-core.managers.std') -252.826 000.107 000.107: require('mason-core.managers.github.client') -252.842 000.363 000.132: require('mason-core.managers.github') -253.075 000.228 000.228: require('mason-core.managers.go') -253.279 000.192 000.192: require('mason-core.managers.luarocks') -255.465 002.178 002.178: require('mason-core.managers.npm') -255.647 000.171 000.171: require('mason-core.managers.pip3') -255.660 004.254 000.173: require('mason-core.package.version-check') -255.672 005.963 000.150: require('mason-core.package') -255.814 000.120 000.120: require('mason-registry.lua-language-server') -256.247 000.143 000.143: require('mason-registry.clangd') -256.412 000.142 000.142: require('mason-registry.rust-analyzer') -256.636 000.080 000.080: require('mason-core.notify') -256.741 000.092 000.092: require('mason-core.functional.number') -256.804 000.378 000.207: require('mason-lspconfig.api.command') -256.810 017.922 002.017: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -258.334 000.124 000.124: sourcing /tmp/.mount_nvimLES7HE/usr/share/nvim/runtime/plugin/man.lua -258.674 011.862: loading rtp plugins -260.488 000.126 000.126: require('Comment.config') -260.600 000.103 000.103: require('Comment.utils') -260.698 000.091 000.091: require('Comment.opfunc') -260.790 000.085 000.085: require('Comment.extra') -260.805 000.590 000.185: require('Comment.api') -261.303 001.171 000.580: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -262.020 000.084 000.084: require('luasnip.util.types') -262.125 000.095 000.095: require('luasnip.util.ext_opts') -262.226 000.094 000.094: require('luasnip.extras.filetype_functions') -262.320 000.088 000.088: require('luasnip.session') -262.672 000.136 000.136: require('luasnip.util.util') -262.777 000.096 000.096: require('luasnip.nodes.util') -262.872 000.088 000.088: require('luasnip.util.events') -262.889 000.459 000.138: require('luasnip.nodes.node') -263.033 000.092 000.092: require('luasnip.util.extend_decorator') -263.047 000.717 000.166: require('luasnip.nodes.insertNode') -263.389 000.102 000.102: require('luasnip.util.mark') -263.702 000.152 000.152: require('luasnip.nodes.textNode') -264.565 000.754 000.754: require('luasnip.util._builtin_vars') -264.807 001.092 000.338: require('luasnip.util.environ') -264.926 000.108 000.108: require('luasnip.util.pattern_tokenizer') -265.014 000.082 000.082: require('luasnip.util.dict') -265.129 000.108 000.108: require('luasnip.session.snippet_collection') -265.186 001.787 000.246: require('luasnip.nodes.snippet') -265.245 002.193 000.304: require('luasnip.nodes.choiceNode') -265.415 000.135 000.135: require('luasnip.nodes.functionNode') -265.607 000.182 000.182: require('luasnip.nodes.dynamicNode') -265.760 000.145 000.145: require('luasnip.nodes.restoreNode') -265.872 000.104 000.104: require('luasnip.extras') -266.061 000.084 000.084: require('luasnip.util.str') -266.070 000.187 000.103: require('luasnip.extras.fmt') -266.166 000.089 000.089: require('luasnip.extras.expand_conditions') -266.477 000.098 000.098: require('luasnip.util.parser.neovim_ast') -279.924 000.122 000.122: require('luasnip.util.directed_graph') -279.941 013.672 013.452: require('luasnip.util.parser.ast_utils') -280.168 000.093 000.093: require('luasnip.util.functions') -280.187 000.238 000.145: require('luasnip.util.parser.ast_parser') -280.414 000.221 000.221: require('luasnip.util.parser.neovim_parser') -280.432 014.256 000.125: require('luasnip.util.parser') -280.551 000.113 000.113: require('luasnip.nodes.absolute_indexer') -281.168 019.368 000.886: require('luasnip.config') -281.363 019.881 000.514: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -282.264 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -283.237 000.123 000.123: require('indent_blankline/utils') -283.246 000.329 000.206: require('indent_blankline') -283.723 000.159 000.159: require('indent_blankline.commands') -283.889 001.158 000.670: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -284.318 000.120 000.120: require('lsp-colors') -284.791 000.644 000.524: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -286.230 001.057 001.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -287.117 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -287.689 000.109 000.109: require('cmp.utils.api') -287.867 000.085 000.085: require('cmp.types.cmp') -288.082 000.103 000.103: require('cmp.utils.misc') -288.116 000.242 000.139: require('cmp.types.lsp') -288.203 000.080 000.080: require('cmp.types.vim') -288.209 000.511 000.103: require('cmp.types') -288.300 000.087 000.087: require('cmp.utils.highlight') -288.468 000.075 000.075: require('cmp.utils.debug') -288.487 000.180 000.104: require('cmp.utils.autocmd') -289.175 001.687 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -289.438 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -289.877 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -290.371 000.202 000.202: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -291.056 000.093 000.093: require('nvim-treesitter.statusline') -291.170 000.105 000.105: require('nvim-treesitter.query_predicates') -291.177 000.314 000.116: require('nvim-treesitter') -292.449 000.351 000.351: require('vim.treesitter.highlighter') -292.800 000.880 000.529: require('nvim-treesitter.highlight') -293.462 002.680 001.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -293.983 000.281 000.281: require('treesitter-context') -293.994 000.339 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -294.391 000.113 000.113: require('nvim-treesitter-refactor') -294.702 000.452 000.339: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -295.066 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -295.444 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -295.810 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -296.594 000.435 000.435: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -296.954 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -297.994 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -298.775 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -299.392 000.369 000.369: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -300.231 000.595 000.595: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -300.559 000.031 000.031: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -300.840 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -302.316 010.862: loading packages -304.000 000.477 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -308.385 005.527 005.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -309.211 000.138 000.138: require('cmp.utils.char') -309.226 000.246 000.108: require('cmp.utils.str') -309.320 000.084 000.084: require('cmp.utils.pattern') -309.610 000.079 000.079: require('cmp.utils.buffer') -309.623 000.201 000.121: require('cmp.utils.keymap') -309.635 000.307 000.107: require('cmp.utils.feedkeys') -309.744 000.104 000.104: require('cmp.utils.async') -309.917 000.078 000.078: require('cmp.utils.cache') -309.929 000.177 000.100: require('cmp.context') -310.244 000.102 000.102: require('cmp.config.mapping') -310.511 000.110 000.110: require('cmp.config.compare') -310.519 000.263 000.153: require('cmp.config.default') -310.547 000.500 000.136: require('cmp.config') -310.761 000.084 000.084: require('cmp.matcher') -310.780 000.227 000.142: require('cmp.entry') -310.799 000.864 000.138: require('cmp.source') -310.988 000.084 000.084: require('cmp.utils.event') -311.203 000.111 000.111: require('cmp.utils.window') -311.211 000.215 000.103: require('cmp.view.docs_view') -311.357 000.142 000.142: require('cmp.view.custom_entries_view') -311.490 000.126 000.126: require('cmp.view.wildmenu_entries_view') -311.604 000.107 000.107: require('cmp.view.native_entries_view') -311.710 000.100 000.100: require('cmp.view.ghost_text_view') -311.727 000.924 000.150: require('cmp.view') -311.803 002.979 000.272: require('cmp.core') -312.217 000.087 000.087: require('cmp.config.sources') -312.306 000.080 000.080: require('cmp.config.window') -312.410 003.722 000.577: require('cmp') -312.773 000.080 000.080: require('cmp_buffer.timer') -312.784 000.190 000.110: require('cmp_buffer.buffer') -312.790 000.291 000.101: require('cmp_buffer.source') -312.794 000.377 000.086: require('cmp_buffer') -312.824 004.222 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -313.238 000.172 000.172: require('cmp_cmdline') -313.309 000.311 000.139: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -313.744 000.113 000.113: require('cmp_nvim_lsp.source') -313.752 000.215 000.102: require('cmp_nvim_lsp') -313.803 000.339 000.125: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -314.151 000.135 000.135: require('cmp_path') -314.182 000.229 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -314.508 000.108 000.108: require('cmp_luasnip') -314.576 000.248 000.140: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -314.766 001.573: loading after plugins -314.793 000.027: inits 3 -314.807 000.013: reading ShaDa -315.224 000.089 000.089: require('luasnip.loaders._caches') -315.359 000.126 000.126: require('luasnip.util.path') -315.478 000.111 000.111: require('luasnip.loaders.util') -315.758 000.127 000.127: require('luasnip.loaders') -315.808 000.320 000.193: require('luasnip') -315.817 000.790 000.144: require('luasnip.loaders.from_lua') -316.103 000.118 000.118: require('luasnip.nodes.snippetProxy') -316.113 000.248 000.130: require('luasnip.loaders.from_snipmate') -316.273 000.116 000.116: require('luasnip.loaders.from_vscode') -316.685 000.723: opening buffers -316.958 000.273: BufEnter autocommands -316.964 000.006: editing files in windows -332.727 000.884 000.884: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.446 001.446: --- NVIM STARTING --- -034.391 032.946: event init -053.253 018.862: early init -055.138 001.885: locale set -061.173 006.035: init first window -072.093 010.921: inits 1 -072.119 000.025: window checked -072.127 000.008: parsing arguments -084.299 000.253 000.253: require('vim.shared') -084.825 000.245 000.245: require('vim._meta') -084.838 000.515 000.270: require('vim._editor') -084.846 000.907 000.138: require('vim._init_packages') -084.854 011.820: init lua interpreter -085.014 000.160: expanding arguments -086.871 001.857: inits 2 -088.296 001.425: init highlight -088.307 000.011: waiting for UI -091.281 002.974: done waiting for UI -091.320 000.039: init screen for UI -091.587 000.268: init default mappings -091.617 000.029: init default autocommands -105.862 004.615 004.615: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/ftplugin.vim -109.042 001.072 001.072: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/indent.vim -109.527 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim -109.553 000.203 000.145: sourcing /etc/xdg/nvim/sysinit.vim -124.517 008.169 008.169: require('keys') -127.624 003.092 003.092: require('opts') -131.344 000.876 000.876: require('packer.util') -131.441 003.319 002.443: require('packer') -134.792 001.317 001.317: require('packer.log') -134.809 002.095 000.778: require('packer.async') -135.940 000.481 000.481: require('packer.result') -135.957 001.143 000.661: require('packer.jobs') -135.990 004.473 001.236: require('packer.plugin_utils') -137.171 001.140 001.140: require('packer.snapshot') -138.112 010.477 001.545: require('pack') -174.631 004.832 004.832: require('vim.treesitter.language') -174.731 034.723 029.891: require('vim.treesitter.query') -182.498 001.394 001.394: require('vim.treesitter.languagetree') -182.620 003.179 001.784: require('vim.treesitter') -182.807 005.430 002.251: require('nvim-treesitter.parsers') -183.323 000.510 000.510: require('nvim-treesitter.utils') -183.337 007.243 001.303: require('nvim-treesitter.ts_utils') -183.347 008.606 001.362: require('nvim-treesitter.tsrange') -183.675 000.325 000.325: require('nvim-treesitter.caching') -183.693 044.437 000.783: require('nvim-treesitter.query') -183.713 045.495 001.058: require('nvim-treesitter.configs') -185.283 000.496 000.496: require('nvim-treesitter.info') -185.901 000.611 000.611: require('nvim-treesitter.shell_command_selectors') -185.950 002.216 001.109: require('nvim-treesitter.install') -226.316 088.194 040.483: require('plugins.treesitter') -228.281 000.510 000.510: require('telescope._extensions') -228.291 001.388 000.878: require('telescope') -233.980 000.661 000.661: require('plenary.bit') -234.407 000.418 000.418: require('plenary.functional') -234.465 000.034 000.034: require('ffi') -234.502 002.597 001.485: require('plenary.path') -234.518 003.286 000.689: require('plenary.strings') -234.981 000.459 000.459: require('telescope.deprecated') -237.389 000.899 000.899: require('plenary.log') -237.465 001.393 000.494: require('telescope.log') -239.791 000.910 000.910: require('plenary.job') -240.261 000.462 000.462: require('telescope.state') -240.275 002.804 001.432: require('telescope.utils') -240.286 005.300 001.103: require('telescope.sorters') -240.377 000.064 000.064: require('vim.inspect') -240.801 000.009 000.009: require('vim.F') -243.617 013.288 004.171: require('telescope.config') -245.047 000.635 000.635: require('plenary.window.border') -245.396 000.343 000.343: require('plenary.window') -245.741 000.339 000.339: require('plenary.popup.utils') -245.751 002.123 000.807: require('plenary.popup') -246.288 000.534 000.534: require('telescope.pickers.scroller') -246.712 000.418 000.418: require('telescope.actions.state') -247.221 000.504 000.504: require('telescope.actions.utils') -248.426 000.575 000.575: require('telescope.actions.mt') -248.453 001.226 000.652: require('telescope.actions.set') -249.553 000.570 000.570: require('telescope.config.resolve') -249.638 001.181 000.611: require('telescope.pickers.entry_display') -250.094 000.451 000.451: require('telescope.from_entry') -250.351 022.055 002.330: require('telescope.actions') -254.012 000.350 000.350: require('plenary.tbl') -254.026 000.776 000.426: require('plenary.vararg.rotate') -254.030 001.103 000.327: require('plenary.vararg') -254.379 000.345 000.345: require('plenary.errors') -254.392 001.900 000.451: require('plenary.async.async') -254.792 000.396 000.396: require('plenary.async.structs') -254.807 002.825 000.529: require('plenary.async.control') -257.266 001.853 001.853: require('telescope.make_entry') -258.923 000.455 000.455: require('plenary.async.util') -258.934 000.802 000.347: require('plenary.async.tests') -258.939 001.187 000.385: require('plenary.async') -258.944 001.672 000.485: require('telescope.finders.async_static_finder') -260.499 000.373 000.373: require('plenary.class') -260.528 001.112 000.739: require('telescope._') -260.533 001.586 000.474: require('telescope.finders.async_oneshot_finder') -261.012 000.476 000.476: require('telescope.finders.async_job_finder') -261.026 006.214 000.628: require('telescope.finders') -263.707 000.618 000.618: require('telescope.debounce') -264.575 000.861 000.861: require('telescope.mappings') -265.147 000.563 000.563: require('telescope.pickers.highlights') -265.602 000.448 000.448: require('telescope.pickers.window') -266.839 000.597 000.597: require('telescope.algos.linked_list') -266.852 001.244 000.647: require('telescope.entry_manager') -267.303 000.447 000.447: require('telescope.pickers.multi') -267.343 006.314 002.133: require('telescope.pickers') -267.363 016.250 000.898: require('telescope.builtin.__lsp') -267.438 017.081 000.831: require('telescope.builtin') -268.963 000.874 000.874: require('fzf_lib') -268.976 001.531 000.657: require('telescope._extensions.fzf') -271.538 000.669 000.669: require('telescope._extensions.file_browser.utils') -271.680 002.230 001.561: require('telescope._extensions.file_browser.actions') -273.005 000.728 000.728: require('telescope._extensions.file_browser.make_entry') -274.099 001.086 001.086: require('plenary.scandir') -274.156 002.470 000.656: require('telescope._extensions.file_browser.finders') -274.619 000.457 000.457: require('telescope._extensions.file_browser.picker') -275.155 000.530 000.530: require('telescope._extensions.file_browser.config') -275.162 006.170 000.482: require('telescope._extensions.file_browser') -278.191 000.015 000.015: require('vim.keymap') -278.481 052.148 003.907: require('plugins.telescope') -285.455 000.308 000.308: require('notify.util.queue') -285.467 000.754 000.445: require('notify.util') -285.896 000.425 000.425: require('notify.config.highlights') -285.906 001.633 000.454: require('notify.config') -286.199 000.289 000.289: require('notify.stages') -286.532 000.328 000.328: require('notify.service.notification') -287.750 000.370 000.370: require('notify.animate.spring') -287.757 000.655 000.286: require('notify.animate') -287.764 001.227 000.571: require('notify.windows') -289.020 000.462 000.462: require('notify.service.buffer.highlights') -289.029 000.888 000.426: require('notify.service.buffer') -289.034 001.267 000.380: require('notify.service') -289.541 000.504 000.504: require('notify.stages.util') -289.551 005.996 000.749: require('notify') -289.891 000.337 000.337: require('nvim-tree.iterators.node-iterator') -289.949 007.136 000.803: require('nvim-tree.utils') -289.961 007.521 000.385: require('nvim-tree.events') -291.151 000.375 000.375: require('nvim-tree.log') -291.600 000.442 000.442: require('nvim-tree.git.utils') -292.069 000.463 000.463: require('nvim-tree.git.runner') -292.502 000.427 000.427: require('nvim-tree.watcher') -292.512 002.201 000.494: require('nvim-tree.git') -292.881 000.365 000.365: require('nvim-tree.explorer.watch') -293.219 000.332 000.332: require('nvim-tree.explorer.common') -293.979 000.387 000.387: require('nvim-tree.explorer.node-builders') -294.448 000.427 000.427: require('nvim-tree.explorer.sorters') -294.804 000.350 000.350: require('nvim-tree.explorer.filters') -296.091 000.838 000.838: require('nvim-tree.view') -296.102 001.293 000.455: require('nvim-tree.live-filter') -296.108 002.883 000.427: require('nvim-tree.explorer.explore') -296.528 000.417 000.417: require('nvim-tree.explorer.reload') -296.536 006.571 000.373: require('nvim-tree.explorer') -296.542 014.417 000.324: require('nvim-tree.core') -297.024 000.478 000.478: require('nvim-tree.diagnostics') -297.445 000.416 000.416: require('nvim-tree.renderer.components.padding') -297.856 000.406 000.406: require('nvim-tree.renderer.components.icons') -298.237 000.375 000.375: require('nvim-tree.renderer.components.full-name') -298.610 000.367 000.367: require('nvim-tree.renderer.help') -299.064 000.448 000.448: require('nvim-tree.renderer.components.git') -299.738 000.670 000.670: require('nvim-tree.renderer.builder') -300.117 000.372 000.372: require('nvim-tree.marks') -300.132 018.530 000.582: require('nvim-tree.renderer') -300.461 000.320 000.320: require('nvim-tree.actions.tree-modifiers.collapse-all') -300.771 000.305 000.305: require('nvim-tree.actions.root.dir-up') -301.187 000.412 000.412: require('nvim-tree.actions.root.change-dir') -301.543 000.350 000.350: require('nvim-tree.actions.reloaders.reloaders') -301.898 000.348 000.348: require('nvim-tree.actions.finders.find-file') -301.903 020.827 000.561: require('nvim-tree.lib') -302.310 000.402 000.402: require('nvim-tree.colors') -302.938 000.622 000.622: require('nvim-tree.legacy') -303.510 000.566 000.566: require('nvim-tree.actions.fs.copy-paste') -304.307 000.377 000.377: require('nvim-tree.actions.tree-modifiers.expand-all') -304.608 000.295 000.295: require('nvim-tree.actions.tree-modifiers.toggles') -305.033 000.418 000.418: require('nvim-tree.actions.fs.create-file') -305.373 000.335 000.335: require('nvim-tree.actions.fs.rename-file') -305.812 000.433 000.433: require('nvim-tree.actions.fs.trash') -306.212 000.394 000.394: require('nvim-tree.actions.fs.remove-file') -306.534 000.316 000.316: require('nvim-tree.actions.moves.parent') -306.873 000.333 000.333: require('nvim-tree.actions.moves.sibling') -307.195 000.316 000.316: require('nvim-tree.actions.moves.item') -307.593 000.389 000.389: require('nvim-tree.actions.finders.search-node') -307.893 000.293 000.293: require('nvim-tree.actions.node.run-command') -308.255 000.357 000.357: require('nvim-tree.actions.node.file-popup') -308.639 000.379 000.379: require('nvim-tree.actions.node.system-open') -308.972 000.327 000.327: require('nvim-tree.marks.bulk-move') -308.979 005.461 000.499: require('nvim-tree.actions.dispatch') -309.002 030.359 002.482: require('nvim-tree') -309.279 000.272 000.272: require('nvim-tree.config') -313.941 000.732 000.732: require('nvim-tree.actions') -314.588 000.636 000.636: require('nvim-tree.actions.node.open-file') -319.150 000.373 000.373: require('nvim-tree.marks.navigation') -319.161 000.910 000.538: require('nvim-tree.api') -319.173 001.467 000.556: require('nvim-tree.keymap') -321.363 001.634 001.634: require('nvim-web-devicons') -325.370 046.882 011.781: require('plugins.nvim-tree') -326.951 000.407 000.407: require('lualine_require') -327.467 001.916 001.508: require('lualine') -327.617 000.143 000.143: require('plugins.linecolor') -332.743 000.275 000.275: require('lualine.utils.mode') -339.312 013.933 011.599: require('plugins.lualine') -339.349 229.696 006.802: sourcing /home/sxrdusr/.config/nvim/init.lua -339.368 012.165: sourcing vimrc file(s) -339.660 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -348.941 007.971 007.971: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.lua -350.389 001.116 001.116: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/filetype.vim -352.816 000.289 000.289: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/synload.vim -353.026 001.998 001.709: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/syntax/syntax.vim -362.102 002.096 002.096: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/gzip.vim -362.366 000.082 000.082: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/health.vim -365.926 002.326 002.326: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -366.374 003.940 001.614: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchit.vim -366.845 000.408 000.408: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/matchparen.vim -366.988 000.075 000.075: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/netrwPlugin.vim -367.396 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -367.417 000.366 000.342: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/rplugin.vim -367.690 000.199 000.199: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/shada.vim -367.917 000.107 000.107: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/spellfile.vim -368.083 000.077 000.077: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tarPlugin.vim -368.210 000.061 000.061: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tohtml.vim -368.322 000.049 000.049: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/tutor.vim -369.032 000.646 000.646: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/zipPlugin.vim -369.289 000.036 000.036: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -376.726 005.767 005.767: require('lspsaga') -378.402 000.532 000.532: require('lspsaga.window') -378.422 001.147 000.615: require('lspsaga.libs') -389.942 001.342 001.342: require('vim.lsp.log') -392.272 002.318 002.318: require('vim.lsp.protocol') -401.933 003.948 003.948: require('vim.lsp._snippet') -403.138 001.193 001.193: require('vim.highlight') -403.242 010.961 005.820: require('vim.lsp.util') -403.387 018.830 004.210: require('vim.lsp.handlers') -405.766 002.373 002.373: require('vim.lsp.rpc') -407.189 001.413 001.413: require('vim.lsp.sync') -409.652 002.454 002.454: require('vim.lsp.buf') -410.617 000.956 000.956: require('vim.lsp.diagnostic') -411.642 001.017 001.017: require('vim.lsp.codelens') -411.828 032.776 005.732: require('vim.lsp') -412.130 000.294 000.294: require('lspsaga.wrap') -412.144 033.717 000.648: require('lspsaga.codeaction') -412.193 035.457 000.593: require('lspsaga.lightbulb') -412.561 000.325 000.325: require('lspsaga.lspkind') -413.496 000.317 000.317: require('mason-core.path') -413.516 000.581 000.264: require('mason.settings') -414.437 000.214 000.214: require('mason-core.functional.data') -414.448 000.531 000.317: require('mason-core.functional.function') -414.490 000.970 000.440: require('mason-core.platform') -414.496 001.923 000.371: require('mason') -415.290 000.369 000.369: require('mason-core.functional') -415.678 000.368 000.368: require('mason-core.functional.list') -415.717 001.197 000.461: require('mason.api.command') -416.606 000.463 000.463: require('mason-core.log') -416.615 000.893 000.430: require('mason-lspconfig') -416.821 000.202 000.202: require('mason-lspconfig.settings') -417.142 000.303 000.303: require('mason-lspconfig.lspconfig_hook') -418.153 001.006 001.006: require('lspconfig.util') -418.901 000.238 000.238: require('mason-core.functional.table') -419.004 000.655 000.418: require('mason-lspconfig.mappings.server') -420.276 000.481 000.481: require('mason-core.async') -420.497 000.214 000.214: require('mason-core.async.uv') -420.511 001.074 000.379: require('mason-core.fs') -420.786 000.271 000.271: require('mason-core.optional') -421.104 000.313 000.313: require('mason-core.EventEmitter') -421.522 000.412 000.412: require('mason-registry.index') -421.542 002.532 000.462: require('mason-registry') -421.738 000.191 000.191: require('mason-lspconfig.server_config_extensions') -422.345 000.601 000.601: require('lspconfig.configs') -422.688 000.337 000.337: require('lspconfig.server_configurations.omnisharp') -422.997 000.230 000.230: require('mason-lspconfig.ensure_installed') -424.154 000.316 000.316: require('mason-core.result') -425.593 000.568 000.568: require('mason-core.process') -425.846 000.244 000.244: require('mason-core.functional.relation') -426.105 000.249 000.249: require('mason-core.functional.logic') -426.120 001.428 000.367: require('mason-core.spawn') -426.454 000.329 000.329: require('mason-core.receipt') -426.731 000.262 000.262: require('mason-core.functional.string') -426.762 002.602 000.582: require('mason-core.installer.context') -427.049 000.282 000.282: require('mason-core.installer.linker') -427.332 000.278 000.278: require('mason-core.async.control') -427.342 003.909 000.431: require('mason-core.installer') -427.790 000.445 000.445: require('mason-core.installer.handle') -429.210 000.257 000.257: require('mason-core.managers.powershell') -429.217 000.596 000.339: require('mason-core.fetch') -429.221 000.800 000.204: require('mason-core.managers.cargo.client') -429.295 001.234 000.434: require('mason-core.managers.cargo') -429.685 000.384 000.384: require('mason-core.managers.composer') -430.162 000.472 000.472: require('mason-core.managers.gem') -430.485 000.316 000.316: require('mason-core.managers.git') -431.314 000.415 000.415: require('mason-core.managers.std') -431.638 000.318 000.318: require('mason-core.managers.github.client') -431.650 001.160 000.427: require('mason-core.managers.github') -432.174 000.520 000.520: require('mason-core.managers.go') -432.583 000.402 000.402: require('mason-core.managers.luarocks') -432.980 000.391 000.391: require('mason-core.managers.npm') -433.412 000.426 000.426: require('mason-core.managers.pip3') -433.421 005.623 000.317: require('mason-core.package.version-check') -433.431 010.428 000.451: require('mason-core.package') -433.830 000.366 000.366: require('mason-registry.lua-language-server') -434.422 000.329 000.329: require('mason-registry.clangd') -434.839 000.397 000.397: require('mason-registry.rust-analyzer') -435.484 000.210 000.210: require('mason-core.notify') -435.716 000.224 000.224: require('mason-core.functional.number') -435.772 000.908 000.473: require('mason-lspconfig.api.command') -435.779 066.357 002.308: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -439.475 002.338 002.338: sourcing /tmp/.mount_nvimiDDPJE/usr/share/nvim/runtime/plugin/man.lua -439.843 012.502: loading rtp plugins -442.029 000.114 000.114: require('Comment.config') -442.422 000.385 000.385: require('Comment.utils') -442.685 000.256 000.256: require('Comment.opfunc') -442.851 000.160 000.160: require('Comment.extra') -442.866 001.436 000.520: require('Comment.api') -443.317 001.976 000.541: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -444.238 000.106 000.106: require('luasnip.util.types') -444.437 000.191 000.191: require('luasnip.util.ext_opts') -444.592 000.150 000.150: require('luasnip.extras.filetype_functions') -444.701 000.103 000.103: require('luasnip.session') -445.990 000.652 000.652: require('luasnip.util.util') -446.208 000.211 000.211: require('luasnip.nodes.util') -446.297 000.083 000.083: require('luasnip.util.events') -446.313 001.341 000.396: require('luasnip.nodes.node') -446.475 000.118 000.118: require('luasnip.util.extend_decorator') -446.488 001.780 000.321: require('luasnip.nodes.insertNode') -447.282 000.230 000.230: require('luasnip.util.mark') -448.571 000.146 000.146: require('luasnip.nodes.textNode') -449.775 000.953 000.953: require('luasnip.util._builtin_vars') -450.037 001.457 000.505: require('luasnip.util.environ') -450.246 000.202 000.202: require('luasnip.util.pattern_tokenizer') -450.380 000.128 000.128: require('luasnip.util.dict') -450.730 000.343 000.343: require('luasnip.session.snippet_collection') -450.829 003.540 001.263: require('luasnip.nodes.snippet') -450.849 004.357 000.587: require('luasnip.nodes.choiceNode') -451.126 000.254 000.254: require('luasnip.nodes.functionNode') -451.619 000.452 000.452: require('luasnip.nodes.dynamicNode') -451.977 000.351 000.351: require('luasnip.nodes.restoreNode') -452.271 000.288 000.288: require('luasnip.extras') -452.718 000.171 000.171: require('luasnip.util.str') -452.728 000.449 000.278: require('luasnip.extras.fmt') -452.808 000.077 000.077: require('luasnip.extras.expand_conditions') -453.711 000.215 000.215: require('luasnip.util.parser.neovim_ast') -458.522 000.207 000.207: require('luasnip.util.directed_graph') -458.539 005.513 005.091: require('luasnip.util.parser.ast_utils') -459.047 000.120 000.120: require('luasnip.util.functions') -459.063 000.520 000.400: require('luasnip.util.parser.ast_parser') -459.638 000.572 000.572: require('luasnip.util.parser.neovim_parser') -459.651 006.836 000.232: require('luasnip.util.parser') -459.756 000.101 000.101: require('luasnip.nodes.absolute_indexer') -460.442 016.621 001.125: require('luasnip.config') -460.594 017.096 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -461.486 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -463.733 000.544 000.544: require('indent_blankline/utils') -463.745 001.635 001.091: require('indent_blankline') -464.372 000.237 000.237: require('indent_blankline.commands') -464.543 002.607 000.734: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -465.254 000.402 000.402: require('lsp-colors') -465.702 000.898 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -466.844 000.759 000.759: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -467.709 000.416 000.416: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -468.674 000.425 000.425: require('cmp.utils.api') -469.191 000.266 000.266: require('cmp.types.cmp') -470.001 000.463 000.463: require('cmp.utils.misc') -470.060 000.862 000.399: require('cmp.types.lsp') -470.289 000.224 000.224: require('cmp.types.vim') -470.295 001.614 000.262: require('cmp.types') -470.561 000.263 000.263: require('cmp.utils.highlight') -471.101 000.238 000.238: require('cmp.utils.debug') -471.116 000.550 000.312: require('cmp.utils.autocmd') -471.737 003.659 000.807: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -472.001 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -472.457 000.142 000.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -473.092 000.330 000.330: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -474.378 000.356 000.356: require('nvim-treesitter.statusline') -474.870 000.486 000.486: require('nvim-treesitter.query_predicates') -474.878 001.286 000.445: require('nvim-treesitter') -479.565 003.214 003.214: require('vim.treesitter.highlighter') -479.952 004.226 001.012: require('nvim-treesitter.highlight') -480.541 007.035 001.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -482.236 001.440 001.440: require('treesitter-context') -482.247 001.482 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -483.082 000.547 000.547: require('nvim-treesitter-refactor') -483.498 000.991 000.444: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -483.892 000.124 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -484.296 000.085 000.085: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -484.629 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -485.454 000.430 000.430: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -485.825 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -486.950 000.637 000.637: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -487.796 000.557 000.557: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -488.430 000.375 000.375: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -489.286 000.600 000.600: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -489.580 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -489.862 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -491.430 011.024: loading packages -493.086 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -497.379 005.411 004.941: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -500.257 000.501 000.501: require('cmp.utils.char') -500.273 000.919 000.418: require('cmp.utils.str') -500.546 000.269 000.269: require('cmp.utils.pattern') -501.678 000.247 000.247: require('cmp.utils.buffer') -501.690 000.802 000.554: require('cmp.utils.keymap') -501.702 001.149 000.348: require('cmp.utils.feedkeys') -502.073 000.368 000.368: require('cmp.utils.async') -502.672 000.260 000.260: require('cmp.utils.cache') -502.681 000.601 000.341: require('cmp.context') -504.215 000.421 000.421: require('cmp.config.mapping') -505.148 000.576 000.576: require('cmp.config.compare') -505.155 000.931 000.355: require('cmp.config.default') -505.188 001.869 000.517: require('cmp.config') -506.646 000.505 000.505: require('cmp.matcher') -506.659 001.467 000.962: require('cmp.entry') -506.671 003.987 000.652: require('cmp.source') -507.468 000.270 000.270: require('cmp.utils.event') -508.541 000.609 000.609: require('cmp.utils.window') -508.550 001.039 000.430: require('cmp.view.docs_view') -509.426 000.873 000.873: require('cmp.view.custom_entries_view') -510.050 000.618 000.618: require('cmp.view.wildmenu_entries_view') -510.582 000.526 000.526: require('cmp.view.native_entries_view') -510.984 000.394 000.394: require('cmp.view.ghost_text_view') -511.006 004.332 000.612: require('cmp.view') -511.082 012.635 001.010: require('cmp.core') -511.722 000.253 000.253: require('cmp.config.sources') -511.975 000.245 000.245: require('cmp.config.window') -512.091 014.421 001.288: require('cmp') -513.095 000.131 000.131: require('cmp_buffer.timer') -513.109 000.631 000.500: require('cmp_buffer.buffer') -513.124 000.906 000.274: require('cmp_buffer.source') -513.128 001.032 000.126: require('cmp_buffer') -513.165 015.538 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -513.841 000.456 000.456: require('cmp_cmdline') -513.874 000.532 000.076: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -514.568 000.254 000.254: require('cmp_nvim_lsp.source') -514.576 000.508 000.254: require('cmp_nvim_lsp') -514.632 000.604 000.096: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -515.335 000.509 000.509: require('cmp_path') -515.377 000.588 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -515.975 000.377 000.377: require('cmp_luasnip') -516.048 000.514 000.137: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -516.202 001.586: loading after plugins -516.230 000.028: inits 3 -516.270 000.040: reading ShaDa -516.927 000.117 000.117: require('luasnip.loaders._caches') -517.217 000.282 000.282: require('luasnip.util.path') -517.595 000.372 000.372: require('luasnip.loaders.util') -518.720 000.249 000.249: require('luasnip.loaders') -518.763 001.161 000.912: require('luasnip') -518.773 002.250 000.318: require('luasnip.loaders.from_lua') -519.505 000.161 000.161: require('luasnip.nodes.snippetProxy') -519.520 000.565 000.403: require('luasnip.loaders.from_snipmate') -519.981 000.416 000.416: require('luasnip.loaders.from_vscode') -521.013 001.514: opening buffers -521.250 000.236: BufEnter autocommands -521.256 000.007: editing files in windows -541.936 005.547 005.547: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.130 001.130: --- NVIM STARTING --- -028.662 027.532: event init -045.564 016.901: early init -047.354 001.791: locale set -053.076 005.722: init first window -063.419 010.343: inits 1 -063.444 000.025: window checked -063.452 000.008: parsing arguments -075.453 000.269 000.269: require('vim.shared') -075.970 000.243 000.243: require('vim._meta') -075.984 000.508 000.265: require('vim._editor') -075.992 000.906 000.129: require('vim._init_packages') -075.999 011.641: init lua interpreter -076.163 000.165: expanding arguments -078.127 001.963: inits 2 -079.512 001.385: init highlight -079.523 000.011: waiting for UI -082.429 002.906: done waiting for UI -082.481 000.051: init screen for UI -082.734 000.253: init default mappings -082.761 000.027: init default autocommands -096.037 004.070 004.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/ftplugin.vim -098.005 000.870 000.870: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/indent.vim -098.228 000.026 000.026: sourcing /usr/share/nvim/archlinux.vim -098.239 000.082 000.056: sourcing /etc/xdg/nvim/sysinit.vim -106.098 004.759 004.759: require('keys') -108.429 002.320 002.320: require('opts') -110.994 000.525 000.525: require('packer.util') -111.051 002.259 001.734: require('packer') -113.022 000.703 000.703: require('packer.log') -113.033 001.190 000.487: require('packer.async') -114.010 000.399 000.399: require('packer.result') -114.019 000.983 000.584: require('packer.jobs') -114.037 002.940 000.767: require('packer.plugin_utils') -114.709 000.650 000.650: require('packer.snapshot') -115.767 007.330 001.481: require('pack') -122.285 001.983 001.983: require('vim.treesitter.language') -122.321 004.812 002.828: require('vim.treesitter.query') -127.167 001.367 001.367: require('vim.treesitter.languagetree') -127.282 002.610 001.243: require('vim.treesitter') -127.465 003.928 001.318: require('nvim-treesitter.parsers') -127.973 000.502 000.502: require('nvim-treesitter.utils') -127.986 005.169 000.738: require('nvim-treesitter.ts_utils') -127.995 005.670 000.501: require('nvim-treesitter.tsrange') -128.361 000.362 000.362: require('nvim-treesitter.caching') -128.381 011.616 000.772: require('nvim-treesitter.query') -128.399 012.541 000.926: require('nvim-treesitter.configs') -129.960 000.492 000.492: require('nvim-treesitter.info') -130.546 000.578 000.578: require('nvim-treesitter.shell_command_selectors') -130.590 002.170 001.100: require('nvim-treesitter.install') -169.623 053.848 039.137: require('plugins.treesitter') -170.997 000.453 000.453: require('telescope._extensions') -171.008 000.966 000.513: require('telescope') -176.579 000.682 000.682: require('plenary.bit') -177.000 000.412 000.412: require('plenary.functional') -177.065 000.045 000.045: require('ffi') -177.103 002.623 001.485: require('plenary.path') -177.117 003.190 000.567: require('plenary.strings') -177.539 000.418 000.418: require('telescope.deprecated') -179.950 000.907 000.907: require('plenary.log') -180.034 001.388 000.481: require('telescope.log') -182.278 000.962 000.962: require('plenary.job') -182.711 000.423 000.423: require('telescope.state') -182.730 002.690 001.304: require('telescope.utils') -182.741 005.196 001.118: require('telescope.sorters') -182.830 000.070 000.070: require('vim.inspect') -183.420 000.009 000.009: require('vim.F') -186.156 013.120 004.238: require('telescope.config') -187.621 000.692 000.692: require('plenary.window.border') -187.974 000.344 000.344: require('plenary.window') -188.373 000.393 000.393: require('plenary.popup.utils') -188.389 002.223 000.794: require('plenary.popup') -188.911 000.516 000.516: require('telescope.pickers.scroller') -189.373 000.455 000.455: require('telescope.actions.state') -189.899 000.520 000.520: require('telescope.actions.utils') -191.115 000.591 000.591: require('telescope.actions.mt') -191.142 001.237 000.646: require('telescope.actions.set') -192.310 000.591 000.591: require('telescope.config.resolve') -192.455 001.309 000.718: require('telescope.pickers.entry_display') -192.880 000.420 000.420: require('telescope.from_entry') -193.232 022.221 002.421: require('telescope.actions') -196.969 000.355 000.355: require('plenary.tbl') -196.980 000.779 000.424: require('plenary.vararg.rotate') -196.983 001.106 000.327: require('plenary.vararg') -197.327 000.340 000.340: require('plenary.errors') -197.336 001.903 000.457: require('plenary.async.async') -197.766 000.426 000.426: require('plenary.async.structs') -197.780 002.921 000.592: require('plenary.async.control') -200.322 001.961 001.961: require('telescope.make_entry') -202.215 000.477 000.477: require('plenary.async.util') -202.224 000.921 000.444: require('plenary.async.tests') -202.229 001.339 000.419: require('plenary.async') -202.234 001.903 000.563: require('telescope.finders.async_static_finder') -204.011 000.466 000.466: require('plenary.class') -204.053 001.282 000.816: require('telescope._') -204.059 001.822 000.540: require('telescope.finders.async_oneshot_finder') -204.571 000.509 000.509: require('telescope.finders.async_job_finder') -204.589 006.805 000.611: require('telescope.finders') -207.500 000.676 000.676: require('telescope.debounce') -208.415 000.901 000.901: require('telescope.mappings') -209.040 000.615 000.615: require('telescope.pickers.highlights') -209.508 000.460 000.460: require('telescope.pickers.window') -210.723 000.587 000.587: require('telescope.algos.linked_list') -210.737 001.223 000.636: require('telescope.entry_manager') -211.200 000.458 000.458: require('telescope.pickers.multi') -211.247 006.653 002.320: require('telescope.pickers') -211.270 017.287 000.908: require('telescope.builtin.__lsp') -211.337 018.097 000.809: require('telescope.builtin') -212.713 000.700 000.700: require('fzf_lib') -212.727 001.383 000.682: require('telescope._extensions.fzf') -215.338 000.735 000.735: require('telescope._extensions.file_browser.utils') -215.473 002.261 001.526: require('telescope._extensions.file_browser.actions') -216.814 000.755 000.755: require('telescope._extensions.file_browser.make_entry') -217.929 001.107 001.107: require('plenary.scandir') -217.978 002.498 000.636: require('telescope._extensions.file_browser.finders') -218.472 000.489 000.489: require('telescope._extensions.file_browser.picker') -219.064 000.585 000.585: require('telescope._extensions.file_browser.config') -219.072 006.331 000.498: require('telescope._extensions.file_browser') -222.320 000.022 000.022: require('vim.keymap') -222.663 053.030 004.011: require('plugins.telescope') -229.348 000.311 000.311: require('notify.util.queue') -229.360 000.746 000.436: require('notify.util') -229.801 000.437 000.437: require('notify.config.highlights') -229.811 001.652 000.469: require('notify.config') -230.096 000.281 000.281: require('notify.stages') -230.429 000.328 000.328: require('notify.service.notification') -231.660 000.387 000.387: require('notify.animate.spring') -231.668 000.673 000.287: require('notify.animate') -231.676 001.241 000.568: require('notify.windows') -232.939 000.468 000.468: require('notify.service.buffer.highlights') -232.950 000.892 000.424: require('notify.service.buffer') -232.955 001.276 000.383: require('notify.service') -233.458 000.500 000.500: require('notify.stages.util') -233.469 005.847 000.570: require('notify') -233.816 000.343 000.343: require('nvim-tree.iterators.node-iterator') -233.876 007.006 000.816: require('nvim-tree.utils') -233.888 007.404 000.398: require('nvim-tree.events') -235.090 000.396 000.396: require('nvim-tree.log') -235.550 000.452 000.452: require('nvim-tree.git.utils') -236.022 000.467 000.467: require('nvim-tree.git.runner') -236.460 000.431 000.431: require('nvim-tree.watcher') -236.471 002.238 000.492: require('nvim-tree.git') -236.846 000.372 000.372: require('nvim-tree.explorer.watch') -237.192 000.340 000.340: require('nvim-tree.explorer.common') -237.942 000.374 000.374: require('nvim-tree.explorer.node-builders') -238.415 000.428 000.428: require('nvim-tree.explorer.sorters') -238.782 000.360 000.360: require('nvim-tree.explorer.filters') -240.087 000.849 000.849: require('nvim-tree.view') -240.099 001.311 000.462: require('nvim-tree.live-filter') -240.104 002.906 000.433: require('nvim-tree.explorer.explore') -240.531 000.423 000.423: require('nvim-tree.explorer.reload') -240.540 006.649 000.370: require('nvim-tree.explorer') -240.546 014.389 000.336: require('nvim-tree.core') -241.036 000.486 000.486: require('nvim-tree.diagnostics') -241.460 000.417 000.417: require('nvim-tree.renderer.components.padding') -241.895 000.429 000.429: require('nvim-tree.renderer.components.icons') -242.283 000.380 000.380: require('nvim-tree.renderer.components.full-name') -242.655 000.366 000.366: require('nvim-tree.renderer.help') -243.131 000.470 000.470: require('nvim-tree.renderer.components.git') -243.809 000.672 000.672: require('nvim-tree.renderer.builder') -244.178 000.362 000.362: require('nvim-tree.marks') -244.193 018.557 000.586: require('nvim-tree.renderer') -244.526 000.323 000.323: require('nvim-tree.actions.tree-modifiers.collapse-all') -244.826 000.294 000.294: require('nvim-tree.actions.root.dir-up') -245.239 000.407 000.407: require('nvim-tree.actions.root.change-dir') -245.597 000.351 000.351: require('nvim-tree.actions.reloaders.reloaders') -245.955 000.351 000.351: require('nvim-tree.actions.finders.find-file') -245.962 020.902 000.617: require('nvim-tree.lib') -246.374 000.408 000.408: require('nvim-tree.colors') -247.007 000.626 000.626: require('nvim-tree.legacy') -247.592 000.578 000.578: require('nvim-tree.actions.fs.copy-paste') -248.402 000.383 000.383: require('nvim-tree.actions.tree-modifiers.expand-all') -248.711 000.302 000.302: require('nvim-tree.actions.tree-modifiers.toggles') -249.141 000.423 000.423: require('nvim-tree.actions.fs.create-file') -249.494 000.346 000.346: require('nvim-tree.actions.fs.rename-file') -249.956 000.455 000.455: require('nvim-tree.actions.fs.trash') -250.366 000.404 000.404: require('nvim-tree.actions.fs.remove-file') -250.696 000.323 000.323: require('nvim-tree.actions.moves.parent') -251.027 000.325 000.325: require('nvim-tree.actions.moves.sibling') -251.358 000.324 000.324: require('nvim-tree.actions.moves.item') -251.755 000.387 000.387: require('nvim-tree.actions.finders.search-node') -252.054 000.293 000.293: require('nvim-tree.actions.node.run-command') -252.422 000.363 000.363: require('nvim-tree.actions.node.file-popup') -252.815 000.387 000.387: require('nvim-tree.actions.node.system-open') -253.155 000.334 000.334: require('nvim-tree.marks.bulk-move') -253.163 005.563 000.514: require('nvim-tree.actions.dispatch') -253.187 030.363 002.286: require('nvim-tree') -253.472 000.281 000.281: require('nvim-tree.config') -258.166 000.718 000.718: require('nvim-tree.actions') -258.838 000.660 000.660: require('nvim-tree.actions.node.open-file') -262.869 000.364 000.364: require('nvim-tree.marks.navigation') -262.880 000.869 000.505: require('nvim-tree.api') -262.891 001.433 000.564: require('nvim-tree.keymap') -264.972 001.417 001.417: require('nvim-web-devicons') -268.994 046.324 011.453: require('plugins.nvim-tree') -270.370 000.316 000.316: require('lualine_require') -270.882 001.704 001.388: require('lualine') -271.018 000.129 000.129: require('plugins.linecolor') -275.708 000.256 000.256: require('lualine.utils.mode') -282.774 013.771 011.683: require('plugins.lualine') -282.808 184.508 003.124: sourcing /home/sxrdusr/.config/nvim/init.lua -282.826 010.535: sourcing vimrc file(s) -283.117 000.051 000.051: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -285.405 000.888 000.888: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.lua -288.117 002.272 002.272: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/filetype.vim -292.092 000.281 000.281: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/synload.vim -292.295 003.051 002.770: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/syntax/syntax.vim -300.224 002.091 002.091: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/gzip.vim -300.446 000.070 000.070: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/health.vim -303.966 002.282 002.282: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -304.438 003.923 001.640: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchit.vim -304.891 000.386 000.386: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/matchparen.vim -305.113 000.103 000.103: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/netrwPlugin.vim -305.539 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -305.560 000.386 000.362: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/rplugin.vim -305.852 000.210 000.210: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/shada.vim -305.972 000.053 000.053: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/spellfile.vim -306.099 000.062 000.062: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tarPlugin.vim -306.224 000.061 000.061: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tohtml.vim -306.332 000.045 000.045: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/tutor.vim -307.601 001.207 001.207: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/zipPlugin.vim -307.896 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -315.401 005.658 005.658: require('lspsaga') -317.073 000.553 000.553: require('lspsaga.window') -317.093 001.174 000.621: require('lspsaga.libs') -327.566 001.347 001.347: require('vim.lsp.log') -329.533 001.954 001.954: require('vim.lsp.protocol') -335.456 002.092 002.092: require('vim.lsp._snippet') -336.370 000.904 000.904: require('vim.highlight') -336.415 006.873 003.878: require('vim.lsp.util') -336.447 013.200 003.026: require('vim.lsp.handlers') -338.763 002.311 002.311: require('vim.lsp.rpc') -340.121 001.348 001.348: require('vim.lsp.sync') -342.921 002.791 002.791: require('vim.lsp.buf') -344.093 001.161 001.161: require('vim.lsp.diagnostic') -345.202 001.102 001.102: require('vim.lsp.codelens') -345.388 027.654 005.740: require('vim.lsp') -345.692 000.295 000.295: require('lspsaga.wrap') -345.705 028.607 000.659: require('lspsaga.codeaction') -345.751 030.339 000.558: require('lspsaga.lightbulb') -346.108 000.317 000.317: require('lspsaga.lspkind') -346.885 000.249 000.249: require('mason-core.path') -346.905 000.522 000.274: require('mason.settings') -347.804 000.214 000.214: require('mason-core.functional.data') -347.824 000.525 000.310: require('mason-core.functional.function') -347.863 000.954 000.429: require('mason-core.platform') -347.868 001.714 000.238: require('mason') -348.650 000.336 000.336: require('mason-core.functional') -349.056 000.385 000.385: require('mason-core.functional.list') -349.098 001.207 000.486: require('mason.api.command') -349.944 000.489 000.489: require('mason-core.log') -349.953 000.851 000.363: require('mason-lspconfig') -350.166 000.209 000.209: require('mason-lspconfig.settings') -350.488 000.303 000.303: require('mason-lspconfig.lspconfig_hook') -351.357 000.863 000.863: require('lspconfig.util') -352.102 000.240 000.240: require('mason-core.functional.table') -352.205 000.679 000.439: require('mason-lspconfig.mappings.server') -353.344 000.475 000.475: require('mason-core.async') -353.567 000.215 000.215: require('mason-core.async.uv') -353.581 001.068 000.378: require('mason-core.fs') -353.858 000.274 000.274: require('mason-core.optional') -354.125 000.261 000.261: require('mason-core.EventEmitter') -354.540 000.408 000.408: require('mason-registry.index') -354.560 002.349 000.337: require('mason-registry') -354.774 000.194 000.194: require('mason-lspconfig.server_config_extensions') -355.406 000.626 000.626: require('lspconfig.configs') -355.759 000.346 000.346: require('lspconfig.server_configurations.omnisharp') -356.173 000.238 000.238: require('mason-lspconfig.ensure_installed') -357.319 000.316 000.316: require('mason-core.result') -358.773 000.589 000.589: require('mason-core.process') -359.014 000.232 000.232: require('mason-core.functional.relation') -359.271 000.248 000.248: require('mason-core.functional.logic') -359.286 001.434 000.366: require('mason-core.spawn') -359.639 000.348 000.348: require('mason-core.receipt') -359.919 000.265 000.265: require('mason-core.functional.string') -359.992 002.667 000.620: require('mason-core.installer.context') -360.293 000.295 000.295: require('mason-core.installer.linker') -360.573 000.274 000.274: require('mason-core.async.control') -360.584 003.980 000.428: require('mason-core.installer') -361.020 000.432 000.432: require('mason-core.installer.handle') -362.441 000.255 000.255: require('mason-core.managers.powershell') -362.449 000.590 000.334: require('mason-core.fetch') -362.453 000.800 000.210: require('mason-core.managers.cargo.client') -362.485 001.188 000.388: require('mason-core.managers.cargo') -362.937 000.447 000.447: require('mason-core.managers.composer') -363.425 000.481 000.481: require('mason-core.managers.gem') -363.736 000.304 000.304: require('mason-core.managers.git') -364.544 000.414 000.414: require('mason-core.managers.std') -364.866 000.316 000.316: require('mason-core.managers.github.client') -364.879 001.136 000.407: require('mason-core.managers.github') -365.439 000.556 000.556: require('mason-core.managers.go') -365.845 000.399 000.399: require('mason-core.managers.luarocks') -366.240 000.389 000.389: require('mason-core.managers.npm') -366.667 000.421 000.421: require('mason-core.managers.pip3') -366.677 005.650 000.327: require('mason-core.package.version-check') -366.688 010.508 000.446: require('mason-core.package') -367.072 000.351 000.351: require('mason-registry.lua-language-server') -367.593 000.337 000.337: require('mason-registry.clangd') -368.004 000.391 000.391: require('mason-registry.rust-analyzer') -368.654 000.215 000.215: require('mason-core.notify') -368.894 000.232 000.232: require('mason-core.functional.number') -368.937 000.921 000.475: require('mason-lspconfig.api.command') -368.943 060.914 002.513: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -372.883 002.516 002.516: sourcing /tmp/.mount_nvimrmYXl7/usr/share/nvim/runtime/plugin/man.lua -373.092 011.939: loading rtp plugins -375.285 000.120 000.120: require('Comment.config') -375.689 000.396 000.396: require('Comment.utils') -375.957 000.261 000.261: require('Comment.opfunc') -376.127 000.163 000.163: require('Comment.extra') -376.142 001.495 000.555: require('Comment.api') -376.586 002.031 000.535: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -377.477 000.089 000.089: require('luasnip.util.types') -377.675 000.191 000.191: require('luasnip.util.ext_opts') -377.832 000.150 000.150: require('luasnip.extras.filetype_functions') -377.934 000.097 000.097: require('luasnip.session') -379.260 000.652 000.652: require('luasnip.util.util') -379.484 000.217 000.217: require('luasnip.nodes.util') -379.576 000.085 000.085: require('luasnip.util.events') -379.592 001.391 000.437: require('luasnip.nodes.node') -379.758 000.120 000.120: require('luasnip.util.extend_decorator') -379.772 001.831 000.320: require('luasnip.nodes.insertNode') -380.477 000.226 000.226: require('luasnip.util.mark') -381.700 000.190 000.190: require('luasnip.nodes.textNode') -382.881 000.927 000.927: require('luasnip.util._builtin_vars') -383.108 001.398 000.472: require('luasnip.util.environ') -383.314 000.199 000.199: require('luasnip.util.pattern_tokenizer') -383.448 000.127 000.127: require('luasnip.util.dict') -383.802 000.347 000.347: require('luasnip.session.snippet_collection') -383.864 003.380 001.118: require('luasnip.nodes.snippet') -383.885 004.109 000.503: require('luasnip.nodes.choiceNode') -384.209 000.306 000.306: require('luasnip.nodes.functionNode') -384.709 000.453 000.453: require('luasnip.nodes.dynamicNode') -385.091 000.376 000.376: require('luasnip.nodes.restoreNode') -385.380 000.281 000.281: require('luasnip.extras') -385.829 000.173 000.173: require('luasnip.util.str') -385.843 000.455 000.282: require('luasnip.extras.fmt') -385.921 000.074 000.074: require('luasnip.extras.expand_conditions') -386.811 000.218 000.218: require('luasnip.util.parser.neovim_ast') -394.178 000.216 000.216: require('luasnip.util.directed_graph') -394.197 008.074 007.640: require('luasnip.util.parser.ast_utils') -394.712 000.119 000.119: require('luasnip.util.functions') -394.724 000.523 000.404: require('luasnip.util.parser.ast_parser') -395.338 000.610 000.610: require('luasnip.util.parser.neovim_parser') -395.354 009.426 000.219: require('luasnip.util.parser') -395.462 000.103 000.103: require('luasnip.nodes.absolute_indexer') -395.919 018.839 000.897: require('luasnip.config') -396.076 019.310 000.471: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -396.949 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -399.137 000.540 000.540: require('indent_blankline/utils') -399.147 001.578 001.038: require('indent_blankline') -399.631 000.228 000.228: require('indent_blankline.commands') -399.796 002.397 000.592: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -400.425 000.323 000.323: require('lsp-colors') -401.069 001.016 000.693: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -402.327 000.871 000.871: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -403.161 000.384 000.384: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -404.040 000.344 000.344: require('cmp.utils.api') -404.538 000.261 000.261: require('cmp.types.cmp') -405.386 000.498 000.498: require('cmp.utils.misc') -405.496 000.948 000.450: require('cmp.types.lsp') -405.726 000.223 000.223: require('cmp.types.vim') -405.732 001.684 000.251: require('cmp.types') -406.002 000.267 000.267: require('cmp.utils.highlight') -406.540 000.242 000.242: require('cmp.utils.debug') -406.556 000.548 000.306: require('cmp.utils.autocmd') -407.084 003.553 000.711: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -407.344 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -407.801 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -408.480 000.388 000.388: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -409.656 000.348 000.348: require('nvim-treesitter.statusline') -410.199 000.536 000.536: require('nvim-treesitter.query_predicates') -410.209 001.231 000.346: require('nvim-treesitter') -415.282 003.359 003.359: require('vim.treesitter.highlighter') -415.649 004.397 001.038: require('nvim-treesitter.highlight') -416.245 007.349 001.721: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -417.669 001.190 001.190: require('treesitter-context') -417.680 001.230 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -418.365 000.398 000.398: require('nvim-treesitter-refactor') -418.550 000.610 000.212: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -418.917 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -419.292 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -419.612 000.090 000.090: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -420.406 000.409 000.409: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -420.761 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -421.920 000.679 000.679: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -422.693 000.489 000.489: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -423.304 000.356 000.356: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -424.131 000.577 000.577: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -424.430 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -424.709 000.043 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -426.618 011.192: loading packages -428.473 000.582 000.582: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -435.277 008.051 007.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -439.647 000.636 000.636: require('cmp.utils.char') -439.672 001.332 000.696: require('cmp.utils.str') -440.141 000.462 000.462: require('cmp.utils.pattern') -441.991 000.487 000.487: require('cmp.utils.buffer') -442.020 001.349 000.862: require('cmp.utils.keymap') -442.036 001.884 000.535: require('cmp.utils.feedkeys') -442.696 000.654 000.654: require('cmp.utils.async') -443.685 000.436 000.436: require('cmp.utils.cache') -443.699 000.993 000.557: require('cmp.context') -446.228 000.680 000.680: require('cmp.config.mapping') -447.627 000.842 000.842: require('cmp.config.compare') -447.639 001.397 000.555: require('cmp.config.default') -447.677 002.938 000.861: require('cmp.config') -449.991 000.843 000.843: require('cmp.matcher') -450.012 002.328 001.484: require('cmp.entry') -450.031 006.326 001.060: require('cmp.source') -451.346 000.454 000.454: require('cmp.utils.event') -453.138 001.051 001.051: require('cmp.utils.window') -453.154 001.797 000.747: require('cmp.view.docs_view') -454.619 001.457 001.457: require('cmp.view.custom_entries_view') -455.631 001.002 001.002: require('cmp.view.wildmenu_entries_view') -456.455 000.814 000.814: require('cmp.view.native_entries_view') -457.096 000.631 000.631: require('cmp.view.ghost_text_view') -457.135 007.098 000.943: require('cmp.view') -457.324 020.479 001.729: require('cmp.core') -458.114 000.426 000.426: require('cmp.config.sources') -458.585 000.459 000.459: require('cmp.config.window') -458.791 023.106 001.741: require('cmp') -460.357 000.200 000.200: require('cmp_buffer.timer') -460.383 001.018 000.819: require('cmp_buffer.buffer') -460.396 001.462 000.444: require('cmp_buffer.source') -460.403 001.600 000.138: require('cmp_buffer') -460.617 025.003 000.297: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -461.566 000.629 000.629: require('cmp_cmdline') -461.645 000.769 000.141: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -462.627 000.390 000.390: require('cmp_nvim_lsp.source') -462.640 000.711 000.321: require('cmp_nvim_lsp') -462.717 000.840 000.129: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -463.711 000.710 000.710: require('cmp_path') -463.773 000.827 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -464.614 000.517 000.517: require('cmp_luasnip') -464.722 000.716 000.199: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -464.985 002.160: loading after plugins -465.026 000.041: inits 3 -465.094 000.068: reading ShaDa -465.979 000.175 000.175: require('luasnip.loaders._caches') -466.558 000.569 000.569: require('luasnip.util.path') -467.066 000.497 000.497: require('luasnip.loaders.util') -468.731 000.293 000.293: require('luasnip.loaders') -468.782 001.705 001.413: require('luasnip') -468.795 003.396 000.449: require('luasnip.loaders.from_lua') -469.563 000.191 000.191: require('luasnip.nodes.snippetProxy') -469.575 000.593 000.402: require('luasnip.loaders.from_snipmate') -470.027 000.403 000.403: require('luasnip.loaders.from_vscode') -471.125 001.641: opening buffers -471.367 000.241: BufEnter autocommands -471.374 000.007: editing files in windows -492.712 005.083 005.083: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.282 001.282: --- NVIM STARTING --- -029.206 027.924: event init -046.400 017.195: early init -048.223 001.823: locale set -053.937 005.714: init first window -064.347 010.410: inits 1 -064.372 000.025: window checked -064.380 000.008: parsing arguments -076.420 000.295 000.295: require('vim.shared') -076.917 000.241 000.241: require('vim._meta') -076.931 000.488 000.247: require('vim._editor') -076.938 000.901 000.118: require('vim._init_packages') -076.946 011.665: init lua interpreter -077.114 000.168: expanding arguments -079.080 001.966: inits 2 -080.421 001.341: init highlight -080.430 000.009: waiting for UI -083.335 002.905: done waiting for UI -083.386 000.051: init screen for UI -084.183 000.797: init default mappings -084.250 000.068: init default autocommands -095.904 004.673 004.673: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/ftplugin.vim -098.355 001.073 001.073: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/indent.vim -098.631 000.029 000.029: sourcing /usr/share/nvim/archlinux.vim -098.642 000.086 000.057: sourcing /etc/xdg/nvim/sysinit.vim -109.895 006.296 006.296: require('keys') -112.293 002.386 002.386: require('opts') -114.877 000.524 000.524: require('packer.util') -114.935 002.267 001.743: require('packer') -116.828 000.639 000.639: require('packer.log') -116.838 001.118 000.479: require('packer.async') -117.810 000.400 000.400: require('packer.result') -117.819 000.976 000.577: require('packer.jobs') -117.836 002.853 000.759: require('packer.plugin_utils') -118.494 000.636 000.636: require('packer.snapshot') -119.546 007.244 001.489: require('pack') -130.393 010.839 010.839: require('impatient') -131.485 000.276 000.276: require('vim.treesitter.language') -131.511 000.729 000.454: require('vim.treesitter.query') -132.514 000.241 000.241: require('vim.treesitter.languagetree') -132.575 000.456 000.215: require('vim.treesitter') -132.857 001.011 000.556: require('nvim-treesitter.parsers') -132.981 000.118 000.118: require('nvim-treesitter.utils') -132.995 001.348 000.218: require('nvim-treesitter.ts_utils') -133.005 001.489 000.141: require('nvim-treesitter.tsrange') -133.084 000.076 000.076: require('nvim-treesitter.caching') -133.105 002.472 000.178: require('nvim-treesitter.query') -133.133 002.641 000.168: require('nvim-treesitter.configs') -133.974 000.524 000.524: require('nvim-treesitter.info') -134.163 000.182 000.182: require('nvim-treesitter.shell_command_selectors') -134.209 000.904 000.198: require('nvim-treesitter.install') -172.984 042.575 039.031: require('plugins.treesitter') -173.299 000.131 000.131: require('telescope._extensions') -173.308 000.211 000.080: require('telescope') -174.714 000.323 000.323: require('plenary.bit') -175.035 000.315 000.315: require('plenary.functional') -175.105 000.031 000.031: require('ffi') -175.128 001.120 000.451: require('plenary.path') -175.141 001.487 000.367: require('plenary.strings') -175.261 000.116 000.116: require('telescope.deprecated') -175.722 000.276 000.276: require('plenary.log') -175.802 000.416 000.140: require('telescope.log') -176.040 000.117 000.117: require('plenary.job') -176.114 000.069 000.069: require('telescope.state') -176.129 000.321 000.136: require('telescope.utils') -176.149 000.882 000.145: require('telescope.sorters') -176.244 000.075 000.075: require('vim.inspect') -176.749 000.013 000.013: require('vim.F') -179.793 006.266 003.693: require('telescope.config') -180.432 000.092 000.092: require('plenary.window.border') -180.569 000.130 000.130: require('plenary.window') -180.636 000.061 000.061: require('plenary.popup.utils') -180.647 000.846 000.563: require('plenary.popup') -180.720 000.069 000.069: require('telescope.pickers.scroller') -180.793 000.068 000.068: require('telescope.actions.state') -180.866 000.068 000.068: require('telescope.actions.utils') -181.014 000.068 000.068: require('telescope.actions.mt') -181.045 000.175 000.107: require('telescope.actions.set') -181.358 000.152 000.152: require('telescope.config.resolve') -181.365 000.267 000.115: require('telescope.pickers.entry_display') -181.470 000.101 000.101: require('telescope.from_entry') -181.848 008.537 000.678: require('telescope.actions') -182.823 000.058 000.058: require('plenary.tbl') -182.833 000.129 000.071: require('plenary.vararg.rotate') -182.837 000.192 000.063: require('plenary.vararg') -182.898 000.058 000.058: require('plenary.errors') -182.906 000.330 000.081: require('plenary.async.async') -183.025 000.115 000.115: require('plenary.async.structs') -183.038 000.834 000.388: require('plenary.async.control') -183.329 000.214 000.214: require('telescope.make_entry') -183.599 000.074 000.074: require('plenary.async.util') -183.605 000.138 000.064: require('plenary.async.tests') -183.610 000.207 000.069: require('plenary.async') -183.614 000.279 000.072: require('telescope.finders.async_static_finder') -183.821 000.058 000.058: require('plenary.class') -183.846 000.163 000.105: require('telescope._') -183.851 000.234 000.071: require('telescope.finders.async_oneshot_finder') -183.919 000.066 000.066: require('telescope.finders.async_job_finder') -183.931 000.890 000.097: require('telescope.finders') -184.185 000.079 000.079: require('telescope.debounce') -184.335 000.144 000.144: require('telescope.mappings') -184.428 000.088 000.088: require('telescope.pickers.highlights') -184.499 000.066 000.066: require('telescope.pickers.window') -184.648 000.072 000.072: require('telescope.algos.linked_list') -184.656 000.152 000.080: require('telescope.entry_manager') -184.783 000.124 000.124: require('telescope.pickers.multi') -184.814 000.879 000.226: require('telescope.pickers') -184.829 002.770 000.167: require('telescope.builtin.__lsp') -184.852 002.997 000.227: require('telescope.builtin') -185.164 000.225 000.225: require('fzf_lib') -185.175 000.317 000.093: require('telescope._extensions.fzf') -185.568 000.096 000.096: require('telescope._extensions.file_browser.utils') -185.662 000.348 000.252: require('telescope._extensions.file_browser.actions') -185.891 000.137 000.137: require('telescope._extensions.file_browser.make_entry') -186.045 000.148 000.148: require('plenary.scandir') -186.092 000.425 000.140: require('telescope._extensions.file_browser.finders') -186.173 000.077 000.077: require('telescope._extensions.file_browser.picker') -186.271 000.093 000.093: require('telescope._extensions.file_browser.config') -186.277 001.039 000.097: require('telescope._extensions.file_browser') -189.722 000.012 000.012: require('vim.keymap') -189.980 016.986 003.873: require('plugins.telescope') -191.812 000.068 000.068: require('notify.util.queue') -191.822 000.421 000.352: require('notify.util') -192.063 000.237 000.237: require('notify.config.highlights') -192.078 001.067 000.409: require('notify.config') -192.463 000.380 000.380: require('notify.stages') -192.560 000.091 000.091: require('notify.service.notification') -192.902 000.085 000.085: require('notify.animate.spring') -192.908 000.166 000.081: require('notify.animate') -192.920 000.354 000.188: require('notify.windows') -193.224 000.108 000.108: require('notify.service.buffer.highlights') -193.235 000.219 000.112: require('notify.service.buffer') -193.243 000.320 000.101: require('notify.service') -193.375 000.129 000.129: require('notify.stages.util') -193.389 002.748 000.406: require('notify') -193.485 000.091 000.091: require('nvim-tree.iterators.node-iterator') -193.580 003.039 000.200: require('nvim-tree.utils') -193.599 003.130 000.091: require('nvim-tree.events') -193.918 000.090 000.090: require('nvim-tree.log') -194.118 000.194 000.194: require('nvim-tree.git.utils') -194.227 000.102 000.102: require('nvim-tree.git.runner') -194.333 000.101 000.101: require('nvim-tree.watcher') -194.345 000.616 000.129: require('nvim-tree.git') -194.437 000.089 000.089: require('nvim-tree.explorer.watch') -194.521 000.079 000.079: require('nvim-tree.explorer.common') -194.761 000.104 000.104: require('nvim-tree.explorer.node-builders') -194.865 000.098 000.098: require('nvim-tree.explorer.sorters') -194.953 000.083 000.083: require('nvim-tree.explorer.filters') -195.346 000.289 000.289: require('nvim-tree.view') -195.370 000.412 000.123: require('nvim-tree.live-filter') -195.381 000.815 000.117: require('nvim-tree.explorer.explore') -195.522 000.136 000.136: require('nvim-tree.explorer.reload') -195.542 001.939 000.204: require('nvim-tree.explorer') -195.554 005.142 000.073: require('nvim-tree.core') -195.717 000.158 000.158: require('nvim-tree.diagnostics') -195.848 000.124 000.124: require('nvim-tree.renderer.components.padding') -195.995 000.140 000.140: require('nvim-tree.renderer.components.icons') -196.151 000.149 000.149: require('nvim-tree.renderer.components.full-name') -196.312 000.153 000.153: require('nvim-tree.renderer.help') -196.492 000.171 000.171: require('nvim-tree.renderer.components.git') -196.678 000.179 000.179: require('nvim-tree.renderer.builder') -196.813 000.127 000.127: require('nvim-tree.marks') -196.834 006.502 000.159: require('nvim-tree.renderer') -197.065 000.215 000.215: require('nvim-tree.actions.tree-modifiers.collapse-all') -197.186 000.112 000.112: require('nvim-tree.actions.root.dir-up') -197.335 000.142 000.142: require('nvim-tree.actions.root.change-dir') -197.451 000.108 000.108: require('nvim-tree.actions.reloaders.reloaders') -197.551 000.092 000.092: require('nvim-tree.actions.finders.find-file') -197.557 007.300 000.128: require('nvim-tree.lib') -197.687 000.127 000.127: require('nvim-tree.colors') -197.844 000.150 000.150: require('nvim-tree.legacy') -197.974 000.125 000.125: require('nvim-tree.actions.fs.copy-paste') -198.172 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') -198.258 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') -198.368 000.102 000.102: require('nvim-tree.actions.fs.create-file') -198.462 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -198.587 000.119 000.119: require('nvim-tree.actions.fs.trash') -198.728 000.135 000.135: require('nvim-tree.actions.fs.remove-file') -198.838 000.098 000.098: require('nvim-tree.actions.moves.parent') -198.925 000.080 000.080: require('nvim-tree.actions.moves.sibling') -199.012 000.081 000.081: require('nvim-tree.actions.moves.item') -199.114 000.087 000.087: require('nvim-tree.actions.finders.search-node') -199.278 000.160 000.160: require('nvim-tree.actions.node.run-command') -199.385 000.101 000.101: require('nvim-tree.actions.node.file-popup') -199.549 000.159 000.159: require('nvim-tree.actions.node.system-open') -199.652 000.095 000.095: require('nvim-tree.marks.bulk-move') -199.667 001.685 000.210: require('nvim-tree.actions.dispatch') -199.728 009.650 000.262: require('nvim-tree') -199.813 000.080 000.080: require('nvim-tree.config') -203.971 000.220 000.220: require('nvim-tree.actions') -204.111 000.129 000.129: require('nvim-tree.actions.node.open-file') -209.463 000.522 000.522: require('nvim-tree.marks.navigation') -209.477 001.387 000.866: require('nvim-tree.api') -209.608 002.226 000.838: require('nvim-tree.keymap') -212.901 002.345 002.345: require('nvim-web-devicons') -217.310 027.323 012.673: require('plugins.nvim-tree') -217.684 000.085 000.085: require('lualine_require') -218.261 000.793 000.708: require('lualine') -218.340 000.072 000.072: require('plugins.linecolor') -222.766 000.090 000.090: require('lualine.utils.mode') -229.111 011.786 010.831: require('plugins.lualine') -229.143 130.389 004.953: sourcing /home/sxrdusr/.config/nvim/init.lua -229.161 008.689: sourcing vimrc file(s) -229.452 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -230.601 000.057 000.057: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.lua -232.794 002.048 002.048: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/filetype.vim -236.078 000.256 000.256: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/synload.vim -236.340 002.832 002.576: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/syntax/syntax.vim -242.671 001.056 001.056: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/gzip.vim -242.829 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/health.vim -245.729 001.412 001.412: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -246.361 003.446 002.034: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchit.vim -246.870 000.420 000.420: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/matchparen.vim -247.052 000.090 000.090: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/netrwPlugin.vim -247.500 000.025 000.025: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -247.522 000.383 000.358: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/rplugin.vim -247.811 000.203 000.203: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/shada.vim -247.967 000.065 000.065: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/spellfile.vim -248.132 000.075 000.075: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tarPlugin.vim -248.296 000.078 000.078: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tohtml.vim -248.442 000.059 000.059: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/tutor.vim -249.216 000.687 000.687: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/zipPlugin.vim -249.516 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -250.932 000.127 000.127: require('lspsaga') -251.194 000.086 000.086: require('lspsaga.window') -251.213 000.185 000.099: require('lspsaga.libs') -252.990 000.425 000.425: require('vim.lsp.log') -253.817 000.818 000.818: require('vim.lsp.protocol') -254.531 000.456 000.456: require('vim.lsp._snippet') -254.675 000.136 000.136: require('vim.highlight') -254.704 000.879 000.287: require('vim.lsp.util') -254.723 002.459 000.337: require('vim.lsp.handlers') -254.916 000.189 000.189: require('vim.lsp.rpc') -255.049 000.125 000.125: require('vim.lsp.sync') -255.512 000.456 000.456: require('vim.lsp.buf') -255.898 000.378 000.378: require('vim.lsp.diagnostic') -256.286 000.381 000.381: require('vim.lsp.codelens') -256.435 005.130 001.140: require('vim.lsp') -256.519 000.076 000.076: require('lspsaga.wrap') -256.530 005.313 000.107: require('lspsaga.codeaction') -256.569 005.629 000.131: require('lspsaga.lightbulb') -256.699 000.095 000.095: require('lspsaga.lspkind') -256.886 000.058 000.058: require('mason-core.path') -256.903 000.134 000.076: require('mason.settings') -257.101 000.054 000.054: require('mason-core.functional.data') -257.109 000.123 000.069: require('mason-core.functional.function') -257.145 000.238 000.115: require('mason-core.platform') -257.150 000.437 000.066: require('mason') -257.357 000.105 000.105: require('mason-core.functional') -257.475 000.101 000.101: require('mason-core.functional.list') -257.521 000.349 000.143: require('mason.api.command') -257.719 000.110 000.110: require('mason-core.log') -257.726 000.201 000.091: require('mason-lspconfig') -257.798 000.068 000.068: require('mason-lspconfig.settings') -257.891 000.077 000.077: require('mason-lspconfig.lspconfig_hook') -258.211 000.315 000.315: require('lspconfig.util') -258.438 000.079 000.079: require('mason-core.functional.table') -258.544 000.310 000.231: require('mason-lspconfig.mappings.server') -258.849 000.091 000.091: require('mason-core.async') -258.922 000.065 000.065: require('mason-core.async.uv') -258.933 000.303 000.147: require('mason-core.fs') -259.009 000.073 000.073: require('mason-core.optional') -259.080 000.067 000.067: require('mason-core.EventEmitter') -259.241 000.156 000.156: require('mason-registry.index') -259.260 000.710 000.112: require('mason-registry') -259.341 000.076 000.076: require('mason-lspconfig.server_config_extensions') -259.439 000.093 000.093: require('lspconfig.configs') -259.568 000.085 000.085: require('lspconfig.server_configurations.omnisharp') -259.680 000.072 000.072: require('mason-lspconfig.ensure_installed') -259.937 000.075 000.075: require('mason-core.result') -260.355 000.248 000.248: require('mason-core.process') -260.434 000.070 000.070: require('mason-core.functional.relation') -260.509 000.067 000.067: require('mason-core.functional.logic') -260.524 000.485 000.101: require('mason-core.spawn') -260.611 000.082 000.082: require('mason-core.receipt') -260.695 000.069 000.069: require('mason-core.functional.string') -260.727 000.784 000.147: require('mason-core.installer.context') -260.802 000.071 000.071: require('mason-core.installer.linker') -260.878 000.071 000.071: require('mason-core.async.control') -260.886 001.109 000.108: require('mason-core.installer') -260.986 000.097 000.097: require('mason-core.installer.handle') -261.352 000.075 000.075: require('mason-core.managers.powershell') -261.358 000.152 000.077: require('mason-core.fetch') -261.362 000.213 000.061: require('mason-core.managers.cargo.client') -261.471 000.410 000.197: require('mason-core.managers.cargo') -261.626 000.150 000.150: require('mason-core.managers.composer') -261.751 000.118 000.118: require('mason-core.managers.gem') -261.836 000.080 000.080: require('mason-core.managers.git') -262.055 000.129 000.129: require('mason-core.managers.std') -262.144 000.084 000.084: require('mason-core.managers.github.client') -262.158 000.317 000.104: require('mason-core.managers.github') -262.335 000.174 000.174: require('mason-core.managers.go') -262.467 000.127 000.127: require('mason-core.managers.luarocks') -262.578 000.106 000.106: require('mason-core.managers.npm') -262.694 000.111 000.111: require('mason-core.managers.pip3') -262.705 001.714 000.122: require('mason-core.package.version-check') -262.717 003.032 000.112: require('mason-core.package') -262.825 000.089 000.089: require('mason-registry.lua-language-server') -263.139 000.116 000.116: require('mason-registry.clangd') -263.374 000.126 000.126: require('mason-registry.rust-analyzer') -263.531 000.060 000.060: require('mason-core.notify') -263.611 000.074 000.074: require('mason-core.functional.number') -263.665 000.282 000.149: require('mason-lspconfig.api.command') -263.672 014.021 001.730: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -264.646 000.093 000.093: sourcing /tmp/.mount_nvimSUUymO/usr/share/nvim/runtime/plugin/man.lua -264.859 009.930: loading rtp plugins -266.616 000.071 000.071: require('Comment.config') -266.723 000.099 000.099: require('Comment.utils') -266.800 000.072 000.072: require('Comment.opfunc') -266.873 000.068 000.068: require('Comment.extra') -266.888 000.475 000.165: require('Comment.api') -267.312 000.956 000.481: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -267.990 000.074 000.074: require('luasnip.util.types') -268.278 000.281 000.281: require('luasnip.util.ext_opts') -268.369 000.085 000.085: require('luasnip.extras.filetype_functions') -268.451 000.077 000.077: require('luasnip.session') -268.969 000.166 000.166: require('luasnip.util.util') -269.057 000.081 000.081: require('luasnip.nodes.util') -269.128 000.066 000.066: require('luasnip.util.events') -269.145 000.440 000.128: require('luasnip.nodes.node') -269.338 000.080 000.080: require('luasnip.util.extend_decorator') -269.350 000.893 000.373: require('luasnip.nodes.insertNode') -269.673 000.091 000.091: require('luasnip.util.mark') -270.003 000.192 000.192: require('luasnip.nodes.textNode') -271.216 001.044 001.044: require('luasnip.util._builtin_vars') -271.484 001.472 000.428: require('luasnip.util.environ') -271.584 000.093 000.093: require('luasnip.util.pattern_tokenizer') -271.677 000.087 000.087: require('luasnip.util.dict') -271.776 000.093 000.093: require('luasnip.session.snippet_collection') -271.836 002.157 000.219: require('luasnip.nodes.snippet') -271.857 002.504 000.256: require('luasnip.nodes.choiceNode') -272.071 000.154 000.154: require('luasnip.nodes.functionNode') -272.213 000.134 000.134: require('luasnip.nodes.dynamicNode') -272.335 000.116 000.116: require('luasnip.nodes.restoreNode') -272.429 000.089 000.089: require('luasnip.extras') -272.581 000.069 000.069: require('luasnip.util.str') -272.593 000.156 000.088: require('luasnip.extras.fmt') -272.659 000.062 000.062: require('luasnip.extras.expand_conditions') -274.837 000.115 000.115: require('luasnip.util.parser.neovim_ast') -285.484 000.102 000.102: require('luasnip.util.directed_graph') -285.508 012.765 012.548: require('luasnip.util.parser.ast_utils') -285.683 000.077 000.077: require('luasnip.util.functions') -285.694 000.181 000.104: require('luasnip.util.parser.ast_parser') -285.864 000.166 000.166: require('luasnip.util.parser.neovim_parser') -285.880 013.211 000.100: require('luasnip.util.parser') -285.961 000.076 000.076: require('luasnip.nodes.absolute_indexer') -286.571 018.788 000.878: require('luasnip.config') -286.736 019.252 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -287.625 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -288.516 000.096 000.096: require('indent_blankline/utils') -288.525 000.261 000.164: require('indent_blankline') -289.078 000.085 000.085: require('indent_blankline.commands') -289.243 001.156 000.810: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -289.661 000.100 000.100: require('lsp-colors') -290.066 000.560 000.459: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -291.337 000.883 000.883: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -292.198 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -292.735 000.093 000.093: require('cmp.utils.api') -292.879 000.068 000.068: require('cmp.types.cmp') -293.040 000.078 000.078: require('cmp.utils.misc') -293.161 000.276 000.197: require('cmp.types.lsp') -293.233 000.066 000.066: require('cmp.types.vim') -293.239 000.498 000.088: require('cmp.types') -293.311 000.069 000.069: require('cmp.utils.highlight') -293.438 000.060 000.060: require('cmp.utils.debug') -293.453 000.137 000.077: require('cmp.utils.autocmd') -294.094 001.520 000.724: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -294.361 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -294.791 000.107 000.107: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -295.290 000.200 000.200: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -295.922 000.069 000.069: require('nvim-treesitter.statusline') -296.008 000.079 000.079: require('nvim-treesitter.query_predicates') -296.014 000.235 000.087: require('nvim-treesitter') -297.249 000.211 000.211: require('vim.treesitter.highlighter') -297.604 000.717 000.506: require('nvim-treesitter.highlight') -298.233 002.511 001.559: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -298.701 000.250 000.250: require('treesitter-context') -298.712 000.288 000.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -299.085 000.089 000.089: require('nvim-treesitter-refactor') -299.521 000.552 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -299.907 000.123 000.123: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -300.288 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -300.657 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -301.449 000.439 000.439: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -301.814 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -302.983 000.662 000.662: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -303.777 000.499 000.499: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -304.414 000.381 000.381: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -305.285 000.605 000.605: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -305.595 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -305.881 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -306.951 010.557: loading packages -308.634 000.475 000.475: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -313.061 005.554 005.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -313.787 000.116 000.116: require('cmp.utils.char') -313.803 000.204 000.088: require('cmp.utils.str') -313.877 000.070 000.070: require('cmp.utils.pattern') -314.102 000.060 000.060: require('cmp.utils.buffer') -314.113 000.161 000.101: require('cmp.utils.keymap') -314.124 000.242 000.080: require('cmp.utils.feedkeys') -314.212 000.084 000.084: require('cmp.utils.async') -314.351 000.064 000.064: require('cmp.utils.cache') -314.358 000.141 000.077: require('cmp.context') -314.613 000.081 000.081: require('cmp.config.mapping') -314.787 000.091 000.091: require('cmp.config.compare') -314.796 000.176 000.085: require('cmp.config.default') -314.822 000.365 000.108: require('cmp.config') -314.996 000.067 000.067: require('cmp.matcher') -315.009 000.183 000.116: require('cmp.entry') -315.023 000.661 000.114: require('cmp.source') -315.170 000.064 000.064: require('cmp.utils.event') -315.349 000.099 000.099: require('cmp.utils.window') -315.357 000.181 000.082: require('cmp.view.docs_view') -315.477 000.117 000.117: require('cmp.view.custom_entries_view') -315.589 000.107 000.107: require('cmp.view.wildmenu_entries_view') -315.680 000.086 000.086: require('cmp.view.native_entries_view') -315.757 000.073 000.073: require('cmp.view.ghost_text_view') -315.774 000.748 000.120: require('cmp.view') -315.888 002.417 000.267: require('cmp.core') -316.199 000.074 000.074: require('cmp.config.sources') -316.266 000.059 000.059: require('cmp.config.window') -316.365 003.024 000.473: require('cmp') -316.650 000.063 000.063: require('cmp_buffer.timer') -316.662 000.153 000.090: require('cmp_buffer.buffer') -316.667 000.232 000.079: require('cmp_buffer.source') -316.671 000.301 000.069: require('cmp_buffer') -316.767 003.486 000.161: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -317.148 000.154 000.154: require('cmp_cmdline') -317.183 000.237 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -317.538 000.084 000.084: require('cmp_nvim_lsp.source') -317.546 000.168 000.084: require('cmp_nvim_lsp') -317.596 000.258 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -318.051 000.260 000.260: require('cmp_path') -318.087 000.339 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -318.379 000.087 000.087: require('cmp_luasnip') -318.445 000.203 000.116: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -318.598 001.570: loading after plugins -318.676 000.078: inits 3 -318.691 000.015: reading ShaDa -319.079 000.072 000.072: require('luasnip.loaders._caches') -319.267 000.181 000.181: require('luasnip.util.path') -319.366 000.092 000.092: require('luasnip.loaders.util') -319.603 000.104 000.104: require('luasnip.loaders') -319.642 000.271 000.167: require('luasnip') -319.649 000.734 000.119: require('luasnip.loaders.from_lua') -319.877 000.075 000.075: require('luasnip.nodes.snippetProxy') -319.886 000.177 000.102: require('luasnip.loaders.from_snipmate') -320.022 000.091 000.091: require('luasnip.loaders.from_vscode') -320.658 000.965: opening buffers -320.916 000.258: BufEnter autocommands -320.923 000.007: editing files in windows -335.685 000.594 000.594: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.315 001.315: --- NVIM STARTING --- -029.519 028.204: event init -045.885 016.366: early init -047.405 001.520: locale set -052.798 005.393: init first window -063.084 010.286: inits 1 -063.111 000.026: window checked -063.119 000.008: parsing arguments -075.078 000.268 000.268: require('vim.shared') -075.596 000.245 000.245: require('vim._meta') -075.609 000.509 000.263: require('vim._editor') -075.617 000.903 000.126: require('vim._init_packages') -075.624 011.602: init lua interpreter -075.789 000.165: expanding arguments -077.774 001.985: inits 2 -079.125 001.351: init highlight -079.134 000.009: waiting for UI -082.047 002.914: done waiting for UI -082.119 000.071: init screen for UI -082.613 000.495: init default mappings -082.660 000.047: init default autocommands -093.091 004.347 004.347: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/ftplugin.vim -095.882 001.064 001.064: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/indent.vim -096.229 000.037 000.037: sourcing /usr/share/nvim/archlinux.vim -096.246 000.117 000.080: sourcing /etc/xdg/nvim/sysinit.vim -106.342 005.865 005.865: require('keys') -108.711 002.358 002.358: require('opts') -112.148 001.046 001.046: require('packer.util') -112.298 003.211 002.165: require('packer') -116.366 001.643 001.643: require('packer.log') -116.396 002.522 000.879: require('packer.async') -118.234 000.752 000.752: require('packer.result') -118.250 001.845 001.093: require('packer.jobs') -118.281 005.884 001.517: require('packer.plugin_utils') -119.461 001.139 001.139: require('packer.snapshot') -120.985 012.265 002.031: require('pack') -137.495 016.498 016.498: require('impatient') -138.790 000.212 000.212: require('vim.treesitter.language') -138.824 000.831 000.619: require('vim.treesitter.query') -140.076 000.251 000.251: require('vim.treesitter.languagetree') -140.174 000.578 000.326: require('vim.treesitter') -140.627 001.447 000.869: require('nvim-treesitter.parsers') -140.797 000.161 000.161: require('nvim-treesitter.utils') -140.818 001.862 000.253: require('nvim-treesitter.ts_utils') -140.835 002.005 000.143: require('nvim-treesitter.tsrange') -141.528 000.687 000.687: require('nvim-treesitter.caching') -141.559 003.700 000.177: require('nvim-treesitter.query') -141.598 003.967 000.267: require('nvim-treesitter.configs') -142.951 000.527 000.527: require('nvim-treesitter.info') -143.550 000.590 000.590: require('nvim-treesitter.shell_command_selectors') -143.619 001.783 000.666: require('nvim-treesitter.install') -192.821 055.307 049.557: require('plugins.treesitter') -193.168 000.081 000.081: require('telescope._extensions') -193.177 000.173 000.092: require('telescope') -193.960 000.087 000.087: require('plenary.bit') -194.045 000.078 000.078: require('plenary.functional') -194.102 000.040 000.040: require('ffi') -194.152 000.438 000.234: require('plenary.path') -194.171 000.539 000.101: require('plenary.strings') -194.537 000.363 000.363: require('telescope.deprecated') -195.061 000.255 000.255: require('plenary.log') -195.141 000.488 000.233: require('telescope.log') -195.420 000.156 000.156: require('plenary.job') -195.511 000.085 000.085: require('telescope.state') -195.526 000.380 000.139: require('telescope.utils') -195.538 000.993 000.126: require('telescope.sorters') -195.706 000.144 000.144: require('vim.inspect') -196.270 000.015 000.015: require('vim.F') -200.294 006.805 004.751: require('telescope.config') -201.142 000.155 000.155: require('plenary.window.border') -201.222 000.074 000.074: require('plenary.window') -201.445 000.214 000.214: require('plenary.popup.utils') -201.461 001.156 000.713: require('plenary.popup') -201.595 000.128 000.128: require('telescope.pickers.scroller') -201.749 000.148 000.148: require('telescope.actions.state') -201.827 000.072 000.072: require('telescope.actions.utils') -201.984 000.071 000.071: require('telescope.actions.mt') -202.017 000.184 000.113: require('telescope.actions.set') -202.212 000.078 000.078: require('telescope.config.resolve') -202.218 000.157 000.079: require('telescope.pickers.entry_display') -202.292 000.070 000.070: require('telescope.from_entry') -202.894 009.714 000.995: require('telescope.actions') -203.744 000.059 000.059: require('plenary.tbl') -203.753 000.131 000.073: require('plenary.vararg.rotate') -203.756 000.192 000.061: require('plenary.vararg') -203.872 000.113 000.113: require('plenary.errors') -203.892 000.393 000.087: require('plenary.async.async') -203.963 000.068 000.068: require('plenary.async.structs') -203.978 000.558 000.097: require('plenary.async.control') -204.289 000.233 000.233: require('telescope.make_entry') -204.577 000.085 000.085: require('plenary.async.util') -204.584 000.151 000.066: require('plenary.async.tests') -204.589 000.225 000.074: require('plenary.async') -204.594 000.299 000.074: require('telescope.finders.async_static_finder') -204.816 000.062 000.062: require('plenary.class') -204.845 000.177 000.116: require('telescope._') -204.850 000.253 000.076: require('telescope.finders.async_oneshot_finder') -204.930 000.076 000.076: require('telescope.finders.async_job_finder') -204.942 000.959 000.098: require('telescope.finders') -205.285 000.099 000.099: require('telescope.debounce') -205.562 000.270 000.270: require('telescope.mappings') -205.686 000.115 000.115: require('telescope.pickers.highlights') -205.793 000.101 000.101: require('telescope.pickers.window') -205.962 000.076 000.076: require('telescope.algos.linked_list') -205.970 000.171 000.096: require('telescope.entry_manager') -206.040 000.067 000.067: require('telescope.pickers.multi') -206.079 001.133 000.311: require('telescope.pickers') -206.097 002.802 000.151: require('telescope.builtin.__lsp') -206.126 003.202 000.400: require('telescope.builtin') -206.457 000.236 000.236: require('fzf_lib') -206.469 000.338 000.102: require('telescope._extensions.fzf') -206.811 000.097 000.097: require('telescope._extensions.file_browser.utils') -206.921 000.358 000.261: require('telescope._extensions.file_browser.actions') -207.218 000.200 000.200: require('telescope._extensions.file_browser.make_entry') -207.387 000.161 000.161: require('plenary.scandir') -207.444 000.519 000.158: require('telescope._extensions.file_browser.finders') -207.545 000.097 000.097: require('telescope._extensions.file_browser.picker') -207.650 000.099 000.099: require('telescope._extensions.file_browser.config') -207.657 001.177 000.103: require('telescope._extensions.file_browser') -211.310 000.020 000.020: require('vim.keymap') -211.563 018.727 004.104: require('plugins.telescope') -212.720 000.062 000.062: require('notify.util.queue') -212.735 000.155 000.093: require('notify.util') -213.007 000.269 000.269: require('notify.config.highlights') -213.022 000.525 000.101: require('notify.config') -213.094 000.068 000.068: require('notify.stages') -213.169 000.069 000.069: require('notify.service.notification') -213.682 000.175 000.175: require('notify.animate.spring') -213.690 000.392 000.217: require('notify.animate') -213.704 000.530 000.139: require('notify.windows') -214.066 000.097 000.097: require('notify.service.buffer.highlights') -214.077 000.258 000.161: require('notify.service.buffer') -214.082 000.375 000.117: require('notify.service') -214.184 000.099 000.099: require('notify.stages.util') -214.194 001.784 000.118: require('notify') -214.350 000.152 000.152: require('nvim-tree.iterators.node-iterator') -214.431 002.141 000.206: require('nvim-tree.utils') -214.445 002.227 000.086: require('nvim-tree.events') -214.713 000.088 000.088: require('nvim-tree.log') -214.890 000.171 000.171: require('nvim-tree.git.utils') -215.009 000.114 000.114: require('nvim-tree.git.runner') -215.174 000.161 000.161: require('nvim-tree.watcher') -215.192 000.657 000.124: require('nvim-tree.git') -215.298 000.103 000.103: require('nvim-tree.explorer.watch') -215.406 000.102 000.102: require('nvim-tree.explorer.common') -215.643 000.101 000.101: require('nvim-tree.explorer.node-builders') -215.743 000.094 000.094: require('nvim-tree.explorer.sorters') -215.833 000.085 000.085: require('nvim-tree.explorer.filters') -216.211 000.273 000.273: require('nvim-tree.view') -216.236 000.399 000.126: require('nvim-tree.live-filter') -216.246 000.795 000.117: require('nvim-tree.explorer.explore') -216.401 000.150 000.150: require('nvim-tree.explorer.reload') -216.415 001.967 000.159: require('nvim-tree.explorer') -216.427 004.273 000.079: require('nvim-tree.core') -216.599 000.166 000.166: require('nvim-tree.diagnostics') -216.736 000.128 000.128: require('nvim-tree.renderer.components.padding') -216.878 000.135 000.135: require('nvim-tree.renderer.components.icons') -217.023 000.137 000.137: require('nvim-tree.renderer.components.full-name') -217.159 000.130 000.130: require('nvim-tree.renderer.help') -217.462 000.200 000.200: require('nvim-tree.renderer.components.git') -217.671 000.201 000.201: require('nvim-tree.renderer.builder') -217.860 000.182 000.182: require('nvim-tree.marks') -217.885 005.824 000.272: require('nvim-tree.renderer') -218.041 000.140 000.140: require('nvim-tree.actions.tree-modifiers.collapse-all') -218.225 000.176 000.176: require('nvim-tree.actions.root.dir-up') -218.363 000.130 000.130: require('nvim-tree.actions.root.change-dir') -218.464 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') -218.613 000.139 000.139: require('nvim-tree.actions.finders.find-file') -218.622 006.686 000.182: require('nvim-tree.lib') -218.780 000.153 000.153: require('nvim-tree.colors') -218.941 000.154 000.154: require('nvim-tree.legacy') -219.076 000.130 000.130: require('nvim-tree.actions.fs.copy-paste') -219.307 000.103 000.103: require('nvim-tree.actions.tree-modifiers.expand-all') -219.397 000.084 000.084: require('nvim-tree.actions.tree-modifiers.toggles') -219.500 000.097 000.097: require('nvim-tree.actions.fs.create-file') -219.594 000.088 000.088: require('nvim-tree.actions.fs.rename-file') -219.723 000.124 000.124: require('nvim-tree.actions.fs.trash') -219.830 000.101 000.101: require('nvim-tree.actions.fs.remove-file') -219.918 000.080 000.080: require('nvim-tree.actions.moves.parent') -220.008 000.085 000.085: require('nvim-tree.actions.moves.sibling') -220.096 000.082 000.082: require('nvim-tree.actions.moves.item') -220.192 000.086 000.086: require('nvim-tree.actions.finders.search-node') -220.275 000.078 000.078: require('nvim-tree.actions.node.run-command') -220.377 000.098 000.098: require('nvim-tree.actions.node.file-popup') -220.493 000.111 000.111: require('nvim-tree.actions.node.system-open') -220.617 000.095 000.095: require('nvim-tree.marks.bulk-move') -220.629 001.547 000.234: require('nvim-tree.actions.dispatch') -220.682 008.952 000.284: require('nvim-tree') -220.763 000.077 000.077: require('nvim-tree.config') -225.457 000.258 000.258: require('nvim-tree.actions') -225.612 000.138 000.138: require('nvim-tree.actions.node.open-file') -231.177 000.215 000.215: require('nvim-tree.marks.navigation') -231.192 000.752 000.537: require('nvim-tree.api') -231.319 001.308 000.556: require('nvim-tree.keymap') -233.412 001.322 001.322: require('nvim-web-devicons') -237.819 026.249 014.194: require('plugins.nvim-tree') -238.149 000.080 000.080: require('lualine_require') -238.693 000.744 000.664: require('lualine') -238.769 000.068 000.068: require('plugins.linecolor') -246.769 000.098 000.098: require('lualine.utils.mode') -249.215 011.383 010.473: require('plugins.lualine') -249.247 152.936 004.285: sourcing /home/sxrdusr/.config/nvim/init.lua -249.266 008.141: sourcing vimrc file(s) -249.558 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -250.909 000.165 000.165: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.lua -252.249 001.187 001.187: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/filetype.vim -254.478 000.324 000.324: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/synload.vim -254.864 002.122 001.798: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/syntax/syntax.vim -261.357 001.228 001.228: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/gzip.vim -261.572 000.105 000.105: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/health.vim -264.456 001.402 001.402: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -264.907 003.231 001.828: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchit.vim -265.364 000.392 000.392: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/matchparen.vim -265.507 000.075 000.075: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/netrwPlugin.vim -265.913 000.024 000.024: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -265.934 000.361 000.337: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/rplugin.vim -266.179 000.184 000.184: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/shada.vim -266.298 000.051 000.051: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/spellfile.vim -266.427 000.062 000.062: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tarPlugin.vim -266.555 000.063 000.063: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tohtml.vim -266.666 000.045 000.045: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/tutor.vim -267.424 000.693 000.693: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/zipPlugin.vim -267.688 000.035 000.035: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -269.082 000.120 000.120: require('lspsaga') -269.341 000.083 000.083: require('lspsaga.window') -269.360 000.181 000.097: require('lspsaga.libs') -270.284 000.369 000.369: require('vim.lsp.log') -270.982 000.690 000.690: require('vim.lsp.protocol') -271.405 000.179 000.179: require('vim.lsp._snippet') -271.540 000.128 000.128: require('vim.highlight') -271.568 000.579 000.272: require('vim.lsp.util') -271.602 001.846 000.207: require('vim.lsp.handlers') -271.792 000.185 000.185: require('vim.lsp.rpc') -271.899 000.100 000.100: require('vim.lsp.sync') -272.049 000.144 000.144: require('vim.lsp.buf') -272.158 000.102 000.102: require('vim.lsp.diagnostic') -272.268 000.104 000.104: require('vim.lsp.codelens') -272.410 002.961 000.479: require('vim.lsp') -272.488 000.069 000.069: require('lspsaga.wrap') -272.498 003.134 000.105: require('lspsaga.codeaction') -272.539 003.448 000.133: require('lspsaga.lightbulb') -272.662 000.089 000.089: require('lspsaga.lspkind') -272.840 000.056 000.056: require('mason-core.path') -272.856 000.130 000.074: require('mason.settings') -273.051 000.055 000.055: require('mason-core.functional.data') -273.059 000.122 000.068: require('mason-core.functional.function') -273.095 000.234 000.112: require('mason-core.platform') -273.099 000.427 000.063: require('mason') -273.317 000.110 000.110: require('mason-core.functional') -273.431 000.094 000.094: require('mason-core.functional.list') -273.472 000.351 000.146: require('mason.api.command') -273.730 000.170 000.170: require('mason-core.log') -273.738 000.261 000.091: require('mason-lspconfig') -273.810 000.069 000.069: require('mason-lspconfig.settings') -273.930 000.083 000.083: require('mason-lspconfig.lspconfig_hook') -274.191 000.255 000.255: require('lspconfig.util') -274.407 000.070 000.070: require('mason-core.functional.table') -274.515 000.300 000.230: require('mason-lspconfig.mappings.server') -274.819 000.121 000.121: require('mason-core.async') -274.889 000.063 000.063: require('mason-core.async.uv') -274.903 000.305 000.121: require('mason-core.fs') -274.984 000.077 000.077: require('mason-core.optional') -275.055 000.066 000.066: require('mason-core.EventEmitter') -275.213 000.154 000.154: require('mason-registry.index') -275.233 000.711 000.111: require('mason-registry') -275.320 000.069 000.069: require('mason-lspconfig.server_config_extensions') -275.415 000.090 000.090: require('lspconfig.configs') -275.544 000.085 000.085: require('lspconfig.server_configurations.omnisharp') -275.748 000.074 000.074: require('mason-lspconfig.ensure_installed') -276.005 000.072 000.072: require('mason-core.result') -276.417 000.240 000.240: require('mason-core.process') -276.495 000.070 000.070: require('mason-core.functional.relation') -276.570 000.064 000.064: require('mason-core.functional.logic') -276.586 000.480 000.107: require('mason-core.spawn') -276.672 000.081 000.081: require('mason-core.receipt') -276.761 000.078 000.078: require('mason-core.functional.string') -276.793 000.783 000.144: require('mason-core.installer.context') -276.869 000.072 000.072: require('mason-core.installer.linker') -276.943 000.070 000.070: require('mason-core.async.control') -276.955 001.111 000.114: require('mason-core.installer') -277.048 000.090 000.090: require('mason-core.installer.handle') -277.418 000.067 000.067: require('mason-core.managers.powershell') -277.428 000.146 000.079: require('mason-core.fetch') -277.432 000.212 000.066: require('mason-core.managers.cargo.client') -277.559 000.435 000.223: require('mason-core.managers.cargo') -277.681 000.116 000.116: require('mason-core.managers.composer') -277.797 000.110 000.110: require('mason-core.managers.gem') -277.878 000.076 000.076: require('mason-core.managers.git') -278.059 000.095 000.095: require('mason-core.managers.std') -278.142 000.078 000.078: require('mason-core.managers.github.client') -278.155 000.273 000.100: require('mason-core.managers.github') -278.342 000.183 000.183: require('mason-core.managers.go') -278.486 000.139 000.139: require('mason-core.managers.luarocks') -278.592 000.101 000.101: require('mason-core.managers.npm') -278.705 000.108 000.108: require('mason-core.managers.pip3') -278.716 001.661 000.121: require('mason-core.package.version-check') -278.728 002.974 000.112: require('mason-core.package') -278.830 000.089 000.089: require('mason-registry.lua-language-server') -279.275 000.122 000.122: require('mason-registry.clangd') -279.487 000.147 000.147: require('mason-registry.rust-analyzer') -279.655 000.067 000.067: require('mason-core.notify') -279.733 000.071 000.071: require('mason-core.functional.number') -279.785 000.289 000.152: require('mason-lspconfig.api.command') -279.791 011.969 001.915: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -280.735 000.090 000.090: sourcing /tmp/.mount_nvimCHM7IC/usr/share/nvim/runtime/plugin/man.lua -280.920 009.546: loading rtp plugins -282.674 000.073 000.073: require('Comment.config') -282.771 000.089 000.089: require('Comment.utils') -282.846 000.071 000.071: require('Comment.opfunc') -282.917 000.066 000.066: require('Comment.extra') -282.933 000.458 000.160: require('Comment.api') -283.468 001.047 000.589: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -284.190 000.090 000.090: require('luasnip.util.types') -284.274 000.076 000.076: require('luasnip.util.ext_opts') -284.352 000.074 000.074: require('luasnip.extras.filetype_functions') -284.425 000.068 000.068: require('luasnip.session') -284.739 000.127 000.127: require('luasnip.util.util') -284.819 000.075 000.075: require('luasnip.nodes.util') -284.887 000.062 000.062: require('luasnip.util.events') -284.908 000.387 000.123: require('luasnip.nodes.node') -285.048 000.095 000.095: require('luasnip.util.extend_decorator') -285.063 000.633 000.151: require('luasnip.nodes.insertNode') -285.330 000.083 000.083: require('luasnip.util.mark') -285.616 000.140 000.140: require('luasnip.nodes.textNode') -286.531 000.827 000.827: require('luasnip.util._builtin_vars') -286.833 001.209 000.383: require('luasnip.util.environ') -286.926 000.086 000.086: require('luasnip.util.pattern_tokenizer') -286.999 000.068 000.068: require('luasnip.util.dict') -287.096 000.092 000.092: require('luasnip.session.snippet_collection') -287.152 001.816 000.221: require('luasnip.nodes.snippet') -287.188 002.122 000.223: require('luasnip.nodes.choiceNode') -287.368 000.112 000.112: require('luasnip.nodes.functionNode') -287.544 000.169 000.169: require('luasnip.nodes.dynamicNode') -287.688 000.138 000.138: require('luasnip.nodes.restoreNode') -287.780 000.086 000.086: require('luasnip.extras') -287.977 000.068 000.068: require('luasnip.util.str') -287.989 000.202 000.133: require('luasnip.extras.fmt') -288.054 000.061 000.061: require('luasnip.extras.expand_conditions') -290.201 000.078 000.078: require('luasnip.util.parser.neovim_ast') -300.163 000.097 000.097: require('luasnip.util.directed_graph') -300.185 012.054 011.879: require('luasnip.util.parser.ast_utils') -300.367 000.085 000.085: require('luasnip.util.functions') -300.387 000.196 000.111: require('luasnip.util.parser.ast_parser') -300.563 000.173 000.173: require('luasnip.util.parser.neovim_parser') -300.577 012.513 000.090: require('luasnip.util.parser') -300.655 000.074 000.074: require('luasnip.nodes.absolute_indexer') -301.222 017.241 000.824: require('luasnip.config') -301.385 017.742 000.502: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -302.266 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -303.147 000.099 000.099: require('indent_blankline/utils') -303.156 000.256 000.156: require('indent_blankline') -303.623 000.093 000.093: require('indent_blankline.commands') -303.782 001.055 000.706: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -304.216 000.098 000.098: require('lsp-colors') -305.024 000.956 000.858: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -306.488 001.075 001.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -307.360 000.411 000.411: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -307.912 000.092 000.092: require('cmp.utils.api') -308.048 000.066 000.066: require('cmp.types.cmp') -308.210 000.080 000.080: require('cmp.utils.misc') -308.328 000.274 000.194: require('cmp.types.lsp') -308.401 000.067 000.067: require('cmp.types.vim') -308.406 000.487 000.081: require('cmp.types') -308.475 000.065 000.065: require('cmp.utils.highlight') -308.602 000.060 000.060: require('cmp.utils.debug') -308.617 000.137 000.077: require('cmp.utils.autocmd') -309.515 001.773 000.991: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -309.780 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -310.207 000.104 000.104: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -310.692 000.172 000.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -311.299 000.065 000.065: require('nvim-treesitter.statusline') -311.390 000.084 000.084: require('nvim-treesitter.query_predicates') -311.397 000.237 000.087: require('nvim-treesitter') -312.386 000.250 000.250: require('vim.treesitter.highlighter') -312.746 000.762 000.512: require('nvim-treesitter.highlight') -313.417 002.309 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -313.878 000.234 000.234: require('treesitter-context') -313.888 000.278 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -314.260 000.086 000.086: require('nvim-treesitter-refactor') -314.421 000.273 000.187: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -314.787 000.110 000.110: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -315.167 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -315.536 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -316.316 000.428 000.428: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -316.677 000.059 000.059: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -317.659 000.460 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -318.449 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -319.069 000.362 000.362: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -319.927 000.594 000.594: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -320.227 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -320.530 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -322.022 011.008: loading packages -323.663 000.443 000.443: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -328.017 005.446 005.003: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -328.726 000.122 000.122: require('cmp.utils.char') -328.741 000.206 000.084: require('cmp.utils.str') -328.812 000.067 000.067: require('cmp.utils.pattern') -329.041 000.067 000.067: require('cmp.utils.buffer') -329.055 000.166 000.099: require('cmp.utils.keymap') -329.064 000.247 000.081: require('cmp.utils.feedkeys') -329.153 000.085 000.085: require('cmp.utils.async') -329.288 000.060 000.060: require('cmp.utils.cache') -329.295 000.137 000.076: require('cmp.context') -329.538 000.082 000.082: require('cmp.config.mapping') -329.700 000.081 000.081: require('cmp.config.compare') -329.705 000.160 000.079: require('cmp.config.default') -329.731 000.347 000.104: require('cmp.config') -329.907 000.066 000.066: require('cmp.matcher') -329.920 000.185 000.119: require('cmp.entry') -329.934 000.636 000.104: require('cmp.source') -330.070 000.059 000.059: require('cmp.utils.event') -330.244 000.086 000.086: require('cmp.utils.window') -330.251 000.175 000.089: require('cmp.view.docs_view') -330.368 000.115 000.115: require('cmp.view.custom_entries_view') -330.485 000.111 000.111: require('cmp.view.wildmenu_entries_view') -330.590 000.100 000.100: require('cmp.view.native_entries_view') -330.668 000.073 000.073: require('cmp.view.ghost_text_view') -330.686 000.748 000.115: require('cmp.view') -330.759 002.340 000.215: require('cmp.core') -331.206 000.068 000.068: require('cmp.config.sources') -331.275 000.061 000.061: require('cmp.config.window') -331.378 003.082 000.613: require('cmp') -331.667 000.065 000.065: require('cmp_buffer.timer') -331.676 000.156 000.090: require('cmp_buffer.buffer') -331.684 000.236 000.080: require('cmp_buffer.source') -331.688 000.305 000.069: require('cmp_buffer') -331.717 003.480 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -332.116 000.150 000.150: require('cmp_cmdline') -332.152 000.259 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -332.495 000.072 000.072: require('cmp_nvim_lsp.source') -332.502 000.149 000.078: require('cmp_nvim_lsp') -332.552 000.244 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -332.866 000.115 000.115: require('cmp_path') -332.896 000.193 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -333.187 000.090 000.090: require('cmp_luasnip') -333.256 000.210 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -333.412 001.558: loading after plugins -333.475 000.062: inits 3 -333.487 000.013: reading ShaDa -333.892 000.092 000.092: require('luasnip.loaders._caches') -334.006 000.108 000.108: require('luasnip.util.path') -334.098 000.086 000.086: require('luasnip.loaders.util') -334.316 000.100 000.100: require('luasnip.loaders') -334.355 000.252 000.151: require('luasnip') -334.362 000.653 000.115: require('luasnip.loaders.from_lua') -334.576 000.074 000.074: require('luasnip.nodes.snippetProxy') -334.586 000.175 000.101: require('luasnip.loaders.from_snipmate') -334.714 000.088 000.088: require('luasnip.loaders.from_vscode') -335.773 001.369: opening buffers -335.985 000.212: BufEnter autocommands -335.991 000.006: editing files in windows -351.037 000.897 000.897: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.080 001.080: --- NVIM STARTING --- -027.406 026.326: event init -043.818 016.412: early init -045.469 001.651: locale set -050.897 005.428: init first window -060.729 009.831: inits 1 -060.758 000.029: window checked -060.768 000.010: parsing arguments -071.499 000.121 000.121: require('vim.shared') -071.736 000.114 000.114: require('vim._meta') -071.742 000.234 000.119: require('vim._editor') -071.746 000.411 000.057: require('vim._init_packages') -071.749 010.570: init lua interpreter -071.828 000.079: expanding arguments -073.656 001.828: inits 2 -074.260 000.605: init highlight -074.265 000.004: waiting for UI -076.636 002.371: done waiting for UI -076.670 000.035: init screen for UI -076.912 000.241: init default mappings -076.939 000.028: init default autocommands -085.849 003.940 003.940: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/ftplugin.vim -087.715 000.864 000.864: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/indent.vim -087.951 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim -087.963 000.086 000.059: sourcing /etc/xdg/nvim/sysinit.vim -096.976 005.642 005.642: require('keys') -099.478 002.489 002.489: require('opts') -102.067 000.524 000.524: require('packer.util') -102.123 002.264 001.740: require('packer') -103.995 000.611 000.611: require('packer.log') -104.017 001.096 000.485: require('packer.async') -105.004 000.395 000.395: require('packer.result') -105.013 000.991 000.596: require('packer.jobs') -105.029 002.859 000.772: require('packer.plugin_utils') -105.671 000.619 000.619: require('packer.snapshot') -106.678 007.192 001.450: require('pack') -117.616 010.929 010.929: require('impatient') -118.465 000.192 000.192: require('vim.treesitter.language') -118.485 000.545 000.353: require('vim.treesitter.query') -119.777 000.239 000.239: require('vim.treesitter.languagetree') -119.839 000.619 000.380: require('vim.treesitter') -120.125 001.208 000.589: require('nvim-treesitter.parsers') -120.247 000.116 000.116: require('nvim-treesitter.utils') -120.262 001.550 000.226: require('nvim-treesitter.ts_utils') -120.271 001.781 000.231: require('nvim-treesitter.tsrange') -120.346 000.072 000.072: require('nvim-treesitter.caching') -120.368 002.520 000.122: require('nvim-treesitter.query') -120.394 002.687 000.167: require('nvim-treesitter.configs') -120.789 000.085 000.085: require('nvim-treesitter.info') -120.911 000.116 000.116: require('nvim-treesitter.shell_command_selectors') -120.959 000.452 000.250: require('nvim-treesitter.install') -163.436 045.806 042.666: require('plugins.treesitter') -163.913 000.263 000.263: require('telescope._extensions') -163.923 000.350 000.088: require('telescope') -164.650 000.083 000.083: require('plenary.bit') -164.727 000.071 000.071: require('plenary.functional') -164.774 000.028 000.028: require('ffi') -164.798 000.360 000.178: require('plenary.path') -164.812 000.452 000.092: require('plenary.strings') -164.881 000.066 000.066: require('telescope.deprecated') -165.525 000.355 000.355: require('plenary.log') -165.613 000.628 000.273: require('telescope.log') -166.068 000.281 000.281: require('plenary.job') -166.146 000.071 000.071: require('telescope.state') -166.167 000.548 000.196: require('telescope.utils') -166.178 001.291 000.115: require('telescope.sorters') -166.339 000.139 000.139: require('vim.inspect') -166.544 000.011 000.011: require('vim.F') -169.773 005.637 003.678: require('telescope.config') -170.373 000.089 000.089: require('plenary.window.border') -170.442 000.063 000.063: require('plenary.window') -170.504 000.057 000.057: require('plenary.popup.utils') -170.515 000.733 000.525: require('plenary.popup') -170.584 000.065 000.065: require('telescope.pickers.scroller') -170.652 000.064 000.064: require('telescope.actions.state') -170.724 000.067 000.067: require('telescope.actions.utils') -170.865 000.067 000.067: require('telescope.actions.mt') -170.895 000.167 000.099: require('telescope.actions.set') -171.089 000.072 000.072: require('telescope.config.resolve') -171.099 000.152 000.080: require('telescope.pickers.entry_display') -171.158 000.056 000.056: require('telescope.from_entry') -171.494 007.567 000.626: require('telescope.actions') -172.112 000.077 000.077: require('plenary.tbl') -172.121 000.172 000.094: require('plenary.vararg.rotate') -172.125 000.232 000.060: require('plenary.vararg') -172.186 000.058 000.058: require('plenary.errors') -172.198 000.367 000.077: require('plenary.async.async') -172.264 000.063 000.063: require('plenary.async.structs') -172.278 000.518 000.089: require('plenary.async.control') -172.615 000.234 000.234: require('telescope.make_entry') -172.879 000.074 000.074: require('plenary.async.util') -172.886 000.136 000.063: require('plenary.async.tests') -172.890 000.203 000.066: require('plenary.async') -172.894 000.273 000.070: require('telescope.finders.async_static_finder') -173.099 000.057 000.057: require('plenary.class') -173.124 000.162 000.106: require('telescope._') -173.129 000.232 000.070: require('telescope.finders.async_oneshot_finder') -173.199 000.066 000.066: require('telescope.finders.async_job_finder') -173.208 000.925 000.119: require('telescope.finders') -173.492 000.103 000.103: require('telescope.debounce') -173.650 000.152 000.152: require('telescope.mappings') -173.736 000.081 000.081: require('telescope.pickers.highlights') -173.812 000.070 000.070: require('telescope.pickers.window') -173.959 000.070 000.070: require('telescope.algos.linked_list') -173.966 000.150 000.080: require('telescope.entry_manager') -174.031 000.062 000.062: require('telescope.pickers.multi') -174.060 000.849 000.232: require('telescope.pickers') -174.075 002.421 000.129: require('telescope.builtin.__lsp') -174.124 002.624 000.203: require('telescope.builtin') -174.430 000.222 000.222: require('fzf_lib') -174.440 000.310 000.088: require('telescope._extensions.fzf') -174.788 000.093 000.093: require('telescope._extensions.file_browser.utils') -174.884 000.353 000.260: require('telescope._extensions.file_browser.actions') -175.118 000.142 000.142: require('telescope._extensions.file_browser.make_entry') -175.267 000.143 000.143: require('plenary.scandir') -175.316 000.427 000.142: require('telescope._extensions.file_browser.finders') -175.401 000.081 000.081: require('telescope._extensions.file_browser.picker') -175.494 000.088 000.088: require('telescope._extensions.file_browser.config') -175.500 001.050 000.100: require('telescope._extensions.file_browser') -179.114 000.014 000.014: require('vim.keymap') -179.332 015.886 003.971: require('plugins.telescope') -180.337 000.061 000.061: require('notify.util.queue') -180.346 000.147 000.085: require('notify.util') -180.570 000.221 000.221: require('notify.config.highlights') -180.587 000.469 000.102: require('notify.config') -180.765 000.174 000.174: require('notify.stages') -180.841 000.069 000.069: require('notify.service.notification') -181.057 000.060 000.060: require('notify.animate.spring') -181.063 000.120 000.060: require('notify.animate') -181.076 000.230 000.110: require('notify.windows') -181.365 000.108 000.108: require('notify.service.buffer.highlights') -181.379 000.225 000.116: require('notify.service.buffer') -181.385 000.306 000.081: require('notify.service') -181.497 000.108 000.108: require('notify.stages.util') -181.507 001.480 000.123: require('notify') -181.616 000.106 000.106: require('nvim-tree.iterators.node-iterator') -181.725 001.805 000.219: require('nvim-tree.utils') -181.738 001.887 000.083: require('nvim-tree.events') -181.989 000.078 000.078: require('nvim-tree.log') -182.151 000.156 000.156: require('nvim-tree.git.utils') -182.251 000.095 000.095: require('nvim-tree.git.runner') -182.369 000.113 000.113: require('nvim-tree.watcher') -182.393 000.567 000.125: require('nvim-tree.git') -182.492 000.095 000.095: require('nvim-tree.explorer.watch') -182.580 000.083 000.083: require('nvim-tree.explorer.common') -182.807 000.090 000.090: require('nvim-tree.explorer.node-builders') -182.903 000.089 000.089: require('nvim-tree.explorer.sorters') -183.040 000.132 000.132: require('nvim-tree.explorer.filters') -183.398 000.251 000.251: require('nvim-tree.view') -183.410 000.366 000.114: require('nvim-tree.live-filter') -183.421 000.797 000.120: require('nvim-tree.explorer.explore') -183.517 000.093 000.093: require('nvim-tree.explorer.reload') -183.527 001.785 000.150: require('nvim-tree.explorer') -183.545 003.754 000.082: require('nvim-tree.core') -183.660 000.111 000.111: require('nvim-tree.diagnostics') -183.753 000.087 000.087: require('nvim-tree.renderer.components.padding') -183.842 000.084 000.084: require('nvim-tree.renderer.components.icons') -183.948 000.101 000.101: require('nvim-tree.renderer.components.full-name') -184.037 000.085 000.085: require('nvim-tree.renderer.help') -184.170 000.127 000.127: require('nvim-tree.renderer.components.git') -184.303 000.128 000.128: require('nvim-tree.renderer.builder') -184.399 000.091 000.091: require('nvim-tree.marks') -184.415 004.706 000.137: require('nvim-tree.renderer') -184.518 000.089 000.089: require('nvim-tree.actions.tree-modifiers.collapse-all') -184.609 000.086 000.086: require('nvim-tree.actions.root.dir-up') -184.703 000.089 000.089: require('nvim-tree.actions.root.change-dir') -184.787 000.079 000.079: require('nvim-tree.actions.reloaders.reloaders') -184.875 000.079 000.079: require('nvim-tree.actions.finders.find-file') -184.880 005.245 000.117: require('nvim-tree.lib') -184.995 000.111 000.111: require('nvim-tree.colors') -185.150 000.149 000.149: require('nvim-tree.legacy') -185.288 000.132 000.132: require('nvim-tree.actions.fs.copy-paste') -185.532 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') -185.617 000.078 000.078: require('nvim-tree.actions.tree-modifiers.toggles') -185.756 000.132 000.132: require('nvim-tree.actions.fs.create-file') -185.858 000.095 000.095: require('nvim-tree.actions.fs.rename-file') -185.985 000.121 000.121: require('nvim-tree.actions.fs.trash') -186.111 000.121 000.121: require('nvim-tree.actions.fs.remove-file') -186.203 000.085 000.085: require('nvim-tree.actions.moves.parent') -186.287 000.079 000.079: require('nvim-tree.actions.moves.sibling') -186.369 000.076 000.076: require('nvim-tree.actions.moves.item') -186.482 000.089 000.089: require('nvim-tree.actions.finders.search-node') -186.565 000.078 000.078: require('nvim-tree.actions.node.run-command') -186.658 000.088 000.088: require('nvim-tree.actions.node.file-popup') -186.795 000.132 000.132: require('nvim-tree.actions.node.system-open') -186.898 000.095 000.095: require('nvim-tree.marks.bulk-move') -186.906 001.612 000.242: require('nvim-tree.actions.dispatch') -186.960 007.522 000.273: require('nvim-tree') -187.039 000.075 000.075: require('nvim-tree.config') -192.091 000.306 000.306: require('nvim-tree.actions') -192.263 000.152 000.152: require('nvim-tree.actions.node.open-file') -196.580 000.258 000.258: require('nvim-tree.marks.navigation') -196.599 001.236 000.978: require('nvim-tree.api') -196.734 001.594 000.357: require('nvim-tree.keymap') -199.512 002.025 002.025: require('nvim-web-devicons') -203.706 024.367 012.694: require('plugins.nvim-tree') -204.070 000.080 000.080: require('lualine_require') -204.613 000.770 000.690: require('lualine') -204.685 000.065 000.065: require('plugins.linecolor') -213.446 000.088 000.088: require('lualine.utils.mode') -215.545 011.829 010.906: require('plugins.lualine') -215.554 127.545 003.406: sourcing /home/sxrdusr/.config/nvim/init.lua -215.571 006.197: sourcing vimrc file(s) -215.888 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -217.247 000.068 000.068: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.lua -218.594 001.163 001.163: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/filetype.vim -222.514 000.412 000.412: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/synload.vim -222.762 003.325 002.913: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/syntax/syntax.vim -231.144 002.457 002.457: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/gzip.vim -231.338 000.069 000.069: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/health.vim -234.897 002.302 002.302: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -235.369 003.968 001.667: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchit.vim -235.874 000.439 000.439: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/matchparen.vim -236.128 000.132 000.132: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/netrwPlugin.vim -236.569 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -236.590 000.393 000.372: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/rplugin.vim -236.889 000.215 000.215: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/shada.vim -237.045 000.083 000.083: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/spellfile.vim -237.420 000.309 000.309: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tarPlugin.vim -237.699 000.210 000.210: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tohtml.vim -237.832 000.066 000.066: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/tutor.vim -239.418 001.521 001.521: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/zipPlugin.vim -240.901 001.250 001.250: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -242.244 000.130 000.130: require('lspsaga') -242.541 000.087 000.087: require('lspsaga.window') -242.561 000.223 000.135: require('lspsaga.libs') -243.563 000.403 000.403: require('vim.lsp.log') -244.323 000.753 000.753: require('vim.lsp.protocol') -244.738 000.179 000.179: require('vim.lsp._snippet') -244.874 000.130 000.130: require('vim.highlight') -244.902 000.572 000.264: require('vim.lsp.util') -244.921 001.953 000.225: require('vim.lsp.handlers') -245.149 000.225 000.225: require('vim.lsp.rpc') -245.278 000.122 000.122: require('vim.lsp.sync') -245.455 000.170 000.170: require('vim.lsp.buf') -245.583 000.123 000.123: require('vim.lsp.diagnostic') -245.762 000.173 000.173: require('vim.lsp.codelens') -245.998 003.347 000.582: require('vim.lsp') -246.078 000.072 000.072: require('lspsaga.wrap') -246.088 003.523 000.104: require('lspsaga.codeaction') -246.147 003.895 000.150: require('lspsaga.lightbulb') -246.279 000.090 000.090: require('lspsaga.lspkind') -246.456 000.056 000.056: require('mason-core.path') -246.472 000.128 000.072: require('mason.settings') -246.696 000.053 000.053: require('mason-core.functional.data') -246.704 000.122 000.069: require('mason-core.functional.function') -246.741 000.265 000.143: require('mason-core.platform') -246.746 000.457 000.064: require('mason') -246.951 000.103 000.103: require('mason-core.functional') -247.046 000.077 000.077: require('mason-core.functional.list') -247.086 000.318 000.138: require('mason.api.command') -247.253 000.093 000.093: require('mason-core.log') -247.260 000.170 000.077: require('mason-lspconfig') -247.323 000.059 000.059: require('mason-lspconfig.settings') -247.407 000.066 000.066: require('mason-lspconfig.lspconfig_hook') -247.643 000.232 000.232: require('lspconfig.util') -247.953 000.084 000.084: require('mason-core.functional.table') -248.053 000.296 000.211: require('mason-lspconfig.mappings.server') -248.324 000.084 000.084: require('mason-core.async') -248.393 000.062 000.062: require('mason-core.async.uv') -248.404 000.269 000.123: require('mason-core.fs') -248.477 000.069 000.069: require('mason-core.optional') -248.549 000.068 000.068: require('mason-core.EventEmitter') -248.699 000.145 000.145: require('mason-registry.index') -248.726 000.667 000.117: require('mason-registry') -248.799 000.068 000.068: require('mason-lspconfig.server_config_extensions') -248.932 000.129 000.129: require('lspconfig.configs') -249.152 000.176 000.176: require('lspconfig.server_configurations.omnisharp') -249.411 000.075 000.075: require('mason-lspconfig.ensure_installed') -249.664 000.076 000.076: require('mason-core.result') -250.074 000.234 000.234: require('mason-core.process') -250.151 000.069 000.069: require('mason-core.functional.relation') -250.225 000.066 000.066: require('mason-core.functional.logic') -250.238 000.475 000.106: require('mason-core.spawn') -250.323 000.082 000.082: require('mason-core.receipt') -250.409 000.071 000.071: require('mason-core.functional.string') -250.437 000.768 000.141: require('mason-core.installer.context') -250.513 000.072 000.072: require('mason-core.installer.linker') -250.587 000.070 000.070: require('mason-core.async.control') -250.595 001.086 000.101: require('mason-core.installer') -250.695 000.097 000.097: require('mason-core.installer.handle') -251.037 000.066 000.066: require('mason-core.managers.powershell') -251.043 000.138 000.073: require('mason-core.fetch') -251.047 000.200 000.061: require('mason-core.managers.cargo.client') -251.294 000.526 000.327: require('mason-core.managers.cargo') -251.449 000.148 000.148: require('mason-core.managers.composer') -251.567 000.112 000.112: require('mason-core.managers.gem') -251.649 000.077 000.077: require('mason-core.managers.git') -251.832 000.090 000.090: require('mason-core.managers.std') -251.912 000.075 000.075: require('mason-core.managers.github.client') -251.925 000.271 000.106: require('mason-core.managers.github') -252.028 000.100 000.100: require('mason-core.managers.go') -252.155 000.122 000.122: require('mason-core.managers.luarocks') -252.261 000.101 000.101: require('mason-core.managers.npm') -252.406 000.139 000.139: require('mason-core.managers.pip3') -252.423 001.722 000.125: require('mason-core.package.version-check') -252.433 003.015 000.110: require('mason-core.package') -252.549 000.091 000.091: require('mason-registry.lua-language-server') -252.939 000.191 000.191: require('mason-registry.clangd') -253.173 000.194 000.194: require('mason-registry.rust-analyzer') -253.330 000.055 000.055: require('mason-core.notify') -253.408 000.068 000.068: require('mason-core.functional.number') -253.465 000.282 000.159: require('mason-lspconfig.api.command') -253.471 012.397 001.794: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -254.877 000.113 000.113: sourcing /tmp/.mount_nvimPFskb9/usr/share/nvim/runtime/plugin/man.lua -255.100 011.297: loading rtp plugins -256.891 000.076 000.076: require('Comment.config') -256.985 000.086 000.086: require('Comment.utils') -257.060 000.070 000.070: require('Comment.opfunc') -257.130 000.065 000.065: require('Comment.extra') -257.145 000.468 000.170: require('Comment.api') -257.568 000.946 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -258.251 000.068 000.068: require('luasnip.util.types') -258.335 000.077 000.077: require('luasnip.util.ext_opts') -258.413 000.073 000.073: require('luasnip.extras.filetype_functions') -258.485 000.067 000.067: require('luasnip.session') -258.793 000.118 000.118: require('luasnip.util.util') -258.874 000.075 000.075: require('luasnip.nodes.util') -258.941 000.063 000.063: require('luasnip.util.events') -258.958 000.376 000.119: require('luasnip.nodes.node') -259.103 000.096 000.096: require('luasnip.util.extend_decorator') -259.115 000.625 000.153: require('luasnip.nodes.insertNode') -259.378 000.090 000.090: require('luasnip.util.mark') -259.606 000.093 000.093: require('luasnip.nodes.textNode') -260.491 000.806 000.806: require('luasnip.util._builtin_vars') -260.690 001.078 000.272: require('luasnip.util.environ') -260.786 000.090 000.090: require('luasnip.util.pattern_tokenizer') -260.853 000.062 000.062: require('luasnip.util.dict') -260.946 000.088 000.088: require('luasnip.session.snippet_collection') -261.000 001.615 000.205: require('luasnip.nodes.snippet') -261.029 001.911 000.206: require('luasnip.nodes.choiceNode') -261.206 000.114 000.114: require('luasnip.nodes.functionNode') -261.370 000.157 000.157: require('luasnip.nodes.dynamicNode') -261.490 000.114 000.114: require('luasnip.nodes.restoreNode') -261.582 000.086 000.086: require('luasnip.extras') -263.685 002.019 002.019: require('luasnip.util.str') -263.699 002.110 000.091: require('luasnip.extras.fmt') -263.788 000.083 000.083: require('luasnip.extras.expand_conditions') -264.029 000.075 000.075: require('luasnip.util.parser.neovim_ast') -277.336 000.093 000.093: require('luasnip.util.directed_graph') -277.357 013.492 013.325: require('luasnip.util.parser.ast_utils') -277.516 000.067 000.067: require('luasnip.util.functions') -277.529 000.167 000.100: require('luasnip.util.parser.ast_parser') -277.696 000.163 000.163: require('luasnip.util.parser.neovim_parser') -277.708 013.913 000.090: require('luasnip.util.parser') -277.779 000.066 000.066: require('luasnip.nodes.absolute_indexer') -278.395 020.332 000.867: require('luasnip.config') -278.560 020.810 000.478: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -279.482 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -280.347 000.091 000.091: require('indent_blankline/utils') -280.356 000.243 000.152: require('indent_blankline') -280.865 000.093 000.093: require('indent_blankline.commands') -281.069 001.130 000.793: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -281.484 000.096 000.096: require('lsp-colors') -281.881 000.545 000.449: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -283.314 001.039 001.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -284.157 000.385 000.385: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -284.682 000.088 000.088: require('cmp.utils.api') -284.811 000.061 000.061: require('cmp.types.cmp') -284.973 000.083 000.083: require('cmp.utils.misc') -285.067 000.251 000.168: require('cmp.types.lsp') -285.136 000.063 000.063: require('cmp.types.vim') -285.142 000.453 000.079: require('cmp.types') -285.208 000.062 000.062: require('cmp.utils.highlight') -285.330 000.055 000.055: require('cmp.utils.debug') -285.351 000.139 000.084: require('cmp.utils.autocmd') -285.930 001.404 000.661: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -286.193 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -286.604 000.102 000.102: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -287.061 000.154 000.154: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -287.709 000.068 000.068: require('nvim-treesitter.statusline') -287.795 000.080 000.080: require('nvim-treesitter.query_predicates') -287.802 000.235 000.087: require('nvim-treesitter') -289.115 000.255 000.255: require('vim.treesitter.highlighter') -289.471 000.761 000.506: require('nvim-treesitter.highlight') -289.873 002.400 001.404: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -290.336 000.219 000.219: require('treesitter-context') -290.346 000.259 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -290.708 000.080 000.080: require('nvim-treesitter-refactor') -290.977 000.375 000.295: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -291.352 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -291.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -292.092 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -292.887 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -293.259 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -294.235 000.484 000.484: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -295.020 000.494 000.494: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -295.620 000.349 000.349: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -296.512 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -296.818 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -297.099 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -298.594 011.053: loading packages -300.317 000.483 000.483: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -304.622 005.447 004.964: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -305.441 000.235 000.235: require('cmp.utils.char') -305.461 000.333 000.098: require('cmp.utils.str') -305.537 000.071 000.071: require('cmp.utils.pattern') -305.802 000.083 000.083: require('cmp.utils.buffer') -305.818 000.210 000.128: require('cmp.utils.keymap') -305.827 000.285 000.075: require('cmp.utils.feedkeys') -305.917 000.087 000.087: require('cmp.utils.async') -306.045 000.057 000.057: require('cmp.utils.cache') -306.058 000.135 000.078: require('cmp.context') -306.303 000.077 000.077: require('cmp.config.mapping') -306.465 000.079 000.079: require('cmp.config.compare') -306.470 000.161 000.081: require('cmp.config.default') -306.496 000.349 000.111: require('cmp.config') -306.668 000.065 000.065: require('cmp.matcher') -306.681 000.182 000.116: require('cmp.entry') -306.692 000.631 000.100: require('cmp.source') -306.832 000.064 000.064: require('cmp.utils.event') -306.997 000.088 000.088: require('cmp.utils.window') -307.004 000.167 000.079: require('cmp.view.docs_view') -307.117 000.110 000.110: require('cmp.view.custom_entries_view') -307.224 000.102 000.102: require('cmp.view.wildmenu_entries_view') -307.309 000.080 000.080: require('cmp.view.native_entries_view') -307.385 000.072 000.072: require('cmp.view.ghost_text_view') -307.402 000.707 000.112: require('cmp.view') -307.510 002.498 000.249: require('cmp.core') -307.774 000.074 000.074: require('cmp.config.sources') -307.838 000.058 000.058: require('cmp.config.window') -307.940 003.047 000.417: require('cmp') -308.208 000.061 000.061: require('cmp_buffer.timer') -308.217 000.143 000.082: require('cmp_buffer.buffer') -308.222 000.220 000.078: require('cmp_buffer.source') -308.226 000.281 000.061: require('cmp_buffer') -308.256 003.417 000.089: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -308.633 000.153 000.153: require('cmp_cmdline') -308.667 000.236 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -308.999 000.072 000.072: require('cmp_nvim_lsp.source') -309.006 000.147 000.075: require('cmp_nvim_lsp') -309.084 000.268 000.121: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -309.398 000.114 000.114: require('cmp_path') -309.432 000.197 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -309.712 000.085 000.085: require('cmp_luasnip') -309.781 000.199 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -309.930 001.571: loading after plugins -309.992 000.062: inits 3 -310.006 000.014: reading ShaDa -310.393 000.068 000.068: require('luasnip.loaders._caches') -310.505 000.105 000.105: require('luasnip.util.path') -310.592 000.082 000.082: require('luasnip.loaders.util') -310.822 000.111 000.111: require('luasnip.loaders') -310.860 000.263 000.151: require('luasnip') -310.867 000.635 000.118: require('luasnip.loaders.from_lua') -311.072 000.071 000.071: require('luasnip.nodes.snippetProxy') -311.081 000.167 000.096: require('luasnip.loaders.from_snipmate') -311.240 000.091 000.091: require('luasnip.loaders.from_vscode') -311.943 001.045: opening buffers -312.150 000.207: BufEnter autocommands -312.157 000.006: editing files in windows -327.507 000.688 000.688: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.319 001.319: --- NVIM STARTING --- -030.721 029.402: event init -047.792 017.071: early init -049.585 001.792: locale set -055.317 005.732: init first window -065.751 010.434: inits 1 -065.775 000.025: window checked -065.783 000.008: parsing arguments -077.866 000.266 000.266: require('vim.shared') -078.373 000.236 000.236: require('vim._meta') -078.386 000.497 000.261: require('vim._editor') -078.394 000.903 000.139: require('vim._init_packages') -078.401 011.715: init lua interpreter -078.562 000.161: expanding arguments -080.531 001.969: inits 2 -081.878 001.347: init highlight -081.888 000.010: waiting for UI -084.866 002.978: done waiting for UI -084.916 000.050: init screen for UI -085.278 000.361: init default mappings -085.312 000.035: init default autocommands -097.149 004.626 004.626: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/ftplugin.vim -100.189 001.071 001.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/indent.vim -100.744 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim -100.769 000.180 000.123: sourcing /etc/xdg/nvim/sysinit.vim -114.486 007.066 007.066: require('keys') -116.767 002.270 002.270: require('opts') -119.360 000.518 000.518: require('packer.util') -119.441 002.273 001.755: require('packer') -121.592 000.885 000.885: require('packer.log') -121.606 001.371 000.486: require('packer.async') -122.581 000.395 000.395: require('packer.result') -122.589 000.978 000.583: require('packer.jobs') -122.606 003.115 000.766: require('packer.plugin_utils') -123.247 000.619 000.619: require('packer.snapshot') -124.534 007.759 001.752: require('pack') -143.252 018.703 018.703: require('impatient') -145.195 000.383 000.383: require('vim.treesitter.language') -145.225 001.260 000.877: require('vim.treesitter.query') -146.906 000.447 000.447: require('vim.treesitter.languagetree') -147.037 000.947 000.500: require('vim.treesitter') -147.497 001.828 000.882: require('nvim-treesitter.parsers') -147.696 000.190 000.190: require('nvim-treesitter.utils') -147.719 002.227 000.209: require('nvim-treesitter.ts_utils') -147.732 002.501 000.273: require('nvim-treesitter.tsrange') -147.854 000.116 000.116: require('nvim-treesitter.caching') -147.890 004.072 000.195: require('nvim-treesitter.query') -147.933 004.487 000.416: require('nvim-treesitter.configs') -148.437 000.212 000.212: require('nvim-treesitter.info') -148.898 000.450 000.450: require('nvim-treesitter.shell_command_selectors') -148.976 001.005 000.343: require('nvim-treesitter.install') -198.789 055.516 050.023: require('plugins.treesitter') -199.156 000.076 000.076: require('telescope._extensions') -199.170 000.197 000.121: require('telescope') -199.903 000.086 000.086: require('plenary.bit') -199.981 000.071 000.071: require('plenary.functional') -200.068 000.067 000.067: require('ffi') -200.094 000.469 000.244: require('plenary.path') -200.107 000.558 000.089: require('plenary.strings') -200.177 000.067 000.067: require('telescope.deprecated') -200.582 000.238 000.238: require('plenary.log') -200.663 000.379 000.141: require('telescope.log') -201.029 000.245 000.245: require('plenary.job') -201.108 000.073 000.073: require('telescope.state') -201.123 000.454 000.136: require('telescope.utils') -201.136 000.954 000.122: require('telescope.sorters') -201.247 000.088 000.088: require('vim.inspect') -201.726 000.011 000.011: require('vim.F') -205.122 005.710 004.033: require('telescope.config') -205.782 000.089 000.089: require('plenary.window.border') -205.852 000.062 000.062: require('plenary.window') -205.913 000.056 000.056: require('plenary.popup.utils') -205.925 000.793 000.585: require('plenary.popup') -205.993 000.065 000.065: require('telescope.pickers.scroller') -206.062 000.064 000.064: require('telescope.actions.state') -206.136 000.069 000.069: require('telescope.actions.utils') -206.279 000.068 000.068: require('telescope.actions.mt') -206.310 000.169 000.101: require('telescope.actions.set') -206.504 000.073 000.073: require('telescope.config.resolve') -206.510 000.147 000.075: require('telescope.pickers.entry_display') -206.575 000.061 000.061: require('telescope.from_entry') -206.997 007.823 000.744: require('telescope.actions') -207.559 000.058 000.058: require('plenary.tbl') -207.568 000.123 000.065: require('plenary.vararg.rotate') -207.572 000.184 000.061: require('plenary.vararg') -207.667 000.092 000.092: require('plenary.errors') -207.677 000.352 000.076: require('plenary.async.async') -207.862 000.182 000.182: require('plenary.async.structs') -207.879 000.623 000.089: require('plenary.async.control') -208.162 000.201 000.201: require('telescope.make_entry') -208.425 000.073 000.073: require('plenary.async.util') -208.431 000.135 000.063: require('plenary.async.tests') -208.435 000.204 000.068: require('plenary.async') -208.440 000.273 000.069: require('telescope.finders.async_static_finder') -208.641 000.058 000.058: require('plenary.class') -208.667 000.161 000.103: require('telescope._') -208.672 000.229 000.068: require('telescope.finders.async_oneshot_finder') -208.741 000.066 000.066: require('telescope.finders.async_job_finder') -208.751 000.867 000.098: require('telescope.finders') -209.003 000.075 000.075: require('telescope.debounce') -209.169 000.161 000.161: require('telescope.mappings') -209.256 000.081 000.081: require('telescope.pickers.highlights') -209.330 000.069 000.069: require('telescope.pickers.window') -209.471 000.069 000.069: require('telescope.algos.linked_list') -209.479 000.144 000.075: require('telescope.entry_manager') -209.542 000.061 000.061: require('telescope.pickers.multi') -209.574 000.820 000.230: require('telescope.pickers') -209.589 002.444 000.134: require('telescope.builtin.__lsp') -209.612 002.607 000.163: require('telescope.builtin') -209.917 000.224 000.224: require('fzf_lib') -209.927 000.310 000.087: require('telescope._extensions.fzf') -210.257 000.090 000.090: require('telescope._extensions.file_browser.utils') -210.353 000.324 000.234: require('telescope._extensions.file_browser.actions') -210.580 000.137 000.137: require('telescope._extensions.file_browser.make_entry') -210.726 000.140 000.140: require('plenary.scandir') -210.774 000.416 000.139: require('telescope._extensions.file_browser.finders') -210.858 000.079 000.079: require('telescope._extensions.file_browser.picker') -210.951 000.088 000.088: require('telescope._extensions.file_browser.config') -210.957 001.019 000.112: require('telescope._extensions.file_browser') -213.828 000.012 000.012: require('vim.keymap') -214.133 015.325 003.356: require('plugins.telescope') -215.166 000.060 000.060: require('notify.util.queue') -215.175 000.142 000.083: require('notify.util') -215.388 000.209 000.209: require('notify.config.highlights') -215.402 000.458 000.106: require('notify.config') -215.472 000.066 000.066: require('notify.stages') -215.542 000.065 000.065: require('notify.service.notification') -215.796 000.078 000.078: require('notify.animate.spring') -215.801 000.160 000.082: require('notify.animate') -215.809 000.262 000.102: require('notify.windows') -216.106 000.110 000.110: require('notify.service.buffer.highlights') -216.116 000.217 000.107: require('notify.service.buffer') -216.123 000.311 000.094: require('notify.service') -216.229 000.103 000.103: require('notify.stages.util') -216.244 001.471 000.207: require('notify') -216.328 000.080 000.080: require('nvim-tree.iterators.node-iterator') -216.417 001.742 000.190: require('nvim-tree.utils') -216.453 001.850 000.108: require('nvim-tree.events') -216.712 000.089 000.089: require('nvim-tree.log') -216.874 000.156 000.156: require('nvim-tree.git.utils') -216.970 000.091 000.091: require('nvim-tree.git.runner') -217.064 000.090 000.090: require('nvim-tree.watcher') -217.075 000.536 000.110: require('nvim-tree.git') -217.170 000.092 000.092: require('nvim-tree.explorer.watch') -217.254 000.078 000.078: require('nvim-tree.explorer.common') -217.514 000.128 000.128: require('nvim-tree.explorer.node-builders') -217.619 000.099 000.099: require('nvim-tree.explorer.sorters') -217.714 000.090 000.090: require('nvim-tree.explorer.filters') -218.054 000.223 000.223: require('nvim-tree.view') -218.067 000.349 000.125: require('nvim-tree.live-filter') -218.074 000.777 000.112: require('nvim-tree.explorer.explore') -218.180 000.102 000.102: require('nvim-tree.explorer.reload') -218.193 001.736 000.150: require('nvim-tree.explorer') -218.201 003.654 000.068: require('nvim-tree.core') -218.320 000.115 000.115: require('nvim-tree.diagnostics') -218.413 000.087 000.087: require('nvim-tree.renderer.components.padding') -218.510 000.093 000.093: require('nvim-tree.renderer.components.icons') -218.610 000.095 000.095: require('nvim-tree.renderer.components.full-name') -218.693 000.078 000.078: require('nvim-tree.renderer.help') -218.820 000.122 000.122: require('nvim-tree.renderer.components.git') -218.949 000.124 000.124: require('nvim-tree.renderer.builder') -219.045 000.091 000.091: require('nvim-tree.marks') -219.065 004.592 000.133: require('nvim-tree.renderer') -219.158 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') -219.256 000.094 000.094: require('nvim-tree.actions.root.dir-up') -219.354 000.092 000.092: require('nvim-tree.actions.root.change-dir') -219.445 000.087 000.087: require('nvim-tree.actions.reloaders.reloaders') -219.533 000.082 000.082: require('nvim-tree.actions.finders.find-file') -219.538 005.136 000.107: require('nvim-tree.lib') -219.654 000.112 000.112: require('nvim-tree.colors') -219.809 000.149 000.149: require('nvim-tree.legacy') -219.940 000.126 000.126: require('nvim-tree.actions.fs.copy-paste') -220.210 000.120 000.120: require('nvim-tree.actions.tree-modifiers.expand-all') -220.313 000.096 000.096: require('nvim-tree.actions.tree-modifiers.toggles') -220.456 000.134 000.134: require('nvim-tree.actions.fs.create-file') -220.597 000.133 000.133: require('nvim-tree.actions.fs.rename-file') -220.741 000.133 000.133: require('nvim-tree.actions.fs.trash') -220.840 000.093 000.093: require('nvim-tree.actions.fs.remove-file') -220.929 000.079 000.079: require('nvim-tree.actions.moves.parent') -221.015 000.081 000.081: require('nvim-tree.actions.moves.sibling') -221.098 000.078 000.078: require('nvim-tree.actions.moves.item') -221.197 000.085 000.085: require('nvim-tree.actions.finders.search-node') -221.282 000.080 000.080: require('nvim-tree.actions.node.run-command') -221.377 000.090 000.090: require('nvim-tree.actions.node.file-popup') -221.479 000.097 000.097: require('nvim-tree.actions.node.system-open') -221.574 000.084 000.084: require('nvim-tree.marks.bulk-move') -221.586 001.639 000.257: require('nvim-tree.actions.dispatch') -221.649 007.424 000.262: require('nvim-tree') -221.726 000.073 000.073: require('nvim-tree.config') -225.771 000.220 000.220: require('nvim-tree.actions') -225.914 000.131 000.131: require('nvim-tree.actions.node.open-file') -230.601 000.428 000.428: require('nvim-tree.marks.navigation') -230.613 000.910 000.482: require('nvim-tree.api') -230.739 001.334 000.423: require('nvim-tree.keymap') -232.960 001.583 001.583: require('nvim-web-devicons') -237.002 022.861 012.097: require('plugins.nvim-tree') -237.294 000.076 000.076: require('lualine_require') -237.847 000.737 000.661: require('lualine') -237.917 000.063 000.063: require('plugins.linecolor') -245.353 000.079 000.079: require('lualine.utils.mode') -247.774 010.763 009.884: require('plugins.lualine') -247.783 146.914 006.650: sourcing /home/sxrdusr/.config/nvim/init.lua -247.800 009.697: sourcing vimrc file(s) -248.092 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -249.536 000.063 000.063: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.lua -252.421 002.539 002.539: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/filetype.vim -255.626 000.259 000.259: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/synload.vim -255.875 002.652 002.393: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/syntax/syntax.vim -264.298 002.416 002.416: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/gzip.vim -264.568 000.071 000.071: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/health.vim -268.136 002.317 002.317: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -268.581 003.942 001.625: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchit.vim -269.046 000.402 000.402: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/matchparen.vim -269.193 000.077 000.077: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/netrwPlugin.vim -269.596 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -269.616 000.360 000.339: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/rplugin.vim -269.864 000.186 000.186: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/shada.vim -270.034 000.101 000.101: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/spellfile.vim -270.474 000.343 000.343: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tarPlugin.vim -270.876 000.269 000.269: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tohtml.vim -271.243 000.249 000.249: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/tutor.vim -273.325 001.871 001.871: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/zipPlugin.vim -275.008 001.252 001.252: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -276.428 000.132 000.132: require('lspsaga') -276.723 000.115 000.115: require('lspsaga.window') -276.745 000.219 000.104: require('lspsaga.libs') -277.875 000.496 000.496: require('vim.lsp.log') -278.559 000.676 000.676: require('vim.lsp.protocol') -279.115 000.243 000.243: require('vim.lsp._snippet') -279.299 000.178 000.178: require('vim.highlight') -279.329 000.762 000.341: require('vim.lsp.util') -279.348 002.182 000.248: require('vim.lsp.handlers') -279.618 000.266 000.266: require('vim.lsp.rpc') -279.748 000.123 000.123: require('vim.lsp.sync') -279.924 000.169 000.169: require('vim.lsp.buf') -280.123 000.193 000.193: require('vim.lsp.diagnostic') -280.307 000.178 000.178: require('vim.lsp.codelens') -280.454 003.614 000.502: require('vim.lsp') -280.531 000.069 000.069: require('lspsaga.wrap') -280.541 003.792 000.109: require('lspsaga.codeaction') -280.582 004.146 000.135: require('lspsaga.lightbulb') -280.712 000.090 000.090: require('lspsaga.lspkind') -280.888 000.054 000.054: require('mason-core.path') -280.905 000.127 000.073: require('mason.settings') -281.098 000.053 000.053: require('mason-core.functional.data') -281.107 000.120 000.067: require('mason-core.functional.function') -281.164 000.255 000.135: require('mason-core.platform') -281.169 000.446 000.064: require('mason') -281.386 000.115 000.115: require('mason-core.functional') -281.494 000.089 000.089: require('mason-core.functional.list') -281.542 000.350 000.146: require('mason.api.command') -281.730 000.105 000.105: require('mason-core.log') -281.740 000.194 000.089: require('mason-lspconfig') -281.808 000.064 000.064: require('mason-lspconfig.settings') -281.901 000.076 000.076: require('mason-lspconfig.lspconfig_hook') -282.200 000.294 000.294: require('lspconfig.util') -282.434 000.073 000.073: require('mason-core.functional.table') -282.539 000.313 000.240: require('mason-lspconfig.mappings.server') -282.810 000.086 000.086: require('mason-core.async') -282.878 000.061 000.061: require('mason-core.async.uv') -282.892 000.271 000.124: require('mason-core.fs') -282.962 000.066 000.066: require('mason-core.optional') -283.034 000.068 000.068: require('mason-core.EventEmitter') -283.206 000.167 000.167: require('mason-registry.index') -283.228 000.682 000.110: require('mason-registry') -283.298 000.066 000.066: require('mason-lspconfig.server_config_extensions') -283.428 000.125 000.125: require('lspconfig.configs') -283.560 000.087 000.087: require('lspconfig.server_configurations.omnisharp') -283.773 000.072 000.072: require('mason-lspconfig.ensure_installed') -284.028 000.072 000.072: require('mason-core.result') -284.440 000.229 000.229: require('mason-core.process') -284.519 000.070 000.070: require('mason-core.functional.relation') -284.595 000.067 000.067: require('mason-core.functional.logic') -284.608 000.468 000.101: require('mason-core.spawn') -284.698 000.085 000.085: require('mason-core.receipt') -284.781 000.071 000.071: require('mason-core.functional.string') -284.810 000.776 000.153: require('mason-core.installer.context') -284.890 000.076 000.076: require('mason-core.installer.linker') -284.972 000.078 000.078: require('mason-core.async.control') -284.981 001.107 000.105: require('mason-core.installer') -285.078 000.094 000.094: require('mason-core.installer.handle') -285.427 000.066 000.066: require('mason-core.managers.powershell') -285.433 000.140 000.074: require('mason-core.fetch') -285.436 000.205 000.065: require('mason-core.managers.cargo.client') -285.472 000.319 000.114: require('mason-core.managers.cargo') -285.581 000.104 000.104: require('mason-core.managers.composer') -285.755 000.169 000.169: require('mason-core.managers.gem') -285.850 000.089 000.089: require('mason-core.managers.git') -286.034 000.095 000.095: require('mason-core.managers.std') -286.124 000.084 000.084: require('mason-core.managers.github.client') -286.134 000.279 000.099: require('mason-core.managers.github') -286.323 000.186 000.186: require('mason-core.managers.go') -286.458 000.129 000.129: require('mason-core.managers.luarocks') -286.603 000.139 000.139: require('mason-core.managers.npm') -286.811 000.202 000.202: require('mason-core.managers.pip3') -286.831 001.746 000.130: require('mason-core.package.version-check') -286.851 003.071 000.124: require('mason-core.package') -287.185 000.212 000.212: require('mason-registry.lua-language-server') -287.599 000.121 000.121: require('mason-registry.clangd') -287.807 000.156 000.156: require('mason-registry.rust-analyzer') -287.971 000.059 000.059: require('mason-core.notify') -288.048 000.070 000.070: require('mason-core.functional.number') -288.105 000.288 000.159: require('mason-lspconfig.api.command') -288.111 012.924 001.940: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -289.627 000.116 000.116: sourcing /tmp/.mount_nvimc6bcRu/usr/share/nvim/runtime/plugin/man.lua -289.926 012.241: loading rtp plugins -291.669 000.068 000.068: require('Comment.config') -291.770 000.093 000.093: require('Comment.utils') -291.845 000.070 000.070: require('Comment.opfunc') -291.913 000.063 000.063: require('Comment.extra') -291.931 000.454 000.161: require('Comment.api') -292.336 000.918 000.463: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -293.020 000.065 000.065: require('luasnip.util.types') -293.097 000.070 000.070: require('luasnip.util.ext_opts') -293.175 000.073 000.073: require('luasnip.extras.filetype_functions') -293.253 000.073 000.073: require('luasnip.session') -293.586 000.123 000.123: require('luasnip.util.util') -293.668 000.075 000.075: require('luasnip.nodes.util') -293.740 000.067 000.067: require('luasnip.util.events') -293.759 000.415 000.150: require('luasnip.nodes.node') -293.874 000.069 000.069: require('luasnip.util.extend_decorator') -293.890 000.632 000.147: require('luasnip.nodes.insertNode') -294.141 000.080 000.080: require('luasnip.util.mark') -294.372 000.092 000.092: require('luasnip.nodes.textNode') -295.150 000.699 000.699: require('luasnip.util._builtin_vars') -295.399 001.020 000.321: require('luasnip.util.environ') -295.489 000.083 000.083: require('luasnip.util.pattern_tokenizer') -295.557 000.063 000.063: require('luasnip.util.dict') -295.649 000.087 000.087: require('luasnip.session.snippet_collection') -295.706 001.558 000.213: require('luasnip.nodes.snippet') -295.735 001.841 000.203: require('luasnip.nodes.choiceNode') -295.954 000.158 000.158: require('luasnip.nodes.functionNode') -296.138 000.175 000.175: require('luasnip.nodes.dynamicNode') -296.263 000.119 000.119: require('luasnip.nodes.restoreNode') -296.351 000.082 000.082: require('luasnip.extras') -298.885 000.081 000.081: require('luasnip.util.str') -298.898 002.540 002.459: require('luasnip.extras.fmt') -298.964 000.061 000.061: require('luasnip.extras.expand_conditions') -299.206 000.074 000.074: require('luasnip.util.parser.neovim_ast') -310.443 000.088 000.088: require('luasnip.util.directed_graph') -310.466 011.416 011.254: require('luasnip.util.parser.ast_utils') -310.629 000.069 000.069: require('luasnip.util.functions') -310.643 000.173 000.103: require('luasnip.util.parser.ast_parser') -310.828 000.181 000.181: require('luasnip.util.parser.neovim_parser') -310.841 011.869 000.099: require('luasnip.util.parser') -310.920 000.075 000.075: require('luasnip.nodes.absolute_indexer') -311.421 018.589 000.756: require('luasnip.config') -311.587 019.067 000.477: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -312.464 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -313.335 000.094 000.094: require('indent_blankline/utils') -313.345 000.250 000.155: require('indent_blankline') -313.879 000.080 000.080: require('indent_blankline.commands') -314.049 001.124 000.794: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/plugin/indent_blankline.vim -314.476 000.103 000.103: require('lsp-colors') -315.271 000.951 000.848: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -316.489 000.830 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -317.341 000.380 000.380: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -317.862 000.085 000.085: require('cmp.utils.api') -318.005 000.073 000.073: require('cmp.types.cmp') -318.157 000.075 000.075: require('cmp.utils.misc') -318.188 000.177 000.102: require('cmp.types.lsp') -318.250 000.057 000.057: require('cmp.types.vim') -318.255 000.386 000.079: require('cmp.types') -318.323 000.065 000.065: require('cmp.utils.highlight') -318.445 000.056 000.056: require('cmp.utils.debug') -318.463 000.135 000.078: require('cmp.utils.autocmd') -319.108 001.399 000.728: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -319.363 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -319.779 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -320.253 000.163 000.163: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -320.855 000.065 000.065: require('nvim-treesitter.statusline') -320.945 000.083 000.083: require('nvim-treesitter.query_predicates') -320.952 000.230 000.082: require('nvim-treesitter') -322.295 000.193 000.193: require('vim.treesitter.highlighter') -322.662 000.704 000.510: require('nvim-treesitter.highlight') -323.417 002.749 001.816: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -323.932 000.256 000.256: require('treesitter-context') -323.942 000.298 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -324.311 000.082 000.082: require('nvim-treesitter-refactor') -324.529 000.327 000.245: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -324.909 000.111 000.111: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -325.289 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -325.655 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -326.420 000.419 000.419: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -326.828 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -327.883 000.564 000.564: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -328.663 000.487 000.487: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -329.274 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -330.130 000.601 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -330.437 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -330.720 000.045 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -332.100 010.893: loading packages -333.792 000.490 000.490: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -338.131 005.488 004.998: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -338.944 000.173 000.173: require('cmp.utils.char') -338.960 000.260 000.087: require('cmp.utils.str') -339.037 000.072 000.072: require('cmp.utils.pattern') -339.257 000.059 000.059: require('cmp.utils.buffer') -339.268 000.156 000.097: require('cmp.utils.keymap') -339.279 000.237 000.082: require('cmp.utils.feedkeys') -339.372 000.089 000.089: require('cmp.utils.async') -339.505 000.058 000.058: require('cmp.utils.cache') -339.512 000.135 000.076: require('cmp.context') -339.751 000.077 000.077: require('cmp.config.mapping') -339.918 000.085 000.085: require('cmp.config.compare') -339.924 000.165 000.080: require('cmp.config.default') -339.950 000.350 000.108: require('cmp.config') -340.139 000.066 000.066: require('cmp.matcher') -340.154 000.199 000.133: require('cmp.entry') -340.168 000.653 000.104: require('cmp.source') -340.306 000.058 000.058: require('cmp.utils.event') -340.467 000.084 000.084: require('cmp.utils.window') -340.474 000.163 000.078: require('cmp.view.docs_view') -340.593 000.116 000.116: require('cmp.view.custom_entries_view') -340.706 000.109 000.109: require('cmp.view.wildmenu_entries_view') -340.794 000.083 000.083: require('cmp.view.native_entries_view') -340.869 000.071 000.071: require('cmp.view.ghost_text_view') -340.886 000.715 000.116: require('cmp.view') -340.961 002.378 000.217: require('cmp.core') -341.208 000.064 000.064: require('cmp.config.sources') -341.271 000.055 000.055: require('cmp.config.window') -341.368 002.921 000.423: require('cmp') -341.641 000.060 000.060: require('cmp_buffer.timer') -341.652 000.145 000.085: require('cmp_buffer.buffer') -341.658 000.223 000.078: require('cmp_buffer.source') -341.662 000.289 000.066: require('cmp_buffer') -341.699 003.345 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -342.059 000.148 000.148: require('cmp_cmdline') -342.093 000.222 000.075: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -342.424 000.070 000.070: require('cmp_nvim_lsp.source') -342.434 000.147 000.076: require('cmp_nvim_lsp') -342.494 000.251 000.105: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -342.793 000.115 000.115: require('cmp_path') -342.826 000.184 000.070: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -343.121 000.086 000.086: require('cmp_luasnip') -343.190 000.203 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -343.339 001.544: loading after plugins -343.447 000.108: inits 3 -343.452 000.005: reading ShaDa -343.839 000.070 000.070: require('luasnip.loaders._caches') -343.956 000.110 000.110: require('luasnip.util.path') -344.050 000.088 000.088: require('luasnip.loaders.util') -344.269 000.099 000.099: require('luasnip.loaders') -344.305 000.250 000.151: require('luasnip') -344.318 000.637 000.119: require('luasnip.loaders.from_lua') -344.553 000.102 000.102: require('luasnip.nodes.snippetProxy') -344.567 000.203 000.101: require('luasnip.loaders.from_snipmate') -344.694 000.088 000.088: require('luasnip.loaders.from_vscode') -345.712 001.333: opening buffers -345.922 000.210: BufEnter autocommands -345.929 000.007: editing files in windows -363.002 000.669 000.669: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.322 001.322: --- NVIM STARTING --- -029.108 027.786: event init -046.110 017.002: early init -047.930 001.821: locale set -053.675 005.744: init first window -064.058 010.383: inits 1 -064.083 000.025: window checked -064.091 000.008: parsing arguments -075.019 000.133 000.133: require('vim.shared') -075.240 000.108 000.108: require('vim._meta') -075.247 000.218 000.109: require('vim._editor') -075.251 000.404 000.054: require('vim._init_packages') -075.254 010.759: init lua interpreter -075.336 000.082: expanding arguments -077.080 001.744: inits 2 -077.695 000.615: init highlight -077.699 000.004: waiting for UI -080.125 002.426: done waiting for UI -080.175 000.050: init screen for UI -080.470 000.294: init default mappings -080.497 000.027: init default autocommands -091.758 004.623 004.623: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/ftplugin.vim -095.325 001.210 001.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/indent.vim -095.907 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim -095.932 000.182 000.125: sourcing /etc/xdg/nvim/sysinit.vim -111.541 008.988 008.988: require('keys') -115.565 004.013 004.013: require('opts') -120.844 001.016 001.016: require('packer.util') -120.952 004.563 003.547: require('packer') -124.638 001.239 001.239: require('packer.log') -124.655 002.203 000.964: require('packer.async') -126.342 000.685 000.685: require('packer.result') -126.357 001.694 001.009: require('packer.jobs') -126.384 005.338 001.441: require('packer.plugin_utils') -127.605 001.102 001.102: require('packer.snapshot') -129.209 013.625 002.622: require('pack') -145.528 016.305 016.305: require('impatient') -146.779 000.225 000.225: require('vim.treesitter.language') -146.806 000.728 000.503: require('vim.treesitter.query') -148.454 000.354 000.354: require('vim.treesitter.languagetree') -148.543 000.890 000.536: require('vim.treesitter') -148.929 001.667 000.777: require('nvim-treesitter.parsers') -149.095 000.158 000.158: require('nvim-treesitter.utils') -149.110 002.017 000.192: require('nvim-treesitter.ts_utils') -149.127 002.315 000.298: require('nvim-treesitter.tsrange') -149.233 000.101 000.101: require('nvim-treesitter.caching') -149.259 003.314 000.170: require('nvim-treesitter.query') -149.296 003.607 000.293: require('nvim-treesitter.configs') -149.827 000.157 000.157: require('nvim-treesitter.info') -150.068 000.234 000.234: require('nvim-treesitter.shell_command_selectors') -150.133 000.656 000.264: require('nvim-treesitter.install') -198.197 052.650 048.387: require('plugins.treesitter') -198.978 000.175 000.175: require('telescope._extensions') -198.988 000.419 000.244: require('telescope') -199.670 000.080 000.080: require('plenary.bit') -199.751 000.074 000.074: require('plenary.functional') -199.872 000.035 000.035: require('ffi') -199.897 000.444 000.255: require('plenary.path') -199.911 000.544 000.100: require('plenary.strings') -199.991 000.077 000.077: require('telescope.deprecated') -200.551 000.253 000.253: require('plenary.log') -200.660 000.556 000.304: require('telescope.log') -200.909 000.124 000.124: require('plenary.job') -200.988 000.073 000.073: require('telescope.state') -201.011 000.344 000.147: require('telescope.utils') -201.022 001.025 000.124: require('telescope.sorters') -201.131 000.085 000.085: require('vim.inspect') -201.401 000.009 000.009: require('vim.F') -205.141 005.915 004.175: require('telescope.config') -205.454 000.098 000.098: require('plenary.window.border') -206.220 000.759 000.759: require('plenary.window') -206.291 000.062 000.062: require('plenary.popup.utils') -206.300 001.140 000.221: require('plenary.popup') -206.374 000.070 000.070: require('telescope.pickers.scroller') -206.471 000.092 000.092: require('telescope.actions.state') -206.548 000.072 000.072: require('telescope.actions.utils') -206.700 000.070 000.070: require('telescope.actions.mt') -206.731 000.178 000.108: require('telescope.actions.set') -206.953 000.091 000.091: require('telescope.config.resolve') -206.959 000.171 000.080: require('telescope.pickers.entry_display') -207.019 000.056 000.056: require('telescope.from_entry') -207.478 008.486 000.793: require('telescope.actions') -208.123 000.061 000.061: require('plenary.tbl') -208.134 000.133 000.073: require('plenary.vararg.rotate') -208.138 000.196 000.062: require('plenary.vararg') -208.205 000.064 000.064: require('plenary.errors') -208.218 000.340 000.080: require('plenary.async.async') -208.295 000.074 000.074: require('plenary.async.structs') -208.310 000.514 000.100: require('plenary.async.control') -208.644 000.244 000.244: require('telescope.make_entry') -208.929 000.077 000.077: require('plenary.async.util') -208.935 000.142 000.066: require('plenary.async.tests') -208.940 000.220 000.078: require('plenary.async') -208.944 000.295 000.075: require('telescope.finders.async_static_finder') -209.164 000.060 000.060: require('plenary.class') -209.192 000.177 000.117: require('telescope._') -209.197 000.250 000.073: require('telescope.finders.async_oneshot_finder') -209.270 000.070 000.070: require('telescope.finders.async_job_finder') -209.280 000.965 000.106: require('telescope.finders') -209.749 000.157 000.157: require('telescope.debounce') -209.958 000.201 000.201: require('telescope.mappings') -210.050 000.086 000.086: require('telescope.pickers.highlights') -210.123 000.067 000.067: require('telescope.pickers.window') -210.263 000.066 000.066: require('telescope.algos.linked_list') -210.271 000.143 000.078: require('telescope.entry_manager') -210.337 000.064 000.064: require('telescope.pickers.multi') -210.372 001.087 000.369: require('telescope.pickers') -210.386 002.716 000.149: require('telescope.builtin.__lsp') -210.436 002.947 000.231: require('telescope.builtin') -210.773 000.249 000.249: require('fzf_lib') -210.783 000.341 000.092: require('telescope._extensions.fzf') -211.122 000.091 000.091: require('telescope._extensions.file_browser.utils') -211.200 000.319 000.229: require('telescope._extensions.file_browser.actions') -211.438 000.145 000.145: require('telescope._extensions.file_browser.make_entry') -211.592 000.147 000.147: require('plenary.scandir') -211.643 000.439 000.147: require('telescope._extensions.file_browser.finders') -211.726 000.078 000.078: require('telescope._extensions.file_browser.picker') -211.821 000.091 000.091: require('telescope._extensions.file_browser.config') -211.827 001.030 000.102: require('telescope._extensions.file_browser') -215.018 000.012 000.012: require('vim.keymap') -215.222 017.012 003.777: require('plugins.telescope') -216.619 000.066 000.066: require('notify.util.queue') -216.628 000.405 000.339: require('notify.util') -216.852 000.220 000.220: require('notify.config.highlights') -216.866 000.729 000.104: require('notify.config') -217.028 000.158 000.158: require('notify.stages') -217.107 000.072 000.072: require('notify.service.notification') -217.362 000.090 000.090: require('notify.animate.spring') -217.368 000.164 000.074: require('notify.animate') -217.376 000.264 000.100: require('notify.windows') -217.666 000.105 000.105: require('notify.service.buffer.highlights') -217.677 000.209 000.104: require('notify.service.buffer') -217.683 000.304 000.095: require('notify.service') -217.796 000.110 000.110: require('notify.stages.util') -217.806 001.754 000.117: require('notify') -217.895 000.086 000.086: require('nvim-tree.iterators.node-iterator') -217.998 002.054 000.213: require('nvim-tree.utils') -218.018 002.239 000.185: require('nvim-tree.events') -218.391 000.101 000.101: require('nvim-tree.log') -218.565 000.167 000.167: require('nvim-tree.git.utils') -218.670 000.100 000.100: require('nvim-tree.git.runner') -218.777 000.102 000.102: require('nvim-tree.watcher') -218.810 000.653 000.184: require('nvim-tree.git') -218.907 000.093 000.093: require('nvim-tree.explorer.watch') -218.987 000.075 000.075: require('nvim-tree.explorer.common') -219.196 000.087 000.087: require('nvim-tree.explorer.node-builders') -219.280 000.078 000.078: require('nvim-tree.explorer.sorters') -219.363 000.078 000.078: require('nvim-tree.explorer.filters') -219.691 000.235 000.235: require('nvim-tree.view') -219.701 000.334 000.099: require('nvim-tree.live-filter') -219.708 000.677 000.100: require('nvim-tree.explorer.explore') -219.838 000.127 000.127: require('nvim-tree.explorer.reload') -219.849 001.827 000.201: require('nvim-tree.explorer') -219.857 004.139 000.073: require('nvim-tree.core') -219.989 000.129 000.129: require('nvim-tree.diagnostics') -220.084 000.089 000.089: require('nvim-tree.renderer.components.padding') -220.180 000.091 000.091: require('nvim-tree.renderer.components.icons') -220.281 000.097 000.097: require('nvim-tree.renderer.components.full-name') -220.366 000.080 000.080: require('nvim-tree.renderer.help') -220.500 000.128 000.128: require('nvim-tree.renderer.components.git') -220.628 000.123 000.123: require('nvim-tree.renderer.builder') -220.724 000.091 000.091: require('nvim-tree.marks') -220.744 005.108 000.142: require('nvim-tree.renderer') -220.838 000.084 000.084: require('nvim-tree.actions.tree-modifiers.collapse-all') -220.936 000.093 000.093: require('nvim-tree.actions.root.dir-up') -221.036 000.096 000.096: require('nvim-tree.actions.root.change-dir') -221.124 000.082 000.082: require('nvim-tree.actions.reloaders.reloaders') -221.213 000.083 000.083: require('nvim-tree.actions.finders.find-file') -221.219 005.692 000.146: require('nvim-tree.lib') -221.342 000.120 000.120: require('nvim-tree.colors') -221.500 000.151 000.151: require('nvim-tree.legacy') -221.623 000.118 000.118: require('nvim-tree.actions.fs.copy-paste') -221.826 000.086 000.086: require('nvim-tree.actions.tree-modifiers.expand-all') -221.919 000.087 000.087: require('nvim-tree.actions.tree-modifiers.toggles') -222.020 000.093 000.093: require('nvim-tree.actions.fs.create-file') -222.111 000.086 000.086: require('nvim-tree.actions.fs.rename-file') -222.241 000.124 000.124: require('nvim-tree.actions.fs.trash') -222.345 000.098 000.098: require('nvim-tree.actions.fs.remove-file') -222.427 000.075 000.075: require('nvim-tree.actions.moves.parent') -222.511 000.079 000.079: require('nvim-tree.actions.moves.sibling') -222.593 000.076 000.076: require('nvim-tree.actions.moves.item') -222.688 000.082 000.082: require('nvim-tree.actions.finders.search-node') -222.768 000.074 000.074: require('nvim-tree.actions.node.run-command') -222.863 000.091 000.091: require('nvim-tree.actions.node.file-popup') -222.971 000.103 000.103: require('nvim-tree.actions.node.system-open') -223.078 000.099 000.099: require('nvim-tree.marks.bulk-move') -223.086 001.453 000.198: require('nvim-tree.actions.dispatch') -223.158 007.841 000.307: require('nvim-tree') -223.239 000.076 000.076: require('nvim-tree.config') -227.868 000.224 000.224: require('nvim-tree.actions') -228.009 000.128 000.128: require('nvim-tree.actions.node.open-file') -232.689 000.182 000.182: require('nvim-tree.marks.navigation') -232.700 000.678 000.496: require('nvim-tree.api') -232.818 001.097 000.419: require('nvim-tree.keymap') -234.928 001.392 001.392: require('nvim-web-devicons') -238.932 023.703 012.946: require('plugins.nvim-tree') -239.221 000.075 000.075: require('lualine_require') -239.776 000.738 000.663: require('lualine') -239.865 000.078 000.078: require('plugins.linecolor') -248.350 000.085 000.085: require('lualine.utils.mode') -250.201 011.260 010.360: require('plugins.lualine') -250.210 154.176 006.621: sourcing /home/sxrdusr/.config/nvim/init.lua -250.227 009.539: sourcing vimrc file(s) -250.562 000.098 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -251.765 000.124 000.124: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.lua -253.184 001.213 001.213: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/filetype.vim -255.318 000.259 000.259: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/synload.vim -255.565 001.872 001.613: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/syntax/syntax.vim -261.462 001.488 001.488: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/gzip.vim -261.738 000.176 000.176: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/health.vim -264.612 001.404 001.404: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -265.083 003.248 001.845: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchit.vim -265.547 000.397 000.397: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/matchparen.vim -265.699 000.083 000.083: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/netrwPlugin.vim -266.102 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -266.122 000.357 000.335: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/rplugin.vim -266.369 000.188 000.188: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/shada.vim -266.530 000.085 000.085: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/spellfile.vim -266.916 000.319 000.319: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tarPlugin.vim -267.194 000.210 000.210: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tohtml.vim -267.330 000.070 000.070: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/tutor.vim -268.418 001.023 001.023: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/zipPlugin.vim -269.943 001.270 001.270: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -271.634 000.129 000.129: require('lspsaga') -271.896 000.081 000.081: require('lspsaga.window') -271.917 000.184 000.103: require('lspsaga.libs') -272.998 000.411 000.411: require('vim.lsp.log') -273.656 000.651 000.651: require('vim.lsp.protocol') -274.070 000.175 000.175: require('vim.lsp._snippet') -274.203 000.126 000.126: require('vim.highlight') -274.231 000.567 000.267: require('vim.lsp.util') -274.265 001.891 000.262: require('vim.lsp.handlers') -274.453 000.184 000.184: require('vim.lsp.rpc') -274.578 000.119 000.119: require('vim.lsp.sync') -274.751 000.165 000.165: require('vim.lsp.buf') -274.881 000.123 000.123: require('vim.lsp.diagnostic') -275.010 000.123 000.123: require('vim.lsp.codelens') -275.159 003.151 000.545: require('vim.lsp') -275.236 000.070 000.070: require('lspsaga.wrap') -275.247 003.325 000.105: require('lspsaga.codeaction') -275.287 003.644 000.134: require('lspsaga.lightbulb') -275.414 000.089 000.089: require('lspsaga.lspkind') -275.590 000.054 000.054: require('mason-core.path') -275.607 000.128 000.074: require('mason.settings') -275.797 000.052 000.052: require('mason-core.functional.data') -275.805 000.118 000.066: require('mason-core.functional.function') -275.841 000.229 000.112: require('mason-core.platform') -275.846 000.421 000.063: require('mason') -276.050 000.105 000.105: require('mason-core.functional') -276.160 000.089 000.089: require('mason-core.functional.list') -276.208 000.340 000.145: require('mason.api.command') -276.402 000.108 000.108: require('mason-core.log') -276.410 000.197 000.090: require('mason-lspconfig') -276.490 000.077 000.077: require('mason-lspconfig.settings') -276.585 000.076 000.076: require('mason-lspconfig.lspconfig_hook') -276.984 000.394 000.394: require('lspconfig.util') -277.217 000.066 000.066: require('mason-core.functional.table') -277.322 000.301 000.235: require('mason-lspconfig.mappings.server') -277.585 000.082 000.082: require('mason-core.async') -277.652 000.061 000.061: require('mason-core.async.uv') -277.666 000.262 000.119: require('mason-core.fs') -277.743 000.073 000.073: require('mason-core.optional') -277.812 000.064 000.064: require('mason-core.EventEmitter') -277.971 000.155 000.155: require('mason-registry.index') -277.991 000.663 000.110: require('mason-registry') -278.063 000.068 000.068: require('mason-lspconfig.server_config_extensions') -278.159 000.090 000.090: require('lspconfig.configs') -278.284 000.081 000.081: require('lspconfig.server_configurations.omnisharp') -278.517 000.076 000.076: require('mason-lspconfig.ensure_installed') -278.766 000.073 000.073: require('mason-core.result') -279.162 000.221 000.221: require('mason-core.process') -279.239 000.069 000.069: require('mason-core.functional.relation') -279.313 000.067 000.067: require('mason-core.functional.logic') -279.329 000.457 000.101: require('mason-core.spawn') -279.415 000.081 000.081: require('mason-core.receipt') -279.500 000.070 000.070: require('mason-core.functional.string') -279.530 000.758 000.149: require('mason-core.installer.context') -279.606 000.072 000.072: require('mason-core.installer.linker') -279.689 000.079 000.079: require('mason-core.async.control') -279.698 001.086 000.104: require('mason-core.installer') -279.814 000.113 000.113: require('mason-core.installer.handle') -280.159 000.069 000.069: require('mason-core.managers.powershell') -280.165 000.145 000.076: require('mason-core.fetch') -280.169 000.203 000.059: require('mason-core.managers.cargo.client') -280.199 000.311 000.107: require('mason-core.managers.cargo') -280.306 000.103 000.103: require('mason-core.managers.composer') -280.419 000.108 000.108: require('mason-core.managers.gem') -280.507 000.083 000.083: require('mason-core.managers.git') -280.683 000.090 000.090: require('mason-core.managers.std') -280.766 000.078 000.078: require('mason-core.managers.github.client') -280.780 000.268 000.100: require('mason-core.managers.github') -280.887 000.104 000.104: require('mason-core.managers.go') -281.031 000.139 000.139: require('mason-core.managers.luarocks') -281.318 000.281 000.281: require('mason-core.managers.npm') -281.444 000.120 000.120: require('mason-core.managers.pip3') -281.459 001.638 000.121: require('mason-core.package.version-check') -281.468 002.944 000.107: require('mason-core.package') -281.574 000.088 000.088: require('mason-registry.lua-language-server') -281.992 000.116 000.116: require('mason-registry.clangd') -282.246 000.198 000.198: require('mason-registry.rust-analyzer') -282.408 000.057 000.057: require('mason-core.notify') -282.484 000.066 000.066: require('mason-core.functional.number') -282.540 000.284 000.160: require('mason-lspconfig.api.command') -282.547 012.419 002.143: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -283.519 000.094 000.094: sourcing /tmp/.mount_nvimq1iep8/usr/share/nvim/runtime/plugin/man.lua -283.761 008.799: loading rtp plugins -285.454 000.072 000.072: require('Comment.config') -285.549 000.088 000.088: require('Comment.utils') -285.625 000.070 000.070: require('Comment.opfunc') -285.695 000.065 000.065: require('Comment.extra') -285.711 000.458 000.163: require('Comment.api') -286.065 000.870 000.412: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -286.768 000.069 000.069: require('luasnip.util.types') -286.846 000.071 000.071: require('luasnip.util.ext_opts') -286.923 000.072 000.072: require('luasnip.extras.filetype_functions') -286.996 000.068 000.068: require('luasnip.session') -287.298 000.115 000.115: require('luasnip.util.util') -287.380 000.076 000.076: require('luasnip.nodes.util') -287.446 000.060 000.060: require('luasnip.util.events') -287.467 000.372 000.121: require('luasnip.nodes.node') -287.583 000.069 000.069: require('luasnip.util.extend_decorator') -287.594 000.593 000.152: require('luasnip.nodes.insertNode') -287.879 000.086 000.086: require('luasnip.util.mark') -288.102 000.087 000.087: require('luasnip.nodes.textNode') -288.965 000.784 000.784: require('luasnip.util._builtin_vars') -289.156 001.047 000.263: require('luasnip.util.environ') -289.245 000.082 000.082: require('luasnip.util.pattern_tokenizer') -289.318 000.068 000.068: require('luasnip.util.dict') -289.407 000.084 000.084: require('luasnip.session.snippet_collection') -289.464 001.578 000.210: require('luasnip.nodes.snippet') -289.482 001.884 000.220: require('luasnip.nodes.choiceNode') -289.656 000.108 000.108: require('luasnip.nodes.functionNode') -289.832 000.169 000.169: require('luasnip.nodes.dynamicNode') -289.954 000.115 000.115: require('luasnip.nodes.restoreNode') -291.929 001.969 001.969: require('luasnip.extras') -292.090 000.062 000.062: require('luasnip.util.str') -292.099 000.159 000.097: require('luasnip.extras.fmt') -292.163 000.060 000.060: require('luasnip.extras.expand_conditions') -292.402 000.072 000.072: require('luasnip.util.parser.neovim_ast') -302.428 000.095 000.095: require('luasnip.util.directed_graph') -302.448 010.211 010.044: require('luasnip.util.parser.ast_utils') -302.614 000.071 000.071: require('luasnip.util.functions') -302.625 000.171 000.100: require('luasnip.util.parser.ast_parser') -302.778 000.150 000.150: require('luasnip.util.parser.neovim_parser') -302.795 010.626 000.094: require('luasnip.util.parser') -302.866 000.066 000.066: require('luasnip.nodes.absolute_indexer') -303.377 016.798 000.767: require('luasnip.config') -303.545 017.302 000.504: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -304.431 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -305.901 000.877 000.877: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -306.799 000.424 000.424: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -307.353 000.100 000.100: require('cmp.utils.api') -307.486 000.063 000.063: require('cmp.types.cmp') -307.645 000.078 000.078: require('cmp.utils.misc') -307.676 000.183 000.105: require('cmp.types.lsp') -307.736 000.056 000.056: require('cmp.types.vim') -307.742 000.382 000.079: require('cmp.types') -307.810 000.065 000.065: require('cmp.utils.highlight') -307.933 000.056 000.056: require('cmp.utils.debug') -307.951 000.136 000.080: require('cmp.utils.autocmd') -308.471 001.284 000.601: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -308.727 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -309.148 000.103 000.103: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -309.640 000.196 000.196: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -310.274 000.069 000.069: require('nvim-treesitter.statusline') -310.361 000.080 000.080: require('nvim-treesitter.query_predicates') -310.368 000.231 000.083: require('nvim-treesitter') -311.777 000.241 000.241: require('vim.treesitter.highlighter') -312.243 000.859 000.618: require('nvim-treesitter.highlight') -312.932 002.859 001.768: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -313.468 000.264 000.264: require('treesitter-context') -313.478 000.308 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -313.858 000.083 000.083: require('nvim-treesitter-refactor') -314.072 000.327 000.244: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -314.445 000.113 000.113: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -314.840 000.083 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -315.176 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -315.945 000.415 000.415: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/plugin/Tabular.vim -316.320 000.060 000.060: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -317.353 000.525 000.525: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -318.205 000.523 000.523: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -318.818 000.355 000.355: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -319.671 000.596 000.596: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vimux/plugin/vimux.vim -319.991 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -320.278 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -321.792 010.515: loading packages -323.446 000.470 000.470: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/autoload/tabular.vim -327.698 005.367 004.898: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/tabular/after/plugin/TabularMaps.vim -328.389 000.115 000.115: require('cmp.utils.char') -328.404 000.200 000.085: require('cmp.utils.str') -328.474 000.065 000.065: require('cmp.utils.pattern') -328.690 000.060 000.060: require('cmp.utils.buffer') -328.713 000.165 000.105: require('cmp.utils.keymap') -328.722 000.244 000.078: require('cmp.utils.feedkeys') -328.808 000.082 000.082: require('cmp.utils.async') -328.940 000.058 000.058: require('cmp.utils.cache') -328.948 000.134 000.076: require('cmp.context') -329.187 000.077 000.077: require('cmp.config.mapping') -329.353 000.084 000.084: require('cmp.config.compare') -329.359 000.164 000.080: require('cmp.config.default') -329.384 000.345 000.104: require('cmp.config') -329.559 000.066 000.066: require('cmp.matcher') -329.570 000.182 000.115: require('cmp.entry') -329.584 000.633 000.106: require('cmp.source') -329.722 000.058 000.058: require('cmp.utils.event') -329.918 000.086 000.086: require('cmp.utils.window') -329.930 000.203 000.117: require('cmp.view.docs_view') -330.048 000.115 000.115: require('cmp.view.custom_entries_view') -330.163 000.110 000.110: require('cmp.view.wildmenu_entries_view') -330.251 000.082 000.082: require('cmp.view.native_entries_view') -330.331 000.076 000.076: require('cmp.view.ghost_text_view') -330.346 000.758 000.114: require('cmp.view') -330.416 002.325 000.209: require('cmp.core') -330.712 000.066 000.066: require('cmp.config.sources') -330.779 000.059 000.059: require('cmp.config.window') -330.877 002.905 000.453: require('cmp') -331.159 000.067 000.067: require('cmp_buffer.timer') -331.171 000.152 000.086: require('cmp_buffer.buffer') -331.177 000.233 000.081: require('cmp_buffer.source') -331.181 000.299 000.066: require('cmp_buffer') -331.276 003.361 000.157: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -331.654 000.153 000.153: require('cmp_cmdline') -331.685 000.231 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -332.024 000.071 000.071: require('cmp_nvim_lsp.source') -332.032 000.150 000.079: require('cmp_nvim_lsp') -332.086 000.248 000.098: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -332.388 000.114 000.114: require('cmp_path') -332.423 000.187 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -332.706 000.086 000.086: require('cmp_luasnip') -332.774 000.201 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -332.928 001.541: loading after plugins -332.955 000.027: inits 3 -332.969 000.014: reading ShaDa -333.378 000.068 000.068: require('luasnip.loaders._caches') -333.497 000.113 000.113: require('luasnip.util.path') -333.589 000.086 000.086: require('luasnip.loaders.util') -333.813 000.099 000.099: require('luasnip.loaders') -333.855 000.260 000.161: require('luasnip') -333.862 000.635 000.108: require('luasnip.loaders.from_lua') -334.083 000.069 000.069: require('luasnip.nodes.snippetProxy') -334.095 000.168 000.099: require('luasnip.loaders.from_snipmate') -334.263 000.091 000.091: require('luasnip.loaders.from_vscode') -334.302 000.439: opening buffers -334.522 000.221: BufEnter autocommands -334.529 000.007: editing files in windows -349.099 000.632 000.632: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.170 001.170: --- NVIM STARTING --- -030.530 029.361: event init -047.939 017.409: early init -049.639 001.699: locale set -055.163 005.524: init first window -064.966 009.803: inits 1 -064.989 000.023: window checked -064.997 000.009: parsing arguments -076.902 000.266 000.266: require('vim.shared') -077.425 000.241 000.241: require('vim._meta') -077.438 000.513 000.273: require('vim._editor') -077.446 000.901 000.121: require('vim._init_packages') -077.454 011.555: init lua interpreter -077.612 000.158: expanding arguments -079.498 001.886: inits 2 -080.971 001.472: init highlight -080.983 000.012: waiting for UI -084.759 003.776: done waiting for UI -084.791 000.032: init screen for UI -085.030 000.239: init default mappings -085.056 000.027: init default autocommands -095.848 004.168 004.168: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/ftplugin.vim -098.579 001.149 001.149: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/indent.vim -099.101 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim -099.127 000.187 000.129: sourcing /etc/xdg/nvim/sysinit.vim -113.526 006.784 006.784: require('keys') -118.451 004.902 004.902: require('opts') -123.870 001.098 001.098: require('packer.util') -124.002 004.774 003.676: require('packer') -128.144 001.664 001.664: require('packer.log') -128.165 002.615 000.951: require('packer.async') -129.891 000.733 000.733: require('packer.result') -129.909 001.735 001.003: require('packer.jobs') -129.934 005.826 001.476: require('packer.plugin_utils') -131.122 001.143 001.143: require('packer.snapshot') -132.785 014.316 002.573: require('pack') -150.741 017.940 017.940: require('impatient') -152.207 000.384 000.384: require('vim.treesitter.language') -152.241 001.024 000.640: require('vim.treesitter.query') -154.123 000.382 000.382: require('vim.treesitter.languagetree') -154.235 000.878 000.495: require('vim.treesitter') -154.661 001.800 000.922: require('nvim-treesitter.parsers') -154.846 000.176 000.176: require('nvim-treesitter.utils') -154.867 002.236 000.260: require('nvim-treesitter.ts_utils') -154.881 002.633 000.396: require('nvim-treesitter.tsrange') -154.997 000.111 000.111: require('nvim-treesitter.caching') -155.031 003.990 000.223: require('nvim-treesitter.query') -155.071 004.197 000.207: require('nvim-treesitter.configs') -155.678 000.124 000.124: require('nvim-treesitter.info') -155.935 000.250 000.250: require('nvim-treesitter.shell_command_selectors') -156.003 000.658 000.284: require('nvim-treesitter.install') -196.263 045.502 040.647: require('plugins.treesitter') -197.005 000.512 000.512: require('telescope._extensions') -197.018 000.617 000.105: require('telescope') -199.073 000.401 000.401: require('plenary.bit') -199.180 000.097 000.097: require('plenary.functional') -199.240 000.036 000.036: require('ffi') -199.268 000.818 000.284: require('plenary.path') -199.284 001.226 000.408: require('plenary.strings') -199.445 000.157 000.157: require('telescope.deprecated') -200.029 000.248 000.248: require('plenary.log') -200.134 000.426 000.178: require('telescope.log') -200.532 000.213 000.213: require('plenary.job') -200.629 000.089 000.089: require('telescope.state') -200.646 000.505 000.204: require('telescope.utils') -200.657 001.204 000.273: require('telescope.sorters') -200.775 000.085 000.085: require('vim.inspect') -201.684 000.015 000.015: require('vim.F') -205.169 007.578 004.892: require('telescope.config') -205.905 000.559 000.559: require('plenary.window.border') -206.101 000.187 000.187: require('plenary.window') -206.179 000.070 000.070: require('plenary.popup.utils') -206.188 001.009 000.193: require('plenary.popup') -206.310 000.117 000.117: require('telescope.pickers.scroller') -206.392 000.076 000.076: require('telescope.actions.state') -206.466 000.069 000.069: require('telescope.actions.utils') -206.670 000.115 000.115: require('telescope.actions.mt') -206.709 000.238 000.123: require('telescope.actions.set') -206.910 000.069 000.069: require('telescope.config.resolve') -206.917 000.151 000.082: require('telescope.pickers.entry_display') -207.087 000.167 000.167: require('telescope.from_entry') -207.560 010.538 001.131: require('telescope.actions') -208.168 000.061 000.061: require('plenary.tbl') -208.181 000.140 000.079: require('plenary.vararg.rotate') -208.185 000.204 000.064: require('plenary.vararg') -208.245 000.057 000.057: require('plenary.errors') -208.257 000.341 000.080: require('plenary.async.async') -208.335 000.075 000.075: require('plenary.async.structs') -208.347 000.510 000.095: require('plenary.async.control') -208.643 000.208 000.208: require('telescope.make_entry') -208.923 000.079 000.079: require('plenary.async.util') -208.929 000.145 000.066: require('plenary.async.tests') -208.934 000.214 000.069: require('plenary.async') -208.939 000.290 000.075: require('telescope.finders.async_static_finder') -209.161 000.064 000.064: require('plenary.class') -209.184 000.169 000.105: require('telescope._') -209.189 000.247 000.079: require('telescope.finders.async_oneshot_finder') -209.264 000.072 000.072: require('telescope.finders.async_job_finder') -209.274 000.922 000.105: require('telescope.finders') -209.542 000.077 000.077: require('telescope.debounce') -209.743 000.195 000.195: require('telescope.mappings') -209.838 000.088 000.088: require('telescope.pickers.highlights') -209.914 000.071 000.071: require('telescope.pickers.window') -210.064 000.074 000.074: require('telescope.algos.linked_list') -210.072 000.153 000.080: require('telescope.entry_manager') -210.141 000.066 000.066: require('telescope.pickers.multi') -210.172 000.894 000.244: require('telescope.pickers') -210.187 002.467 000.140: require('telescope.builtin.__lsp') -210.211 002.643 000.176: require('telescope.builtin') -210.537 000.239 000.239: require('fzf_lib') -210.552 000.335 000.096: require('telescope._extensions.fzf') -210.882 000.094 000.094: require('telescope._extensions.file_browser.utils') -210.984 000.343 000.249: require('telescope._extensions.file_browser.actions') -211.232 000.144 000.144: require('telescope._extensions.file_browser.make_entry') -211.387 000.149 000.149: require('plenary.scandir') -211.441 000.452 000.159: require('telescope._extensions.file_browser.finders') -211.528 000.082 000.082: require('telescope._extensions.file_browser.picker') -211.669 000.136 000.136: require('telescope._extensions.file_browser.config') -211.676 001.113 000.101: require('telescope._extensions.file_browser') -215.882 000.019 000.019: require('vim.keymap') -216.141 019.866 004.600: require('plugins.telescope') -217.337 000.107 000.107: require('notify.util.queue') -217.352 000.200 000.092: require('notify.util') -217.591 000.235 000.235: require('notify.config.highlights') -217.607 000.539 000.104: require('notify.config') -217.684 000.073 000.073: require('notify.stages') -217.757 000.067 000.067: require('notify.service.notification') -218.011 000.090 000.090: require('notify.animate.spring') -218.017 000.152 000.062: require('notify.animate') -218.024 000.263 000.111: require('notify.windows') -218.321 000.139 000.139: require('notify.service.buffer.highlights') -218.332 000.232 000.093: require('notify.service.buffer') -218.340 000.312 000.080: require('notify.service') -218.468 000.126 000.126: require('notify.stages.util') -218.481 001.512 000.133: require('notify') -218.572 000.087 000.087: require('nvim-tree.iterators.node-iterator') -218.665 001.808 000.209: require('nvim-tree.utils') -218.683 001.902 000.094: require('nvim-tree.events') -218.980 000.091 000.091: require('nvim-tree.log') -219.156 000.170 000.170: require('nvim-tree.git.utils') -219.354 000.192 000.192: require('nvim-tree.git.runner') -219.493 000.134 000.134: require('nvim-tree.watcher') -219.506 000.725 000.138: require('nvim-tree.git') -219.640 000.130 000.130: require('nvim-tree.explorer.watch') -219.762 000.117 000.117: require('nvim-tree.explorer.common') -220.044 000.111 000.111: require('nvim-tree.explorer.node-builders') -220.134 000.084 000.084: require('nvim-tree.explorer.sorters') -220.217 000.078 000.078: require('nvim-tree.explorer.filters') -220.565 000.247 000.247: require('nvim-tree.view') -220.581 000.359 000.112: require('nvim-tree.live-filter') -220.588 000.766 000.134: require('nvim-tree.explorer.explore') -220.709 000.117 000.117: require('nvim-tree.explorer.reload') -220.718 002.031 000.176: require('nvim-tree.explorer') -220.726 004.007 000.074: require('nvim-tree.core') -220.909 000.180 000.180: require('nvim-tree.diagnostics') -221.015 000.099 000.099: require('nvim-tree.renderer.components.padding') -221.118 000.098 000.098: require('nvim-tree.renderer.components.icons') -221.226 000.103 000.103: require('nvim-tree.renderer.components.full-name') -221.318 000.088 000.088: require('nvim-tree.renderer.help') -221.462 000.138 000.138: require('nvim-tree.renderer.components.git') -221.608 000.142 000.142: require('nvim-tree.renderer.builder') -221.714 000.101 000.101: require('nvim-tree.marks') -221.737 005.101 000.146: require('nvim-tree.renderer') -221.833 000.087 000.087: require('nvim-tree.actions.tree-modifiers.collapse-all') -221.937 000.098 000.098: require('nvim-tree.actions.root.dir-up') -222.038 000.097 000.097: require('nvim-tree.actions.root.change-dir') -222.133 000.090 000.090: require('nvim-tree.actions.reloaders.reloaders') -222.232 000.093 000.093: require('nvim-tree.actions.finders.find-file') -222.237 005.683 000.118: require('nvim-tree.lib') -222.366 000.125 000.125: require('nvim-tree.colors') -222.542 000.170 000.170: require('nvim-tree.legacy') -222.681 000.133 000.133: require('nvim-tree.actions.fs.copy-paste') -222.892 000.091 000.091: require('nvim-tree.actions.tree-modifiers.expand-all') -223.020 000.122 000.122: require('nvim-tree.actions.tree-modifiers.toggles') -223.130 000.103 000.103: require('nvim-tree.actions.fs.create-file') -223.238 000.102 000.102: require('nvim-tree.actions.fs.rename-file') -223.383 000.139 000.139: require('nvim-tree.actions.fs.trash') -223.530 000.141 000.141: require('nvim-tree.actions.fs.remove-file') -223.668 000.128 000.128: require('nvim-tree.actions.moves.parent') -223.754 000.081 000.081: require('nvim-tree.actions.moves.sibling') -223.838 000.078 000.078: require('nvim-tree.actions.moves.item') -223.939 000.092 000.092: require('nvim-tree.actions.finders.search-node') -224.022 000.078 000.078: require('nvim-tree.actions.node.run-command') -224.119 000.092 000.092: require('nvim-tree.actions.node.file-popup') -224.227 000.103 000.103: require('nvim-tree.actions.node.system-open') -224.338 000.098 000.098: require('nvim-tree.marks.bulk-move') -224.347 001.659 000.211: require('nvim-tree.actions.dispatch') -224.407 008.093 000.322: require('nvim-tree') -224.486 000.074 000.074: require('nvim-tree.config') -229.437 000.237 000.237: require('nvim-tree.actions') -229.603 000.154 000.154: require('nvim-tree.actions.node.open-file') -233.354 000.233 000.233: require('nvim-tree.marks.navigation') -233.364 000.784 000.551: require('nvim-tree.api') -233.479 001.040 000.255: require('nvim-tree.keymap') -236.336 002.170 002.170: require('nvim-web-devicons') -240.525 024.376 012.609: require('plugins.nvim-tree') -240.824 000.077 000.077: require('lualine_require') -241.367 000.729 000.652: require('lualine') -241.438 000.064 000.064: require('plugins.linecolor') -246.560 000.082 000.082: require('lualine.utils.mode') -253.179 012.644 011.770: require('plugins.lualine') -253.188 153.957 007.627: sourcing /home/sxrdusr/.config/nvim/init.lua -253.205 008.688: sourcing vimrc file(s) -253.467 000.053 000.053: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -254.341 000.051 000.051: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.lua -255.729 001.187 001.187: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/filetype.vim -257.642 000.267 000.267: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/synload.vim -257.880 001.755 001.488: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/syntax/syntax.vim -263.910 001.409 001.409: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/gzip.vim -264.075 000.066 000.066: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/health.vim -267.945 002.388 002.388: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -268.522 004.362 001.974: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchit.vim -269.029 000.421 000.421: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/matchparen.vim -269.214 000.092 000.092: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/netrwPlugin.vim -269.707 000.034 000.034: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -269.729 000.427 000.394: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/rplugin.vim -270.014 000.201 000.201: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/shada.vim -270.210 000.104 000.104: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/spellfile.vim -270.625 000.323 000.323: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tarPlugin.vim -270.959 000.232 000.232: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tohtml.vim -271.133 000.083 000.083: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/tutor.vim -272.220 000.996 000.996: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/zipPlugin.vim -273.782 001.296 001.296: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -275.117 001.158 001.158: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -275.996 000.097 000.097: sourcing /tmp/.mount_nvimjb3Vyr/usr/share/nvim/runtime/plugin/man.lua -276.202 008.682: loading rtp plugins -277.568 000.100 000.100: require('Comment.config') -277.655 000.079 000.079: require('Comment.utils') -277.724 000.064 000.064: require('Comment.opfunc') -277.788 000.059 000.059: require('Comment.extra') -277.800 000.452 000.150: require('Comment.api') -278.245 000.948 000.496: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -278.890 000.062 000.062: require('luasnip.util.types') -279.005 000.108 000.108: require('luasnip.util.ext_opts') -279.079 000.068 000.068: require('luasnip.extras.filetype_functions') -279.148 000.065 000.065: require('luasnip.session') -279.402 000.098 000.098: require('luasnip.util.util') -279.473 000.066 000.066: require('luasnip.nodes.util') -279.534 000.056 000.056: require('luasnip.util.events') -279.547 000.319 000.099: require('luasnip.nodes.node') -279.674 000.069 000.069: require('luasnip.util.extend_decorator') -279.686 000.533 000.146: require('luasnip.nodes.insertNode') -279.919 000.074 000.074: require('luasnip.util.mark') -280.169 000.139 000.139: require('luasnip.nodes.textNode') -281.040 000.795 000.795: require('luasnip.util._builtin_vars') -281.351 001.174 000.379: require('luasnip.util.environ') -281.437 000.079 000.079: require('luasnip.util.pattern_tokenizer') -281.498 000.056 000.056: require('luasnip.util.dict') -281.575 000.072 000.072: require('luasnip.session.snippet_collection') -281.623 001.697 000.177: require('luasnip.nodes.snippet') -281.637 001.947 000.176: require('luasnip.nodes.choiceNode') -281.746 000.092 000.092: require('luasnip.nodes.functionNode') -281.890 000.138 000.138: require('luasnip.nodes.dynamicNode') -282.120 000.223 000.223: require('luasnip.nodes.restoreNode') -282.206 000.080 000.080: require('luasnip.extras') -282.337 000.058 000.058: require('luasnip.util.str') -282.346 000.132 000.074: require('luasnip.extras.fmt') -282.406 000.056 000.056: require('luasnip.extras.expand_conditions') -282.614 000.065 000.065: require('luasnip.util.parser.neovim_ast') -292.804 000.087 000.087: require('luasnip.util.directed_graph') -292.822 010.347 010.195: require('luasnip.util.parser.ast_utils') -293.128 000.099 000.099: require('luasnip.util.functions') -293.176 000.350 000.251: require('luasnip.util.parser.ast_parser') -293.310 000.128 000.128: require('luasnip.util.parser.neovim_parser') -293.321 010.908 000.083: require('luasnip.util.parser') -293.386 000.062 000.062: require('luasnip.nodes.absolute_indexer') -294.059 015.332 000.858: require('luasnip.config') -294.221 015.792 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -294.977 000.049 000.049: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -295.967 000.371 000.371: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -296.524 000.083 000.083: require('cmp.utils.api') -296.647 000.059 000.059: require('cmp.types.cmp') -296.839 000.119 000.119: require('cmp.utils.misc') -297.081 000.429 000.310: require('cmp.types.lsp') -297.226 000.138 000.138: require('cmp.types.vim') -297.234 000.702 000.076: require('cmp.types') -297.305 000.067 000.067: require('cmp.utils.highlight') -297.431 000.059 000.059: require('cmp.utils.debug') -297.450 000.140 000.081: require('cmp.utils.autocmd') -298.078 001.706 000.713: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -298.486 000.147 000.147: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -299.035 000.067 000.067: require('nvim-treesitter.statusline') -299.120 000.078 000.078: require('nvim-treesitter.query_predicates') -299.127 000.230 000.085: require('nvim-treesitter') -300.467 000.465 000.465: require('vim.treesitter.highlighter') -300.868 001.027 000.563: require('nvim-treesitter.highlight') -301.483 002.641 001.383: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -301.941 000.234 000.234: require('treesitter-context') -301.952 000.276 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -302.323 000.085 000.085: require('nvim-treesitter-refactor') -302.482 000.270 000.185: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -302.850 000.115 000.115: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -303.268 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -303.688 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -304.627 000.442 000.442: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -305.382 000.516 000.516: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -305.980 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -307.047 007.082: loading packages -308.141 000.120 000.120: require('cmp.utils.char') -308.156 000.213 000.094: require('cmp.utils.str') -308.227 000.067 000.067: require('cmp.utils.pattern') -308.445 000.058 000.058: require('cmp.utils.buffer') -308.459 000.156 000.099: require('cmp.utils.keymap') -308.467 000.235 000.078: require('cmp.utils.feedkeys') -308.560 000.090 000.090: require('cmp.utils.async') -308.700 000.060 000.060: require('cmp.utils.cache') -308.708 000.142 000.081: require('cmp.context') -308.960 000.082 000.082: require('cmp.config.mapping') -309.130 000.083 000.083: require('cmp.config.compare') -309.135 000.165 000.082: require('cmp.config.default') -309.162 000.364 000.117: require('cmp.config') -309.340 000.067 000.067: require('cmp.matcher') -309.351 000.185 000.119: require('cmp.entry') -309.365 000.655 000.105: require('cmp.source') -309.506 000.060 000.060: require('cmp.utils.event') -309.707 000.096 000.096: require('cmp.utils.window') -309.715 000.204 000.108: require('cmp.view.docs_view') -309.873 000.119 000.119: require('cmp.view.custom_entries_view') -309.983 000.105 000.105: require('cmp.view.wildmenu_entries_view') -310.074 000.086 000.086: require('cmp.view.native_entries_view') -310.155 000.077 000.077: require('cmp.view.ghost_text_view') -310.173 000.804 000.152: require('cmp.view') -310.282 002.463 000.258: require('cmp.core') -310.552 000.080 000.080: require('cmp.config.sources') -310.621 000.061 000.061: require('cmp.config.window') -310.730 003.033 000.429: require('cmp') -311.020 000.062 000.062: require('cmp_buffer.timer') -311.032 000.152 000.089: require('cmp_buffer.buffer') -311.037 000.238 000.087: require('cmp_buffer.source') -311.042 000.307 000.069: require('cmp_buffer') -311.140 003.495 000.155: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -311.571 000.162 000.162: require('cmp_cmdline') -311.603 000.289 000.127: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -311.961 000.072 000.072: require('cmp_nvim_lsp.source') -311.969 000.157 000.085: require('cmp_nvim_lsp') -312.022 000.252 000.095: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -312.343 000.115 000.115: require('cmp_path') -312.378 000.198 000.083: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -313.734 000.697 000.697: require('vim.lsp.protocol') -313.987 000.246 000.246: require('vim.lsp._snippet') -314.131 000.137 000.137: require('vim.highlight') -314.170 001.507 000.427: require('vim.lsp.util') -314.178 001.594 000.087: require('cmp_luasnip') -314.253 001.713 000.119: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -314.335 001.341: loading after plugins -314.364 000.028: inits 3 -314.376 000.012: reading ShaDa -314.772 000.072 000.072: require('luasnip.loaders._caches') -314.885 000.106 000.106: require('luasnip.util.path') -314.974 000.083 000.083: require('luasnip.loaders.util') -315.202 000.105 000.105: require('luasnip.loaders') -315.244 000.265 000.160: require('luasnip') -315.251 000.649 000.123: require('luasnip.loaders.from_lua') -315.568 000.075 000.075: require('luasnip.nodes.snippetProxy') -315.581 000.183 000.107: require('luasnip.loaders.from_snipmate') -315.717 000.098 000.098: require('luasnip.loaders.from_vscode') -315.757 000.452: opening buffers -315.967 000.210: BufEnter autocommands -315.973 000.006: editing files in windows -332.180 000.541 000.541: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.440 001.440: --- NVIM STARTING --- -033.506 032.067: event init -051.827 018.320: early init -053.736 001.909: locale set -059.318 005.583: init first window -069.727 010.408: inits 1 -069.752 000.026: window checked -069.761 000.008: parsing arguments -081.649 000.270 000.270: require('vim.shared') -082.171 000.244 000.244: require('vim._meta') -082.184 000.512 000.267: require('vim._editor') -082.192 000.908 000.126: require('vim._init_packages') -082.199 011.531: init lua interpreter -082.371 000.172: expanding arguments -084.237 001.866: inits 2 -085.649 001.412: init highlight -085.660 000.011: waiting for UI -088.638 002.978: done waiting for UI -088.708 000.071: init screen for UI -089.210 000.502: init default mappings -089.266 000.055: init default autocommands -099.603 004.098 004.098: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/ftplugin.vim -102.742 001.689 001.689: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/indent.vim -103.345 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim -103.371 000.184 000.127: sourcing /etc/xdg/nvim/sysinit.vim -120.420 009.662 009.662: require('keys') -125.718 005.274 005.274: require('opts') -131.048 001.043 001.043: require('packer.util') -131.141 004.676 003.633: require('packer') -135.503 001.909 001.909: require('packer.log') -135.523 002.818 000.910: require('packer.async') -137.175 000.657 000.657: require('packer.result') -137.192 001.660 001.003: require('packer.jobs') -137.218 005.968 001.490: require('packer.plugin_utils') -138.471 001.209 001.209: require('packer.snapshot') -139.913 014.177 002.324: require('pack') -157.971 018.042 018.042: require('impatient') -159.695 000.228 000.228: require('vim.treesitter.language') -159.725 000.906 000.678: require('vim.treesitter.query') -161.084 000.390 000.390: require('vim.treesitter.languagetree') -161.183 000.765 000.374: require('vim.treesitter') -161.604 001.571 000.806: require('nvim-treesitter.parsers') -161.821 000.208 000.208: require('nvim-treesitter.utils') -161.843 001.948 000.169: require('nvim-treesitter.ts_utils') -161.860 002.128 000.180: require('nvim-treesitter.tsrange') -162.042 000.176 000.176: require('nvim-treesitter.caching') -162.071 003.524 000.313: require('nvim-treesitter.query') -162.111 003.996 000.471: require('nvim-treesitter.configs') -162.983 000.371 000.371: require('nvim-treesitter.info') -163.160 000.166 000.166: require('nvim-treesitter.shell_command_selectors') -163.230 000.973 000.436: require('nvim-treesitter.install') -201.529 043.537 038.568: require('plugins.treesitter') -201.858 000.117 000.117: require('telescope._extensions') -201.869 000.215 000.098: require('telescope') -202.748 000.087 000.087: require('plenary.bit') -202.837 000.080 000.080: require('plenary.functional') -202.894 000.036 000.036: require('ffi') -202.920 000.413 000.210: require('plenary.path') -202.941 000.534 000.120: require('plenary.strings') -203.036 000.087 000.087: require('telescope.deprecated') -203.433 000.180 000.180: require('plenary.log') -203.526 000.350 000.170: require('telescope.log') -203.805 000.143 000.143: require('plenary.job') -203.893 000.081 000.081: require('telescope.state') -203.912 000.380 000.156: require('telescope.utils') -203.928 000.886 000.156: require('telescope.sorters') -204.097 000.144 000.144: require('vim.inspect') -205.037 000.017 000.017: require('vim.F') -208.736 006.621 004.954: require('telescope.config') -209.238 000.193 000.193: require('plenary.window.border') -209.784 000.538 000.538: require('plenary.window') -209.860 000.069 000.069: require('plenary.popup.utils') -209.870 001.122 000.323: require('plenary.popup') -209.955 000.081 000.081: require('telescope.pickers.scroller') -210.034 000.073 000.073: require('telescope.actions.state') -210.120 000.080 000.080: require('telescope.actions.utils') -210.388 000.082 000.082: require('telescope.actions.mt') -210.427 000.302 000.220: require('telescope.actions.set') -210.812 000.085 000.085: require('telescope.config.resolve') -210.821 000.232 000.147: require('telescope.pickers.entry_display') -210.890 000.066 000.066: require('telescope.from_entry') -211.423 009.549 000.972: require('telescope.actions') -212.041 000.064 000.064: require('plenary.tbl') -212.051 000.140 000.076: require('plenary.vararg.rotate') -212.055 000.208 000.068: require('plenary.vararg') -212.122 000.064 000.064: require('plenary.errors') -212.132 000.357 000.085: require('plenary.async.async') -212.210 000.075 000.075: require('plenary.async.structs') -212.223 000.527 000.095: require('plenary.async.control') -212.539 000.229 000.229: require('telescope.make_entry') -212.832 000.078 000.078: require('plenary.async.util') -212.839 000.148 000.070: require('plenary.async.tests') -212.844 000.222 000.075: require('plenary.async') -212.849 000.304 000.082: require('telescope.finders.async_static_finder') -213.073 000.065 000.065: require('plenary.class') -213.101 000.176 000.110: require('telescope._') -213.107 000.255 000.079: require('telescope.finders.async_oneshot_finder') -213.182 000.072 000.072: require('telescope.finders.async_job_finder') -213.196 000.968 000.108: require('telescope.finders') -213.485 000.082 000.082: require('telescope.debounce') -213.656 000.164 000.164: require('telescope.mappings') -213.782 000.120 000.120: require('telescope.pickers.highlights') -213.862 000.074 000.074: require('telescope.pickers.window') -214.038 000.079 000.079: require('telescope.algos.linked_list') -214.047 000.179 000.101: require('telescope.entry_manager') -214.124 000.074 000.074: require('telescope.pickers.multi') -214.157 000.957 000.264: require('telescope.pickers') -214.173 002.597 000.145: require('telescope.builtin.__lsp') -214.216 002.785 000.188: require('telescope.builtin') -214.575 000.265 000.265: require('fzf_lib') -214.587 000.364 000.099: require('telescope._extensions.fzf') -214.921 000.101 000.101: require('telescope._extensions.file_browser.utils') -215.026 000.349 000.248: require('telescope._extensions.file_browser.actions') -215.273 000.154 000.154: require('telescope._extensions.file_browser.make_entry') -215.417 000.138 000.138: require('plenary.scandir') -215.468 000.437 000.146: require('telescope._extensions.file_browser.finders') -215.551 000.079 000.079: require('telescope._extensions.file_browser.picker') -215.658 000.103 000.103: require('telescope._extensions.file_browser.config') -215.665 001.067 000.100: require('telescope._extensions.file_browser') -220.007 000.023 000.023: require('vim.keymap') -220.326 018.786 004.781: require('plugins.telescope') -221.609 000.069 000.069: require('notify.util.queue') -221.623 000.194 000.125: require('notify.util') -221.878 000.251 000.251: require('notify.config.highlights') -221.888 000.546 000.101: require('notify.config') -222.030 000.137 000.137: require('notify.stages') -222.195 000.158 000.158: require('notify.service.notification') -222.535 000.066 000.066: require('notify.animate.spring') -222.543 000.234 000.168: require('notify.animate') -222.554 000.353 000.119: require('notify.windows') -222.793 000.082 000.082: require('notify.service.buffer.highlights') -222.814 000.184 000.102: require('notify.service.buffer') -222.820 000.261 000.077: require('notify.service') -222.910 000.087 000.087: require('notify.stages.util') -222.920 001.678 000.135: require('notify') -222.997 000.073 000.073: require('nvim-tree.iterators.node-iterator') -223.085 001.979 000.229: require('nvim-tree.utils') -223.099 002.132 000.153: require('nvim-tree.events') -223.342 000.070 000.070: require('nvim-tree.log') -223.507 000.159 000.159: require('nvim-tree.git.utils') -223.603 000.090 000.090: require('nvim-tree.git.runner') -223.692 000.085 000.085: require('nvim-tree.watcher') -223.706 000.526 000.124: require('nvim-tree.git') -223.825 000.116 000.116: require('nvim-tree.explorer.watch') -223.921 000.091 000.091: require('nvim-tree.explorer.common') -224.186 000.113 000.113: require('nvim-tree.explorer.node-builders') -224.289 000.096 000.096: require('nvim-tree.explorer.sorters') -224.436 000.142 000.142: require('nvim-tree.explorer.filters') -224.920 000.367 000.367: require('nvim-tree.view') -224.935 000.493 000.126: require('nvim-tree.live-filter') -224.948 000.968 000.124: require('nvim-tree.explorer.explore') -225.061 000.110 000.110: require('nvim-tree.explorer.reload') -225.071 001.969 000.158: require('nvim-tree.explorer') -225.111 004.209 000.108: require('nvim-tree.core') -225.253 000.138 000.138: require('nvim-tree.diagnostics') -225.338 000.080 000.080: require('nvim-tree.renderer.components.padding') -225.425 000.082 000.082: require('nvim-tree.renderer.components.icons') -225.518 000.089 000.089: require('nvim-tree.renderer.components.full-name') -225.601 000.078 000.078: require('nvim-tree.renderer.help') -225.719 000.113 000.113: require('nvim-tree.renderer.components.git') -225.868 000.144 000.144: require('nvim-tree.renderer.builder') -225.977 000.104 000.104: require('nvim-tree.marks') -226.002 005.207 000.172: require('nvim-tree.renderer') -226.097 000.083 000.083: require('nvim-tree.actions.tree-modifiers.collapse-all') -226.187 000.085 000.085: require('nvim-tree.actions.root.dir-up') -226.284 000.093 000.093: require('nvim-tree.actions.root.change-dir') -226.372 000.083 000.083: require('nvim-tree.actions.reloaders.reloaders') -226.462 000.084 000.084: require('nvim-tree.actions.finders.find-file') -226.467 005.755 000.119: require('nvim-tree.lib') -226.592 000.121 000.121: require('nvim-tree.colors') -226.766 000.169 000.169: require('nvim-tree.legacy') -226.916 000.145 000.145: require('nvim-tree.actions.fs.copy-paste') -227.109 000.085 000.085: require('nvim-tree.actions.tree-modifiers.expand-all') -227.195 000.080 000.080: require('nvim-tree.actions.tree-modifiers.toggles') -227.297 000.091 000.091: require('nvim-tree.actions.fs.create-file') -227.396 000.094 000.094: require('nvim-tree.actions.fs.rename-file') -227.529 000.127 000.127: require('nvim-tree.actions.fs.trash') -227.629 000.094 000.094: require('nvim-tree.actions.fs.remove-file') -227.737 000.102 000.102: require('nvim-tree.actions.moves.parent') -227.819 000.077 000.077: require('nvim-tree.actions.moves.sibling') -227.903 000.079 000.079: require('nvim-tree.actions.moves.item') -228.001 000.087 000.087: require('nvim-tree.actions.finders.search-node') -228.117 000.111 000.111: require('nvim-tree.actions.node.run-command') -228.214 000.092 000.092: require('nvim-tree.actions.node.file-popup') -228.325 000.106 000.106: require('nvim-tree.actions.node.system-open') -228.423 000.087 000.087: require('nvim-tree.marks.bulk-move') -228.432 001.507 000.196: require('nvim-tree.actions.dispatch') -228.491 008.030 000.333: require('nvim-tree') -228.567 000.071 000.071: require('nvim-tree.config') -233.557 000.315 000.315: require('nvim-tree.actions') -233.708 000.138 000.138: require('nvim-tree.actions.node.open-file') -237.087 000.092 000.092: require('nvim-tree.marks.navigation') -237.098 000.268 000.177: require('nvim-tree.api') -237.135 000.443 000.175: require('nvim-tree.keymap') -238.686 001.052 001.052: require('nvim-web-devicons') -244.255 023.921 013.872: require('plugins.nvim-tree') -245.221 000.395 000.395: require('lualine_require') -246.164 001.579 001.185: require('lualine') -246.240 000.069 000.069: require('plugins.linecolor') -249.546 000.081 000.081: require('lualine.utils.mode') -255.637 011.372 009.643: require('plugins.lualine') -255.647 152.176 007.406: sourcing /home/sxrdusr/.config/nvim/init.lua -255.665 008.252: sourcing vimrc file(s) -255.924 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -257.174 000.058 000.058: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.lua -259.475 002.166 002.166: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/filetype.vim -262.509 000.376 000.376: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/synload.vim -262.752 002.375 001.999: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/syntax/syntax.vim -268.292 001.428 001.428: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/gzip.vim -268.426 000.061 000.061: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/health.vim -271.039 001.395 001.395: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -271.512 003.018 001.624: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchit.vim -271.977 000.398 000.398: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/matchparen.vim -272.126 000.080 000.080: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/netrwPlugin.vim -272.541 000.023 000.023: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -272.561 000.371 000.348: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/rplugin.vim -272.808 000.186 000.186: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/shada.vim -272.959 000.082 000.082: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/spellfile.vim -273.333 000.308 000.308: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tarPlugin.vim -273.622 000.219 000.219: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tohtml.vim -273.757 000.068 000.068: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/tutor.vim -274.800 000.978 000.978: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/zipPlugin.vim -276.286 001.257 001.257: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -277.474 001.016 001.016: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -278.325 000.101 000.101: sourcing /tmp/.mount_nvimtdMy65/usr/share/nvim/runtime/plugin/man.lua -278.494 008.606: loading rtp plugins -279.975 000.149 000.149: require('Comment.config') -280.069 000.086 000.086: require('Comment.utils') -280.138 000.063 000.063: require('Comment.opfunc') -280.200 000.058 000.058: require('Comment.extra') -280.213 000.601 000.245: require('Comment.api') -280.666 001.108 000.508: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -281.327 000.059 000.059: require('luasnip.util.types') -281.398 000.064 000.064: require('luasnip.util.ext_opts') -281.468 000.065 000.065: require('luasnip.extras.filetype_functions') -281.536 000.063 000.063: require('luasnip.session') -281.783 000.095 000.095: require('luasnip.util.util') -281.853 000.064 000.064: require('luasnip.nodes.util') -281.911 000.054 000.054: require('luasnip.util.events') -281.926 000.314 000.100: require('luasnip.nodes.node') -282.059 000.063 000.063: require('luasnip.util.extend_decorator') -282.070 000.530 000.153: require('luasnip.nodes.insertNode') -282.340 000.076 000.076: require('luasnip.util.mark') -282.529 000.079 000.079: require('luasnip.nodes.textNode') -283.386 000.788 000.788: require('luasnip.util._builtin_vars') -283.668 001.132 000.344: require('luasnip.util.environ') -283.751 000.077 000.077: require('luasnip.util.pattern_tokenizer') -283.811 000.055 000.055: require('luasnip.util.dict') -283.886 000.070 000.070: require('luasnip.session.snippet_collection') -283.934 001.587 000.174: require('luasnip.nodes.snippet') -283.949 001.875 000.212: require('luasnip.nodes.choiceNode') -284.098 000.132 000.132: require('luasnip.nodes.functionNode') -284.205 000.100 000.100: require('luasnip.nodes.dynamicNode') -284.306 000.095 000.095: require('luasnip.nodes.restoreNode') -284.408 000.097 000.097: require('luasnip.extras') -284.538 000.058 000.058: require('luasnip.util.str') -284.547 000.132 000.074: require('luasnip.extras.fmt') -284.608 000.057 000.057: require('luasnip.extras.expand_conditions') -284.811 000.065 000.065: require('luasnip.util.parser.neovim_ast') -293.026 000.084 000.084: require('luasnip.util.directed_graph') -293.043 008.368 008.219: require('luasnip.util.parser.ast_utils') -293.210 000.061 000.061: require('luasnip.util.functions') -293.258 000.211 000.149: require('luasnip.util.parser.ast_parser') -293.400 000.138 000.138: require('luasnip.util.parser.neovim_parser') -293.411 008.797 000.081: require('luasnip.util.parser') -293.477 000.062 000.062: require('luasnip.nodes.absolute_indexer') -293.898 012.734 000.606: require('luasnip.config') -294.056 013.203 000.469: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -294.842 000.050 000.050: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -295.836 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -296.359 000.081 000.081: require('cmp.utils.api') -296.480 000.057 000.057: require('cmp.types.cmp') -296.619 000.068 000.068: require('cmp.utils.misc') -296.743 000.258 000.190: require('cmp.types.lsp') -296.810 000.060 000.060: require('cmp.types.vim') -296.815 000.449 000.074: require('cmp.types') -296.876 000.057 000.057: require('cmp.utils.highlight') -296.985 000.050 000.050: require('cmp.utils.debug') -297.002 000.122 000.072: require('cmp.utils.autocmd') -297.720 001.509 000.800: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -298.111 000.135 000.135: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -298.635 000.059 000.059: require('nvim-treesitter.statusline') -298.711 000.069 000.069: require('nvim-treesitter.query_predicates') -298.718 000.204 000.076: require('nvim-treesitter') -300.054 000.290 000.290: require('vim.treesitter.highlighter') -300.401 000.792 000.501: require('nvim-treesitter.highlight') -300.770 002.306 001.310: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -301.262 000.278 000.278: require('treesitter-context') -301.273 000.317 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -301.636 000.084 000.084: require('nvim-treesitter-refactor') -301.851 000.326 000.242: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -302.218 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -302.588 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -303.010 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -303.920 000.429 000.429: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -304.696 000.549 000.549: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-startuptime/plugin/startuptime.vim -305.310 000.352 000.352: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -306.794 007.375: loading packages -307.896 000.127 000.127: require('cmp.utils.char') -307.914 000.249 000.122: require('cmp.utils.str') -307.981 000.062 000.062: require('cmp.utils.pattern') -308.199 000.057 000.057: require('cmp.utils.buffer') -308.210 000.157 000.100: require('cmp.utils.keymap') -308.221 000.235 000.078: require('cmp.utils.feedkeys') -308.314 000.089 000.089: require('cmp.utils.async') -308.447 000.059 000.059: require('cmp.utils.cache') -308.454 000.134 000.076: require('cmp.context') -308.705 000.085 000.085: require('cmp.config.mapping') -308.866 000.082 000.082: require('cmp.config.compare') -308.872 000.160 000.077: require('cmp.config.default') -308.897 000.350 000.105: require('cmp.config') -309.068 000.062 000.062: require('cmp.matcher') -309.081 000.180 000.118: require('cmp.entry') -309.095 000.638 000.108: require('cmp.source') -309.233 000.059 000.059: require('cmp.utils.event') -309.405 000.096 000.096: require('cmp.utils.window') -309.412 000.175 000.078: require('cmp.view.docs_view') -309.573 000.120 000.120: require('cmp.view.custom_entries_view') -309.681 000.103 000.103: require('cmp.view.wildmenu_entries_view') -309.769 000.083 000.083: require('cmp.view.native_entries_view') -309.847 000.074 000.074: require('cmp.view.ghost_text_view') -309.865 000.766 000.153: require('cmp.view') -309.975 002.429 000.254: require('cmp.core') -310.464 000.071 000.071: require('cmp.config.sources') -310.532 000.061 000.061: require('cmp.config.window') -310.651 003.219 000.659: require('cmp') -310.932 000.062 000.062: require('cmp_buffer.timer') -310.940 000.144 000.083: require('cmp_buffer.buffer') -310.949 000.232 000.087: require('cmp_buffer.source') -310.953 000.297 000.065: require('cmp_buffer') -310.984 003.601 000.086: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -311.371 000.155 000.155: require('cmp_cmdline') -311.405 000.233 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -311.754 000.072 000.072: require('cmp_nvim_lsp.source') -311.761 000.148 000.076: require('cmp_nvim_lsp') -311.854 000.284 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -312.173 000.114 000.114: require('cmp_path') -312.208 000.192 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -313.680 000.681 000.681: require('vim.lsp.protocol') -313.997 000.309 000.309: require('vim.lsp._snippet') -314.150 000.147 000.147: require('vim.highlight') -314.183 001.671 000.534: require('vim.lsp.util') -314.193 001.759 000.089: require('cmp_luasnip') -314.266 001.907 000.148: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -314.409 001.397: loading after plugins -314.443 000.034: inits 3 -314.458 000.014: reading ShaDa -314.850 000.070 000.070: require('luasnip.loaders._caches') -314.966 000.109 000.109: require('luasnip.util.path') -315.062 000.091 000.091: require('luasnip.loaders.util') -315.293 000.104 000.104: require('luasnip.loaders') -315.332 000.265 000.160: require('luasnip') -315.339 000.648 000.114: require('luasnip.loaders.from_lua') -315.551 000.074 000.074: require('luasnip.nodes.snippetProxy') -315.561 000.172 000.097: require('luasnip.loaders.from_snipmate') -315.691 000.089 000.089: require('luasnip.loaders.from_vscode') -315.726 000.360: opening buffers -315.996 000.269: BufEnter autocommands -316.003 000.007: editing files in windows -331.179 000.499 000.499: require('vim.diagnostic') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.200 001.200: --- NVIM STARTING --- -028.869 027.670: event init -045.983 017.113: early init -047.792 001.810: locale set -053.512 005.720: init first window -063.922 010.410: inits 1 -063.947 000.025: window checked -063.955 000.008: parsing arguments -076.112 000.253 000.253: require('vim.shared') -076.628 000.246 000.246: require('vim._meta') -076.644 000.505 000.259: require('vim._editor') -076.652 000.941 000.183: require('vim._init_packages') -076.660 011.764: init lua interpreter -076.862 000.202: expanding arguments -078.857 001.995: inits 2 -080.284 001.427: init highlight -080.295 000.011: waiting for UI -082.949 002.654: done waiting for UI -083.000 000.051: init screen for UI -083.246 000.246: init default mappings -083.273 000.027: init default autocommands -093.988 004.253 004.253: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/ftplugin.vim -096.789 001.077 001.077: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/indent.vim -097.277 000.056 000.056: sourcing /usr/share/nvim/archlinux.vim -097.304 000.182 000.126: sourcing /etc/xdg/nvim/sysinit.vim -111.429 006.947 006.947: require('keys') -113.908 002.467 002.467: require('opts') -117.673 001.187 001.187: require('packer.util') -117.808 003.545 002.358: require('packer') -122.146 001.171 001.171: require('packer.log') -122.166 002.129 000.957: require('packer.async') -124.195 000.802 000.802: require('packer.result') -124.220 002.045 001.244: require('packer.jobs') -124.252 005.833 001.659: require('packer.plugin_utils') -125.549 001.251 001.251: require('packer.snapshot') -127.162 013.245 002.616: require('pack') -158.488 031.310 031.310: require('impatient') -159.340 000.277 000.277: require('lualine_require') -160.073 001.430 001.153: require('lualine') -160.228 000.146 000.146: require('plugins.linecolor') -169.390 000.177 000.177: require('lualine.utils.mode') -172.397 013.891 012.138: require('plugins.lualine') -172.450 075.045 007.184: sourcing /home/sxrdusr/.config/nvim/init.lua -172.493 008.664: sourcing vimrc file(s) -172.853 000.064 000.064: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -174.426 000.083 000.083: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.lua -176.471 001.751 001.751: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/filetype.vim -179.037 000.296 000.296: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/synload.vim -179.314 002.168 001.872: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/syntax/syntax.vim -179.520 000.026 000.026: require('vim.F') -186.212 001.264 001.264: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/gzip.vim -186.358 000.064 000.064: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/health.vim -186.496 000.065 000.065: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchit.vim -186.634 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/matchparen.vim -186.802 000.097 000.097: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/netrwPlugin.vim -187.224 000.037 000.037: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -187.244 000.381 000.343: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/rplugin.vim -187.485 000.182 000.182: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/shada.vim -187.643 000.091 000.091: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/spellfile.vim -187.770 000.062 000.062: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tarPlugin.vim -187.893 000.059 000.059: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tohtml.vim -188.022 000.066 000.066: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/tutor.vim -188.970 000.884 000.884: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/zipPlugin.vim -190.447 001.228 001.228: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -191.939 001.259 001.259: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -192.809 000.149 000.149: sourcing /tmp/.mount_nvimnohCwK/usr/share/nvim/runtime/plugin/man.lua -193.044 010.542: loading rtp plugins -194.557 000.015 000.015: require('vim.keymap') -194.979 000.089 000.089: require('Comment.config') -195.098 000.111 000.111: require('Comment.utils') -195.179 000.075 000.075: require('Comment.opfunc') -195.356 000.171 000.171: require('Comment.extra') -195.374 000.809 000.362: require('Comment.api') -195.696 001.258 000.434: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -196.405 000.067 000.067: require('luasnip.util.types') -196.489 000.076 000.076: require('luasnip.util.ext_opts') -198.131 000.221 000.221: require('vim.treesitter.language') -198.166 000.785 000.564: require('vim.treesitter.query') -198.468 000.297 000.297: require('vim.treesitter.languagetree') -198.532 001.607 000.525: require('vim.treesitter') -198.791 002.228 000.622: require('nvim-treesitter.parsers') -198.993 000.100 000.100: require('nvim-treesitter.utils') -199.005 000.208 000.108: require('nvim-treesitter.ts_utils') -199.011 002.516 000.080: require('luasnip.extras.filetype_functions') -199.094 000.079 000.079: require('luasnip.session') -199.418 000.126 000.126: require('luasnip.util.util') -199.498 000.074 000.074: require('luasnip.nodes.util') -199.570 000.067 000.067: require('luasnip.util.events') -199.587 000.382 000.115: require('luasnip.nodes.node') -199.701 000.066 000.066: require('luasnip.util.extend_decorator') -199.712 000.613 000.165: require('luasnip.nodes.insertNode') -199.969 000.081 000.081: require('luasnip.util.mark') -200.192 000.093 000.093: require('luasnip.nodes.textNode') -200.914 000.645 000.645: require('luasnip.util._builtin_vars') -201.113 000.189 000.189: require('vim.inspect') -201.340 001.141 000.306: require('luasnip.util.environ') -201.452 000.105 000.105: require('luasnip.util.pattern_tokenizer') -201.569 000.108 000.108: require('luasnip.util.dict') -201.675 000.094 000.094: require('luasnip.session.snippet_collection') -201.787 001.810 000.270: require('luasnip.nodes.snippet') -201.807 002.091 000.199: require('luasnip.nodes.choiceNode') -201.938 000.106 000.106: require('luasnip.nodes.functionNode') -202.112 000.166 000.166: require('luasnip.nodes.dynamicNode') -202.290 000.172 000.172: require('luasnip.nodes.restoreNode') -202.386 000.089 000.089: require('luasnip.extras') -202.561 000.072 000.072: require('luasnip.util.str') -202.575 000.181 000.109: require('luasnip.extras.fmt') -202.643 000.063 000.063: require('luasnip.extras.expand_conditions') -202.880 000.077 000.077: require('luasnip.util.parser.neovim_ast') -215.457 000.113 000.113: require('luasnip.util.directed_graph') -215.486 012.764 012.575: require('luasnip.util.parser.ast_utils') -215.665 000.071 000.071: require('luasnip.util.functions') -215.677 000.184 000.113: require('luasnip.util.parser.ast_parser') -215.881 000.200 000.200: require('luasnip.util.parser.neovim_parser') -215.894 013.244 000.096: require('luasnip.util.parser') -215.971 000.071 000.071: require('luasnip.nodes.absolute_indexer') -217.153 020.941 001.407: require('luasnip.config') -217.313 021.401 000.460: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -218.109 000.052 000.052: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -218.673 000.108 000.108: require('lsp-colors') -219.216 000.706 000.598: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim/plugin/lsp-colors.vim -220.523 000.925 000.925: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/lspsaga.nvim/plugin/lspsaga.lua -221.323 000.399 000.399: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -221.864 000.096 000.096: require('cmp.utils.api') -222.010 000.072 000.072: require('cmp.types.cmp') -222.182 000.079 000.079: require('cmp.utils.misc') -222.383 000.366 000.287: require('cmp.types.lsp') -222.479 000.088 000.088: require('cmp.types.vim') -222.486 000.614 000.088: require('cmp.types') -222.558 000.068 000.068: require('cmp.utils.highlight') -222.684 000.058 000.058: require('cmp.utils.debug') -222.699 000.136 000.078: require('cmp.utils.autocmd') -223.440 001.744 000.830: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -223.708 000.084 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -224.265 000.243 000.243: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -224.744 000.254 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer/plugin/nvim-lsp-installer.vim -225.221 000.152 000.152: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -226.304 000.080 000.080: require('nvim-treesitter.tsrange') -226.375 000.063 000.063: require('nvim-treesitter.caching') -226.395 000.257 000.113: require('nvim-treesitter.query') -226.423 000.394 000.137: require('nvim-treesitter.configs') -226.435 000.486 000.092: require('nvim-treesitter.info') -226.559 000.120 000.120: require('nvim-treesitter.shell_command_selectors') -226.608 000.850 000.243: require('nvim-treesitter.install') -226.680 000.067 000.067: require('nvim-treesitter.statusline') -226.764 000.079 000.079: require('nvim-treesitter.query_predicates') -226.771 001.082 000.087: require('nvim-treesitter') -228.041 000.342 000.342: require('vim.treesitter.highlighter') -228.350 000.802 000.461: require('nvim-treesitter.highlight') -228.990 003.358 001.473: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -229.487 000.218 000.218: require('treesitter-context') -229.498 000.262 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -229.869 000.082 000.082: require('nvim-treesitter-refactor') -230.155 000.393 000.311: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -230.535 000.118 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -230.984 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -231.332 000.099 000.099: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -231.669 000.028 000.028: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -232.027 000.067 000.067: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -233.279 000.677 000.677: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -233.906 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -234.199 000.032 000.032: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -234.492 000.054 000.054: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -236.377 010.537: loading packages -237.770 000.206 000.206: require('cmp.utils.char') -237.795 000.307 000.101: require('cmp.utils.str') -237.874 000.073 000.073: require('cmp.utils.pattern') -238.114 000.058 000.058: require('cmp.utils.buffer') -238.126 000.165 000.107: require('cmp.utils.keymap') -238.139 000.259 000.095: require('cmp.utils.feedkeys') -238.243 000.100 000.100: require('cmp.utils.async') -238.378 000.062 000.062: require('cmp.utils.cache') -238.386 000.137 000.075: require('cmp.context') -238.631 000.076 000.076: require('cmp.config.mapping') -238.815 000.092 000.092: require('cmp.config.compare') -238.825 000.186 000.094: require('cmp.config.default') -238.903 000.422 000.160: require('cmp.config') -239.078 000.067 000.067: require('cmp.matcher') -239.092 000.184 000.117: require('cmp.entry') -239.109 000.720 000.114: require('cmp.source') -239.317 000.061 000.061: require('cmp.utils.event') -239.485 000.088 000.088: require('cmp.utils.window') -239.495 000.172 000.084: require('cmp.view.docs_view') -239.626 000.127 000.127: require('cmp.view.custom_entries_view') -239.733 000.101 000.101: require('cmp.view.wildmenu_entries_view') -239.821 000.083 000.083: require('cmp.view.native_entries_view') -239.912 000.085 000.085: require('cmp.view.ghost_text_view') -239.931 000.818 000.189: require('cmp.view') -240.078 002.714 000.300: require('cmp.core') -240.402 000.068 000.068: require('cmp.config.sources') -240.473 000.062 000.062: require('cmp.config.window') -240.589 003.405 000.561: require('cmp') -240.880 000.061 000.061: require('cmp_buffer.timer') -240.889 000.145 000.084: require('cmp_buffer.buffer') -240.898 000.225 000.079: require('cmp_buffer.source') -240.903 000.308 000.083: require('cmp_buffer') -240.932 003.863 000.149: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -241.333 000.156 000.156: require('cmp_cmdline') -241.367 000.241 000.084: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -241.724 000.072 000.072: require('cmp_nvim_lsp.source') -241.735 000.152 000.080: require('cmp_nvim_lsp') -241.792 000.253 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -242.117 000.119 000.119: require('cmp_path') -242.152 000.200 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -244.719 000.990 000.990: require('vim.lsp.protocol') -245.045 000.318 000.318: require('vim.lsp._snippet') -245.341 000.289 000.289: require('vim.highlight') -245.373 002.812 001.214: require('vim.lsp.util') -245.381 003.021 000.210: require('cmp_luasnip') -245.454 003.140 000.118: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -245.540 001.468: loading after plugins -245.570 000.029: inits 3 -245.584 000.014: reading ShaDa -246.009 000.071 000.071: require('luasnip.loaders._caches') -246.125 000.109 000.109: require('luasnip.util.path') -246.226 000.094 000.094: require('luasnip.loaders.util') -246.457 000.106 000.106: require('luasnip.loaders') -246.497 000.264 000.159: require('luasnip') -246.504 000.653 000.114: require('luasnip.loaders.from_lua') -246.720 000.069 000.069: require('luasnip.nodes.snippetProxy') -246.733 000.169 000.100: require('luasnip.loaders.from_snipmate') -246.974 000.094 000.094: require('luasnip.loaders.from_vscode') -247.013 000.513: opening buffers -247.262 000.249: BufEnter autocommands -247.269 000.007: editing files in windows -337.636 000.735 000.735: require('vim.diagnostic') -339.538 000.687 000.687: require('nvim-web-devicons') diff --git a/lua/utils.lua b/lua/utils.lua deleted file mode 100644 index ab1473f..0000000 --- a/lua/utils.lua +++ /dev/null @@ -1,66 +0,0 @@ -local fn = vim.fn - -local M = {} - -function M.executable(name) - if fn.executable(name) > 0 then - return true - end - - return false -end - ---- check whether a feature exists in Nvim ---- @feat: string ---- the feature name, like `nvim-0.7` or `unix`. ---- return: bool -M.has = function(feat) - if fn.has(feat) == 1 then - return true - end - - return false -end - ---- Create a dir if it does not exist -function M.may_create_dir(dir) - local res = fn.isdirectory(dir) - - if res == 0 then - fn.mkdir(dir, "p") - end -end - -function M.get_nvim_version() - local actual_ver = vim.version() - - local nvim_ver_str = string.format("%d.%d.%d", actual_ver.major, actual_ver.minor, actual_ver.patch) - return nvim_ver_str -end - ---- Generate random integers in the range [Low, High], inclusive, ---- adapted from https://stackoverflow.com/a/12739441/6064933 ---- @low: the lower value for this range ---- @high: the upper value for this range -function M.rand_int(low, high) - -- Use lua to generate random int, see also: https://stackoverflow.com/a/20157671/6064933 - math.randomseed(os.time()) - - return math.random(low, high) -end - ---- Select a random element from a sequence/list. ---- @seq: the sequence to choose an element -function M.rand_element(seq) - local idx = M.rand_int(1, #seq) - - return seq[idx] -end - -function M.add_pack(name) - local status, error = pcall(vim.cmd, "packadd " .. name) - - return status -end - -return M -- cgit v1.2.3 From 6cdd3b4b282d79130dc6f2b346cb509ddbb6fa48 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 20 Oct 2022 23:58:14 +0200 Subject: luasnip integration --- autoload/scripts.vim | 15 ++++ lua/user/autopairs.lua | 12 ++- lua/user/cmp.lua | 39 +++++---- lua/user/colorscheme.lua | 2 +- lua/user/keys.lua | 204 ++++++++++++++++++++++++++--------------------- lua/user/luasnip.lua | 127 ++++++++++++++++++++++------- lua/user/opts.lua | 1 + lua/user/pack.lua | 5 +- 8 files changed, 265 insertions(+), 140 deletions(-) create mode 100644 autoload/scripts.vim diff --git a/autoload/scripts.vim b/autoload/scripts.vim new file mode 100644 index 0000000..5c695d3 --- /dev/null +++ b/autoload/scripts.vim @@ -0,0 +1,15 @@ +if !exists('*scripts#save_and_exec') + function! scripts#save_and_exec() abort + if &filetype == 'vim' + :silent! write + :source % + elseif &filetype == 'lua' + :silent! write + :luafile % + endif + + return + endfunction +endif + + diff --git a/lua/user/autopairs.lua b/lua/user/autopairs.lua index 577e571..fc39d2e 100644 --- a/lua/user/autopairs.lua +++ b/lua/user/autopairs.lua @@ -11,9 +11,19 @@ npairs.setup { javascript = { "string", "template_string" }, java = false, }, + map = "", + pairs_map = { +['<'] = '>', +}, disable_filetype = { "TelescopePrompt", "spectre_panel" }, + disable_in_macro = true, + disable_in_visualblock = true, + enalbe_moveright = true, + enable_afterquote = true, -- add bracket pairs after quote + enable_check_bracket_line = true, --- check bracket in same line + enable_bracket_in_quote = true, -- + break_undo = true, -- switch for basic rule break undo sequence fast_wrap = { - map = "", chars = { "{", "[", "(", '"', "'" }, pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), offset = 0, -- Offset from pattern match diff --git a/lua/user/cmp.lua b/lua/user/cmp.lua index 77a4943..4dc7c45 100644 --- a/lua/user/cmp.lua +++ b/lua/user/cmp.lua @@ -1,7 +1,7 @@ -- Setup nvim-cmp. ---vim.opt.completeopt = "menu,menuone,noselect" -vim.g.completeopt = "menu,menuone,noselect,noinsert" +vim.opt.completeopt = "menu,menuone,noselect" +--vim.g.completeopt = "menu,menuone,noselect,noinsert" local cmp_status_ok, cmp = pcall(require, "cmp") if not cmp_status_ok then return @@ -39,7 +39,7 @@ require("symbols-outline").setup(opts) -- exclude = {}, --}) -require("luasnip.loaders.from_vscode").lazy_load() +--require("luasnip.loaders.from_vscode").lazy_load() local lspkind = require("lspkind") local kind_icons = { Text = "", @@ -70,17 +70,24 @@ local kind_icons = { } cmp.setup({ snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, + --expand = function(args) + -- require("luasnip").lsp_expand(args.body) + --end, + expand = function(args) + local luasnip = require("luasnip") + if not luasnip then + return + end + luasnip.lsp_expand(args.body) + end, }, mapping = cmp.mapping.preset.insert({ -- [""] = cmp.mapping.confirm({ -- behavior = cmp.ConfirmBehavior.Replace, -- select = true, -- }), - [""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), + --[""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), + --[""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), [''] = cmp.mapping.confirm({ select = true }), --[""] = cmp.mapping.close(), [''] = cmp.mapping({ @@ -102,10 +109,12 @@ cmp.setup({ sources = cmp.config.sources({ { name = "path" }, - { name = "nvim_lua" }, + --{ name = "nvim_lua" }, { name = "gh_issues" }, { name = "nvim_lsp", keyword_length = 3 }, - { name = "luasnip", keyword_length = 4 }, + { name = 'luasnip', option = { use_show_condition = false } }, + --{ name = "luasnip" }, + --{ name = "luasnip", keyword_length = 4 }, --{ name = "buffer", keyword_length = 3 }, { name = "buffer", option = { get_bufnrs = function() return vim.api.nvim_list_bufs() @@ -144,11 +153,11 @@ cmp.setup({ format = lspkind.cmp_format { with_text = true, menu = { - buffer = "[buf]", nvim_lsp = "[LSP]", + luasnip = "[snip]", + buffer = "[buf]", nvim_lua = "[api]", path = "[path]", - luasnip = "[snip]", gh_issues = "[issues]", }, }, @@ -198,7 +207,7 @@ cmp.setup({ experimental = { ghost_text = true, hl_group = 'Nontext', - native_menu = false, + --native_menu = false, }, view = { @@ -236,8 +245,8 @@ cmp.setup.cmdline({ '/', '?' }, { cmp.setup.cmdline(":", { mapping = { - [""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), [""] = cmp.mapping(cmp.mapping.confirm({ select = true }), { 'i', 'c' }), [""] = cmp.mapping(cmp.mapping.close(), { 'i', 'c' }), [""] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), diff --git a/lua/user/colorscheme.lua b/lua/user/colorscheme.lua index 3ded54c..dc0145d 100644 --- a/lua/user/colorscheme.lua +++ b/lua/user/colorscheme.lua @@ -1,6 +1,6 @@ -- Colorscheme -- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "doom-one" +local colorscheme = "onedark" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then vim.notify("colorscheme " .. colorscheme .. " not found!") diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 4515cbc..1a2994b 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -1,17 +1,24 @@ --[[ key.lua ]] -- Shorten function name -local map = vim.api.nvim_set_keymap +--local keymap = vim.api.nvim_set_keymap +local keymap = vim.keymap -local function new_desc(d) - return { desc = d } -end - -local d = new_desc - -local opts = { noremap = true, silent = true } +--local function new_desc(d) +-- return { desc = d } +--end +-- +--local d = new_desc + +--local opts = { noremap = true, silent = true } +local term_opts = { noremap = true, silent = false } + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.noremap = true + keymap.set(mode, l, r, opts) + end -local term_opts = { silent = true } --------------- Standard Operations --------------- -- Semi-colon as leader key @@ -19,12 +26,12 @@ vim.g.mapleader = ";" --vim.g.maplocalleader = ";" -- "jj" to exit insert-mode -map("i", "jj", "", opts) +map("i", "jj", "") -- save quickly --map("n", ";w", ":w", d("Save buffer")) ---map("n", "so", ":luafile %", opts) +--map("n", "so", ":luafile %") --vim.cmd([[ --let $my_vimrc = $localappdata.'/nvim/init.lua' @@ -32,32 +39,40 @@ map("i", "jj", "", opts) --]]) --vim.api.nvim_set_keymap("n", "", "lua ReloadConfig()", { noremap = true, silent = false }) -vim.api.nvim_set_keymap("n", "", "luafile ~/.config/nvim/init.lua", { noremap = true, silent = false }) +map("n", "", "luafile ~/.config/nvim/init.lua", print ("Nvim configuration reloaded")) +-- +-- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) + --vim.api.nvim_set_keymap('n', 'qr', ':lua require("plugins.telescope").reload()', { noremap = true, silent = true }) --Easier split navigations, just ctrl-j instead of ctrl-w then j -map("n", "", "", opts) -map("n", "", "", opts) -map("n", "", "", opts) -map("n", "", "", opts) +--map("n", "", "") +--map("n", "", "") +--map("n", "", "") +--map("n", "", "") -- Combine buffers list with buffer name -map("n", "b", ":buffers:buffer", opts) +map("n", "b", ":buffers:buffer") -- Map buffer next, prev and delete to -map("n", "n", ":bn", opts) -map("n", "p", ":bp", opts) -map("n", "d", ":bd", opts) +map("n", "n", ":bn") +map("n", "p", ":bp") +map("n", "d", ":bd") -- Disable default completion. -map('i', '', '', opts) -map('i', '', '', opts) +map('i', '', '') +map('i', '', '') -- Set alt + j/k to switch lines of texts or simply move them -map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) -map("n", "", ':let save_a=@a"add"ap:let @a=save_a', opts) +map("n", "", ':let save_a=@a"add"ap:let @a=save_a') +map("n", "", ':let save_a=@a"add"ap:let @a=save_a') + +map("i", "", "") + +map("n", "", "!clear") + +map("n", "y", ":BufferPick") -map("n", "", "!clear", opts) vim.cmd([[ inoremap inoremap @@ -87,74 +102,74 @@ vim.cmd([[ ]]) -- move block easily -map("n", "<", "<<", d("Decrease indent")) -map("n", ">", ">>", d("Increase indent")) -map("x", "<", "", ">gv", d("Decrease indent")) +map("n", "<", "<<", term_opts) +map("n", ">", ">>", term_opts) +map("x", "<", "", ">gv", term_opts) -- Resize Panes -map("n", "+", ":resize +5", opts) -map("n", "-", ":resize -5", opts) -map("n", "<", ":vertical resize +5", opts) -map("n", ">", ":vertical resize -5", opts) -map("n", "=", "=", opts) +map("n", "+", ":resize +5") +map("n", "-", ":resize -5") +map("n", "<", ":vertical resize +5") +map("n", ">", ":vertical resize -5") +map("n", "=", "=") -- New tab -map("n", "e", ":tabedit", opts) +map("n", "e", ":tabedit") -- create tab like window -map("n", "h", ":tabprevious", d("Goto previous tab")) -map("n", "l", ":tabnext", d("Goto next tab")) -map("n", "n", ":tabnew", d("Create a new tab")) +map("n", "h", ":tabprevious") +map("n", "l", ":tabnext") +map("n", "n", ":tabnew") -- Vim TABs -map("n", "1", "1gt", opts) -map("n", "2", "2gt", opts) -map("n", "3", "3gt", opts) -map("n", "4", "4gt", opts) -map("n", "5", "5gt", opts) -map("n", "6", "6gt", opts) -map("n", "7", "7gt", opts) -map("n", "8", "8gt", opts) -map("n", "9", "9gt", opts) -map("n", "0", "10gt", opts) +map("n", "1", "1gt") +map("n", "2", "2gt") +map("n", "3", "3gt") +map("n", "4", "4gt") +map("n", "5", "5gt") +map("n", "6", "6gt") +map("n", "7", "7gt") +map("n", "8", "8gt") +map("n", "9", "9gt") +map("n", "0", "10gt") -- Split window -map("n", "h", ":split", opts) -map("n", "v", ":vsplit", opts) -map("n", "c", "c", opts) +map("n", "h", ":split") +map("n", "v", ":vsplit") +map("n", "c", "c") -- Toggle set number -map("n", "$", ":NumbersToggle", opts) -map("n", "%", ":NumbersOnOff", opts) +map("n", "$", ":NumbersToggle") +map("n", "%", ":NumbersOnOff") -- Change mode to executable -map("n", "x", ":!chmod +x %", opts) +map("n", "x", ":!chmod +x %") -- Paste without replace clipboard -map("v", "p", '"_dP', opts) +map("v", "p", '"_dP') -- Paste end of line ---map("n", ",", "$p", opts) +--map("n", ",", "$p") vim.cmd([[ nmap , $p ]]) -- Select entire buffer -map("v", "", "ggG", opts) +map("v", "", "ggG") -- Delete without changing the registers ---map('n', 'x', '"_x', opts) +--map('n', 'x', '"_x') -- Select all text in current buffer --map('n', 'a', ':keepjumps normal! ggVG') -- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in -- visual mode to select text to swap with -map("v", "", "`.``gvP``P", opts) +map("v", "", "`.``gvP``P") -- Search and replace -map("v", "sr", 'y:%s/"//gc', opts) +map("v", "sr", 'y:%s/"//gc') --vnoremap ; :call Get_visual_selection() -- --function! Get_visual_selection() @@ -192,40 +207,45 @@ vim.cmd([[ map s :up \| saveas! %:p:r-=strftime("%y.%m.%d-%H:%M")-bak.=expand("%:e") \| 3sleep \| e # ]]) +-- Execute this file +--map("n", "x", ":call scripts#save_and_exec()", print("save & exec")) +vim.cmd([[ + " Execute this file + nnoremap x :call scripts#save_and_exec()\|:echom "save & exec . . ." + +]]) -------------- Telescope -------------- --Telescope find_files cwd=.. -map("n", "fc", "lua require('telescope.builtin').commands()", opts) +map("n", "fc", "lua require('telescope.builtin').commands()") map( "n", "ft", - "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))", - opts -) + "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))") -map("n", "fg", "lua require('telescope.builtin').live_grep()", opts) -map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()", opts) +map("n", "fg", "lua require('telescope.builtin').live_grep()") +map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()") - map("n", "fd", "lua require('telescope.builtin').diagnostics()", opts) ---map("n", "fz", ":FZF", opts) ---map("t", [[]], [[]], opts) + map("n", "fd", "lua require('telescope.builtin').diagnostics()") +--map("n", "fz", ":FZF") +--map("t", [[]], [[]]) --map("n", "ff", ":NvimTreeToggle", {}) map("n", "f", ":NvimTreeToggle", {}) -- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) -- Find files in config dirs --key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) ---map("n", "f.", "lua require('plugins.telescope').find_configs({})", opts) -map("n", "ft", "lua require('plugins.telescope').file_explorer({})", opts) ---map("n", "fd", "lua require('plugins.telescope').find_notes({})", opts) -map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})", opts) +--map("n", "f.", "lua require('plugins.telescope').find_configs({})") +map("n", "ft", "lua require('plugins.telescope').file_explorer({})") +--map("n", "fd", "lua require('plugins.telescope').find_notes({})") +map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})") -- registers picker -map("n", "r", "lua require('telescope.builtin').registers({})", opts) +map("n", "r", "lua require('telescope.builtin').registers({})") -- find files including gitignored --keymap( -- "n", -- "fg", --- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})", opts) +-- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})") -- open available commands & run it -map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})", opts) +map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})") -------------- Autopairs -------------- Toggle_autopairs = function() @@ -259,7 +279,7 @@ vim.cmd([[ endfunction nnoremap tb :call Toggle_transparent_background() ]]) ---keymap('n', 'tb', ':Toggle_transparent_background', opts) +--keymap('n', 'tb', ':Toggle_transparent_background') -- Toggle zoom vim.cmd([[ @@ -276,10 +296,10 @@ vim.cmd([[ endfunction command! ZoomToggle call s:ZoomToggle() ]]) -map("n", "z", ":ZoomToggle", opts) +map("n", "z", ":ZoomToggle") -- "Zoom" a split window into a tab and/or close it ---keymap('n', ',', ':tabnew %', opts) ---keymap('n', '.', ':tabclose', opts) +--keymap('n', ',', ':tabnew %') +--keymap('n', '.', ':tabclose') -- Open last closed buffer vim.cmd([[ @@ -303,7 +323,7 @@ vim.cmd([[ execute 'b ' . last_buf endfunction ]]) -map("n", "", ":call OpenLastClosed() ", opts) +map("n", "", ":call OpenLastClosed() ") -- Tabularize vim.cmd([[ @@ -329,8 +349,8 @@ vim.cmd([[ --EasyAlign /--/ --:'<,'>Tabularize /-- -map("n", ",", ":hide", opts) -map("n", ".", ":unhide", opts) +map("n", ",", ":hide") +map("n", ".", ":unhide") --" Clean trailing whitespace --nnoremap ww mz:%s/\s\+$//:let @/=''`z @@ -339,12 +359,12 @@ map("n", ".", ":unhide", opts) --vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) -- Copy and Paste with and ---keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'', opts) +--keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'') -- Use command :Vb for Visual Block or since is used for Copy --command! Vb normal! -- Map to save/edit a root permission/read-only file, only works in -- traditional vim and not neovim ---keymap('c', 'w!! %!sudo tee > /dev/null', opts) +--keymap('c', 'w!! %!sudo tee > /dev/null') --" Copying text to the system clipboard. --" --" For some reason Vim no longer wants to talk to the OS X pasteboard through "*. @@ -385,8 +405,8 @@ map("n", ".", ":unhide", opts) ---- Open the current file in the default program (on Mac this should just be just `open`) --keymap('n', 'x', ':!xdg-open %') -map("n", "ff", "lua require('telescope.builtin').find_files()", opts) ---keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()", opts) +map("n", "ff", "lua require('telescope.builtin').find_files()") +--keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()") --keymap('n', 'k', ':nohlsearch') -- --"This unsets the "last search pattern" register by hitting return @@ -407,8 +427,8 @@ vim.cmd([[ ---- http://ddrscott.github.io/blog/2016/yank-without-jank/ --keymap('v', 'y', 'myy`y') --keymap('v', 'Y', 'myY`y') ---keymap("n", "", ":q", opts) ---keymap("n", "", ":qa!", opts) +--keymap("n", "", ":q") +--keymap("n", "", ":qa!") --" Sort lines --nnoremap s vip:!sort @@ -525,7 +545,7 @@ vim.cmd([[ -- ALE: toggle _ALE activity --keymap('n', 'a',[[:ALEToggle]]) ---keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})', opts) --- ":lua require('neogen').generate()", opts) ---keymap("n", "ww", ":set wrap!", opts) +--keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})') +-- ":lua require('neogen').generate()") +--keymap("n", "ww", ":set wrap!") -- diff --git a/lua/user/luasnip.lua b/lua/user/luasnip.lua index 12352e8..7a6066e 100644 --- a/lua/user/luasnip.lua +++ b/lua/user/luasnip.lua @@ -4,7 +4,8 @@ end --local luasnip = require("luasnip") local ls = require "luasnip" -- local types = require "luasnip.util.types" -- -local options = { +--local options = { +ls.config.set_config { history = true, updateevents = "TextChanged,TextChangedI", -- Autosnippets: @@ -17,45 +18,113 @@ local options = { }, -- }, -- } --- is my expansion key --- this will expand the current item or jump to the next item within the snippet. -vim.keymap.set({ "i", "s" }, "", function() - if ls.expand_or_jumpable() then - ls.expand_or_jump() - end -end, { silent = true }) +-- ls.expand_or_jump() +-- end +--nd, { silent = true }) -- is my jump backwards key. -- this always moves to the previous item within the snippet -vim.keymap.set({ "i", "s" }, "", function() - if ls.jumpable(-1) then - ls.jump(-1) - end -end, { silent = true }) +--im.keymap.set({ "i", "s" }, "", function() +-- if ls.jumpable(-1) then +-- ls.jump(-1) +-- end +--nd, { silent = true }) -- is selecting within a list of options. -- This is useful for choice nodes (introduced in the forthcoming episode 2) -vim.keymap.set("i", "", function() - if ls.choice_active() then - ls.change_choice(1) - end -end) +--vim.keymap.set("i", "", function() +-- if ls.choice_active() then +-- ls.change_choice(1) +-- end +--end) -vim.keymap.set("i", "", require "luasnip.extras.select_choice") +--vim.keymap.set("i", "", require "luasnip.extras.select_choice") -- shorcut to source my luasnips file again, which will reload my snippets -vim.keymap.set("n", "s", "source ~/.config/nvim/lua/plugins/luasnip.lua") +--vim.keymap.set("n", "s", "source ~/.config/nvim/lua/user/plugins/luasnip.lua") -- ls.parser.parse_snippet(, ) -ls.snippets = { - all = { - -- Available in any filetype - ls.parser.parse_snippet("expand", "-- this is what was expanded!"), - }, - lua = { - -- Lua specific snippets go here. - }, -} +--ls.snippets = { +-- all = { +-- -- Available in any filetype +-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), +--s.snippets = { +-- all = { +-- -- Available in any filetype +-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), +-- }, +-- lua = { +-- -- Lua specific snippets go here. +-- ls.parser.parse_snippet("lf", "local $1 = function($2)\n $0\nend") +-- }, +-- +--}) +local snip = ls.snippet +local node = ls.snippet_node +local text = ls.text_node +local insert = ls.insert_node +local func = ls.function_node +local choice = ls.choice_node +local dynamicn = ls.dynamic_node + +local date = function() return {os.date('%Y-%m-%d')} end + +ls.add_snippets(nil, { + all = { + --snip({ + -- trig = "date", + -- namr = "Date", + -- dscr = "Date in the form of YYYY-MM-DD", + --}, { + -- func(date, {}), + --}), + snip({ + trig = "meta", + namr = "Metadata", + dscr = "Yaml metadata format for markdown" +}, +{ + }), + }, +}) +--local opts = { noremap = true, silent = true } +--keymap("i", "", "lua require'luasnip'.jump(1)", opts) +--keymap("s", "", "lua require'luasnip'.jump(1)", opts) +--keymap("i", "", "lua require'luasnip'.jump(-1)", opts) +--local keymap = vim.api.nvim_set_keymap +local keymap = vim.keymap +local term_opts = { noremap = true, silent = false } + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.noremap = true + keymap.set(mode, l, r, opts) + end + +map("i", "", "luasnip-expand-or-jump") +map("i", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)") +map("s", "", "luasnip-expand-or-jump") +map("s", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)") +--keymap("s", "", "lua require'luasnip'.jump(-1)", opts) +--map("i", "", "luasnip-expand-or-jump") + +--! luasnip-expand-repeat * lua require'luasnip'.expand_repeat() +--! luasnip-delete-check * lua require'luasnip'.unlink_current_if_deleted() +--i luasnip-jump-prev * lua require'luasnip'.jump(-1) +--i luasnip-jump-next * lua require'luasnip'.jump(1) +--i luasnip-prev-choice * lua require'luasnip'.change_choice(-1) +--i luasnip-next-choice * lua require'luasnip'.change_choice(1) +--i luasnip-expand-snippet * lua require'luasnip'.expand() +--i luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump() + + + + + + + + + diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 51b3628..3200cd5 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -53,6 +53,7 @@ vim.opt.ttimeoutlen = 10 -- -- Indent/tab vim.opt.breakindent = true -- vim.opt.autoindent = true -- Indent according to previous line. +vim.opt.copyindent = true -- Copy indent from the previous line vim.opt.smarttab = false -- vim.opt.tabstop = 2 -- vim.opt.expandtab = true -- Indent according to previous line. diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 8df4216..55b52cd 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -174,7 +174,8 @@ return packer.startup(function(use) use("saadparwaiz1/cmp_luasnip") -- snippets - use("L3MON4D3/LuaSnip") --snippet engine + --use("L3MON4D3/LuaSnip") --snippet engine + use({"L3MON4D3/LuaSnip", tag = "v.*"}) use("rafamadriz/friendly-snippets") -- a bunch of snippets to use --use("github/copilot.vim") --use({ @@ -301,7 +302,7 @@ return packer.startup(function(use) -- Utilities use("nathom/filetype.nvim") - use("christoomey/vim-tmux-navigator") + --use("christoomey/vim-tmux-navigator") --use("preservim/vimux") use("myusuf3/numbers.vim") use("windwp/nvim-autopairs") -- cgit v1.2.3 From dfe212fdf0bf414493fccb1bfbcef6f30c6cab73 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 24 Oct 2022 00:11:06 +0200 Subject: Resort files into different directories --- init.lua | 75 +- lua/plugins/autopairs.lua | 43 + lua/plugins/cmp-gh-source.lua | 72 ++ lua/plugins/cmp.lua | 319 ++++++++ lua/plugins/colorizer.lua | 6 + lua/plugins/colorscheme.lua | 33 + lua/plugins/git.lua | 11 + lua/plugins/gitsigns.lua | 1 + lua/plugins/heirline.lua | 1203 ++++++++++++++++++++++++++++ lua/plugins/linecolor.lua | 112 +++ lua/plugins/lsp-colors.lua | 9 + lua/plugins/lsp.lua | 598 ++++++++++++++ lua/plugins/lspkind.lua | 47 ++ lua/plugins/lspsaga-22.10.23-13:08-bak.lua | 145 ++++ lua/plugins/lspsaga.lua | 46 ++ lua/plugins/lualine.lua | 423 ++++++++++ lua/plugins/luasnip-22.10.23-12:54-bak.lua | 161 ++++ lua/plugins/luasnip.lua | 69 ++ lua/plugins/mason.lua | 27 + lua/plugins/modify-blend.lua | 40 + lua/plugins/neoscroll.lua | 21 + lua/plugins/null-ls.lua | 26 + lua/plugins/nvim-tree.lua | 69 ++ lua/plugins/prettier.lua | 19 + lua/plugins/scripts/lsp-ext.lua | 48 ++ lua/plugins/scripts/setcolors.lua | 121 +++ lua/plugins/scripts/toggleLsp.lua | 40 + lua/plugins/telescope.lua | 223 ++++++ lua/plugins/toggleterm.lua | 90 +++ lua/plugins/treesitter.lua | 34 + lua/plugins/web-devicons.lua | 12 + lua/plugins/zen-mode.lua | 7 + lua/user/keys.lua | 25 +- lua/user/pack.lua | 31 +- lua/user/utils.lua | 48 +- snippets/boilerplate.lua | 75 ++ snippets/lua.lua | 257 ++++++ snippets/markdown.lua | 58 ++ 38 files changed, 4569 insertions(+), 75 deletions(-) create mode 100644 lua/plugins/autopairs.lua create mode 100644 lua/plugins/cmp-gh-source.lua create mode 100644 lua/plugins/cmp.lua create mode 100644 lua/plugins/colorizer.lua create mode 100644 lua/plugins/colorscheme.lua create mode 100644 lua/plugins/git.lua create mode 100644 lua/plugins/gitsigns.lua create mode 100644 lua/plugins/heirline.lua create mode 100644 lua/plugins/linecolor.lua create mode 100644 lua/plugins/lsp-colors.lua create mode 100644 lua/plugins/lsp.lua create mode 100644 lua/plugins/lspkind.lua create mode 100644 lua/plugins/lspsaga-22.10.23-13:08-bak.lua create mode 100644 lua/plugins/lspsaga.lua create mode 100644 lua/plugins/lualine.lua create mode 100644 lua/plugins/luasnip-22.10.23-12:54-bak.lua create mode 100644 lua/plugins/luasnip.lua create mode 100644 lua/plugins/mason.lua create mode 100644 lua/plugins/modify-blend.lua create mode 100644 lua/plugins/neoscroll.lua create mode 100644 lua/plugins/null-ls.lua create mode 100644 lua/plugins/nvim-tree.lua create mode 100644 lua/plugins/prettier.lua create mode 100644 lua/plugins/scripts/lsp-ext.lua create mode 100644 lua/plugins/scripts/setcolors.lua create mode 100644 lua/plugins/scripts/toggleLsp.lua create mode 100644 lua/plugins/telescope.lua create mode 100644 lua/plugins/toggleterm.lua create mode 100644 lua/plugins/treesitter.lua create mode 100644 lua/plugins/web-devicons.lua create mode 100644 lua/plugins/zen-mode.lua create mode 100644 snippets/boilerplate.lua create mode 100644 snippets/lua.lua create mode 100644 snippets/markdown.lua diff --git a/init.lua b/init.lua index 78e1a9b..0e875c2 100644 --- a/init.lua +++ b/init.lua @@ -39,51 +39,58 @@ end) require("impatient") --for k, v in pairs(package.loaded) do -for k in pairs(package.loaded) do - if string.match(k, "^user") then - package.loaded[k] = nil - end -end +--for k in pairs(package.loaded) do +-- if string.match(k, "^user") then +-- package.loaded[k] = nil +-- end +--end +--for k, v in pairs(package.loaded) do +-- if string.match(k, "^user" ) then +-- package.loaded[k] = nil +-- else string.match(v, "^plugins" ) +-- package.loaded[v] = nil +-- end +--end require("user.utils") require("user.keys") -- Keymaps require("user.opts") -- Options require("user.pack") -- Plugins -require("user.reload") +--require("user.reload") --requirdkfse("mods") -- Modules/functions --requirdkfe("deps") -- Plugins -require("user.treesitter") -require("user.telescope") -require("user.nvim-tree") +require("plugins.treesitter") +require("plugins.telescope") +require("plugins.nvim-tree") --requirdfke("scripts") -require("user.cmp") -require("user.luasnip") -require("user.toggleterm") ---requirdfe("user.floatterm") -require("user.autopairs") ---requirdfe("user.vimspector") ---requirdfe("user.mason") ---requirdfe("user.dap") -require("user.colorizer") -require("user.prettier") -require("user.git") -require("user.gitsigns") -require("user.neoscroll") -require("user.lsp") ---requirdfe("user.lspconfig") ---requirdfe("user.lspsaga") ---requirdfe("user.lspkind") -require("user.null-ls") -require("user.web-devicons") -require("user.zen-mode") -require("user.colorscheme") ---requirdfe("user.lsp-colors") +require("plugins.cmp") +require("plugins.luasnip") +--require("plugins.toggleterm") +--requirdfe("plugins.floatterm") +require("plugins.autopairs") +--requirdfe("plugins.vimspector") +--requirdfe("plugins.mason") +--requirdfe("plugins.dap") +require("plugins.colorizer") +require("plugins.prettier") +require("plugins.git") +require("plugins.gitsigns") +require("plugins.neoscroll") +require("plugins.lsp") +--requirdfe("plugins.lspconfig") +--requirdfe("plugins.lspsaga") +--requirdfe("plugins.lspkind") +require("plugins.null-ls") +require("plugins.web-devicons") +require("plugins.zen-mode") +require("plugins.colorscheme") +--requirdfe("plugins.lsp-colors") --vim.opt.laststatus = 3 -require("user.heirline") +require("plugins.heirline") ---vim.api.nvim_command("luafile '/home/sxrdusr/.config/nvim/lua/user/heirline.lua'") ---vim.api.nvim_command(':luafile ~/.config/nvim/lua/user/heirline.lua') +--vim.api.nvim_command("luafile '/home/sxrdusr/.config/nvim/lua/plugins/heirline.lua'") +--vim.api.nvim_command(':luafile ~/.config/nvim/lua/plugins/heirline.lua') ---- Hide statusline by setting laststatus and cmdheight to 0. --vim.o.ls = 0 --vim.o.ch = 0 diff --git a/lua/plugins/autopairs.lua b/lua/plugins/autopairs.lua new file mode 100644 index 0000000..fc39d2e --- /dev/null +++ b/lua/plugins/autopairs.lua @@ -0,0 +1,43 @@ +-- Setup nvim-cmp. +local status_ok, npairs = pcall(require, "nvim-autopairs") +if not status_ok then + return +end + +npairs.setup { + check_ts = true, + ts_config = { + lua = { "string", "source" }, + javascript = { "string", "template_string" }, + java = false, + }, + map = "", + pairs_map = { +['<'] = '>', +}, + disable_filetype = { "TelescopePrompt", "spectre_panel" }, + disable_in_macro = true, + disable_in_visualblock = true, + enalbe_moveright = true, + enable_afterquote = true, -- add bracket pairs after quote + enable_check_bracket_line = true, --- check bracket in same line + enable_bracket_in_quote = true, -- + break_undo = true, -- switch for basic rule break undo sequence + fast_wrap = { + chars = { "{", "[", "(", '"', "'" }, + pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), + offset = 0, -- Offset from pattern match + end_key = "$", + keys = "qwertyuiopzxcvbnmasdfghjkl", + check_comma = true, + highlight = "PmenuSel", + highlight_grey = "LineNr", + }, +} + +local cmp_autopairs = require "nvim-autopairs.completion.cmp" +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end +cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } }) diff --git a/lua/plugins/cmp-gh-source.lua b/lua/plugins/cmp-gh-source.lua new file mode 100644 index 0000000..05bba55 --- /dev/null +++ b/lua/plugins/cmp-gh-source.lua @@ -0,0 +1,72 @@ +local ok, Job = pcall(require, "plenary.job") +if not ok then + return +end + +local source = {} + +source.new = function() + local self = setmetatable({ cache = {} }, { __index = source }) + + return self +end + +source.complete = function(self, _, callback) + local bufnr = vim.api.nvim_get_current_buf() + + -- This just makes sure that we only hit the GH API once per session. + -- + -- You could remove this if you wanted, but this just makes it so we're + -- good programming citizens. + if not self.cache[bufnr] then + Job + :new({ + -- Uses `gh` executable to request the issues from the remote repository. + "gh", + "issue", + "list", + "--limit", + "1000", + "--json", + "title,number,body", + + on_exit = function(job) + local result = job:result() + local ok, parsed = pcall(vim.json.decode, table.concat(result, "")) + if not ok then + vim.notify "Failed to parse gh result" + return + end + + local items = {} + for _, gh_item in ipairs(parsed) do + gh_item.body = string.gsub(gh_item.body or "", "\r", "") + + table.insert(items, { + label = string.format("#%s", gh_item.number), + documentation = { + kind = "markdown", + value = string.format("# %s\n\n%s", gh_item.title, gh_item.body), + }, + }) + end + + callback { items = items, isIncomplete = false } + self.cache[bufnr] = items + end, + }) + :start() + else + callback { items = self.cache[bufnr], isIncomplete = false } + end +end + +source.get_trigger_characters = function() + return { "#" } +end + +source.is_available = function() + return vim.bo.filetype == "gitcommit" +end + +require("cmp").register_source("gh_issues", source.new()) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua new file mode 100644 index 0000000..1ef2580 --- /dev/null +++ b/lua/plugins/cmp.lua @@ -0,0 +1,319 @@ + +-- Setup nvim-cmp. +vim.opt.completeopt = "menu,menuone,noselect" +--vim.g.completeopt = "menu,menuone,noselect,noinsert" +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end +--local WIDE_HEIGHT = 40 + +local opts = { + -- whether to highlight the currently hovered symbol + -- disable if your cpu usage is higher than you want it + -- or you just hate the highlight + -- default: true + highlight_hovered_item = true, + show_guides = true, +} +require("symbols-outline").setup(opts) + + +--local snippets_paths = function() +-- local plugins = { "friendly-snippets" } +-- local paths = {} +-- local path +-- local root_path = vim.env.HOME .. "/.vim/plugged/" +-- for _, plug in ipairs(plugins) do +-- path = root_path .. plug +-- if vim.fn.isdirectory(path) ~= 0 then +-- table.insert(paths, path) +-- end +-- end +-- return paths +--end +-- +--require("luasnip.loaders.from_vscode").lazy_load({ +-- paths = snippets_paths(), +-- include = nil, -- Load all languages +-- exclude = {}, +--}) + +--require("luasnip.loaders.from_vscode").lazy_load() +local lspkind = require("lspkind") +local kind_icons = { + Text = "", + Method = "m", --"", + Function = "", + Constructor = "", --"⚙️", + Field = "", + Variable = "", + Class = "", + Interface = "", + Module = "", + Property = "", + Unit = "", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "", + Event = "", + Operator = "", + TypeParameter = "", +} +cmp.setup({ + snippet = { + --expand = function(args) + -- require("luasnip").lsp_expand(args.body) + --end, + expand = function(args) + local luasnip = require("luasnip") + if not luasnip then + return + end + luasnip.lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ +-- [""] = cmp.mapping.confirm({ +-- behavior = cmp.ConfirmBehavior.Replace, +-- select = true, +-- }), + --[""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), + --[""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), + [''] = cmp.mapping.confirm({ select = true }), + --[""] = cmp.mapping.close(), + --[''] = cmp.mapping({ + -- i = cmp.mapping.abort(), + -- c = cmp.mapping.close(), + --}), + [""] = cmp.mapping({ + i = function() + if cmp.visible() then + cmp.abort() + require("user.utils").toggle_completion() + require("notify")("completion off") + else + cmp.complete() + require("user.utils").toggle_completion() + require("notify")("completion on") + end + end, + }), + --[""] = cmp.mapping({ + -- i = function(fallback) + -- if cmp.visible() then + -- cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) + -- require("user.utils").toggle_completion() + -- else + -- fallback() + -- end + -- end, + --}), + +-- [""] = cmp.mapping({ +-- i = function() +-- if cmp.visible() then +-- require("notify")("visible") +-- cmp.abort() +-- else +-- require("notify")("not visible") +-- cmp.complete() +-- end +-- end, +-- c = function() +-- if cmp.visible() then +-- require("notify")("visible") +-- cmp.close() +-- else +-- require("notify")("not visible") +-- cmp.complete() +-- end +-- end, +-- }), + --[''] = cmp.config.disable, + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + --[''] = function(fallback) + -- if cmp.visible() then + -- cmp.mapping.confirm({ select = true })(fallback) + -- else + -- cmp.mapping.complete()(fallback) + -- end + --end + }), + + sources = cmp.config.sources({ + --{ name = "nvim_lua" }, + { name = "luasnip" }, + --{ name = 'luasnip', option = { use_show_condition = false } }, + { name = "gh_issues" }, + { name = "nvim_lsp", max_item_count = 6 }, + { name = "nvim_lua" }, + --{ name = "luasnip" }, + --{ name = "luasnip", keyword_length = 4 }, + --{ name = "buffer", keyword_length = 3 }, + { name = "path" }, + { name = "buffer", max_item_count = 6 }, + --{ name = "buffer", option = { get_bufnrs = function() + -- return vim.api.nvim_list_bufs() + --end + --}}, + { name = "cmp_git"}, + --{ name = 'treesitter' }, + --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this + --{name = 'luasnip', keyword_length = 2}, + }), + formatting = { + --formatting = { + --local icons = kind_icons + --format = function(entry, vim_item) + ----vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + ----vim_item.kind = lspkind.presets.default[vim_item.kind] + --vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + ----vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind) + --vim_item.menu = ({ + ----nvim_lsp = "LSP", + ----luasnip = "snip", + ----buffer = "buf", + ----path = "path", + ----cmdline = "cmd", + --buffer = "[buf]", + --nvim_lsp = "[LSP]", + --nvim_lua = "[api]", + --path = "[path]", + --luasnip = "[snip]", + --cmdline = "[cmd]", + --gh_issues = "[issues]", + --})[entry.source.name] + --return vim_item + --end, + format = lspkind.cmp_format { + with_text = true, + menu = { + nvim_lsp = "[LSP]", + luasnip = "[snip]", + buffer = "[buf]", + nvim_lua = "[api]", + path = "[path]", + gh_issues = "[issues]", + }, + }, + --}, + + -- + -- + --fields = { "abbr", "kind", "menu" }, + -- format = lspkind.cmp_format({ + -- mode = 'symbol_text', -- show only symbol annotations + -- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + -- }) + --format = require('lspkind').cmp_format { + -- with_text = true, + -- menu = { + -- luasnip = "Snip", + -- buffer = "Buf", + -- nvim_lsp = "LSP", + -- path = "Path", + -- cmdline = "Cmd", + -- cmp_git = "Git", + -- }, + --}, + }, + --format = function(entry, vim_item) + -- -- Kind icons + -- --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) + -- vim_item.kind = lspkind.presets.default[vim_item.kind] + -- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind + -- vim_item.menu = ({ + -- nvim_lsp = "LSP", + -- luasnip = "Snip", + -- buffer = "Buf", + -- path = "Path", + -- cmdline = "Cmd", + -- })[entry.source.name] + -- return vim_item + --end, + confirm_opts = { + behavior = cmp.ConfirmBehavior.Replace, + select = false, + }, + + + event = {}, + + experimental = { + ghost_text = true, + hl_group = 'Nontext', + --native_menu = false, + }, + + view = { + entries = { name = 'custom', selection_order = 'top_down' }, + }, + + window = { + --completion = cmp.config.window.bordered(), + completion = { + border = { '', '', '', ' ', '', '', '', ' ' }, + --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + --border = { '', '', '', '', '', '', '', '' }, + --border = "CmpBorder", + winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None', + --winhighlight = "Normal:CmpPmenu,CursorLine:PmenuSel,Search:None", + }, + --documentation = cmp.config.window.bordered(), + documentation = { + --max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)), + --max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))), + border = { '', '', '', ' ', '', '', '', ' ' }, + --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, + winhighlight = 'FloatBorder:NormalFloat', + }, + }, +}) + + +cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, +}) + +cmp.setup.cmdline(":", { + mapping = { + [""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.confirm({ select = true }), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.close(), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), + [""] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), + --[""] = cmp.mapping.select_prev_item(), + --[""] = cmp.mapping.select_next_item(), + --[''] = cmp.mapping.confirm({ select = true }), + --[""] = cmp.mapping.close(), + ----[''] = cmp.config.disable, + --[""] = cmp.mapping.scroll_docs(-4), + --[""] = cmp.mapping.scroll_docs(4), + --[""] = cmp.mapping.complete(), + }, + + sources = cmp.config.sources({ + { name = "path" }, + }, { + --{ name = "cmdline" }, + { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, + }) +}) + + diff --git a/lua/plugins/colorizer.lua b/lua/plugins/colorizer.lua new file mode 100644 index 0000000..14d25e2 --- /dev/null +++ b/lua/plugins/colorizer.lua @@ -0,0 +1,6 @@ +local status, colorizer = pcall(require, "colorizer") +if (not status) then return end + +colorizer.setup({ + '*'; +}) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..3ded54c --- /dev/null +++ b/lua/plugins/colorscheme.lua @@ -0,0 +1,33 @@ +-- Colorscheme +-- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one +local colorscheme = "doom-one" +local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) +if not status_ok then + vim.notify("colorscheme " .. colorscheme .. " not found!") + return +end + +vim.api.nvim_command("syntax on") +vim.api.nvim_command("highlight Normal guibg=none") +vim.api.nvim_command("highlight SignColumn guibg=none") +vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight TabLine guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") +vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") +vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") +vim.api.nvim_command("highlight WinBar guibg=none gui=bold") +vim.api.nvim_command("highlight NormalFloat guibg=none") +vim.api.nvim_command("highlight MsgSeparator guibg=none") +--vim.api.nvim_command("highlight PmenuSel guibg=none") +--vim.api.nvim_command("highlight winblend guibg=none") +--vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") + +require("notify").setup({ + background_colour = "#000000", +}) diff --git a/lua/plugins/git.lua b/lua/plugins/git.lua new file mode 100644 index 0000000..963f7f9 --- /dev/null +++ b/lua/plugins/git.lua @@ -0,0 +1,11 @@ +local status, git = pcall(require, "git") +if (not status) then return end + +git.setup({ + keymaps = { + -- Open blame window + blame = "gb", + -- Open file/folder in git repository + browse = "go", + } +}) diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua new file mode 100644 index 0000000..53d1a1e --- /dev/null +++ b/lua/plugins/gitsigns.lua @@ -0,0 +1 @@ +require('gitsigns').setup {} diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua new file mode 100644 index 0000000..f17f523 --- /dev/null +++ b/lua/plugins/heirline.lua @@ -0,0 +1,1203 @@ +local conditions = require("heirline.conditions") +local utils = require("heirline.utils") + +local colors = { + --bg = "#23232e", + bg = nil, + nobg = nil, + white = "#f8f8f2", + black = "#000000", + darkgray = "#23232e", + gray = "#2d2b3a", + lightgray = "#d6d3ea", + pink = "#f92672", + green = "#50fa7b", + blue = "#39BAE6", + yellow = "#f1fa8c", + orange = "#ffb86c", + purple = "#BF40BF", + violet = "#7F00FF", + red = "#ff5555", + cyan = "#66d9eC", + diag = { + warn = utils.get_highlight("DiagnosticSignWarn").fg, + error = utils.get_highlight("DiagnosticSignError").fg, + hint = utils.get_highlight("DiagnosticSignHint").fg, + info = utils.get_highlight("DiagnosticSignInfo").fg, + }, + git = { + del = "#e95678", + add = "#a6e22e", + change = "#ae81ff", + }, +} + +require("heirline").load_colors(colors) + +local Align = { provider = "%=", hl = { bg = colors.bg } } +local Space = { provider = " ", hl = { bg = colors.bg } } +local Tab = { provider = " " } +local LeftSpace = { provider = "" } +local RightSpace = { provider = "" } +local RightSpace2 = { provider = "" } +local RightSpace3 = { provider = "" } +local Fill = { provider = "%=", hl = { bg = colors.nobg } } +local LeftSep = { provider = "" } +local RightSep = { provider = "" } + +local ViMode = { + init = function(self) + self.mode = vim.fn.mode(1) + if not self.once then + vim.cmd("au ModeChanged *:*o redrawstatus") + end + self.once = true + end, + static = { + mode_names = { + n = "NORMAL ", + no = "N·OPERATOR PENDING ", + nov = "N?", + noV = "N?", + ["no\22"] = "N? ", + niI = "Ni", + niR = "Nr", + niV = "Nv", + nt = "Nt", + v = "VISUAL ", + vs = "Vs", + V = "V·LINE ", + ["\22"] = "V·BLOCK ", + ["\22s"] = "V·BLOCK ", + s = "SELECT ", + S = "S·LINE ", + ["\19"] = "S·BLOCK ", + i = "INSERT ", + ix = "insert x ", + ic = "insert c ", + R = "REPLACE ", + Rc = "Rc", + Rx = "Rx", + Rv = "V·REPLACE ", + Rvc = "Rv", + Rvx = "Rv", + c = "COMMAND ", + cv = "VIM EX ", + ce = "EX ", + r = "PROMPT ", + rm = "MORE ", + ["r?"] = "CONFIRM ", + ["!"] = "SHELL ", + t = "TERMINAL ", + }, + }, + provider = function(self) + return " %2(" .. self.mode_names[self.mode] .. "%) " + end, + hl = function(self) + local color = self:mode_color() + return { fg = color, bold = true } + end, + update = { + "ModeChanged", + }, +} + +-- LSP +local LSPActive = { + condition = conditions.lsp_attached, + update = { "LspAttach", "LspDetach" }, + + provider = function() + local buf_clients = vim.lsp.buf_get_clients() + local buf_client_names = {} + + -- add client + for _, client in pairs(buf_clients) do + if client.name ~= "null-ls" then + table.insert(buf_client_names, client.name) + end + end + return "⚙️ " .. table.concat(buf_client_names, "") + end, + hl = { fg = colors.lightgray, bold = false }, +} + +-- Navic +local Navic = { + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "Include", + Namespace = "TSNamespace", + Package = "Include", + Class = "Struct", + Method = "Method", + Property = "TSProperty", + Field = "TSField", + Constructor = "TSConstructor ", + Enum = "TSField", + Interface = "Type", + Function = "Function", + Variable = "TSVariable", + Constant = "Constant", + String = "String", + Number = "Number", + Boolean = "Boolean", + Array = "TSField", + Object = "Type", + Key = "TSKeyword", + Null = "Comment", + EnumMember = "TSField", + Struct = "Struct", + Event = "Keyword", + Operator = "Operator", + TypeParameter = "Type", + }, + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + provider = d.name, + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = colors.white }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self[1] = self:new(children, 1) + end, + hl = { fg = colors.white }, +} + +-- Diagnostics +local Diagnostics = { + + condition = conditions.has_diagnostics, + + static = { + error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, + warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, + info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, + hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, + }, + + init = function(self) + self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) + self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) + self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) + self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) + end, + + update = { "DiagnosticChanged", "BufEnter" }, + + { + provider = function(self) + -- 0 is just another output, we can decide to print it or not! + return self.errors > 0 and (self.error_icon .. self.errors .. " ") + end, + hl = { fg = colors.diag.error, bg = colors.bg }, + }, + { + provider = function(self) + return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") + end, + hl = { fg = colors.diag.warn, bg = colors.bg }, + }, + { + provider = function(self) + return self.info > 0 and (self.info_icon .. self.info .. " ") + end, + hl = { fg = colors.diag.info, bg = colors.bg }, + }, + { + provider = function(self) + return self.hints > 0 and (self.hint_icon .. self.hints) + end, + hl = { fg = colors.diag.hint, bg = colors.bg }, + }, + on_click = { + callback = function() + require("trouble").toggle({ mode = "document_diagnostics" }) + -- or + -- vim.diagnostic.setqflist() + end, + name = "heirline_diagnostics", + }, +} + +-- Git +-- For the ones who're not (too) afraid of changes! Uses gitsigns. +local Git = { + condition = conditions.is_git_repo, + + init = function(self) + self.status_dict = vim.b.gitsigns_status_dict + self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 + end, + --hl = { fg = "orange" }, + hl = { fg = colors.orange, bg = colors.bg }, + { -- git branch name + provider = function(self) + return " " .. self.status_dict.head + end, + --hl = { bold = true }, + hl = { bold = true, bg = colors.bg }, + }, + -- You could handle delimiters, icons and counts similar to Diagnostics + { + condition = function(self) + return self.has_changes + end, + --provider = "(" + provider = " ", + }, + { + provider = function(self) + local count = self.status_dict.added or 0 + --return count > 0 and ("+" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_add" }, + hl = { fg = colors.git.add, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.removed or 0 + --return count > 0 and ("-" .. count) + return count > 0 and ("  " .. count) + end, + --hl = { fg = "git_del" }, + hl = { fg = colors.git.del, bg = colors.bg }, + }, + { + provider = function(self) + local count = self.status_dict.changed or 0 + --return count > 0 and ("~" .. count) + return count > 0 and (" 柳" .. count) + end, + --hl = { fg = "git_change" }, + hl = { fg = colors.git.change, bg = colors.bg }, + }, + --{ + -- condition = function(self) + -- return self.has_changes + -- end, + -- provider = ")", + --}, + on_click = { + callback = function() + -- If you want to use Fugitive: + -- vim.cmd("G") + + -- If you prefer Lazygit + -- use vim.defer_fn() if the callback requires + -- opening of a floating window + -- (this also applies to telescope) + vim.defer_fn(function() + vim.cmd("Lazygit") + end, 100) + end, + name = "heirline_git", + }, +} + +-- Debugger +-- Display informations from nvim-dap! +local DAPMessages = { + -- display the dap messages only on the debugged file + condition = function() + local session = require("dap").session() + if session then + local filename = vim.api.nvim_buf_get_name(0) + if session.config then + local progname = session.config.program + return filename == progname + end + end + return false + end, + provider = function() + return " " .. require("dap").status() + end, + hl = { fg = utils.get_highlight("Debug").fg }, + -- Debugger on_click: step-over, step-into, next, previous, stop buttons + -- coming soon! +} + +-- Tests +-- This requires the great ultest. +--local UltTest = { +-- condition = function() +-- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 +-- end, +-- static = { +-- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, +-- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, +-- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, +-- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, +-- }, +-- init = function(self) +-- self.status = vim.api.nvim_call_function("ultest#status", {}) +-- end, +-- +-- -- again, if you'd like icons and numbers to be colored differently, +-- -- just split the component in two +-- { +-- provider = function(self) +-- return self.passed_icon .. self.status.passed .. " " +-- end, +-- hl = function(self) +-- return self.passed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return self.failed_icon .. self.status.failed .. " " +-- end, +-- hl = function(self) +-- return self.failed_hl +-- end, +-- }, +-- { +-- provider = function(self) +-- return "of " .. self.status.tests - 1 +-- end, +-- }, +--} + +-- FileNameBlock: FileIcon, FileName and friends +local FileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg }, +} + +-- FileIcon, FileName, FileFlags and FileNameModifier +local FileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color, bg = colors.bg } + end, +} + +local FileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileFlags = { + { + provider = function() + if vim.bo.modified then + return " [+]" -- ±[+] + end + end, + hl = { fg = colors.green, bg = colors.bg }, + }, + { + provider = function() + if not vim.bo.modifiable or vim.bo.readonly then + return " " + end + end, + --hl = { fg = colors.orange }, + hl = { fg = colors.orange, bold = true, bg = colors.bg }, + }, +} + +local FileNameModifier = { + hl = function() + if vim.bo.modified then + return { fg = colors.green, bold = false, force = true } + end + end, +} + +-- FileType, FileEncoding and FileFormat +local FileType = { + provider = function() + return vim.bo.filetype + end, + hl = { fg = colors.white, bold = false, bg = colors.bg }, +} + +local FileEncoding = { + Space, + provider = function() + local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' + return enc:lower() + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, + hl = { bg = colors.bg, bold = false }, +} + +local FileFormat = { + provider = function() + local fmt = vim.bo.fileformat + --return fmt ~= "unix" and fmt:upper() + return fmt ~= "unix" and fmt:lower() + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- FileSize and FileLastModified +local FileSize = { + provider = function() + -- stackoverflow, compute human readable file size + local suffix = { "b", "k", "M", "G", "T", "P", "E" } + local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) + fsize = (fsize < 0 and 0) or fsize + if fsize < 1024 then + return fsize .. suffix[1] + end + local i = math.floor((math.log(fsize) / math.log(1024))) + return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +local FileLastModified = { + -- did you know? Vim is full of functions! + provider = function() + local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) + return (ftime > 0) and os.date("%c", ftime) + end, + hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, +} + +-- Spell +-- Add indicator when spell is set! +local Spell = { + condition = function() + return vim.wo.spell + end, + provider = " 暈", + hl = { bold = true, fg = colors.yellow }, +} + +local help_file_name = { + condition = function() + return vim.bo.filetype == "help" + end, + provider = function() + local filename = vim.api.nvim_buf_get_name(0) + return vim.fn.fnamemodify(filename, ":t") + end, + hl = { fg = colors.blue }, +} + +-- Cursor position: Ruler +--local Ruler = { + -- %l = current line number + -- %L = number of lines in the buffer + -- %c = column number + -- %P = percentage through file of displayed window + --provider = "%P %(%l/%L%):%c ", + --provider = "%3(%2l%):%c %P ", + --provider = "%7(%l/%3L%):%2c%P ", + --provider = "%3(%P%)", + --provider = "%7(%l/%3L%):%2c %P", + --provider = "%7 %p%% Ln %l, Col %c", + --provider = "%9( %P %2l/%L :%2c %)", + --provider = "%9(%2l%2( : %c%)/%L %P %)", + --provider = "%7(%l:%c/%L%) ", + --provider = "%6(%l:%1.5c/%L%) %P ", + --provider = "%6(%l:%1.5c/%L%) ", + --provider = "%3(%l:%1.5c/%L%) ", + --provider = "%7(%l/%3L%):%2c ", +-- provider = "%7(%l:%c%) ", + --provider = "%l:%c ", + --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, +-- hl = { fg = colors.darkgray, bold = true }, +--} +local leftruler = { Space, Align } +local rightruler = { Align, Space } +local cursor_location = { + --{ provider = "", hl = { fg = utils.get_highlight("StatusLine").bg, bold = true } }, +-- { provider = "%<%-05.10(%l:%c%)", hl = { fg = colors.darkgray, bold = true } }, +-- { provider = " ", hl = { fg = colors.darkgray, bold = true } }, + --{ provider = "%P %=%<%(%l,%c)" }, + --{ provider = " %w%-8.(%l,%c%)%>" }, + { provider = " %1(%4l:%-3(%c%) %)%*", hl = { fg = colors.black, bold = true } }, +} +local Ruler = { cursor_location } + + --utils.make_flexible_component( + -- 3, + -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + -- { provider = "%<" } + --), +--local cursor_location = { +-- { provider = "%7(%l:%c%) ", hl = { bold = true } }, +-- { +-- provider = " ", +-- hl = function(self) +-- local color = self:mode_color() +-- return { fg = color, bold = true } +-- end, +-- }, +--} + +local WordCount = { + condition = function() + return conditions.buffer_matches({ + filetype = { + "markdown", + "txt", + "vimwiki", + }, + }) + end, + Space, + { + provider = function() + return "W:" .. vim.fn.wordcount().words + end, + }, +} + +-- Working Directory +local WorkDir = { + provider = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = colors.blue, bold = true, bg = colors.bg }, + + utils.make_flexible_component(1, { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .. " " + end, + }, { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, { + -- evaluates to "", hiding the component + provider = "", + }), +} + +-- Snippets Indicator +-- This requires ultisnips +--local Snippets = { +-- -- check that we are in insert or select mode +-- condition = function() +-- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) +-- end, +-- provider = function() +-- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" +-- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" +-- return backward .. forward +-- end, +-- hl = { fg = "red", bold = true }, +--} + +-- let's add the children to our FileNameBlock component +FileNameBlock = utils.insert( + FileNameBlock, + FileIcon, + utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +local FileInfoBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, +} + +FileInfoBlock = utils.insert( + FileInfoBlock, + Space, + FileIcon, + FileType, + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +--ViMode = utils.surround({ "", "" }, function(self) +-- return self:mode_color() +--end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) +--local mysurroundedcomponent = { +--{provider='', hl = {...}}, +--{}, +--{provider = '>>>', hl = {...}} +--} +LeftSpace = utils.surround({ "", " " }, function(self) + return self:mode_color() +end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) + +RightSpace = utils.surround( + { "", "" }, + colors.gray, + { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } +) + +RightSpace2 = utils.surround( + { "█", "" }, + colors.darkgray, + { RightSpace2, hl = { fg = colors.darkgray, force = true } } +) + +RightSpace3 = utils.surround( + { "█", "" }, + utils.get_highlight("statusline").bg, + { RightSpace3, hl = { fg = colors.darkgray, force = true } } +) + +LSPActive = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) + +FileInfoBlock = utils.surround({ "", "" }, function(self) + return self:mode_color() +end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) + +Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } }) + +local left = { + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --{ LeftSep, hl = function(self) + -- return { fg = self.mode_colors[self.mode], bg = utils.get_highlight("statusline").bg, bold = true, } + -- end, + --}, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local middle = { + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} +local right = { + { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { + RightSpace3, + hl = { bg = colors.darkgray, force = true }, + }, + { LSPActive, hl = { bg = colors.darkgray, force = true } }, + { RightSpace2, hl = { bg = colors.gray, force = true } }, + { FileInfoBlock, hl = { bg = colors.gray, force = true } }, + { RightSpace, hl = { fg = colors.gray, force = true } }, + --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --utils.make_flexible_component( + -- 3, + -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + -- { provider = "%<" } + --), +} +--local Align = { provider = "%=", hl = { bg = colors.bg } } + +local sections = { left, middle, right } +local DefaultStatusline = { sections } +--LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar + +local InactiveStatusline = { + condition = conditions.is_not_active, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, +} + +local SpecialStatusline = { + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + + --FileType, + --Space, + --Align, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, +} + +local TerminalStatusline = { + + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + + --hl = { bg = colors.red }, + + -- Quickly add a condition to the ViMode to only show it when buffer is active! + --{ condition = conditions.is_active, ViMode, Space }, + { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, + --FileType, + --Space, + --TerminalName, + --Align, +} + +local StatusLine = { + + --hl = function() + -- if conditions.is_active() then + -- return "StatusLine" + -- else + -- return "StatusLineNC" + -- end + --end, + static = { + mode_colors = { + n = colors.blue, + i = colors.green, + v = colors.purple, + V = colors.purple, + ["\22"] = colors.purple, + c = colors.orange, + s = colors.purple, + S = colors.purple, + ["\19"] = colors.purple, + R = colors.red, + r = colors.red, + ["!"] = colors.orange, + t = colors.orange, + }, + mode_color = function(self) + local mode = conditions.is_active() and vim.fn.mode() or "n" + return self.mode_colors[mode] + end, + hl = function(self) + local color = self:mode_color() -- here! + return { bg = color } + end, + }, + fallthrough = false, + + SpecialStatusline, + TerminalStatusline, + InactiveStatusline, + DefaultStatusline, +} + + +-- +--- WinBar +-- +local WinbarFileNameBlock = { + -- let's first set up some attributes needed by this component and it's children + init = function(self) + self.filename = vim.api.nvim_buf_get_name(0) + end, + hl = { bg = colors.bg }, +} + +--local WinbarFileName = { +-- provider = function(self) +-- -- self.filename will be defined later, just keep looking at the example! +-- local filename = self.filename +-- filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") +-- return filename +-- end, +-- hl = function() +-- return { fg = colors.gray, italic = true } +-- end, +--} +local WinbarFileName = { + provider = function(self) + -- first, trim the pattern relative to the current directory. For other + -- options, see :h filename-modifers + local filename = vim.fn.fnamemodify(self.filename, ":.") + if filename == "" then + return "No Name" + end + -- now, if the filename would occupy more than 1/4th of the available + -- space, we trim the file path to its initials + -- See Flexible Components section below for dynamic truncation + if not conditions.width_percent_below(#filename, 0.25) then + filename = vim.fn.pathshorten(filename) + end + return filename + end, + --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, + hl = { fg = colors.gray, bold = false, bg = colors.bg }, +} + +WinbarFileNameBlock = utils.insert( + WinbarFileNameBlock, + FileIcon, + utils.insert(WinbarFileName), -- a new table where FileName is a child of FileNameModifier + unpack(FileFlags), -- A small optimisation, since their parent does nothing + { provider = "%<" } -- this means that the statusline is cut here when there's not enough space +) + +vim.api.nvim_create_autocmd("User", { + pattern = "HeirlineInitWinbar", + callback = function(args) + local buf = args.buf + local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) + local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) + if buftype or filetype then + vim.opt_local.winbar = nil + end + end, +}) + +On_click = { + -- get the window id of the window in which the component was evaluated + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + -- winid is the window id of the window the component was clicked from + local winid = minwid + -- do something with the window id, e.g.: + local buf = vim.api.nvim_win_get_buf(winid) + -- ... + end, +} + +local CloseButton = { + condition = function(self) + return not vim.bo.modified + end, + -- a small performance improvement: + -- re register the component callback only on layout/buffer changes. + update = { "WinNew", "WinClosed", "BufEnter" }, + { provider = " " }, + { + provider = "", + hl = { fg = "gray" }, + On_click = { + minwid = function() + return vim.api.nvim_get_current_win() + end, + callback = function(_, minwid) + vim.api.nvim_win_close(minwid, true) + end, + name = "heirline_winbar_close_button", + }, + }, +} + +local Center = { + fallthrough = false, + { -- Hide the winbar for special buffers + condition = function() + return conditions.buffer_matches({ + buftype = { "nofile", "prompt", "help", "quickfix" }, + filetype = { "^git.*", "fugitive" }, + }) + end, + init = function() + vim.opt_local.winbar = nil + end, + }, + { -- A special winbar for terminals + condition = function() + return conditions.buffer_matches({ buftype = { "terminal" } }) + end, + FileType, + Space, + --TerminalName, + }, + { -- An inactive winbar for regular files + condition = function() + return not conditions.is_active() + end, + --utils.surround({ "", "" }, colors.nobg, { FileIcon, { WinbarFileName, hl = { fg = colors.gray } }, FileFlags } ), + utils.surround({ "", "" }, colors.nobg, { WinbarFileNameBlock } ), + }, + -- A winbar for regular files + utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), +} + +--local WinBar = { Align, Center, Align } +local WinBar = { Space, Center } + + +-- TabLine +local TablineBufnr = { + provider = function(self) + return tostring(self.bufnr) .. "." + end, + hl = { fg = colors.white, bold = false }, +} + +-- we redefine the filename component, as we probably only want the tail and not the relative path +local TablineFileName = { + provider = function(self) + -- self.filename will be defined later, just keep looking at the example! + local filename = self.filename + filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") + return filename + end, + hl = function(self) + return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true } + end, +} + +local TablineFileFlags = { + { + provider = function(self) + if vim.bo[self.bufnr].modified then + return " [+] " + end + end, + hl = { fg = colors.green }, + }, + { + provider = function(self) + if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then + return "  " + end + end, + hl = { fg = "orange" }, + }, +} + +local TablineFileIcon = { + init = function(self) + local filename = self.filename + local extension = vim.fn.fnamemodify(filename, ":e") + self.icon, self.icon_color = + require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) + end, + provider = function(self) + return self.icon and (" " .. self.icon .. " ") + end, + hl = function(self) + return { fg = self.icon_color } + end, +} + +-- Here the filename block finally comes together +local TablineFileNameBlock = { + init = function(self) + self.filename = vim.api.nvim_buf_get_name(self.bufnr) + end, + hl = function(self) + if self.is_active then + return "TabLineSel" + -- why not? + --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then + --return { fg = "gray", bg = colors.bg } + else + return "TabLineFill" + end + end, + on_click = { + callback = function(_, minwid, _, button) + if button == "m" then -- close on mouse middle click + vim.api.nvim_buf_delete(minwid, { force = false }) + else + vim.api.nvim_win_set_buf(0, minwid) + end + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_buffer_callback", + }, + TablineBufnr, + TablineFileIcon, + TablineFileName, + TablineFileFlags, +} + +-- a nice "x" button to close the buffer +local TablineCloseButton = { + condition = function(self) + return not vim.api.nvim_buf_get_option(self.bufnr, "modified") + end, + { provider = " " }, + { + provider = " ", + --hl = { fg = "red", bg = colors.bg }, + hl = { fg = colors.red }, + on_click = { + callback = function(_, minwid) + vim.api.nvim_buf_delete(minwid, { force = false }) + end, + minwid = function(self) + return self.bufnr + end, + name = "heirline_tabline_close_buffer_callback", + }, + }, +} + +-- The final touch! +local TablineBufferBlock = utils.surround({ "", "" }, function(self) + --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) + if self.is_active then + return utils.get_highlight("TabLineSel").bg + else + return utils.get_highlight("TabLineFill").bg + end +end, { Tab, TablineFileNameBlock, TablineCloseButton }) + +local BufferLine = utils.make_buflist( + TablineBufferBlock, + { provider = "􀰎 ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") + { provider = " 􀰓", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") + -- by the way, open a lot of buffers and try clicking them ;) +) +-- TabList +local Tabpage = { + provider = function(self) + return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" + end, + hl = function(self) + if not self.is_active then + return "TabLineFill" + else + return "TabLineSel" + end + end, +} + +local TabpageClose = { + provider = "%999X  %X", + --hl = "TabLine", + hl = { fg = colors.red, bg = colors.bg }, +} + +local TabPages = { + -- only show this component if there's 2 or more tabpages + condition = function() + return #vim.api.nvim_list_tabpages() >= 2 + end, + { + provider = "%=", + }, + utils.make_tablist(Tabpage), + TabpageClose, +} + +-- TabLineOffset +local TabLineOffset = { + condition = function(self) + local win = vim.api.nvim_tabpage_list_wins(0)[1] + local bufnr = vim.api.nvim_win_get_buf(win) + self.winid = win + + if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then + self.title = "NvimTree" + return true + end + end, + + provider = function(self) + local title = self.title + local width = vim.api.nvim_win_get_width(self.winid) + local pad = math.ceil((width - #title) / 2) + return string.rep(" ", pad) .. title .. string.rep(" ", pad) + end, + + hl = function(self) + if vim.api.nvim_get_current_win() == self.winid then + return "TablineSel" + else + return "TablineFill" + end + end, +} + +local TabLine = { + TabLineOffset, + BufferLine, + TabPages, +} + +require("heirline").setup(StatusLine, WinBar, TabLine) + +-- Yep, with heirline we're driving manual! +--vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) +-- +--local function get_bufs() +-- return vim.tbl_filter(function(bufnr) +-- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted +-- end, vim.api.nvim_list_bufs()) +--end +-- +--local function goto_buf(index) +-- local bufs = get_bufs() +-- if index > #bufs then +-- index = #bufs +-- end +-- vim.api.nvim_win_set_buf(0, bufs[index]) +--end +-- +--local function addKey(key, index) +-- vim.keymap.set("", "", function() +-- goto_buf(index) +-- end, { noremap = true, silent = true }) +--end +-- +--for i = 1, 9 do +-- addKey(i, i) +--end +--addKey("0", 10) diff --git a/lua/plugins/linecolor.lua b/lua/plugins/linecolor.lua new file mode 100644 index 0000000..37550dd --- /dev/null +++ b/lua/plugins/linecolor.lua @@ -0,0 +1,112 @@ +--local M = {} +--M.theme = function() +-- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future +-- local colors = { +-- nobg = nil, +-- blue = "#87b0f9", +-- mauve = "#cba6f7", +-- red = "#f38ba8", +-- green = "#a6e3a1", +-- peach = "#fab387", +-- white = "#c6d0f5", +-- gray = "#a1a8c9", +-- black = "#1e1e2e", +-- } +-- return { +-- inactive = { +-- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, +-- b = { fg = colors.white, bg = colors.black }, +-- c = { fg = colors.gray, bg = colors.nobg }, +-- }, +-- visual = { +-- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, +-- b = { fg = colors.mauve, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- replace = { +-- a = { fg = colors.black, bg = colors.red, gui = "bold" }, +-- b = { fg = colors.red, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- normal = { +-- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, +-- b = { fg = colors.black, bg = colors.green }, +-- c = { fg = colors.white, bg = colors.black }, +-- }, +-- insert = { +-- a = { fg = colors.black, bg = colors.green, gui = "bold" }, +-- b = { fg = colors.teal, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- command = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.nobg }, +-- c = { fg = colors.white, bg = colors.nobg }, +-- }, +-- modified = { +-- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, +-- b = { fg = colors.peach, bg = colors.peach }, +-- c = { fg = colors.white, bg = colors.peach }, +-- }, +-- } +--end +--return M +local M = {} +M.theme = function() + --local colors = { + -- darkgray = "#16161d", + -- gray = "#727169", + -- innerbg = nil, + -- outerbg = "#16161D", + -- normal = "#7e9cd8", + -- insert = "#98bb6c", + -- visual = "#ffa066", + -- replace = "#e46876", + -- command = "#e6c384", + --} + local colors = { + darkgray = "#16161d", + gray = "#727169", + innerbg = nil, + outerbg = "#16161D", + normal = "#39BAE6", + insert = "#AAD94C", + visual = "#FA8D3F", + replace = "#F07171", + command = "#F2AE49", + } + return { + inactive = { + a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + visual = { + a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + replace = { + a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + normal = { + a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + y = { fg = colors.gray, bg = colors.outerbg }, + }, + insert = { + a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + command = { + a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, + b = { fg = colors.gray, bg = colors.outerbg }, + c = { fg = colors.gray, bg = colors.innerbg }, + }, + } +end +return M diff --git a/lua/plugins/lsp-colors.lua b/lua/plugins/lsp-colors.lua new file mode 100644 index 0000000..1398123 --- /dev/null +++ b/lua/plugins/lsp-colors.lua @@ -0,0 +1,9 @@ +local status, colors = pcall(require, "lsp-colors") +if (not status) then return end + +colors.setup { + Error = "#db4b4b", + Warning = "#e0af68", + Information = "#0db9d7", + Hint = "#10B981" +} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua new file mode 100644 index 0000000..f39cc58 --- /dev/null +++ b/lua/plugins/lsp.lua @@ -0,0 +1,598 @@ + +local fn = vim.fn +local keymap = vim.keymap + +local utils = require("user.utils") + +local custom_attach = function(client, bufnr) + -- Enable completion triggered by + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings. + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.noremap = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end +--map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location +--map("n", "gp", "Lspsaga peek_definition") +-- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) + map("n", "", vim.lsp.buf.definition) +-- map("n", "K", vim.lsp.buf.hover) +-- map("n", "", vim.lsp.buf.signature_help) +-- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) +-- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) +-- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) +-- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) + map("n", "q", function() + vim.diagnostic.setqflist({ open = true }) + end, { desc = "put diagnostic to qf" }) +-- --map.('n', 'q', vim.diagnostic.setloclist) +-- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) +-- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) +-- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) +-- map("n", "wl", function() +-- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) +-- end, { desc = "list workspace folder" }) +-- map("n", "gs", "vim.lsp.buf.document_symbol()") +-- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) +-- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") +-- map("n", "gt", ":lua vim.lsp.buf.type_definition()") +-- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. +-- map("n", "gi", ":lua vim.lsp.buf.implementation()") + map("n", "go", ":lua vim.diagnostic.open_float()") +-- map("n", "gk", "Lspsaga diagnostic_jump_prev") +-- map("n", "gj", "Lspsaga diagnostic_jump_next") +--vim.api.nvim_set_keymap('n', 'dd', 'lua vim.diagnostic.setloclist()', { noremap = true, silent = true }) + --nnoremap("gI", vim.lsp.buf.incoming_calls, opts) + -- + --nnoremap("cs", vim.lsp.buf.document_symbol, opts) + --nnoremap("cw", vim.lsp.buf.workspace_symbol, opts) + --nnoremap("rf", vim.lsp.buf.formatting, opts) + --require("which-key").register { + -- ["rf"] = "lsp: format buffer", + -- ["ca"] = "lsp: code action", + -- ["gd"] = "lsp: go to type definition", + -- ["gr"] = "lsp: references", + -- ["gi"] = "lsp: implementation", + -- ["gI"] = "lsp: incoming calls", + --} +--end +vim.g.diagnostics_visible = true +function _G.toggle_diagnostics() + if vim.g.diagnostics_visible then + vim.g.diagnostics_visible = false + vim.diagnostic.disable() + else + vim.g.diagnostics_visible = true + vim.diagnostic.enable() + end +end +map('n', 'm', ':call v:lua.toggle_diagnostics()') +--vim.g.diagnostics_active = true +--function _G.toggle_diagnostics() +-- if vim.g.diagnostics_active then +-- vim.g.diagnostics_active = false +-- vim.lsp.diagnostic.clear(0) +-- vim.cmd([[exe "normal ii\x"]]) +-- vim.lsp.handlers["textDocument/publishDiagnostics"] = function() end +-- else +-- vim.g.diagnostics_active = true +-- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( +-- vim.lsp.diagnostic.on_publish_diagnostics, { +-- virtual_text = true, +-- signs = true, +-- underline = true, +-- update_in_insert = false, +-- } +-- ) +-- end +--end +-- +--map("n", "i", ":call v:lua.toggle_diagnostics()") + + + -- Set some key bindings conditional on server capabilities + if client.server_capabilities.documentFormattingProvider then + map("n", "f", vim.lsp.buf.format, { desc = "format code" }) + end + + -- add rust specific keymappings + if client.name == "rust_analyzer" then + map("n", "rr", "RustRunnables") + map("n", "ra", "RustHoverAction") + end + +--For diagnostics for specific cursor position +--vim.api.nvim_create_autocmd("CursorHold", { +-- buffer = bufnr, +-- callback = function() +-- local opts = { +-- focusable = false, +-- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, +-- border = 'rounded', +-- source = 'always', +-- prefix = ' ', +-- scope = 'cursor', +-- } +-- vim.diagnostic.open_float(nil, opts) +-- end +--}) + -- Diagnostic position +-- vim.api.nvim_create_autocmd("CursorHold", { +-- buffer = bufnr, +-- callback = function() +-- local float_opts = { +-- focusable = false, +-- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, +-- border = "rounded", +-- source = "always", -- show source in diagnostic popup window +-- prefix = " ", +-- } +-- +-- if not vim.b.diagnostics_pos then +-- vim.b.diagnostics_pos = { nil, nil } +-- end +-- +-- local cursor_pos = vim.api.nvim_win_get_cursor(0) +-- if +-- (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) +-- and #vim.diagnostic.get() > 0 +-- then +-- vim.diagnostic.open_float(nil, float_opts) +-- end +-- +-- vim.b.diagnostics_pos = cursor_pos +-- end, +-- }) + + -- The below command will highlight the current variable and its usages in the buffer. + if client.server_capabilities.documentHighlightProvider then + vim.cmd([[ + hi! link LspReferenceRead Visual + hi! link LspReferenceText Visual + hi! link LspReferenceWrite Visual + augroup lsp_document_highlight + autocmd! * + autocmd CursorHold lua vim.lsp.buf.document_highlight() + autocmd CursorMoved lua vim.lsp.buf.clear_references() + augroup END + ]]) + end + + if vim.g.logging_level == "debug" then + local msg = string.format("Language server %s started!", client.name) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) + end +end + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) +capabilities.textDocument.completion.completionItem.snippetSupport = true +capabilities.offsetEncoding = { "utf-16" } + +local lspconfig = require("lspconfig") + +if utils.executable("pylsp") then + lspconfig.pylsp.setup({ + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + flags = { + debounce_text_changes = 200, + }, + capabilities = capabilities, + }) +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +-- else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) +-- end + +if utils.executable("clangd") then + lspconfig.clangd.setup({ + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + }) +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup({ + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + }) +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup({ + on_attach = custom_attach, + capabilities = capabilities, + }) +end + +if utils.executable("lua-language-server") then + lspconfig.sumneko_lua.setup({ + on_attach = custom_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + }) +end + + +if utils.executable("rust-language-server") then +require("lspconfig").rust_analyzer.setup{ + cmd = { "rustup", "run", "nightly", "rust-analyzer" }, + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + --[[ + settings = { + rust = { + unstable_features = true, + build_on_save = false, + all_features = true, + }, + } + --]] +} +end + +--vim.diagnostic.config({ +-- virtual_text = false, +-- underline = true, +--}) +vim.diagnostic.config({ + underline = false, + signs = true, + virtual_text = false, + float = { + show_header = true, + source = 'if_many', + border = 'rounded', + focusable = false, + }, + update_in_insert = false, -- default to false + severity_sort = false, -- default to false +}) +-- Show line diagnostics automatically in hover window +--vim.o.updatetime = 250 +--vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] +--vim.cmd ([[ noremap a :autocmd! CursorHold,CursorHoldI ]]) + +--vim.cmd [[ noremap a :autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] +--local diagnostics_active = true +--local toggle_diagnostics = function() +-- diagnostics_active = not diagnostics_active +-- if diagnostics_active then +-- vim.o.updatetime = 250 +-- vim.cmd ([[autocmd! CursorHold,CursorHoldI ]]) +-- --vim.diagnostic.open_float(nil, {focus=false}) +-- else +-- vim.o.updatetime = 250 +-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] +-- --vim.diagnostic.hide() +-- --vim.diagnostic.disable() +-- end +--end +--vim.keymap.set("n", "a", toggle_diagnostics) + +--function LspDiagnosticsFocus() +-- vim.api.nvim_command('set eventignore=WinLeave') +-- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') +-- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) +--end +--vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) + --vim.o.updatetime = 250 + +-- vim.o.updatetime = 250 +----vim.o.updatetime = 250 +----vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] +----local diagnostics_active = true +--local toggle_diagnostics = function() +-- --diagnostics_active = not diagnostics_active +-- --if diagnostics_active then +-- --if vim.diagnostic.open_float() == true then +-- if vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] +--, true) then +-- vim.api.nvim_exec([[autocmd! CursorHold,CursorHoldI ]] +--, true) +-- else +-- vim.o.updatetime = 250 +-- vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]], true) +-- end +--end +--vim.keymap.set("n", "a", toggle_diagnostics) +-- +--vim.api.nvim_create_autocmd('CursorHold', { +-- vim.diagnostic.open_float(nil, {focus=false}) +-- +--}) + +vim.o.updatetime = 250 +vim.cmd[[ +augroup OpenFloat + autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) + +augroup END +]] +vim.cmd([[ +function! ToggleDiagnosticsOpenFloat() + " Switch the toggle variable + let g:DiagnosticsOpenFloat = !get(g:, 'DiagnosticsOpenFloat', 1) + + " Reset group + augroup OpenFloat + autocmd! + augroup END + + " Enable if toggled on + if g:DiagnosticsOpenFloat + augroup OpenFloat + autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled . . .") + augroup END + endif +endfunction +nnoremap a :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." +]]) + +--vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( +-- vim.lsp.handlers.hover, { +-- signs = true, +-- underline = false, +-- virtual_text = false, +-- show_diagnostic_autocmds = {'InsertLeave', 'TextChanged'}, +-- diagnostic_delay = 500 +-- }) +--vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float(0, {scope="cursor", close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}})]] + +--function LspDiagnosticsFocus() +-- vim.api.nvim_command('set eventignore=WinLeave') +-- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') +-- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) +--end +--vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) + +--local diagnostics_active = true +--map('n', 'a', function() +-- diagnostics_active = not diagnostics_active +-- if diagnostics_active then +-- vim.diagnostic.show() +-- else +-- vim.diagnostic.hide() +-- end +--end) + +-- Global config for diagnostic +--vim.diagnostic.config({ +-- underline = false, +-- virtual_text = false, +-- signs = true, +-- severity_sort = true, +-- float = { +-- focusable = true, -- +-- style = "minimal", -- +-- --border = "rounded", +-- border = "shadow", +-- source = "always", +-- header = "", +-- prefix = "", +-- }, +--}) + +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + underline = true, + virtual_text = false, + signs = true, + update_in_insert = false, +}) + +--vim.lsp.buf.definition +vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +--vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) + +vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) + +--local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } +--local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } +local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } +for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) +end + + +---- Location information about the last message printed. The format is +---- `(did print, buffer number, line number)`. +--local last_echo = { false, -1, -1 } +-- +---- The timer used for displaying a diagnostic in the commandline. +--local echo_timer = nil +-- +---- The timer after which to display a diagnostic in the commandline. +--local echo_timeout = 250 +-- +---- The highlight group to use for warning messages. +--local warning_hlgroup = 'WarningMsg' +-- +---- The highlight group to use for error messages. +--local error_hlgroup = 'ErrorMsg' +-- +---- If the first diagnostic line has fewer than this many characters, also add +---- the second line to it. +--local short_line_limit = 20 +-- +---- Shows the current line's diagnostics in a floating window. +--function show_line_diagnostics() +-- vim +-- .lsp +-- .diagnostic +-- .show_line_diagnostics({ severity_limit = 'Warning' }, vim.fn.bufnr('')) +--end +-- +---- Prints the first diagnostic for the current line. +--function echo_diagnostic() +-- if echo_timer then +-- echo_timer:stop() +-- end +-- +-- echo_timer = vim.defer_fn( +-- function() +-- local line = vim.fn.line('.') - 1 +-- local bufnr = vim.api.nvim_win_get_buf(0) +-- +-- if last_echo[1] and last_echo[2] == bufnr and last_echo[3] == line then +-- return +-- end +-- +-- local diags = vim +-- .lsp +-- .diagnostic +-- .get_line_diagnostics(bufnr, line, { severity_limit = 'Warning' }) +-- +-- if #diags == 0 then +-- -- If we previously echo'd a message, clear it out by echoing an empty +-- -- message. +-- if last_echo[1] then +-- last_echo = { false, -1, -1 } +-- +-- vim.api.nvim_command('echo ""') +-- end +-- +-- return +-- end +-- +-- last_echo = { true, bufnr, line } +-- +-- local diag = diags[1] +-- local width = vim.api.nvim_get_option('columns') - 15 +-- local lines = vim.split(diag.message, "\n") +-- local message = lines[1] +-- local trimmed = false +-- +-- if #lines > 1 and #message <= short_line_limit then +-- message = message .. ' ' .. lines[2] +-- end +-- +-- if width > 0 and #message >= width then +-- message = message:sub(1, width) .. '...' +-- end +-- +-- local kind = 'warning' +-- local hlgroup = warning_hlgroup +-- +-- if diag.severity == vim.lsp.protocol.DiagnosticSeverity.Error then +-- kind = 'error' +-- hlgroup = error_hlgroup +-- end +-- +-- local chunks = { +-- { kind .. ': ', hlgroup }, +-- { message } +-- } +-- +-- vim.api.nvim_echo(chunks, false, {}) +-- end, +-- echo_timeout +-- ) +--end +--vim.cmd([[ +-- autocmd CursorMoved * :lua echo_diagnostic() +--]]) +-- Highlight line number instead of having icons in sign column + +-- See the properties of the signs with sign list. + +--vim.cmd [[ +-- highlight! DiagnosticLineNrError guibg=#51202A guifg=#FF0000 gui=bold +-- highlight! DiagnosticLineNrWarn guibg=#51412A guifg=#FFA500 gui=bold +-- highlight! DiagnosticLineNrInfo guibg=#1E535D guifg=#00FFFF gui=bold +-- highlight! DiagnosticLineNrHint guibg=#1E205D guifg=#0000FF gui=bold +-- +-- sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl=DiagnosticLineNrError +-- sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl=DiagnosticLineNrWarn +-- sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl=DiagnosticLineNrInfo +-- sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl=DiagnosticLineNrHint +--]] + +-- Highlight symbol under cursor + +-- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. + +--if client.resolved_capabilities.document_highlight then +-- vim.cmd [[ +-- hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow +-- hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow +-- hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow +-- ]] +-- vim.api.nvim_create_augroup('lsp_document_highlight', { +-- clear = false +-- }) +-- vim.api.nvim_clear_autocmds({ +-- buffer = bufnr, +-- group = 'lsp_document_highlight', +-- }) +-- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { +-- group = 'lsp_document_highlight', +-- buffer = bufnr, +-- callback = vim.lsp.buf.document_highlight, +-- }) +-- vim.api.nvim_create_autocmd('CursorMoved', { +-- group = 'lsp_document_highlight', +-- buffer = bufnr, +-- callback = vim.lsp.buf.clear_references, +-- }) +--end + diff --git a/lua/plugins/lspkind.lua b/lua/plugins/lspkind.lua new file mode 100644 index 0000000..72ca5c2 --- /dev/null +++ b/lua/plugins/lspkind.lua @@ -0,0 +1,47 @@ +local status, lspkind = pcall(require, "lspkind") +if (not status) then return end + +lspkind.init({ + -- enables text annotations + -- + -- default: true + mode = 'symbol', + + -- default symbol map + -- can be either 'default' (requires nerd-fonts font) or + -- 'codicons' for codicon preset (requires vscode-codicons font) + -- + -- default: 'default' + preset = 'codicons', + + -- override preset symbols + -- + -- default: {} + symbol_map = { + Text = "", + Method = "", + Function = "", + Constructor = "", + Field = "ﰠ", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "塞", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "פּ", + Event = "", + Operator = "", + TypeParameter = "" + }, +}) diff --git a/lua/plugins/lspsaga-22.10.23-13:08-bak.lua b/lua/plugins/lspsaga-22.10.23-13:08-bak.lua new file mode 100644 index 0000000..0bf1ec7 --- /dev/null +++ b/lua/plugins/lspsaga-22.10.23-13:08-bak.lua @@ -0,0 +1,145 @@ +require "lspsaga".init_lsp_saga { + -- "single" | "double" | "rounded" | "bold" | "plus" + border_style = "rounded", + --border_style = "single", + saga_winblend = 30, + move_in_saga = { next = '', prev = '' }, + --move_in_saga = { prev = "k", next = "j" }, + scroll_in_preview = { + scroll_down = "", + scroll_up = "", + }, + diagnostic_header = { " ", " ", " ", " " }, + -- add bracket or something with diagnostic source, just have 2 elements + -- use emoji lightbulb in default + code_action_icon = "", + --code_action_icon = "ﯦ ", + -- if true can press number to execute the codeaction in codeaction window + code_action_num_shortcut = true, + -- same as nvim-lightbulb but async + code_action_lightbulb = { + enable = false, + sign = false, + sign_priority = 20, -- + virtual_text = false, + }, + finder_icons = { + def = " ", + ref = " ", + link = " ", + }, + -- preview lines of lsp_finder and definition preview + max_preview_lines = 5, + definition_action_keys = { + edit = '', + vsplit = '', + split = '', + tabe = '', + quit = '', + }, + -- definition_preview_quit = '', + -- finder_preview_hl_ns = 8, + finder_action_keys = { + open = { 'o', '' }, + vsplit = "v", + split = "s", + tabe = "t", + quit = "", + scroll_down = "", + scroll_up = "", -- quit can be a table + }, + code_action_keys = { + quit = "", + exec = "", + }, + rename_action_quit = "", + rename_in_select = true, + symbol_in_winbar = { + enable = true, + --in_custom = false, + in_custom = true, + separator = '  ', + --show_file = false, + show_file = true, + click_support = false, + --click_support = false, + }, + --show_outline = { + -- win_position = 'right', + -- --set special filetype win that outline window split.like NvimTree neotree + -- -- defx, db_ui + -- min_with = '', + -- win_width = 40, + -- auto_enter = false, + -- auto_preview = true, + -- virt_text = 'x', + -- jump_key = 'l', + -- -- auto refresh when change buffer + -- auto_refresh = true, + --}, + custom_kind = { + File = { " " }, + Module = { " " }, + Namespace = { "ﱕ " }, + Package = { " " }, + Class = { "ﴯ " }, + Method = { "" }, + Property = { "ﰠ " }, + Field = { "ﰠ " }, + Constructor = { " " }, + Enum = { " " }, + Interface = { " " }, + Function = { " " }, + Variable = { " " }, + Constant = { " " }, + String = { " " }, + Number = { " " }, + Boolean = { " " }, + Array = { " " }, + Object = { " " }, + Key = { "- " }, + Null = { " " }, + EnumMember = { " " }, + Struct = { " " }, + Event = { " " }, + Operator = { " " }, + TypeParameter = { " " }, + TypeAlias = { " " }, + Parameter = { " " }, + StaticMethod = { " " }, + Macro = { "廓" }, + }, +} + + -- Mappings. +local map = vim.api.nvim_set_keymap +local opts = { noremap = true, silent = true } + +map("n", "gd", "Lspsaga peek_definition", opts) +--map("n", "gp", "Lspsaga peek_definition", opts) +map("n", "gi", "Lspsaga lsp_finder", opts) +map("n", "gh", "Lspsaga hover_doc", opts) +map("n", "gs", "Lspsaga signature_help", opts) +map("n", "ga", "Lspsaga code_action", opts) +map("v", "ga", "Lspsaga range_code_action", opts) +map("n", "gl", "Lspsaga show_line_diagnostics", opts) +--map("n", "go", "Lspsaga open_floaterm zsh", opts) +map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) +map("n", "", "Lspsaga rename", opts) +map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) +map("n", "gj", "Lspsaga diagnostic_jump_next", opts) +map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) +map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) +map("t", "", "Lspsaga close_floaterm", opts) + +--vim.api.nvim_command("highlight LspFloatWinNormal guibg=none ") +--hi LspFloatWinNormal guibg=none + + +-- vim.api.nvim_create_autocmd("BufEnter", { +-- callback = function () +-- if #vim.api.nvim_list_wins() == 1 and vim.bo.filetype == "lspsagaoutline" then +-- vim.cmd "quit" +-- end +-- end +-- }) diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua new file mode 100644 index 0000000..4161ce9 --- /dev/null +++ b/lua/plugins/lspsaga.lua @@ -0,0 +1,46 @@ +return function() + local saga = require "lspsaga" + + saga.init_lsp_saga { + use_saga_diagnostic_sign = false, + finder_action_keys = { + vsplit = "v", + split = "s", + quit = { "q", "" }, + }, + code_action_icon = "💡", + code_action_prompt = { + enable = false, + sign = false, + virtual_text = false, + }, + } + + require("as.highlights").highlight("LspSagaLightbulb", { guifg = "NONE", guibg = "NONE" }) + +-- as.vnoremap("ca", ":lua require('lspsaga.codeaction').range_code_action()") +-- as.inoremap("", "lua require('lspsaga.signaturehelp').signature_help()") +-- as.nnoremap("K", "lua require('lspsaga.hover').render_hover_doc()") +-- -- scroll down hover doc +-- as.nnoremap("", "lua require('lspsaga.action').smart_scroll_with_saga(1)") +-- -- scroll up hover doc +-- as.nnoremap("", "lua require('lspsaga.action').smart_scroll_with_saga(-1)") + + require("which-key").register { + ["rn"] = { require("lspsaga.rename").rename, "lsp: rename" }, + ["ca"] = { require("lspsaga.codeaction").code_action, "lsp: code action" }, + ["gp"] = { require("lspsaga.provider").preview_definition, "lsp: preview definition" }, + ["gh"] = { require("lspsaga.provider").lsp_finder, "lsp: finder" }, + -- jump diagnostic + ["]c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_prev, "lsp: previous diagnostic" }, + ["[c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_next, "lsp: next diagnostic" }, + } + + -- augroup("LspSagaCursorCommands", { + -- { + -- events = { "CursorHold" }, + -- targets = { "*" }, + -- command = "lua require('lspsaga.diagnostic').show_cursor_diagnostics()", + -- }, + -- }) +end diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 0000000..9d86e21 --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,423 @@ +local lualine_status_ok, lualine = pcall(require, "lualine") +if not lualine_status_ok then + print("lualine.nvim is etiher broken or is not installed.") + return +end + +--local colors = require('tokyonight.colors').setup() +--local colors = { +--bg_dark = "#1f2335", +--bg = "#24283b", +--fg = "#c0caf5", +--fg_gutter = "#3b4261", +--green = "#a6e3a1", +--red = "#f38ba8", +--} + +--local colors = { +-- gray = '#23232e', +-- lightgray = '#5f6a8e', +-- orange = '#ffb86c', +-- purple = '#bd93f9', +-- red = '#ff5555', +-- yellow = '#f1fa8c', +-- green = '#50fa7b', +-- white = '#f8f8f2', +-- black = '#282a36', +--} +local colors = { + nobg = nil, + blue = "#87b0f9", + mauve = "#cba6f7", + red = "#f38ba8", + green = "#a6e3a1", + peach = "#fab387", + white = "#c6d0f5", + gray = "#a1a8c9", + black = "#1e1e2e", + innerbg = nil, + outerbg = "#16161D", +} +--require("lualine").setup({ +-- Your lua part of config goes here +require("lualine").setup({ + options = { + icons_enabled = true, + --theme = "auto", + theme = require("plugins.linecolor").theme(), + --theme = { + -- We are going to use lualine_c an lualine_x as left and + -- right section. Both are highlighte by c theme . So we + -- are just setting default looks o statusline + --normal = { c = { fg = colors.fg, bg = colors.bg } }, + --inactive = { c = { fg = colors.fg, bg = colors.bg } }, + --}, + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + --component_separators = { left = '|', right = '|'}, + --section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = true, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + }, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { + "branch", + { + "diff", + colored = true, + diff_color = { + added = "DiffAdd", + modified = "DiffChange", + removed = "DiffDelete", + }, + }, + { + "diagnostics", + + sources = { "nvim_lsp" }, + sections = { "error", "warn", "info" }, + + diagnostics_color = { + error = "DiagnosticError", + warn = "DiagnosticWarn", + info = "DiagnosticInfo", + }, + colored = true, + update_in_insert = false, + always_visible = false, + }, + }, + --lualine_b = { "branch", "diff", "diagnostics" }, + lualine_c = { + --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, + --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, + --{ "filetype", + -- icon_only = true, + --}, + { + "filename", + --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, + --component_separators = {left = "", right = ""}, + }, + }, + lualine_x = { "encoding", "fileformat", "filetype" }, + --lualine_x = { + -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, + --}, + lualine_y = { "progress" }, + lualine_z = { "location" }, + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = { "location" }, + lualine_y = {}, + lualine_z = {}, + }, + -- tabline = {}, + tabline = { + --lualine_a = { "mode" }, + --lualine_a = {custom_fname}, + lualine_a = { + { + "buffers", + show_filename_only = false, + show_modified_status = true, + mode = 4, + buffers_color = { + active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer + --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer + --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer + --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer + ----color = function() + ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } + ----end, + }, + symbols = { + modified = " ●", -- Text to show when the buffer is modified + alternate_file = "", -- Text to show to identify the alternate file + --directory = "", -- Text to show when the buffer is a directory + }, + max_length = vim.o.columns * 5 / 6, + --{{function() + -- local bg = 'hi! lualine_buffers_color' -- not modified + -- if vim.bo.modified then bg = '#c70039' -- unsaved + -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly + -- vim.cmd('hi! lualine_buffers_color guibg='..bg) + --end, + --color = 'hi! lualine_buffers_color', + --}}, + }, + }, + lualine_b = {}, + lualine_c = {}, + lualine_x = {}, + lualine_y = {}, + lualine_z = {}, + --lualine_z = { "tabs" }, + }, + --tabline = { + -- lualine_a = { "mode" }, + -- lualine_b = { "buffers" }, + -- lualine_c = { "branch" }, + -- --lualine_c = { "branch", "diff", "diagnostics" }, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = { "tabs" }, + --}, + --winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {'filename'}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + --inactive_winbar = { + -- lualine_a = {}, + -- lualine_b = {}, + -- lualine_c = {}, + -- lualine_x = {}, + -- lualine_y = {}, + -- lualine_z = {} + --}, + winbar = {}, + inactive_winbar = {}, + --extensions = {}, + extensions = { "quickfix" }, +}) +--require("lualine").statusline() +--require("lualine").tabline() +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local lualine_status_ok, lualine = pcall(require, "lualine") +--if not lualine_status_ok then +-- print("lualine.nvim is etiher broken or is not installed.") +-- return +--end +--local utils = require("heirline.utils") + +--local M = {} + +-- stylua: ignore start +--M.colours = {--{{{ +---- Color table for highlights +---- stylua: ignore +--local colors = { +-- bg = '#2E3440', +-- fg = '#E5E9F0', +-- yellow = '#EBCB8B', +-- cyan = '#88C0D0', +-- darkblue = '#5E81AC', +-- green = '#A3BE8C', +-- orange = '#D08770', +-- violet = '#B48EAD', +-- magenta = '#B48EAD', +-- blue = '#81A1C1', +-- red = '#BF616A', +--} +-- +--local conditions = { +-- buffer_not_empty = function() +-- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 +-- end, +-- hide_in_width = function() +-- return vim.fn.winwidth(0) > 80 +-- end, +-- check_git_workspace = function() +-- local filepath = vim.fn.expand("%:p:h") +-- local gitdir = vim.fn.finddir(".git", filepath .. ";") +-- return gitdir and #gitdir > 0 and #gitdir < #filepath +-- end, +--} + +-- Config +--local config = { +--require('lualine').setup { +-- options = { +-- -- Disable sections and component separators +-- component_separators = "", +-- section_separators = "", +-- theme = { +-- -- We are going to use lualine_c an lualine_x as left and +-- -- right section. Both are highlighte by c theme . So we +-- -- are just setting default looks o statusline +-- normal = { c = { fg = colors.fg, bg = colors.bg } }, +-- inactive = { c = { fg = colors.fg, bg = colors.bg } }, +-- }, +-- disabled_filetypes = { "NvimTree" }, +-- }, +-- sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- -- These will be filled later +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +-- inactive_sections = { +-- -- these are to remove the defaults +-- lualine_a = {}, +-- lualine_b = {}, +-- lualine_y = {}, +-- lualine_z = {}, +-- lualine_c = {}, +-- lualine_x = {}, +-- }, +--} +-- +---- Inserts a component in lualine_c at left section +--local function ins_left(component) +-- table.insert(lualine.sections.lualine_c, component) +--end +-- +---- Inserts a component in lualine_x ot right section +--local function ins_right(component) +-- table.insert(lualine.sections.lualine_x, component) +--end +-- +--ins_left({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, -- Sets highlighting of component +-- padding = { left = 0, right = 1 }, -- We don't need space before this +--}) +-- +--ins_left({ +-- -- mode component +-- function() +-- return "" +-- end, +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.blue, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- -- mode component +-- "mode", +-- color = function() +-- -- auto change color according to neovims mode +-- local mode_color = { +-- n = colors.red, +-- i = colors.green, +-- v = colors.violet, +-- ["�"] = colors.blue, +-- V = colors.blue, +-- c = colors.magenta, +-- no = colors.red, +-- s = colors.orange, +-- S = colors.orange, +-- ic = colors.yellow, +-- R = colors.violet, +-- Rv = colors.violet, +-- cv = colors.red, +-- ce = colors.red, +-- r = colors.cyan, +-- rm = colors.cyan, +-- ["r?"] = colors.cyan, +-- ["!"] = colors.red, +-- t = colors.red, +-- } +-- return { fg = mode_color[vim.fn.mode()] } +-- end, +-- padding = { right = 1 }, +--}) +-- +--ins_left({ +-- "branch", +-- icon = "", +-- color = { fg = colors.violet, gui = "bold" }, +--}) +-- +--ins_left({ +-- "filename", +-- cond = conditions.buffer_not_empty, +-- color = { fg = colors.aqua, gui = "bold" }, +--}) +-- +--ins_left({ +-- -- filesize component +-- "filesize", +-- cond = conditions.buffer_not_empty, +--}) +-- +---- Add components to right sections +--ins_right({ +-- "o:encoding", -- option component same as &encoding in viml +-- fmt = string.lower, -- I'm not sure why it's upper case either ;) +-- cond = conditions.hide_in_width, +-- color = { fg = colors.yellow }, +--}) +-- +--ins_right({ +-- "fileformat", +-- fmt = string.upper, +-- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh +-- color = { fg = colors.fg, gui = "bold" }, +--}) +-- +--ins_right({ +-- "filetype", +--}) +-- +--ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) +-- +--ins_right({ +-- "location", +--}) +-- +--ins_right({ +-- function() +-- return "▊" +-- end, +-- color = { fg = colors.green }, +-- padding = { left = 1 }, +--}) +--return M +-- Now don't forget to initialize lualine +--require("lualine").setup(config) +--require"lualine".setup(config) +--lualine.setup(config) diff --git a/lua/plugins/luasnip-22.10.23-12:54-bak.lua b/lua/plugins/luasnip-22.10.23-12:54-bak.lua new file mode 100644 index 0000000..08f49ee --- /dev/null +++ b/lua/plugins/luasnip-22.10.23-12:54-bak.lua @@ -0,0 +1,161 @@ +if vim.g.snippets ~= "luasnip" or not pcall(require, "luasnip") then + return +end +--local luasnip = require("luasnip") +local ls = require "luasnip" -- +local types = require "luasnip.util.types" -- +--local options = { +ls.config.set_config { + history = true, + updateevents = "TextChanged,TextChangedI", + -- Autosnippets: + enable_autosnippets = true, -- + ext_opts = { -- + [types.choiceNode] = { -- + active = { -- + virt_text = { { " « ", "NonTest" } }, -- + }, -- + }, -- + }, -- +} + +--local keymap = vim.keymap +local keymap = vim.api.nvim_set_keymap +--local keymap = vim.keymap.set +-- is my jump backwards key. +-- this always moves to the previous item within the snippet + +--keymap({ "i", "s" }, "", function() +-- if ls.jumpable(-1) then +-- ls.jump(-1) +-- end +--end, { silent = true }) + +-- is selecting within a list of options. +-- This is useful for choice nodes (introduced in the forthcoming episode 2) +--keymap({"i"}, "", function() +-- if ls.choice_active() then +-- ls.change_choice(1) +-- end +--end, { silent = true }) + + +--keymap("i", "", require "luasnip.extras.select_choice") + +-- shorcut to source my luasnips file again, which will reload my snippets +--keymap("n", "s", "source ~/.config/nvim/lua/user/plugins/luasnip.lua") + +-- ls.parser.parse_snippet(, ) +--ls.snippets = { +-- all = { +-- -- Available in any filetype +-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), +--s.snippets = { +-- all = { +-- -- Available in any filetype +-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), +-- }, +-- lua = { +-- -- Lua specific snippets go here. +-- ls.parser.parse_snippet("lf", "local $1 = function($2)\n $0\nend") +-- }, +-- +--}) +local snip = ls.snippet +local node = ls.snippet_node +local text = ls.text_node +local insert = ls.insert_node +local func = ls.function_node +local choice = ls.choice_node +local dynamicn = ls.dynamic_node + +local date = function() return {os.date('%Y-%m-%d')} end + +ls.add_snippets(nil, { + all = { + --snip({ + -- trig = "date", + -- namr = "Date", + -- dscr = "Date in the form of YYYY-MM-DD", + --}, { + -- func(date, {}), + --}), + snip({ + trig = "meta", + namr = "Metadata", + dscr = "Yaml metadata format for markdown" +}, +{ + text({"---", + "title: "}), insert(1, "note_title"), text({"", + "author: "}), insert(2, "author"), text({"", + "date: "}), func(date, {}), text({"", + "categories: ["}), insert(3, ""), text({"]", + "lastmod: "}), func(date, {}), text({"", + "tags: ["}), insert(4), text({"]", + "comments: true", + "---", ""}), + insert(0) + }), + }}) +--keymap("i", "", "lua require'luasnip'.jump(1)", opts) +--keymap("s", "", "lua require'luasnip'.jump(1)", opts) +--keymap("i", "", "lua require'luasnip'.jump(-1)", opts) +--local opts = { noremap = true, silent = true } +--local keymap = vim.api.nvim_set_keymap +--local keymap = vim.keymap +--local term_opts = { noremap = true, silent = false } +-- local map = function(mode, l, r, opts) +-- opts = opts or {} +-- opts.silent = true +-- opts.noremap = true +-- keymap.set(mode, l, r, opts) +-- end + + + +--keymap("i", "", "luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump()", opts) +--keymap("i", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)", opts) +--keymap("s", "", "luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump()", opts) +--keymap("s", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)", opts) +--keymap("i", "", "luasnip-next-choice * lua require'luasnip'.change_choice(1)", opts) +--keymap("s", "", "lua require'luasnip'.jump(-1)", opts) +--map("i", "", "luasnip-expand-or-jump") + +--! luasnip-expand-repeat * lua require'luasnip'.expand_repeat() +--! luasnip-delete-check * lua require'luasnip'.unlink_current_if_deleted() +--i luasnip-jump-prev * lua require'luasnip'.jump(-1) +--i luasnip-jump-next * lua require'luasnip'.jump(1) +--i luasnip-prev-choice * lua require'luasnip'.change_choice(-1) +--i luasnip-next-choice * lua require'luasnip'.change_choice(1) +--i luasnip-expand-snippet * lua require'luasnip'.expand() +--i luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump() + +--- + + + + + + + + + +--luasnip.config.set_config(options) +--require("luasnip.loaders.from_vscode").lazy_load() +--require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.luasnippets_path or "" } +-- +--vim.api.nvim_create_autocmd("InsertLeave", { +-- callback = function() +-- if +-- require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()] +-- and not require("luasnip").session.jump_active +-- then +-- require("luasnip").unlink_current() +-- end +-- end, +--}) + + + + diff --git a/lua/plugins/luasnip.lua b/lua/plugins/luasnip.lua new file mode 100644 index 0000000..de2177e --- /dev/null +++ b/lua/plugins/luasnip.lua @@ -0,0 +1,69 @@ +local ls = require "luasnip" -- + +require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets/" }) +--local options = { +ls.config.set_config { + history = true, + updateevents = "TextChanged,TextChangedI", + -- Autosnippets: + enable_autosnippets = true, -- + ext_opts = { -- + [require("luasnip.util.types").choiceNode] = { + active = { + virt_text = { { "«", "GruvboxOrange" } }, + }, + }, + }, +} + +--local keymap = vim.keymap +--local keymap = vim.api.nvim_set_keymap +local keymap = vim.keymap.set +--keymap('i', '', 'luasnip#expand_or_jumpable() ? "luasnip-expand-or-jump" : ""', {expr = true, silent = true}) +keymap({ "i", "s"}, "", function() + if ls.expand_or_jumpable() then + ls.expand() + end +end) + +keymap({ "i", "s"}, "", function() + if ls.jumpable(1) then + ls.jump(1) + end +end) + +keymap({ "i", "s"}, "", function() + if ls.jumpable(-1) then + ls.jump(-1) + end +end) + +keymap({ "i", "s"}, "", function() + if ls.choice_active() then + ls.change_choice(1) + end +end) + +keymap({ "i", "s"}, "", function() + if ls.choice_active() then + ls.change_choice(-1) + end +end) + +-- Character class Matching +-- %a letters (A-Z, a-z) +-- %c control characters (\n, \t, \r, ...) +-- %d digits (0-9) +-- %l lower-case letter (a-z) +-- %p punctuation characters (!, ?, &, ...) +-- %s space characters +-- %u upper-case letters +-- %w alphanumeric characters (A-Z, a-z, 0-9) +-- %x hexadecimal digits (\3, \4, ...) +-- %z the character with representation 0 +-- . Matches any character + + + + + diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua new file mode 100644 index 0000000..69c61ba --- /dev/null +++ b/lua/plugins/mason.lua @@ -0,0 +1,27 @@ +local status, mason = pcall(require, "mason") +if (not status) then return end +local status2, lspconfig = pcall(require, "mason-lspconfig") +if (not status2) then return end + +mason.setup({ + +}) + +lspconfig.setup { + ensure_installed = { "sumneko_lua" }, +} +local keymap = vim.api.nvim_set_keymap +local opts = { noremap = true } + + +keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) +keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) +keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) +keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) +keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) +keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) +keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) +keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) +keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) +keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) diff --git a/lua/plugins/modify-blend.lua b/lua/plugins/modify-blend.lua new file mode 100644 index 0000000..7c48815 --- /dev/null +++ b/lua/plugins/modify-blend.lua @@ -0,0 +1,40 @@ +local ui = vim.api.nvim_list_uis()[1] + +local bufnr = vim.api.nvim_create_buf(false, true) +local win = vim.api.nvim_open_win(bufnr, true, { + relative = "editor", + width = ui.width, + height = ui.height, + row = 10, + col = 10, + style = "minimal", +}) + +vim.api.nvim_win_set_option(win, "winblend", 1) + +local blend_start = 15 +local offset = 1 + +CANCEL = false +local timer = vim.loop.new_timer() +timer:start( + 0, + 50, + vim.schedule_wrap(function() + blend_start = blend_start + offset + + if blend_start > 90 then + offset = -1 + elseif blend_start < 10 then + offset = 1 + end + + if CANCEL or not vim.api.nvim_win_is_valid(win) then + timer:close() + timer:stop() + return + end + + vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start)) + end) +) diff --git a/lua/plugins/neoscroll.lua b/lua/plugins/neoscroll.lua new file mode 100644 index 0000000..d122584 --- /dev/null +++ b/lua/plugins/neoscroll.lua @@ -0,0 +1,21 @@ +require("neoscroll").setup({ + easing_function = "quadratic", +}) + +local t = {} +-- Syntax: t[keys] = {function, {function arguments}} +-- Use the "sine" easing function +t[""] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } } +t[""] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } } +-- Use the "circular" easing function +t[""] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +t[""] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } +-- Pass "nil" to disable the easing animation (constant scrolling speed) +t[""] = { "scroll", { "-0.10", "false", "100", nil } } +t[""] = { "scroll", { "0.10", "false", "100", nil } } +-- When no easing function is provided the default easing function (in this case "quadratic") will be used +t["zt"] = { "zt", { "10" } } +t["zz"] = { "zz", { "10" } } +t["zb"] = { "zb", { "10" } } + +require("neoscroll.config").set_mappings(t) diff --git a/lua/plugins/null-ls.lua b/lua/plugins/null-ls.lua new file mode 100644 index 0000000..7fc4377 --- /dev/null +++ b/lua/plugins/null-ls.lua @@ -0,0 +1,26 @@ +local null_ls_status_ok, null_ls = pcall(require, "null-ls") +if not null_ls_status_ok then + return +end + +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting +local formatting = null_ls.builtins.formatting +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics +local diagnostics = null_ls.builtins.diagnostics + +--null_ls.setup({ +-- debug = false, +-- sources = { +-- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), +-- formatting.black.with({ extra_args = { "--fast" } }), +-- formatting.stylua, +-- -- diagnostics.flake8 +-- }, +--}) +require("null-ls").setup({ + sources = { + require("null-ls").builtins.formatting.stylua, + require("null-ls").builtins.diagnostics.eslint, + require("null-ls").builtins.completion.spell, + }, +}) diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua new file mode 100644 index 0000000..a1e10e0 --- /dev/null +++ b/lua/plugins/nvim-tree.lua @@ -0,0 +1,69 @@ +local status_ok, nvim_tree = pcall(require, "nvim-tree") +if not status_ok then + return +end + +local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") +if not config_status_ok then + return +end + +local tree_cb = nvim_tree_config.nvim_tree_callback + +nvim_tree.setup({ + update_focused_file = { + enable = true, + update_cwd = true, + }, + renderer = { + root_folder_modifier = ":t", + icons = { + glyphs = { + default = "", + symlink = "", + folder = { + arrow_open = "", + arrow_closed = "", + default = "", + open = "", + empty = "", + empty_open = "", + symlink = "", + symlink_open = "", + }, + git = { + unstaged = "", + staged = "S", + unmerged = "", + renamed = "➜", + untracked = "U", + deleted = "", + ignored = "◌", + }, + }, + }, + }, + diagnostics = { + enable = true, + show_on_dirs = true, + icons = { + hint = "", + info = "", + warning = "", + error = "", + }, + }, + view = { + width = 30, + --height = 30, + side = "left", + mappings = { + list = { + { key = { "l", "", "o" }, cb = tree_cb("edit") }, + { key = "h", cb = tree_cb("close_node") }, + { key = "v", cb = tree_cb("vsplit") }, + { key = "u", action = "dir_up" }, + }, + }, + }, +}) diff --git a/lua/plugins/prettier.lua b/lua/plugins/prettier.lua new file mode 100644 index 0000000..05d4665 --- /dev/null +++ b/lua/plugins/prettier.lua @@ -0,0 +1,19 @@ +local status, prettier = pcall(require, "prettier") +if (not status) then return end + +prettier.setup { + bin = 'prettierd', + filetypes = { + "c", + "lua", + "vim", + --"css", + --"javascript", + --"javascriptreact", + --"typescript", + --"typescriptreact", + --"json", + --"scss", + "less" + } +} diff --git a/lua/plugins/scripts/lsp-ext.lua b/lua/plugins/scripts/lsp-ext.lua new file mode 100644 index 0000000..c4378c6 --- /dev/null +++ b/lua/plugins/scripts/lsp-ext.lua @@ -0,0 +1,48 @@ +-- +-- lsp-ext.lua + + +M = {} + +function M.preview_location(location, context, before_context) + -- location may be LocationLink or Location (more useful for the former) + context = context or 15 + before_context = before_context or 0 + local uri = location.targetUri or location.uri + if uri == nil then + return + end + local bufnr = vim.uri_to_bufnr(uri) + if not vim.api.nvim_buf_is_loaded(bufnr) then + vim.fn.bufload(bufnr) + end + local range = location.targetRange or location.range + local contents = + vim.api.nvim_buf_get_lines(bufnr, range.start.line - before_context, range["end"].line + 1 + context, false) + local filetype = vim.api.nvim_buf_get_option(bufnr, "filetype") + return vim.lsp.util.open_floating_preview(contents, filetype) +end + +function M.preview_location_callback(_, method, result) + local context = 15 + if result == nil or vim.tbl_isempty(result) then + print("No location found: " .. method) + return nil + end + if vim.tbl_islist(result) then + M.floating_buf, M.floating_win = M.preview_location(result[1], context) + else + M.floating_buf, M.floating_win = M.preview_location(result, context) + end +end + +function M.peek_definition() + if vim.tbl_contains(vim.api.nvim_list_wins(), M.floating_win) then + vim.api.nvim_set_current_win(M.floating_win) + else + local params = vim.lsp.util.make_position_params() + return vim.lsp.buf_request(0, "textDocument/definition", params, M.preview_location_callback) + end +end + +return M diff --git a/lua/plugins/scripts/setcolors.lua b/lua/plugins/scripts/setcolors.lua new file mode 100644 index 0000000..605bc84 --- /dev/null +++ b/lua/plugins/scripts/setcolors.lua @@ -0,0 +1,121 @@ +vim.cmd([[ +" Change the color scheme from a list of color scheme names. +" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341 +" Press key: +" F8 next scheme +" Shift-F8 previous scheme +" Alt-F8 random scheme +" Set the list of color schemes used by the above (default is 'all'): +" :SetColors all (all $VIMRUNTIME/colors/*.vim) +" :SetColors my (names built into script) +" :SetColors blue ayu ron (these schemes) +" :SetColors (display current scheme names) +" Set the current color scheme based on time of day: +" :SetColors now +if v:version < 700 || exists('loaded_setcolors') || &cp + finish +endif + +let loaded_setcolors = 1 +let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color + +" Set list of color scheme names that we will use, except +" argument 'now' actually changes the current color scheme. +function! s:SetColors(args) + if len(a:args) == 0 + echo 'Current color scheme names:' + let i = 0 + while i < len(s:mycolors) + echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)')) + let i += 5 + endwhile + elseif a:args == 'all' + let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n") + let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")'))) + echo 'List of colors set from all installed color schemes' + elseif a:args == 'my' + let c1 = 'default srcery everblush' + let c2 = 'gruvbox onedark' + let c3 = 'ayu molokai' + let s:mycolors = split(c1.' '.c2.' '.c3) + echo 'List of colors set from built-in names' + elseif a:args == 'now' + call s:HourColor() + else + let s:mycolors = split(a:args) + echo 'List of colors set from argument (space-separated names)' + endif +endfunction + +command! -nargs=* SetColors call s:SetColors('') + +" Set next/previous/random (how = 1/-1/0) color from our list of colors. +" The 'random' index is actually set from the current time in seconds. +" Global (no 's:') so can easily call from command line. +function! NextColor(how) + call s:NextColor(a:how, 1) +endfunction + +" Helper function for NextColor(), allows echoing of the color name to be +" disabled. +function! s:NextColor(how, echo_color) + if len(s:mycolors) == 0 + call s:SetColors('all') + endif + if exists('g:colors_name') + let current = index(s:mycolors, g:colors_name) + else + let current = -1 + endif + let missing = [] + let how = a:how + for i in range(len(s:mycolors)) + if how == 0 + let current = localtime() % len(s:mycolors) + let how = 1 " in case random color does not exist + else + let current += how + if !(0 <= current && current < len(s:mycolors)) + let current = (how>0 ? 0 : len(s:mycolors)-1) + endif + endif + try + execute 'colorscheme '.s:mycolors[current] + break + catch /E185:/ + call add(missing, s:mycolors[current]) + endtry + endfor + redraw + if len(missing) > 0 + echo 'Error: colorscheme not found:' join(missing) + endif + if (a:echo_color) + echo g:colors_name + endif +endfunction + +nnoremap cn :call NextColor(1) +nnoremap cp :call NextColor(-1) +nnoremap cc :call NextColor(0) + +" Set color scheme according to current time of day. +function! s:HourColor() + let hr = str2nr(strftime('%H')) + if hr <= 3 + let i = 0 + elseif hr <= 7 + let i = 1 + elseif hr <= 14 + let i = 2 + elseif hr <= 18 + let i = 3 + else + let i = 4 + endif + let nowcolors = 'srcery onedark molokai' + execute 'colorscheme '.split(nowcolors)[i] + redraw + echo g:colors_name +endfunction +]]) diff --git a/lua/plugins/scripts/toggleLsp.lua b/lua/plugins/scripts/toggleLsp.lua new file mode 100644 index 0000000..28af698 --- /dev/null +++ b/lua/plugins/scripts/toggleLsp.lua @@ -0,0 +1,40 @@ +local M = {} + +local check_function = function(bufnr, _) + local ok, result = pcall(vim.api.nvim_buf_get_var, bufnr, 'lsp_enabled') + -- No buffer local variable set, so just enable by default + if not ok then + return true + end + + return result +end + +vim.lsp.handlers["textDocument/publishDiagnostics"] = + vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + underline = check_function, + virtual_text = check_function, + signs = check_function + }) + +function M.Enable() + vim.b.lsp_enabled = true +end + +function M.Disable() + vim.b.lsp_enabled = false +end + +function M.Toggle() + if vim.b.lsp_enabled == false then + M.Enable() + else + M.Disable() + end +end + +vim.cmd [[ + command! -nargs=* ToggleLsp lua require'lsp.toggle'.Toggle() +]] + +return M diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua new file mode 100644 index 0000000..db065d7 --- /dev/null +++ b/lua/plugins/telescope.lua @@ -0,0 +1,223 @@ +local status_ok, telescope = pcall(require, "telescope") +if not status_ok then + return +end +local actions = require("telescope.actions") +local builtin = require("telescope.builtin") + +local function telescope_buffer_dir() + return vim.fn.expand("%:p:h") +end + +telescope.load_extension("fzf") +telescope.load_extension("file_browser") +require("telescope").load_extension("file_browser") +local fb_actions = require("telescope").extensions.file_browser.actions +--telescope.load_extension('media_files') + +telescope.setup({ + defaults = { + -- + prompt_prefix = " ", + selection_caret = " ", + path_display = { "smart" }, + -- + mappings = { + i = { + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.close, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + [""] = actions.complete_tag, + [""] = actions.which_key, -- keys from pressing + }, + + n = { + [""] = actions.close, + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + + ["j"] = actions.move_selection_next, + ["k"] = actions.move_selection_previous, + ["H"] = actions.move_to_top, + ["M"] = actions.move_to_middle, + ["L"] = actions.move_to_bottom, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + ["gg"] = actions.move_to_top, + ["G"] = actions.move_to_bottom, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + ["?"] = actions.which_key, + ["cd"] = function(prompt_bufnr) + local selection = require("telescope.actions.state").get_selected_entry() + local dir = vim.fn.fnamemodify(selection.path, ":p:h") + require("telescope.actions").close(prompt_bufnr) + -- Depending on what you want put `cd`, `lcd`, `tcd` + vim.cmd(string.format("silent lcd %s", dir)) + end, + }, + }, + }, + pickers = { + -- Default configuration for builtin pickers goes here: + -- picker_name = { + -- picker_config_key = value, + -- ... + -- } + -- Now the picker_config_key will be applied every time you call this + -- builtin picker + }, + extensions = { + file_browser = { + theme = "dropdown", + -- disables netrw and use telescope-file-browser in its place + hijack_netrw = true, + mappings = { + -- your custom insert mode mappings + ["i"] = { + [""] = function() + vim.cmd("normal vbd") + end, + }, + ["n"] = { + -- your custom normal mode mappings + ["N"] = fb_actions.create, + ["h"] = fb_actions.goto_parent_dir, + ["/"] = function() + vim.cmd("startinsert") + end, + }, + }, + }, + + media_files = { + -- filetypes whitelist + -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} + filetypes = { "png", "webp", "jpg", "jpeg" }, + find_cmd = "rg", -- find command (defaults to `fd`) + }, + -- Your extension configuration goes here: + -- extension_name = { + -- extension_config_key = value, + -- } + -- please take a look at the readme of the extension you want to configure + }, +}) + +telescope.load_extension("file_browser") + +--vim.keymap.set("n", ";f", function() +-- builtin.find_files({ +-- no_ignore = false, +-- hidden = true, +-- }) +--end) +vim.keymap.set("n", ";r", function() + builtin.live_grep() +end) +vim.keymap.set("n", "\\\\", function() + builtin.buffers() +end) +vim.keymap.set("n", ";t", function() + builtin.help_tags() +end) +vim.keymap.set("n", ";;", function() + builtin.resume() +end) +vim.keymap.set("n", ";e", function() + builtin.diagnostics() +end) +--vim.keymap.set("n", "sf", function() +-- telescope.extensions.file_browser.file_browser({ +-- path = "%:p:h", +-- cwd = telescope_buffer_dir(), +-- respect_gitignore = false, +-- hidden = true, +-- grouped = true, +-- previewer = false, +-- initial_mode = "normal", +-- layout_config = { height = 40 }, +-- }) +--end) + +local M = {} + +function M.reload() + local function get_module_name(s) + local module_name; + + module_name = s:gsub("%.lua", "") + module_name = module_name:gsub("%/", ".") + module_name = module_name:gsub("%.init", "") + + return module_name + end + + local prompt_title = "~ neovim modules ~" + + -- sets the path to the lua folder + local path = "~/.config/nvim/lua" + + local opts = { + prompt_title = prompt_title, + cwd = path, + + attach_mappings = function(_, map) + -- Adds a new map to ctrl+e. + map("i", "", function(_) + -- these two a very self-explanatory + local entry = require("telescope.actions.state").get_selected_entry() + local name = get_module_name(entry.value) + + -- call the helper method to reload the module + -- and give some feedback + R(name) + P(name .. " RELOADED!!!") + end) + + return true + end + } + + -- call the builtin method to list files + require('telescope.builtin').find_files(opts) +end + +return M; + diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..912729a --- /dev/null +++ b/lua/plugins/toggleterm.lua @@ -0,0 +1,90 @@ +local status_ok, toggleterm = pcall(require, "toggleterm") +if not status_ok then + return +end + +toggleterm.setup({ + size = function(term) + if term.direction == "horizontal" then + return 12 + elseif term.direction == "vertical" then + return vim.o.columns * 0.3 + end + end, + --size = 20, + open_mapping = [[to]], + hide_numbers = true, + shade_filetypes = {}, + shade_terminals = false, + shading_factor = 1, + start_in_insert = true, + insert_mappings = true, + persist_size = true, + direction = "float", + --direction = "vertical", + --direction = "horizontal", + close_on_exit = true, + shell = vim.o.shell, + highlights = { + -- highlights which map to a highlight group name and a table of it's values + -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split + Normal = { + background = "#000000", + }, + }, + float_opts = { + width = 70, + height = 15, + winblend = 3, + border = "curved", + --winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, +}) + +function _G.set_terminal_keymaps() + local opts = { noremap = true } + --local opts = {buffer = 0} + vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) +end + +vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") + +local Terminal = require("toggleterm.terminal").Terminal +local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + +function _LAZYGIT_TOGGLE() + lazygit:toggle() +end + +local node = Terminal:new({ cmd = "node", hidden = true }) + +function _NODE_TOGGLE() + node:toggle() +end + +local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) + +function _NCDU_TOGGLE() + ncdu:toggle() +end + +local htop = Terminal:new({ cmd = "htop", hidden = true }) + +function _HTOP_TOGGLE() + htop:toggle() +end + +local python = Terminal:new({ cmd = "python", hidden = true }) + +function _PYTHON_TOGGLE() + python:toggle() +end diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua new file mode 100644 index 0000000..b081ca3 --- /dev/null +++ b/lua/plugins/treesitter.lua @@ -0,0 +1,34 @@ +local status, treesitter = pcall(require, "nvim-treesitter.configs") +if (not status) then return end + +treesitter.setup { + highlight = { + enable = true, + disable = {}, + }, + indent = { + enable = true, + disable = {}, + --disable = { "python", "css" } + }, + ensure_installed = { + "c", + "bash", + "lua", + "rust", + }, + --ensure_installed = "all", -- one of "all" or a list of languages + --ignore_install = { "" }, -- List of parsers to ignore installing + autotag = { + enable = true, + }, + efactor = { + highlight_definitions = { enable = true }, + highlight_current_scope = { enable = true } + } +} +--vim.opt.foldmethod = "expr" +--vim.opt.foldexpr = "nvim_treesitter#foldexpr()" + +--local parser_config = require "nvim-treesitter.parsers".get_parser_configs() +--parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" } diff --git a/lua/plugins/web-devicons.lua b/lua/plugins/web-devicons.lua new file mode 100644 index 0000000..b8396bc --- /dev/null +++ b/lua/plugins/web-devicons.lua @@ -0,0 +1,12 @@ +local status, icons = pcall(require, "nvim-web-devicons") +if (not status) then return end + +icons.setup { + -- your personnal icons can go here (to override) + -- DevIcon will be appended to `name` + override = { + }, + -- globally enable default icons (default to false) + -- will get overriden by `get_icons` option + default = true +} diff --git a/lua/plugins/zen-mode.lua b/lua/plugins/zen-mode.lua new file mode 100644 index 0000000..7e52854 --- /dev/null +++ b/lua/plugins/zen-mode.lua @@ -0,0 +1,7 @@ +local status, zenMode = pcall(require, "zen-mode") +if (not status) then return end + +zenMode.setup { +} + +vim.keymap.set('n', 'o', 'ZenMode', { silent = true }) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 1a2994b..bc1f874 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -26,7 +26,7 @@ vim.g.mapleader = ";" --vim.g.maplocalleader = ";" -- "jj" to exit insert-mode -map("i", "jj", "") +map("i", "kk", "") -- save quickly --map("n", ";w", ":w", d("Save buffer")) @@ -40,16 +40,17 @@ map("i", "jj", "") --vim.api.nvim_set_keymap("n", "", "lua ReloadConfig()", { noremap = true, silent = false }) map("n", "", "luafile ~/.config/nvim/init.lua", print ("Nvim configuration reloaded")) --- + +map("n", "tc", ":lua require('user.utils').toggle_completion()") -- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) --vim.api.nvim_set_keymap('n', 'qr', ':lua require("plugins.telescope").reload()', { noremap = true, silent = true }) --Easier split navigations, just ctrl-j instead of ctrl-w then j ---map("n", "", "") ---map("n", "", "") ---map("n", "", "") ---map("n", "", "") +map("n", "", "") +map("n", "", "") +map("n", "", "") +map("n", "", "") -- Combine buffers list with buffer name map("n", "b", ":buffers:buffer") @@ -151,12 +152,12 @@ map("v", "p", '"_dP') -- Paste end of line --map("n", ",", "$p") -vim.cmd([[ - nmap , $p -]]) +--vim.cmd([[ +-- nmap , $p +--]]) -- Select entire buffer -map("v", "", "ggG") +--map("v", "", "ggG") -- Delete without changing the registers --map('n', 'x', '"_x') @@ -349,8 +350,8 @@ vim.cmd([[ --EasyAlign /--/ --:'<,'>Tabularize /-- -map("n", ",", ":hide") -map("n", ".", ":unhide") +--map("n", ",", ":hide") +--map("n", ".", ":unhide") --" Clean trailing whitespace --nnoremap ww mz:%s/\s\+$//:let @/=''`z diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 55b52cd..05999eb 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -43,6 +43,7 @@ packer.init({ return packer.startup(function(use) use("wbthomason/packer.nvim") -- Have packer manage itself + use("lewis6991/impatient.nvim") use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins --use("jose-elias-alvarez/null-ls.nvim") @@ -175,7 +176,7 @@ return packer.startup(function(use) -- snippets --use("L3MON4D3/LuaSnip") --snippet engine - use({"L3MON4D3/LuaSnip", tag = "v.*"}) + use("L3MON4D3/LuaSnip") use("rafamadriz/friendly-snippets") -- a bunch of snippets to use --use("github/copilot.vim") --use({ @@ -302,7 +303,7 @@ return packer.startup(function(use) -- Utilities use("nathom/filetype.nvim") - --use("christoomey/vim-tmux-navigator") + use("christoomey/vim-tmux-navigator") --use("preservim/vimux") use("myusuf3/numbers.vim") use("windwp/nvim-autopairs") @@ -310,20 +311,30 @@ return packer.startup(function(use) use("dinhhuy258/git.nvim") -- For git blame & browse use("kyazdani42/nvim-tree.lua") use("numToStr/Comment.nvim") - use("akinsho/toggleterm.nvim") + --use("akinsho/toggleterm.nvim") --use("godlygeek/tabular") --use("Vonr/align.nvim") --use("junegunn/vim-easy-align") --use("dstein64/vim-startuptime") use("tweekmonster/startuptime.vim") - use("lewis6991/impatient.nvim") -- use("luukvbaal/stabilize.nvim") - --use({ - -- "ggandor/leap.nvim", - -- config = function() - -- require("leap").set_default_keymaps() - -- end, - --}) + --use("rhysd/clever-f.vim") + --use("ggandor/lightspeed.nvim") -- use 'cl' and 'cc' instead of 's' and 'S' respectively + --use("ggandor/leap.nvim") + use({ + "ggandor/leap.nvim", + config = function() + require("leap").set_default_keymaps() + --vim.keymap.set('n', '-', '(leap-forward)', {}) + --vim.keymap.set('n', '_', '(leap-backward)', {}) + end, + }) + use({ "ggandor/flit.nvim", + config = function() + require("flit").setup() + end, + }) + --use("Shatur/neovim-session-manager") --use("rmagatti/auto-session") --use("rmagatti/session-lens") diff --git a/lua/user/utils.lua b/lua/user/utils.lua index ab1473f..3c6f89e 100644 --- a/lua/user/utils.lua +++ b/lua/user/utils.lua @@ -31,6 +31,35 @@ function M.may_create_dir(dir) end end +-- toggle cmp completion +vim.g.cmp_toggle_flag = false -- initialize +local normal_buftype = function() + return vim.api.nvim_buf_get_option(0, "buftype") ~= "prompt" +end +M.toggle_completion = function() + local ok, cmp = pcall(require, "cmp") + if ok then + local next_cmp_toggle_flag = not vim.g.cmp_toggle_flag + if next_cmp_toggle_flag then + print("completion on") + else + print("completion off") + end + cmp.setup({ + enabled = function() + vim.g.cmp_toggle_flag = next_cmp_toggle_flag + if next_cmp_toggle_flag then + return normal_buftype + else + return next_cmp_toggle_flag + end + end, + }) + else + print("completion not available") + end +end + function M.get_nvim_version() local actual_ver = vim.version() @@ -38,25 +67,6 @@ function M.get_nvim_version() return nvim_ver_str end ---- Generate random integers in the range [Low, High], inclusive, ---- adapted from https://stackoverflow.com/a/12739441/6064933 ---- @low: the lower value for this range ---- @high: the upper value for this range -function M.rand_int(low, high) - -- Use lua to generate random int, see also: https://stackoverflow.com/a/20157671/6064933 - math.randomseed(os.time()) - - return math.random(low, high) -end - ---- Select a random element from a sequence/list. ---- @seq: the sequence to choose an element -function M.rand_element(seq) - local idx = M.rand_int(1, #seq) - - return seq[idx] -end - function M.add_pack(name) local status, error = pcall(vim.cmd, "packadd " .. name) diff --git a/snippets/boilerplate.lua b/snippets/boilerplate.lua new file mode 100644 index 0000000..04e973a --- /dev/null +++ b/snippets/boilerplate.lua @@ -0,0 +1,75 @@ +local ls = require("luasnip") --{{{ +local s = ls.s +local i = ls.i +local t = ls.t + +local d = ls.dynamic_node +local c = ls.choice_node +local f = ls.function_node +local sn = ls.snippet_node + +local fmt = require("luasnip.extras.fmt").fmt +local rep = require("luasnip.extras").rep + +local snippets, autosnippets = {}, {} --}}} + +local group = vim.api.nvim_create_augroup("Lua Snippets", { clear = true }) +local file_pattern = "*.lua" + +local function cs(trigger, nodes, opts) --{{{ + local snippet = s(trigger, nodes) + local target_table = snippets + + local pattern = file_pattern + local keymaps = {} + + if opts ~= nil then + -- check for custom pattern + if opts.pattern then + pattern = opts.pattern + end + + -- if opts is a string + if type(opts) == "string" then + if opts == "auto" then + target_table = autosnippets + else + table.insert(keymaps, { "i", opts }) + end + end + + -- if opts is a table + if opts ~= nil and type(opts) == "table" then + for _, keymap in ipairs(opts) do + if type(keymap) == "string" then + table.insert(keymaps, { "i", keymap }) + else + table.insert(keymaps, keymap) + end + end + end + + -- set autocmd for each keymap + if opts ~= "auto" then + for _, keymap in ipairs(keymaps) do + vim.api.nvim_create_autocmd("BufEnter", { + pattern = pattern, + group = group, + callback = function() + vim.keymap.set(keymap[1], keymap[2], function() + ls.snip_expand(snippet) + end, { noremap = true, silent = true, buffer = true }) + end, + }) + end + end + end + + table.insert(target_table, snippet) -- insert snippet into appropriate table +end --}}} + +-- Start Refactoring -- + +-- End Refactoring -- + +return snippets, autosnippets diff --git a/snippets/lua.lua b/snippets/lua.lua new file mode 100644 index 0000000..00ccd31 --- /dev/null +++ b/snippets/lua.lua @@ -0,0 +1,257 @@ + +local ls = require("luasnip") --{{{ +local s = ls.s --> snippet +local i = ls.i --> insert node +local t = ls.t --> text node + +local d = ls.dynamic_node +local c = ls.choice_node --> takes in a pos as first arg and a table of nodes +local f = ls.function_node +local sn = ls.snippet_node + +local fmt = require("luasnip.extras.fmt").fmt +local rep = require("luasnip.extras").rep + +local snippets, autosnippets = {}, {} --}}} + +local group = vim.api.nvim_create_augroup("Lua Snippets", { clear = true }) +local file_pattern = "*.lua" + +local function cs(trigger, nodes, opts) --{{{ + local snippet = s(trigger, nodes) + local target_table = snippets + + local pattern = file_pattern + local keymaps = {} + + if opts ~= nil then + -- check for custom pattern + if opts.pattern then + pattern = opts.pattern + end + + -- if opts is a string + if type(opts) == "string" then + if opts == "auto" then + target_table = autosnippets + else + table.insert(keymaps, { "i", opts }) + end + end + + -- if opts is a table + if opts ~= nil and type(opts) == "table" then + for _, keymap in ipairs(opts) do + if type(keymap) == "string" then + table.insert(keymaps, { "i", keymap }) + else + table.insert(keymaps, keymap) + end + end + end + + -- set autocmd for each keymap + if opts ~= "auto" then + for _, keymap in ipairs(keymaps) do + vim.api.nvim_create_autocmd("BufEnter", { + pattern = pattern, + group = group, + callback = function() + vim.keymap.set(keymap[1], keymap[2], function() + ls.snip_expand(snippet) + end, { noremap = true, silent = true, buffer = true }) + end, + }) + end + end + end + + table.insert(target_table, snippet) -- insert snippet into appropriate table +end --}}} + +-- Start Refactoring -- + +cs("CMD", { -- [CMD] multiline vim.cmd{{{ + t({ "vim.cmd[[", " " }), + i(1, ""), + t({ "", "]]" }), +}) --}}} +cs("cmd", fmt("vim.cmd[[{}]]", { i(1, "") })) -- single line vim.cmd +cs({ -- github import for packer{{{ + trig = "https://github%.com/([%w-%._]+)/([%w-%._]+)!", + regTrig = true, + hidden = true, +}, { + t([[use "]]), + f(function(_, snip) + return snip.captures[1] + end), + t("/"), + f(function(_, snip) + return snip.captures[2] + end), + t({ [["]], "" }), + i(1, ""), +}, "auto") --}}} + +cs( -- {regexSnippet} LuaSnippet{{{ + "regexSnippet", + fmt( + [=[ +cs( -- {} +{{ trig = "{}", regTrig = true, hidden = true }}, fmt([[ +{} +]], {{ + {} +}})) + ]=], + { + i(1, "Description"), + i(2, ""), + i(3, ""), + i(4, ""), + } + ), + { pattern = "*/snippets/*.lua", "" } +) --}}} +cs( -- [luaSnippet] LuaSnippet{{{ + "luaSnippet", + fmt( + [=[ +cs("{}", fmt( -- {} +[[ +{} +]], {{ + {} + }}){}) + ]=], + { + i(1, ""), + i(2, "Description"), + i(3, ""), + i(4, ""), + c(5, { + t(""), + fmt([[, "{}"]], { i(1, "keymap") }), + fmt([[, {{ pattern = "{}", {} }}]], { i(1, "*/snippets/*.lua"), i(2, "keymap") }), + }), + } + ), + { pattern = "*/snippets/*.lua", "jcs" } +) --}}} + +cs( -- choice_node_snippet luaSnip choice node{{{ + "choice_node_snippet", + fmt( + [[ +c({}, {{ {} }}), +]], + { + i(1, ""), + i(2, ""), + } + ), + { pattern = "*/snippets/*.lua", "jcn" } +) --}}} + +cs( -- [function] Lua function snippet{{{ + "function", + fmt( + [[ +function {}({}) + {} +end +]], + { + i(1, ""), + i(2, ""), + i(3, ""), + } + ), + "jff" +) --}}} +cs( -- [local_function] Lua function snippet{{{ + "local_function", + fmt( + [[ +local function {}({}) + {} +end +]], + { + i(1, ""), + i(2, ""), + i(3, ""), + } + ), + "jlf" +) --}}} +cs( -- [local] Lua local variable snippet{{{ + "local", + fmt( + [[ +local {} = {} + ]], + { i(1, ""), i(2, "") } + ), + "jj" +) --}}} +-- Tutorial Snippets go here -- +local myFirstSnippet = s("myFirstSnippet", { + t("Hi! This is my first snippet in Luasnip "), + i(1, "placeholder"), + t({"", "this is another text node", ""}), + i(2, "put here"), +}) +table.insert(snippets, myFirstSnippet) + + + +local mySecondSnippet = s( + "mySecondSnippet", + fmt( + [[ + local {} = function({}) + {} {{ im in a curly braces }} + end {} + ]], + { + i(1, "myVar"), + c(2, { t(""), i(1, "myArg") }), + i(3, "-- TODO: something"), + i(4, "-- nice") + } + ) +) +table.insert(snippets, mySecondSnippet) + +local myFirstAutoSnippet = s("automatic", { t("This was auto triggered") }) +table.insert(autosnippets, myFirstAutoSnippet) + +local mySecondAutoSnippet = s({ trig = "normal", regTrig = true }, { t("This was auto triggered") }) +table.insert(autosnippets, mySecondAutoSnippet) + + + + + + + + +-- End Refactoring -- + +return snippets, autosnippets + + + + + + + + + + + + + + diff --git a/snippets/markdown.lua b/snippets/markdown.lua new file mode 100644 index 0000000..d0d1487 --- /dev/null +++ b/snippets/markdown.lua @@ -0,0 +1,58 @@ +local ls = require("luasnip") +local s = ls.s +local i = ls.i +local t = ls.t + +local d = ls.dynamic_node +local c = ls.choice_node +local f = ls.function_node +local sn = ls.snippet_node + +local fmt = require("luasnip.extras.fmt").fmt +local rep = require("luasnip.extras").rep + +-- -- + +local snippets = {} +local autosnippets = {} + +local autocmd = vim.api.nvim_create_autocmd +local augroup = vim.api.nvim_create_augroup +local map = vim.keymap.set +local opts = { noremap = true, silent = true, buffer = true } +local group = augroup("Markdown Snippets", { clear = true }) + +local function cs(trigger, nodes, keymap) --> cs stands for create snippet + local snippet = s(trigger, nodes) + table.insert(snippets, snippet) + + if keymap ~= nil then + local pattern = "*.md" + if type(keymap) == "table" then + pattern = keymap[1] + keymap = keymap[2] + end + autocmd("BufEnter", { + pattern = pattern, + group = group, + callback = function() + map({ "i" }, keymap, function() + ls.snip_expand(snippet) + end, opts) + end, + }) + end +end + +local function lp(package_name) -- Load Package Function + package.loaded[package_name] = nil + return require(package_name) +end + +-- Utility Functions -- + +-- Start Refactoring -- + +-- Start Refactoring -- + +return snippets, autosnippets -- cgit v1.2.3 From 463a9cef8349bbfd2ebf77f60a6a82799271021a Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 25 Oct 2022 23:58:39 +0200 Subject: Redone file and enabled reloading --- init.lua | 191 +++++++++++++++++++++++++-------------------------------------- 1 file changed, 77 insertions(+), 114 deletions(-) diff --git a/init.lua b/init.lua index 0e875c2..83b795b 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,19 @@ +--[[ + ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ + ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ + ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ + ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ + ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ + ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ + " ------------------------------------------------ + Author: srdusr + Email: graytrevor98@gmail.com + Url: https://github.com/srdusr/nvim.git + ------------------------------------------------ " +--]] + --[[init.]] + -- ========================================================================== -- -- == DEPENDENCIES == -- -- ========================================================================== -- @@ -9,140 +24,82 @@ -- make - https://www.gnu.org/software/make/ -- c compiler - gcc or tcc or zig +-- -------------------------------------------------------------------------- -- + -- Initialize config with this one liner in the terminal --nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit' --- ---local impatient_ok, impatient = pcall(require, "impatient") ---if impatient_ok then --- impatient.enable_profile() ---end + +-- See startup time +--nvim --startuptime startup.log -c exit && tail -100 startup.log + +local impatient_ok, impatient = pcall(require, "impatient") +if impatient_ok then + impatient.enable_profile() +end + --local stdpath = vim.fn.stdpath -local api = vim.api local utils = require("user.utils") vim.g.snippets = "luasnip" + -- check if we have the latest stable version of nvim local expected_ver = "0.8.0" local nvim_ver = utils.get_nvim_version() if nvim_ver ~= expected_ver then local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) - api.nvim_err_writeln(msg) +vim.api.nvim_err_writeln(msg) return end --- schedule reading shadafile to improve the startup time + +-- Schedule reading shadafile to improve the startup time vim.opt.shadafile = "NONE" vim.schedule(function() vim.opt.shadafile = "" vim.cmd("silent! rsh") end) + -- IMPORTS -require("impatient") - ---for k, v in pairs(package.loaded) do ---for k in pairs(package.loaded) do --- if string.match(k, "^user") then --- package.loaded[k] = nil --- end ---end - ---for k, v in pairs(package.loaded) do --- if string.match(k, "^user" ) then --- package.loaded[k] = nil --- else string.match(v, "^plugins" ) --- package.loaded[v] = nil --- end ---end -require("user.utils") -require("user.keys") -- Keymaps -require("user.opts") -- Options -require("user.pack") -- Plugins ---require("user.reload") ---requirdkfse("mods") -- Modules/functions ---requirdkfe("deps") -- Plugins -require("plugins.treesitter") -require("plugins.telescope") -require("plugins.nvim-tree") ---requirdfke("scripts") -require("plugins.cmp") -require("plugins.luasnip") ---require("plugins.toggleterm") ---requirdfe("plugins.floatterm") -require("plugins.autopairs") ---requirdfe("plugins.vimspector") ---requirdfe("plugins.mason") ---requirdfe("plugins.dap") -require("plugins.colorizer") -require("plugins.prettier") -require("plugins.git") -require("plugins.gitsigns") -require("plugins.neoscroll") -require("plugins.lsp") ---requirdfe("plugins.lspconfig") ---requirdfe("plugins.lspsaga") ---requirdfe("plugins.lspkind") -require("plugins.null-ls") -require("plugins.web-devicons") -require("plugins.zen-mode") -require("plugins.colorscheme") ---requirdfe("plugins.lsp-colors") ---vim.opt.laststatus = 3 - -require("plugins.heirline") - ---vim.api.nvim_command("luafile '/home/sxrdusr/.config/nvim/lua/plugins/heirline.lua'") ---vim.api.nvim_command(':luafile ~/.config/nvim/lua/plugins/heirline.lua') ----- Hide statusline by setting laststatus and cmdheight to 0. ---vim.o.ls = 0 ---vim.o.ch = 0 --- ----- Set the winbar to the statusline. ---vim.o.wbr = vim.o.stl --- ----- With vertical splits, the statusline would still show up at the ----- bottom of the split. A quick fix is to just set the statusline ----- to empty whitespace (it can't be an empty string because then ----- it'll get replaced by the default stline). ---vim.o.stl = " " - ---for builtin, status in pairs({ --- ["2html_plugin"] = 1, --- ["getscript"] = 1, --- ["getscriptPlugin"] = 1, --- ["gzip"] = 1, --- ["logipat"] = 1, --- ["netrwPlugin"] = 1, --- ["tar"] = 1, --- ["tarPlugin"] = 1, --- ["rrhelper"] = 1, --- ["vimball"] = 1, --- ["vimballPlugin"] = 1, --- ["zip"] = 1, --- ["zipPlugin"] = 1, --- ["tutor_mode_plugin"] = 1, --- ["fzf"] = 1, --- ["spellfile_plugin"] = 1, --- ["sleuth"] = 1, ---}) do --- vim.g["loaded_" .. builtin] = status ---end - - ---local core_conf_files = { --- "globals.lua", -- some global settings --- "options.vim", -- setting options in nvim --- "autocommands.vim", -- various autocommands --- "mappings.lua", -- all the user-defined mappings --- "plugins.vim", -- all the plugins installed and their configurations --- "colorschemes.lua", -- colorscheme settings ---} --- ----- source all the core config files ---for _, name in ipairs(core_conf_files) do --- local path = string.format("%s/core/%s", vim.fn.stdpath("config"), name) --- local source_cmd = "source " .. path --- vim.cmd(source_cmd) ---end +--require("impatient") + +-- Load/reload modules here +local modules = { + "user.pack", -- Packer plugin manager + "user.opts", -- Options + "user.keys", -- Keymaps + "user.utils", -- Utilities + --"user.mods", -- Modules/functions + --"user.deps", -- Plugins + --"user.scripts", + "plugins.treesitter", + "plugins.telescope", + "plugins.nvim-tree", + "plugins.cmp", + "plugins.luasnip", + "plugins.colorizer", + "plugins.prettier", + "plugins.git", + "plugins.gitsigns", + "plugins.neoscroll", + "plugins.lsp", + "plugins.autopairs", + "plugins.null-ls", + "plugins.web-devicons", + "plugins.zen-mode", + "plugins.colorscheme", + "plugins.heirline", + --"plugins.dap", + --"plugins.toggleterm", + --"plugins.floatterm", + vim.notify("Nvim configuration reloaded!") -- print this when reloaded +} +-- Refresh module cache +for k, v in pairs(modules) do + package.loaded[v] = nil + require(v) +end + +-- Improve speed by disabling some default plugins/modules local builtins = { "gzip", "zip", @@ -162,6 +119,10 @@ local builtins = { "netrwPlugin", "netrwSettings", "netrwFileHandlers", + "tutor_mode_plugin", + "fzf", + "spellfile_plugin", + "sleuth", } for _, plugin in ipairs(builtins) do @@ -169,3 +130,5 @@ for _, plugin in ipairs(builtins) do end vim.g.do_filetype_nvim = 1 vim.g.did_load_filetypes = 0 + + -- cgit v1.2.3 From 7f30d31c9142bbeb10a21b4de9f58bc6d3a0a3f1 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 26 Oct 2022 00:00:35 +0200 Subject: Removed unnecessary files --- lua/plugins/colorscheme.lua | 2 +- lua/plugins/linecolor.lua | 112 -------- lua/plugins/lsp-colors.lua | 9 - lua/plugins/lspkind.lua | 47 ---- lua/plugins/lspsaga-22.10.23-13:08-bak.lua | 145 ---------- lua/plugins/lspsaga.lua | 46 ---- lua/plugins/lualine.lua | 423 ----------------------------- lua/plugins/luasnip-22.10.23-12:54-bak.lua | 161 ----------- lua/plugins/toggleterm.lua | 90 ------ lua/user/colorscheme.lua | 5 +- lua/user/keys.lua | 69 ++++- lua/user/opts.lua | 68 ++++- lua/user/reload.lua | 8 +- lua/user/utils.lua | 9 + snippets/lua.lua | 9 +- 15 files changed, 152 insertions(+), 1051 deletions(-) delete mode 100644 lua/plugins/linecolor.lua delete mode 100644 lua/plugins/lsp-colors.lua delete mode 100644 lua/plugins/lspkind.lua delete mode 100644 lua/plugins/lspsaga-22.10.23-13:08-bak.lua delete mode 100644 lua/plugins/lspsaga.lua delete mode 100644 lua/plugins/lualine.lua delete mode 100644 lua/plugins/luasnip-22.10.23-12:54-bak.lua delete mode 100644 lua/plugins/toggleterm.lua diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 3ded54c..dc0145d 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,6 +1,6 @@ -- Colorscheme -- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "doom-one" +local colorscheme = "onedark" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then vim.notify("colorscheme " .. colorscheme .. " not found!") diff --git a/lua/plugins/linecolor.lua b/lua/plugins/linecolor.lua deleted file mode 100644 index 37550dd..0000000 --- a/lua/plugins/linecolor.lua +++ /dev/null @@ -1,112 +0,0 @@ ---local M = {} ---M.theme = function() --- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future --- local colors = { --- nobg = nil, --- blue = "#87b0f9", --- mauve = "#cba6f7", --- red = "#f38ba8", --- green = "#a6e3a1", --- peach = "#fab387", --- white = "#c6d0f5", --- gray = "#a1a8c9", --- black = "#1e1e2e", --- } --- return { --- inactive = { --- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, --- b = { fg = colors.white, bg = colors.black }, --- c = { fg = colors.gray, bg = colors.nobg }, --- }, --- visual = { --- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, --- b = { fg = colors.mauve, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- replace = { --- a = { fg = colors.black, bg = colors.red, gui = "bold" }, --- b = { fg = colors.red, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- normal = { --- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, --- b = { fg = colors.black, bg = colors.green }, --- c = { fg = colors.white, bg = colors.black }, --- }, --- insert = { --- a = { fg = colors.black, bg = colors.green, gui = "bold" }, --- b = { fg = colors.teal, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- command = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- modified = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.peach }, --- c = { fg = colors.white, bg = colors.peach }, --- }, --- } ---end ---return M -local M = {} -M.theme = function() - --local colors = { - -- darkgray = "#16161d", - -- gray = "#727169", - -- innerbg = nil, - -- outerbg = "#16161D", - -- normal = "#7e9cd8", - -- insert = "#98bb6c", - -- visual = "#ffa066", - -- replace = "#e46876", - -- command = "#e6c384", - --} - local colors = { - darkgray = "#16161d", - gray = "#727169", - innerbg = nil, - outerbg = "#16161D", - normal = "#39BAE6", - insert = "#AAD94C", - visual = "#FA8D3F", - replace = "#F07171", - command = "#F2AE49", - } - return { - inactive = { - a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - visual = { - a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - replace = { - a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - normal = { - a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - y = { fg = colors.gray, bg = colors.outerbg }, - }, - insert = { - a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - command = { - a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - } -end -return M diff --git a/lua/plugins/lsp-colors.lua b/lua/plugins/lsp-colors.lua deleted file mode 100644 index 1398123..0000000 --- a/lua/plugins/lsp-colors.lua +++ /dev/null @@ -1,9 +0,0 @@ -local status, colors = pcall(require, "lsp-colors") -if (not status) then return end - -colors.setup { - Error = "#db4b4b", - Warning = "#e0af68", - Information = "#0db9d7", - Hint = "#10B981" -} diff --git a/lua/plugins/lspkind.lua b/lua/plugins/lspkind.lua deleted file mode 100644 index 72ca5c2..0000000 --- a/lua/plugins/lspkind.lua +++ /dev/null @@ -1,47 +0,0 @@ -local status, lspkind = pcall(require, "lspkind") -if (not status) then return end - -lspkind.init({ - -- enables text annotations - -- - -- default: true - mode = 'symbol', - - -- default symbol map - -- can be either 'default' (requires nerd-fonts font) or - -- 'codicons' for codicon preset (requires vscode-codicons font) - -- - -- default: 'default' - preset = 'codicons', - - -- override preset symbols - -- - -- default: {} - symbol_map = { - Text = "", - Method = "", - Function = "", - Constructor = "", - Field = "ﰠ", - Variable = "", - Class = "ﴯ", - Interface = "", - Module = "", - Property = "ﰠ", - Unit = "塞", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "פּ", - Event = "", - Operator = "", - TypeParameter = "" - }, -}) diff --git a/lua/plugins/lspsaga-22.10.23-13:08-bak.lua b/lua/plugins/lspsaga-22.10.23-13:08-bak.lua deleted file mode 100644 index 0bf1ec7..0000000 --- a/lua/plugins/lspsaga-22.10.23-13:08-bak.lua +++ /dev/null @@ -1,145 +0,0 @@ -require "lspsaga".init_lsp_saga { - -- "single" | "double" | "rounded" | "bold" | "plus" - border_style = "rounded", - --border_style = "single", - saga_winblend = 30, - move_in_saga = { next = '', prev = '' }, - --move_in_saga = { prev = "k", next = "j" }, - scroll_in_preview = { - scroll_down = "", - scroll_up = "", - }, - diagnostic_header = { " ", " ", " ", " " }, - -- add bracket or something with diagnostic source, just have 2 elements - -- use emoji lightbulb in default - code_action_icon = "", - --code_action_icon = "ﯦ ", - -- if true can press number to execute the codeaction in codeaction window - code_action_num_shortcut = true, - -- same as nvim-lightbulb but async - code_action_lightbulb = { - enable = false, - sign = false, - sign_priority = 20, -- - virtual_text = false, - }, - finder_icons = { - def = " ", - ref = " ", - link = " ", - }, - -- preview lines of lsp_finder and definition preview - max_preview_lines = 5, - definition_action_keys = { - edit = '', - vsplit = '', - split = '', - tabe = '', - quit = '', - }, - -- definition_preview_quit = '', - -- finder_preview_hl_ns = 8, - finder_action_keys = { - open = { 'o', '' }, - vsplit = "v", - split = "s", - tabe = "t", - quit = "", - scroll_down = "", - scroll_up = "", -- quit can be a table - }, - code_action_keys = { - quit = "", - exec = "", - }, - rename_action_quit = "", - rename_in_select = true, - symbol_in_winbar = { - enable = true, - --in_custom = false, - in_custom = true, - separator = '  ', - --show_file = false, - show_file = true, - click_support = false, - --click_support = false, - }, - --show_outline = { - -- win_position = 'right', - -- --set special filetype win that outline window split.like NvimTree neotree - -- -- defx, db_ui - -- min_with = '', - -- win_width = 40, - -- auto_enter = false, - -- auto_preview = true, - -- virt_text = 'x', - -- jump_key = 'l', - -- -- auto refresh when change buffer - -- auto_refresh = true, - --}, - custom_kind = { - File = { " " }, - Module = { " " }, - Namespace = { "ﱕ " }, - Package = { " " }, - Class = { "ﴯ " }, - Method = { "" }, - Property = { "ﰠ " }, - Field = { "ﰠ " }, - Constructor = { " " }, - Enum = { " " }, - Interface = { " " }, - Function = { " " }, - Variable = { " " }, - Constant = { " " }, - String = { " " }, - Number = { " " }, - Boolean = { " " }, - Array = { " " }, - Object = { " " }, - Key = { "- " }, - Null = { " " }, - EnumMember = { " " }, - Struct = { " " }, - Event = { " " }, - Operator = { " " }, - TypeParameter = { " " }, - TypeAlias = { " " }, - Parameter = { " " }, - StaticMethod = { " " }, - Macro = { "廓" }, - }, -} - - -- Mappings. -local map = vim.api.nvim_set_keymap -local opts = { noremap = true, silent = true } - -map("n", "gd", "Lspsaga peek_definition", opts) ---map("n", "gp", "Lspsaga peek_definition", opts) -map("n", "gi", "Lspsaga lsp_finder", opts) -map("n", "gh", "Lspsaga hover_doc", opts) -map("n", "gs", "Lspsaga signature_help", opts) -map("n", "ga", "Lspsaga code_action", opts) -map("v", "ga", "Lspsaga range_code_action", opts) -map("n", "gl", "Lspsaga show_line_diagnostics", opts) ---map("n", "go", "Lspsaga open_floaterm zsh", opts) -map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) -map("n", "", "Lspsaga rename", opts) -map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) -map("n", "gj", "Lspsaga diagnostic_jump_next", opts) -map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) -map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) -map("t", "", "Lspsaga close_floaterm", opts) - ---vim.api.nvim_command("highlight LspFloatWinNormal guibg=none ") ---hi LspFloatWinNormal guibg=none - - --- vim.api.nvim_create_autocmd("BufEnter", { --- callback = function () --- if #vim.api.nvim_list_wins() == 1 and vim.bo.filetype == "lspsagaoutline" then --- vim.cmd "quit" --- end --- end --- }) diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua deleted file mode 100644 index 4161ce9..0000000 --- a/lua/plugins/lspsaga.lua +++ /dev/null @@ -1,46 +0,0 @@ -return function() - local saga = require "lspsaga" - - saga.init_lsp_saga { - use_saga_diagnostic_sign = false, - finder_action_keys = { - vsplit = "v", - split = "s", - quit = { "q", "" }, - }, - code_action_icon = "💡", - code_action_prompt = { - enable = false, - sign = false, - virtual_text = false, - }, - } - - require("as.highlights").highlight("LspSagaLightbulb", { guifg = "NONE", guibg = "NONE" }) - --- as.vnoremap("ca", ":lua require('lspsaga.codeaction').range_code_action()") --- as.inoremap("", "lua require('lspsaga.signaturehelp').signature_help()") --- as.nnoremap("K", "lua require('lspsaga.hover').render_hover_doc()") --- -- scroll down hover doc --- as.nnoremap("", "lua require('lspsaga.action').smart_scroll_with_saga(1)") --- -- scroll up hover doc --- as.nnoremap("", "lua require('lspsaga.action').smart_scroll_with_saga(-1)") - - require("which-key").register { - ["rn"] = { require("lspsaga.rename").rename, "lsp: rename" }, - ["ca"] = { require("lspsaga.codeaction").code_action, "lsp: code action" }, - ["gp"] = { require("lspsaga.provider").preview_definition, "lsp: preview definition" }, - ["gh"] = { require("lspsaga.provider").lsp_finder, "lsp: finder" }, - -- jump diagnostic - ["]c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_prev, "lsp: previous diagnostic" }, - ["[c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_next, "lsp: next diagnostic" }, - } - - -- augroup("LspSagaCursorCommands", { - -- { - -- events = { "CursorHold" }, - -- targets = { "*" }, - -- command = "lua require('lspsaga.diagnostic').show_cursor_diagnostics()", - -- }, - -- }) -end diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua deleted file mode 100644 index 9d86e21..0000000 --- a/lua/plugins/lualine.lua +++ /dev/null @@ -1,423 +0,0 @@ -local lualine_status_ok, lualine = pcall(require, "lualine") -if not lualine_status_ok then - print("lualine.nvim is etiher broken or is not installed.") - return -end - ---local colors = require('tokyonight.colors').setup() ---local colors = { ---bg_dark = "#1f2335", ---bg = "#24283b", ---fg = "#c0caf5", ---fg_gutter = "#3b4261", ---green = "#a6e3a1", ---red = "#f38ba8", ---} - ---local colors = { --- gray = '#23232e', --- lightgray = '#5f6a8e', --- orange = '#ffb86c', --- purple = '#bd93f9', --- red = '#ff5555', --- yellow = '#f1fa8c', --- green = '#50fa7b', --- white = '#f8f8f2', --- black = '#282a36', ---} -local colors = { - nobg = nil, - blue = "#87b0f9", - mauve = "#cba6f7", - red = "#f38ba8", - green = "#a6e3a1", - peach = "#fab387", - white = "#c6d0f5", - gray = "#a1a8c9", - black = "#1e1e2e", - innerbg = nil, - outerbg = "#16161D", -} ---require("lualine").setup({ --- Your lua part of config goes here -require("lualine").setup({ - options = { - icons_enabled = true, - --theme = "auto", - theme = require("plugins.linecolor").theme(), - --theme = { - -- We are going to use lualine_c an lualine_x as left and - -- right section. Both are highlighte by c theme . So we - -- are just setting default looks o statusline - --normal = { c = { fg = colors.fg, bg = colors.bg } }, - --inactive = { c = { fg = colors.fg, bg = colors.bg } }, - --}, - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - --component_separators = { left = '|', right = '|'}, - --section_separators = { left = '', right = ''}, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - globalstatus = true, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - }, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { - "branch", - { - "diff", - colored = true, - diff_color = { - added = "DiffAdd", - modified = "DiffChange", - removed = "DiffDelete", - }, - }, - { - "diagnostics", - - sources = { "nvim_lsp" }, - sections = { "error", "warn", "info" }, - - diagnostics_color = { - error = "DiagnosticError", - warn = "DiagnosticWarn", - info = "DiagnosticInfo", - }, - colored = true, - update_in_insert = false, - always_visible = false, - }, - }, - --lualine_b = { "branch", "diff", "diagnostics" }, - lualine_c = { - --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, - --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, - --{ "filetype", - -- icon_only = true, - --}, - { - "filename", - --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, - --component_separators = {left = "", right = ""}, - }, - }, - lualine_x = { "encoding", "fileformat", "filetype" }, - --lualine_x = { - -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - --}, - lualine_y = { "progress" }, - lualine_z = { "location" }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - -- tabline = {}, - tabline = { - --lualine_a = { "mode" }, - --lualine_a = {custom_fname}, - lualine_a = { - { - "buffers", - show_filename_only = false, - show_modified_status = true, - mode = 4, - buffers_color = { - active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer - --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer - --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer - --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer - ----color = function() - ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } - ----end, - }, - symbols = { - modified = " ●", -- Text to show when the buffer is modified - alternate_file = "", -- Text to show to identify the alternate file - --directory = "", -- Text to show when the buffer is a directory - }, - max_length = vim.o.columns * 5 / 6, - --{{function() - -- local bg = 'hi! lualine_buffers_color' -- not modified - -- if vim.bo.modified then bg = '#c70039' -- unsaved - -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly - -- vim.cmd('hi! lualine_buffers_color guibg='..bg) - --end, - --color = 'hi! lualine_buffers_color', - --}}, - }, - }, - lualine_b = {}, - lualine_c = {}, - lualine_x = {}, - lualine_y = {}, - lualine_z = {}, - --lualine_z = { "tabs" }, - }, - --tabline = { - -- lualine_a = { "mode" }, - -- lualine_b = { "buffers" }, - -- lualine_c = { "branch" }, - -- --lualine_c = { "branch", "diff", "diagnostics" }, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = { "tabs" }, - --}, - --winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {'filename'}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - --inactive_winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - winbar = {}, - inactive_winbar = {}, - --extensions = {}, - extensions = { "quickfix" }, -}) ---require("lualine").statusline() ---require("lualine").tabline() ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local lualine_status_ok, lualine = pcall(require, "lualine") ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local utils = require("heirline.utils") - ---local M = {} - --- stylua: ignore start ---M.colours = {--{{{ ----- Color table for highlights ----- stylua: ignore ---local colors = { --- bg = '#2E3440', --- fg = '#E5E9F0', --- yellow = '#EBCB8B', --- cyan = '#88C0D0', --- darkblue = '#5E81AC', --- green = '#A3BE8C', --- orange = '#D08770', --- violet = '#B48EAD', --- magenta = '#B48EAD', --- blue = '#81A1C1', --- red = '#BF616A', ---} --- ---local conditions = { --- buffer_not_empty = function() --- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 --- end, --- hide_in_width = function() --- return vim.fn.winwidth(0) > 80 --- end, --- check_git_workspace = function() --- local filepath = vim.fn.expand("%:p:h") --- local gitdir = vim.fn.finddir(".git", filepath .. ";") --- return gitdir and #gitdir > 0 and #gitdir < #filepath --- end, ---} - --- Config ---local config = { ---require('lualine').setup { --- options = { --- -- Disable sections and component separators --- component_separators = "", --- section_separators = "", --- theme = { --- -- We are going to use lualine_c an lualine_x as left and --- -- right section. Both are highlighte by c theme . So we --- -- are just setting default looks o statusline --- normal = { c = { fg = colors.fg, bg = colors.bg } }, --- inactive = { c = { fg = colors.fg, bg = colors.bg } }, --- }, --- disabled_filetypes = { "NvimTree" }, --- }, --- sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- -- These will be filled later --- lualine_c = {}, --- lualine_x = {}, --- }, --- inactive_sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- lualine_c = {}, --- lualine_x = {}, --- }, ---} --- ----- Inserts a component in lualine_c at left section ---local function ins_left(component) --- table.insert(lualine.sections.lualine_c, component) ---end --- ----- Inserts a component in lualine_x ot right section ---local function ins_right(component) --- table.insert(lualine.sections.lualine_x, component) ---end --- ---ins_left({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, -- Sets highlighting of component --- padding = { left = 0, right = 1 }, -- We don't need space before this ---}) --- ---ins_left({ --- -- mode component --- function() --- return "" --- end, --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.blue, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- -- mode component --- "mode", --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.red, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- "branch", --- icon = "", --- color = { fg = colors.violet, gui = "bold" }, ---}) --- ---ins_left({ --- "filename", --- cond = conditions.buffer_not_empty, --- color = { fg = colors.aqua, gui = "bold" }, ---}) --- ---ins_left({ --- -- filesize component --- "filesize", --- cond = conditions.buffer_not_empty, ---}) --- ----- Add components to right sections ---ins_right({ --- "o:encoding", -- option component same as &encoding in viml --- fmt = string.lower, -- I'm not sure why it's upper case either ;) --- cond = conditions.hide_in_width, --- color = { fg = colors.yellow }, ---}) --- ---ins_right({ --- "fileformat", --- fmt = string.upper, --- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh --- color = { fg = colors.fg, gui = "bold" }, ---}) --- ---ins_right({ --- "filetype", ---}) --- ---ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) --- ---ins_right({ --- "location", ---}) --- ---ins_right({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, --- padding = { left = 1 }, ---}) ---return M --- Now don't forget to initialize lualine ---require("lualine").setup(config) ---require"lualine".setup(config) ---lualine.setup(config) diff --git a/lua/plugins/luasnip-22.10.23-12:54-bak.lua b/lua/plugins/luasnip-22.10.23-12:54-bak.lua deleted file mode 100644 index 08f49ee..0000000 --- a/lua/plugins/luasnip-22.10.23-12:54-bak.lua +++ /dev/null @@ -1,161 +0,0 @@ -if vim.g.snippets ~= "luasnip" or not pcall(require, "luasnip") then - return -end ---local luasnip = require("luasnip") -local ls = require "luasnip" -- -local types = require "luasnip.util.types" -- ---local options = { -ls.config.set_config { - history = true, - updateevents = "TextChanged,TextChangedI", - -- Autosnippets: - enable_autosnippets = true, -- - ext_opts = { -- - [types.choiceNode] = { -- - active = { -- - virt_text = { { " « ", "NonTest" } }, -- - }, -- - }, -- - }, -- -} - ---local keymap = vim.keymap -local keymap = vim.api.nvim_set_keymap ---local keymap = vim.keymap.set --- is my jump backwards key. --- this always moves to the previous item within the snippet - ---keymap({ "i", "s" }, "", function() --- if ls.jumpable(-1) then --- ls.jump(-1) --- end ---end, { silent = true }) - --- is selecting within a list of options. --- This is useful for choice nodes (introduced in the forthcoming episode 2) ---keymap({"i"}, "", function() --- if ls.choice_active() then --- ls.change_choice(1) --- end ---end, { silent = true }) - - ---keymap("i", "", require "luasnip.extras.select_choice") - --- shorcut to source my luasnips file again, which will reload my snippets ---keymap("n", "s", "source ~/.config/nvim/lua/user/plugins/luasnip.lua") - --- ls.parser.parse_snippet(, ) ---ls.snippets = { --- all = { --- -- Available in any filetype --- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), ---s.snippets = { --- all = { --- -- Available in any filetype --- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), --- }, --- lua = { --- -- Lua specific snippets go here. --- ls.parser.parse_snippet("lf", "local $1 = function($2)\n $0\nend") --- }, --- ---}) -local snip = ls.snippet -local node = ls.snippet_node -local text = ls.text_node -local insert = ls.insert_node -local func = ls.function_node -local choice = ls.choice_node -local dynamicn = ls.dynamic_node - -local date = function() return {os.date('%Y-%m-%d')} end - -ls.add_snippets(nil, { - all = { - --snip({ - -- trig = "date", - -- namr = "Date", - -- dscr = "Date in the form of YYYY-MM-DD", - --}, { - -- func(date, {}), - --}), - snip({ - trig = "meta", - namr = "Metadata", - dscr = "Yaml metadata format for markdown" -}, -{ - text({"---", - "title: "}), insert(1, "note_title"), text({"", - "author: "}), insert(2, "author"), text({"", - "date: "}), func(date, {}), text({"", - "categories: ["}), insert(3, ""), text({"]", - "lastmod: "}), func(date, {}), text({"", - "tags: ["}), insert(4), text({"]", - "comments: true", - "---", ""}), - insert(0) - }), - }}) ---keymap("i", "", "lua require'luasnip'.jump(1)", opts) ---keymap("s", "", "lua require'luasnip'.jump(1)", opts) ---keymap("i", "", "lua require'luasnip'.jump(-1)", opts) ---local opts = { noremap = true, silent = true } ---local keymap = vim.api.nvim_set_keymap ---local keymap = vim.keymap ---local term_opts = { noremap = true, silent = false } --- local map = function(mode, l, r, opts) --- opts = opts or {} --- opts.silent = true --- opts.noremap = true --- keymap.set(mode, l, r, opts) --- end - - - ---keymap("i", "", "luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump()", opts) ---keymap("i", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)", opts) ---keymap("s", "", "luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump()", opts) ---keymap("s", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)", opts) ---keymap("i", "", "luasnip-next-choice * lua require'luasnip'.change_choice(1)", opts) ---keymap("s", "", "lua require'luasnip'.jump(-1)", opts) ---map("i", "", "luasnip-expand-or-jump") - ---! luasnip-expand-repeat * lua require'luasnip'.expand_repeat() ---! luasnip-delete-check * lua require'luasnip'.unlink_current_if_deleted() ---i luasnip-jump-prev * lua require'luasnip'.jump(-1) ---i luasnip-jump-next * lua require'luasnip'.jump(1) ---i luasnip-prev-choice * lua require'luasnip'.change_choice(-1) ---i luasnip-next-choice * lua require'luasnip'.change_choice(1) ---i luasnip-expand-snippet * lua require'luasnip'.expand() ---i luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump() - ---- - - - - - - - - - ---luasnip.config.set_config(options) ---require("luasnip.loaders.from_vscode").lazy_load() ---require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.luasnippets_path or "" } --- ---vim.api.nvim_create_autocmd("InsertLeave", { --- callback = function() --- if --- require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()] --- and not require("luasnip").session.jump_active --- then --- require("luasnip").unlink_current() --- end --- end, ---}) - - - - diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua deleted file mode 100644 index 912729a..0000000 --- a/lua/plugins/toggleterm.lua +++ /dev/null @@ -1,90 +0,0 @@ -local status_ok, toggleterm = pcall(require, "toggleterm") -if not status_ok then - return -end - -toggleterm.setup({ - size = function(term) - if term.direction == "horizontal" then - return 12 - elseif term.direction == "vertical" then - return vim.o.columns * 0.3 - end - end, - --size = 20, - open_mapping = [[to]], - hide_numbers = true, - shade_filetypes = {}, - shade_terminals = false, - shading_factor = 1, - start_in_insert = true, - insert_mappings = true, - persist_size = true, - direction = "float", - --direction = "vertical", - --direction = "horizontal", - close_on_exit = true, - shell = vim.o.shell, - highlights = { - -- highlights which map to a highlight group name and a table of it's values - -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split - Normal = { - background = "#000000", - }, - }, - float_opts = { - width = 70, - height = 15, - winblend = 3, - border = "curved", - --winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, -}) - -function _G.set_terminal_keymaps() - local opts = { noremap = true } - --local opts = {buffer = 0} - vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) -end - -vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") - -local Terminal = require("toggleterm.terminal").Terminal -local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) - -function _LAZYGIT_TOGGLE() - lazygit:toggle() -end - -local node = Terminal:new({ cmd = "node", hidden = true }) - -function _NODE_TOGGLE() - node:toggle() -end - -local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) - -function _NCDU_TOGGLE() - ncdu:toggle() -end - -local htop = Terminal:new({ cmd = "htop", hidden = true }) - -function _HTOP_TOGGLE() - htop:toggle() -end - -local python = Terminal:new({ cmd = "python", hidden = true }) - -function _PYTHON_TOGGLE() - python:toggle() -end diff --git a/lua/user/colorscheme.lua b/lua/user/colorscheme.lua index dc0145d..e74d48c 100644 --- a/lua/user/colorscheme.lua +++ b/lua/user/colorscheme.lua @@ -10,14 +10,17 @@ end vim.api.nvim_command("syntax on") vim.api.nvim_command("highlight Normal guibg=none") vim.api.nvim_command("highlight SignColumn guibg=none") + vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") +vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") + --vim.api.nvim_command("highlight TabLine guibg=none gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") -vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") +vim.api.nvim_command("highlight Title guibg=none gui=bold") vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") vim.api.nvim_command("highlight WinBar guibg=none gui=bold") vim.api.nvim_command("highlight NormalFloat guibg=none") diff --git a/lua/user/keys.lua b/lua/user/keys.lua index bc1f874..8beb6d3 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -26,7 +26,14 @@ vim.g.mapleader = ";" --vim.g.maplocalleader = ";" -- "jj" to exit insert-mode -map("i", "kk", "") +map("i", "jk", "") + +map("n", "m", ":messages") + +-- Print last error message or use these commands | v:errmsgv | :statusmsg | :h execute() | +--nnoremap x :put =trim(execute(input(':', '', 'command'))) +-- Press x, then enter your command, such as 5mess and press . The last five message lines will be added to the current buffer. +-- useful to copy error message when vim start -- save quickly --map("n", ";w", ":w", d("Save buffer")) @@ -38,8 +45,33 @@ map("i", "kk", "") --nnoremap so :source $my_vimrc --]]) +-- Toggle between folds +--utils.map("n", "", "&foldlevel ? 'zM' : 'zR'", { expr = true }) + +-- Move to the next and previous item in the quickfixlist +--utils.map("n", "]c", "cnext") +--utils.map("n", "[c", "cprevious") + +-- Use space to toggle fold +--utils.map("n", "", "za") + +-- Hitting ESC when inside a terminal to get into normal mode +--utils.map("t", "", [[]]) + +-- select last change +--nnoremap gV `[v`] + + +--map("n", "", ":runtime! /lua/plugins/*.lua | :runtime! /lua/user/*.lua | :luafile ~/.config/nvim/init.lua", print ("Nvim reloaded")) +--map("n", "", ":lua require('init').unload_lua_namespace()", print ("Nvim reloaded")) +--map("n", "", "luafile ~/.config/nvim/init.lua", vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO)) +--map("n", "", "luafile ~/.config/nvim/init.lua | :lua require("notify")("completion off")") +--map("n", "", "luafile ~/.config/nvim/init.lua", vim.api.nvim_echo({{'first chunk and ', 'None'}, {'second chunk to echo', 'None'}}, false, {})) +--map("n", "", "luafile ~/.config/nvim/init.lua", print ("Nvim config loading...")) +--map("n", "", "luafile ~/.config/nvim/init.lua | :echo ('hello') | ") +map("n", "", "luafile ~/.config/nvim/init.lua | :echom ('Nvim config loading...') | :sl! | echo ('')") +--map("n", "", "luafile ~/.config/nvim/init.lua") --vim.api.nvim_set_keymap("n", "", "lua ReloadConfig()", { noremap = true, silent = false }) -map("n", "", "luafile ~/.config/nvim/init.lua", print ("Nvim configuration reloaded")) map("n", "tc", ":lua require('user.utils').toggle_completion()") -- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) @@ -169,6 +201,39 @@ map("v", "p", '"_dP') -- visual mode to select text to swap with map("v", "", "`.``gvP``P") +-- Keep Visual mode selection when indenting text +--utils.map("x", ">", ">gv") +--utils.map("x", "<", "/", ":/\\<\\>", { silent = false }) + +-- EasyAlign keybindings +-- 'vipga' starts interactive EasyAlign in visual mode +-- 'gaip' starts interactive EasyAlign for text/motion object +--utils.map({ "n", "x" }, "ga", "(EasyAlign)") +--utils.map({ "n", "x" }, "ga", "(LiveEasyAlign)") + +-- Set a mark when moving more than 5 lines upwards/downards +-- this will populate the jumplist enabling us to jump back with Ctrl-O +--utils.map("n", "k", [[(v:count > 5 ? "m'" . v:count : "") . 'k']], { expr = true }) +--utils.map("n", "j", [[(v:count > 5 ? "m'" . v:count : "") . 'j']], { expr = true }) + +-- Zoom toggle a buffer in a new tab +--utils.map("n", "z", function() +-- require("tt.helper").zoomToggleNewTab() +--end, { desc = "Zoom toggle a buffer in a new tab" }) + +-- Hitting ESC when inside a terminal to get into normal mode +--utils.map("t", "", [[]]) + + + + -- Search and replace map("v", "sr", 'y:%s/"//gc') --vnoremap ; :call Get_visual_selection() diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 3200cd5..39cd2a4 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -19,9 +19,11 @@ vim.g.loaded_python3_provider = 1 -- vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file --vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" -- +-- Colors vim.opt.termguicolors = true + -- Behaviour -vim.opt.clipboard:append({ "unnamedplus" }) -- +vim.opt.clipboard:append({ "unnamedplus" }) -- Install xclip or this will slowdown startup vim.opt.backspace = { "start", "eol", "indent" } -- Make backspace work as you would expect. vim.opt.hidden = true -- Switch between buffers without having to save first. vim.opt.splitbelow = true -- make split put the new buffer below the current buffer @@ -32,7 +34,7 @@ vim.opt.autoread = true -- reload files if changed externally vim.opt.display = "lastline" -- Show as much as possible of the last line. vim.opt.inccommand = "split" -- vim.opt.ttyfast = true -- Faster redrawing. -vim.opt.lazyredraw = true -- Only redraw when necessary +--vim.opt.lazyredraw = true -- Only redraw when necessary vim.opt.keywordprg = ":help" -- :help options vim.opt.ruler = true -- vim.opt.errorbells = false -- @@ -67,8 +69,9 @@ vim.opt.smartindent = true -- smart indent vim.opt.number = true -- --vim.opt.title = true -- --vim.opt.colorcolumn = "+1" -- ---vim.opt.signcolumn = "yes:1" -- always show the sign column -vim.opt.signcolumn = "number" +vim.opt.signcolumn = "yes:1" -- always show the sign column +--vim.opt.signcolumn = "yes:" .. vim.o.numberwidth +--vim.opt.signcolumn = "number" --vim.opt.signcolumn = "no" -- vim.opt.laststatus = 3 -- " Always show statusline. vim.opt.showmode = true -- Show current mode in command-line, example: -- INSERT -- mode @@ -87,6 +90,11 @@ vim.opt.report = 0 -- Always report changed lines. -- end -- end, --}) +---- With vertical splits, the statusline would still show up at the +---- bottom of the split. A quick fix is to just set the statusline +---- to empty whitespace (it can't be an empty string because then +---- it'll get replaced by the default stline). +vim.opt.stl = " " -- Backup/undo vim.opt.backup = false -- @@ -101,16 +109,53 @@ vim.cmd([[let &t_Ce = "\e[4:0m"]]) -- vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder vim.cmd("set whichwrap+=<,>,[,],h,l") -- vim.cmd([[set iskeyword+=-]]) -- -vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work +--vim.cmd([[set formatoptions-=cro]]) -- TODO: this doesn't seem to work +vim.opt.formatoptions = vim.opt.formatoptions + - "t" -- wrap with text width + + "c" -- wrap comments + + "r" -- insert comment after enter + - "o" -- insert comment after o/O + - "q" -- allow formatting of comments with gq + - "a" -- format paragraphs + + "n" -- recognized numbered lists + - "2" -- use indent of second line for paragraph + + "l" -- long lines are not broken + + "j" -- remove comment when joining lines vim.opt.wrapscan = true -- " Searches wrap around end-of-file. --vim.wo.number = true -- --vim.opt.wrap = false -- No Wrap lines --vim.opt.foldmethod = 'manual' -- --vim.opt.foldmethod = "expr" -- +vim.opt.foldmethod = "manual" +vim.opt.foldlevel = 3 +vim.opt.confirm = true +vim.opt.shortmess:append("sI") +--vim.opt.shortmess = "a" +--vim.opt.shortmess = "sI" +--vim.o.shortmess = vim.o.shortmess:gsub('s', '') +vim.opt.fillchars = { + horiz = "━", + horizup = "┻", + horizdown = "┳", + vert = "┃", + vertleft = "┨", + vertright = "┣", + verthoriz = "╋", + fold = "⠀", + eob = " ", + diff = "┃", + msgsep = "‾", + foldopen = "▾", + foldsep = "│", + foldclose = "▸", +} +vim.opt.listchars = { tab = "▸ ", trail = "·" } -- +--vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer vim.opt.modeline = true -- vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis) +vim.opt.modelineexpr = true --vim.opt.nofoldenable = true -- turn folding off -vim.opt.foldenable = false -- turn folding off +--vim.opt.foldenable = false -- turn folding off -- Highlights vim.opt.incsearch = true -- Highlight while searching with / or ?. @@ -121,7 +166,8 @@ vim.opt.synmaxcol = 200 -- Only highlight the first 200 columns. vim.opt.winblend = 30 --vim.opt.winblend = 5 vim.opt.wildoptions = "pum" -- -vim.opt.pumblend = 5 -- +--vim.opt.pumblend = 5 -- +vim.opt.pumblend = 12 -- --vim.opt.pumblend=15 vim.opt.pumheight = 10 -- pop up menu height @@ -148,6 +194,12 @@ vim.opt.wildignore:append({ "*.pyc" }) -- Python byte code vim.opt.wildignore:append({ "*.orig" }) -- Merge resolution files vim.opt.wildignore:append({ "*/node_modules/*" }) -- +-- Shada +vim.opt.shada = "!,'1000,f1,<1000,s100,:1000,/1000,h" + +-- Sessions +vim.opt.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal" + -- Cursorline vim.cmd([[ " Only show cursorline in the current window and in normal mode augroup cline @@ -167,8 +219,6 @@ vim.cmd([[ " Only show in insert mode au InsertLeave * :set listchars+=trail:⌴ augroup END ]]) -vim.opt.listchars = { tab = "▸ ", trail = "·" } -- -vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer -- Line Return vim.cmd([[ " Return to the same line when we reopen a file diff --git a/lua/user/reload.lua b/lua/user/reload.lua index ecf5dd0..c02ff7b 100644 --- a/lua/user/reload.lua +++ b/lua/user/reload.lua @@ -8,18 +8,18 @@ -- dofile(vim.env.MYVIMRC) -- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) --end -function _G.ReloadConfig() +--function _G.ReloadConfig() --dofile(vim.env.MYVIMRC) -- dofile(vim.fn.stdpath('config') .. '/init.lua') --dofile(vim.fn.stdpath('user') .. '/init.lua') - require("plenary.reload").reload_module("user", true) + -- require("plenary.reload").reload_module("user", true) --dofile("/home/sxrdusr/.config/nvim/lua/user/keys.lua") --dofile("/home/sxrdusr/.config/nvim/lua/user/mods.lua") --dofile("/home/sxrdusr/.config/nvim/lua/user/opts.lua") --dofile("/home/sxrdusr/.config/nvim/lua/user/pack.lua") --dofile("/home/sxrdusr/.config/nvim/lua/user/utils.lua") - vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) -end + --vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) +--end --P = function(v) -- print(vim.inspect(v)) -- return v diff --git a/lua/user/utils.lua b/lua/user/utils.lua index 3c6f89e..bfb5faa 100644 --- a/lua/user/utils.lua +++ b/lua/user/utils.lua @@ -31,6 +31,15 @@ function M.may_create_dir(dir) end end +M['unload_lua_namespace'] = function(prefix) + local prefix_with_dot = prefix .. '.' + for key, value in pairs(package.loaded) do + if key == prefix or key:sub(1, #prefix_with_dot) == prefix_with_dot then + package.loaded[key] = nil + end + end +end + -- toggle cmp completion vim.g.cmp_toggle_flag = false -- initialize local normal_buftype = function() diff --git a/snippets/lua.lua b/snippets/lua.lua index 00ccd31..eb46b67 100644 --- a/snippets/lua.lua +++ b/snippets/lua.lua @@ -228,7 +228,14 @@ table.insert(snippets, mySecondSnippet) local myFirstAutoSnippet = s("automatic", { t("This was auto triggered") }) table.insert(autosnippets, myFirstAutoSnippet) -local mySecondAutoSnippet = s({ trig = "normal", regTrig = true }, { t("This was auto triggered") }) +local mySecondAutoSnippet = s({ trig = "digit(%d)(%d)", regTrig = true }, { + f(function(_, snip) + return snip.captures[1] .. " + " + end), + f(function(_, snip) + return snip.captures[2] + end), +}) table.insert(autosnippets, mySecondAutoSnippet) -- cgit v1.2.3 From 1c3506724b93b5914af223b0464b84f1c219399b Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 29 Oct 2022 13:45:08 +0200 Subject: Removed duplicate files --- init.lua | 14 +- lua/plugins/colorscheme.lua | 4 +- lua/user/autopairs.lua | 43 - lua/user/cmp-gh-source.lua | 72 -- lua/user/cmp.lua | 273 ----- lua/user/colorizer.lua | 6 - lua/user/colorscheme.lua | 36 - lua/user/git.lua | 11 - lua/user/gitsigns.lua | 1 - lua/user/heirline.lua | 1203 ---------------------- lua/user/linecolor.lua | 112 -- lua/user/lsp-colors.lua | 9 - lua/user/lsp.lua | 584 ----------- lua/user/lspkind.lua | 47 - lua/user/lspsaga.lua | 145 --- lua/user/lualine.lua | 423 -------- lua/user/luasnip.lua | 149 --- lua/user/mason.lua | 27 - lua/user/modify-blend.lua | 40 - lua/user/neoscroll.lua | 21 - lua/user/null-ls.lua | 26 - lua/user/nvim-tree.lua | 68 -- lua/user/opts.lua | 2 +- lua/user/prettier.lua | 19 - lua/user/reload.lua | 50 - lua/user/tabline.lua | 22 - lua/user/telescope.lua | 223 ---- lua/user/toggleterm.lua | 90 -- lua/user/treesitter.lua | 34 - lua/user/web-devicons.lua | 12 - lua/user/winbar.lua | 35 - lua/user/zen-mode.lua | 7 - startup.log | 2388 +++++++++++++++++++++++++++++++++++++++++++ 33 files changed, 2397 insertions(+), 3799 deletions(-) delete mode 100644 lua/user/autopairs.lua delete mode 100644 lua/user/cmp-gh-source.lua delete mode 100644 lua/user/cmp.lua delete mode 100644 lua/user/colorizer.lua delete mode 100644 lua/user/colorscheme.lua delete mode 100644 lua/user/git.lua delete mode 100644 lua/user/gitsigns.lua delete mode 100644 lua/user/heirline.lua delete mode 100644 lua/user/linecolor.lua delete mode 100644 lua/user/lsp-colors.lua delete mode 100644 lua/user/lsp.lua delete mode 100644 lua/user/lspkind.lua delete mode 100644 lua/user/lspsaga.lua delete mode 100644 lua/user/lualine.lua delete mode 100644 lua/user/luasnip.lua delete mode 100644 lua/user/mason.lua delete mode 100644 lua/user/modify-blend.lua delete mode 100644 lua/user/neoscroll.lua delete mode 100644 lua/user/null-ls.lua delete mode 100644 lua/user/nvim-tree.lua delete mode 100644 lua/user/prettier.lua delete mode 100644 lua/user/reload.lua delete mode 100644 lua/user/tabline.lua delete mode 100644 lua/user/telescope.lua delete mode 100644 lua/user/toggleterm.lua delete mode 100644 lua/user/treesitter.lua delete mode 100644 lua/user/web-devicons.lua delete mode 100644 lua/user/winbar.lua delete mode 100644 lua/user/zen-mode.lua create mode 100644 startup.log diff --git a/init.lua b/init.lua index 83b795b..2ac0b01 100644 --- a/init.lua +++ b/init.lua @@ -32,16 +32,14 @@ -- See startup time --nvim --startuptime startup.log -c exit && tail -100 startup.log +-- Load impatient local impatient_ok, impatient = pcall(require, "impatient") if impatient_ok then impatient.enable_profile() end ---local stdpath = vim.fn.stdpath +-- Check if we have the latest stable version of nvim local utils = require("user.utils") -vim.g.snippets = "luasnip" - --- check if we have the latest stable version of nvim local expected_ver = "0.8.0" local nvim_ver = utils.get_nvim_version() @@ -58,10 +56,8 @@ vim.schedule(function() vim.cmd("silent! rsh") end) --- IMPORTS ---require("impatient") --- Load/reload modules here +-- Load/reload modules local modules = { "user.pack", -- Packer plugin manager "user.opts", -- Options @@ -90,7 +86,6 @@ local modules = { --"plugins.dap", --"plugins.toggleterm", --"plugins.floatterm", - vim.notify("Nvim configuration reloaded!") -- print this when reloaded } -- Refresh module cache @@ -99,6 +94,9 @@ for k, v in pairs(modules) do require(v) end +-- Snippets +vim.g.snippets = "luasnip" + -- Improve speed by disabling some default plugins/modules local builtins = { "gzip", diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index dc0145d..4186378 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -17,11 +17,11 @@ vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") -vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") vim.api.nvim_command("highlight WinBar guibg=none gui=bold") vim.api.nvim_command("highlight NormalFloat guibg=none") -vim.api.nvim_command("highlight MsgSeparator guibg=none") +--vim.api.nvim_command("highlight MsgSeparator guibg=none") --vim.api.nvim_command("highlight PmenuSel guibg=none") --vim.api.nvim_command("highlight winblend guibg=none") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") diff --git a/lua/user/autopairs.lua b/lua/user/autopairs.lua deleted file mode 100644 index fc39d2e..0000000 --- a/lua/user/autopairs.lua +++ /dev/null @@ -1,43 +0,0 @@ --- Setup nvim-cmp. -local status_ok, npairs = pcall(require, "nvim-autopairs") -if not status_ok then - return -end - -npairs.setup { - check_ts = true, - ts_config = { - lua = { "string", "source" }, - javascript = { "string", "template_string" }, - java = false, - }, - map = "", - pairs_map = { -['<'] = '>', -}, - disable_filetype = { "TelescopePrompt", "spectre_panel" }, - disable_in_macro = true, - disable_in_visualblock = true, - enalbe_moveright = true, - enable_afterquote = true, -- add bracket pairs after quote - enable_check_bracket_line = true, --- check bracket in same line - enable_bracket_in_quote = true, -- - break_undo = true, -- switch for basic rule break undo sequence - fast_wrap = { - chars = { "{", "[", "(", '"', "'" }, - pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), - offset = 0, -- Offset from pattern match - end_key = "$", - keys = "qwertyuiopzxcvbnmasdfghjkl", - check_comma = true, - highlight = "PmenuSel", - highlight_grey = "LineNr", - }, -} - -local cmp_autopairs = require "nvim-autopairs.completion.cmp" -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } }) diff --git a/lua/user/cmp-gh-source.lua b/lua/user/cmp-gh-source.lua deleted file mode 100644 index 05bba55..0000000 --- a/lua/user/cmp-gh-source.lua +++ /dev/null @@ -1,72 +0,0 @@ -local ok, Job = pcall(require, "plenary.job") -if not ok then - return -end - -local source = {} - -source.new = function() - local self = setmetatable({ cache = {} }, { __index = source }) - - return self -end - -source.complete = function(self, _, callback) - local bufnr = vim.api.nvim_get_current_buf() - - -- This just makes sure that we only hit the GH API once per session. - -- - -- You could remove this if you wanted, but this just makes it so we're - -- good programming citizens. - if not self.cache[bufnr] then - Job - :new({ - -- Uses `gh` executable to request the issues from the remote repository. - "gh", - "issue", - "list", - "--limit", - "1000", - "--json", - "title,number,body", - - on_exit = function(job) - local result = job:result() - local ok, parsed = pcall(vim.json.decode, table.concat(result, "")) - if not ok then - vim.notify "Failed to parse gh result" - return - end - - local items = {} - for _, gh_item in ipairs(parsed) do - gh_item.body = string.gsub(gh_item.body or "", "\r", "") - - table.insert(items, { - label = string.format("#%s", gh_item.number), - documentation = { - kind = "markdown", - value = string.format("# %s\n\n%s", gh_item.title, gh_item.body), - }, - }) - end - - callback { items = items, isIncomplete = false } - self.cache[bufnr] = items - end, - }) - :start() - else - callback { items = self.cache[bufnr], isIncomplete = false } - end -end - -source.get_trigger_characters = function() - return { "#" } -end - -source.is_available = function() - return vim.bo.filetype == "gitcommit" -end - -require("cmp").register_source("gh_issues", source.new()) diff --git a/lua/user/cmp.lua b/lua/user/cmp.lua deleted file mode 100644 index 4dc7c45..0000000 --- a/lua/user/cmp.lua +++ /dev/null @@ -1,273 +0,0 @@ - --- Setup nvim-cmp. -vim.opt.completeopt = "menu,menuone,noselect" ---vim.g.completeopt = "menu,menuone,noselect,noinsert" -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end ---local WIDE_HEIGHT = 40 - -local opts = { - -- whether to highlight the currently hovered symbol - -- disable if your cpu usage is higher than you want it - -- or you just hate the highlight - -- default: true - highlight_hovered_item = true, - show_guides = true, -} -require("symbols-outline").setup(opts) - - ---local snippets_paths = function() --- local plugins = { "friendly-snippets" } --- local paths = {} --- local path --- local root_path = vim.env.HOME .. "/.vim/plugged/" --- for _, plug in ipairs(plugins) do --- path = root_path .. plug --- if vim.fn.isdirectory(path) ~= 0 then --- table.insert(paths, path) --- end --- end --- return paths ---end --- ---require("luasnip.loaders.from_vscode").lazy_load({ --- paths = snippets_paths(), --- include = nil, -- Load all languages --- exclude = {}, ---}) - ---require("luasnip.loaders.from_vscode").lazy_load() -local lspkind = require("lspkind") -local kind_icons = { - Text = "", - Method = "m", --"", - Function = "", - Constructor = "", --"⚙️", - Field = "", - Variable = "", - Class = "", - Interface = "", - Module = "", - Property = "", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", -} -cmp.setup({ - snippet = { - --expand = function(args) - -- require("luasnip").lsp_expand(args.body) - --end, - expand = function(args) - local luasnip = require("luasnip") - if not luasnip then - return - end - luasnip.lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ --- [""] = cmp.mapping.confirm({ --- behavior = cmp.ConfirmBehavior.Replace, --- select = true, --- }), - --[""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), - --[""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), - [''] = cmp.mapping.confirm({ select = true }), - --[""] = cmp.mapping.close(), - [''] = cmp.mapping({ - i = cmp.mapping.abort(), - c = cmp.mapping.close(), - }), - --[''] = cmp.config.disable, - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [''] = function(fallback) - if cmp.visible() then - cmp.mapping.confirm({ select = true })(fallback) - else - cmp.mapping.complete()(fallback) - end - end - }), - - sources = cmp.config.sources({ - { name = "path" }, - --{ name = "nvim_lua" }, - { name = "gh_issues" }, - { name = "nvim_lsp", keyword_length = 3 }, - { name = 'luasnip', option = { use_show_condition = false } }, - --{ name = "luasnip" }, - --{ name = "luasnip", keyword_length = 4 }, - --{ name = "buffer", keyword_length = 3 }, - { name = "buffer", option = { get_bufnrs = function() - return vim.api.nvim_list_bufs() - end - }}, - { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, - { name = "cmp_git"}, - --{ name = 'treesitter' }, - --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this - --{name = 'luasnip', keyword_length = 2}, - }), - formatting = { - --formatting = { - --local icons = kind_icons - --format = function(entry, vim_item) - ----vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - ----vim_item.kind = lspkind.presets.default[vim_item.kind] - --vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind - ----vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind) - --vim_item.menu = ({ - ----nvim_lsp = "LSP", - ----luasnip = "snip", - ----buffer = "buf", - ----path = "path", - ----cmdline = "cmd", - --buffer = "[buf]", - --nvim_lsp = "[LSP]", - --nvim_lua = "[api]", - --path = "[path]", - --luasnip = "[snip]", - --cmdline = "[cmd]", - --gh_issues = "[issues]", - --})[entry.source.name] - --return vim_item - --end, - format = lspkind.cmp_format { - with_text = true, - menu = { - nvim_lsp = "[LSP]", - luasnip = "[snip]", - buffer = "[buf]", - nvim_lua = "[api]", - path = "[path]", - gh_issues = "[issues]", - }, - }, - --}, - - -- - -- - --fields = { "abbr", "kind", "menu" }, - -- format = lspkind.cmp_format({ - -- mode = 'symbol_text', -- show only symbol annotations - -- maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) - -- }) - --format = require('lspkind').cmp_format { - -- with_text = true, - -- menu = { - -- luasnip = "Snip", - -- buffer = "Buf", - -- nvim_lsp = "LSP", - -- path = "Path", - -- cmdline = "Cmd", - -- cmp_git = "Git", - -- }, - --}, - }, - --format = function(entry, vim_item) - -- -- Kind icons - -- --vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - -- vim_item.kind = lspkind.presets.default[vim_item.kind] - -- -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind - -- vim_item.menu = ({ - -- nvim_lsp = "LSP", - -- luasnip = "Snip", - -- buffer = "Buf", - -- path = "Path", - -- cmdline = "Cmd", - -- })[entry.source.name] - -- return vim_item - --end, - confirm_opts = { - behavior = cmp.ConfirmBehavior.Replace, - select = false, - }, - - - event = {}, - - experimental = { - ghost_text = true, - hl_group = 'Nontext', - --native_menu = false, - }, - - view = { - entries = { name = 'custom', selection_order = 'top_down' }, - }, - - window = { - --completion = cmp.config.window.bordered(), - completion = { - border = { '', '', '', ' ', '', '', '', ' ' }, - --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - --border = { '', '', '', '', '', '', '', '' }, - --border = "CmpBorder", - winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None', - --winhighlight = "Normal:CmpPmenu,CursorLine:PmenuSel,Search:None", - }, - --documentation = cmp.config.window.bordered(), - documentation = { - --max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)), - --max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))), - border = { '', '', '', ' ', '', '', '', ' ' }, - --border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - winhighlight = 'FloatBorder:NormalFloat', - }, - }, -}) - - -cmp.setup.cmdline({ '/', '?' }, { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = "buffer" }, - }, -}) - -cmp.setup.cmdline(":", { - mapping = { - [""] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.confirm({ select = true }), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.close(), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), - [""] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), - --[""] = cmp.mapping.select_prev_item(), - --[""] = cmp.mapping.select_next_item(), - --[''] = cmp.mapping.confirm({ select = true }), - --[""] = cmp.mapping.close(), - ----[''] = cmp.config.disable, - --[""] = cmp.mapping.scroll_docs(-4), - --[""] = cmp.mapping.scroll_docs(4), - --[""] = cmp.mapping.complete(), - }, - - sources = cmp.config.sources({ - { name = "path" }, - }, { - --{ name = "cmdline" }, - { name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=], keyword_length = 3 }, - }) -}) - - diff --git a/lua/user/colorizer.lua b/lua/user/colorizer.lua deleted file mode 100644 index 14d25e2..0000000 --- a/lua/user/colorizer.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status, colorizer = pcall(require, "colorizer") -if (not status) then return end - -colorizer.setup({ - '*'; -}) diff --git a/lua/user/colorscheme.lua b/lua/user/colorscheme.lua deleted file mode 100644 index e74d48c..0000000 --- a/lua/user/colorscheme.lua +++ /dev/null @@ -1,36 +0,0 @@ --- Colorscheme --- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "onedark" -local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) -if not status_ok then - vim.notify("colorscheme " .. colorscheme .. " not found!") - return -end - -vim.api.nvim_command("syntax on") -vim.api.nvim_command("highlight Normal guibg=none") -vim.api.nvim_command("highlight SignColumn guibg=none") - -vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") -vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") - ---vim.api.nvim_command("highlight TabLine guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") -vim.api.nvim_command("highlight Title guibg=none gui=bold") -vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") -vim.api.nvim_command("highlight WinBar guibg=none gui=bold") -vim.api.nvim_command("highlight NormalFloat guibg=none") -vim.api.nvim_command("highlight MsgSeparator guibg=none") ---vim.api.nvim_command("highlight PmenuSel guibg=none") ---vim.api.nvim_command("highlight winblend guibg=none") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") - -require("notify").setup({ - background_colour = "#000000", -}) diff --git a/lua/user/git.lua b/lua/user/git.lua deleted file mode 100644 index 963f7f9..0000000 --- a/lua/user/git.lua +++ /dev/null @@ -1,11 +0,0 @@ -local status, git = pcall(require, "git") -if (not status) then return end - -git.setup({ - keymaps = { - -- Open blame window - blame = "gb", - -- Open file/folder in git repository - browse = "go", - } -}) diff --git a/lua/user/gitsigns.lua b/lua/user/gitsigns.lua deleted file mode 100644 index 53d1a1e..0000000 --- a/lua/user/gitsigns.lua +++ /dev/null @@ -1 +0,0 @@ -require('gitsigns').setup {} diff --git a/lua/user/heirline.lua b/lua/user/heirline.lua deleted file mode 100644 index f17f523..0000000 --- a/lua/user/heirline.lua +++ /dev/null @@ -1,1203 +0,0 @@ -local conditions = require("heirline.conditions") -local utils = require("heirline.utils") - -local colors = { - --bg = "#23232e", - bg = nil, - nobg = nil, - white = "#f8f8f2", - black = "#000000", - darkgray = "#23232e", - gray = "#2d2b3a", - lightgray = "#d6d3ea", - pink = "#f92672", - green = "#50fa7b", - blue = "#39BAE6", - yellow = "#f1fa8c", - orange = "#ffb86c", - purple = "#BF40BF", - violet = "#7F00FF", - red = "#ff5555", - cyan = "#66d9eC", - diag = { - warn = utils.get_highlight("DiagnosticSignWarn").fg, - error = utils.get_highlight("DiagnosticSignError").fg, - hint = utils.get_highlight("DiagnosticSignHint").fg, - info = utils.get_highlight("DiagnosticSignInfo").fg, - }, - git = { - del = "#e95678", - add = "#a6e22e", - change = "#ae81ff", - }, -} - -require("heirline").load_colors(colors) - -local Align = { provider = "%=", hl = { bg = colors.bg } } -local Space = { provider = " ", hl = { bg = colors.bg } } -local Tab = { provider = " " } -local LeftSpace = { provider = "" } -local RightSpace = { provider = "" } -local RightSpace2 = { provider = "" } -local RightSpace3 = { provider = "" } -local Fill = { provider = "%=", hl = { bg = colors.nobg } } -local LeftSep = { provider = "" } -local RightSep = { provider = "" } - -local ViMode = { - init = function(self) - self.mode = vim.fn.mode(1) - if not self.once then - vim.cmd("au ModeChanged *:*o redrawstatus") - end - self.once = true - end, - static = { - mode_names = { - n = "NORMAL ", - no = "N·OPERATOR PENDING ", - nov = "N?", - noV = "N?", - ["no\22"] = "N? ", - niI = "Ni", - niR = "Nr", - niV = "Nv", - nt = "Nt", - v = "VISUAL ", - vs = "Vs", - V = "V·LINE ", - ["\22"] = "V·BLOCK ", - ["\22s"] = "V·BLOCK ", - s = "SELECT ", - S = "S·LINE ", - ["\19"] = "S·BLOCK ", - i = "INSERT ", - ix = "insert x ", - ic = "insert c ", - R = "REPLACE ", - Rc = "Rc", - Rx = "Rx", - Rv = "V·REPLACE ", - Rvc = "Rv", - Rvx = "Rv", - c = "COMMAND ", - cv = "VIM EX ", - ce = "EX ", - r = "PROMPT ", - rm = "MORE ", - ["r?"] = "CONFIRM ", - ["!"] = "SHELL ", - t = "TERMINAL ", - }, - }, - provider = function(self) - return " %2(" .. self.mode_names[self.mode] .. "%) " - end, - hl = function(self) - local color = self:mode_color() - return { fg = color, bold = true } - end, - update = { - "ModeChanged", - }, -} - --- LSP -local LSPActive = { - condition = conditions.lsp_attached, - update = { "LspAttach", "LspDetach" }, - - provider = function() - local buf_clients = vim.lsp.buf_get_clients() - local buf_client_names = {} - - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" then - table.insert(buf_client_names, client.name) - end - end - return "⚙️ " .. table.concat(buf_client_names, "") - end, - hl = { fg = colors.lightgray, bold = false }, -} - --- Navic -local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = colors.white }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = colors.white }, -} - --- Diagnostics -local Diagnostics = { - - condition = conditions.has_diagnostics, - - static = { - error_icon = vim.fn.sign_getdefined("DiagnosticSignError")[1].text, - warn_icon = vim.fn.sign_getdefined("DiagnosticSignWarn")[1].text, - info_icon = vim.fn.sign_getdefined("DiagnosticSignInfo")[1].text, - hint_icon = vim.fn.sign_getdefined("DiagnosticSignHint")[1].text, - }, - - init = function(self) - self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR }) - self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN }) - self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT }) - self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO }) - end, - - update = { "DiagnosticChanged", "BufEnter" }, - - { - provider = function(self) - -- 0 is just another output, we can decide to print it or not! - return self.errors > 0 and (self.error_icon .. self.errors .. " ") - end, - hl = { fg = colors.diag.error, bg = colors.bg }, - }, - { - provider = function(self) - return self.warnings > 0 and (self.warn_icon .. self.warnings .. " ") - end, - hl = { fg = colors.diag.warn, bg = colors.bg }, - }, - { - provider = function(self) - return self.info > 0 and (self.info_icon .. self.info .. " ") - end, - hl = { fg = colors.diag.info, bg = colors.bg }, - }, - { - provider = function(self) - return self.hints > 0 and (self.hint_icon .. self.hints) - end, - hl = { fg = colors.diag.hint, bg = colors.bg }, - }, - on_click = { - callback = function() - require("trouble").toggle({ mode = "document_diagnostics" }) - -- or - -- vim.diagnostic.setqflist() - end, - name = "heirline_diagnostics", - }, -} - --- Git --- For the ones who're not (too) afraid of changes! Uses gitsigns. -local Git = { - condition = conditions.is_git_repo, - - init = function(self) - self.status_dict = vim.b.gitsigns_status_dict - self.has_changes = self.status_dict.added ~= 0 or self.status_dict.removed ~= 0 or self.status_dict.changed ~= 0 - end, - --hl = { fg = "orange" }, - hl = { fg = colors.orange, bg = colors.bg }, - { -- git branch name - provider = function(self) - return " " .. self.status_dict.head - end, - --hl = { bold = true }, - hl = { bold = true, bg = colors.bg }, - }, - -- You could handle delimiters, icons and counts similar to Diagnostics - { - condition = function(self) - return self.has_changes - end, - --provider = "(" - provider = " ", - }, - { - provider = function(self) - local count = self.status_dict.added or 0 - --return count > 0 and ("+" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_add" }, - hl = { fg = colors.git.add, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.removed or 0 - --return count > 0 and ("-" .. count) - return count > 0 and ("  " .. count) - end, - --hl = { fg = "git_del" }, - hl = { fg = colors.git.del, bg = colors.bg }, - }, - { - provider = function(self) - local count = self.status_dict.changed or 0 - --return count > 0 and ("~" .. count) - return count > 0 and (" 柳" .. count) - end, - --hl = { fg = "git_change" }, - hl = { fg = colors.git.change, bg = colors.bg }, - }, - --{ - -- condition = function(self) - -- return self.has_changes - -- end, - -- provider = ")", - --}, - on_click = { - callback = function() - -- If you want to use Fugitive: - -- vim.cmd("G") - - -- If you prefer Lazygit - -- use vim.defer_fn() if the callback requires - -- opening of a floating window - -- (this also applies to telescope) - vim.defer_fn(function() - vim.cmd("Lazygit") - end, 100) - end, - name = "heirline_git", - }, -} - --- Debugger --- Display informations from nvim-dap! -local DAPMessages = { - -- display the dap messages only on the debugged file - condition = function() - local session = require("dap").session() - if session then - local filename = vim.api.nvim_buf_get_name(0) - if session.config then - local progname = session.config.program - return filename == progname - end - end - return false - end, - provider = function() - return " " .. require("dap").status() - end, - hl = { fg = utils.get_highlight("Debug").fg }, - -- Debugger on_click: step-over, step-into, next, previous, stop buttons - -- coming soon! -} - --- Tests --- This requires the great ultest. ---local UltTest = { --- condition = function() --- return vim .api.nvim_call_function("ultest#is_test_file", {}) ~= 0 --- end, --- static = { --- passed_icon = vim.fn.sign_getdefined("test_pass")[1].text, --- failed_icon = vim.fn.sign_getdefined("test_fail")[1].text, --- passed_hl = { fg = utils.get_highlight("UltestPass").fg }, --- failed_hl = { fg = utils.get_highlight("UltestFail").fg }, --- }, --- init = function(self) --- self.status = vim.api.nvim_call_function("ultest#status", {}) --- end, --- --- -- again, if you'd like icons and numbers to be colored differently, --- -- just split the component in two --- { --- provider = function(self) --- return self.passed_icon .. self.status.passed .. " " --- end, --- hl = function(self) --- return self.passed_hl --- end, --- }, --- { --- provider = function(self) --- return self.failed_icon .. self.status.failed .. " " --- end, --- hl = function(self) --- return self.failed_hl --- end, --- }, --- { --- provider = function(self) --- return "of " .. self.status.tests - 1 --- end, --- }, ---} - --- FileNameBlock: FileIcon, FileName and friends -local FileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg }, -} - --- FileIcon, FileName, FileFlags and FileNameModifier -local FileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color, bg = colors.bg } - end, -} - -local FileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, - hl = { fg = colors.white, bold = false, bg = colors.bg }, -} - -local FileFlags = { - { - provider = function() - if vim.bo.modified then - return " [+]" -- ±[+] - end - end, - hl = { fg = colors.green, bg = colors.bg }, - }, - { - provider = function() - if not vim.bo.modifiable or vim.bo.readonly then - return " " - end - end, - --hl = { fg = colors.orange }, - hl = { fg = colors.orange, bold = true, bg = colors.bg }, - }, -} - -local FileNameModifier = { - hl = function() - if vim.bo.modified then - return { fg = colors.green, bold = false, force = true } - end - end, -} - --- FileType, FileEncoding and FileFormat -local FileType = { - provider = function() - return vim.bo.filetype - end, - hl = { fg = colors.white, bold = false, bg = colors.bg }, -} - -local FileEncoding = { - Space, - provider = function() - local enc = (vim.bo.fenc ~= "" and vim.bo.fenc) or vim.o.enc -- :h 'enc' - return enc:lower() - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, - hl = { bg = colors.bg, bold = false }, -} - -local FileFormat = { - provider = function() - local fmt = vim.bo.fileformat - --return fmt ~= "unix" and fmt:upper() - return fmt ~= "unix" and fmt:lower() - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- FileSize and FileLastModified -local FileSize = { - provider = function() - -- stackoverflow, compute human readable file size - local suffix = { "b", "k", "M", "G", "T", "P", "E" } - local fsize = vim.fn.getfsize(vim.api.nvim_buf_get_name(0)) - fsize = (fsize < 0 and 0) or fsize - if fsize < 1024 then - return fsize .. suffix[1] - end - local i = math.floor((math.log(fsize) / math.log(1024))) - return string.format("%.2g%s", fsize / math.pow(1024, i), suffix[i + 1]) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - -local FileLastModified = { - -- did you know? Vim is full of functions! - provider = function() - local ftime = vim.fn.getftime(vim.api.nvim_buf_get_name(0)) - return (ftime > 0) and os.date("%c", ftime) - end, - hl = { fg = utils.get_highlight("Statusline").fg, bold = true, bg = colors.bg }, -} - --- Spell --- Add indicator when spell is set! -local Spell = { - condition = function() - return vim.wo.spell - end, - provider = " 暈", - hl = { bold = true, fg = colors.yellow }, -} - -local help_file_name = { - condition = function() - return vim.bo.filetype == "help" - end, - provider = function() - local filename = vim.api.nvim_buf_get_name(0) - return vim.fn.fnamemodify(filename, ":t") - end, - hl = { fg = colors.blue }, -} - --- Cursor position: Ruler ---local Ruler = { - -- %l = current line number - -- %L = number of lines in the buffer - -- %c = column number - -- %P = percentage through file of displayed window - --provider = "%P %(%l/%L%):%c ", - --provider = "%3(%2l%):%c %P ", - --provider = "%7(%l/%3L%):%2c%P ", - --provider = "%3(%P%)", - --provider = "%7(%l/%3L%):%2c %P", - --provider = "%7 %p%% Ln %l, Col %c", - --provider = "%9( %P %2l/%L :%2c %)", - --provider = "%9(%2l%2( : %c%)/%L %P %)", - --provider = "%7(%l:%c/%L%) ", - --provider = "%6(%l:%1.5c/%L%) %P ", - --provider = "%6(%l:%1.5c/%L%) ", - --provider = "%3(%l:%1.5c/%L%) ", - --provider = "%7(%l/%3L%):%2c ", --- provider = "%7(%l:%c%) ", - --provider = "%l:%c ", - --hl = { fg = utils.get_highlight("Statusline").fg, bold = true }, --- hl = { fg = colors.darkgray, bold = true }, ---} -local leftruler = { Space, Align } -local rightruler = { Align, Space } -local cursor_location = { - --{ provider = "", hl = { fg = utils.get_highlight("StatusLine").bg, bold = true } }, --- { provider = "%<%-05.10(%l:%c%)", hl = { fg = colors.darkgray, bold = true } }, --- { provider = " ", hl = { fg = colors.darkgray, bold = true } }, - --{ provider = "%P %=%<%(%l,%c)" }, - --{ provider = " %w%-8.(%l,%c%)%>" }, - { provider = " %1(%4l:%-3(%c%) %)%*", hl = { fg = colors.black, bold = true } }, -} -local Ruler = { cursor_location } - - --utils.make_flexible_component( - -- 3, - -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - -- { provider = "%<" } - --), ---local cursor_location = { --- { provider = "%7(%l:%c%) ", hl = { bold = true } }, --- { --- provider = " ", --- hl = function(self) --- local color = self:mode_color() --- return { fg = color, bold = true } --- end, --- }, ---} - -local WordCount = { - condition = function() - return conditions.buffer_matches({ - filetype = { - "markdown", - "txt", - "vimwiki", - }, - }) - end, - Space, - { - provider = function() - return "W:" .. vim.fn.wordcount().words - end, - }, -} - --- Working Directory -local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), -} - --- Snippets Indicator --- This requires ultisnips ---local Snippets = { --- -- check that we are in insert or select mode --- condition = function() --- return vim.tbl_contains({'s', 'i'}, vim.fn.mode()) --- end, --- provider = function() --- local forward = (vim.fn["UltiSnips#CanJumpForwards"]() == 1) and "" or "" --- local backward = (vim.fn["UltiSnips#CanJumpBackwards"]() == 1) and " " or "" --- return backward .. forward --- end, --- hl = { fg = "red", bold = true }, ---} - --- let's add the children to our FileNameBlock component -FileNameBlock = utils.insert( - FileNameBlock, - FileIcon, - utils.insert(FileNameModifier, FileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -local FileInfoBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, -} - -FileInfoBlock = utils.insert( - FileInfoBlock, - Space, - FileIcon, - FileType, - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - ---ViMode = utils.surround({ "", "" }, function(self) --- return self:mode_color() ---end, { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) ---local mysurroundedcomponent = { ---{provider='', hl = {...}}, ---{}, ---{provider = '>>>', hl = {...}} ---} -LeftSpace = utils.surround({ "", " " }, function(self) - return self:mode_color() -end, { LeftSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }) - -RightSpace = utils.surround( - { "", "" }, - colors.gray, - { RightSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } } -) - -RightSpace2 = utils.surround( - { "█", "" }, - colors.darkgray, - { RightSpace2, hl = { fg = colors.darkgray, force = true } } -) - -RightSpace3 = utils.surround( - { "█", "" }, - utils.get_highlight("statusline").bg, - { RightSpace3, hl = { fg = colors.darkgray, force = true } } -) - -LSPActive = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { Space, LSPActive, hl = { bg = colors.darkgray, force = true } }) - -FileInfoBlock = utils.surround({ "", "" }, function(self) - return self:mode_color() -end, { FileInfoBlock, Space, hl = { bg = colors.gray, force = true } }) - -Ruler = utils.surround({ "", "" }, colors.gray, { Ruler, hl = { fg = colors.gray, force = true } }) - -local left = { - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --{ LeftSep, hl = function(self) - -- return { fg = self.mode_colors[self.mode], bg = utils.get_highlight("statusline").bg, bold = true, } - -- end, - --}, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileNameBlock, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Git, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local middle = { - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} -local right = { - { Diagnostics, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { - RightSpace3, - hl = { bg = colors.darkgray, force = true }, - }, - { LSPActive, hl = { bg = colors.darkgray, force = true } }, - { RightSpace2, hl = { bg = colors.gray, force = true } }, - { FileInfoBlock, hl = { bg = colors.gray, force = true } }, - { RightSpace, hl = { fg = colors.gray, force = true } }, - --{ cursor_location, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --utils.make_flexible_component( - -- 3, - -- { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - -- { provider = "%<" } - --), -} ---local Align = { provider = "%=", hl = { bg = colors.bg } } - -local sections = { left, middle, right } -local DefaultStatusline = { sections } ---LSPActive, Space, LSPMessages, Space, UltTest, Space, FileType, Space, Ruler, Space, ScrollBar - -local InactiveStatusline = { - condition = conditions.is_not_active, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileName, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, -} - -local SpecialStatusline = { - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - - --FileType, - --Space, - --Align, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, -} - -local TerminalStatusline = { - - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - - --hl = { bg = colors.red }, - - -- Quickly add a condition to the ViMode to only show it when buffer is active! - --{ condition = conditions.is_active, ViMode, Space }, - { ViMode, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { LeftSpace, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { FileType, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Space, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { RightSpace, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - { Ruler, hl = { fg = utils.get_highlight("statusline").bg, force = true } }, - --FileType, - --Space, - --TerminalName, - --Align, -} - -local StatusLine = { - - --hl = function() - -- if conditions.is_active() then - -- return "StatusLine" - -- else - -- return "StatusLineNC" - -- end - --end, - static = { - mode_colors = { - n = colors.blue, - i = colors.green, - v = colors.purple, - V = colors.purple, - ["\22"] = colors.purple, - c = colors.orange, - s = colors.purple, - S = colors.purple, - ["\19"] = colors.purple, - R = colors.red, - r = colors.red, - ["!"] = colors.orange, - t = colors.orange, - }, - mode_color = function(self) - local mode = conditions.is_active() and vim.fn.mode() or "n" - return self.mode_colors[mode] - end, - hl = function(self) - local color = self:mode_color() -- here! - return { bg = color } - end, - }, - fallthrough = false, - - SpecialStatusline, - TerminalStatusline, - InactiveStatusline, - DefaultStatusline, -} - - --- ---- WinBar --- -local WinbarFileNameBlock = { - -- let's first set up some attributes needed by this component and it's children - init = function(self) - self.filename = vim.api.nvim_buf_get_name(0) - end, - hl = { bg = colors.bg }, -} - ---local WinbarFileName = { --- provider = function(self) --- -- self.filename will be defined later, just keep looking at the example! --- local filename = self.filename --- filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") --- return filename --- end, --- hl = function() --- return { fg = colors.gray, italic = true } --- end, ---} -local WinbarFileName = { - provider = function(self) - -- first, trim the pattern relative to the current directory. For other - -- options, see :h filename-modifers - local filename = vim.fn.fnamemodify(self.filename, ":.") - if filename == "" then - return "No Name" - end - -- now, if the filename would occupy more than 1/4th of the available - -- space, we trim the file path to its initials - -- See Flexible Components section below for dynamic truncation - if not conditions.width_percent_below(#filename, 0.25) then - filename = vim.fn.pathshorten(filename) - end - return filename - end, - --hl = { fg = utils.get_highlight("Statusline").fg, bold = false, bg = colors.bg }, - hl = { fg = colors.gray, bold = false, bg = colors.bg }, -} - -WinbarFileNameBlock = utils.insert( - WinbarFileNameBlock, - FileIcon, - utils.insert(WinbarFileName), -- a new table where FileName is a child of FileNameModifier - unpack(FileFlags), -- A small optimisation, since their parent does nothing - { provider = "%<" } -- this means that the statusline is cut here when there's not enough space -) - -vim.api.nvim_create_autocmd("User", { - pattern = "HeirlineInitWinbar", - callback = function(args) - local buf = args.buf - local buftype = vim.tbl_contains({ "prompt", "nofile", "help", "quickfix" }, vim.bo[buf].buftype) - local filetype = vim.tbl_contains({ "gitcommit", "fugitive" }, vim.bo[buf].filetype) - if buftype or filetype then - vim.opt_local.winbar = nil - end - end, -}) - -On_click = { - -- get the window id of the window in which the component was evaluated - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - -- winid is the window id of the window the component was clicked from - local winid = minwid - -- do something with the window id, e.g.: - local buf = vim.api.nvim_win_get_buf(winid) - -- ... - end, -} - -local CloseButton = { - condition = function(self) - return not vim.bo.modified - end, - -- a small performance improvement: - -- re register the component callback only on layout/buffer changes. - update = { "WinNew", "WinClosed", "BufEnter" }, - { provider = " " }, - { - provider = "", - hl = { fg = "gray" }, - On_click = { - minwid = function() - return vim.api.nvim_get_current_win() - end, - callback = function(_, minwid) - vim.api.nvim_win_close(minwid, true) - end, - name = "heirline_winbar_close_button", - }, - }, -} - -local Center = { - fallthrough = false, - { -- Hide the winbar for special buffers - condition = function() - return conditions.buffer_matches({ - buftype = { "nofile", "prompt", "help", "quickfix" }, - filetype = { "^git.*", "fugitive" }, - }) - end, - init = function() - vim.opt_local.winbar = nil - end, - }, - { -- A special winbar for terminals - condition = function() - return conditions.buffer_matches({ buftype = { "terminal" } }) - end, - FileType, - Space, - --TerminalName, - }, - { -- An inactive winbar for regular files - condition = function() - return not conditions.is_active() - end, - --utils.surround({ "", "" }, colors.nobg, { FileIcon, { WinbarFileName, hl = { fg = colors.gray } }, FileFlags } ), - utils.surround({ "", "" }, colors.nobg, { WinbarFileNameBlock } ), - }, - -- A winbar for regular files - utils.surround({ "", "" }, colors.nobg, { FileNameBlock }), -} - ---local WinBar = { Align, Center, Align } -local WinBar = { Space, Center } - - --- TabLine -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - hl = { fg = colors.white, bold = false }, -} - --- we redefine the filename component, as we probably only want the tail and not the relative path -local TablineFileName = { - provider = function(self) - -- self.filename will be defined later, just keep looking at the example! - local filename = self.filename - filename = filename == "" and "No Name" or vim.fn.fnamemodify(filename, ":t") - return filename - end, - hl = function(self) - return { fg = colors.white, bold = self.is_active or self.is_visible, italic = true } - end, -} - -local TablineFileFlags = { - { - provider = function(self) - if vim.bo[self.bufnr].modified then - return " [+] " - end - end, - hl = { fg = colors.green }, - }, - { - provider = function(self) - if not vim.bo[self.bufnr].modifiable or vim.bo[self.bufnr].readonly then - return "  " - end - end, - hl = { fg = "orange" }, - }, -} - -local TablineFileIcon = { - init = function(self) - local filename = self.filename - local extension = vim.fn.fnamemodify(filename, ":e") - self.icon, self.icon_color = - require("nvim-web-devicons").get_icon_color(filename, extension, { default = true }) - end, - provider = function(self) - return self.icon and (" " .. self.icon .. " ") - end, - hl = function(self) - return { fg = self.icon_color } - end, -} - --- Here the filename block finally comes together -local TablineFileNameBlock = { - init = function(self) - self.filename = vim.api.nvim_buf_get_name(self.bufnr) - end, - hl = function(self) - if self.is_active then - return "TabLineSel" - -- why not? - --elseif not vim.api.nvim_buf_is_loaded(self.bufnr) then - --return { fg = "gray", bg = colors.bg } - else - return "TabLineFill" - end - end, - on_click = { - callback = function(_, minwid, _, button) - if button == "m" then -- close on mouse middle click - vim.api.nvim_buf_delete(minwid, { force = false }) - else - vim.api.nvim_win_set_buf(0, minwid) - end - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_buffer_callback", - }, - TablineBufnr, - TablineFileIcon, - TablineFileName, - TablineFileFlags, -} - --- a nice "x" button to close the buffer -local TablineCloseButton = { - condition = function(self) - return not vim.api.nvim_buf_get_option(self.bufnr, "modified") - end, - { provider = " " }, - { - provider = " ", - --hl = { fg = "red", bg = colors.bg }, - hl = { fg = colors.red }, - on_click = { - callback = function(_, minwid) - vim.api.nvim_buf_delete(minwid, { force = false }) - end, - minwid = function(self) - return self.bufnr - end, - name = "heirline_tabline_close_buffer_callback", - }, - }, -} - --- The final touch! -local TablineBufferBlock = utils.surround({ "", "" }, function(self) - --local TablineBufferBlock = utils.surround({ "█", "█" }, function(self) - if self.is_active then - return utils.get_highlight("TabLineSel").bg - else - return utils.get_highlight("TabLineFill").bg - end -end, { Tab, TablineFileNameBlock, TablineCloseButton }) - -local BufferLine = utils.make_buflist( - TablineBufferBlock, - { provider = "􀰎 ", hl = { fg = colors.white } }, -- left truncation, optional (defaults to "<") - { provider = " 􀰓", hl = { fg = colors.white } } -- right trunctation, also optional (defaults to ...... yep, ">") - -- by the way, open a lot of buffers and try clicking them ;) -) --- TabList -local Tabpage = { - provider = function(self) - return "%" .. self.tabnr .. "T " .. self.tabnr .. " %T" - end, - hl = function(self) - if not self.is_active then - return "TabLineFill" - else - return "TabLineSel" - end - end, -} - -local TabpageClose = { - provider = "%999X  %X", - --hl = "TabLine", - hl = { fg = colors.red, bg = colors.bg }, -} - -local TabPages = { - -- only show this component if there's 2 or more tabpages - condition = function() - return #vim.api.nvim_list_tabpages() >= 2 - end, - { - provider = "%=", - }, - utils.make_tablist(Tabpage), - TabpageClose, -} - --- TabLineOffset -local TabLineOffset = { - condition = function(self) - local win = vim.api.nvim_tabpage_list_wins(0)[1] - local bufnr = vim.api.nvim_win_get_buf(win) - self.winid = win - - if vim.api.nvim_buf_get_option(bufnr, "filetype") == "NvimTree" then - self.title = "NvimTree" - return true - end - end, - - provider = function(self) - local title = self.title - local width = vim.api.nvim_win_get_width(self.winid) - local pad = math.ceil((width - #title) / 2) - return string.rep(" ", pad) .. title .. string.rep(" ", pad) - end, - - hl = function(self) - if vim.api.nvim_get_current_win() == self.winid then - return "TablineSel" - else - return "TablineFill" - end - end, -} - -local TabLine = { - TabLineOffset, - BufferLine, - TabPages, -} - -require("heirline").setup(StatusLine, WinBar, TabLine) - --- Yep, with heirline we're driving manual! ---vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) --- ---local function get_bufs() --- return vim.tbl_filter(function(bufnr) --- return vim.api.nvim_buf_is_loaded(bufnr) and vim.bo[bufnr].buflisted --- end, vim.api.nvim_list_bufs()) ---end --- ---local function goto_buf(index) --- local bufs = get_bufs() --- if index > #bufs then --- index = #bufs --- end --- vim.api.nvim_win_set_buf(0, bufs[index]) ---end --- ---local function addKey(key, index) --- vim.keymap.set("", "", function() --- goto_buf(index) --- end, { noremap = true, silent = true }) ---end --- ---for i = 1, 9 do --- addKey(i, i) ---end ---addKey("0", 10) diff --git a/lua/user/linecolor.lua b/lua/user/linecolor.lua deleted file mode 100644 index 37550dd..0000000 --- a/lua/user/linecolor.lua +++ /dev/null @@ -1,112 +0,0 @@ ---local M = {} ---M.theme = function() --- -- I know I could just set bg = nil but I'm leaving this here in case I want custom colors in the future --- local colors = { --- nobg = nil, --- blue = "#87b0f9", --- mauve = "#cba6f7", --- red = "#f38ba8", --- green = "#a6e3a1", --- peach = "#fab387", --- white = "#c6d0f5", --- gray = "#a1a8c9", --- black = "#1e1e2e", --- } --- return { --- inactive = { --- a = { fg = colors.blue, bg = colors.nobg, gui = "bold" }, --- b = { fg = colors.white, bg = colors.black }, --- c = { fg = colors.gray, bg = colors.nobg }, --- }, --- visual = { --- a = { fg = colors.black, bg = colors.mauve, gui = "bold" }, --- b = { fg = colors.mauve, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- replace = { --- a = { fg = colors.black, bg = colors.red, gui = "bold" }, --- b = { fg = colors.red, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- normal = { --- a = { fg = colors.black, bg = colors.blue, gui = "bold" }, --- b = { fg = colors.black, bg = colors.green }, --- c = { fg = colors.white, bg = colors.black }, --- }, --- insert = { --- a = { fg = colors.black, bg = colors.green, gui = "bold" }, --- b = { fg = colors.teal, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- command = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.nobg }, --- c = { fg = colors.white, bg = colors.nobg }, --- }, --- modified = { --- a = { fg = colors.black, bg = colors.peach, gui = "bold" }, --- b = { fg = colors.peach, bg = colors.peach }, --- c = { fg = colors.white, bg = colors.peach }, --- }, --- } ---end ---return M -local M = {} -M.theme = function() - --local colors = { - -- darkgray = "#16161d", - -- gray = "#727169", - -- innerbg = nil, - -- outerbg = "#16161D", - -- normal = "#7e9cd8", - -- insert = "#98bb6c", - -- visual = "#ffa066", - -- replace = "#e46876", - -- command = "#e6c384", - --} - local colors = { - darkgray = "#16161d", - gray = "#727169", - innerbg = nil, - outerbg = "#16161D", - normal = "#39BAE6", - insert = "#AAD94C", - visual = "#FA8D3F", - replace = "#F07171", - command = "#F2AE49", - } - return { - inactive = { - a = { fg = colors.gray, bg = colors.outerbg, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - visual = { - a = { fg = colors.darkgray, bg = colors.visual, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - replace = { - a = { fg = colors.darkgray, bg = colors.replace, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - normal = { - a = { fg = colors.darkgray, bg = colors.normal, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - y = { fg = colors.gray, bg = colors.outerbg }, - }, - insert = { - a = { fg = colors.darkgray, bg = colors.insert, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - command = { - a = { fg = colors.darkgray, bg = colors.command, gui = "bold" }, - b = { fg = colors.gray, bg = colors.outerbg }, - c = { fg = colors.gray, bg = colors.innerbg }, - }, - } -end -return M diff --git a/lua/user/lsp-colors.lua b/lua/user/lsp-colors.lua deleted file mode 100644 index 1398123..0000000 --- a/lua/user/lsp-colors.lua +++ /dev/null @@ -1,9 +0,0 @@ -local status, colors = pcall(require, "lsp-colors") -if (not status) then return end - -colors.setup { - Error = "#db4b4b", - Warning = "#e0af68", - Information = "#0db9d7", - Hint = "#10B981" -} diff --git a/lua/user/lsp.lua b/lua/user/lsp.lua deleted file mode 100644 index 5d422a3..0000000 --- a/lua/user/lsp.lua +++ /dev/null @@ -1,584 +0,0 @@ - -local fn = vim.fn -local keymap = vim.keymap - -local utils = require("user.utils") - -local custom_attach = function(client, bufnr) - -- Enable completion triggered by - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.noremap = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end ---map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location ---map("n", "gp", "Lspsaga peek_definition") --- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) - map("n", "", vim.lsp.buf.definition) --- map("n", "K", vim.lsp.buf.hover) --- map("n", "", vim.lsp.buf.signature_help) --- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) --- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) --- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) --- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) - map("n", "q", function() - vim.diagnostic.setqflist({ open = true }) - end, { desc = "put diagnostic to qf" }) --- --map.('n', 'q', vim.diagnostic.setloclist) --- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) --- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) --- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) --- map("n", "wl", function() --- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) --- end, { desc = "list workspace folder" }) --- map("n", "gs", "vim.lsp.buf.document_symbol()") --- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) --- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") --- map("n", "gt", ":lua vim.lsp.buf.type_definition()") --- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. --- map("n", "gi", ":lua vim.lsp.buf.implementation()") - map("n", "go", ":lua vim.diagnostic.open_float()") --- map("n", "gk", "Lspsaga diagnostic_jump_prev") --- map("n", "gj", "Lspsaga diagnostic_jump_next") ---vim.api.nvim_set_keymap('n', 'dd', 'lua vim.diagnostic.setloclist()', { noremap = true, silent = true }) -vim.g.diagnostics_visible = true -function _G.toggle_diagnostics() - if vim.g.diagnostics_visible then - vim.g.diagnostics_visible = false - vim.diagnostic.disable() - else - vim.g.diagnostics_visible = true - vim.diagnostic.enable() - end -end -map('n', 'm', ':call v:lua.toggle_diagnostics()') ---vim.g.diagnostics_active = true ---function _G.toggle_diagnostics() --- if vim.g.diagnostics_active then --- vim.g.diagnostics_active = false --- vim.lsp.diagnostic.clear(0) --- vim.cmd([[exe "normal ii\x"]]) --- vim.lsp.handlers["textDocument/publishDiagnostics"] = function() end --- else --- vim.g.diagnostics_active = true --- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( --- vim.lsp.diagnostic.on_publish_diagnostics, { --- virtual_text = true, --- signs = true, --- underline = true, --- update_in_insert = false, --- } --- ) --- end ---end --- ---map("n", "i", ":call v:lua.toggle_diagnostics()") - - - -- Set some key bindings conditional on server capabilities - if client.server_capabilities.documentFormattingProvider then - map("n", "f", vim.lsp.buf.format, { desc = "format code" }) - end - - -- add rust specific keymappings - if client.name == "rust_analyzer" then - map("n", "rr", "RustRunnables") - map("n", "ra", "RustHoverAction") - end - ---For diagnostics for specific cursor position ---vim.api.nvim_create_autocmd("CursorHold", { --- buffer = bufnr, --- callback = function() --- local opts = { --- focusable = false, --- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, --- border = 'rounded', --- source = 'always', --- prefix = ' ', --- scope = 'cursor', --- } --- vim.diagnostic.open_float(nil, opts) --- end ---}) - -- Diagnostic position --- vim.api.nvim_create_autocmd("CursorHold", { --- buffer = bufnr, --- callback = function() --- local float_opts = { --- focusable = false, --- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, --- border = "rounded", --- source = "always", -- show source in diagnostic popup window --- prefix = " ", --- } --- --- if not vim.b.diagnostics_pos then --- vim.b.diagnostics_pos = { nil, nil } --- end --- --- local cursor_pos = vim.api.nvim_win_get_cursor(0) --- if --- (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) --- and #vim.diagnostic.get() > 0 --- then --- vim.diagnostic.open_float(nil, float_opts) --- end --- --- vim.b.diagnostics_pos = cursor_pos --- end, --- }) - - -- The below command will highlight the current variable and its usages in the buffer. - if client.server_capabilities.documentHighlightProvider then - vim.cmd([[ - hi! link LspReferenceRead Visual - hi! link LspReferenceText Visual - hi! link LspReferenceWrite Visual - augroup lsp_document_highlight - autocmd! * - autocmd CursorHold lua vim.lsp.buf.document_highlight() - autocmd CursorMoved lua vim.lsp.buf.clear_references() - augroup END - ]]) - end - - if vim.g.logging_level == "debug" then - local msg = string.format("Language server %s started!", client.name) - vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) - end -end - -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) -capabilities.textDocument.completion.completionItem.snippetSupport = true -capabilities.offsetEncoding = { "utf-16" } - -local lspconfig = require("lspconfig") - -if utils.executable("pylsp") then - lspconfig.pylsp.setup({ - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, - }, - }, - flags = { - debounce_text_changes = 200, - }, - capabilities = capabilities, - }) -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) --- end - -if utils.executable("clangd") then - lspconfig.clangd.setup({ - on_attach = custom_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - }) -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup({ - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - }) -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup({ - on_attach = custom_attach, - capabilities = capabilities, - }) -end - -if utils.executable("lua-language-server") then - lspconfig.sumneko_lua.setup({ - on_attach = custom_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - }) -end - - -if utils.executable("rust-language-server") then -require("lspconfig").rust_analyzer.setup{ - cmd = { "rustup", "run", "nightly", "rust-analyzer" }, - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - --[[ - settings = { - rust = { - unstable_features = true, - build_on_save = false, - all_features = true, - }, - } - --]] -} -end - ---vim.diagnostic.config({ --- virtual_text = false, --- underline = true, ---}) -vim.diagnostic.config({ - underline = false, - signs = true, - virtual_text = false, - float = { - show_header = true, - source = 'if_many', - border = 'rounded', - focusable = false, - }, - update_in_insert = false, -- default to false - severity_sort = false, -- default to false -}) --- Show line diagnostics automatically in hover window ---vim.o.updatetime = 250 ---vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] ---vim.cmd ([[ noremap a :autocmd! CursorHold,CursorHoldI ]]) - ---vim.cmd [[ noremap a :autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] ---local diagnostics_active = true ---local toggle_diagnostics = function() --- diagnostics_active = not diagnostics_active --- if diagnostics_active then --- vim.o.updatetime = 250 --- vim.cmd ([[autocmd! CursorHold,CursorHoldI ]]) --- --vim.diagnostic.open_float(nil, {focus=false}) --- else --- vim.o.updatetime = 250 --- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] --- --vim.diagnostic.hide() --- --vim.diagnostic.disable() --- end ---end ---vim.keymap.set("n", "a", toggle_diagnostics) - ---function LspDiagnosticsFocus() --- vim.api.nvim_command('set eventignore=WinLeave') --- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') --- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) ---end ---vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) - --vim.o.updatetime = 250 - --- vim.o.updatetime = 250 -----vim.o.updatetime = 250 -----vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] -----local diagnostics_active = true ---local toggle_diagnostics = function() --- --diagnostics_active = not diagnostics_active --- --if diagnostics_active then --- --if vim.diagnostic.open_float() == true then --- if vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] ---, true) then --- vim.api.nvim_exec([[autocmd! CursorHold,CursorHoldI ]] ---, true) --- else --- vim.o.updatetime = 250 --- vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]], true) --- end ---end ---vim.keymap.set("n", "a", toggle_diagnostics) --- ---vim.api.nvim_create_autocmd('CursorHold', { --- vim.diagnostic.open_float(nil, {focus=false}) --- ---}) - -vim.o.updatetime = 250 -vim.cmd[[ -augroup OpenFloat - autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) - -augroup END -]] -vim.cmd([[ -function! ToggleDiagnosticsOpenFloat() - " Switch the toggle variable - let g:DiagnosticsOpenFloat = !get(g:, 'DiagnosticsOpenFloat', 1) - - " Reset group - augroup OpenFloat - autocmd! - augroup END - - " Enable if toggled on - if g:DiagnosticsOpenFloat - augroup OpenFloat - autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled . . .") - augroup END - endif -endfunction -nnoremap a :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." -]]) - ---vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( --- vim.lsp.handlers.hover, { --- signs = true, --- underline = false, --- virtual_text = false, --- show_diagnostic_autocmds = {'InsertLeave', 'TextChanged'}, --- diagnostic_delay = 500 --- }) ---vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float(0, {scope="cursor", close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}})]] - ---function LspDiagnosticsFocus() --- vim.api.nvim_command('set eventignore=WinLeave') --- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') --- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) ---end ---vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) - ---local diagnostics_active = true ---map('n', 'a', function() --- diagnostics_active = not diagnostics_active --- if diagnostics_active then --- vim.diagnostic.show() --- else --- vim.diagnostic.hide() --- end ---end) - --- Global config for diagnostic ---vim.diagnostic.config({ --- underline = false, --- virtual_text = false, --- signs = true, --- severity_sort = true, --- float = { --- focusable = true, -- --- style = "minimal", -- --- --border = "rounded", --- border = "shadow", --- source = "always", --- header = "", --- prefix = "", --- }, ---}) - -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - underline = true, - virtual_text = false, - signs = true, - update_in_insert = false, -}) - ---vim.lsp.buf.definition -vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - ---vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - -vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) - ---local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } ---local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } -local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } -for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) -end - - ----- Location information about the last message printed. The format is ----- `(did print, buffer number, line number)`. ---local last_echo = { false, -1, -1 } --- ----- The timer used for displaying a diagnostic in the commandline. ---local echo_timer = nil --- ----- The timer after which to display a diagnostic in the commandline. ---local echo_timeout = 250 --- ----- The highlight group to use for warning messages. ---local warning_hlgroup = 'WarningMsg' --- ----- The highlight group to use for error messages. ---local error_hlgroup = 'ErrorMsg' --- ----- If the first diagnostic line has fewer than this many characters, also add ----- the second line to it. ---local short_line_limit = 20 --- ----- Shows the current line's diagnostics in a floating window. ---function show_line_diagnostics() --- vim --- .lsp --- .diagnostic --- .show_line_diagnostics({ severity_limit = 'Warning' }, vim.fn.bufnr('')) ---end --- ----- Prints the first diagnostic for the current line. ---function echo_diagnostic() --- if echo_timer then --- echo_timer:stop() --- end --- --- echo_timer = vim.defer_fn( --- function() --- local line = vim.fn.line('.') - 1 --- local bufnr = vim.api.nvim_win_get_buf(0) --- --- if last_echo[1] and last_echo[2] == bufnr and last_echo[3] == line then --- return --- end --- --- local diags = vim --- .lsp --- .diagnostic --- .get_line_diagnostics(bufnr, line, { severity_limit = 'Warning' }) --- --- if #diags == 0 then --- -- If we previously echo'd a message, clear it out by echoing an empty --- -- message. --- if last_echo[1] then --- last_echo = { false, -1, -1 } --- --- vim.api.nvim_command('echo ""') --- end --- --- return --- end --- --- last_echo = { true, bufnr, line } --- --- local diag = diags[1] --- local width = vim.api.nvim_get_option('columns') - 15 --- local lines = vim.split(diag.message, "\n") --- local message = lines[1] --- local trimmed = false --- --- if #lines > 1 and #message <= short_line_limit then --- message = message .. ' ' .. lines[2] --- end --- --- if width > 0 and #message >= width then --- message = message:sub(1, width) .. '...' --- end --- --- local kind = 'warning' --- local hlgroup = warning_hlgroup --- --- if diag.severity == vim.lsp.protocol.DiagnosticSeverity.Error then --- kind = 'error' --- hlgroup = error_hlgroup --- end --- --- local chunks = { --- { kind .. ': ', hlgroup }, --- { message } --- } --- --- vim.api.nvim_echo(chunks, false, {}) --- end, --- echo_timeout --- ) ---end ---vim.cmd([[ --- autocmd CursorMoved * :lua echo_diagnostic() ---]]) --- Highlight line number instead of having icons in sign column - --- See the properties of the signs with sign list. - ---vim.cmd [[ --- highlight! DiagnosticLineNrError guibg=#51202A guifg=#FF0000 gui=bold --- highlight! DiagnosticLineNrWarn guibg=#51412A guifg=#FFA500 gui=bold --- highlight! DiagnosticLineNrInfo guibg=#1E535D guifg=#00FFFF gui=bold --- highlight! DiagnosticLineNrHint guibg=#1E205D guifg=#0000FF gui=bold --- --- sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl=DiagnosticLineNrError --- sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl=DiagnosticLineNrWarn --- sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl=DiagnosticLineNrInfo --- sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl=DiagnosticLineNrHint ---]] - --- Highlight symbol under cursor - --- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. - ---if client.resolved_capabilities.document_highlight then --- vim.cmd [[ --- hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow --- hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow --- hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow --- ]] --- vim.api.nvim_create_augroup('lsp_document_highlight', { --- clear = false --- }) --- vim.api.nvim_clear_autocmds({ --- buffer = bufnr, --- group = 'lsp_document_highlight', --- }) --- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { --- group = 'lsp_document_highlight', --- buffer = bufnr, --- callback = vim.lsp.buf.document_highlight, --- }) --- vim.api.nvim_create_autocmd('CursorMoved', { --- group = 'lsp_document_highlight', --- buffer = bufnr, --- callback = vim.lsp.buf.clear_references, --- }) ---end - diff --git a/lua/user/lspkind.lua b/lua/user/lspkind.lua deleted file mode 100644 index 72ca5c2..0000000 --- a/lua/user/lspkind.lua +++ /dev/null @@ -1,47 +0,0 @@ -local status, lspkind = pcall(require, "lspkind") -if (not status) then return end - -lspkind.init({ - -- enables text annotations - -- - -- default: true - mode = 'symbol', - - -- default symbol map - -- can be either 'default' (requires nerd-fonts font) or - -- 'codicons' for codicon preset (requires vscode-codicons font) - -- - -- default: 'default' - preset = 'codicons', - - -- override preset symbols - -- - -- default: {} - symbol_map = { - Text = "", - Method = "", - Function = "", - Constructor = "", - Field = "ﰠ", - Variable = "", - Class = "ﴯ", - Interface = "", - Module = "", - Property = "ﰠ", - Unit = "塞", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "פּ", - Event = "", - Operator = "", - TypeParameter = "" - }, -}) diff --git a/lua/user/lspsaga.lua b/lua/user/lspsaga.lua deleted file mode 100644 index 0bf1ec7..0000000 --- a/lua/user/lspsaga.lua +++ /dev/null @@ -1,145 +0,0 @@ -require "lspsaga".init_lsp_saga { - -- "single" | "double" | "rounded" | "bold" | "plus" - border_style = "rounded", - --border_style = "single", - saga_winblend = 30, - move_in_saga = { next = '', prev = '' }, - --move_in_saga = { prev = "k", next = "j" }, - scroll_in_preview = { - scroll_down = "", - scroll_up = "", - }, - diagnostic_header = { " ", " ", " ", " " }, - -- add bracket or something with diagnostic source, just have 2 elements - -- use emoji lightbulb in default - code_action_icon = "", - --code_action_icon = "ﯦ ", - -- if true can press number to execute the codeaction in codeaction window - code_action_num_shortcut = true, - -- same as nvim-lightbulb but async - code_action_lightbulb = { - enable = false, - sign = false, - sign_priority = 20, -- - virtual_text = false, - }, - finder_icons = { - def = " ", - ref = " ", - link = " ", - }, - -- preview lines of lsp_finder and definition preview - max_preview_lines = 5, - definition_action_keys = { - edit = '', - vsplit = '', - split = '', - tabe = '', - quit = '', - }, - -- definition_preview_quit = '', - -- finder_preview_hl_ns = 8, - finder_action_keys = { - open = { 'o', '' }, - vsplit = "v", - split = "s", - tabe = "t", - quit = "", - scroll_down = "", - scroll_up = "", -- quit can be a table - }, - code_action_keys = { - quit = "", - exec = "", - }, - rename_action_quit = "", - rename_in_select = true, - symbol_in_winbar = { - enable = true, - --in_custom = false, - in_custom = true, - separator = '  ', - --show_file = false, - show_file = true, - click_support = false, - --click_support = false, - }, - --show_outline = { - -- win_position = 'right', - -- --set special filetype win that outline window split.like NvimTree neotree - -- -- defx, db_ui - -- min_with = '', - -- win_width = 40, - -- auto_enter = false, - -- auto_preview = true, - -- virt_text = 'x', - -- jump_key = 'l', - -- -- auto refresh when change buffer - -- auto_refresh = true, - --}, - custom_kind = { - File = { " " }, - Module = { " " }, - Namespace = { "ﱕ " }, - Package = { " " }, - Class = { "ﴯ " }, - Method = { "" }, - Property = { "ﰠ " }, - Field = { "ﰠ " }, - Constructor = { " " }, - Enum = { " " }, - Interface = { " " }, - Function = { " " }, - Variable = { " " }, - Constant = { " " }, - String = { " " }, - Number = { " " }, - Boolean = { " " }, - Array = { " " }, - Object = { " " }, - Key = { "- " }, - Null = { " " }, - EnumMember = { " " }, - Struct = { " " }, - Event = { " " }, - Operator = { " " }, - TypeParameter = { " " }, - TypeAlias = { " " }, - Parameter = { " " }, - StaticMethod = { " " }, - Macro = { "廓" }, - }, -} - - -- Mappings. -local map = vim.api.nvim_set_keymap -local opts = { noremap = true, silent = true } - -map("n", "gd", "Lspsaga peek_definition", opts) ---map("n", "gp", "Lspsaga peek_definition", opts) -map("n", "gi", "Lspsaga lsp_finder", opts) -map("n", "gh", "Lspsaga hover_doc", opts) -map("n", "gs", "Lspsaga signature_help", opts) -map("n", "ga", "Lspsaga code_action", opts) -map("v", "ga", "Lspsaga range_code_action", opts) -map("n", "gl", "Lspsaga show_line_diagnostics", opts) ---map("n", "go", "Lspsaga open_floaterm zsh", opts) -map("n", ";D", "Lspsaga show_cursor_diagnostics", opts) -map("n", "", "Lspsaga rename", opts) -map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) -map("n", "gj", "Lspsaga diagnostic_jump_next", opts) -map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) -map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) -map("t", "", "Lspsaga close_floaterm", opts) - ---vim.api.nvim_command("highlight LspFloatWinNormal guibg=none ") ---hi LspFloatWinNormal guibg=none - - --- vim.api.nvim_create_autocmd("BufEnter", { --- callback = function () --- if #vim.api.nvim_list_wins() == 1 and vim.bo.filetype == "lspsagaoutline" then --- vim.cmd "quit" --- end --- end --- }) diff --git a/lua/user/lualine.lua b/lua/user/lualine.lua deleted file mode 100644 index 9d86e21..0000000 --- a/lua/user/lualine.lua +++ /dev/null @@ -1,423 +0,0 @@ -local lualine_status_ok, lualine = pcall(require, "lualine") -if not lualine_status_ok then - print("lualine.nvim is etiher broken or is not installed.") - return -end - ---local colors = require('tokyonight.colors').setup() ---local colors = { ---bg_dark = "#1f2335", ---bg = "#24283b", ---fg = "#c0caf5", ---fg_gutter = "#3b4261", ---green = "#a6e3a1", ---red = "#f38ba8", ---} - ---local colors = { --- gray = '#23232e', --- lightgray = '#5f6a8e', --- orange = '#ffb86c', --- purple = '#bd93f9', --- red = '#ff5555', --- yellow = '#f1fa8c', --- green = '#50fa7b', --- white = '#f8f8f2', --- black = '#282a36', ---} -local colors = { - nobg = nil, - blue = "#87b0f9", - mauve = "#cba6f7", - red = "#f38ba8", - green = "#a6e3a1", - peach = "#fab387", - white = "#c6d0f5", - gray = "#a1a8c9", - black = "#1e1e2e", - innerbg = nil, - outerbg = "#16161D", -} ---require("lualine").setup({ --- Your lua part of config goes here -require("lualine").setup({ - options = { - icons_enabled = true, - --theme = "auto", - theme = require("plugins.linecolor").theme(), - --theme = { - -- We are going to use lualine_c an lualine_x as left and - -- right section. Both are highlighte by c theme . So we - -- are just setting default looks o statusline - --normal = { c = { fg = colors.fg, bg = colors.bg } }, - --inactive = { c = { fg = colors.fg, bg = colors.bg } }, - --}, - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - --component_separators = { left = '|', right = '|'}, - --section_separators = { left = '', right = ''}, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - globalstatus = true, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - }, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { - "branch", - { - "diff", - colored = true, - diff_color = { - added = "DiffAdd", - modified = "DiffChange", - removed = "DiffDelete", - }, - }, - { - "diagnostics", - - sources = { "nvim_lsp" }, - sections = { "error", "warn", "info" }, - - diagnostics_color = { - error = "DiagnosticError", - warn = "DiagnosticWarn", - info = "DiagnosticInfo", - }, - colored = true, - update_in_insert = false, - always_visible = false, - }, - }, - --lualine_b = { "branch", "diff", "diagnostics" }, - lualine_c = { - --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}}, - --{"filename", padding={left=0}, color = {gui = "bold,italic"}}, - --{ "filetype", - -- icon_only = true, - --}, - { - "filename", - --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' }, - --component_separators = {left = "", right = ""}, - }, - }, - lualine_x = { "encoding", "fileformat", "filetype" }, - --lualine_x = { - -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}}, - --}, - lualine_y = { "progress" }, - lualine_z = { "location" }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - -- tabline = {}, - tabline = { - --lualine_a = { "mode" }, - --lualine_a = {custom_fname}, - lualine_a = { - { - "buffers", - show_filename_only = false, - show_modified_status = true, - mode = 4, - buffers_color = { - active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer - --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer - --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer - --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer - ----color = function() - ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' } - ----end, - }, - symbols = { - modified = " ●", -- Text to show when the buffer is modified - alternate_file = "", -- Text to show to identify the alternate file - --directory = "", -- Text to show when the buffer is a directory - }, - max_length = vim.o.columns * 5 / 6, - --{{function() - -- local bg = 'hi! lualine_buffers_color' -- not modified - -- if vim.bo.modified then bg = '#c70039' -- unsaved - -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly - -- vim.cmd('hi! lualine_buffers_color guibg='..bg) - --end, - --color = 'hi! lualine_buffers_color', - --}}, - }, - }, - lualine_b = {}, - lualine_c = {}, - lualine_x = {}, - lualine_y = {}, - lualine_z = {}, - --lualine_z = { "tabs" }, - }, - --tabline = { - -- lualine_a = { "mode" }, - -- lualine_b = { "buffers" }, - -- lualine_c = { "branch" }, - -- --lualine_c = { "branch", "diff", "diagnostics" }, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = { "tabs" }, - --}, - --winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {'filename'}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - --inactive_winbar = { - -- lualine_a = {}, - -- lualine_b = {}, - -- lualine_c = {}, - -- lualine_x = {}, - -- lualine_y = {}, - -- lualine_z = {} - --}, - winbar = {}, - inactive_winbar = {}, - --extensions = {}, - extensions = { "quickfix" }, -}) ---require("lualine").statusline() ---require("lualine").tabline() ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local lualine_status_ok, lualine = pcall(require, "lualine") ---if not lualine_status_ok then --- print("lualine.nvim is etiher broken or is not installed.") --- return ---end ---local utils = require("heirline.utils") - ---local M = {} - --- stylua: ignore start ---M.colours = {--{{{ ----- Color table for highlights ----- stylua: ignore ---local colors = { --- bg = '#2E3440', --- fg = '#E5E9F0', --- yellow = '#EBCB8B', --- cyan = '#88C0D0', --- darkblue = '#5E81AC', --- green = '#A3BE8C', --- orange = '#D08770', --- violet = '#B48EAD', --- magenta = '#B48EAD', --- blue = '#81A1C1', --- red = '#BF616A', ---} --- ---local conditions = { --- buffer_not_empty = function() --- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 --- end, --- hide_in_width = function() --- return vim.fn.winwidth(0) > 80 --- end, --- check_git_workspace = function() --- local filepath = vim.fn.expand("%:p:h") --- local gitdir = vim.fn.finddir(".git", filepath .. ";") --- return gitdir and #gitdir > 0 and #gitdir < #filepath --- end, ---} - --- Config ---local config = { ---require('lualine').setup { --- options = { --- -- Disable sections and component separators --- component_separators = "", --- section_separators = "", --- theme = { --- -- We are going to use lualine_c an lualine_x as left and --- -- right section. Both are highlighte by c theme . So we --- -- are just setting default looks o statusline --- normal = { c = { fg = colors.fg, bg = colors.bg } }, --- inactive = { c = { fg = colors.fg, bg = colors.bg } }, --- }, --- disabled_filetypes = { "NvimTree" }, --- }, --- sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- -- These will be filled later --- lualine_c = {}, --- lualine_x = {}, --- }, --- inactive_sections = { --- -- these are to remove the defaults --- lualine_a = {}, --- lualine_b = {}, --- lualine_y = {}, --- lualine_z = {}, --- lualine_c = {}, --- lualine_x = {}, --- }, ---} --- ----- Inserts a component in lualine_c at left section ---local function ins_left(component) --- table.insert(lualine.sections.lualine_c, component) ---end --- ----- Inserts a component in lualine_x ot right section ---local function ins_right(component) --- table.insert(lualine.sections.lualine_x, component) ---end --- ---ins_left({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, -- Sets highlighting of component --- padding = { left = 0, right = 1 }, -- We don't need space before this ---}) --- ---ins_left({ --- -- mode component --- function() --- return "" --- end, --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.blue, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- -- mode component --- "mode", --- color = function() --- -- auto change color according to neovims mode --- local mode_color = { --- n = colors.red, --- i = colors.green, --- v = colors.violet, --- ["�"] = colors.blue, --- V = colors.blue, --- c = colors.magenta, --- no = colors.red, --- s = colors.orange, --- S = colors.orange, --- ic = colors.yellow, --- R = colors.violet, --- Rv = colors.violet, --- cv = colors.red, --- ce = colors.red, --- r = colors.cyan, --- rm = colors.cyan, --- ["r?"] = colors.cyan, --- ["!"] = colors.red, --- t = colors.red, --- } --- return { fg = mode_color[vim.fn.mode()] } --- end, --- padding = { right = 1 }, ---}) --- ---ins_left({ --- "branch", --- icon = "", --- color = { fg = colors.violet, gui = "bold" }, ---}) --- ---ins_left({ --- "filename", --- cond = conditions.buffer_not_empty, --- color = { fg = colors.aqua, gui = "bold" }, ---}) --- ---ins_left({ --- -- filesize component --- "filesize", --- cond = conditions.buffer_not_empty, ---}) --- ----- Add components to right sections ---ins_right({ --- "o:encoding", -- option component same as &encoding in viml --- fmt = string.lower, -- I'm not sure why it's upper case either ;) --- cond = conditions.hide_in_width, --- color = { fg = colors.yellow }, ---}) --- ---ins_right({ --- "fileformat", --- fmt = string.upper, --- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh --- color = { fg = colors.fg, gui = "bold" }, ---}) --- ---ins_right({ --- "filetype", ---}) --- ---ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) --- ---ins_right({ --- "location", ---}) --- ---ins_right({ --- function() --- return "▊" --- end, --- color = { fg = colors.green }, --- padding = { left = 1 }, ---}) ---return M --- Now don't forget to initialize lualine ---require("lualine").setup(config) ---require"lualine".setup(config) ---lualine.setup(config) diff --git a/lua/user/luasnip.lua b/lua/user/luasnip.lua deleted file mode 100644 index 7a6066e..0000000 --- a/lua/user/luasnip.lua +++ /dev/null @@ -1,149 +0,0 @@ -if vim.g.snippets ~= "luasnip" or not pcall(require, "luasnip") then - return -end ---local luasnip = require("luasnip") -local ls = require "luasnip" -- -local types = require "luasnip.util.types" -- ---local options = { -ls.config.set_config { - history = true, - updateevents = "TextChanged,TextChangedI", - -- Autosnippets: - enable_autosnippets = true, -- - ext_opts = { -- - [types.choiceNode] = { -- - active = { -- - virt_text = { { " « ", "NonTest" } }, -- - }, -- - }, -- - }, -- -} --- ls.expand_or_jump() --- end ---nd, { silent = true }) - --- is my jump backwards key. --- this always moves to the previous item within the snippet ---im.keymap.set({ "i", "s" }, "", function() --- if ls.jumpable(-1) then --- ls.jump(-1) --- end ---nd, { silent = true }) - --- is selecting within a list of options. --- This is useful for choice nodes (introduced in the forthcoming episode 2) ---vim.keymap.set("i", "", function() --- if ls.choice_active() then --- ls.change_choice(1) --- end ---end) - ---vim.keymap.set("i", "", require "luasnip.extras.select_choice") - --- shorcut to source my luasnips file again, which will reload my snippets ---vim.keymap.set("n", "s", "source ~/.config/nvim/lua/user/plugins/luasnip.lua") - --- ls.parser.parse_snippet(, ) ---ls.snippets = { --- all = { --- -- Available in any filetype --- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), ---s.snippets = { --- all = { --- -- Available in any filetype --- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), --- }, --- lua = { --- -- Lua specific snippets go here. --- ls.parser.parse_snippet("lf", "local $1 = function($2)\n $0\nend") --- }, --- ---}) -local snip = ls.snippet -local node = ls.snippet_node -local text = ls.text_node -local insert = ls.insert_node -local func = ls.function_node -local choice = ls.choice_node -local dynamicn = ls.dynamic_node - -local date = function() return {os.date('%Y-%m-%d')} end - -ls.add_snippets(nil, { - all = { - --snip({ - -- trig = "date", - -- namr = "Date", - -- dscr = "Date in the form of YYYY-MM-DD", - --}, { - -- func(date, {}), - --}), - snip({ - trig = "meta", - namr = "Metadata", - dscr = "Yaml metadata format for markdown" -}, -{ - }), - }, -}) ---local opts = { noremap = true, silent = true } ---keymap("i", "", "lua require'luasnip'.jump(1)", opts) ---keymap("s", "", "lua require'luasnip'.jump(1)", opts) ---keymap("i", "", "lua require'luasnip'.jump(-1)", opts) ---local keymap = vim.api.nvim_set_keymap -local keymap = vim.keymap -local term_opts = { noremap = true, silent = false } - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.noremap = true - keymap.set(mode, l, r, opts) - end - -map("i", "", "luasnip-expand-or-jump") -map("i", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)") -map("s", "", "luasnip-expand-or-jump") -map("s", "", "luasnip-jump-prev * lua require'luasnip'.jump(-1)") ---keymap("s", "", "lua require'luasnip'.jump(-1)", opts) ---map("i", "", "luasnip-expand-or-jump") - ---! luasnip-expand-repeat * lua require'luasnip'.expand_repeat() ---! luasnip-delete-check * lua require'luasnip'.unlink_current_if_deleted() ---i luasnip-jump-prev * lua require'luasnip'.jump(-1) ---i luasnip-jump-next * lua require'luasnip'.jump(1) ---i luasnip-prev-choice * lua require'luasnip'.change_choice(-1) ---i luasnip-next-choice * lua require'luasnip'.change_choice(1) ---i luasnip-expand-snippet * lua require'luasnip'.expand() ---i luasnip-expand-or-jump * lua require'luasnip'.expand_or_jump() - - - - - - - - - - - - - ---luasnip.config.set_config(options) ---require("luasnip.loaders.from_vscode").lazy_load() ---require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.luasnippets_path or "" } --- ---vim.api.nvim_create_autocmd("InsertLeave", { --- callback = function() --- if --- require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()] --- and not require("luasnip").session.jump_active --- then --- require("luasnip").unlink_current() --- end --- end, ---}) - - - - diff --git a/lua/user/mason.lua b/lua/user/mason.lua deleted file mode 100644 index 69c61ba..0000000 --- a/lua/user/mason.lua +++ /dev/null @@ -1,27 +0,0 @@ -local status, mason = pcall(require, "mason") -if (not status) then return end -local status2, lspconfig = pcall(require, "mason-lspconfig") -if (not status2) then return end - -mason.setup({ - -}) - -lspconfig.setup { - ensure_installed = { "sumneko_lua" }, -} -local keymap = vim.api.nvim_set_keymap -local opts = { noremap = true } - - -keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) -keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) -keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) -keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) -keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) -keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) -keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) -keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) -keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) diff --git a/lua/user/modify-blend.lua b/lua/user/modify-blend.lua deleted file mode 100644 index 7c48815..0000000 --- a/lua/user/modify-blend.lua +++ /dev/null @@ -1,40 +0,0 @@ -local ui = vim.api.nvim_list_uis()[1] - -local bufnr = vim.api.nvim_create_buf(false, true) -local win = vim.api.nvim_open_win(bufnr, true, { - relative = "editor", - width = ui.width, - height = ui.height, - row = 10, - col = 10, - style = "minimal", -}) - -vim.api.nvim_win_set_option(win, "winblend", 1) - -local blend_start = 15 -local offset = 1 - -CANCEL = false -local timer = vim.loop.new_timer() -timer:start( - 0, - 50, - vim.schedule_wrap(function() - blend_start = blend_start + offset - - if blend_start > 90 then - offset = -1 - elseif blend_start < 10 then - offset = 1 - end - - if CANCEL or not vim.api.nvim_win_is_valid(win) then - timer:close() - timer:stop() - return - end - - vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start)) - end) -) diff --git a/lua/user/neoscroll.lua b/lua/user/neoscroll.lua deleted file mode 100644 index d122584..0000000 --- a/lua/user/neoscroll.lua +++ /dev/null @@ -1,21 +0,0 @@ -require("neoscroll").setup({ - easing_function = "quadratic", -}) - -local t = {} --- Syntax: t[keys] = {function, {function arguments}} --- Use the "sine" easing function -t[""] = { "scroll", { "-vim.wo.scroll", "true", "20", [['cubic']] } } -t[""] = { "scroll", { "vim.wo.scroll", "true", "20", [['cubic']] } } --- Use the "circular" easing function -t[""] = { "scroll", { "-vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } -t[""] = { "scroll", { "vim.api.nvim_win_get_height(0)", "true", "50", [['cubic']] } } --- Pass "nil" to disable the easing animation (constant scrolling speed) -t[""] = { "scroll", { "-0.10", "false", "100", nil } } -t[""] = { "scroll", { "0.10", "false", "100", nil } } --- When no easing function is provided the default easing function (in this case "quadratic") will be used -t["zt"] = { "zt", { "10" } } -t["zz"] = { "zz", { "10" } } -t["zb"] = { "zb", { "10" } } - -require("neoscroll.config").set_mappings(t) diff --git a/lua/user/null-ls.lua b/lua/user/null-ls.lua deleted file mode 100644 index 7fc4377..0000000 --- a/lua/user/null-ls.lua +++ /dev/null @@ -1,26 +0,0 @@ -local null_ls_status_ok, null_ls = pcall(require, "null-ls") -if not null_ls_status_ok then - return -end - --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting -local formatting = null_ls.builtins.formatting --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics -local diagnostics = null_ls.builtins.diagnostics - ---null_ls.setup({ --- debug = false, --- sources = { --- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), --- formatting.black.with({ extra_args = { "--fast" } }), --- formatting.stylua, --- -- diagnostics.flake8 --- }, ---}) -require("null-ls").setup({ - sources = { - require("null-ls").builtins.formatting.stylua, - require("null-ls").builtins.diagnostics.eslint, - require("null-ls").builtins.completion.spell, - }, -}) diff --git a/lua/user/nvim-tree.lua b/lua/user/nvim-tree.lua deleted file mode 100644 index 74030cb..0000000 --- a/lua/user/nvim-tree.lua +++ /dev/null @@ -1,68 +0,0 @@ -local status_ok, nvim_tree = pcall(require, "nvim-tree") -if not status_ok then - return -end - -local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") -if not config_status_ok then - return -end - -local tree_cb = nvim_tree_config.nvim_tree_callback - -nvim_tree.setup({ - update_focused_file = { - enable = true, - update_cwd = true, - }, - renderer = { - root_folder_modifier = ":t", - icons = { - glyphs = { - default = "", - symlink = "", - folder = { - arrow_open = "", - arrow_closed = "", - default = "", - open = "", - empty = "", - empty_open = "", - symlink = "", - symlink_open = "", - }, - git = { - unstaged = "", - staged = "S", - unmerged = "", - renamed = "➜", - untracked = "U", - deleted = "", - ignored = "◌", - }, - }, - }, - }, - diagnostics = { - enable = true, - show_on_dirs = true, - icons = { - hint = "", - info = "", - warning = "", - error = "", - }, - }, - view = { - width = 30, - --height = 30, - side = "left", - mappings = { - list = { - { key = { "l", "", "o" }, cb = tree_cb("edit") }, - { key = "h", cb = tree_cb("close_node") }, - { key = "v", cb = tree_cb("vsplit") }, - }, - }, - }, -}) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 39cd2a4..38e1250 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -34,7 +34,7 @@ vim.opt.autoread = true -- reload files if changed externally vim.opt.display = "lastline" -- Show as much as possible of the last line. vim.opt.inccommand = "split" -- vim.opt.ttyfast = true -- Faster redrawing. ---vim.opt.lazyredraw = true -- Only redraw when necessary +vim.opt.lazyredraw = true -- Only redraw when necessary vim.opt.keywordprg = ":help" -- :help options vim.opt.ruler = true -- vim.opt.errorbells = false -- diff --git a/lua/user/prettier.lua b/lua/user/prettier.lua deleted file mode 100644 index 05d4665..0000000 --- a/lua/user/prettier.lua +++ /dev/null @@ -1,19 +0,0 @@ -local status, prettier = pcall(require, "prettier") -if (not status) then return end - -prettier.setup { - bin = 'prettierd', - filetypes = { - "c", - "lua", - "vim", - --"css", - --"javascript", - --"javascriptreact", - --"typescript", - --"typescriptreact", - --"json", - --"scss", - "less" - } -} diff --git a/lua/user/reload.lua b/lua/user/reload.lua deleted file mode 100644 index c02ff7b..0000000 --- a/lua/user/reload.lua +++ /dev/null @@ -1,50 +0,0 @@ ---function _G.ReloadConfig() --- for name,_ in pairs(package.loaded) do --- if name:match('^lua') and not name:match('nvim-tree') then --- package.loaded[name] = nil --- end --- end --- --- dofile(vim.env.MYVIMRC) --- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) ---end ---function _G.ReloadConfig() - --dofile(vim.env.MYVIMRC) - -- dofile(vim.fn.stdpath('config') .. '/init.lua') - --dofile(vim.fn.stdpath('user') .. '/init.lua') - -- require("plenary.reload").reload_module("user", true) - --dofile("/home/sxrdusr/.config/nvim/lua/user/keys.lua") - --dofile("/home/sxrdusr/.config/nvim/lua/user/mods.lua") - --dofile("/home/sxrdusr/.config/nvim/lua/user/opts.lua") - --dofile("/home/sxrdusr/.config/nvim/lua/user/pack.lua") - --dofile("/home/sxrdusr/.config/nvim/lua/user/utils.lua") - --vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) ---end ---P = function(v) --- print(vim.inspect(v)) --- return v ---end --- ---if pcall(require, "plenary") then --- RELOAD = require("plenary.reload").reload_module --- --- R = function(name) --- RELOAD(name) --- return require(name) --- end ---end --- r = reload vimrc - - -local M = {} - -M['unload_lua_namespace'] = function(prefix) - local prefix_with_dot = prefix .. '.' - for key, value in pairs(package.loaded) do - if key == prefix or key:sub(1, #prefix_with_dot) == prefix_with_dot then - package.loaded[key] = nil - end - end -end - -return M diff --git a/lua/user/tabline.lua b/lua/user/tabline.lua deleted file mode 100644 index 4e1c506..0000000 --- a/lua/user/tabline.lua +++ /dev/null @@ -1,22 +0,0 @@ -require("tabline").setup({ - -- Defaults configuration options - enable = true, - options = { - -- If lualine is installed tabline will use separators configured in lualine by default. - -- These options can be used to override those settings. - section_separators = { "", "" }, - component_separators = { "", "" }, - max_bufferline_percent = 66, -- set to nil by default, and it uses vim.o.columns * 2/3 - show_tabs_always = true, -- this shows tabs only when there are more than one tab or if the first tab is named - show_devicons = true, -- this shows devicons in buffer section - show_bufnr = true, -- this appends [bufnr] to buffer section, - show_filename_only = false, -- shows base filename only instead of relative path in filename - modified_icon = "+", -- change the default modified icon - modified_italic = true, -- set to true by default; this determines whether the filename turns italic if modified - show_tabs_only = false, -- this shows only tabs instead of tabs + buffers - }, -}) -vim.cmd([[ - set guioptions-=e " Use showtabline in gui vim - set sessionoptions+=tabpages,globals " store tabpages and globals in session -]]) diff --git a/lua/user/telescope.lua b/lua/user/telescope.lua deleted file mode 100644 index db065d7..0000000 --- a/lua/user/telescope.lua +++ /dev/null @@ -1,223 +0,0 @@ -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return -end -local actions = require("telescope.actions") -local builtin = require("telescope.builtin") - -local function telescope_buffer_dir() - return vim.fn.expand("%:p:h") -end - -telescope.load_extension("fzf") -telescope.load_extension("file_browser") -require("telescope").load_extension("file_browser") -local fb_actions = require("telescope").extensions.file_browser.actions ---telescope.load_extension('media_files') - -telescope.setup({ - defaults = { - -- - prompt_prefix = " ", - selection_caret = " ", - path_display = { "smart" }, - -- - mappings = { - i = { - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.close, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - [""] = actions.complete_tag, - [""] = actions.which_key, -- keys from pressing - }, - - n = { - [""] = actions.close, - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - - ["j"] = actions.move_selection_next, - ["k"] = actions.move_selection_previous, - ["H"] = actions.move_to_top, - ["M"] = actions.move_to_middle, - ["L"] = actions.move_to_bottom, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - ["gg"] = actions.move_to_top, - ["G"] = actions.move_to_bottom, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - ["?"] = actions.which_key, - ["cd"] = function(prompt_bufnr) - local selection = require("telescope.actions.state").get_selected_entry() - local dir = vim.fn.fnamemodify(selection.path, ":p:h") - require("telescope.actions").close(prompt_bufnr) - -- Depending on what you want put `cd`, `lcd`, `tcd` - vim.cmd(string.format("silent lcd %s", dir)) - end, - }, - }, - }, - pickers = { - -- Default configuration for builtin pickers goes here: - -- picker_name = { - -- picker_config_key = value, - -- ... - -- } - -- Now the picker_config_key will be applied every time you call this - -- builtin picker - }, - extensions = { - file_browser = { - theme = "dropdown", - -- disables netrw and use telescope-file-browser in its place - hijack_netrw = true, - mappings = { - -- your custom insert mode mappings - ["i"] = { - [""] = function() - vim.cmd("normal vbd") - end, - }, - ["n"] = { - -- your custom normal mode mappings - ["N"] = fb_actions.create, - ["h"] = fb_actions.goto_parent_dir, - ["/"] = function() - vim.cmd("startinsert") - end, - }, - }, - }, - - media_files = { - -- filetypes whitelist - -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} - filetypes = { "png", "webp", "jpg", "jpeg" }, - find_cmd = "rg", -- find command (defaults to `fd`) - }, - -- Your extension configuration goes here: - -- extension_name = { - -- extension_config_key = value, - -- } - -- please take a look at the readme of the extension you want to configure - }, -}) - -telescope.load_extension("file_browser") - ---vim.keymap.set("n", ";f", function() --- builtin.find_files({ --- no_ignore = false, --- hidden = true, --- }) ---end) -vim.keymap.set("n", ";r", function() - builtin.live_grep() -end) -vim.keymap.set("n", "\\\\", function() - builtin.buffers() -end) -vim.keymap.set("n", ";t", function() - builtin.help_tags() -end) -vim.keymap.set("n", ";;", function() - builtin.resume() -end) -vim.keymap.set("n", ";e", function() - builtin.diagnostics() -end) ---vim.keymap.set("n", "sf", function() --- telescope.extensions.file_browser.file_browser({ --- path = "%:p:h", --- cwd = telescope_buffer_dir(), --- respect_gitignore = false, --- hidden = true, --- grouped = true, --- previewer = false, --- initial_mode = "normal", --- layout_config = { height = 40 }, --- }) ---end) - -local M = {} - -function M.reload() - local function get_module_name(s) - local module_name; - - module_name = s:gsub("%.lua", "") - module_name = module_name:gsub("%/", ".") - module_name = module_name:gsub("%.init", "") - - return module_name - end - - local prompt_title = "~ neovim modules ~" - - -- sets the path to the lua folder - local path = "~/.config/nvim/lua" - - local opts = { - prompt_title = prompt_title, - cwd = path, - - attach_mappings = function(_, map) - -- Adds a new map to ctrl+e. - map("i", "", function(_) - -- these two a very self-explanatory - local entry = require("telescope.actions.state").get_selected_entry() - local name = get_module_name(entry.value) - - -- call the helper method to reload the module - -- and give some feedback - R(name) - P(name .. " RELOADED!!!") - end) - - return true - end - } - - -- call the builtin method to list files - require('telescope.builtin').find_files(opts) -end - -return M; - diff --git a/lua/user/toggleterm.lua b/lua/user/toggleterm.lua deleted file mode 100644 index 912729a..0000000 --- a/lua/user/toggleterm.lua +++ /dev/null @@ -1,90 +0,0 @@ -local status_ok, toggleterm = pcall(require, "toggleterm") -if not status_ok then - return -end - -toggleterm.setup({ - size = function(term) - if term.direction == "horizontal" then - return 12 - elseif term.direction == "vertical" then - return vim.o.columns * 0.3 - end - end, - --size = 20, - open_mapping = [[to]], - hide_numbers = true, - shade_filetypes = {}, - shade_terminals = false, - shading_factor = 1, - start_in_insert = true, - insert_mappings = true, - persist_size = true, - direction = "float", - --direction = "vertical", - --direction = "horizontal", - close_on_exit = true, - shell = vim.o.shell, - highlights = { - -- highlights which map to a highlight group name and a table of it's values - -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split - Normal = { - background = "#000000", - }, - }, - float_opts = { - width = 70, - height = 15, - winblend = 3, - border = "curved", - --winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, -}) - -function _G.set_terminal_keymaps() - local opts = { noremap = true } - --local opts = {buffer = 0} - vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) - vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) -end - -vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") - -local Terminal = require("toggleterm.terminal").Terminal -local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) - -function _LAZYGIT_TOGGLE() - lazygit:toggle() -end - -local node = Terminal:new({ cmd = "node", hidden = true }) - -function _NODE_TOGGLE() - node:toggle() -end - -local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) - -function _NCDU_TOGGLE() - ncdu:toggle() -end - -local htop = Terminal:new({ cmd = "htop", hidden = true }) - -function _HTOP_TOGGLE() - htop:toggle() -end - -local python = Terminal:new({ cmd = "python", hidden = true }) - -function _PYTHON_TOGGLE() - python:toggle() -end diff --git a/lua/user/treesitter.lua b/lua/user/treesitter.lua deleted file mode 100644 index b081ca3..0000000 --- a/lua/user/treesitter.lua +++ /dev/null @@ -1,34 +0,0 @@ -local status, treesitter = pcall(require, "nvim-treesitter.configs") -if (not status) then return end - -treesitter.setup { - highlight = { - enable = true, - disable = {}, - }, - indent = { - enable = true, - disable = {}, - --disable = { "python", "css" } - }, - ensure_installed = { - "c", - "bash", - "lua", - "rust", - }, - --ensure_installed = "all", -- one of "all" or a list of languages - --ignore_install = { "" }, -- List of parsers to ignore installing - autotag = { - enable = true, - }, - efactor = { - highlight_definitions = { enable = true }, - highlight_current_scope = { enable = true } - } -} ---vim.opt.foldmethod = "expr" ---vim.opt.foldexpr = "nvim_treesitter#foldexpr()" - ---local parser_config = require "nvim-treesitter.parsers".get_parser_configs() ---parser_config.tsx.filetype_to_parsername = { "javascript", "typescript.tsx" } diff --git a/lua/user/web-devicons.lua b/lua/user/web-devicons.lua deleted file mode 100644 index b8396bc..0000000 --- a/lua/user/web-devicons.lua +++ /dev/null @@ -1,12 +0,0 @@ -local status, icons = pcall(require, "nvim-web-devicons") -if (not status) then return end - -icons.setup { - -- your personnal icons can go here (to override) - -- DevIcon will be appended to `name` - override = { - }, - -- globally enable default icons (default to false) - -- will get overriden by `get_icons` option - default = true -} diff --git a/lua/user/winbar.lua b/lua/user/winbar.lua deleted file mode 100644 index 1573828..0000000 --- a/lua/user/winbar.lua +++ /dev/null @@ -1,35 +0,0 @@ -require("winbar").setup({ - enabled = true, - - show_file_path = true, - show_symbols = true, - - colors = { - path = "", -- You can customize colors like #c946fd - file_name = "", - symbols = "", - }, - - icons = { - file_icon_default = "", - seperator = ">", - editor_state = "●", - lock_icon = "", - }, - - exclude_filetype = { - "help", - "startify", - "dashboard", - "packer", - "neogitstatus", - "NvimTree", - "Trouble", - "alpha", - "lir", - "Outline", - "spectre_panel", - "toggleterm", - "qf", - }, -}) diff --git a/lua/user/zen-mode.lua b/lua/user/zen-mode.lua deleted file mode 100644 index 7e52854..0000000 --- a/lua/user/zen-mode.lua +++ /dev/null @@ -1,7 +0,0 @@ -local status, zenMode = pcall(require, "zen-mode") -if (not status) then return end - -zenMode.setup { -} - -vim.keymap.set('n', 'o', 'ZenMode', { silent = true }) diff --git a/startup.log b/startup.log new file mode 100644 index 0000000..cd505e5 --- /dev/null +++ b/startup.log @@ -0,0 +1,2388 @@ + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +002.458 002.458: --- NVIM STARTING --- +082.923 080.465: event init +115.238 032.316: early init +118.029 002.791: locale set +127.623 009.594: init first window +143.646 016.024: inits 1 +143.691 000.045: window checked +143.706 000.015: parsing arguments +160.572 000.272 000.272: require('vim.shared') +161.086 000.241 000.241: require('vim._meta') +161.100 000.505 000.264: require('vim._editor') +161.108 000.908 000.131: require('vim._init_packages') +161.115 016.500: init lua interpreter +161.269 000.154: expanding arguments +163.906 002.638: inits 2 +165.267 001.360: init highlight +165.276 000.010: waiting for UI +169.013 003.737: done waiting for UI +169.065 000.052: init screen for UI +169.414 000.348: init default mappings +169.452 000.038: init default autocommands +195.131 014.412 014.412: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/ftplugin.vim +200.734 003.082 003.082: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/indent.vim +201.357 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim +201.385 000.186 000.129: sourcing /etc/xdg/nvim/sysinit.vim +240.799 038.999 038.999: require('impatient') +240.984 000.164 000.164: require('impatient.profile') +241.128 000.118 000.118: require('user.utils') +246.787 000.325 000.325: require('packer.util') +246.855 000.729 000.404: require('packer') +248.197 000.804 000.804: require('packer.log') +248.212 001.064 000.259: require('packer.async') +248.846 000.465 000.465: require('packer.result') +248.861 000.639 000.175: require('packer.jobs') +248.889 001.966 000.263: require('packer.plugin_utils') +249.231 000.307 000.307: require('packer.snapshot') +250.923 000.214 000.214: require('mason-core.path') +250.949 000.449 000.234: require('mason.settings') +251.326 000.192 000.192: require('mason-core.functional') +251.736 000.140 000.140: require('mason-core.functional.data') +251.750 000.389 000.249: require('mason-core.functional.function') +251.993 000.204 000.204: require('mason-core.functional.relation') +252.226 000.197 000.197: require('mason-core.functional.logic') +252.283 001.324 000.342: require('mason-core.platform') +252.291 002.171 000.399: require('mason') +252.793 000.162 000.162: require('mason-core.functional.list') +252.858 000.525 000.363: require('mason.api.command') +253.207 000.194 000.194: require('mason-core.log') +253.219 000.352 000.158: require('mason-lspconfig') +253.351 000.124 000.124: require('mason-lspconfig.settings') +253.708 000.113 000.113: require('mason-core.notify') +253.729 000.280 000.168: require('mason-lspconfig.lspconfig_hook') +255.925 000.383 000.383: require('vim.lsp.log') +257.499 000.015 000.015: require('vim.F') +257.511 001.524 001.508: require('vim.lsp.protocol') +258.438 000.386 000.386: require('vim.lsp._snippet') +258.827 000.376 000.376: require('vim.highlight') +258.872 001.306 000.544: require('vim.lsp.util') +258.923 003.996 000.784: require('vim.lsp.handlers') +259.481 000.546 000.546: require('vim.lsp.rpc') +259.802 000.304 000.304: require('vim.lsp.sync') +260.177 000.363 000.363: require('vim.lsp.buf') +260.471 000.283 000.283: require('vim.lsp.diagnostic') +260.783 000.302 000.302: require('vim.lsp.codelens') +260.973 007.055 001.261: require('vim.lsp') +261.152 007.415 000.360: require('lspconfig.util') +261.708 000.177 000.177: require('mason-core.functional.table') +261.839 000.568 000.391: require('mason-lspconfig.mappings.server') +262.359 000.157 000.157: require('mason-core.async') +262.485 000.113 000.113: require('mason-core.async.uv') +262.499 000.447 000.178: require('mason-core.fs') +262.637 000.131 000.131: require('mason-core.optional') +262.768 000.121 000.121: require('mason-core.EventEmitter') +263.033 000.256 000.256: require('mason-registry.index') +263.061 001.210 000.255: require('mason-registry') +263.196 000.126 000.126: require('mason-lspconfig.server_config_extensions') +263.351 000.146 000.146: require('lspconfig.configs') +263.640 000.220 000.220: require('lspconfig.server_configurations.omnisharp') +264.055 000.204 000.204: require('mason-lspconfig.ensure_installed') +264.504 000.125 000.125: require('mason-core.result') +265.113 000.324 000.324: require('mason-core.process') +265.274 000.604 000.281: require('mason-core.spawn') +265.437 000.150 000.150: require('mason-core.receipt') +265.606 000.132 000.132: require('mason-core.functional.string') +265.650 001.136 000.250: require('mason-core.installer.context') +265.789 000.130 000.130: require('mason-core.installer.linker') +265.923 000.126 000.126: require('mason-core.async.control') +265.935 001.705 000.189: require('mason-core.installer') +266.100 000.158 000.158: require('mason-core.installer.handle') +266.784 000.138 000.138: require('mason-core.managers.powershell') +266.794 000.267 000.130: require('mason-core.fetch') +266.798 000.384 000.116: require('mason-core.managers.cargo.client') +267.106 000.154 000.154: require('mason-core.managers.std') +267.400 000.137 000.137: require('mason-registry.api') +267.432 000.317 000.181: require('mason-core.managers.github.client') +267.452 000.648 000.176: require('mason-core.managers.github') +267.648 001.396 000.365: require('mason-core.managers.cargo') +267.958 000.299 000.299: require('mason-core.managers.composer') +268.175 000.207 000.207: require('mason-core.managers.gem') +268.331 000.147 000.147: require('mason-core.managers.git') +268.649 000.308 000.308: require('mason-core.managers.go') +268.898 000.239 000.239: require('mason-core.managers.luarocks') +269.085 000.177 000.177: require('mason-core.managers.npm') +269.301 000.208 000.208: require('mason-core.managers.pip3') +269.324 003.198 000.217: require('mason-core.package.version-check') +269.341 005.275 000.213: require('mason-core.package') +269.510 000.143 000.143: require('mason-registry.python-lsp-server') +270.025 000.144 000.144: require('mason-registry.pyright') +270.330 000.272 000.272: require('mason-registry.clangd') +270.530 000.166 000.166: require('mason-registry.lua-language-server') +270.832 000.135 000.135: require('mason-core.functional.number') +270.899 000.356 000.221: require('mason-lspconfig.api.command') +271.164 025.516 002.816: require('user.pack') +275.270 004.093 004.093: require('user.opts') +275.553 000.016 000.016: require('vim.keymap') +278.112 002.817 002.801: require('user.keys') +278.254 000.129 000.129: require('user.utils') +279.538 000.281 000.281: require('vim.treesitter.language') +279.563 000.848 000.567: require('vim.treesitter.query') +280.882 000.337 000.337: require('vim.treesitter.languagetree') +280.985 000.741 000.404: require('vim.treesitter') +281.311 001.456 000.716: require('nvim-treesitter.parsers') +281.504 000.183 000.183: require('nvim-treesitter.utils') +281.518 001.812 000.173: require('nvim-treesitter.ts_utils') +281.535 001.963 000.151: require('nvim-treesitter.tsrange') +281.661 000.117 000.117: require('nvim-treesitter.caching') +281.687 003.120 000.192: require('nvim-treesitter.query') +281.727 003.366 000.246: require('nvim-treesitter.configs') +282.344 000.208 000.208: require('nvim-treesitter.info') +282.527 000.170 000.170: require('nvim-treesitter.shell_command_selectors') +282.586 000.690 000.312: require('nvim-treesitter.install') +284.606 006.339 002.283: require('plugins.treesitter') +284.986 000.124 000.124: require('telescope._extensions') +284.997 000.250 000.126: require('telescope') +286.048 000.125 000.125: require('plenary.bit') +286.178 000.117 000.117: require('plenary.functional') +286.245 000.046 000.046: require('ffi') +286.275 000.547 000.259: require('plenary.path') +286.299 000.696 000.149: require('plenary.strings') +286.435 000.129 000.129: require('telescope.deprecated') +287.163 000.382 000.382: require('plenary.log') +287.223 000.567 000.186: require('telescope.log') +287.621 000.186 000.186: require('plenary.job') +287.752 000.119 000.119: require('telescope.state') +287.780 000.546 000.240: require('telescope.utils') +287.842 001.397 000.284: require('telescope.sorters') +287.988 000.109 000.109: require('vim.inspect') +293.244 007.896 005.565: require('telescope.config') +293.656 000.141 000.141: require('plenary.window.border') +293.774 000.107 000.107: require('plenary.window') +293.884 000.101 000.101: require('plenary.popup.utils') +293.898 000.622 000.273: require('plenary.popup') +294.028 000.122 000.122: require('telescope.pickers.scroller') +294.156 000.118 000.118: require('telescope.actions.state') +294.342 000.155 000.155: require('telescope.actions.utils') +294.651 000.139 000.139: require('telescope.actions.mt') +294.691 000.335 000.196: require('telescope.actions.set') +294.982 000.154 000.154: require('telescope.config.resolve') +294.994 000.294 000.140: require('telescope.pickers.entry_display') +295.105 000.105 000.105: require('telescope.from_entry') +295.600 010.596 000.948: require('telescope.actions') +299.656 000.115 000.115: require('plenary.tbl') +299.679 000.267 000.152: require('plenary.vararg.rotate') +299.684 000.388 000.122: require('plenary.vararg') +299.803 000.109 000.109: require('plenary.errors') +299.823 000.677 000.179: require('plenary.async.async') +299.965 000.136 000.136: require('plenary.async.structs') +299.985 001.237 000.425: require('plenary.async.control') +300.545 000.396 000.396: require('telescope.make_entry') +301.048 000.135 000.135: require('plenary.async.util') +301.057 000.250 000.115: require('plenary.async.tests') +301.064 000.377 000.127: require('plenary.async') +301.076 000.516 000.139: require('telescope.finders.async_static_finder') +301.489 000.113 000.113: require('plenary.class') +301.563 000.349 000.236: require('telescope._') +301.573 000.490 000.141: require('telescope.finders.async_oneshot_finder') +301.766 000.188 000.188: require('telescope.finders.async_job_finder') +301.794 001.799 000.209: require('telescope.finders') +302.382 000.210 000.210: require('telescope.debounce') +302.655 000.260 000.260: require('telescope.mappings') +302.815 000.148 000.148: require('telescope.pickers.highlights') +302.950 000.125 000.125: require('telescope.pickers.window') +303.242 000.138 000.138: require('telescope.algos.linked_list') +303.257 000.300 000.162: require('telescope.entry_manager') +303.382 000.118 000.118: require('telescope.pickers.multi') +303.434 001.628 000.468: require('telescope.pickers') +303.459 007.636 002.972: require('telescope.builtin.__lsp') +303.542 007.930 000.294: require('telescope.builtin') +304.019 000.309 000.309: require('fzf_lib') +304.035 000.483 000.175: require('telescope._extensions.fzf') +304.635 000.217 000.217: require('telescope._extensions.file_browser.utils') +304.780 000.584 000.368: require('telescope._extensions.file_browser.actions') +305.187 000.235 000.235: require('telescope._extensions.file_browser.make_entry') +305.447 000.242 000.242: require('plenary.scandir') +305.561 000.774 000.297: require('telescope._extensions.file_browser.finders') +305.720 000.149 000.149: require('telescope._extensions.file_browser.picker') +305.904 000.175 000.175: require('telescope._extensions.file_browser.config') +305.911 001.858 000.175: require('telescope._extensions.file_browser') +309.963 025.346 004.228: require('plugins.telescope') +311.611 000.109 000.109: require('notify.util.queue') +311.623 000.244 000.135: require('notify.util') +311.895 000.266 000.266: require('notify.config.highlights') +311.909 000.675 000.166: require('notify.config') +312.036 000.120 000.120: require('notify.stages') +312.193 000.150 000.150: require('notify.service.notification') +312.542 000.102 000.102: require('notify.animate.spring') +312.549 000.204 000.102: require('notify.animate') +312.562 000.360 000.157: require('notify.windows') +313.499 000.279 000.279: require('notify.service.buffer.highlights') +313.522 000.832 000.553: require('notify.service.buffer') +313.552 000.984 000.151: require('notify.service') +313.842 000.284 000.284: require('notify.stages.util') +313.923 002.839 000.266: require('notify') +314.140 000.209 000.209: require('nvim-tree.iterators.node-iterator') +314.283 003.365 000.318: require('nvim-tree.utils') +314.318 003.531 000.165: require('nvim-tree.events') +315.099 000.248 000.248: require('nvim-tree.log') +315.509 000.399 000.399: require('nvim-tree.git.utils') +315.905 000.382 000.382: require('nvim-tree.git.runner') +316.193 000.279 000.279: require('nvim-tree.watcher') +316.229 001.685 000.376: require('nvim-tree.git') +316.486 000.251 000.251: require('nvim-tree.explorer.watch') +317.021 000.527 000.527: require('nvim-tree.explorer.common') +317.483 000.222 000.222: require('nvim-tree.explorer.node-builders') +317.811 000.318 000.318: require('nvim-tree.explorer.sorters') +318.033 000.214 000.214: require('nvim-tree.explorer.filters') +318.912 000.635 000.635: require('nvim-tree.view') +318.953 000.902 000.267: require('nvim-tree.live-filter') +318.973 001.942 000.287: require('nvim-tree.explorer.explore') +319.267 000.289 000.289: require('nvim-tree.explorer.reload') +319.290 004.966 000.272: require('nvim-tree.explorer') +319.317 008.638 000.141: require('nvim-tree.core') +319.631 000.308 000.308: require('nvim-tree.diagnostics') +319.869 000.211 000.211: require('nvim-tree.renderer.components.padding') +320.127 000.250 000.250: require('nvim-tree.renderer.components.icons') +320.391 000.256 000.256: require('nvim-tree.renderer.components.full-name') +320.638 000.240 000.240: require('nvim-tree.renderer.help') +320.899 000.253 000.253: require('nvim-tree.renderer.components.git') +321.035 000.128 000.128: require('nvim-tree.renderer.builder') +321.140 000.097 000.097: require('nvim-tree.marks') +321.153 010.620 000.238: require('nvim-tree.renderer') +321.266 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') +321.357 000.084 000.084: require('nvim-tree.actions.root.dir-up') +321.462 000.098 000.098: require('nvim-tree.actions.root.change-dir') +321.567 000.097 000.097: require('nvim-tree.actions.reloaders.reloaders') +321.669 000.094 000.094: require('nvim-tree.actions.finders.find-file') +321.675 011.320 000.226: require('nvim-tree.lib') +321.784 000.103 000.103: require('nvim-tree.colors') +321.915 000.120 000.120: require('nvim-tree.legacy') +322.041 000.116 000.116: require('nvim-tree.actions.fs.copy-paste') +322.274 000.102 000.102: require('nvim-tree.actions.tree-modifiers.expand-all') +322.375 000.092 000.092: require('nvim-tree.actions.tree-modifiers.toggles') +322.491 000.100 000.100: require('nvim-tree.actions.fs.create-file') +322.592 000.093 000.093: require('nvim-tree.actions.fs.rename-file') +322.725 000.124 000.124: require('nvim-tree.actions.fs.trash') +322.831 000.099 000.099: require('nvim-tree.actions.fs.remove-file') +322.930 000.089 000.089: require('nvim-tree.actions.moves.parent') +323.023 000.086 000.086: require('nvim-tree.actions.moves.sibling') +323.118 000.087 000.087: require('nvim-tree.actions.moves.item') +323.232 000.095 000.095: require('nvim-tree.actions.finders.search-node') +323.326 000.087 000.087: require('nvim-tree.actions.node.run-command') +323.445 000.113 000.113: require('nvim-tree.actions.node.file-popup') +323.559 000.107 000.107: require('nvim-tree.actions.node.system-open') +323.666 000.096 000.096: require('nvim-tree.marks.bulk-move') +323.672 001.620 000.249: require('nvim-tree.actions.dispatch') +323.705 013.595 000.315: require('nvim-tree') +323.789 000.079 000.079: require('nvim-tree.config') +330.157 000.170 000.170: require('nvim-tree.actions') +330.294 000.119 000.119: require('nvim-tree.actions.node.open-file') +333.016 000.099 000.099: require('nvim-tree.marks.navigation') +333.029 000.300 000.202: require('nvim-tree.api') +333.049 000.446 000.145: require('nvim-tree.keymap') +333.900 000.396 000.396: require('nvim-web-devicons') +338.051 028.073 013.268: require('plugins.nvim-tree') +338.508 000.078 000.078: require('cmp.utils.debug') +338.719 000.118 000.118: require('cmp.utils.char') +338.734 000.216 000.099: require('cmp.utils.str') +338.885 000.104 000.104: require('cmp.utils.pattern') +339.166 000.089 000.089: require('cmp.utils.misc') +339.276 000.082 000.082: require('cmp.utils.buffer') +339.372 000.089 000.089: require('cmp.utils.api') +339.382 000.404 000.144: require('cmp.utils.keymap') +339.391 000.498 000.094: require('cmp.utils.feedkeys') +339.489 000.093 000.093: require('cmp.utils.async') +339.759 000.076 000.076: require('cmp.types.cmp') +339.866 000.101 000.101: require('cmp.types.lsp') +339.945 000.072 000.072: require('cmp.types.vim') +339.950 000.373 000.124: require('cmp.types') +340.029 000.074 000.074: require('cmp.utils.cache') +340.038 000.541 000.094: require('cmp.context') +340.309 000.090 000.090: require('cmp.config.mapping') +340.503 000.094 000.094: require('cmp.config.compare') +340.509 000.189 000.094: require('cmp.config.default') +340.531 000.395 000.116: require('cmp.config') +340.728 000.079 000.079: require('cmp.matcher') +340.739 000.202 000.123: require('cmp.entry') +340.754 000.712 000.115: require('cmp.source') +340.921 000.074 000.074: require('cmp.utils.event') +341.111 000.097 000.097: require('cmp.utils.window') +341.119 000.190 000.093: require('cmp.view.docs_view') +341.321 000.085 000.085: require('cmp.utils.autocmd') +341.340 000.217 000.132: require('cmp.view.custom_entries_view') +341.461 000.115 000.115: require('cmp.view.wildmenu_entries_view') +341.567 000.100 000.100: require('cmp.view.native_entries_view') +341.665 000.092 000.092: require('cmp.view.ghost_text_view') +341.680 000.921 000.133: require('cmp.view') +341.779 003.470 000.306: require('cmp.core') +342.310 000.087 000.087: require('cmp.config.sources') +342.393 000.073 000.073: require('cmp.config.window') +342.494 004.301 000.671: require('cmp') +342.904 000.115 000.115: require('symbols-outline.config') +342.910 000.204 000.089: require('symbols-outline.symbols') +343.007 000.091 000.091: require('symbols-outline.ui') +343.097 000.082 000.082: require('symbols-outline.utils.table') +343.183 000.079 000.079: require('symbols-outline.folding') +343.189 000.574 000.118: require('symbols-outline.parser') +343.278 000.084 000.084: require('symbols-outline.providers.init') +343.377 000.093 000.093: require('symbols-outline.writer') +343.470 000.085 000.085: require('symbols-outline.utils.init') +343.559 000.083 000.083: require('symbols-outline.view') +343.573 001.071 000.153: require('symbols-outline') +343.875 000.115 000.115: require('symbols-outline.preview') +343.991 000.101 000.101: require('lspkind') +345.814 007.752 002.163: require('plugins.cmp') +346.349 000.081 000.081: require('luasnip.session') +346.486 000.129 000.129: require('luasnip.util.util') +346.586 000.092 000.092: require('luasnip.util.types') +346.774 000.090 000.090: require('luasnip.util.ext_opts') +346.784 000.191 000.101: require('luasnip.nodes.util') +346.875 000.085 000.085: require('luasnip.util.events') +346.894 000.719 000.142: require('luasnip.nodes.node') +347.139 000.090 000.090: require('luasnip.util.extend_decorator') +347.154 000.255 000.166: require('luasnip.nodes.insertNode') +347.275 000.115 000.115: require('luasnip.nodes.textNode') +347.383 000.096 000.096: require('luasnip.util.mark') +348.209 000.716 000.716: require('luasnip.util._builtin_vars') +348.513 001.124 000.408: require('luasnip.util.environ') +348.633 000.108 000.108: require('luasnip.util.pattern_tokenizer') +348.728 000.088 000.088: require('luasnip.util.dict') +348.866 000.130 000.130: require('luasnip.session.snippet_collection') +348.991 002.957 000.321: require('luasnip.nodes.snippet') +349.200 000.091 000.091: require('luasnip.loaders._caches') +349.336 000.127 000.127: require('luasnip.util.path') +349.385 000.379 000.161: require('luasnip.loaders') +349.559 000.139 000.139: require('luasnip.nodes.functionNode') +349.721 000.153 000.153: require('luasnip.nodes.choiceNode') +349.869 000.141 000.141: require('luasnip.nodes.dynamicNode') +350.065 000.188 000.188: require('luasnip.nodes.restoreNode') +350.435 000.101 000.101: require('luasnip.util.parser.neovim_ast') +358.505 000.121 000.121: require('luasnip.util.directed_graph') +358.527 008.307 008.086: require('luasnip.util.parser.ast_utils') +358.758 000.094 000.094: require('luasnip.util.functions') +358.775 000.240 000.146: require('luasnip.util.parser.ast_parser') +359.015 000.234 000.234: require('luasnip.util.parser.neovim_parser') +359.120 000.095 000.095: require('luasnip.util.str') +359.137 009.023 000.147: require('luasnip.util.parser') +359.370 000.098 000.098: require('luasnip.extras.filetype_functions') +359.518 000.110 000.110: require('luasnip.extras') +359.635 000.102 000.102: require('luasnip.extras.fmt') +359.916 000.091 000.091: require('luasnip.extras.conditions') +360.016 000.092 000.092: require('luasnip.extras.conditions.show') +360.104 000.364 000.181: require('luasnip.extras.conditions.expand') +360.109 000.466 000.102: require('luasnip.extras.expand_conditions') +360.215 000.094 000.094: require('luasnip.nodes.absolute_indexer') +360.667 001.523 000.654: require('luasnip.config') +360.678 014.768 000.263: require('luasnip') +360.907 000.109 000.109: require('luasnip.loaders.util') +360.918 000.234 000.125: require('luasnip.loaders.from_lua') +371.321 025.493 010.492: require('plugins.luasnip') +371.723 000.146 000.146: require('colorizer/nvim') +372.076 000.344 000.344: require('colorizer/trie') +372.463 001.029 000.540: require('colorizer') +374.357 003.020 001.990: require('plugins.colorizer') +374.748 000.090 000.090: require('prettier.utils') +374.781 000.231 000.141: require('prettier.options') +375.514 000.305 000.305: require('null-ls.methods') +375.540 000.448 000.143: require('null-ls.utils') +376.105 000.553 000.553: require('vim.diagnostic') +376.140 001.142 000.141: require('null-ls.config') +376.341 000.087 000.087: require('null-ls.helpers.cache') +376.462 000.113 000.113: require('null-ls.helpers.diagnostics') +376.561 000.091 000.091: require('null-ls.helpers.formatter_factory') +376.793 000.099 000.099: require('null-ls.logger') +376.898 000.098 000.098: require('null-ls.state') +376.909 000.341 000.144: require('null-ls.helpers.generator_factory') +377.113 000.098 000.098: require('null-ls.helpers.command_resolver') +377.119 000.204 000.106: require('null-ls.helpers.make_builtin') +377.231 000.106 000.106: require('null-ls.helpers.range_formatting_args_factory') +377.237 001.089 000.146: require('null-ls.helpers') +377.459 000.108 000.108: require('null-ls.diagnostics') +377.478 000.236 000.128: require('null-ls.sources') +377.578 000.092 000.092: require('null-ls.builtins') +377.585 002.688 000.129: require('null-ls') +377.681 000.087 000.087: require('prettier.cli') +377.690 002.903 000.127: require('prettier.null-ls') +377.695 003.240 000.106: require('prettier') +378.107 000.128 000.128: require('null-ls.client') +378.120 003.751 000.383: require('plugins.prettier') +378.273 000.086 000.086: require('git') +378.373 000.089 000.089: require('git.config') +378.659 000.534 000.359: require('plugins.git') +378.986 000.089 000.089: require('gitsigns.async') +379.082 000.086 000.086: require('gitsigns.status') +379.332 000.102 000.102: require('gitsigns.debug') +379.443 000.103 000.103: require('gitsigns.util') +379.649 000.105 000.105: require('gitsigns.uv') +379.656 000.206 000.101: require('gitsigns.subprocess') +380.079 000.084 000.084: require('gitsigns.message') +380.112 000.267 000.184: require('gitsigns.config') +380.202 000.082 000.082: require('gitsigns.signs.base') +380.208 000.444 000.094: require('gitsigns.signs') +380.221 000.559 000.115: require('gitsigns.hunks') +380.238 001.150 000.180: require('gitsigns.git') +380.465 000.102 000.102: require('gitsigns.cache') +380.562 000.088 000.088: require('gitsigns.debounce') +380.655 000.083 000.083: require('gitsigns.diff') +380.677 000.433 000.161: require('gitsigns.manager') +380.797 000.113 000.113: require('gitsigns.highlight') +380.817 002.073 000.201: require('gitsigns') +382.730 000.131 000.131: require('gitsigns.signs.vimfn') +386.247 007.578 005.374: require('plugins.gitsigns') +386.724 000.128 000.128: require('neoscroll.config') +386.836 000.103 000.103: require('neoscroll.utils') +386.984 000.557 000.326: require('neoscroll') +387.632 001.357 000.801: require('plugins.neoscroll') +388.146 000.162 000.162: require('cmp_nvim_lsp.source') +388.154 000.285 000.122: require('cmp_nvim_lsp') +388.261 000.094 000.094: require('lspconfig') +388.412 000.106 000.106: require('lspconfig.server_configurations.pylsp') +389.214 000.137 000.137: require('mason-lspconfig.server_configurations.pylsp') +389.711 000.130 000.130: require('lspconfig.server_configurations.clangd') +391.815 000.130 000.130: require('lspconfig.server_configurations.vimls') +393.772 000.132 000.132: require('lspconfig.server_configurations.bashls') +395.347 000.125 000.125: require('lspconfig.server_configurations.sumneko_lua') +397.172 009.530 008.392: require('plugins.lsp') +397.526 000.090 000.090: require('nvim-autopairs._log') +397.662 000.127 000.127: require('nvim-autopairs.utils') +398.029 000.156 000.156: require('nvim-autopairs.conds') +398.048 000.271 000.115: require('nvim-autopairs.rule') +398.058 000.389 000.118: require('nvim-autopairs.rules.basic') +398.074 000.795 000.189: require('nvim-autopairs') +398.239 000.127 000.127: require('nvim-autopairs.fastwrap') +398.727 000.118 000.118: require('nvim-autopairs.ts-conds') +398.735 000.230 000.112: require('nvim-autopairs.rules.ts_basic') +398.964 000.223 000.223: require('vim.treesitter.highlighter') +400.217 000.097 000.097: require('nvim-autopairs.completion.handlers') +400.234 000.231 000.134: require('nvim-autopairs.completion.cmp') +400.256 003.072 001.466: require('plugins.autopairs') +400.478 000.139 000.139: require('null-ls.builtins.formatting.stylua') +400.654 000.162 000.162: require('null-ls.builtins.diagnostics.eslint') +400.866 000.201 000.201: require('null-ls.builtins.completion.spell') +401.375 001.112 000.609: require('plugins.null-ls') +401.464 000.078 000.078: require('plugins.web-devicons') +401.938 000.088 000.088: require('zen-mode.util') +401.992 000.234 000.146: require('zen-mode.config') +402.100 000.098 000.098: require('zen-mode.plugins') +402.113 000.493 000.161: require('zen-mode.view') +402.140 000.605 000.112: require('zen-mode') +402.253 000.781 000.177: require('plugins.zen-mode') +406.189 000.101 000.101: require('doom-one.utils') +406.303 000.103 000.103: require('doom-one.colors') +406.371 000.608 000.404: require('doom-one') +409.345 004.594 003.986: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +422.250 000.367 000.367: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/syntax/synload.vim +422.671 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +423.887 000.104 000.104: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/filetype.lua +433.694 009.586 009.586: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/filetype.vim +434.744 000.179 000.179: require('filetype') +434.820 022.539 012.246: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/syntax/syntax.vim +435.298 000.131 000.131: require('notify.stages.fade_in_slide_out') +435.367 033.099 005.834: require('plugins.colorscheme') +435.778 000.108 000.108: require('heirline.conditions') +435.924 000.136 000.136: require('heirline.utils') +436.284 000.097 000.097: require('heirline.highlights') +436.298 000.220 000.122: require('heirline.statusline') +436.307 000.348 000.129: require('heirline') +436.635 000.158 000.158: require('nvim-navic') +440.493 005.117 004.366: require('plugins.heirline') +440.642 239.158 005.290: sourcing /home/sxrdusr/.config/nvim/init.lua +440.667 014.376: sourcing vimrc file(s) +448.090 002.659 002.659: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/gzip.vim +448.286 000.095 000.095: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/health.vim +451.727 002.145 002.145: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +452.146 003.756 001.611: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/matchit.vim +452.608 000.394 000.394: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/matchparen.vim +452.759 000.077 000.077: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/netrwPlugin.vim +453.179 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +453.200 000.378 000.356: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/rplugin.vim +453.456 000.195 000.195: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/shada.vim +453.584 000.051 000.051: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/spellfile.vim +453.717 000.060 000.060: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/tarPlugin.vim +453.853 000.063 000.063: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/tohtml.vim +453.966 000.045 000.045: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/tutor.vim +457.279 003.247 003.247: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/zipPlugin.vim +457.596 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +459.081 000.178 000.178: require('null-ls.builtins.diagnostics.checkmake') +459.509 000.262 000.262: require('fidget.log') +459.529 000.429 000.167: require('fidget') +459.718 000.165 000.165: require('fidget.spinners') +459.911 000.119 000.119: require('flit') +460.423 000.103 000.103: require('leap') +460.526 000.094 000.094: require('leap.user') +461.989 000.083 000.083: require('crates.time') +462.000 000.194 000.110: require('crates.types') +462.010 000.310 000.116: require('crates.semver') +463.387 001.287 001.287: require('crates.config') +463.538 000.141 000.141: require('crates.toml') +463.547 001.532 000.104: require('crates.state') +463.573 002.011 000.169: require('crates.util') +463.588 002.137 000.127: require('crates.actions') +463.829 000.140 000.140: require('crates.api') +463.926 000.090 000.090: require('crates.async') +464.038 000.105 000.105: require('crates.diagnostic') +464.148 000.101 000.101: require('crates.ui') +464.161 000.566 000.130: require('crates.core') +464.410 000.128 000.128: require('crates.popup.common') +464.527 000.109 000.109: require('crates.popup.crate') +464.651 000.117 000.117: require('crates.popup.dependencies') +464.798 000.140 000.140: require('crates.popup.features') +464.930 000.125 000.125: require('crates.popup.versions') +464.942 000.776 000.157: require('crates.popup') +464.956 003.621 000.141: require('crates') +468.390 000.444 000.444: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +470.134 012.395 007.244: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +470.929 000.108 000.108: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/man.lua +471.106 006.877: loading rtp plugins +473.263 000.092 000.092: require('Comment.config') +473.585 000.159 000.159: require('Comment.ft') +473.598 000.325 000.166: require('Comment.utils') +473.701 000.097 000.097: require('Comment.opfunc') +473.801 000.094 000.094: require('Comment.extra') +473.810 000.790 000.181: require('Comment.api') +473.982 001.043 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +474.311 000.157 000.157: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +475.027 000.466 000.466: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +475.858 000.184 000.184: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +476.470 000.040 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +477.956 000.912 000.912: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +478.518 000.073 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +479.184 000.361 000.361: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +479.880 000.214 000.214: require('cmp.utils.highlight') +480.743 001.186 000.972: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +480.958 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +481.288 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +481.777 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +482.439 000.222 000.222: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +483.333 000.277 000.277: require('nvim-treesitter.statusline') +483.465 000.123 000.123: require('nvim-treesitter.query_predicates') +483.473 000.530 000.130: require('nvim-treesitter') +484.490 001.631 001.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +484.996 000.286 000.286: require('treesitter-context') +485.006 000.328 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +485.610 000.307 000.307: require('nvim-treesitter-refactor') +486.129 000.856 000.549: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +486.501 000.108 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +486.936 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +487.265 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +487.746 000.026 000.026: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +488.024 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +488.383 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +488.998 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +489.547 000.340 000.340: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +490.236 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +490.518 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +490.809 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +491.792 011.615: loading packages +499.692 000.247 000.247: require('cmp_buffer.timer') +499.707 000.371 000.124: require('cmp_buffer.buffer') +499.714 000.485 000.114: require('cmp_buffer.source') +499.719 000.595 000.110: require('cmp_buffer') +499.775 000.729 000.134: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +500.211 000.194 000.194: require('cmp_cmdline') +500.249 000.318 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +500.554 000.136 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +500.943 000.149 000.149: require('cmp_path') +501.118 000.414 000.265: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +501.472 000.115 000.115: require('cmp_luasnip') +501.545 000.259 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +502.050 000.124 000.124: require('crates.src.common') +502.058 000.233 000.109: require('crates.src.cmp') +502.158 000.423 000.190: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +502.235 008.165: loading after plugins +502.266 000.031: inits 3 +502.269 000.004: reading ShaDa +503.389 000.134 000.134: require('luasnip.nodes.snippetProxy') +503.401 000.395 000.260: require('luasnip.loaders.from_snipmate') +503.585 000.139 000.139: require('luasnip.loaders.from_vscode') +503.629 000.826: opening buffers +503.907 000.277: BufEnter autocommands +503.916 000.009: editing files in windows +523.448 000.387 000.387: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.252 001.252: --- NVIM STARTING --- +028.506 027.254: event init +045.637 017.131: early init +047.453 001.816: locale set +053.132 005.679: init first window +063.524 010.392: inits 1 +063.555 000.030: window checked +063.563 000.008: parsing arguments +075.623 000.278 000.278: require('vim.shared') +076.184 000.245 000.245: require('vim._meta') +076.200 000.553 000.308: require('vim._editor') +076.208 000.960 000.129: require('vim._init_packages') +076.216 011.694: init lua interpreter +076.372 000.156: expanding arguments +078.183 001.811: inits 2 +079.554 001.371: init highlight +079.563 000.010: waiting for UI +082.359 002.795: done waiting for UI +082.394 000.035: init screen for UI +082.667 000.273: init default mappings +082.694 000.027: init default autocommands +092.469 004.260 004.260: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/ftplugin.vim +094.902 001.025 001.025: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/indent.vim +095.177 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim +095.189 000.087 000.060: sourcing /etc/xdg/nvim/sysinit.vim +146.039 050.620 050.620: require('impatient') +146.227 000.166 000.166: require('impatient.profile') +146.375 000.122 000.122: require('user.utils') +151.939 000.327 000.327: require('packer.util') +152.009 000.727 000.400: require('packer') +152.984 000.294 000.294: require('packer.log') +153.006 000.591 000.297: require('packer.async') +153.364 000.207 000.207: require('packer.result') +153.381 000.367 000.160: require('packer.jobs') +153.397 001.318 000.360: require('packer.plugin_utils') +153.658 000.232 000.232: require('packer.snapshot') +156.096 000.466 000.466: require('mason-core.path') +156.121 000.952 000.486: require('mason.settings') +157.090 000.294 000.294: require('mason-core.functional') +157.590 000.249 000.249: require('mason-core.functional.data') +157.604 000.483 000.234: require('mason-core.functional.function') +157.850 000.202 000.202: require('mason-core.functional.relation') +158.054 000.178 000.178: require('mason-core.functional.logic') +158.108 001.978 000.821: require('mason-core.platform') +158.115 003.516 000.586: require('mason') +158.625 000.153 000.153: require('mason-core.functional.list') +158.683 000.522 000.369: require('mason.api.command') +159.086 000.255 000.255: require('mason-core.log') +159.100 000.409 000.153: require('mason-lspconfig') +159.262 000.154 000.154: require('mason-lspconfig.settings') +159.672 000.100 000.100: require('mason-core.notify') +159.687 000.249 000.149: require('mason-lspconfig.lspconfig_hook') +161.165 000.375 000.375: require('vim.lsp.log') +162.757 000.013 000.013: require('vim.F') +162.768 001.590 001.578: require('vim.lsp.protocol') +163.688 000.340 000.340: require('vim.lsp._snippet') +163.898 000.195 000.195: require('vim.highlight') +163.951 001.120 000.585: require('vim.lsp.util') +163.986 003.554 000.468: require('vim.lsp.handlers') +164.535 000.540 000.540: require('vim.lsp.rpc') +164.924 000.372 000.372: require('vim.lsp.sync') +165.397 000.457 000.457: require('vim.lsp.buf') +165.791 000.378 000.378: require('vim.lsp.diagnostic') +166.217 000.400 000.400: require('vim.lsp.codelens') +166.441 006.577 000.876: require('vim.lsp') +166.701 007.007 000.430: require('lspconfig.util') +167.095 000.124 000.124: require('mason-core.functional.table') +167.214 000.440 000.316: require('mason-lspconfig.mappings.server') +167.653 000.144 000.144: require('mason-core.async') +167.804 000.138 000.138: require('mason-core.async.uv') +167.818 000.430 000.148: require('mason-core.fs') +167.943 000.118 000.118: require('mason-core.optional') +168.065 000.112 000.112: require('mason-core.EventEmitter') +168.305 000.233 000.233: require('mason-registry.index') +168.330 001.105 000.211: require('mason-registry') +168.457 000.115 000.115: require('mason-lspconfig.server_config_extensions') +168.601 000.137 000.137: require('lspconfig.configs') +168.845 000.185 000.185: require('lspconfig.server_configurations.omnisharp') +169.286 000.155 000.155: require('mason-lspconfig.ensure_installed') +169.706 000.117 000.117: require('mason-core.result') +170.312 000.303 000.303: require('mason-core.process') +170.624 000.766 000.463: require('mason-core.spawn') +170.786 000.147 000.147: require('mason-core.receipt') +170.923 000.118 000.118: require('mason-core.functional.string') +170.959 001.244 000.213: require('mason-core.installer.context') +171.090 000.122 000.122: require('mason-core.installer.linker') +171.221 000.124 000.124: require('mason-core.async.control') +171.235 001.785 000.178: require('mason-core.installer') +171.393 000.152 000.152: require('mason-core.installer.handle') +172.052 000.133 000.133: require('mason-core.managers.powershell') +172.061 000.260 000.127: require('mason-core.fetch') +172.065 000.381 000.121: require('mason-core.managers.cargo.client') +172.354 000.149 000.149: require('mason-core.managers.std') +172.640 000.134 000.134: require('mason-registry.api') +172.667 000.305 000.170: require('mason-core.managers.github.client') +172.685 000.614 000.160: require('mason-core.managers.github') +172.846 001.311 000.316: require('mason-core.managers.cargo') +173.126 000.269 000.269: require('mason-core.managers.composer') +173.315 000.179 000.179: require('mason-core.managers.gem') +173.450 000.127 000.127: require('mason-core.managers.git') +173.622 000.160 000.160: require('mason-core.managers.go') +173.829 000.199 000.199: require('mason-core.managers.luarocks') +173.991 000.154 000.154: require('mason-core.managers.npm') +174.218 000.219 000.219: require('mason-core.managers.pip3') +174.233 002.820 000.202: require('mason-core.package.version-check') +174.254 004.957 000.201: require('mason-core.package') +174.502 000.207 000.207: require('mason-registry.python-lsp-server') +174.904 000.136 000.136: require('mason-registry.pyright') +175.181 000.220 000.220: require('mason-registry.clangd') +175.494 000.177 000.177: require('mason-registry.lua-language-server') +175.884 000.186 000.186: require('mason-core.functional.number') +175.961 000.453 000.266: require('mason-lspconfig.api.command') +176.054 025.286 002.868: require('user.pack') +179.762 003.699 003.699: require('user.opts') +179.968 000.018 000.018: require('vim.keymap') +182.217 002.429 002.412: require('user.keys') +182.350 000.120 000.120: require('user.utils') +183.650 000.302 000.302: require('vim.treesitter.language') +183.674 000.872 000.570: require('vim.treesitter.query') +185.104 000.305 000.305: require('vim.treesitter.languagetree') +185.200 000.696 000.391: require('vim.treesitter') +185.566 001.433 000.737: require('nvim-treesitter.parsers') +185.737 000.161 000.161: require('nvim-treesitter.utils') +185.755 001.844 000.250: require('nvim-treesitter.ts_utils') +185.771 002.090 000.246: require('nvim-treesitter.tsrange') +185.931 000.151 000.151: require('nvim-treesitter.caching') +185.955 003.297 000.184: require('nvim-treesitter.query') +185.993 003.532 000.235: require('nvim-treesitter.configs') +186.553 000.133 000.133: require('nvim-treesitter.info') +186.724 000.159 000.159: require('nvim-treesitter.shell_command_selectors') +186.779 000.572 000.280: require('nvim-treesitter.install') +188.676 006.315 002.211: require('plugins.treesitter') +189.041 000.115 000.115: require('telescope._extensions') +189.052 000.236 000.122: require('telescope') +190.000 000.116 000.116: require('plenary.bit') +190.166 000.157 000.157: require('plenary.functional') +190.235 000.044 000.044: require('ffi') +190.262 000.565 000.247: require('plenary.path') +190.282 000.699 000.134: require('plenary.strings') +190.401 000.113 000.113: require('telescope.deprecated') +190.998 000.346 000.346: require('plenary.log') +191.045 000.487 000.141: require('telescope.log') +191.403 000.177 000.177: require('plenary.job') +191.527 000.113 000.113: require('telescope.state') +191.546 000.492 000.202: require('telescope.utils') +191.608 001.198 000.219: require('telescope.sorters') +191.823 000.188 000.188: require('vim.inspect') +196.700 007.320 005.122: require('telescope.config') +197.029 000.144 000.144: require('plenary.window.border') +197.144 000.106 000.106: require('plenary.window') +197.256 000.103 000.103: require('plenary.popup.utils') +197.265 000.547 000.194: require('plenary.popup') +197.390 000.118 000.118: require('telescope.pickers.scroller') +197.516 000.118 000.118: require('telescope.actions.state') +197.668 000.128 000.128: require('telescope.actions.utils') +197.964 000.146 000.146: require('telescope.actions.mt') +198.008 000.333 000.187: require('telescope.actions.set') +198.618 000.306 000.306: require('telescope.config.resolve') +198.638 000.622 000.316: require('telescope.pickers.entry_display') +198.847 000.197 000.197: require('telescope.from_entry') +199.606 010.548 001.164: require('telescope.actions') +204.052 000.130 000.130: require('plenary.tbl') +204.079 000.288 000.158: require('plenary.vararg.rotate') +204.087 000.473 000.184: require('plenary.vararg') +204.293 000.194 000.194: require('plenary.errors') +204.320 000.840 000.174: require('plenary.async.async') +204.591 000.260 000.260: require('plenary.async.structs') +204.631 001.563 000.464: require('plenary.async.control') +205.901 000.963 000.963: require('telescope.make_entry') +206.567 000.133 000.133: require('plenary.async.util') +206.576 000.249 000.116: require('plenary.async.tests') +206.582 000.387 000.137: require('plenary.async') +206.590 000.648 000.261: require('telescope.finders.async_static_finder') +206.977 000.106 000.106: require('plenary.class') +207.016 000.296 000.190: require('telescope._') +207.024 000.428 000.132: require('telescope.finders.async_oneshot_finder') +207.163 000.133 000.133: require('telescope.finders.async_job_finder') +207.181 002.530 000.358: require('telescope.finders') +207.805 000.231 000.231: require('telescope.debounce') +208.120 000.298 000.298: require('telescope.mappings') +208.296 000.163 000.163: require('telescope.pickers.highlights') +208.446 000.140 000.140: require('telescope.pickers.window') +208.752 000.135 000.135: require('telescope.algos.linked_list') +208.763 000.309 000.174: require('telescope.entry_manager') +208.889 000.121 000.121: require('telescope.pickers.multi') +208.946 001.757 000.495: require('telescope.pickers') +209.007 009.178 003.327: require('telescope.builtin.__lsp') +209.076 009.454 000.276: require('telescope.builtin') +209.658 000.360 000.360: require('fzf_lib') +209.679 000.593 000.233: require('telescope._extensions.fzf') +210.368 000.217 000.217: require('telescope._extensions.file_browser.utils') +210.549 000.662 000.445: require('telescope._extensions.file_browser.actions') +210.998 000.254 000.254: require('telescope._extensions.file_browser.make_entry') +211.278 000.260 000.260: require('plenary.scandir') +211.344 000.783 000.269: require('telescope._extensions.file_browser.finders') +211.515 000.163 000.163: require('telescope._extensions.file_browser.picker') +211.736 000.209 000.209: require('telescope._extensions.file_browser.config') +211.745 002.010 000.194: require('telescope._extensions.file_browser') +216.346 027.657 004.817: require('plugins.telescope') +218.128 000.145 000.145: require('notify.util.queue') +218.139 000.286 000.141: require('notify.util') +218.518 000.360 000.360: require('notify.config.highlights') +218.534 000.825 000.179: require('notify.config') +218.757 000.192 000.192: require('notify.stages') +218.915 000.149 000.149: require('notify.service.notification') +219.703 000.200 000.200: require('notify.animate.spring') +219.712 000.649 000.448: require('notify.animate') +219.736 000.813 000.165: require('notify.windows') +220.589 000.329 000.329: require('notify.service.buffer.highlights') +220.611 000.625 000.296: require('notify.service.buffer') +220.628 000.886 000.261: require('notify.service') +221.290 000.657 000.657: require('notify.stages.util') +221.371 003.834 000.312: require('notify') +221.655 000.277 000.277: require('nvim-tree.iterators.node-iterator') +221.808 004.446 000.336: require('nvim-tree.utils') +221.847 004.618 000.171: require('nvim-tree.events') +222.596 000.240 000.240: require('nvim-tree.log') +222.902 000.296 000.296: require('nvim-tree.git.utils') +223.176 000.266 000.266: require('nvim-tree.git.runner') +223.445 000.263 000.263: require('nvim-tree.watcher') +223.482 001.402 000.337: require('nvim-tree.git') +223.723 000.236 000.236: require('nvim-tree.explorer.watch') +223.904 000.174 000.174: require('nvim-tree.explorer.common') +224.400 000.209 000.209: require('nvim-tree.explorer.node-builders') +224.621 000.213 000.213: require('nvim-tree.explorer.sorters') +224.869 000.240 000.240: require('nvim-tree.explorer.filters') +225.802 000.650 000.650: require('nvim-tree.view') +225.922 001.030 000.380: require('nvim-tree.live-filter') +225.946 002.034 000.342: require('nvim-tree.explorer.explore') +226.204 000.251 000.251: require('nvim-tree.explorer.reload') +226.221 004.367 000.271: require('nvim-tree.explorer') +226.241 009.119 000.134: require('nvim-tree.core') +226.527 000.280 000.280: require('nvim-tree.diagnostics') +226.780 000.231 000.231: require('nvim-tree.renderer.components.padding') +227.057 000.269 000.269: require('nvim-tree.renderer.components.icons') +227.301 000.235 000.235: require('nvim-tree.renderer.components.full-name') +227.403 000.095 000.095: require('nvim-tree.renderer.help') +227.528 000.117 000.117: require('nvim-tree.renderer.components.git') +227.660 000.126 000.126: require('nvim-tree.renderer.builder') +227.764 000.097 000.097: require('nvim-tree.marks') +227.777 010.797 000.228: require('nvim-tree.renderer') +227.892 000.102 000.102: require('nvim-tree.actions.tree-modifiers.collapse-all') +227.985 000.086 000.086: require('nvim-tree.actions.root.dir-up') +228.093 000.102 000.102: require('nvim-tree.actions.root.change-dir') +228.198 000.097 000.097: require('nvim-tree.actions.reloaders.reloaders') +228.302 000.096 000.096: require('nvim-tree.actions.finders.find-file') +228.308 011.525 000.247: require('nvim-tree.lib') +228.421 000.107 000.107: require('nvim-tree.colors') +228.555 000.123 000.123: require('nvim-tree.legacy') +228.682 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') +228.898 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') +229.000 000.095 000.095: require('nvim-tree.actions.tree-modifiers.toggles') +229.117 000.101 000.101: require('nvim-tree.actions.fs.create-file') +229.249 000.124 000.124: require('nvim-tree.actions.fs.rename-file') +229.387 000.128 000.128: require('nvim-tree.actions.fs.trash') +229.496 000.102 000.102: require('nvim-tree.actions.fs.remove-file') +229.599 000.092 000.092: require('nvim-tree.actions.moves.parent') +229.694 000.088 000.088: require('nvim-tree.actions.moves.sibling') +229.790 000.088 000.088: require('nvim-tree.actions.moves.item') +229.904 000.096 000.096: require('nvim-tree.actions.finders.search-node') +229.998 000.087 000.087: require('nvim-tree.actions.node.run-command') +230.120 000.115 000.115: require('nvim-tree.actions.node.file-popup') +230.237 000.110 000.110: require('nvim-tree.actions.node.system-open') +230.343 000.095 000.095: require('nvim-tree.marks.bulk-move') +230.349 001.656 000.236: require('nvim-tree.actions.dispatch') +230.381 013.859 000.329: require('nvim-tree') +230.468 000.080 000.080: require('nvim-tree.config') +236.623 000.195 000.195: require('nvim-tree.actions') +236.771 000.126 000.126: require('nvim-tree.actions.node.open-file') +239.211 000.138 000.138: require('nvim-tree.marks.navigation') +239.223 000.333 000.195: require('nvim-tree.api') +239.245 000.484 000.151: require('nvim-tree.keymap') +240.116 000.406 000.406: require('nvim-web-devicons') +244.542 028.177 013.028: require('plugins.nvim-tree') +245.015 000.080 000.080: require('cmp.utils.debug') +245.281 000.172 000.172: require('cmp.utils.char') +245.297 000.273 000.100: require('cmp.utils.str') +245.438 000.089 000.089: require('cmp.utils.pattern') +245.719 000.091 000.091: require('cmp.utils.misc') +245.850 000.103 000.103: require('cmp.utils.buffer') +245.954 000.096 000.096: require('cmp.utils.api') +245.965 000.435 000.145: require('cmp.utils.keymap') +245.973 000.528 000.093: require('cmp.utils.feedkeys') +246.075 000.097 000.097: require('cmp.utils.async') +246.353 000.082 000.082: require('cmp.types.cmp') +246.606 000.246 000.246: require('cmp.types.lsp') +246.741 000.124 000.124: require('cmp.types.vim') +246.747 000.580 000.128: require('cmp.types') +246.831 000.079 000.079: require('cmp.utils.cache') +246.839 000.756 000.097: require('cmp.context') +247.121 000.093 000.093: require('cmp.config.mapping') +247.320 000.096 000.096: require('cmp.config.compare') +247.327 000.194 000.098: require('cmp.config.default') +247.350 000.409 000.122: require('cmp.config') +247.550 000.082 000.082: require('cmp.matcher') +247.560 000.206 000.124: require('cmp.entry') +247.576 000.732 000.117: require('cmp.source') +247.745 000.075 000.075: require('cmp.utils.event') +247.940 000.101 000.101: require('cmp.utils.window') +247.948 000.195 000.095: require('cmp.view.docs_view') +248.154 000.087 000.087: require('cmp.utils.autocmd') +248.173 000.221 000.134: require('cmp.view.custom_entries_view') +248.296 000.117 000.117: require('cmp.view.wildmenu_entries_view') +248.404 000.102 000.102: require('cmp.view.native_entries_view') +248.503 000.093 000.093: require('cmp.view.ghost_text_view') +248.517 000.937 000.134: require('cmp.view') +248.582 003.770 000.278: require('cmp.core') +248.845 000.084 000.084: require('cmp.config.sources') +248.929 000.075 000.075: require('cmp.config.window') +249.029 004.339 000.410: require('cmp') +249.476 000.117 000.117: require('symbols-outline.config') +249.483 000.207 000.090: require('symbols-outline.symbols') +249.579 000.091 000.091: require('symbols-outline.ui') +249.669 000.083 000.083: require('symbols-outline.utils.table') +249.756 000.080 000.080: require('symbols-outline.folding') +249.762 000.586 000.124: require('symbols-outline.parser') +249.852 000.085 000.085: require('symbols-outline.providers.init') +249.952 000.093 000.093: require('symbols-outline.writer') +250.046 000.086 000.086: require('symbols-outline.utils.init') +250.136 000.085 000.085: require('symbols-outline.view') +250.150 001.113 000.179: require('symbols-outline') +250.393 000.113 000.113: require('symbols-outline.preview') +250.513 000.106 000.106: require('lspkind') +252.569 008.014 002.343: require('plugins.cmp') +253.158 000.084 000.084: require('luasnip.session') +253.311 000.144 000.144: require('luasnip.util.util') +253.406 000.088 000.088: require('luasnip.util.types') +253.602 000.095 000.095: require('luasnip.util.ext_opts') +253.611 000.197 000.102: require('luasnip.nodes.util') +253.706 000.089 000.089: require('luasnip.util.events') +253.726 000.751 000.148: require('luasnip.nodes.node') +253.972 000.094 000.094: require('luasnip.util.extend_decorator') +253.987 000.255 000.161: require('luasnip.nodes.insertNode') +254.110 000.117 000.117: require('luasnip.nodes.textNode') +254.237 000.115 000.115: require('luasnip.util.mark') +255.139 000.800 000.800: require('luasnip.util._builtin_vars') +255.552 001.308 000.508: require('luasnip.util.environ') +255.698 000.133 000.133: require('luasnip.util.pattern_tokenizer') +255.793 000.088 000.088: require('luasnip.util.dict') +255.965 000.164 000.164: require('luasnip.session.snippet_collection') +256.142 003.314 000.383: require('luasnip.nodes.snippet') +256.363 000.091 000.091: require('luasnip.loaders._caches') +256.512 000.141 000.141: require('luasnip.util.path') +256.571 000.413 000.181: require('luasnip.loaders') +256.785 000.178 000.178: require('luasnip.nodes.functionNode') +256.960 000.166 000.166: require('luasnip.nodes.choiceNode') +257.123 000.155 000.155: require('luasnip.nodes.dynamicNode') +257.273 000.143 000.143: require('luasnip.nodes.restoreNode') +257.667 000.104 000.104: require('luasnip.util.parser.neovim_ast') +263.619 000.140 000.140: require('luasnip.util.directed_graph') +263.650 006.206 005.962: require('luasnip.util.parser.ast_utils') +263.964 000.162 000.162: require('luasnip.util.functions') +263.984 000.322 000.160: require('luasnip.util.parser.ast_parser') +264.259 000.266 000.266: require('luasnip.util.parser.neovim_parser') +264.421 000.148 000.148: require('luasnip.util.str') +264.442 007.113 000.170: require('luasnip.util.parser') +264.802 000.155 000.155: require('luasnip.extras.filetype_functions') +265.028 000.166 000.166: require('luasnip.extras') +265.184 000.138 000.138: require('luasnip.extras.fmt') +265.466 000.094 000.094: require('luasnip.extras.conditions') +265.566 000.094 000.094: require('luasnip.extras.conditions.show') +265.666 000.381 000.193: require('luasnip.extras.conditions.expand') +265.672 000.479 000.098: require('luasnip.extras.expand_conditions') +265.782 000.098 000.098: require('luasnip.nodes.absolute_indexer') +266.275 001.821 000.786: require('luasnip.config') +266.287 013.592 000.289: require('luasnip') +266.520 000.112 000.112: require('luasnip.loaders.util') +266.530 000.236 000.124: require('luasnip.loaders.from_lua') +276.628 024.041 010.213: require('plugins.luasnip') +277.041 000.148 000.148: require('colorizer/nvim') +277.242 000.191 000.191: require('colorizer/trie') +277.608 000.861 000.521: require('colorizer') +279.397 002.750 001.889: require('plugins.colorizer') +279.798 000.096 000.096: require('prettier.utils') +279.825 000.234 000.138: require('prettier.options') +280.447 000.185 000.185: require('null-ls.methods') +280.476 000.344 000.158: require('null-ls.utils') +280.941 000.455 000.455: require('vim.diagnostic') +280.971 000.933 000.134: require('null-ls.config') +281.211 000.129 000.129: require('null-ls.helpers.cache') +281.353 000.133 000.133: require('null-ls.helpers.diagnostics') +281.462 000.101 000.101: require('null-ls.helpers.formatter_factory') +281.693 000.098 000.098: require('null-ls.logger') +281.801 000.101 000.101: require('null-ls.state') +281.808 000.339 000.141: require('null-ls.helpers.generator_factory') +282.014 000.100 000.100: require('null-ls.helpers.command_resolver') +282.021 000.207 000.108: require('null-ls.helpers.make_builtin') +282.123 000.096 000.096: require('null-ls.helpers.range_formatting_args_factory') +282.128 001.149 000.144: require('null-ls.helpers') +282.356 000.110 000.110: require('null-ls.diagnostics') +282.380 000.247 000.138: require('null-ls.sources') +282.512 000.124 000.124: require('null-ls.builtins') +282.520 002.577 000.123: require('null-ls') +282.621 000.096 000.096: require('prettier.cli') +282.630 002.800 000.127: require('prettier.null-ls') +282.636 003.134 000.101: require('prettier') +283.007 000.131 000.131: require('null-ls.client') +283.020 003.610 000.344: require('plugins.prettier') +283.182 000.089 000.089: require('git') +283.309 000.120 000.120: require('git.config') +283.484 000.455 000.246: require('plugins.git') +283.799 000.099 000.099: require('gitsigns.async') +283.902 000.094 000.094: require('gitsigns.status') +284.158 000.099 000.099: require('gitsigns.debug') +284.269 000.105 000.105: require('gitsigns.util') +284.497 000.123 000.123: require('gitsigns.uv') +284.505 000.229 000.106: require('gitsigns.subprocess') +284.941 000.085 000.085: require('gitsigns.message') +284.970 000.272 000.187: require('gitsigns.config') +285.063 000.086 000.086: require('gitsigns.signs.base') +285.069 000.456 000.099: require('gitsigns.signs') +285.078 000.569 000.113: require('gitsigns.hunks') +285.095 001.187 000.186: require('gitsigns.git') +285.316 000.092 000.092: require('gitsigns.cache') +285.411 000.087 000.087: require('gitsigns.debounce') +285.503 000.082 000.082: require('gitsigns.diff') +285.525 000.425 000.163: require('gitsigns.manager') +285.658 000.126 000.126: require('gitsigns.highlight') +285.681 002.118 000.187: require('gitsigns') +287.320 000.123 000.123: require('gitsigns.signs.vimfn') +289.815 006.324 004.082: require('plugins.gitsigns') +290.263 000.122 000.122: require('neoscroll.config') +290.375 000.103 000.103: require('neoscroll.utils') +290.542 000.565 000.339: require('neoscroll') +291.102 001.263 000.699: require('plugins.neoscroll') +291.674 000.108 000.108: require('cmp_nvim_lsp.source') +291.684 000.228 000.120: require('cmp_nvim_lsp') +291.785 000.091 000.091: require('lspconfig') +291.941 000.110 000.110: require('lspconfig.server_configurations.pylsp') +292.601 000.157 000.157: require('mason-lspconfig.server_configurations.pylsp') +293.072 000.128 000.128: require('lspconfig.server_configurations.clangd') +295.132 000.137 000.137: require('lspconfig.server_configurations.vimls') +296.743 000.130 000.130: require('lspconfig.server_configurations.bashls') +298.844 000.187 000.187: require('lspconfig.server_configurations.sumneko_lua') +300.570 009.456 008.289: require('plugins.lsp') +300.948 000.094 000.094: require('nvim-autopairs._log') +301.076 000.119 000.119: require('nvim-autopairs.utils') +301.419 000.123 000.123: require('nvim-autopairs.conds') +301.435 000.242 000.119: require('nvim-autopairs.rule') +301.440 000.357 000.115: require('nvim-autopairs.rules.basic') +301.455 000.769 000.199: require('nvim-autopairs') +301.677 000.124 000.124: require('nvim-autopairs.fastwrap') +302.226 000.114 000.114: require('nvim-autopairs.ts-conds') +302.234 000.229 000.115: require('nvim-autopairs.rules.ts_basic') +302.492 000.252 000.252: require('vim.treesitter.highlighter') +303.613 000.099 000.099: require('nvim-autopairs.completion.handlers') +303.631 000.229 000.129: require('nvim-autopairs.completion.cmp') +303.704 003.116 001.514: require('plugins.autopairs') +304.017 000.220 000.220: require('null-ls.builtins.formatting.stylua') +304.192 000.159 000.159: require('null-ls.builtins.diagnostics.eslint') +304.322 000.118 000.118: require('null-ls.builtins.completion.spell') +304.809 001.095 000.598: require('plugins.null-ls') +304.895 000.075 000.075: require('plugins.web-devicons') +305.378 000.089 000.089: require('zen-mode.util') +305.570 000.377 000.288: require('zen-mode.config') +305.693 000.111 000.111: require('zen-mode.plugins') +305.704 000.651 000.163: require('zen-mode.view') +305.710 000.742 000.092: require('zen-mode') +305.981 001.080 000.337: require('plugins.zen-mode') +310.192 000.100 000.100: require('doom-one.utils') +310.308 000.104 000.104: require('doom-one.colors') +310.326 000.554 000.350: require('doom-one') +313.289 004.518 003.964: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +319.592 000.338 000.338: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/syntax/synload.vim +320.013 000.059 000.059: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +321.170 000.100 000.100: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/filetype.lua +322.739 001.395 001.395: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/filetype.vim +323.624 000.175 000.175: require('filetype') +323.693 006.434 004.367: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/syntax/syntax.vim +324.228 000.190 000.190: require('notify.stages.fade_in_slide_out') +324.302 018.309 007.166: require('plugins.colorscheme') +324.712 000.112 000.112: require('heirline.conditions') +324.865 000.145 000.145: require('heirline.utils') +325.237 000.110 000.110: require('heirline.highlights') +325.251 000.238 000.128: require('heirline.statusline') +325.259 000.359 000.122: require('heirline') +325.428 000.151 000.151: require('nvim-navic') +330.002 005.690 004.923: require('plugins.heirline') +330.055 234.819 004.949: sourcing /home/sxrdusr/.config/nvim/init.lua +330.077 007.191: sourcing vimrc file(s) +336.547 001.394 001.394: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/gzip.vim +336.687 000.061 000.061: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/health.vim +339.821 001.746 001.746: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +340.242 003.447 001.701: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/matchit.vim +340.717 000.405 000.405: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/matchparen.vim +340.878 000.087 000.087: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/netrwPlugin.vim +341.312 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +341.333 000.386 000.364: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/rplugin.vim +341.611 000.210 000.210: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/shada.vim +341.759 000.058 000.058: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/spellfile.vim +341.905 000.068 000.068: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/tarPlugin.vim +342.052 000.069 000.069: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/tohtml.vim +342.177 000.052 000.052: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/tutor.vim +343.163 000.910 000.910: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/zipPlugin.vim +343.453 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +345.012 000.181 000.181: require('null-ls.builtins.diagnostics.checkmake') +345.445 000.260 000.260: require('fidget.log') +345.466 000.439 000.179: require('fidget') +345.669 000.182 000.182: require('fidget.spinners') +345.883 000.144 000.144: require('flit') +346.600 000.104 000.104: require('leap') +346.710 000.100 000.100: require('leap.user') +347.894 000.084 000.084: require('crates.time') +347.905 000.197 000.113: require('crates.types') +347.917 000.318 000.121: require('crates.semver') +348.396 000.389 000.389: require('crates.config') +348.547 000.143 000.143: require('crates.toml') +348.558 000.635 000.103: require('crates.state') +348.584 001.124 000.171: require('crates.util') +348.598 001.262 000.138: require('crates.actions') +348.850 000.146 000.146: require('crates.api') +348.951 000.093 000.093: require('crates.async') +349.068 000.110 000.110: require('crates.diagnostic') +349.206 000.129 000.129: require('crates.ui') +349.215 000.610 000.132: require('crates.core') +349.493 000.124 000.124: require('crates.popup.common') +349.618 000.118 000.118: require('crates.popup.crate') +349.744 000.119 000.119: require('crates.popup.dependencies') +349.874 000.123 000.123: require('crates.popup.features') +350.034 000.154 000.154: require('crates.popup.versions') +350.050 000.829 000.192: require('crates.popup') +350.061 002.844 000.142: require('crates') +353.619 000.487 000.487: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +355.322 011.723 007.242: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +356.160 000.117 000.117: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/man.lua +356.374 007.273: loading rtp plugins +358.523 000.097 000.097: require('Comment.config') +358.854 000.155 000.155: require('Comment.ft') +358.864 000.331 000.176: require('Comment.utils') +358.969 000.099 000.099: require('Comment.opfunc') +359.069 000.093 000.093: require('Comment.extra') +359.078 000.786 000.166: require('Comment.api') +359.276 001.082 000.295: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +359.619 000.160 000.160: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +360.346 000.465 000.465: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +361.167 000.179 000.179: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +361.787 000.039 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +363.802 001.427 001.427: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +364.372 000.073 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +365.036 000.364 000.364: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +365.696 000.168 000.168: require('cmp.utils.highlight') +366.663 001.241 001.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +366.885 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +367.216 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +367.709 000.172 000.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +368.347 000.221 000.221: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +369.235 000.221 000.221: require('nvim-treesitter.statusline') +369.370 000.126 000.126: require('nvim-treesitter.query_predicates') +369.377 000.515 000.169: require('nvim-treesitter') +370.560 001.785 001.269: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +371.139 000.352 000.352: require('treesitter-context') +371.150 000.395 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +371.675 000.224 000.224: require('nvim-treesitter-refactor') +372.160 000.741 000.517: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +372.568 000.136 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +373.014 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +373.351 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +373.840 000.027 000.027: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +374.126 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +374.491 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +375.105 000.126 000.126: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +375.661 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +376.391 000.379 000.379: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +376.681 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +376.976 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +378.135 011.943: loading packages +386.128 000.183 000.183: require('cmp_buffer.timer') +386.140 000.355 000.171: require('cmp_buffer.buffer') +386.146 000.475 000.120: require('cmp_buffer.source') +386.151 000.597 000.122: require('cmp_buffer') +386.207 000.737 000.140: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +386.646 000.180 000.180: require('cmp_cmdline') +386.683 000.314 000.134: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +386.981 000.134 000.134: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +387.382 000.164 000.164: require('cmp_path') +387.415 000.281 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +387.764 000.118 000.118: require('cmp_luasnip') +387.832 000.254 000.137: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +388.317 000.118 000.118: require('crates.src.common') +388.329 000.229 000.111: require('crates.src.cmp') +388.357 000.329 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +388.431 008.246: loading after plugins +388.462 000.032: inits 3 +388.477 000.015: reading ShaDa +389.662 000.131 000.131: require('luasnip.nodes.snippetProxy') +389.678 000.357 000.227: require('luasnip.loaders.from_snipmate') +389.867 000.141 000.141: require('luasnip.loaders.from_vscode') +389.985 001.009: opening buffers +390.134 000.150: BufEnter autocommands +390.143 000.009: editing files in windows +408.982 000.262 000.262: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.177 001.177: --- NVIM STARTING --- +030.296 029.118: event init +047.618 017.322: early init +049.401 001.783: locale set +055.049 005.647: init first window +065.410 010.361: inits 1 +065.435 000.025: window checked +065.443 000.008: parsing arguments +077.432 000.276 000.276: require('vim.shared') +077.936 000.239 000.239: require('vim._meta') +077.949 000.494 000.255: require('vim._editor') +077.957 000.895 000.126: require('vim._init_packages') +077.964 011.626: init lua interpreter +078.138 000.174: expanding arguments +080.103 001.965: inits 2 +081.461 001.358: init highlight +081.470 000.009: waiting for UI +085.368 003.898: done waiting for UI +085.402 000.035: init screen for UI +085.645 000.242: init default mappings +085.673 000.028: init default autocommands +098.985 004.477 004.477: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/ftplugin.vim +102.428 001.121 001.121: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/indent.vim +102.963 000.062 000.062: sourcing /usr/share/nvim/archlinux.vim +102.992 000.194 000.132: sourcing /etc/xdg/nvim/sysinit.vim +131.508 028.029 028.029: require('impatient') +131.647 000.124 000.124: require('impatient.profile') +131.753 000.087 000.087: require('user.utils') +135.969 000.249 000.249: require('packer.util') +136.019 000.593 000.345: require('packer') +137.052 000.618 000.618: require('packer.log') +137.067 000.782 000.164: require('packer.async') +137.526 000.335 000.335: require('packer.result') +137.539 000.466 000.131: require('packer.jobs') +137.552 001.479 000.231: require('packer.plugin_utils') +137.749 000.174 000.174: require('packer.snapshot') +138.889 000.093 000.093: require('mason-core.path') +138.917 000.215 000.123: require('mason.settings') +139.202 000.156 000.156: require('mason-core.functional') +139.421 000.093 000.093: require('mason-core.functional.data') +139.434 000.208 000.116: require('mason-core.functional.function') +139.614 000.151 000.151: require('mason-core.functional.relation') +139.774 000.136 000.136: require('mason-core.functional.logic') +139.830 000.905 000.254: require('mason-core.platform') +139.836 001.438 000.318: require('mason') +140.302 000.152 000.152: require('mason-core.functional.list') +140.351 000.483 000.331: require('mason.api.command') +140.607 000.140 000.140: require('mason-core.log') +140.616 000.258 000.118: require('mason-lspconfig') +140.713 000.092 000.092: require('mason-lspconfig.settings') +140.974 000.080 000.080: require('mason-core.notify') +140.991 000.205 000.125: require('mason-lspconfig.lspconfig_hook') +148.799 000.640 000.640: require('vim.lsp.log') +151.050 000.016 000.016: require('vim.F') +151.061 002.248 002.232: require('vim.lsp.protocol') +157.315 002.187 002.187: require('vim.lsp._snippet') +157.944 000.612 000.612: require('vim.highlight') +157.978 006.908 004.109: require('vim.lsp.util') +158.026 012.293 002.498: require('vim.lsp.handlers') +159.228 001.192 001.192: require('vim.lsp.rpc') +159.914 000.674 000.674: require('vim.lsp.sync') +161.352 001.426 001.426: require('vim.lsp.buf') +161.915 000.553 000.553: require('vim.lsp.diagnostic') +162.551 000.625 000.625: require('vim.lsp.codelens') +162.744 021.619 004.854: require('vim.lsp') +162.849 021.853 000.234: require('lspconfig.util') +163.157 000.103 000.103: require('mason-core.functional.table') +163.261 000.383 000.280: require('mason-lspconfig.mappings.server') +163.645 000.120 000.120: require('mason-core.async') +163.743 000.087 000.087: require('mason-core.async.uv') +163.758 000.352 000.144: require('mason-core.fs') +163.897 000.132 000.132: require('mason-core.optional') +164.044 000.137 000.137: require('mason-core.EventEmitter') +164.264 000.213 000.213: require('mason-registry.index') +164.290 001.019 000.186: require('mason-registry') +164.396 000.098 000.098: require('mason-lspconfig.server_config_extensions') +164.526 000.123 000.123: require('lspconfig.configs') +164.692 000.115 000.115: require('lspconfig.server_configurations.omnisharp') +165.070 000.106 000.106: require('mason-lspconfig.ensure_installed') +165.423 000.103 000.103: require('mason-core.result') +166.032 000.272 000.272: require('mason-core.process') +166.149 000.550 000.278: require('mason-core.spawn') +166.275 000.114 000.114: require('mason-core.receipt') +166.392 000.097 000.097: require('mason-core.functional.string') +166.424 000.992 000.231: require('mason-core.installer.context') +166.586 000.156 000.156: require('mason-core.installer.linker') +166.719 000.124 000.124: require('mason-core.async.control') +166.732 001.527 000.153: require('mason-core.installer') +166.868 000.128 000.128: require('mason-core.installer.handle') +167.428 000.124 000.124: require('mason-core.managers.powershell') +167.439 000.236 000.112: require('mason-core.fetch') +167.443 000.328 000.093: require('mason-core.managers.cargo.client') +167.690 000.127 000.127: require('mason-core.managers.std') +168.013 000.123 000.123: require('mason-registry.api') +168.038 000.298 000.175: require('mason-core.managers.github.client') +168.053 000.605 000.179: require('mason-core.managers.github') +168.167 001.180 000.247: require('mason-core.managers.cargo') +168.471 000.296 000.296: require('mason-core.managers.composer') +168.645 000.165 000.165: require('mason-core.managers.gem') +168.757 000.105 000.105: require('mason-core.managers.git') +168.995 000.230 000.230: require('mason-core.managers.go') +169.199 000.195 000.195: require('mason-core.managers.luarocks') +169.356 000.146 000.146: require('mason-core.managers.npm') +169.539 000.176 000.176: require('mason-core.managers.pip3') +169.556 002.668 000.175: require('mason-core.package.version-check') +169.568 004.489 000.166: require('mason-core.package') +169.702 000.111 000.111: require('mason-registry.python-lsp-server') +170.068 000.142 000.142: require('mason-registry.pyright') +170.243 000.143 000.143: require('mason-registry.clangd') +170.428 000.158 000.158: require('mason-registry.lua-language-server') +170.665 000.091 000.091: require('mason-core.functional.number') +170.720 000.279 000.188: require('mason-lspconfig.api.command') +170.932 035.877 002.136: require('user.pack') +173.861 002.917 002.917: require('user.opts') +174.009 000.011 000.011: require('vim.keymap') +176.057 002.183 002.172: require('user.keys') +176.165 000.098 000.098: require('user.utils') +180.486 001.298 001.298: require('vim.treesitter.language') +180.521 004.008 002.710: require('vim.treesitter.query') +182.976 000.924 000.924: require('vim.treesitter.languagetree') +183.075 001.964 001.040: require('vim.treesitter') +183.413 002.629 000.665: require('nvim-treesitter.parsers') +183.587 000.163 000.163: require('nvim-treesitter.utils') +183.599 002.945 000.153: require('nvim-treesitter.ts_utils') +183.614 003.085 000.139: require('nvim-treesitter.tsrange') +183.725 000.103 000.103: require('nvim-treesitter.caching') +183.747 007.357 000.161: require('nvim-treesitter.query') +183.782 007.535 000.178: require('nvim-treesitter.configs') +184.408 000.120 000.120: require('nvim-treesitter.info') +184.561 000.142 000.142: require('nvim-treesitter.shell_command_selectors') +184.612 000.525 000.262: require('nvim-treesitter.install') +186.316 010.142 002.082: require('plugins.treesitter') +186.647 000.100 000.100: require('telescope._extensions') +186.657 000.212 000.111: require('telescope') +187.507 000.103 000.103: require('plenary.bit') +187.611 000.094 000.094: require('plenary.functional') +187.670 000.036 000.036: require('ffi') +187.694 000.461 000.228: require('plenary.path') +187.710 000.576 000.115: require('plenary.strings') +187.808 000.093 000.093: require('telescope.deprecated') +188.209 000.182 000.182: require('plenary.log') +188.248 000.305 000.123: require('telescope.log') +188.593 000.187 000.187: require('plenary.job') +188.715 000.112 000.112: require('telescope.state') +188.823 000.567 000.268: require('telescope.utils') +188.887 001.071 000.199: require('telescope.sorters') +189.139 000.218 000.218: require('vim.inspect') +197.132 010.169 008.211: require('telescope.config') +197.510 000.148 000.148: require('plenary.window.border') +197.627 000.109 000.109: require('plenary.window') +197.744 000.109 000.109: require('plenary.popup.utils') +197.755 000.598 000.233: require('plenary.popup') +197.909 000.147 000.147: require('telescope.pickers.scroller') +198.052 000.134 000.134: require('telescope.actions.state') +198.221 000.144 000.144: require('telescope.actions.utils') +198.538 000.150 000.150: require('telescope.actions.mt') +198.600 000.371 000.222: require('telescope.actions.set') +198.956 000.212 000.212: require('telescope.config.resolve') +198.964 000.356 000.144: require('telescope.pickers.entry_display') +199.084 000.115 000.115: require('telescope.from_entry') +199.742 013.079 001.043: require('telescope.actions') +200.807 000.109 000.109: require('plenary.tbl') +200.825 000.240 000.131: require('plenary.vararg.rotate') +200.829 000.347 000.107: require('plenary.vararg') +200.935 000.101 000.101: require('plenary.errors') +200.948 000.597 000.149: require('plenary.async.async') +201.074 000.121 000.121: require('plenary.async.structs') +201.095 000.898 000.180: require('plenary.async.control') +201.625 000.371 000.371: require('telescope.make_entry') +202.116 000.122 000.122: require('plenary.async.util') +202.123 000.228 000.106: require('plenary.async.tests') +202.129 000.353 000.125: require('plenary.async') +202.136 000.495 000.142: require('telescope.finders.async_static_finder') +203.049 000.645 000.645: require('plenary.class') +203.135 000.877 000.232: require('telescope._') +203.142 001.000 000.123: require('telescope.finders.async_oneshot_finder') +203.421 000.273 000.273: require('telescope.finders.async_job_finder') +203.461 002.356 000.217: require('telescope.finders') +204.688 000.672 000.672: require('telescope.debounce') +205.370 000.666 000.666: require('telescope.mappings') +205.632 000.248 000.248: require('telescope.pickers.highlights') +205.841 000.188 000.188: require('telescope.pickers.window') +206.346 000.234 000.234: require('telescope.algos.linked_list') +206.367 000.519 000.285: require('telescope.entry_manager') +206.570 000.197 000.197: require('telescope.pickers.multi') +206.680 003.213 000.723: require('telescope.pickers') +206.754 006.778 000.311: require('telescope.builtin.__lsp') +206.951 007.193 000.416: require('telescope.builtin') +207.796 000.429 000.429: require('fzf_lib') +207.826 000.864 000.434: require('telescope._extensions.fzf') +209.178 000.628 000.628: require('telescope._extensions.file_browser.utils') +209.523 001.393 000.765: require('telescope._extensions.file_browser.actions') +209.833 000.178 000.178: require('telescope._extensions.file_browser.make_entry') +210.007 000.163 000.163: require('plenary.scandir') +210.086 000.554 000.213: require('telescope._extensions.file_browser.finders') +210.202 000.107 000.107: require('telescope._extensions.file_browser.picker') +210.336 000.122 000.122: require('telescope._extensions.file_browser.config') +210.347 002.489 000.313: require('telescope._extensions.file_browser') +213.928 027.600 003.763: require('plugins.telescope') +215.092 000.082 000.082: require('notify.util.queue') +215.100 000.183 000.100: require('notify.util') +215.343 000.236 000.236: require('notify.config.highlights') +215.353 000.535 000.116: require('notify.config') +215.445 000.085 000.085: require('notify.stages') +215.538 000.086 000.086: require('notify.service.notification') +215.798 000.079 000.079: require('notify.animate.spring') +215.804 000.162 000.083: require('notify.animate') +215.813 000.268 000.106: require('notify.windows') +216.103 000.099 000.099: require('notify.service.buffer.highlights') +216.112 000.203 000.104: require('notify.service.buffer') +216.118 000.300 000.098: require('notify.service') +216.219 000.096 000.096: require('notify.stages.util') +216.271 001.553 000.183: require('notify') +216.372 000.093 000.093: require('nvim-tree.iterators.node-iterator') +216.437 001.840 000.194: require('nvim-tree.utils') +216.448 001.944 000.104: require('nvim-tree.events') +216.732 000.096 000.096: require('nvim-tree.log') +216.908 000.168 000.168: require('nvim-tree.git.utils') +217.013 000.098 000.098: require('nvim-tree.git.runner') +217.113 000.093 000.093: require('nvim-tree.watcher') +217.123 000.578 000.123: require('nvim-tree.git') +217.220 000.092 000.092: require('nvim-tree.explorer.watch') +217.312 000.085 000.085: require('nvim-tree.explorer.common') +217.504 000.099 000.099: require('nvim-tree.explorer.node-builders') +217.601 000.089 000.089: require('nvim-tree.explorer.sorters') +217.694 000.086 000.086: require('nvim-tree.explorer.filters') +217.973 000.180 000.180: require('nvim-tree.view') +217.986 000.286 000.106: require('nvim-tree.live-filter') +217.991 000.673 000.113: require('nvim-tree.explorer.explore') +218.097 000.101 000.101: require('nvim-tree.explorer.reload') +218.105 001.650 000.122: require('nvim-tree.explorer') +218.112 003.687 000.094: require('nvim-tree.core') +218.217 000.100 000.100: require('nvim-tree.diagnostics') +218.316 000.090 000.090: require('nvim-tree.renderer.components.padding') +218.412 000.090 000.090: require('nvim-tree.renderer.components.icons') +218.514 000.095 000.095: require('nvim-tree.renderer.components.full-name') +218.605 000.084 000.084: require('nvim-tree.renderer.help') +218.719 000.107 000.107: require('nvim-tree.renderer.components.git') +218.841 000.116 000.116: require('nvim-tree.renderer.builder') +218.940 000.091 000.091: require('nvim-tree.marks') +218.950 004.623 000.163: require('nvim-tree.renderer') +219.058 000.095 000.095: require('nvim-tree.actions.tree-modifiers.collapse-all') +219.147 000.082 000.082: require('nvim-tree.actions.root.dir-up') +219.246 000.093 000.093: require('nvim-tree.actions.root.change-dir') +219.347 000.093 000.093: require('nvim-tree.actions.reloaders.reloaders') +219.447 000.092 000.092: require('nvim-tree.actions.finders.find-file') +219.452 005.221 000.144: require('nvim-tree.lib') +219.559 000.101 000.101: require('nvim-tree.colors') +219.685 000.116 000.116: require('nvim-tree.legacy') +219.806 000.111 000.111: require('nvim-tree.actions.fs.copy-paste') +220.011 000.096 000.096: require('nvim-tree.actions.tree-modifiers.expand-all') +220.123 000.104 000.104: require('nvim-tree.actions.tree-modifiers.toggles') +220.236 000.097 000.097: require('nvim-tree.actions.fs.create-file') +220.334 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +220.457 000.115 000.115: require('nvim-tree.actions.fs.trash') +220.562 000.097 000.097: require('nvim-tree.actions.fs.remove-file') +220.658 000.087 000.087: require('nvim-tree.actions.moves.parent') +220.751 000.086 000.086: require('nvim-tree.actions.moves.sibling') +220.844 000.084 000.084: require('nvim-tree.actions.moves.item') +220.953 000.091 000.091: require('nvim-tree.actions.finders.search-node') +221.044 000.084 000.084: require('nvim-tree.actions.node.run-command') +221.161 000.110 000.110: require('nvim-tree.actions.node.file-popup') +221.274 000.107 000.107: require('nvim-tree.actions.node.system-open') +221.379 000.094 000.094: require('nvim-tree.marks.bulk-move') +221.386 001.570 000.228: require('nvim-tree.actions.dispatch') +221.416 007.371 000.252: require('nvim-tree') +221.500 000.079 000.079: require('nvim-tree.config') +227.242 000.167 000.167: require('nvim-tree.actions') +227.379 000.118 000.118: require('nvim-tree.actions.node.open-file') +229.938 000.096 000.096: require('nvim-tree.marks.navigation') +229.950 000.283 000.187: require('nvim-tree.api') +229.970 000.428 000.145: require('nvim-tree.keymap') +230.837 000.388 000.388: require('nvim-web-devicons') +235.052 021.111 012.560: require('plugins.nvim-tree') +235.504 000.078 000.078: require('cmp.utils.debug') +235.713 000.118 000.118: require('cmp.utils.char') +235.726 000.213 000.095: require('cmp.utils.str') +235.856 000.081 000.081: require('cmp.utils.pattern') +236.130 000.087 000.087: require('cmp.utils.misc') +236.235 000.076 000.076: require('cmp.utils.buffer') +236.331 000.090 000.090: require('cmp.utils.api') +236.342 000.395 000.143: require('cmp.utils.keymap') +236.351 000.488 000.092: require('cmp.utils.feedkeys') +236.449 000.093 000.093: require('cmp.utils.async') +236.739 000.096 000.096: require('cmp.types.cmp') +236.850 000.104 000.104: require('cmp.types.lsp') +236.929 000.072 000.072: require('cmp.types.vim') +236.934 000.396 000.125: require('cmp.types') +237.015 000.076 000.076: require('cmp.utils.cache') +237.023 000.566 000.095: require('cmp.context') +237.331 000.104 000.104: require('cmp.config.mapping') +237.553 000.113 000.113: require('cmp.config.compare') +237.560 000.217 000.103: require('cmp.config.default') +237.587 000.464 000.143: require('cmp.config') +237.812 000.090 000.090: require('cmp.matcher') +237.823 000.230 000.140: require('cmp.entry') +237.841 000.813 000.119: require('cmp.source') +238.025 000.079 000.079: require('cmp.utils.event') +238.243 000.111 000.111: require('cmp.utils.window') +238.251 000.218 000.108: require('cmp.view.docs_view') +238.476 000.090 000.090: require('cmp.utils.autocmd') +238.500 000.244 000.154: require('cmp.view.custom_entries_view') +238.634 000.128 000.128: require('cmp.view.wildmenu_entries_view') +238.755 000.113 000.113: require('cmp.view.native_entries_view') +238.863 000.102 000.102: require('cmp.view.ghost_text_view') +238.881 001.035 000.150: require('cmp.view') +238.989 003.680 000.312: require('cmp.core') +239.418 000.090 000.090: require('cmp.config.sources') +239.512 000.077 000.077: require('cmp.config.window') +239.626 004.433 000.586: require('cmp') +240.106 000.155 000.155: require('symbols-outline.config') +240.113 000.252 000.097: require('symbols-outline.symbols') +240.221 000.102 000.102: require('symbols-outline.ui') +240.319 000.090 000.090: require('symbols-outline.utils.table') +240.419 000.093 000.093: require('symbols-outline.folding') +240.426 000.665 000.127: require('symbols-outline.parser') +240.525 000.094 000.094: require('symbols-outline.providers.init') +240.633 000.101 000.101: require('symbols-outline.writer') +240.736 000.095 000.095: require('symbols-outline.utils.init') +240.833 000.091 000.091: require('symbols-outline.view') +240.850 001.216 000.171: require('symbols-outline') +241.230 000.131 000.131: require('symbols-outline.preview') +241.361 000.116 000.116: require('lspkind') +242.972 007.908 002.012: require('plugins.cmp') +243.606 000.089 000.089: require('luasnip.session') +243.767 000.152 000.152: require('luasnip.util.util') +243.859 000.085 000.085: require('luasnip.util.types') +244.050 000.091 000.091: require('luasnip.util.ext_opts') +244.064 000.198 000.106: require('luasnip.nodes.util') +244.155 000.085 000.085: require('luasnip.util.events') +244.172 000.768 000.161: require('luasnip.nodes.node') +244.482 000.100 000.100: require('luasnip.util.extend_decorator') +244.494 000.316 000.217: require('luasnip.nodes.insertNode') +244.622 000.121 000.121: require('luasnip.nodes.textNode') +244.732 000.099 000.099: require('luasnip.util.mark') +245.531 000.690 000.690: require('luasnip.util._builtin_vars') +245.740 001.001 000.311: require('luasnip.util.environ') +245.858 000.107 000.107: require('luasnip.util.pattern_tokenizer') +245.955 000.090 000.090: require('luasnip.util.dict') +246.068 000.107 000.107: require('luasnip.session.snippet_collection') +246.187 002.972 000.363: require('luasnip.nodes.snippet') +246.397 000.093 000.093: require('luasnip.loaders._caches') +246.532 000.127 000.127: require('luasnip.util.path') +246.578 000.376 000.157: require('luasnip.loaders') +246.775 000.162 000.162: require('luasnip.nodes.functionNode') +246.968 000.183 000.183: require('luasnip.nodes.choiceNode') +247.120 000.144 000.144: require('luasnip.nodes.dynamicNode') +247.312 000.184 000.184: require('luasnip.nodes.restoreNode') +247.690 000.100 000.100: require('luasnip.util.parser.neovim_ast') +255.033 000.125 000.125: require('luasnip.util.directed_graph') +255.055 007.580 007.355: require('luasnip.util.parser.ast_utils') +255.279 000.093 000.093: require('luasnip.util.functions') +255.295 000.233 000.140: require('luasnip.util.parser.ast_parser') +255.501 000.200 000.200: require('luasnip.util.parser.neovim_parser') +255.604 000.094 000.094: require('luasnip.util.str') +255.645 008.280 000.173: require('luasnip.util.parser') +255.883 000.099 000.099: require('luasnip.extras.filetype_functions') +256.032 000.109 000.109: require('luasnip.extras') +256.149 000.105 000.105: require('luasnip.extras.fmt') +256.434 000.095 000.095: require('luasnip.extras.conditions') +256.534 000.093 000.093: require('luasnip.extras.conditions.show') +256.623 000.370 000.183: require('luasnip.extras.conditions.expand') +256.629 000.472 000.102: require('luasnip.extras.expand_conditions') +256.771 000.130 000.130: require('luasnip.nodes.absolute_indexer') +257.169 001.516 000.601: require('luasnip.config') +257.180 014.108 000.290: require('luasnip') +257.405 000.108 000.108: require('luasnip.loaders.util') +257.416 000.229 000.121: require('luasnip.loaders.from_lua') +267.046 024.061 009.725: require('plugins.luasnip') +267.448 000.147 000.147: require('colorizer/nvim') +267.805 000.349 000.349: require('colorizer/trie') +268.146 000.988 000.492: require('colorizer') +269.993 002.931 001.943: require('plugins.colorizer') +270.410 000.098 000.098: require('prettier.utils') +270.439 000.232 000.134: require('prettier.options') +271.132 000.261 000.261: require('null-ls.methods') +271.161 000.413 000.152: require('null-ls.utils') +277.142 005.971 005.971: require('vim.diagnostic') +277.176 006.520 000.136: require('null-ls.config') +277.393 000.095 000.095: require('null-ls.helpers.cache') +277.520 000.119 000.119: require('null-ls.helpers.diagnostics') +277.624 000.095 000.095: require('null-ls.helpers.formatter_factory') +277.868 000.102 000.102: require('null-ls.logger') +277.982 000.106 000.106: require('null-ls.state') +277.990 000.358 000.150: require('null-ls.helpers.generator_factory') +278.195 000.101 000.101: require('null-ls.helpers.command_resolver') +278.202 000.206 000.105: require('null-ls.helpers.make_builtin') +278.309 000.101 000.101: require('null-ls.helpers.range_formatting_args_factory') +278.314 001.128 000.153: require('null-ls.helpers') +278.546 000.112 000.112: require('null-ls.diagnostics') +278.564 000.245 000.134: require('null-ls.sources') +278.670 000.098 000.098: require('null-ls.builtins') +278.677 008.115 000.124: require('null-ls') +278.768 000.086 000.086: require('prettier.cli') +278.778 008.332 000.131: require('prettier.null-ls') +278.784 008.669 000.105: require('prettier') +279.413 000.132 000.132: require('null-ls.client') +279.426 009.420 000.620: require('plugins.prettier') +279.584 000.087 000.087: require('git') +279.682 000.091 000.091: require('git.config') +279.889 000.457 000.279: require('plugins.git') +280.232 000.091 000.091: require('gitsigns.async') +280.332 000.090 000.090: require('gitsigns.status') +280.595 000.100 000.100: require('gitsigns.debug') +280.708 000.102 000.102: require('gitsigns.util') +280.910 000.098 000.098: require('gitsigns.uv') +280.923 000.208 000.110: require('gitsigns.subprocess') +281.356 000.092 000.092: require('gitsigns.message') +281.385 000.273 000.181: require('gitsigns.config') +281.478 000.085 000.085: require('gitsigns.signs.base') +281.484 000.452 000.095: require('gitsigns.signs') +281.493 000.565 000.112: require('gitsigns.hunks') +281.511 001.172 000.197: require('gitsigns.git') +281.730 000.090 000.090: require('gitsigns.cache') +281.826 000.087 000.087: require('gitsigns.debounce') +281.920 000.084 000.084: require('gitsigns.diff') +281.942 000.426 000.165: require('gitsigns.manager') +282.060 000.111 000.111: require('gitsigns.highlight') +282.083 002.114 000.224: require('gitsigns') +284.285 000.139 000.139: require('gitsigns.signs.vimfn') +287.654 007.756 005.502: require('plugins.gitsigns') +288.141 000.115 000.115: require('neoscroll.config') +288.256 000.101 000.101: require('neoscroll.utils') +288.408 000.565 000.348: require('neoscroll') +289.124 001.439 000.874: require('plugins.neoscroll') +289.677 000.160 000.160: require('cmp_nvim_lsp.source') +289.687 000.296 000.136: require('cmp_nvim_lsp') +289.796 000.096 000.096: require('lspconfig') +289.948 000.108 000.108: require('lspconfig.server_configurations.pylsp') +290.569 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') +291.044 000.125 000.125: require('lspconfig.server_configurations.clangd') +293.242 000.140 000.140: require('lspconfig.server_configurations.vimls') +295.072 000.132 000.132: require('lspconfig.server_configurations.bashls') +296.618 000.138 000.138: require('lspconfig.server_configurations.sumneko_lua') +298.436 009.301 008.132: require('plugins.lsp') +298.814 000.096 000.096: require('nvim-autopairs._log') +298.936 000.113 000.113: require('nvim-autopairs.utils') +299.270 000.118 000.118: require('nvim-autopairs.conds') +299.284 000.234 000.115: require('nvim-autopairs.rule') +299.290 000.347 000.113: require('nvim-autopairs.rules.basic') +299.306 000.748 000.193: require('nvim-autopairs') +299.468 000.126 000.126: require('nvim-autopairs.fastwrap') +299.969 000.115 000.115: require('nvim-autopairs.ts-conds') +299.977 000.226 000.111: require('nvim-autopairs.rules.ts_basic') +300.839 000.856 000.856: require('vim.treesitter.highlighter') +302.163 000.104 000.104: require('nvim-autopairs.completion.handlers') +302.177 000.236 000.133: require('nvim-autopairs.completion.cmp') +302.196 003.747 001.555: require('plugins.autopairs') +302.502 000.222 000.222: require('null-ls.builtins.formatting.stylua') +302.746 000.228 000.228: require('null-ls.builtins.diagnostics.eslint') +302.886 000.121 000.121: require('null-ls.builtins.completion.spell') +303.534 001.331 000.760: require('plugins.null-ls') +303.630 000.086 000.086: require('plugins.web-devicons') +304.080 000.087 000.087: require('zen-mode.util') +304.145 000.243 000.155: require('zen-mode.config') +304.255 000.101 000.101: require('zen-mode.plugins') +304.265 000.478 000.134: require('zen-mode.view') +304.272 000.569 000.091: require('zen-mode') +304.472 000.833 000.264: require('plugins.zen-mode') +309.708 000.150 000.150: require('doom-one.utils') +309.841 000.111 000.111: require('doom-one.colors') +309.863 000.773 000.513: require('doom-one') +313.203 005.222 004.449: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +317.943 000.397 000.397: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/syntax/synload.vim +318.353 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +320.819 001.441 001.441: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/filetype.lua +322.179 001.004 001.004: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/filetype.vim +322.962 000.161 000.161: require('filetype') +323.030 007.090 004.030: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/syntax/syntax.vim +323.579 000.128 000.128: require('notify.stages.fade_in_slide_out') +323.657 019.174 006.734: require('plugins.colorscheme') +324.052 000.106 000.106: require('heirline.conditions') +324.199 000.138 000.138: require('heirline.utils') +324.550 000.099 000.099: require('heirline.highlights') +324.572 000.230 000.131: require('heirline.statusline') +324.582 000.351 000.121: require('heirline') +324.753 000.154 000.154: require('nvim-navic') +328.736 005.069 004.320: require('plugins.heirline') +328.872 225.775 004.093: sourcing /home/sxrdusr/.config/nvim/init.lua +328.898 011.659: sourcing vimrc file(s) +334.721 001.128 001.128: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/gzip.vim +334.969 000.137 000.137: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/health.vim +337.677 001.402 001.402: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +338.080 002.991 001.589: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/matchit.vim +338.537 000.393 000.393: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/matchparen.vim +338.681 000.077 000.077: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/netrwPlugin.vim +339.095 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +339.116 000.373 000.352: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/rplugin.vim +339.372 000.197 000.197: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/shada.vim +339.507 000.051 000.051: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/spellfile.vim +339.640 000.061 000.061: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/tarPlugin.vim +339.771 000.058 000.058: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/tohtml.vim +339.883 000.045 000.045: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/tutor.vim +340.607 000.654 000.654: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/zipPlugin.vim +340.880 000.036 000.036: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +342.331 000.172 000.172: require('null-ls.builtins.diagnostics.checkmake') +342.715 000.220 000.220: require('fidget.log') +342.733 000.387 000.167: require('fidget') +342.917 000.162 000.162: require('fidget.spinners') +343.110 000.123 000.123: require('flit') +343.855 000.100 000.100: require('leap') +343.964 000.097 000.097: require('leap.user') +345.092 000.086 000.086: require('crates.time') +345.102 000.193 000.107: require('crates.types') +345.108 000.302 000.109: require('crates.semver') +346.671 001.472 001.472: require('crates.config') +346.845 000.163 000.163: require('crates.toml') +346.854 001.741 000.106: require('crates.state') +346.881 002.215 000.172: require('crates.util') +346.895 002.340 000.125: require('crates.actions') +347.130 000.129 000.129: require('crates.api') +347.221 000.082 000.082: require('crates.async') +347.336 000.108 000.108: require('crates.diagnostic') +347.449 000.105 000.105: require('crates.ui') +347.461 000.559 000.135: require('crates.core') +347.710 000.121 000.121: require('crates.popup.common') +347.857 000.140 000.140: require('crates.popup.crate') +347.982 000.118 000.118: require('crates.popup.dependencies') +348.128 000.140 000.140: require('crates.popup.features') +348.282 000.147 000.147: require('crates.popup.versions') +348.294 000.827 000.161: require('crates.popup') +348.308 003.865 000.139: require('crates') +351.282 000.464 000.464: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +353.140 012.117 006.746: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +354.174 000.313 000.313: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/man.lua +354.357 006.827: loading rtp plugins +356.533 000.093 000.093: require('Comment.config') +356.915 000.174 000.174: require('Comment.ft') +356.930 000.386 000.213: require('Comment.utils') +357.033 000.097 000.097: require('Comment.opfunc') +357.130 000.090 000.090: require('Comment.extra') +357.139 000.836 000.168: require('Comment.api') +357.312 001.092 000.256: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +357.659 000.162 000.162: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +358.382 000.466 000.466: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +359.183 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +359.790 000.039 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +361.621 001.231 001.231: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +362.178 000.072 000.072: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +362.832 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +363.644 000.336 000.336: require('cmp.utils.highlight') +364.581 001.377 001.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +364.799 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +365.124 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +365.611 000.176 000.176: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +366.204 000.178 000.178: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +367.016 000.110 000.110: require('nvim-treesitter.statusline') +367.151 000.125 000.125: require('nvim-treesitter.query_predicates') +367.158 000.371 000.135: require('nvim-treesitter') +368.291 001.664 001.293: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +368.892 000.376 000.376: require('treesitter-context') +368.904 000.421 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +369.387 000.183 000.183: require('nvim-treesitter-refactor') +369.894 000.720 000.537: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +370.290 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +370.725 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +371.049 000.090 000.090: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +371.530 000.027 000.027: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +371.806 000.042 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +372.164 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +372.808 000.158 000.158: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +373.351 000.333 000.333: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +374.059 000.371 000.371: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +374.346 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +374.631 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +375.714 011.772: loading packages +384.137 000.253 000.253: require('cmp_buffer.timer') +384.149 000.417 000.164: require('cmp_buffer.buffer') +384.155 000.599 000.182: require('cmp_buffer.source') +384.160 000.826 000.227: require('cmp_buffer') +384.216 001.062 000.236: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +384.640 000.197 000.197: require('cmp_cmdline') +384.677 000.304 000.107: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +384.994 000.153 000.153: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +385.391 000.156 000.156: require('cmp_path') +385.428 000.276 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +385.773 000.114 000.114: require('cmp_luasnip') +385.845 000.255 000.141: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +386.357 000.129 000.129: require('crates.src.common') +386.366 000.236 000.107: require('crates.src.cmp') +386.398 000.366 000.130: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +386.471 008.341: loading after plugins +386.501 000.030: inits 3 +386.513 000.012: reading ShaDa +387.732 000.107 000.107: require('luasnip.nodes.snippetProxy') +387.745 000.357 000.250: require('luasnip.loaders.from_snipmate') +387.940 000.133 000.133: require('luasnip.loaders.from_vscode') +388.055 001.053: opening buffers +388.227 000.171: BufEnter autocommands +388.236 000.009: editing files in windows +469.333 000.900 000.900: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.157 001.157: --- NVIM STARTING --- +027.617 026.459: event init +044.041 016.424: early init +045.685 001.644: locale set +051.181 005.496: init first window +061.046 009.866: inits 1 +061.081 000.035: window checked +061.091 000.010: parsing arguments +072.810 000.283 000.283: require('vim.shared') +073.299 000.237 000.237: require('vim._meta') +073.312 000.481 000.244: require('vim._editor') +073.320 000.884 000.120: require('vim._init_packages') +073.328 011.352: init lua interpreter +073.475 000.147: expanding arguments +075.314 001.838: inits 2 +076.685 001.372: init highlight +076.694 000.009: waiting for UI +081.083 004.389: done waiting for UI +081.119 000.035: init screen for UI +081.356 000.237: init default mappings +081.381 000.025: init default autocommands +091.206 003.935 003.935: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/ftplugin.vim +093.122 000.858 000.858: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/indent.vim +093.348 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim +093.360 000.084 000.057: sourcing /etc/xdg/nvim/sysinit.vim +123.727 030.179 030.179: require('impatient') +123.857 000.115 000.115: require('impatient.profile') +123.966 000.094 000.094: require('user.utils') +128.061 000.228 000.228: require('packer.util') +128.111 000.533 000.304: require('packer') +128.997 000.498 000.498: require('packer.log') +129.007 000.680 000.183: require('packer.async') +129.464 000.334 000.334: require('packer.result') +129.474 000.460 000.127: require('packer.jobs') +129.488 001.330 000.190: require('packer.plugin_utils') +129.681 000.169 000.169: require('packer.snapshot') +130.918 000.098 000.098: require('mason-core.path') +130.937 000.235 000.138: require('mason.settings') +131.213 000.143 000.143: require('mason-core.functional') +131.433 000.092 000.092: require('mason-core.functional.data') +131.442 000.204 000.112: require('mason-core.functional.function') +131.608 000.133 000.133: require('mason-core.functional.relation') +131.731 000.101 000.101: require('mason-core.functional.logic') +131.762 000.818 000.237: require('mason-core.platform') +131.767 001.438 000.384: require('mason') +132.265 000.207 000.207: require('mason-core.functional.list') +132.312 000.511 000.304: require('mason.api.command') +132.563 000.139 000.139: require('mason-core.log') +132.572 000.254 000.115: require('mason-lspconfig') +132.704 000.096 000.096: require('mason-lspconfig.settings') +133.091 000.085 000.085: require('mason-core.notify') +133.104 000.239 000.154: require('mason-lspconfig.lspconfig_hook') +134.191 000.262 000.262: require('vim.lsp.log') +135.445 000.015 000.015: require('vim.F') +135.453 001.252 001.237: require('vim.lsp.protocol') +136.271 000.382 000.382: require('vim.lsp._snippet') +136.541 000.258 000.258: require('vim.highlight') +136.578 001.118 000.478: require('vim.lsp.util') +136.624 002.940 000.308: require('vim.lsp.handlers') +136.977 000.344 000.344: require('vim.lsp.rpc') +137.216 000.224 000.224: require('vim.lsp.sync') +137.550 000.326 000.326: require('vim.lsp.buf') +137.788 000.229 000.229: require('vim.lsp.diagnostic') +138.021 000.224 000.224: require('vim.lsp.codelens') +138.177 004.936 000.648: require('vim.lsp') +138.264 005.155 000.219: require('lspconfig.util') +138.636 000.098 000.098: require('mason-core.functional.table') +138.737 000.361 000.263: require('mason-lspconfig.mappings.server') +139.065 000.119 000.119: require('mason-core.async') +139.158 000.082 000.082: require('mason-core.async.uv') +139.172 000.323 000.122: require('mason-core.fs') +139.281 000.103 000.103: require('mason-core.optional') +139.380 000.091 000.091: require('mason-core.EventEmitter') +139.581 000.195 000.195: require('mason-registry.index') +139.605 000.860 000.147: require('mason-registry') +139.706 000.094 000.094: require('mason-lspconfig.server_config_extensions') +139.825 000.112 000.112: require('lspconfig.configs') +139.987 000.112 000.112: require('lspconfig.server_configurations.omnisharp') +140.134 000.097 000.097: require('mason-lspconfig.ensure_installed') +140.482 000.102 000.102: require('mason-core.result') +140.980 000.281 000.281: require('mason-core.process') +141.156 000.551 000.270: require('mason-core.spawn') +141.281 000.113 000.113: require('mason-core.receipt') +141.404 000.097 000.097: require('mason-core.functional.string') +141.434 000.945 000.183: require('mason-core.installer.context') +141.542 000.101 000.101: require('mason-core.installer.linker') +141.648 000.099 000.099: require('mason-core.async.control') +141.656 001.391 000.144: require('mason-core.installer') +141.787 000.126 000.126: require('mason-core.installer.handle') +142.322 000.102 000.102: require('mason-core.managers.powershell') +142.329 000.206 000.104: require('mason-core.fetch') +142.333 000.299 000.093: require('mason-core.managers.cargo.client') +142.583 000.124 000.124: require('mason-core.managers.std') +142.841 000.141 000.141: require('mason-registry.api') +142.864 000.270 000.130: require('mason-core.managers.github.client') +142.876 000.535 000.142: require('mason-core.managers.github') +142.992 001.086 000.252: require('mason-core.managers.cargo') +143.220 000.220 000.220: require('mason-core.managers.composer') +143.372 000.144 000.144: require('mason-core.managers.gem') +143.482 000.104 000.104: require('mason-core.managers.git') +143.630 000.140 000.140: require('mason-core.managers.go') +143.801 000.164 000.164: require('mason-core.managers.luarocks') +143.939 000.131 000.131: require('mason-core.managers.npm') +144.100 000.155 000.155: require('mason-core.managers.pip3') +144.130 002.323 000.180: require('mason-core.package.version-check') +144.145 004.004 000.164: require('mason-core.package') +144.448 000.178 000.178: require('mason-registry.python-lsp-server') +144.835 000.117 000.117: require('mason-registry.pyright') +145.054 000.171 000.171: require('mason-registry.clangd') +145.325 000.128 000.128: require('mason-registry.lua-language-server') +145.545 000.092 000.092: require('mason-core.functional.number') +145.599 000.263 000.172: require('mason-lspconfig.api.command') +145.809 018.609 002.387: require('user.pack') +149.772 003.953 003.953: require('user.opts') +149.936 000.015 000.015: require('vim.keymap') +151.875 002.090 002.075: require('user.keys') +152.021 000.136 000.136: require('user.utils') +153.043 000.229 000.229: require('vim.treesitter.language') +153.065 000.651 000.422: require('vim.treesitter.query') +154.202 000.350 000.350: require('vim.treesitter.languagetree') +154.278 000.678 000.328: require('vim.treesitter') +154.580 001.276 000.598: require('nvim-treesitter.parsers') +154.785 000.196 000.196: require('nvim-treesitter.utils') +154.797 001.614 000.142: require('nvim-treesitter.ts_utils') +154.810 001.739 000.125: require('nvim-treesitter.tsrange') +154.912 000.095 000.095: require('nvim-treesitter.caching') +154.932 002.634 000.149: require('nvim-treesitter.query') +154.966 002.818 000.184: require('nvim-treesitter.configs') +155.370 000.106 000.106: require('nvim-treesitter.info') +155.514 000.135 000.135: require('nvim-treesitter.shell_command_selectors') +155.564 000.471 000.230: require('nvim-treesitter.install') +157.220 005.189 001.900: require('plugins.treesitter') +157.541 000.109 000.109: require('telescope._extensions') +157.550 000.212 000.103: require('telescope') +158.300 000.093 000.093: require('plenary.bit') +158.401 000.093 000.093: require('plenary.functional') +158.460 000.040 000.040: require('ffi') +158.482 000.423 000.196: require('plenary.path') +158.497 000.534 000.111: require('plenary.strings') +158.589 000.087 000.087: require('telescope.deprecated') +158.958 000.163 000.163: require('plenary.log') +158.995 000.279 000.116: require('telescope.log') +159.288 000.146 000.146: require('plenary.job') +159.385 000.088 000.088: require('telescope.state') +159.400 000.398 000.165: require('telescope.utils') +159.452 000.857 000.180: require('telescope.sorters') +159.634 000.160 000.160: require('vim.inspect') +163.467 005.666 004.028: require('telescope.config') +163.735 000.113 000.113: require('plenary.window.border') +163.834 000.091 000.091: require('plenary.window') +163.923 000.083 000.083: require('plenary.popup.utils') +163.931 000.451 000.164: require('plenary.popup') +164.033 000.097 000.097: require('telescope.pickers.scroller') +164.147 000.106 000.106: require('telescope.actions.state') +164.276 000.107 000.107: require('telescope.actions.utils') +164.498 000.101 000.101: require('telescope.actions.mt') +164.529 000.246 000.146: require('telescope.actions.set') +164.756 000.122 000.122: require('telescope.config.resolve') +164.766 000.231 000.109: require('telescope.pickers.entry_display') +164.862 000.090 000.090: require('telescope.from_entry') +165.243 007.688 000.693: require('telescope.actions') +168.086 000.104 000.104: require('plenary.tbl') +168.106 000.234 000.130: require('plenary.vararg.rotate') +168.110 000.338 000.105: require('plenary.vararg') +168.209 000.094 000.094: require('plenary.errors') +168.221 000.556 000.123: require('plenary.async.async') +168.348 000.122 000.122: require('plenary.async.structs') +168.363 000.865 000.188: require('plenary.async.control') +168.827 000.331 000.331: require('telescope.make_entry') +169.289 000.122 000.122: require('plenary.async.util') +169.296 000.223 000.101: require('plenary.async.tests') +169.303 000.342 000.119: require('plenary.async') +169.309 000.468 000.125: require('telescope.finders.async_static_finder') +169.644 000.095 000.095: require('plenary.class') +169.676 000.249 000.154: require('telescope._') +169.685 000.370 000.121: require('telescope.finders.async_oneshot_finder') +169.805 000.115 000.115: require('telescope.finders.async_job_finder') +169.818 001.447 000.164: require('telescope.finders') +170.234 000.148 000.148: require('telescope.debounce') +170.477 000.234 000.234: require('telescope.mappings') +170.617 000.130 000.130: require('telescope.pickers.highlights') +170.742 000.115 000.115: require('telescope.pickers.window') +171.040 000.140 000.140: require('telescope.algos.linked_list') +171.052 000.304 000.163: require('telescope.entry_manager') +171.165 000.108 000.108: require('telescope.pickers.multi') +171.208 001.384 000.346: require('telescope.pickers') +171.232 005.824 002.127: require('telescope.builtin.__lsp') +171.313 006.061 000.237: require('telescope.builtin') +171.735 000.280 000.280: require('fzf_lib') +171.749 000.428 000.148: require('telescope._extensions.fzf') +172.298 000.195 000.195: require('telescope._extensions.file_browser.utils') +172.454 000.568 000.373: require('telescope._extensions.file_browser.actions') +172.810 000.204 000.204: require('telescope._extensions.file_browser.make_entry') +173.177 000.355 000.355: require('plenary.scandir') +173.233 000.772 000.212: require('telescope._extensions.file_browser.finders') +173.380 000.139 000.139: require('telescope._extensions.file_browser.picker') +173.557 000.170 000.170: require('telescope._extensions.file_browser.config') +173.565 001.799 000.151: require('telescope._extensions.file_browser') +177.001 019.770 003.583: require('plugins.telescope') +178.506 000.098 000.098: require('notify.util.queue') +178.516 000.223 000.125: require('notify.util') +178.779 000.257 000.257: require('notify.config.highlights') +178.792 000.629 000.150: require('notify.config') +178.901 000.102 000.102: require('notify.stages') +179.429 000.521 000.521: require('notify.service.notification') +180.054 000.157 000.157: require('notify.animate.spring') +180.060 000.327 000.170: require('notify.animate') +180.082 000.645 000.317: require('notify.windows') +181.064 000.239 000.239: require('notify.service.buffer.highlights') +181.085 000.769 000.530: require('notify.service.buffer') +181.101 001.015 000.246: require('notify.service') +181.415 000.309 000.309: require('notify.stages.util') +181.488 003.473 000.252: require('notify') +181.703 000.208 000.208: require('nvim-tree.iterators.node-iterator') +181.827 003.971 000.290: require('nvim-tree.utils') +181.860 004.133 000.162: require('nvim-tree.events') +182.529 000.189 000.189: require('nvim-tree.log') +182.822 000.284 000.284: require('nvim-tree.git.utils') +183.084 000.255 000.255: require('nvim-tree.git.runner') +183.384 000.293 000.293: require('nvim-tree.watcher') +183.416 001.324 000.303: require('nvim-tree.git') +183.627 000.206 000.206: require('nvim-tree.explorer.watch') +183.822 000.188 000.188: require('nvim-tree.explorer.common') +184.299 000.278 000.278: require('nvim-tree.explorer.node-builders') +184.532 000.223 000.223: require('nvim-tree.explorer.sorters') +184.770 000.231 000.231: require('nvim-tree.explorer.filters') +185.673 000.571 000.571: require('nvim-tree.view') +185.715 000.920 000.349: require('nvim-tree.live-filter') +185.733 001.903 000.251: require('nvim-tree.explorer.explore') +185.977 000.238 000.238: require('nvim-tree.explorer.reload') +185.998 004.133 000.273: require('nvim-tree.explorer') +186.020 008.398 000.132: require('nvim-tree.core') +186.322 000.296 000.296: require('nvim-tree.diagnostics') +186.517 000.182 000.182: require('nvim-tree.renderer.components.padding') +186.624 000.098 000.098: require('nvim-tree.renderer.components.icons') +186.731 000.100 000.100: require('nvim-tree.renderer.components.full-name') +186.826 000.088 000.088: require('nvim-tree.renderer.help') +186.949 000.116 000.116: require('nvim-tree.renderer.components.git') +187.077 000.122 000.122: require('nvim-tree.renderer.builder') +187.181 000.096 000.096: require('nvim-tree.marks') +187.193 009.702 000.205: require('nvim-tree.renderer') +187.305 000.099 000.099: require('nvim-tree.actions.tree-modifiers.collapse-all') +187.395 000.083 000.083: require('nvim-tree.actions.root.dir-up') +187.524 000.123 000.123: require('nvim-tree.actions.root.change-dir') +187.627 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') +187.727 000.092 000.092: require('nvim-tree.actions.finders.find-file') +187.733 010.382 000.188: require('nvim-tree.lib') +187.844 000.105 000.105: require('nvim-tree.colors') +187.977 000.123 000.123: require('nvim-tree.legacy') +188.103 000.117 000.117: require('nvim-tree.actions.fs.copy-paste') +188.311 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') +188.412 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') +188.528 000.100 000.100: require('nvim-tree.actions.fs.create-file') +188.627 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +188.759 000.124 000.124: require('nvim-tree.actions.fs.trash') +188.868 000.102 000.102: require('nvim-tree.actions.fs.remove-file') +188.968 000.090 000.090: require('nvim-tree.actions.moves.parent') +189.062 000.087 000.087: require('nvim-tree.actions.moves.sibling') +189.156 000.086 000.086: require('nvim-tree.actions.moves.item') +189.268 000.094 000.094: require('nvim-tree.actions.finders.search-node') +189.360 000.085 000.085: require('nvim-tree.actions.node.run-command') +189.481 000.115 000.115: require('nvim-tree.actions.node.file-popup') +189.595 000.107 000.107: require('nvim-tree.actions.node.system-open') +189.699 000.093 000.093: require('nvim-tree.marks.bulk-move') +189.706 001.592 000.229: require('nvim-tree.actions.dispatch') +189.737 012.603 000.284: require('nvim-tree') +189.820 000.077 000.077: require('nvim-tree.config') +195.245 000.167 000.167: require('nvim-tree.actions') +195.381 000.118 000.118: require('nvim-tree.actions.node.open-file') +197.877 000.097 000.097: require('nvim-tree.marks.navigation') +197.889 000.284 000.187: require('nvim-tree.api') +197.910 000.428 000.144: require('nvim-tree.keymap') +198.962 000.411 000.411: require('nvim-web-devicons') +203.449 026.435 012.631: require('plugins.nvim-tree') +203.948 000.078 000.078: require('cmp.utils.debug') +204.204 000.164 000.164: require('cmp.utils.char') +204.222 000.265 000.101: require('cmp.utils.str') +204.360 000.086 000.086: require('cmp.utils.pattern') +204.639 000.089 000.089: require('cmp.utils.misc') +204.748 000.081 000.081: require('cmp.utils.buffer') +204.841 000.087 000.087: require('cmp.utils.api') +204.851 000.402 000.144: require('cmp.utils.keymap') +204.861 000.494 000.092: require('cmp.utils.feedkeys') +204.958 000.093 000.093: require('cmp.utils.async') +205.232 000.077 000.077: require('cmp.types.cmp') +205.419 000.180 000.180: require('cmp.types.lsp') +205.505 000.077 000.077: require('cmp.types.vim') +205.510 000.461 000.127: require('cmp.types') +205.590 000.075 000.075: require('cmp.utils.cache') +205.598 000.633 000.097: require('cmp.context') +205.876 000.091 000.091: require('cmp.config.mapping') +206.067 000.094 000.094: require('cmp.config.compare') +206.073 000.187 000.093: require('cmp.config.default') +206.096 000.395 000.117: require('cmp.config') +206.290 000.079 000.079: require('cmp.matcher') +206.301 000.199 000.121: require('cmp.entry') +206.316 000.713 000.118: require('cmp.source') +206.482 000.074 000.074: require('cmp.utils.event') +206.672 000.097 000.097: require('cmp.utils.window') +206.680 000.191 000.093: require('cmp.view.docs_view') +206.881 000.085 000.085: require('cmp.utils.autocmd') +206.901 000.217 000.132: require('cmp.view.custom_entries_view') +207.021 000.115 000.115: require('cmp.view.wildmenu_entries_view') +207.128 000.101 000.101: require('cmp.view.native_entries_view') +207.226 000.091 000.091: require('cmp.view.ghost_text_view') +207.241 000.921 000.133: require('cmp.view') +207.551 003.806 000.524: require('cmp.core') +207.833 000.088 000.088: require('cmp.config.sources') +207.918 000.075 000.075: require('cmp.config.window') +208.022 004.399 000.430: require('cmp') +208.430 000.115 000.115: require('symbols-outline.config') +208.437 000.202 000.088: require('symbols-outline.symbols') +208.533 000.092 000.092: require('symbols-outline.ui') +208.623 000.082 000.082: require('symbols-outline.utils.table') +208.708 000.079 000.079: require('symbols-outline.folding') +208.714 000.572 000.117: require('symbols-outline.parser') +208.801 000.082 000.082: require('symbols-outline.providers.init') +208.899 000.091 000.091: require('symbols-outline.writer') +208.991 000.084 000.084: require('symbols-outline.utils.init') +209.079 000.082 000.082: require('symbols-outline.view') +209.093 001.064 000.153: require('symbols-outline') +209.337 000.113 000.113: require('symbols-outline.preview') +209.455 000.103 000.103: require('lspkind') +211.394 007.929 002.250: require('plugins.cmp') +212.122 000.146 000.146: require('luasnip.session') +212.351 000.203 000.203: require('luasnip.util.util') +212.486 000.124 000.124: require('luasnip.util.types') +212.713 000.101 000.101: require('luasnip.util.ext_opts') +212.724 000.228 000.128: require('luasnip.nodes.util') +212.817 000.088 000.088: require('luasnip.util.events') +212.839 000.971 000.181: require('luasnip.nodes.node') +213.190 000.121 000.121: require('luasnip.util.extend_decorator') +213.204 000.358 000.237: require('luasnip.nodes.insertNode') +213.331 000.118 000.118: require('luasnip.nodes.textNode') +213.458 000.115 000.115: require('luasnip.util.mark') +214.414 000.848 000.848: require('luasnip.util._builtin_vars') +214.682 001.218 000.370: require('luasnip.util.environ') +214.880 000.182 000.182: require('luasnip.util.pattern_tokenizer') +214.984 000.096 000.096: require('luasnip.util.dict') +215.117 000.126 000.126: require('luasnip.session.snippet_collection') +215.296 003.580 000.396: require('luasnip.nodes.snippet') +215.525 000.094 000.094: require('luasnip.loaders._caches') +215.675 000.141 000.141: require('luasnip.util.path') +215.777 000.465 000.230: require('luasnip.loaders') +215.980 000.159 000.159: require('luasnip.nodes.functionNode') +216.157 000.167 000.167: require('luasnip.nodes.choiceNode') +216.350 000.185 000.185: require('luasnip.nodes.dynamicNode') +216.547 000.188 000.188: require('luasnip.nodes.restoreNode') +216.955 000.109 000.109: require('luasnip.util.parser.neovim_ast') +223.608 000.136 000.136: require('luasnip.util.directed_graph') +223.630 006.904 006.659: require('luasnip.util.parser.ast_utils') +223.885 000.112 000.112: require('luasnip.util.functions') +223.899 000.262 000.150: require('luasnip.util.parser.ast_parser') +224.142 000.238 000.238: require('luasnip.util.parser.neovim_parser') +224.251 000.096 000.096: require('luasnip.util.str') +224.269 007.657 000.157: require('luasnip.util.parser') +224.508 000.100 000.100: require('luasnip.extras.filetype_functions') +224.660 000.116 000.116: require('luasnip.extras') +224.780 000.108 000.108: require('luasnip.extras.fmt') +225.050 000.091 000.091: require('luasnip.extras.conditions') +225.144 000.086 000.086: require('luasnip.extras.conditions.show') +225.240 000.364 000.186: require('luasnip.extras.conditions.expand') +225.245 000.457 000.093: require('luasnip.extras.expand_conditions') +225.353 000.096 000.096: require('luasnip.nodes.absolute_indexer') +225.832 001.557 000.679: require('luasnip.config') +225.843 014.302 000.344: require('luasnip') +226.072 000.109 000.109: require('luasnip.loaders.util') +226.082 000.232 000.123: require('luasnip.loaders.from_lua') +235.982 024.573 010.038: require('plugins.luasnip') +236.388 000.142 000.142: require('colorizer/nvim') +236.678 000.283 000.283: require('colorizer/trie') +236.999 000.905 000.480: require('colorizer') +238.973 002.975 002.070: require('plugins.colorizer') +239.358 000.090 000.090: require('prettier.utils') +239.393 000.230 000.139: require('prettier.options') +240.074 000.251 000.251: require('null-ls.methods') +240.102 000.393 000.142: require('null-ls.utils') +240.615 000.504 000.504: require('vim.diagnostic') +240.642 001.030 000.133: require('null-ls.config') +240.849 000.108 000.108: require('null-ls.helpers.cache') +240.969 000.112 000.112: require('null-ls.helpers.diagnostics') +241.066 000.090 000.090: require('null-ls.helpers.formatter_factory') +241.288 000.092 000.092: require('null-ls.logger') +241.397 000.103 000.103: require('null-ls.state') +241.406 000.332 000.137: require('null-ls.helpers.generator_factory') +241.605 000.095 000.095: require('null-ls.helpers.command_resolver') +241.611 000.200 000.105: require('null-ls.helpers.make_builtin') +241.723 000.106 000.106: require('null-ls.helpers.range_formatting_args_factory') +241.728 001.079 000.131: require('null-ls.helpers') +241.953 000.107 000.107: require('null-ls.diagnostics') +241.970 000.238 000.131: require('null-ls.sources') +242.073 000.096 000.096: require('null-ls.builtins') +242.080 002.565 000.123: require('null-ls') +242.168 000.083 000.083: require('prettier.cli') +242.177 002.777 000.129: require('prettier.null-ls') +242.182 003.109 000.102: require('prettier') +242.564 000.127 000.127: require('null-ls.client') +242.576 003.590 000.354: require('plugins.prettier') +242.731 000.084 000.084: require('git') +242.827 000.089 000.089: require('git.config') +243.008 000.426 000.253: require('plugins.git') +243.301 000.090 000.090: require('gitsigns.async') +243.394 000.084 000.084: require('gitsigns.status') +243.643 000.102 000.102: require('gitsigns.debug') +243.765 000.115 000.115: require('gitsigns.util') +243.975 000.108 000.108: require('gitsigns.uv') +243.982 000.209 000.102: require('gitsigns.subprocess') +244.441 000.082 000.082: require('gitsigns.message') +244.474 000.267 000.185: require('gitsigns.config') +244.564 000.082 000.082: require('gitsigns.signs.base') +244.570 000.483 000.134: require('gitsigns.signs') +244.583 000.596 000.113: require('gitsigns.hunks') +244.600 001.200 000.177: require('gitsigns.git') +244.823 000.101 000.101: require('gitsigns.cache') +244.919 000.087 000.087: require('gitsigns.debounce') +245.009 000.081 000.081: require('gitsigns.diff') +245.031 000.426 000.156: require('gitsigns.manager') +245.149 000.111 000.111: require('gitsigns.highlight') +245.169 002.089 000.178: require('gitsigns') +246.882 000.116 000.116: require('gitsigns.signs.vimfn') +250.464 007.448 005.243: require('plugins.gitsigns') +250.953 000.119 000.119: require('neoscroll.config') +251.065 000.103 000.103: require('neoscroll.utils') +251.221 000.584 000.362: require('neoscroll') +252.027 001.541 000.957: require('plugins.neoscroll') +252.595 000.137 000.137: require('cmp_nvim_lsp.source') +252.604 000.255 000.118: require('cmp_nvim_lsp') +252.709 000.094 000.094: require('lspconfig') +252.858 000.103 000.103: require('lspconfig.server_configurations.pylsp') +253.529 000.127 000.127: require('mason-lspconfig.server_configurations.pylsp') +254.265 000.129 000.129: require('lspconfig.server_configurations.clangd') +256.456 000.130 000.130: require('lspconfig.server_configurations.vimls') +258.319 000.148 000.148: require('lspconfig.server_configurations.bashls') +260.058 000.129 000.129: require('lspconfig.server_configurations.sumneko_lua') +261.933 009.894 008.779: require('plugins.lsp') +262.304 000.091 000.091: require('nvim-autopairs._log') +262.439 000.127 000.127: require('nvim-autopairs.utils') +262.775 000.117 000.117: require('nvim-autopairs.conds') +262.786 000.233 000.116: require('nvim-autopairs.rule') +262.791 000.344 000.111: require('nvim-autopairs.rules.basic') +262.809 000.761 000.199: require('nvim-autopairs') +263.156 000.126 000.126: require('nvim-autopairs.fastwrap') +263.858 000.119 000.119: require('nvim-autopairs.ts-conds') +263.866 000.235 000.116: require('nvim-autopairs.rules.ts_basic') +264.161 000.290 000.290: require('vim.treesitter.highlighter') +265.272 000.100 000.100: require('nvim-autopairs.completion.handlers') +265.289 000.232 000.131: require('nvim-autopairs.completion.cmp') +265.309 003.365 001.721: require('plugins.autopairs') +265.537 000.146 000.146: require('null-ls.builtins.formatting.stylua') +265.707 000.155 000.155: require('null-ls.builtins.diagnostics.eslint') +265.835 000.117 000.117: require('null-ls.builtins.completion.spell') +266.313 000.997 000.578: require('plugins.null-ls') +266.399 000.075 000.075: require('plugins.web-devicons') +266.868 000.085 000.085: require('zen-mode.util') +266.979 000.293 000.208: require('zen-mode.config') +267.110 000.121 000.121: require('zen-mode.plugins') +267.124 000.570 000.156: require('zen-mode.view') +267.131 000.659 000.089: require('zen-mode') +267.249 000.842 000.183: require('plugins.zen-mode') +271.434 000.099 000.099: require('doom-one.utils') +271.555 000.111 000.111: require('doom-one.colors') +271.575 000.545 000.334: require('doom-one') +274.449 004.419 003.875: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +278.823 000.288 000.288: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/syntax/synload.vim +279.221 000.056 000.056: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +280.406 000.091 000.091: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/filetype.lua +281.957 001.346 001.346: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/filetype.vim +282.894 000.169 000.169: require('filetype') +282.961 006.162 004.212: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/syntax/syntax.vim +283.372 000.128 000.128: require('notify.stages.fade_in_slide_out') +283.438 016.180 005.471: require('plugins.colorscheme') +283.869 000.102 000.102: require('heirline.conditions') +284.047 000.169 000.169: require('heirline.utils') +284.417 000.100 000.100: require('heirline.highlights') +284.430 000.220 000.120: require('heirline.statusline') +284.439 000.357 000.137: require('heirline') +284.599 000.143 000.143: require('nvim-navic') +288.951 005.434 004.663: require('plugins.heirline') +289.097 195.691 003.851: sourcing /home/sxrdusr/.config/nvim/init.lua +289.120 007.170: sourcing vimrc file(s) +295.560 001.311 001.311: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/gzip.vim +295.772 000.089 000.089: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/health.vim +298.710 001.644 001.644: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +299.083 003.204 001.561: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/matchit.vim +299.537 000.391 000.391: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/matchparen.vim +299.681 000.077 000.077: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/netrwPlugin.vim +300.105 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim +300.127 000.383 000.361: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/rplugin.vim +300.381 000.194 000.194: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/shada.vim +300.512 000.051 000.051: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/spellfile.vim +300.644 000.061 000.061: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/tarPlugin.vim +300.778 000.062 000.062: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/tohtml.vim +300.906 000.046 000.046: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/tutor.vim +301.800 000.828 000.828: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/zipPlugin.vim +302.112 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +303.575 000.183 000.183: require('null-ls.builtins.diagnostics.checkmake') +303.901 000.146 000.146: require('fidget.log') +303.919 000.330 000.184: require('fidget') +304.098 000.160 000.160: require('fidget.spinners') +304.309 000.122 000.122: require('flit') +305.004 000.096 000.096: require('leap') +305.105 000.092 000.092: require('leap.user') +306.234 000.085 000.085: require('crates.time') +306.244 000.190 000.106: require('crates.types') +306.250 000.296 000.106: require('crates.semver') +306.815 000.480 000.480: require('crates.config') +306.971 000.146 000.146: require('crates.toml') +306.980 000.725 000.099: require('crates.state') +307.014 001.187 000.166: require('crates.util') +307.028 001.315 000.128: require('crates.actions') +307.265 000.135 000.135: require('crates.api') +307.357 000.084 000.084: require('crates.async') +307.503 000.140 000.140: require('crates.diagnostic') +307.619 000.106 000.106: require('crates.ui') +307.627 000.592 000.127: require('crates.core') +307.851 000.113 000.113: require('crates.popup.common') +307.972 000.114 000.114: require('crates.popup.crate') +308.133 000.154 000.154: require('crates.popup.dependencies') +308.278 000.138 000.138: require('crates.popup.features') +308.405 000.121 000.121: require('crates.popup.versions') +308.419 000.788 000.147: require('crates.popup') +308.430 002.834 000.138: require('crates') +311.422 000.324 000.324: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +313.408 011.151 007.010: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua +314.206 000.121 000.121: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/man.lua +314.451 007.321: loading rtp plugins +316.541 000.095 000.095: require('Comment.config') +316.810 000.148 000.148: require('Comment.ft') +316.822 000.272 000.124: require('Comment.utils') +316.923 000.095 000.095: require('Comment.opfunc') +317.065 000.135 000.135: require('Comment.extra') +317.074 000.755 000.158: require('Comment.api') +317.241 001.007 000.252: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +317.602 000.188 000.188: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +318.340 000.486 000.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +319.111 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +319.713 000.038 000.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +321.430 001.142 001.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +321.995 000.072 000.072: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +322.653 000.365 000.365: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +323.242 000.110 000.110: require('cmp.utils.highlight') +324.018 000.991 000.881: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +324.243 000.031 000.031: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +324.565 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +325.055 000.170 000.170: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +325.677 000.218 000.218: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +326.427 000.103 000.103: require('nvim-treesitter.statusline') +326.556 000.120 000.120: require('nvim-treesitter.query_predicates') +326.563 000.360 000.137: require('nvim-treesitter') +327.471 001.383 001.023: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +328.012 000.321 000.321: require('treesitter-context') +328.023 000.364 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +328.536 000.225 000.225: require('nvim-treesitter-refactor') +328.798 000.517 000.292: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +329.157 000.101 000.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +329.588 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +329.917 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +330.405 000.027 000.027: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +330.694 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +331.100 000.065 000.065: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +331.707 000.129 000.129: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +332.250 000.333 000.333: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +332.949 000.385 000.385: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +333.234 000.028 000.028: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +333.515 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +334.666 011.687: loading packages +343.078 000.198 000.198: require('cmp_buffer.timer') +343.090 000.368 000.170: require('cmp_buffer.buffer') +343.099 000.558 000.190: require('cmp_buffer.source') +343.104 000.670 000.112: require('cmp_buffer') +343.156 000.814 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +343.583 000.179 000.179: require('cmp_cmdline') +343.619 000.302 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +343.904 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +344.295 000.155 000.155: require('cmp_path') +344.330 000.271 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +344.687 000.127 000.127: require('cmp_luasnip') +344.811 000.320 000.193: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +345.364 000.146 000.146: require('crates.src.common') +345.373 000.271 000.125: require('crates.src.cmp') +345.404 000.397 000.126: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +345.477 008.590: loading after plugins +345.509 000.032: inits 3 +345.513 000.004: reading ShaDa +346.612 000.132 000.132: require('luasnip.nodes.snippetProxy') +346.624 000.366 000.235: require('luasnip.loaders.from_snipmate') +346.836 000.164 000.164: require('luasnip.loaders.from_vscode') +346.922 000.879: opening buffers +347.229 000.307: BufEnter autocommands +347.238 000.009: editing files in windows +367.135 000.246 000.246: require('gitsigns.current_line_blame') -- cgit v1.2.3 From f15fdd642fe04cd202d9e9e9e6c504d29e75153d Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 29 Oct 2022 13:48:35 +0200 Subject: Removed duplicate scripts duplicate folder --- lua/user/scripts/lsp-ext.lua | 48 ---------------- lua/user/scripts/setcolors.lua | 121 ----------------------------------------- lua/user/scripts/toggleLsp.lua | 40 -------------- 3 files changed, 209 deletions(-) delete mode 100644 lua/user/scripts/lsp-ext.lua delete mode 100644 lua/user/scripts/setcolors.lua delete mode 100644 lua/user/scripts/toggleLsp.lua diff --git a/lua/user/scripts/lsp-ext.lua b/lua/user/scripts/lsp-ext.lua deleted file mode 100644 index c4378c6..0000000 --- a/lua/user/scripts/lsp-ext.lua +++ /dev/null @@ -1,48 +0,0 @@ --- --- lsp-ext.lua - - -M = {} - -function M.preview_location(location, context, before_context) - -- location may be LocationLink or Location (more useful for the former) - context = context or 15 - before_context = before_context or 0 - local uri = location.targetUri or location.uri - if uri == nil then - return - end - local bufnr = vim.uri_to_bufnr(uri) - if not vim.api.nvim_buf_is_loaded(bufnr) then - vim.fn.bufload(bufnr) - end - local range = location.targetRange or location.range - local contents = - vim.api.nvim_buf_get_lines(bufnr, range.start.line - before_context, range["end"].line + 1 + context, false) - local filetype = vim.api.nvim_buf_get_option(bufnr, "filetype") - return vim.lsp.util.open_floating_preview(contents, filetype) -end - -function M.preview_location_callback(_, method, result) - local context = 15 - if result == nil or vim.tbl_isempty(result) then - print("No location found: " .. method) - return nil - end - if vim.tbl_islist(result) then - M.floating_buf, M.floating_win = M.preview_location(result[1], context) - else - M.floating_buf, M.floating_win = M.preview_location(result, context) - end -end - -function M.peek_definition() - if vim.tbl_contains(vim.api.nvim_list_wins(), M.floating_win) then - vim.api.nvim_set_current_win(M.floating_win) - else - local params = vim.lsp.util.make_position_params() - return vim.lsp.buf_request(0, "textDocument/definition", params, M.preview_location_callback) - end -end - -return M diff --git a/lua/user/scripts/setcolors.lua b/lua/user/scripts/setcolors.lua deleted file mode 100644 index 605bc84..0000000 --- a/lua/user/scripts/setcolors.lua +++ /dev/null @@ -1,121 +0,0 @@ -vim.cmd([[ -" Change the color scheme from a list of color scheme names. -" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341 -" Press key: -" F8 next scheme -" Shift-F8 previous scheme -" Alt-F8 random scheme -" Set the list of color schemes used by the above (default is 'all'): -" :SetColors all (all $VIMRUNTIME/colors/*.vim) -" :SetColors my (names built into script) -" :SetColors blue ayu ron (these schemes) -" :SetColors (display current scheme names) -" Set the current color scheme based on time of day: -" :SetColors now -if v:version < 700 || exists('loaded_setcolors') || &cp - finish -endif - -let loaded_setcolors = 1 -let s:mycolors = ['everblush', 'ayu', 'gruvbox', 'molokai', 'onedark', 'srcery'] " colorscheme names that we use to set color - -" Set list of color scheme names that we will use, except -" argument 'now' actually changes the current color scheme. -function! s:SetColors(args) - if len(a:args) == 0 - echo 'Current color scheme names:' - let i = 0 - while i < len(s:mycolors) - echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)')) - let i += 5 - endwhile - elseif a:args == 'all' - let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n") - let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")'))) - echo 'List of colors set from all installed color schemes' - elseif a:args == 'my' - let c1 = 'default srcery everblush' - let c2 = 'gruvbox onedark' - let c3 = 'ayu molokai' - let s:mycolors = split(c1.' '.c2.' '.c3) - echo 'List of colors set from built-in names' - elseif a:args == 'now' - call s:HourColor() - else - let s:mycolors = split(a:args) - echo 'List of colors set from argument (space-separated names)' - endif -endfunction - -command! -nargs=* SetColors call s:SetColors('') - -" Set next/previous/random (how = 1/-1/0) color from our list of colors. -" The 'random' index is actually set from the current time in seconds. -" Global (no 's:') so can easily call from command line. -function! NextColor(how) - call s:NextColor(a:how, 1) -endfunction - -" Helper function for NextColor(), allows echoing of the color name to be -" disabled. -function! s:NextColor(how, echo_color) - if len(s:mycolors) == 0 - call s:SetColors('all') - endif - if exists('g:colors_name') - let current = index(s:mycolors, g:colors_name) - else - let current = -1 - endif - let missing = [] - let how = a:how - for i in range(len(s:mycolors)) - if how == 0 - let current = localtime() % len(s:mycolors) - let how = 1 " in case random color does not exist - else - let current += how - if !(0 <= current && current < len(s:mycolors)) - let current = (how>0 ? 0 : len(s:mycolors)-1) - endif - endif - try - execute 'colorscheme '.s:mycolors[current] - break - catch /E185:/ - call add(missing, s:mycolors[current]) - endtry - endfor - redraw - if len(missing) > 0 - echo 'Error: colorscheme not found:' join(missing) - endif - if (a:echo_color) - echo g:colors_name - endif -endfunction - -nnoremap cn :call NextColor(1) -nnoremap cp :call NextColor(-1) -nnoremap cc :call NextColor(0) - -" Set color scheme according to current time of day. -function! s:HourColor() - let hr = str2nr(strftime('%H')) - if hr <= 3 - let i = 0 - elseif hr <= 7 - let i = 1 - elseif hr <= 14 - let i = 2 - elseif hr <= 18 - let i = 3 - else - let i = 4 - endif - let nowcolors = 'srcery onedark molokai' - execute 'colorscheme '.split(nowcolors)[i] - redraw - echo g:colors_name -endfunction -]]) diff --git a/lua/user/scripts/toggleLsp.lua b/lua/user/scripts/toggleLsp.lua deleted file mode 100644 index 28af698..0000000 --- a/lua/user/scripts/toggleLsp.lua +++ /dev/null @@ -1,40 +0,0 @@ -local M = {} - -local check_function = function(bufnr, _) - local ok, result = pcall(vim.api.nvim_buf_get_var, bufnr, 'lsp_enabled') - -- No buffer local variable set, so just enable by default - if not ok then - return true - end - - return result -end - -vim.lsp.handlers["textDocument/publishDiagnostics"] = - vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - underline = check_function, - virtual_text = check_function, - signs = check_function - }) - -function M.Enable() - vim.b.lsp_enabled = true -end - -function M.Disable() - vim.b.lsp_enabled = false -end - -function M.Toggle() - if vim.b.lsp_enabled == false then - M.Enable() - else - M.Disable() - end -end - -vim.cmd [[ - command! -nargs=* ToggleLsp lua require'lsp.toggle'.Toggle() -]] - -return M -- cgit v1.2.3 From 4159f805b400184cb2541e2cc8f1a52dc475d238 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 29 Oct 2022 14:02:11 +0200 Subject: Changed tabline sel color --- lua/plugins/colorscheme.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 4186378..4da660c 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,6 +1,6 @@ -- Colorscheme -- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "onedark" +local colorscheme = "doom-one" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then vim.notify("colorscheme " .. colorscheme .. " not found!") @@ -17,7 +17,7 @@ vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") ---vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") +vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") vim.api.nvim_command("highlight WinBar guibg=none gui=bold") vim.api.nvim_command("highlight NormalFloat guibg=none") -- cgit v1.2.3 From c5d928b01cb2e5bc5acd103f2e200d91fba1d31d Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 29 Oct 2022 14:03:01 +0200 Subject: Fixed tabline not showing --- lua/user/opts.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 38e1250..3033325 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -94,7 +94,7 @@ vim.opt.report = 0 -- Always report changed lines. ---- bottom of the split. A quick fix is to just set the statusline ---- to empty whitespace (it can't be an empty string because then ---- it'll get replaced by the default stline). -vim.opt.stl = " " +--vim.opt.stl = " " -- Backup/undo vim.opt.backup = false -- @@ -153,9 +153,10 @@ vim.opt.listchars = { tab = "▸ ", trail = "·" } -- --vim.opt.fillchars:append({ eob = " " }) -- remove the ~ from end of buffer vim.opt.modeline = true -- vim.opt.modelines = 3 -- modelines (comments that set vim options on a per-file basis) -vim.opt.modelineexpr = true +--vim.opt.modelineexpr = true --vim.opt.nofoldenable = true -- turn folding off --vim.opt.foldenable = false -- turn folding off +vim.o.showtabline = 2 -- Highlights vim.opt.incsearch = true -- Highlight while searching with / or ?. -- cgit v1.2.3 From 48fbdb95feba7fcd7852a967260d49f40ea75bde Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 30 Oct 2022 21:57:20 +0200 Subject: added FixCursorHold.nvim --- lua/user/pack.lua | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 05999eb..c3715c2 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -107,6 +107,7 @@ return packer.startup(function(use) }) end } + use "antoinemadec/FixCursorHold.nvim" use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } --use("folke/lsp-colors.nvim") use "mfussenegger/nvim-lint" @@ -121,15 +122,22 @@ return packer.startup(function(use) --use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't -- null-ls - use({ "jose-elias-alvarez/null-ls.nvim", - config = function() - require("null-ls").setup({ - sources = { - require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake - } - }) - end - }) + --use({ "jose-elias-alvarez/null-ls.nvim", + -- config = function() + -- require("null-ls").setup({ + -- sources = { + -- require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake + -- } + -- }) + -- end + --}) + use({ + "jose-elias-alvarez/null-ls.nvim", + config = function() + require("null-ls").setup() + end, + requires = { "nvim-lua/plenary.nvim" }, + }) use({ "SmiteshP/nvim-navic", requires = "neovim/nvim-lspconfig", -- cgit v1.2.3 From d262b6b886d3d39ce2acc8ad74ba8efbaa479657 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 30 Oct 2022 21:58:23 +0200 Subject: changed server settings --- lua/plugins/null-ls.lua | 72 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 62 insertions(+), 10 deletions(-) diff --git a/lua/plugins/null-ls.lua b/lua/plugins/null-ls.lua index 7fc4377..e1e6ad6 100644 --- a/lua/plugins/null-ls.lua +++ b/lua/plugins/null-ls.lua @@ -3,24 +3,76 @@ if not null_ls_status_ok then return end --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting +---- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting local formatting = null_ls.builtins.formatting --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics +---- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics local diagnostics = null_ls.builtins.diagnostics +-- +--local completion = null_ls.builtins.completion +local codeactions = null_ls.builtins.code_actions + +----null_ls.setup({ +---- debug = false, +---- sources = { +---- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), +---- formatting.black.with({ extra_args = { "--fast" } }), +---- formatting.stylua, +---- -- diagnostics.flake8 +---- }, +----}) +--require("null-ls").setup({ +-- sources = { +-- require("null-ls").builtins.formatting.stylua, +-- require("null-ls").builtins.diagnostics.eslint, +-- require("null-ls").builtins.completion.spell, +-- }, +--}) --null_ls.setup({ --- debug = false, -- sources = { --- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), --- formatting.black.with({ extra_args = { "--fast" } }), +-- formatting.prettier.with({ +-- filetypes = { "html", "css", "javascript", "javascriptreact", "markdown", "json", "yaml" }, +-- }), +-- formatting.black, +-- formatting.eslint_d, -- formatting.stylua, --- -- diagnostics.flake8 +-- formatting.shfmt.with({ +-- filetypes = { "bash", "zsh", "sh" }, +-- }), +-- +-- diagnostics.eslint_d, +-- diagnostics.luacheck, +-- diagnostics.mdl, +-- diagnostics.vint, +-- +-- codeactions.eslint_d, -- }, +-- on_attach = function(client) +-- if client.resolved_capabilities.document_formatting then +-- vim.cmd("autocmd BufWritePre lua vim.lsp.buf.format()") +-- end +-- end, --}) -require("null-ls").setup({ + +null_ls.setup({ + debug = true, sources = { - require("null-ls").builtins.formatting.stylua, - require("null-ls").builtins.diagnostics.eslint, - require("null-ls").builtins.completion.spell, + formatting.prettierd, + formatting.stylua, + formatting.shfmt.with({ + filetypes = { "bash", "zsh", "sh" }, + }), }, + on_attach = function(client, bufnr) + if client.server_capabilities.document_formatting then + local group = vim.api.nvim_create_augroup("NullLsFormatting", { clear = true }) + vim.api.nvim_create_autocmd("BufWritePre", { + callback = function() + vim.lsp.buf.formatting_sync(nil, 4000) + end, + buffer = bufnr, + group = group, + }) + end + end, }) -- cgit v1.2.3 From 9ffdeceda3c36dc6a894190fdaf57b66d3018cd7 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 30 Oct 2022 21:59:47 +0200 Subject: TODO: fix formatting and diagnostic server settings --- init.lua | 2 ++ lua/plugins/lsp.lua | 47 +++++++++++++++++++++++++++++------------------ lua/user/opts.lua | 3 ++- 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/init.lua b/init.lua index 2ac0b01..8de653a 100644 --- a/init.lua +++ b/init.lua @@ -39,6 +39,7 @@ if impatient_ok then end -- Check if we have the latest stable version of nvim +local opts = { noremap = true, silent = true, buffer = true } local utils = require("user.utils") local expected_ver = "0.8.0" local nvim_ver = utils.get_nvim_version() @@ -130,3 +131,4 @@ vim.g.do_filetype_nvim = 1 vim.g.did_load_filetypes = 0 + diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index f39cc58..097699e 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -7,7 +7,7 @@ local utils = require("user.utils") local custom_attach = function(client, bufnr) -- Enable completion triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - +--vim.lsp.protocol.CompletionItemKind = {} -- Mappings. local map = function(mode, l, r, opts) opts = opts or {} @@ -149,25 +149,36 @@ map('n', 'm', ':call v:lua.toggle_diagnostics()') -- }) -- The below command will highlight the current variable and its usages in the buffer. - if client.server_capabilities.documentHighlightProvider then - vim.cmd([[ - hi! link LspReferenceRead Visual - hi! link LspReferenceText Visual - hi! link LspReferenceWrite Visual - augroup lsp_document_highlight - autocmd! * - autocmd CursorHold lua vim.lsp.buf.document_highlight() - autocmd CursorMoved lua vim.lsp.buf.clear_references() - augroup END - ]]) - end +-- if client.server_capabilities.documentHighlightProvider then +-- vim.cmd([[ +-- hi! link LspReferenceRead Visual +-- hi! link LspReferenceText Visual +-- hi! link LspReferenceWrite Visual +-- augroup lsp_document_highlight +-- autocmd! * +-- autocmd CursorHold lua vim.lsp.buf.document_highlight() +-- autocmd CursorHoldI lua vim.lsp.buf.document_highlight() +-- autocmd CursorMoved lua vim.lsp.buf.clear_references() +-- augroup END +-- ]]) +-- end + + -- Only highlight if compatible with the language +-- if client.resolved_capabilities.document_highlight then +-- vim.cmd('augroup LspHighlight') +-- vim.cmd('autocmd!') +-- vim.cmd('autocmd CursorHold lua vim.lsp.buf.document_highlight()') +-- vim.cmd('autocmd CursorMoved lua vim.lsp.buf.clear_references()') +-- vim.cmd('augroup END') +-- end - if vim.g.logging_level == "debug" then - local msg = string.format("Language server %s started!", client.name) - vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) - end +-- if vim.g.logging_level == "debug" then +-- local msg = string.format("Language server %s started!", client.name) +-- vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) +-- end +-- suppress error messages from lang servers end - +vim.lsp.set_log_level("debug") local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) capabilities.textDocument.completion.completionItem.snippetSupport = true diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 3033325..9d9a138 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -10,7 +10,8 @@ vim.cmd([[ ]]) -- Environment -vim.opt.shell = "zsh" -- +--vim.opt.shell = "zsh" -- +vim.o.shell = "/bin/zsh" vim.scriptencoding = "utf-8" -- vim.opt.encoding = "utf-8" -- vim.opt.fileencoding = "utf-8" -- -- cgit v1.2.3 From cbcd91ee9ec646ced5f8ea506e98e7ab6b4df7a8 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 1 Nov 2022 22:59:40 +0200 Subject: changed document_highlight autocommand --- lua/plugins/lsp.lua | 74 +++++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 097699e..155143d 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -70,7 +70,9 @@ function _G.toggle_diagnostics() vim.diagnostic.enable() end end -map('n', 'm', ':call v:lua.toggle_diagnostics()') + +--map('n', 'm', ':call v:lua.toggle_diagnostics()') + --vim.g.diagnostics_active = true --function _G.toggle_diagnostics() -- if vim.g.diagnostics_active then @@ -105,6 +107,35 @@ map('n', 'm', ':call v:lua.toggle_diagnostics()') map("n", "ra", "RustHoverAction") end +-- Highlight symbol under cursor + +-- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. + +if client.server_capabilities.document_highlight then + vim.cmd [[ + hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow + hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow + hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow + ]] + vim.api.nvim_create_augroup('lsp_document_highlight', { + clear = false + }) + vim.api.nvim_clear_autocmds({ + buffer = bufnr, + group = 'lsp_document_highlight', + }) + vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { + group = 'lsp_document_highlight', + buffer = bufnr, + callback = vim.lsp.buf.document_highlight, + }) + vim.api.nvim_create_autocmd('CursorMoved', { + group = 'lsp_document_highlight', + buffer = bufnr, + callback = vim.lsp.buf.clear_references, + }) +end + --For diagnostics for specific cursor position --vim.api.nvim_create_autocmd("CursorHold", { -- buffer = bufnr, @@ -162,7 +193,7 @@ map('n', 'm', ':call v:lua.toggle_diagnostics()') -- augroup END -- ]]) -- end - +-- -- Only highlight if compatible with the language -- if client.resolved_capabilities.document_highlight then -- vim.cmd('augroup LspHighlight') @@ -172,10 +203,10 @@ map('n', 'm', ':call v:lua.toggle_diagnostics()') -- vim.cmd('augroup END') -- end --- if vim.g.logging_level == "debug" then --- local msg = string.format("Language server %s started!", client.name) --- vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) --- end + if vim.g.logging_level == "debug" then + local msg = string.format("Language server %s started!", client.name) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) + end -- suppress error messages from lang servers end vim.lsp.set_log_level("debug") @@ -395,7 +426,7 @@ function! ToggleDiagnosticsOpenFloat() augroup END endif endfunction -nnoremap a :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." +nnoremap m :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." ]]) --vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( @@ -578,32 +609,3 @@ end -- sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl=DiagnosticLineNrHint --]] --- Highlight symbol under cursor - --- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. - ---if client.resolved_capabilities.document_highlight then --- vim.cmd [[ --- hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow --- hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow --- hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow --- ]] --- vim.api.nvim_create_augroup('lsp_document_highlight', { --- clear = false --- }) --- vim.api.nvim_clear_autocmds({ --- buffer = bufnr, --- group = 'lsp_document_highlight', --- }) --- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { --- group = 'lsp_document_highlight', --- buffer = bufnr, --- callback = vim.lsp.buf.document_highlight, --- }) --- vim.api.nvim_create_autocmd('CursorMoved', { --- group = 'lsp_document_highlight', --- buffer = bufnr, --- callback = vim.lsp.buf.clear_references, --- }) ---end - -- cgit v1.2.3 From f4fc6b698f1de7d6eec00e34bb13401800fa4d29 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 1 Nov 2022 23:06:03 +0200 Subject: changed colorscheme --- lua/plugins/colorscheme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 4da660c..514062c 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,6 +1,6 @@ -- Colorscheme -- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "doom-one" +local colorscheme = "onedark" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then vim.notify("colorscheme " .. colorscheme .. " not found!") -- cgit v1.2.3 From d54dd4c34298c2700a19260ff8ddda864c5c2abb Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 1 Nov 2022 23:07:16 +0200 Subject: Added lspsaga.lua --- lua/plugins/lspsaga.lua | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lua/plugins/lspsaga.lua diff --git a/lua/plugins/lspsaga.lua b/lua/plugins/lspsaga.lua new file mode 100644 index 0000000..4161ce9 --- /dev/null +++ b/lua/plugins/lspsaga.lua @@ -0,0 +1,46 @@ +return function() + local saga = require "lspsaga" + + saga.init_lsp_saga { + use_saga_diagnostic_sign = false, + finder_action_keys = { + vsplit = "v", + split = "s", + quit = { "q", "" }, + }, + code_action_icon = "💡", + code_action_prompt = { + enable = false, + sign = false, + virtual_text = false, + }, + } + + require("as.highlights").highlight("LspSagaLightbulb", { guifg = "NONE", guibg = "NONE" }) + +-- as.vnoremap("ca", ":lua require('lspsaga.codeaction').range_code_action()") +-- as.inoremap("", "lua require('lspsaga.signaturehelp').signature_help()") +-- as.nnoremap("K", "lua require('lspsaga.hover').render_hover_doc()") +-- -- scroll down hover doc +-- as.nnoremap("", "lua require('lspsaga.action').smart_scroll_with_saga(1)") +-- -- scroll up hover doc +-- as.nnoremap("", "lua require('lspsaga.action').smart_scroll_with_saga(-1)") + + require("which-key").register { + ["rn"] = { require("lspsaga.rename").rename, "lsp: rename" }, + ["ca"] = { require("lspsaga.codeaction").code_action, "lsp: code action" }, + ["gp"] = { require("lspsaga.provider").preview_definition, "lsp: preview definition" }, + ["gh"] = { require("lspsaga.provider").lsp_finder, "lsp: finder" }, + -- jump diagnostic + ["]c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_prev, "lsp: previous diagnostic" }, + ["[c"] = { require("lspsaga.diagnostic").lsp_jump_diagnostic_next, "lsp: next diagnostic" }, + } + + -- augroup("LspSagaCursorCommands", { + -- { + -- events = { "CursorHold" }, + -- targets = { "*" }, + -- command = "lua require('lspsaga.diagnostic').show_cursor_diagnostics()", + -- }, + -- }) +end -- cgit v1.2.3 From 24e291680e6af8bb9c4fa8debe3900a9012d0322 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 1 Nov 2022 23:08:02 +0200 Subject: Clean config --- .gitignore | 1 + init.lua | 1 - startup.log | 6534 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 6535 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c84aa4a..308d183 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ plugin/packer_compiled.lua +startup.log diff --git a/init.lua b/init.lua index 8de653a..2e0c2b4 100644 --- a/init.lua +++ b/init.lua @@ -39,7 +39,6 @@ if impatient_ok then end -- Check if we have the latest stable version of nvim -local opts = { noremap = true, silent = true, buffer = true } local utils = require("user.utils") local expected_ver = "0.8.0" local nvim_ver = utils.get_nvim_version() diff --git a/startup.log b/startup.log index cd505e5..8069b40 100644 --- a/startup.log +++ b/startup.log @@ -2386,3 +2386,6537 @@ times in msec 347.229 000.307: BufEnter autocommands 347.238 000.009: editing files in windows 367.135 000.246 000.246: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.041 001.041: --- NVIM STARTING --- +027.399 026.358: event init +043.704 016.305: early init +045.463 001.758: locale set +050.894 005.431: init first window +060.833 009.939: inits 1 +060.857 000.025: window checked +060.866 000.009: parsing arguments +072.401 000.282 000.282: require('vim.shared') +072.946 000.239 000.239: require('vim._meta') +072.962 000.538 000.300: require('vim._editor') +072.970 000.942 000.122: require('vim._init_packages') +072.978 011.170: init lua interpreter +073.141 000.164: expanding arguments +074.935 001.793: inits 2 +076.334 001.399: init highlight +076.345 000.011: waiting for UI +079.251 002.906: done waiting for UI +079.305 000.054: init screen for UI +079.698 000.393: init default mappings +079.734 000.035: init default autocommands +089.249 004.288 004.288: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/ftplugin.vim +092.440 001.075 001.075: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/indent.vim +093.081 000.061 000.061: sourcing /usr/share/nvim/archlinux.vim +093.111 000.199 000.138: sourcing /etc/xdg/nvim/sysinit.vim +126.233 032.691 032.691: require('impatient') +127.097 000.849 000.849: require('impatient.profile') +127.201 000.085 000.085: require('user.utils') +130.441 000.224 000.224: require('packer.util') +130.500 000.529 000.305: require('packer') +131.196 000.307 000.307: require('packer.log') +131.207 000.467 000.160: require('packer.async') +131.656 000.331 000.331: require('packer.result') +131.665 000.453 000.122: require('packer.jobs') +131.681 001.129 000.210: require('packer.plugin_utils') +131.878 000.174 000.174: require('packer.snapshot') +133.031 000.104 000.104: require('mason-core.path') +133.049 000.219 000.115: require('mason.settings') +133.319 000.141 000.141: require('mason-core.functional') +133.532 000.089 000.089: require('mason-core.functional.data') +133.545 000.204 000.114: require('mason-core.functional.function') +133.745 000.172 000.172: require('mason-core.functional.relation') +133.902 000.133 000.133: require('mason-core.functional.logic') +133.936 000.879 000.229: require('mason-core.platform') +133.940 001.415 000.317: require('mason') +134.406 000.174 000.174: require('mason-core.functional.list') +134.455 000.484 000.310: require('mason.api.command') +134.778 000.147 000.147: require('mason-core.log') +134.788 000.327 000.179: require('mason-lspconfig') +134.887 000.093 000.093: require('mason-lspconfig.settings') +135.275 000.083 000.083: require('mason-core.notify') +135.287 000.214 000.131: require('mason-lspconfig.lspconfig_hook') +136.881 000.336 000.336: require('vim.lsp.log') +138.475 000.016 000.016: require('vim.F') +138.485 001.591 001.575: require('vim.lsp.protocol') +139.198 000.306 000.306: require('vim.lsp._snippet') +139.433 000.226 000.226: require('vim.highlight') +139.467 000.974 000.442: require('vim.lsp.util') +139.490 003.432 000.531: require('vim.lsp.handlers') +139.841 000.344 000.344: require('vim.lsp.rpc') +140.136 000.284 000.284: require('vim.lsp.sync') +140.409 000.264 000.264: require('vim.lsp.buf') +140.663 000.246 000.246: require('vim.lsp.diagnostic') +140.918 000.246 000.246: require('vim.lsp.codelens') +141.092 005.670 000.855: require('vim.lsp') +141.229 005.937 000.267: require('lspconfig.util') +141.585 000.104 000.104: require('mason-core.functional.table') +141.676 000.353 000.249: require('mason-lspconfig.mappings.server') +142.004 000.116 000.116: require('mason-core.async') +142.154 000.136 000.136: require('mason-core.async.uv') +142.166 000.375 000.123: require('mason-core.fs') +142.340 000.168 000.168: require('mason-core.optional') +142.440 000.091 000.091: require('mason-core.EventEmitter') +142.642 000.196 000.196: require('mason-registry.index') +142.701 001.016 000.187: require('mason-registry') +142.810 000.099 000.099: require('mason-lspconfig.server_config_extensions') +142.932 000.115 000.115: require('lspconfig.configs') +143.106 000.110 000.110: require('lspconfig.server_configurations.omnisharp') +143.360 000.102 000.102: require('mason-lspconfig.ensure_installed') +143.714 000.098 000.098: require('mason-core.result') +144.251 000.269 000.269: require('mason-core.process') +144.412 000.574 000.305: require('mason-core.spawn') +144.545 000.121 000.121: require('mason-core.receipt') +144.659 000.097 000.097: require('mason-core.functional.string') +144.695 000.974 000.182: require('mason-core.installer.context') +144.805 000.102 000.102: require('mason-core.installer.linker') +144.914 000.102 000.102: require('mason-core.async.control') +144.922 001.424 000.147: require('mason-core.installer') +145.053 000.125 000.125: require('mason-core.installer.handle') +145.672 000.113 000.113: require('mason-core.managers.powershell') +145.681 000.255 000.141: require('mason-core.fetch') +145.685 000.385 000.131: require('mason-core.managers.cargo.client') +145.929 000.121 000.121: require('mason-core.managers.std') +146.233 000.174 000.174: require('mason-core.providers') +146.263 000.327 000.153: require('mason-core.managers.github.client') +146.278 000.589 000.141: require('mason-core.managers.github') +146.385 001.214 000.240: require('mason-core.managers.cargo') +146.536 000.143 000.143: require('mason-core.managers.composer') +146.680 000.137 000.137: require('mason-core.managers.gem') +146.798 000.111 000.111: require('mason-core.managers.git') +146.941 000.136 000.136: require('mason-core.managers.go') +147.116 000.168 000.168: require('mason-core.managers.luarocks') +147.258 000.135 000.135: require('mason-core.managers.npm') +147.420 000.155 000.155: require('mason-core.managers.pip3') +147.436 002.361 000.162: require('mason-core.package.version-check') +147.446 004.077 000.168: require('mason-core.package') +147.709 000.229 000.229: require('mason-registry.python-lsp-server') +147.983 000.111 000.111: require('mason-registry.pyright') +148.185 000.169 000.169: require('mason-registry.clangd') +148.352 000.137 000.137: require('mason-registry.lua-language-server') +148.577 000.092 000.092: require('mason-core.functional.number') +148.627 000.264 000.172: require('mason-lspconfig.api.command') +148.831 019.194 002.110: require('user.pack') +151.774 002.934 002.934: require('user.opts') +151.958 000.014 000.014: require('vim.keymap') +153.857 002.033 002.019: require('user.keys') +153.965 000.097 000.097: require('user.utils') +155.009 000.237 000.237: require('vim.treesitter.language') +155.028 000.697 000.460: require('vim.treesitter.query') +156.054 000.246 000.246: require('vim.treesitter.languagetree') +156.134 000.580 000.334: require('vim.treesitter') +156.470 001.215 000.635: require('nvim-treesitter.parsers') +156.672 000.187 000.187: require('nvim-treesitter.utils') +156.685 001.545 000.143: require('nvim-treesitter.ts_utils') +156.695 001.661 000.116: require('nvim-treesitter.tsrange') +156.807 000.104 000.104: require('nvim-treesitter.caching') +156.827 002.612 000.150: require('nvim-treesitter.query') +156.860 002.810 000.199: require('nvim-treesitter.configs') +157.326 000.109 000.109: require('nvim-treesitter.info') +157.469 000.133 000.133: require('nvim-treesitter.shell_command_selectors') +157.515 000.476 000.234: require('nvim-treesitter.install') +160.173 006.198 002.912: require('plugins.treesitter') +160.520 000.094 000.094: require('telescope._extensions') +160.530 000.205 000.111: require('telescope') +161.296 000.096 000.096: require('plenary.bit') +161.397 000.093 000.093: require('plenary.functional') +161.453 000.035 000.035: require('ffi') +161.476 000.426 000.202: require('plenary.path') +161.491 000.538 000.113: require('plenary.strings') +161.588 000.092 000.092: require('telescope.deprecated') +162.087 000.282 000.282: require('plenary.log') +162.127 000.403 000.122: require('telescope.log') +162.418 000.142 000.142: require('plenary.job') +162.517 000.090 000.090: require('telescope.state') +162.529 000.394 000.162: require('telescope.utils') +162.582 000.987 000.190: require('telescope.sorters') +162.718 000.109 000.109: require('vim.inspect') +166.647 005.856 004.130: require('telescope.config') +166.920 000.115 000.115: require('plenary.window.border') +167.016 000.087 000.087: require('plenary.window') +167.106 000.083 000.083: require('plenary.popup.utils') +167.117 000.456 000.171: require('plenary.popup') +167.219 000.096 000.096: require('telescope.pickers.scroller') +167.328 000.101 000.101: require('telescope.actions.state') +167.452 000.103 000.103: require('telescope.actions.utils') +167.675 000.105 000.105: require('telescope.actions.mt') +167.706 000.248 000.143: require('telescope.actions.set') +169.932 002.117 002.117: require('telescope.config.resolve') +169.949 002.237 000.120: require('telescope.pickers.entry_display') +170.061 000.104 000.104: require('telescope.from_entry') +170.539 010.003 000.801: require('telescope.actions') +172.087 000.150 000.150: require('plenary.tbl') +172.105 000.282 000.132: require('plenary.vararg.rotate') +172.109 000.397 000.115: require('plenary.vararg') +172.209 000.095 000.095: require('plenary.errors') +172.221 000.711 000.220: require('plenary.async.async') +172.336 000.110 000.110: require('plenary.async.structs') +172.355 001.065 000.244: require('plenary.async.control') +172.835 000.320 000.320: require('telescope.make_entry') +173.459 000.168 000.168: require('plenary.async.util') +173.469 000.357 000.189: require('plenary.async.tests') +173.474 000.499 000.142: require('plenary.async') +173.480 000.634 000.135: require('telescope.finders.async_static_finder') +173.829 000.094 000.094: require('plenary.class') +173.863 000.256 000.162: require('telescope._') +173.870 000.385 000.129: require('telescope.finders.async_oneshot_finder') +173.989 000.114 000.114: require('telescope.finders.async_job_finder') +174.006 001.642 000.190: require('telescope.finders') +174.451 000.167 000.167: require('telescope.debounce') +174.696 000.236 000.236: require('telescope.mappings') +174.857 000.150 000.150: require('telescope.pickers.highlights') +174.982 000.117 000.117: require('telescope.pickers.window') +175.242 000.128 000.128: require('telescope.algos.linked_list') +175.255 000.267 000.139: require('telescope.entry_manager') +175.368 000.107 000.107: require('telescope.pickers.multi') +175.408 001.395 000.352: require('telescope.pickers') +175.433 004.426 000.324: require('telescope.builtin.__lsp') +175.497 004.946 000.520: require('telescope.builtin') +175.926 000.287 000.287: require('fzf_lib') +175.944 000.438 000.151: require('telescope._extensions.fzf') +176.509 000.200 000.200: require('telescope._extensions.file_browser.utils') +176.636 000.543 000.343: require('telescope._extensions.file_browser.actions') +176.994 000.206 000.206: require('telescope._extensions.file_browser.make_entry') +177.203 000.195 000.195: require('plenary.scandir') +177.268 000.623 000.222: require('telescope._extensions.file_browser.finders') +177.401 000.125 000.125: require('telescope._extensions.file_browser.picker') +177.561 000.153 000.153: require('telescope._extensions.file_browser.config') +177.569 001.609 000.164: require('telescope._extensions.file_browser') +181.018 020.829 003.629: require('plugins.telescope') +182.591 000.099 000.099: require('notify.util.queue') +182.606 000.239 000.140: require('notify.util') +182.948 000.336 000.336: require('notify.config.highlights') +182.962 000.731 000.155: require('notify.config') +183.083 000.115 000.115: require('notify.stages') +183.199 000.108 000.108: require('notify.service.notification') +183.915 000.478 000.478: require('notify.animate.spring') +183.923 000.589 000.111: require('notify.animate') +183.951 000.745 000.156: require('notify.windows') +185.107 000.414 000.414: require('notify.service.buffer.highlights') +185.172 000.974 000.560: require('notify.service.buffer') +185.180 001.223 000.249: require('notify.service') +185.695 000.508 000.508: require('notify.stages.util') +185.860 003.771 000.341: require('notify') +186.112 000.244 000.244: require('nvim-tree.iterators.node-iterator') +186.261 004.344 000.329: require('nvim-tree.utils') +186.298 004.508 000.164: require('nvim-tree.events') +187.040 000.223 000.223: require('nvim-tree.log') +187.401 000.350 000.350: require('nvim-tree.git.utils') +187.733 000.323 000.323: require('nvim-tree.git.runner') +188.044 000.290 000.290: require('nvim-tree.watcher') +188.099 001.569 000.383: require('nvim-tree.git') +188.349 000.244 000.244: require('nvim-tree.explorer.watch') +188.589 000.233 000.233: require('nvim-tree.explorer.common') +189.102 000.229 000.229: require('nvim-tree.explorer.node-builders') +189.404 000.277 000.277: require('nvim-tree.explorer.sorters') +189.695 000.282 000.282: require('nvim-tree.explorer.filters') +190.724 000.711 000.711: require('nvim-tree.view') +190.808 001.087 000.377: require('nvim-tree.live-filter') +190.830 002.210 000.335: require('nvim-tree.explorer.explore') +191.155 000.309 000.309: require('nvim-tree.explorer.reload') +191.166 004.862 000.296: require('nvim-tree.explorer') +191.213 009.521 000.151: require('nvim-tree.core') +191.622 000.403 000.403: require('nvim-tree.diagnostics') +191.966 000.316 000.316: require('nvim-tree.renderer.components.padding') +192.426 000.450 000.450: require('nvim-tree.renderer.components.icons') +192.776 000.339 000.339: require('nvim-tree.renderer.components.full-name') +192.884 000.099 000.099: require('nvim-tree.renderer.help') +193.016 000.125 000.125: require('nvim-tree.renderer.components.git') +193.155 000.132 000.132: require('nvim-tree.renderer.builder') +193.260 000.098 000.098: require('nvim-tree.marks') +193.275 011.712 000.229: require('nvim-tree.renderer') +193.391 000.103 000.103: require('nvim-tree.actions.tree-modifiers.collapse-all') +193.482 000.084 000.084: require('nvim-tree.actions.root.dir-up') +193.588 000.099 000.099: require('nvim-tree.actions.root.change-dir') +193.694 000.098 000.098: require('nvim-tree.actions.reloaders.reloaders') +193.797 000.095 000.095: require('nvim-tree.actions.finders.find-file') +193.802 012.412 000.221: require('nvim-tree.lib') +193.919 000.111 000.111: require('nvim-tree.colors') +194.070 000.132 000.132: require('nvim-tree.legacy') +194.202 000.123 000.123: require('nvim-tree.actions.fs.copy-paste') +194.416 000.099 000.099: require('nvim-tree.actions.tree-modifiers.expand-all') +194.516 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') +194.633 000.101 000.101: require('nvim-tree.actions.fs.create-file') +194.734 000.092 000.092: require('nvim-tree.actions.fs.rename-file') +194.873 000.132 000.132: require('nvim-tree.actions.fs.trash') +195.000 000.119 000.119: require('nvim-tree.actions.fs.remove-file') +195.116 000.099 000.099: require('nvim-tree.actions.moves.parent') +195.211 000.088 000.088: require('nvim-tree.actions.moves.sibling') +195.307 000.087 000.087: require('nvim-tree.actions.moves.item') +195.419 000.093 000.093: require('nvim-tree.actions.finders.search-node') +195.512 000.086 000.086: require('nvim-tree.actions.node.run-command') +195.634 000.116 000.116: require('nvim-tree.actions.node.file-popup') +195.749 000.108 000.108: require('nvim-tree.actions.node.system-open') +195.859 000.098 000.098: require('nvim-tree.marks.bulk-move') +195.865 001.652 000.242: require('nvim-tree.actions.dispatch') +195.897 014.736 000.306: require('nvim-tree') +195.998 000.094 000.094: require('nvim-tree.config') +201.662 000.182 000.182: require('nvim-tree.actions') +201.803 000.122 000.122: require('nvim-tree.actions.node.open-file') +204.455 000.100 000.100: require('nvim-tree.marks.navigation') +204.467 000.293 000.193: require('nvim-tree.api') +204.489 000.442 000.149: require('nvim-tree.keymap') +205.358 000.400 000.400: require('nvim-web-devicons') +209.455 028.423 012.447: require('plugins.nvim-tree') +209.915 000.079 000.079: require('cmp.utils.debug') +210.127 000.120 000.120: require('cmp.utils.char') +210.141 000.217 000.097: require('cmp.utils.str') +210.275 000.081 000.081: require('cmp.utils.pattern') +210.550 000.088 000.088: require('cmp.utils.misc') +210.660 000.083 000.083: require('cmp.utils.buffer') +210.756 000.089 000.089: require('cmp.utils.api') +210.766 000.402 000.142: require('cmp.utils.keymap') +210.775 000.494 000.091: require('cmp.utils.feedkeys') +210.874 000.094 000.094: require('cmp.utils.async') +211.150 000.077 000.077: require('cmp.types.cmp') +211.264 000.107 000.107: require('cmp.types.lsp') +211.344 000.073 000.073: require('cmp.types.vim') +211.349 000.384 000.126: require('cmp.types') +211.428 000.074 000.074: require('cmp.utils.cache') +211.436 000.554 000.096: require('cmp.context') +211.716 000.092 000.092: require('cmp.config.mapping') +211.911 000.095 000.095: require('cmp.config.compare') +211.917 000.190 000.095: require('cmp.config.default') +211.941 000.403 000.122: require('cmp.config') +212.137 000.079 000.079: require('cmp.matcher') +212.148 000.201 000.122: require('cmp.entry') +212.163 000.723 000.119: require('cmp.source') +212.328 000.073 000.073: require('cmp.utils.event') +212.521 000.099 000.099: require('cmp.utils.window') +212.528 000.192 000.093: require('cmp.view.docs_view') +212.756 000.112 000.112: require('cmp.utils.autocmd') +212.777 000.245 000.133: require('cmp.view.custom_entries_view') +212.900 000.117 000.117: require('cmp.view.wildmenu_entries_view') +213.007 000.101 000.101: require('cmp.view.native_entries_view') +213.104 000.090 000.090: require('cmp.view.ghost_text_view') +213.120 000.952 000.134: require('cmp.view') +213.276 003.562 000.368: require('cmp.core') +213.583 000.086 000.086: require('cmp.config.sources') +213.667 000.074 000.074: require('cmp.config.window') +213.765 004.167 000.445: require('cmp') +214.175 000.114 000.114: require('symbols-outline.config') +214.181 000.200 000.086: require('symbols-outline.symbols') +214.277 000.091 000.091: require('symbols-outline.ui') +214.368 000.083 000.083: require('symbols-outline.utils.table') +214.455 000.080 000.080: require('symbols-outline.folding') +214.461 000.573 000.120: require('symbols-outline.parser') +214.549 000.083 000.083: require('symbols-outline.providers.init') +214.647 000.091 000.091: require('symbols-outline.writer') +214.741 000.086 000.086: require('symbols-outline.utils.init') +214.829 000.082 000.082: require('symbols-outline.view') +214.843 001.071 000.155: require('symbols-outline') +215.138 000.114 000.114: require('symbols-outline.preview') +215.257 000.105 000.105: require('lspkind') +217.233 007.766 002.310: require('plugins.cmp') +217.765 000.081 000.081: require('luasnip.session') +217.924 000.150 000.150: require('luasnip.util.util') +218.019 000.087 000.087: require('luasnip.util.types') +218.209 000.092 000.092: require('luasnip.util.ext_opts') +218.222 000.196 000.104: require('luasnip.nodes.util') +218.311 000.083 000.083: require('luasnip.util.events') +218.329 000.738 000.141: require('luasnip.nodes.node') +218.571 000.089 000.089: require('luasnip.util.extend_decorator') +218.585 000.251 000.161: require('luasnip.nodes.insertNode') +218.758 000.167 000.167: require('luasnip.nodes.textNode') +218.878 000.107 000.107: require('luasnip.util.mark') +219.646 000.663 000.663: require('luasnip.util._builtin_vars') +219.844 000.959 000.296: require('luasnip.util.environ') +219.970 000.116 000.116: require('luasnip.util.pattern_tokenizer') +220.061 000.083 000.083: require('luasnip.util.dict') +220.178 000.109 000.109: require('luasnip.session.snippet_collection') +220.291 002.839 000.309: require('luasnip.nodes.snippet') +220.503 000.094 000.094: require('luasnip.loaders._caches') +220.635 000.125 000.125: require('luasnip.util.path') +220.683 000.378 000.159: require('luasnip.loaders') +220.877 000.160 000.160: require('luasnip.nodes.functionNode') +221.097 000.210 000.210: require('luasnip.nodes.choiceNode') +221.254 000.149 000.149: require('luasnip.nodes.dynamicNode') +221.441 000.179 000.179: require('luasnip.nodes.restoreNode') +221.811 000.099 000.099: require('luasnip.util.parser.neovim_ast') +227.127 000.121 000.121: require('luasnip.util.directed_graph') +227.148 005.547 005.328: require('luasnip.util.parser.ast_utils') +227.372 000.094 000.094: require('luasnip.util.functions') +227.386 000.230 000.137: require('luasnip.util.parser.ast_parser') +227.576 000.185 000.185: require('luasnip.util.parser.neovim_parser') +227.679 000.094 000.094: require('luasnip.util.str') +227.710 006.214 000.158: require('luasnip.util.parser') +227.944 000.099 000.099: require('luasnip.extras.filetype_functions') +228.089 000.108 000.108: require('luasnip.extras') +228.207 000.104 000.104: require('luasnip.extras.fmt') +228.489 000.094 000.094: require('luasnip.extras.conditions') +228.583 000.087 000.087: require('luasnip.extras.conditions.show') +228.670 000.359 000.179: require('luasnip.extras.conditions.expand') +228.675 000.460 000.101: require('luasnip.extras.expand_conditions') +228.785 000.098 000.098: require('luasnip.nodes.absolute_indexer') +229.242 001.526 000.656: require('luasnip.config') +229.253 011.924 000.269: require('luasnip') +229.509 000.107 000.107: require('luasnip.loaders.util') +229.521 000.261 000.155: require('luasnip.loaders.from_lua') +239.452 022.206 010.020: require('plugins.luasnip') +239.855 000.147 000.147: require('colorizer/nvim') +240.053 000.189 000.189: require('colorizer/trie') +240.476 000.912 000.576: require('colorizer') +242.334 002.864 001.952: require('plugins.colorizer') +242.744 000.116 000.116: require('prettier.utils') +242.775 000.257 000.141: require('prettier.options') +243.454 000.252 000.252: require('null-ls.methods') +243.482 000.397 000.145: require('null-ls.utils') +244.058 000.567 000.567: require('vim.diagnostic') +244.090 001.103 000.139: require('null-ls.config') +244.296 000.094 000.094: require('null-ls.helpers.cache') +244.416 000.112 000.112: require('null-ls.helpers.diagnostics') +244.524 000.100 000.100: require('null-ls.helpers.formatter_factory') +244.751 000.098 000.098: require('null-ls.logger') +244.856 000.097 000.097: require('null-ls.state') +244.863 000.332 000.137: require('null-ls.helpers.generator_factory') +245.067 000.099 000.099: require('null-ls.helpers.command_resolver') +245.073 000.204 000.105: require('null-ls.helpers.make_builtin') +245.177 000.098 000.098: require('null-ls.helpers.range_formatting_args_factory') +245.182 001.084 000.143: require('null-ls.helpers') +245.405 000.108 000.108: require('null-ls.diagnostics') +245.420 000.234 000.126: require('null-ls.sources') +245.528 000.098 000.098: require('null-ls.builtins') +245.535 002.640 000.122: require('null-ls') +245.627 000.086 000.086: require('prettier.cli') +245.635 002.854 000.128: require('prettier.null-ls') +245.641 003.214 000.103: require('prettier') +246.030 003.683 000.470: require('plugins.prettier') +246.195 000.085 000.085: require('git') +246.289 000.087 000.087: require('git.config') +246.476 000.435 000.263: require('plugins.git') +246.781 000.090 000.090: require('gitsigns.async') +246.876 000.086 000.086: require('gitsigns.status') +247.133 000.105 000.105: require('gitsigns.debug') +247.238 000.098 000.098: require('gitsigns.util') +247.437 000.098 000.098: require('gitsigns.uv') +247.445 000.200 000.102: require('gitsigns.subprocess') +247.872 000.088 000.088: require('gitsigns.message') +247.905 000.269 000.181: require('gitsigns.config') +247.998 000.082 000.082: require('gitsigns.signs.base') +248.004 000.449 000.097: require('gitsigns.signs') +248.017 000.567 000.118: require('gitsigns.hunks') +248.034 001.152 000.183: require('gitsigns.git') +248.251 000.090 000.090: require('gitsigns.cache') +248.347 000.087 000.087: require('gitsigns.debounce') +248.437 000.080 000.080: require('gitsigns.diff') +248.461 000.422 000.163: require('gitsigns.manager') +248.580 000.112 000.112: require('gitsigns.highlight') +248.603 002.051 000.188: require('gitsigns') +250.515 000.122 000.122: require('gitsigns.signs.vimfn') +253.832 007.349 005.176: require('plugins.gitsigns') +254.299 000.111 000.111: require('neoscroll.config') +254.410 000.102 000.102: require('neoscroll.utils') +254.562 000.540 000.328: require('neoscroll') +255.206 001.349 000.808: require('plugins.neoscroll') +255.665 000.101 000.101: require('cmp_nvim_lsp.source') +255.674 000.234 000.132: require('cmp_nvim_lsp') +255.778 000.092 000.092: require('lspconfig') +255.933 000.106 000.106: require('lspconfig.server_configurations.pylsp') +256.583 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') +257.063 000.120 000.120: require('lspconfig.server_configurations.clangd') +259.505 000.146 000.146: require('lspconfig.server_configurations.sumneko_lua') +261.276 006.059 005.228: require('plugins.lsp') +261.647 000.093 000.093: require('nvim-autopairs._log') +261.772 000.117 000.117: require('nvim-autopairs.utils') +262.111 000.118 000.118: require('nvim-autopairs.conds') +262.122 000.239 000.121: require('nvim-autopairs.rule') +262.127 000.348 000.109: require('nvim-autopairs.rules.basic') +262.144 000.755 000.197: require('nvim-autopairs') +262.298 000.115 000.115: require('nvim-autopairs.fastwrap') +262.902 000.113 000.113: require('nvim-autopairs.ts-conds') +262.910 000.228 000.115: require('nvim-autopairs.rules.ts_basic') +263.205 000.286 000.286: require('vim.treesitter.highlighter') +264.327 000.095 000.095: require('nvim-autopairs.completion.handlers') +264.340 000.219 000.123: require('nvim-autopairs.completion.cmp') +264.369 003.079 001.477: require('plugins.autopairs') +264.612 000.154 000.154: require('null-ls.builtins.formatting.prettierd') +264.908 000.285 000.285: require('null-ls.builtins.formatting.stylua') +265.051 000.130 000.130: require('null-ls.builtins.formatting.shfmt') +265.887 000.142 000.142: require('null-ls.client') +265.942 001.566 000.856: require('plugins.null-ls') +266.044 000.094 000.094: require('plugins.web-devicons') +266.565 000.092 000.092: require('zen-mode.util') +266.620 000.280 000.189: require('zen-mode.config') +266.737 000.108 000.108: require('zen-mode.plugins') +266.750 000.545 000.156: require('zen-mode.view') +266.757 000.634 000.089: require('zen-mode') +266.821 000.768 000.134: require('plugins.zen-mode') +270.997 000.101 000.101: require('doom-one.utils') +271.118 000.109 000.109: require('doom-one.colors') +271.136 000.538 000.328: require('doom-one') +273.553 003.936 003.398: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +277.620 000.437 000.437: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/syntax/synload.vim +278.011 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +279.206 000.084 000.084: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/filetype.lua +280.826 001.299 001.299: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/filetype.vim +281.690 000.152 000.152: require('filetype') +281.754 006.209 004.180: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/syntax/syntax.vim +282.145 000.120 000.120: require('notify.stages.fade_in_slide_out') +282.208 015.378 005.113: require('plugins.colorscheme') +282.567 000.101 000.101: require('heirline.conditions') +282.750 000.175 000.175: require('heirline.utils') +283.109 000.095 000.095: require('heirline.highlights') +283.122 000.223 000.127: require('heirline.statusline') +283.131 000.344 000.121: require('heirline') +283.293 000.143 000.143: require('nvim-navic') +287.626 005.408 004.645: require('plugins.heirline') +287.783 194.571 003.233: sourcing /home/srdusr/.config/nvim/init.lua +287.805 007.939: sourcing vimrc file(s) +294.719 001.239 001.239: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/gzip.vim +294.963 000.106 000.106: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/health.vim +297.758 001.306 001.306: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +298.122 003.026 001.720: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/matchit.vim +298.615 000.393 000.393: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/matchparen.vim +298.760 000.078 000.078: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/netrwPlugin.vim +299.168 000.021 000.021: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +299.189 000.366 000.345: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/rplugin.vim +299.472 000.225 000.225: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/shada.vim +299.709 000.104 000.104: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/spellfile.vim +299.879 000.080 000.080: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/tarPlugin.vim +300.009 000.061 000.061: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/tohtml.vim +300.125 000.049 000.049: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/tutor.vim +300.802 000.610 000.610: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/zipPlugin.vim +301.070 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +302.445 000.111 000.111: require('leap') +302.561 000.101 000.101: require('leap.user') +303.633 000.209 000.209: require('fidget.log') +303.653 000.385 000.177: require('fidget') +303.831 000.156 000.156: require('fidget.spinners') +304.537 000.086 000.086: require('crates.time') +304.546 000.190 000.103: require('crates.types') +304.552 000.298 000.109: require('crates.semver') +306.435 001.797 001.797: require('crates.config') +306.594 000.148 000.148: require('crates.toml') +306.603 002.046 000.101: require('crates.state') +306.628 002.510 000.166: require('crates.util') +306.642 002.635 000.125: require('crates.actions') +306.897 000.148 000.148: require('crates.api') +306.991 000.087 000.087: require('crates.async') +307.108 000.109 000.109: require('crates.diagnostic') +307.218 000.101 000.101: require('crates.ui') +307.230 000.582 000.136: require('crates.core') +307.452 000.119 000.119: require('crates.popup.common') +307.569 000.110 000.110: require('crates.popup.crate') +307.692 000.116 000.116: require('crates.popup.dependencies') +307.828 000.130 000.130: require('crates.popup.features') +307.982 000.148 000.148: require('crates.popup.versions') +307.994 000.759 000.137: require('crates.popup') +308.007 004.109 000.133: require('crates') +310.363 000.125 000.125: require('flit') +311.755 000.472 000.472: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +314.026 012.812 007.353: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +314.827 000.096 000.096: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/man.lua +314.997 007.908: loading rtp plugins +317.052 000.095 000.095: require('Comment.config') +317.363 000.161 000.161: require('Comment.ft') +317.373 000.311 000.149: require('Comment.utils') +317.477 000.098 000.098: require('Comment.opfunc') +317.597 000.113 000.113: require('Comment.extra') +317.606 000.788 000.170: require('Comment.api') +317.813 001.081 000.293: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +318.153 000.161 000.161: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +318.880 000.470 000.470: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +319.681 000.136 000.136: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +320.292 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +322.143 001.279 001.279: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +322.700 000.105 000.105: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +323.355 000.360 000.360: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +324.009 000.143 000.143: require('cmp.utils.highlight') +324.643 000.878 000.735: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +324.861 000.031 000.031: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +325.180 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +325.664 000.175 000.175: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +326.324 000.221 000.221: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +327.047 000.107 000.107: require('nvim-treesitter.statusline') +327.182 000.125 000.125: require('nvim-treesitter.query_predicates') +327.189 000.365 000.133: require('nvim-treesitter') +328.428 001.687 001.322: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +329.010 000.358 000.358: require('treesitter-context') +329.021 000.403 000.045: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +329.525 000.194 000.194: require('nvim-treesitter-refactor') +329.956 000.669 000.475: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +330.325 000.109 000.109: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +330.758 000.082 000.082: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +331.086 000.093 000.093: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +331.570 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +331.849 000.043 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +332.217 000.061 000.061: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +332.890 000.155 000.155: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +333.441 000.339 000.339: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +334.125 000.372 000.372: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +334.407 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +334.691 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +335.679 011.555: loading packages +344.107 000.217 000.217: require('cmp_buffer.timer') +344.120 000.406 000.189: require('cmp_buffer.buffer') +344.125 000.587 000.181: require('cmp_buffer.source') +344.130 000.783 000.195: require('cmp_buffer') +344.204 000.996 000.214: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +344.620 000.191 000.191: require('cmp_cmdline') +344.657 000.297 000.106: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +344.931 000.118 000.118: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +345.302 000.157 000.157: require('cmp_path') +345.338 000.254 000.097: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +345.690 000.119 000.119: require('cmp_luasnip') +345.756 000.257 000.137: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +346.256 000.114 000.114: require('crates.src.common') +346.264 000.252 000.137: require('crates.src.cmp') +346.295 000.383 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +346.400 008.415: loading after plugins +346.432 000.032: inits 3 +346.444 000.012: reading ShaDa +347.650 000.132 000.132: require('luasnip.nodes.snippetProxy') +347.673 000.327 000.196: require('luasnip.loaders.from_snipmate') +347.898 000.134 000.134: require('luasnip.loaders.from_vscode') +348.005 001.100: opening buffers +348.277 000.272: BufEnter autocommands +348.286 000.009: editing files in windows +365.519 000.277 000.277: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.083 001.083: --- NVIM STARTING --- +026.761 025.678: event init +042.785 016.024: early init +044.473 001.688: locale set +049.857 005.384: init first window +059.787 009.930: inits 1 +059.818 000.031: window checked +059.828 000.010: parsing arguments +071.253 000.273 000.273: require('vim.shared') +071.781 000.254 000.254: require('vim._meta') +071.794 000.518 000.264: require('vim._editor') +071.802 000.921 000.129: require('vim._init_packages') +071.809 011.061: init lua interpreter +071.972 000.163: expanding arguments +073.779 001.807: inits 2 +075.136 001.357: init highlight +075.145 000.009: waiting for UI +078.095 002.950: done waiting for UI +078.147 000.052: init screen for UI +078.655 000.508: init default mappings +078.711 000.055: init default autocommands +089.436 003.882 003.882: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/ftplugin.vim +092.482 001.144 001.144: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/indent.vim +092.958 000.049 000.049: sourcing /usr/share/nvim/archlinux.vim +092.981 000.151 000.102: sourcing /etc/xdg/nvim/sysinit.vim +126.430 033.127 033.127: require('impatient') +127.403 000.956 000.956: require('impatient.profile') +127.539 000.114 000.114: require('user.utils') +131.135 000.249 000.249: require('packer.util') +131.201 000.588 000.338: require('packer') +132.212 000.538 000.538: require('packer.log') +132.228 000.721 000.182: require('packer.async') +132.555 000.194 000.194: require('packer.result') +132.568 000.333 000.139: require('packer.jobs') +132.583 001.323 000.270: require('packer.plugin_utils') +132.832 000.223 000.223: require('packer.snapshot') +134.833 000.387 000.387: require('mason-core.path') +134.855 000.811 000.424: require('mason.settings') +135.528 000.246 000.246: require('mason-core.functional') +135.837 000.162 000.162: require('mason-core.functional.data') +135.852 000.298 000.136: require('mason-core.functional.function') +136.056 000.170 000.170: require('mason-core.functional.relation') +136.280 000.197 000.197: require('mason-core.functional.logic') +136.317 001.454 000.542: require('mason-core.platform') +136.323 002.776 000.511: require('mason') +136.714 000.137 000.137: require('mason-core.functional.list') +136.782 000.424 000.288: require('mason.api.command') +137.117 000.189 000.189: require('mason-core.log') +137.129 000.339 000.150: require('mason-lspconfig') +137.243 000.108 000.108: require('mason-lspconfig.settings') +137.590 000.144 000.144: require('mason-core.notify') +137.604 000.284 000.140: require('mason-lspconfig.lspconfig_hook') +139.005 000.341 000.341: require('vim.lsp.log') +140.764 000.016 000.016: require('vim.F') +140.774 001.759 001.742: require('vim.lsp.protocol') +141.826 000.422 000.422: require('vim.lsp._snippet') +142.239 000.398 000.398: require('vim.highlight') +142.283 001.500 000.680: require('vim.lsp.util') +142.311 003.948 000.348: require('vim.lsp.handlers') +142.780 000.460 000.460: require('vim.lsp.rpc') +143.176 000.380 000.380: require('vim.lsp.sync') +143.808 000.620 000.620: require('vim.lsp.buf') +144.225 000.405 000.405: require('vim.lsp.diagnostic') +144.571 000.334 000.334: require('vim.lsp.codelens') +144.780 007.017 000.870: require('vim.lsp') +144.940 007.331 000.313: require('lspconfig.util') +145.278 000.122 000.122: require('mason-core.functional.table') +145.390 000.424 000.303: require('mason-lspconfig.mappings.server') +145.816 000.170 000.170: require('mason-core.async') +145.935 000.106 000.106: require('mason-core.async.uv') +145.952 000.428 000.152: require('mason-core.fs') +146.197 000.237 000.237: require('mason-core.optional') +146.368 000.159 000.159: require('mason-core.EventEmitter') +146.686 000.309 000.309: require('mason-registry.index') +146.798 001.397 000.265: require('mason-registry') +147.000 000.190 000.190: require('mason-lspconfig.server_config_extensions') +147.154 000.142 000.142: require('lspconfig.configs') +147.351 000.135 000.135: require('lspconfig.server_configurations.omnisharp') +147.678 000.129 000.129: require('mason-lspconfig.ensure_installed') +148.137 000.121 000.121: require('mason-core.result') +148.795 000.343 000.343: require('mason-core.process') +148.986 000.698 000.354: require('mason-core.spawn') +149.177 000.142 000.142: require('mason-core.receipt') +149.326 000.117 000.117: require('mason-core.functional.string') +149.364 001.216 000.259: require('mason-core.installer.context') +149.499 000.128 000.128: require('mason-core.installer.linker') +149.624 000.116 000.116: require('mason-core.async.control') +149.634 001.800 000.220: require('mason-core.installer') +149.790 000.150 000.150: require('mason-core.installer.handle') +150.599 000.154 000.154: require('mason-core.managers.powershell') +150.613 000.364 000.210: require('mason-core.fetch') +150.618 000.518 000.154: require('mason-core.managers.cargo.client') +150.904 000.142 000.142: require('mason-core.managers.std') +151.149 000.111 000.111: require('mason-core.providers') +151.181 000.268 000.157: require('mason-core.managers.github.client') +151.195 000.571 000.161: require('mason-core.managers.github') +151.242 001.311 000.222: require('mason-core.managers.cargo') +151.524 000.275 000.275: require('mason-core.managers.composer') +151.712 000.177 000.177: require('mason-core.managers.gem') +151.946 000.226 000.226: require('mason-core.managers.git') +152.215 000.257 000.257: require('mason-core.managers.go') +152.429 000.204 000.204: require('mason-core.managers.luarocks') +152.601 000.163 000.163: require('mason-core.managers.npm') +152.774 000.164 000.164: require('mason-core.managers.pip3') +152.788 002.975 000.197: require('mason-core.package.version-check') +152.803 005.115 000.190: require('mason-core.package') +152.985 000.157 000.157: require('mason-registry.python-lsp-server') +153.343 000.167 000.167: require('mason-registry.pyright') +153.613 000.192 000.192: require('mason-registry.clangd') +153.788 000.129 000.129: require('mason-registry.lua-language-server') +154.036 000.106 000.106: require('mason-core.functional.number') +154.092 000.293 000.187: require('mason-lspconfig.api.command') +154.179 023.930 002.064: require('user.pack') +158.417 004.230 004.230: require('user.opts') +158.596 000.014 000.014: require('vim.keymap') +160.800 002.369 002.355: require('user.keys') +160.916 000.104 000.104: require('user.utils') +161.821 000.234 000.234: require('vim.treesitter.language') +161.842 000.552 000.318: require('vim.treesitter.query') +162.977 000.286 000.286: require('vim.treesitter.languagetree') +163.071 000.678 000.392: require('vim.treesitter') +163.388 001.306 000.628: require('nvim-treesitter.parsers') +163.575 000.166 000.166: require('nvim-treesitter.utils') +163.591 001.628 000.156: require('nvim-treesitter.ts_utils') +163.602 001.754 000.126: require('nvim-treesitter.tsrange') +163.709 000.100 000.100: require('nvim-treesitter.caching') +163.733 002.564 000.158: require('nvim-treesitter.query') +163.766 002.761 000.197: require('nvim-treesitter.configs') +164.200 000.115 000.115: require('nvim-treesitter.info') +164.398 000.189 000.189: require('nvim-treesitter.shell_command_selectors') +164.446 000.546 000.242: require('nvim-treesitter.install') +166.885 005.959 002.652: require('plugins.treesitter') +167.219 000.098 000.098: require('telescope._extensions') +167.229 000.210 000.112: require('telescope') +168.033 000.100 000.100: require('plenary.bit') +168.146 000.105 000.105: require('plenary.functional') +168.207 000.039 000.039: require('ffi') +168.231 000.456 000.213: require('plenary.path') +168.246 000.573 000.118: require('plenary.strings') +168.344 000.092 000.092: require('telescope.deprecated') +168.746 000.177 000.177: require('plenary.log') +168.787 000.305 000.127: require('telescope.log') +169.091 000.153 000.153: require('plenary.job') +169.193 000.092 000.092: require('telescope.state') +169.209 000.414 000.170: require('telescope.utils') +169.272 000.921 000.202: require('telescope.sorters') +169.387 000.090 000.090: require('vim.inspect') +173.011 005.511 003.834: require('telescope.config') +173.297 000.117 000.117: require('plenary.window.border') +173.410 000.105 000.105: require('plenary.window') +173.509 000.091 000.091: require('plenary.popup.utils') +173.522 000.494 000.181: require('plenary.popup') +173.638 000.109 000.109: require('telescope.pickers.scroller') +173.746 000.102 000.102: require('telescope.actions.state') +173.878 000.110 000.110: require('telescope.actions.utils') +174.113 000.106 000.106: require('telescope.actions.mt') +174.152 000.267 000.161: require('telescope.actions.set') +174.393 000.127 000.127: require('telescope.config.resolve') +174.403 000.244 000.117: require('telescope.pickers.entry_display') +176.649 002.240 002.240: require('telescope.from_entry') +177.151 009.916 000.839: require('telescope.actions') +178.147 000.093 000.093: require('plenary.tbl') +178.162 000.214 000.121: require('plenary.vararg.rotate') +178.166 000.315 000.101: require('plenary.vararg') +178.262 000.091 000.091: require('plenary.errors') +178.274 000.540 000.135: require('plenary.async.async') +178.395 000.116 000.116: require('plenary.async.structs') +178.413 000.802 000.147: require('plenary.async.control') +178.915 000.357 000.357: require('telescope.make_entry') +179.451 000.128 000.128: require('plenary.async.util') +179.459 000.236 000.108: require('plenary.async.tests') +179.465 000.359 000.123: require('plenary.async') +179.472 000.542 000.183: require('telescope.finders.async_static_finder') +179.856 000.103 000.103: require('plenary.class') +179.889 000.291 000.189: require('telescope._') +179.896 000.418 000.127: require('telescope.finders.async_oneshot_finder') +180.026 000.125 000.125: require('telescope.finders.async_job_finder') +180.039 001.618 000.175: require('telescope.finders') +180.676 000.253 000.253: require('telescope.debounce') +180.944 000.257 000.257: require('telescope.mappings') +181.100 000.145 000.145: require('telescope.pickers.highlights') +181.223 000.113 000.113: require('telescope.pickers.window') +181.494 000.120 000.120: require('telescope.algos.linked_list') +181.514 000.285 000.165: require('telescope.entry_manager') +181.626 000.106 000.106: require('telescope.pickers.multi') +181.669 001.624 000.465: require('telescope.pickers') +181.692 004.291 000.246: require('telescope.builtin.__lsp') +181.753 004.590 000.300: require('telescope.builtin') +182.187 000.288 000.288: require('fzf_lib') +182.202 000.440 000.152: require('telescope._extensions.fzf') +182.805 000.193 000.193: require('telescope._extensions.file_browser.utils') +182.930 000.529 000.336: require('telescope._extensions.file_browser.actions') +183.286 000.197 000.197: require('telescope._extensions.file_browser.make_entry') +183.529 000.230 000.230: require('plenary.scandir') +183.588 000.651 000.225: require('telescope._extensions.file_browser.finders') +183.725 000.128 000.128: require('telescope._extensions.file_browser.picker') +183.884 000.152 000.152: require('telescope._extensions.file_browser.config') +183.891 001.623 000.163: require('telescope._extensions.file_browser') +187.705 020.809 004.030: require('plugins.telescope') +189.350 000.104 000.104: require('notify.util.queue') +189.362 000.235 000.131: require('notify.util') +189.634 000.266 000.266: require('notify.config.highlights') +189.646 000.659 000.158: require('notify.config') +189.764 000.111 000.111: require('notify.stages') +189.889 000.118 000.118: require('notify.service.notification') +190.866 000.421 000.421: require('notify.animate.spring') +190.874 000.842 000.420: require('notify.animate') +190.894 000.998 000.156: require('notify.windows') +191.707 000.285 000.285: require('notify.service.buffer.highlights') +191.732 000.543 000.257: require('notify.service.buffer') +191.748 000.848 000.305: require('notify.service') +192.043 000.290 000.290: require('notify.stages.util') +192.120 003.368 000.343: require('notify') +192.354 000.227 000.227: require('nvim-tree.iterators.node-iterator') +192.492 003.906 000.312: require('nvim-tree.utils') +192.532 004.074 000.168: require('nvim-tree.events') +193.205 000.193 000.193: require('nvim-tree.log') +193.564 000.350 000.350: require('nvim-tree.git.utils') +193.831 000.259 000.259: require('nvim-tree.git.runner') +194.095 000.258 000.258: require('nvim-tree.watcher') +194.132 001.380 000.321: require('nvim-tree.git') +194.350 000.213 000.213: require('nvim-tree.explorer.watch') +194.582 000.225 000.225: require('nvim-tree.explorer.common') +195.015 000.208 000.208: require('nvim-tree.explorer.node-builders') +195.230 000.206 000.206: require('nvim-tree.explorer.sorters') +195.485 000.248 000.248: require('nvim-tree.explorer.filters') +196.366 000.628 000.628: require('nvim-tree.view') +196.396 000.889 000.262: require('nvim-tree.live-filter') +196.413 001.823 000.272: require('nvim-tree.explorer.explore') +196.647 000.229 000.229: require('nvim-tree.explorer.reload') +196.664 004.126 000.256: require('nvim-tree.explorer') +196.680 008.324 000.124: require('nvim-tree.core') +196.993 000.306 000.306: require('nvim-tree.diagnostics') +197.260 000.246 000.246: require('nvim-tree.renderer.components.padding') +197.499 000.231 000.231: require('nvim-tree.renderer.components.icons') +197.697 000.191 000.191: require('nvim-tree.renderer.components.full-name') +197.795 000.090 000.090: require('nvim-tree.renderer.help') +197.918 000.116 000.116: require('nvim-tree.renderer.components.git') +198.048 000.123 000.123: require('nvim-tree.renderer.builder') +198.152 000.097 000.097: require('nvim-tree.marks') +198.164 009.942 000.218: require('nvim-tree.renderer') +198.276 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') +198.368 000.086 000.086: require('nvim-tree.actions.root.dir-up') +198.472 000.097 000.097: require('nvim-tree.actions.root.change-dir') +198.574 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') +198.677 000.094 000.094: require('nvim-tree.actions.finders.find-file') +198.682 010.621 000.207: require('nvim-tree.lib') +198.790 000.102 000.102: require('nvim-tree.colors') +198.923 000.123 000.123: require('nvim-tree.legacy') +199.051 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') +199.260 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') +199.359 000.091 000.091: require('nvim-tree.actions.tree-modifiers.toggles') +199.473 000.099 000.099: require('nvim-tree.actions.fs.create-file') +199.574 000.093 000.093: require('nvim-tree.actions.fs.rename-file') +199.704 000.121 000.121: require('nvim-tree.actions.fs.trash') +199.812 000.100 000.100: require('nvim-tree.actions.fs.remove-file') +199.912 000.090 000.090: require('nvim-tree.actions.moves.parent') +200.005 000.086 000.086: require('nvim-tree.actions.moves.sibling') +200.114 000.101 000.101: require('nvim-tree.actions.moves.item') +200.229 000.095 000.095: require('nvim-tree.actions.finders.search-node') +200.322 000.085 000.085: require('nvim-tree.actions.node.run-command') +200.438 000.110 000.110: require('nvim-tree.actions.node.file-popup') +200.553 000.108 000.108: require('nvim-tree.actions.node.system-open') +200.657 000.093 000.093: require('nvim-tree.marks.bulk-move') +200.664 001.602 000.231: require('nvim-tree.actions.dispatch') +200.695 012.857 000.291: require('nvim-tree') +200.780 000.079 000.079: require('nvim-tree.config') +205.802 000.171 000.171: require('nvim-tree.actions') +205.942 000.123 000.123: require('nvim-tree.actions.node.open-file') +208.560 000.097 000.097: require('nvim-tree.marks.navigation') +208.572 000.284 000.187: require('nvim-tree.api') +208.593 000.433 000.149: require('nvim-tree.keymap') +209.478 000.405 000.405: require('nvim-web-devicons') +213.872 026.154 012.087: require('plugins.nvim-tree') +214.371 000.082 000.082: require('cmp.utils.debug') +214.586 000.125 000.125: require('cmp.utils.char') +214.599 000.219 000.094: require('cmp.utils.str') +214.730 000.082 000.082: require('cmp.utils.pattern') +215.010 000.088 000.088: require('cmp.utils.misc') +215.123 000.083 000.083: require('cmp.utils.buffer') +215.222 000.092 000.092: require('cmp.utils.api') +215.233 000.410 000.146: require('cmp.utils.keymap') +215.242 000.504 000.094: require('cmp.utils.feedkeys') +215.342 000.095 000.095: require('cmp.utils.async') +215.625 000.081 000.081: require('cmp.types.cmp') +215.821 000.190 000.190: require('cmp.types.lsp') +215.912 000.081 000.081: require('cmp.types.vim') +215.918 000.483 000.131: require('cmp.types') +215.999 000.076 000.076: require('cmp.utils.cache') +216.007 000.658 000.099: require('cmp.context') +216.292 000.094 000.094: require('cmp.config.mapping') +216.489 000.096 000.096: require('cmp.config.compare') +216.496 000.193 000.096: require('cmp.config.default') +216.520 000.408 000.122: require('cmp.config') +216.723 000.079 000.079: require('cmp.matcher') +216.749 000.223 000.144: require('cmp.entry') +216.767 000.754 000.123: require('cmp.source') +216.939 000.074 000.074: require('cmp.utils.event') +217.133 000.101 000.101: require('cmp.utils.window') +217.141 000.194 000.093: require('cmp.view.docs_view') +217.390 000.132 000.132: require('cmp.utils.autocmd') +217.411 000.266 000.134: require('cmp.view.custom_entries_view') +217.536 000.118 000.118: require('cmp.view.wildmenu_entries_view') +217.648 000.105 000.105: require('cmp.view.native_entries_view') +217.747 000.093 000.093: require('cmp.view.ghost_text_view') +217.763 000.991 000.140: require('cmp.view') +217.864 003.701 000.315: require('cmp.core') +218.212 000.088 000.088: require('cmp.config.sources') +218.296 000.074 000.074: require('cmp.config.window') +218.418 004.381 000.518: require('cmp') +218.840 000.122 000.122: require('symbols-outline.config') +218.846 000.211 000.089: require('symbols-outline.symbols') +218.942 000.091 000.091: require('symbols-outline.ui') +219.032 000.082 000.082: require('symbols-outline.utils.table') +219.117 000.078 000.078: require('symbols-outline.folding') +219.124 000.583 000.121: require('symbols-outline.parser') +219.211 000.083 000.083: require('symbols-outline.providers.init') +219.311 000.093 000.093: require('symbols-outline.writer') +219.404 000.085 000.085: require('symbols-outline.utils.init') +219.493 000.083 000.083: require('symbols-outline.view') +219.507 001.081 000.155: require('symbols-outline') +219.745 000.115 000.115: require('symbols-outline.preview') +219.863 000.103 000.103: require('lspkind') +221.768 007.882 002.201: require('plugins.cmp') +222.312 000.082 000.082: require('luasnip.session') +222.474 000.153 000.153: require('luasnip.util.util') +222.565 000.083 000.083: require('luasnip.util.types') +222.759 000.094 000.094: require('luasnip.util.ext_opts') +222.772 000.200 000.106: require('luasnip.nodes.util') +222.862 000.084 000.084: require('luasnip.util.events') +222.881 000.748 000.144: require('luasnip.nodes.node') +223.125 000.093 000.093: require('luasnip.util.extend_decorator') +223.138 000.252 000.158: require('luasnip.nodes.insertNode') +223.261 000.118 000.118: require('luasnip.nodes.textNode') +223.372 000.099 000.099: require('luasnip.util.mark') +224.065 000.552 000.552: require('luasnip.util._builtin_vars') +224.319 000.940 000.388: require('luasnip.util.environ') +224.446 000.115 000.115: require('luasnip.util.pattern_tokenizer') +224.576 000.120 000.120: require('luasnip.util.dict') +224.734 000.149 000.149: require('luasnip.session.snippet_collection') +224.909 002.922 000.382: require('luasnip.nodes.snippet') +225.272 000.161 000.161: require('luasnip.loaders._caches') +225.490 000.201 000.201: require('luasnip.util.path') +225.561 000.626 000.263: require('luasnip.loaders') +225.817 000.212 000.212: require('luasnip.nodes.functionNode') +226.061 000.232 000.232: require('luasnip.nodes.choiceNode') +226.277 000.205 000.205: require('luasnip.nodes.dynamicNode') +226.488 000.202 000.202: require('luasnip.nodes.restoreNode') +226.966 000.105 000.105: require('luasnip.util.parser.neovim_ast') +234.713 000.155 000.155: require('luasnip.util.directed_graph') +234.744 008.020 007.760: require('luasnip.util.parser.ast_utils') +235.009 000.105 000.105: require('luasnip.util.functions') +235.025 000.272 000.167: require('luasnip.util.parser.ast_parser') +235.232 000.201 000.201: require('luasnip.util.parser.neovim_parser') +235.339 000.097 000.097: require('luasnip.util.str') +235.360 008.802 000.211: require('luasnip.util.parser') +235.594 000.101 000.101: require('luasnip.extras.filetype_functions') +235.791 000.157 000.157: require('luasnip.extras') +235.926 000.122 000.122: require('luasnip.extras.fmt') +236.227 000.113 000.113: require('luasnip.extras.conditions') +236.334 000.098 000.098: require('luasnip.extras.conditions.show') +236.427 000.400 000.188: require('luasnip.extras.conditions.expand') +236.433 000.499 000.099: require('luasnip.extras.expand_conditions') +236.544 000.098 000.098: require('luasnip.nodes.absolute_indexer') +237.125 001.758 000.780: require('luasnip.config') +237.137 015.277 000.319: require('luasnip') +237.375 000.112 000.112: require('luasnip.loaders.util') +237.386 000.242 000.130: require('luasnip.loaders.from_lua') +246.583 024.804 009.286: require('plugins.luasnip') +247.006 000.150 000.150: require('colorizer/nvim') +247.342 000.327 000.327: require('colorizer/trie') +247.657 000.966 000.489: require('colorizer') +249.459 002.860 001.894: require('plugins.colorizer') +249.842 000.088 000.088: require('prettier.utils') +249.875 000.226 000.138: require('prettier.options') +250.561 000.242 000.242: require('null-ls.methods') +250.590 000.387 000.145: require('null-ls.utils') +251.163 000.561 000.561: require('vim.diagnostic') +251.190 001.084 000.136: require('null-ls.config') +251.377 000.085 000.085: require('null-ls.helpers.cache') +251.497 000.113 000.113: require('null-ls.helpers.diagnostics') +251.594 000.090 000.090: require('null-ls.helpers.formatter_factory') +251.819 000.093 000.093: require('null-ls.logger') +251.921 000.096 000.096: require('null-ls.state') +251.932 000.330 000.142: require('null-ls.helpers.generator_factory') +252.133 000.100 000.100: require('null-ls.helpers.command_resolver') +252.140 000.202 000.102: require('null-ls.helpers.make_builtin') +252.249 000.103 000.103: require('null-ls.helpers.range_formatting_args_factory') +252.254 001.056 000.133: require('null-ls.helpers') +252.475 000.109 000.109: require('null-ls.diagnostics') +252.493 000.234 000.125: require('null-ls.sources') +252.593 000.093 000.093: require('null-ls.builtins') +252.600 002.614 000.146: require('null-ls') +252.691 000.083 000.083: require('prettier.cli') +252.700 002.819 000.122: require('prettier.null-ls') +252.705 003.147 000.102: require('prettier') +252.977 003.506 000.358: require('plugins.prettier') +253.143 000.085 000.085: require('git') +253.236 000.085 000.085: require('git.config') +253.445 000.458 000.288: require('plugins.git') +253.749 000.086 000.086: require('gitsigns.async') +253.845 000.086 000.086: require('gitsigns.status') +254.099 000.102 000.102: require('gitsigns.debug') +254.209 000.103 000.103: require('gitsigns.util') +254.406 000.100 000.100: require('gitsigns.uv') +254.413 000.197 000.097: require('gitsigns.subprocess') +254.834 000.083 000.083: require('gitsigns.message') +254.866 000.269 000.186: require('gitsigns.config') +254.955 000.081 000.081: require('gitsigns.signs.base') +254.965 000.447 000.097: require('gitsigns.signs') +254.974 000.557 000.110: require('gitsigns.hunks') +254.991 001.141 000.183: require('gitsigns.git') +255.208 000.087 000.087: require('gitsigns.cache') +255.302 000.085 000.085: require('gitsigns.debounce') +255.392 000.080 000.080: require('gitsigns.diff') +255.416 000.419 000.167: require('gitsigns.manager') +255.542 000.120 000.120: require('gitsigns.highlight') +255.565 002.043 000.192: require('gitsigns') +257.317 000.131 000.131: require('gitsigns.signs.vimfn') +259.693 006.240 004.066: require('plugins.gitsigns') +260.211 000.185 000.185: require('neoscroll.config') +260.330 000.109 000.109: require('neoscroll.utils') +260.481 000.619 000.325: require('neoscroll') +261.059 001.343 000.724: require('plugins.neoscroll') +261.737 000.097 000.097: require('cmp_nvim_lsp.source') +261.747 000.229 000.132: require('cmp_nvim_lsp') +261.883 000.103 000.103: require('lspconfig') +262.035 000.104 000.104: require('lspconfig.server_configurations.pylsp') +262.553 000.132 000.132: require('mason-lspconfig.server_configurations.pylsp') +263.252 000.131 000.131: require('lspconfig.server_configurations.clangd') +265.514 000.142 000.142: require('lspconfig.server_configurations.sumneko_lua') +267.453 006.384 005.542: require('plugins.lsp') +267.835 000.092 000.092: require('nvim-autopairs._log') +267.962 000.118 000.118: require('nvim-autopairs.utils') +268.296 000.118 000.118: require('nvim-autopairs.conds') +268.307 000.229 000.112: require('nvim-autopairs.rule') +268.313 000.343 000.114: require('nvim-autopairs.rules.basic') +268.332 000.765 000.211: require('nvim-autopairs') +268.485 000.119 000.119: require('nvim-autopairs.fastwrap') +269.044 000.113 000.113: require('nvim-autopairs.ts-conds') +269.052 000.228 000.115: require('nvim-autopairs.rules.ts_basic') +269.309 000.252 000.252: require('vim.treesitter.highlighter') +270.502 000.099 000.099: require('nvim-autopairs.completion.handlers') +270.516 000.223 000.125: require('nvim-autopairs.completion.cmp') +270.535 003.069 001.482: require('plugins.autopairs') +270.785 000.158 000.158: require('null-ls.builtins.formatting.prettierd') +270.925 000.127 000.127: require('null-ls.builtins.formatting.stylua') +271.050 000.115 000.115: require('null-ls.builtins.formatting.shfmt') +271.723 000.133 000.133: require('null-ls.client') +271.777 001.236 000.702: require('plugins.null-ls') +271.854 000.069 000.069: require('plugins.web-devicons') +272.336 000.084 000.084: require('zen-mode.util') +272.444 000.285 000.201: require('zen-mode.config') +272.556 000.102 000.102: require('zen-mode.plugins') +272.570 000.529 000.142: require('zen-mode.view') +272.576 000.649 000.121: require('zen-mode') +272.690 000.828 000.179: require('plugins.zen-mode') +276.692 000.100 000.100: require('doom-one.utils') +276.831 000.128 000.128: require('doom-one.colors') +276.850 000.560 000.332: require('doom-one') +279.534 004.218 003.658: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +283.621 000.279 000.279: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/syntax/synload.vim +283.994 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +285.084 000.078 000.078: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/filetype.lua +286.283 000.983 000.983: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/filetype.vim +287.090 000.152 000.152: require('filetype') +287.154 005.338 003.790: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/syntax/syntax.vim +287.529 000.123 000.123: require('notify.stages.fade_in_slide_out') +287.596 014.896 005.217: require('plugins.colorscheme') +287.968 000.116 000.116: require('heirline.conditions') +288.109 000.132 000.132: require('heirline.utils') +288.447 000.096 000.096: require('heirline.highlights') +288.460 000.220 000.124: require('heirline.statusline') +288.468 000.329 000.109: require('heirline') +288.738 000.151 000.151: require('nvim-navic') +293.261 005.656 004.928: require('plugins.heirline') +293.346 200.297 003.316: sourcing /home/srdusr/.config/nvim/init.lua +293.368 009.183: sourcing vimrc file(s) +299.158 000.991 000.991: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/gzip.vim +299.336 000.069 000.069: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/health.vim +301.912 001.325 001.325: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +302.312 002.912 001.586: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/matchit.vim +302.816 000.398 000.398: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/matchparen.vim +302.968 000.083 000.083: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/netrwPlugin.vim +303.376 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +303.417 000.385 000.363: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/rplugin.vim +303.683 000.201 000.201: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/shada.vim +303.812 000.051 000.051: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/spellfile.vim +303.947 000.062 000.062: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/tarPlugin.vim +304.079 000.060 000.060: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/tohtml.vim +304.193 000.046 000.046: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/tutor.vim +304.913 000.652 000.652: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/zipPlugin.vim +305.226 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +306.612 000.119 000.119: require('leap') +306.718 000.095 000.095: require('leap.user') +307.745 000.158 000.158: require('fidget.log') +307.764 000.374 000.216: require('fidget') +308.025 000.165 000.165: require('fidget.spinners') +308.736 000.084 000.084: require('crates.time') +308.746 000.188 000.104: require('crates.types') +308.752 000.295 000.107: require('crates.semver') +309.744 000.907 000.907: require('crates.config') +309.902 000.146 000.146: require('crates.toml') +309.911 001.154 000.100: require('crates.state') +309.939 001.612 000.164: require('crates.util') +309.949 001.733 000.121: require('crates.actions') +310.219 000.166 000.166: require('crates.api') +310.315 000.087 000.087: require('crates.async') +310.434 000.112 000.112: require('crates.diagnostic') +310.543 000.101 000.101: require('crates.ui') +310.552 000.596 000.131: require('crates.core') +310.773 000.114 000.114: require('crates.popup.common') +310.889 000.109 000.109: require('crates.popup.crate') +311.016 000.120 000.120: require('crates.popup.dependencies') +311.179 000.156 000.156: require('crates.popup.features') +311.308 000.122 000.122: require('crates.popup.versions') +311.323 000.766 000.145: require('crates.popup') +311.333 003.239 000.144: require('crates') +313.642 000.129 000.129: require('flit') +314.946 000.460 000.460: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +316.807 011.439 006.859: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +317.647 000.105 000.105: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/man.lua +317.817 006.953: loading rtp plugins +319.793 000.094 000.094: require('Comment.config') +320.133 000.194 000.194: require('Comment.ft') +320.146 000.344 000.150: require('Comment.utils') +320.253 000.100 000.100: require('Comment.opfunc') +320.367 000.107 000.107: require('Comment.extra') +320.376 000.808 000.163: require('Comment.api') +320.585 001.097 000.289: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +320.922 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +321.641 000.464 000.464: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +322.412 000.138 000.138: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +323.015 000.038 000.038: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +324.397 000.792 000.792: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +324.918 000.070 000.070: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +325.563 000.357 000.357: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +326.164 000.102 000.102: require('cmp.utils.highlight') +326.692 000.723 000.621: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +326.916 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +327.235 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +327.705 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +328.334 000.218 000.218: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +329.027 000.095 000.095: require('nvim-treesitter.statusline') +329.149 000.113 000.113: require('nvim-treesitter.query_predicates') +329.156 000.328 000.119: require('nvim-treesitter') +330.101 001.355 001.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +330.591 000.268 000.268: require('treesitter-context') +330.601 000.309 000.041: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +331.009 000.117 000.117: require('nvim-treesitter-refactor') +331.254 000.396 000.279: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +331.623 000.112 000.112: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +332.052 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +332.378 000.093 000.093: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +332.860 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +333.146 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +333.516 000.063 000.063: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +334.110 000.115 000.115: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +334.648 000.332 000.332: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +335.339 000.377 000.377: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +335.622 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +335.907 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +336.764 011.247: loading packages +343.713 000.087 000.087: require('cmp_buffer.timer') +343.725 000.204 000.117: require('cmp_buffer.buffer') +343.734 000.359 000.155: require('cmp_buffer.source') +343.739 000.459 000.100: require('cmp_buffer') +343.791 000.589 000.130: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +344.179 000.172 000.172: require('cmp_cmdline') +344.214 000.270 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +344.487 000.115 000.115: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +344.858 000.156 000.156: require('cmp_path') +344.893 000.255 000.099: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +345.227 000.112 000.112: require('cmp_luasnip') +345.293 000.243 000.131: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +345.798 000.143 000.143: require('crates.src.common') +345.806 000.266 000.123: require('crates.src.cmp') +345.836 000.394 000.127: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +345.941 007.311: loading after plugins +345.972 000.031: inits 3 +345.984 000.013: reading ShaDa +347.172 000.127 000.127: require('luasnip.nodes.snippetProxy') +347.187 000.285 000.158: require('luasnip.loaders.from_snipmate') +347.358 000.129 000.129: require('luasnip.loaders.from_vscode') +347.393 000.993: opening buffers +347.738 000.346: BufEnter autocommands +347.748 000.010: editing files in windows +368.378 000.399 000.399: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.016 001.016: --- NVIM STARTING --- +025.177 024.162: event init +040.668 015.491: early init +042.242 001.574: locale set +047.393 005.152: init first window +056.769 009.376: inits 1 +056.799 000.030: window checked +056.811 000.011: parsing arguments +067.992 000.263 000.263: require('vim.shared') +068.506 000.241 000.241: require('vim._meta') +068.520 000.506 000.265: require('vim._editor') +068.528 000.892 000.123: require('vim._init_packages') +068.536 010.833: init lua interpreter +068.713 000.176: expanding arguments +070.465 001.753: inits 2 +071.840 001.375: init highlight +071.850 000.010: waiting for UI +076.351 004.501: done waiting for UI +076.402 000.051: init screen for UI +076.769 000.367: init default mappings +076.805 000.036: init default autocommands +088.062 004.555 004.555: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/ftplugin.vim +091.189 001.063 001.063: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/indent.vim +091.661 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim +091.688 000.184 000.126: sourcing /etc/xdg/nvim/sysinit.vim +131.586 039.476 039.476: require('impatient') +132.746 001.141 001.141: require('impatient.profile') +132.882 000.112 000.112: require('user.utils') +137.003 000.292 000.292: require('packer.util') +137.072 000.682 000.389: require('packer') +138.239 000.626 000.626: require('packer.log') +138.257 000.836 000.210: require('packer.async') +138.632 000.219 000.219: require('packer.result') +138.648 000.382 000.163: require('packer.jobs') +138.663 001.525 000.307: require('packer.plugin_utils') +138.950 000.257 000.257: require('packer.snapshot') +141.120 000.413 000.413: require('mason-core.path') +141.143 000.871 000.458: require('mason.settings') +141.863 000.265 000.265: require('mason-core.functional') +142.140 000.116 000.116: require('mason-core.functional.data') +142.151 000.260 000.144: require('mason-core.functional.function') +142.400 000.209 000.209: require('mason-core.functional.relation') +142.663 000.234 000.234: require('mason-core.functional.logic') +142.754 001.601 000.634: require('mason-core.platform') +142.760 003.025 000.553: require('mason') +143.192 000.217 000.217: require('mason-core.functional.list') +143.250 000.452 000.235: require('mason.api.command') +143.574 000.177 000.177: require('mason-core.log') +143.589 000.331 000.153: require('mason-lspconfig') +143.732 000.137 000.137: require('mason-lspconfig.settings') +144.084 000.131 000.131: require('mason-core.notify') +144.098 000.292 000.161: require('mason-lspconfig.lspconfig_hook') +145.585 000.363 000.363: require('vim.lsp.log') +147.424 000.013 000.013: require('vim.F') +147.434 001.837 001.825: require('vim.lsp.protocol') +148.329 000.448 000.448: require('vim.lsp._snippet') +148.585 000.244 000.244: require('vim.highlight') +148.627 001.181 000.488: require('vim.lsp.util') +148.652 003.859 000.478: require('vim.lsp.handlers') +149.067 000.403 000.403: require('vim.lsp.rpc') +149.400 000.320 000.320: require('vim.lsp.sync') +149.932 000.516 000.516: require('vim.lsp.buf') +150.285 000.341 000.341: require('vim.lsp.diagnostic') +150.624 000.328 000.328: require('vim.lsp.codelens') +150.798 006.531 000.763: require('vim.lsp') +150.952 006.847 000.316: require('lspconfig.util') +151.448 000.129 000.129: require('mason-core.functional.table') +151.555 000.536 000.407: require('mason-lspconfig.mappings.server') +151.955 000.142 000.142: require('mason-core.async') +152.073 000.106 000.106: require('mason-core.async.uv') +152.090 000.396 000.148: require('mason-core.fs') +152.328 000.229 000.229: require('mason-core.optional') +152.553 000.180 000.180: require('mason-core.EventEmitter') +152.851 000.288 000.288: require('mason-registry.index') +152.882 001.317 000.223: require('mason-registry') +153.009 000.118 000.118: require('mason-lspconfig.server_config_extensions') +153.149 000.132 000.132: require('lspconfig.configs') +153.354 000.141 000.141: require('lspconfig.server_configurations.omnisharp') +153.678 000.126 000.126: require('mason-lspconfig.ensure_installed') +154.131 000.118 000.118: require('mason-core.result') +154.709 000.316 000.316: require('mason-core.process') +154.935 000.655 000.339: require('mason-core.spawn') +155.091 000.141 000.141: require('mason-core.receipt') +155.236 000.121 000.121: require('mason-core.functional.string') +155.273 001.131 000.214: require('mason-core.installer.context') +155.451 000.170 000.170: require('mason-core.installer.linker') +155.579 000.119 000.119: require('mason-core.async.control') +155.594 001.760 000.221: require('mason-core.installer') +155.791 000.190 000.190: require('mason-core.installer.handle') +156.477 000.136 000.136: require('mason-core.managers.powershell') +156.487 000.262 000.125: require('mason-core.fetch') +156.491 000.373 000.112: require('mason-core.managers.cargo.client') +156.781 000.145 000.145: require('mason-core.managers.std') +157.036 000.113 000.113: require('mason-core.providers') +157.068 000.278 000.165: require('mason-core.managers.github.client') +157.087 000.590 000.167: require('mason-core.managers.github') +157.128 001.163 000.200: require('mason-core.managers.cargo') +157.396 000.261 000.261: require('mason-core.managers.composer') +157.610 000.204 000.204: require('mason-core.managers.gem') +157.846 000.227 000.227: require('mason-core.managers.git') +158.115 000.258 000.258: require('mason-core.managers.go') +158.347 000.222 000.222: require('mason-core.managers.luarocks') +158.521 000.166 000.166: require('mason-core.managers.npm') +158.699 000.169 000.169: require('mason-core.managers.pip3') +158.717 002.901 000.231: require('mason-core.package.version-check') +158.729 005.041 000.190: require('mason-core.package') +158.981 000.199 000.199: require('mason-registry.python-lsp-server') +159.388 000.225 000.225: require('mason-registry.pyright') +159.591 000.170 000.170: require('mason-registry.clangd') +159.798 000.143 000.143: require('mason-registry.lua-language-server') +160.065 000.109 000.109: require('mason-core.functional.number') +160.130 000.320 000.211: require('mason-lspconfig.api.command') +160.227 024.263 002.247: require('user.pack') +164.349 004.113 004.113: require('user.opts') +164.529 000.017 000.017: require('vim.keymap') +166.976 002.613 002.595: require('user.keys') +167.104 000.115 000.115: require('user.utils') +168.125 000.201 000.201: require('vim.treesitter.language') +168.149 000.607 000.406: require('vim.treesitter.query') +169.314 000.305 000.305: require('vim.treesitter.languagetree') +169.420 000.637 000.332: require('vim.treesitter') +169.779 001.356 000.719: require('nvim-treesitter.parsers') +169.945 000.156 000.156: require('nvim-treesitter.utils') +169.972 001.684 000.173: require('nvim-treesitter.ts_utils') +169.986 001.828 000.144: require('nvim-treesitter.tsrange') +170.110 000.116 000.116: require('nvim-treesitter.caching') +170.133 002.729 000.178: require('nvim-treesitter.query') +170.171 002.956 000.227: require('nvim-treesitter.configs') +170.660 000.132 000.132: require('nvim-treesitter.info') +170.832 000.161 000.161: require('nvim-treesitter.shell_command_selectors') +170.890 000.572 000.280: require('nvim-treesitter.install') +173.491 006.376 002.847: require('plugins.treesitter') +173.882 000.118 000.118: require('telescope._extensions') +173.894 000.246 000.127: require('telescope') +174.805 000.115 000.115: require('plenary.bit') +174.927 000.112 000.112: require('plenary.functional') +175.029 000.050 000.050: require('ffi') +175.058 000.546 000.268: require('plenary.path') +175.076 000.679 000.133: require('plenary.strings') +175.190 000.108 000.108: require('telescope.deprecated') +175.699 000.199 000.199: require('plenary.log') +175.745 000.344 000.145: require('telescope.log') +176.104 000.174 000.174: require('plenary.job') +176.218 000.103 000.103: require('telescope.state') +176.237 000.483 000.206: require('telescope.utils') +176.299 001.101 000.273: require('telescope.sorters') +176.440 000.113 000.113: require('vim.inspect') +180.461 006.264 004.263: require('telescope.config') +180.773 000.131 000.131: require('plenary.window.border') +180.884 000.102 000.102: require('plenary.window') +180.988 000.095 000.095: require('plenary.popup.utils') +181.001 000.524 000.196: require('plenary.popup') +181.119 000.112 000.112: require('telescope.pickers.scroller') +181.236 000.109 000.109: require('telescope.actions.state') +181.422 000.157 000.157: require('telescope.actions.utils') +181.674 000.113 000.113: require('telescope.actions.mt') +181.723 000.288 000.175: require('telescope.actions.set') +185.080 000.249 000.249: require('telescope.config.resolve') +185.098 003.368 003.119: require('telescope.pickers.entry_display') +185.209 000.104 000.104: require('telescope.from_entry') +185.728 011.827 000.902: require('telescope.actions') +187.024 000.115 000.115: require('plenary.tbl') +187.038 000.249 000.134: require('plenary.vararg.rotate') +187.042 000.375 000.126: require('plenary.vararg') +187.152 000.105 000.105: require('plenary.errors') +187.168 000.673 000.193: require('plenary.async.async') +187.306 000.132 000.132: require('plenary.async.structs') +187.323 000.977 000.173: require('plenary.async.control') +187.796 000.303 000.303: require('telescope.make_entry') +188.275 000.129 000.129: require('plenary.async.util') +188.284 000.239 000.111: require('plenary.async.tests') +188.289 000.359 000.120: require('plenary.async') +188.299 000.490 000.130: require('telescope.finders.async_static_finder') +188.667 000.103 000.103: require('plenary.class') +188.707 000.276 000.173: require('telescope._') +188.714 000.409 000.132: require('telescope.finders.async_oneshot_finder') +188.842 000.123 000.123: require('telescope.finders.async_job_finder') +188.855 001.523 000.200: require('telescope.finders') +189.365 000.208 000.208: require('telescope.debounce') +189.617 000.240 000.240: require('telescope.mappings') +189.775 000.144 000.144: require('telescope.pickers.highlights') +189.917 000.133 000.133: require('telescope.pickers.window') +190.191 000.128 000.128: require('telescope.algos.linked_list') +190.202 000.278 000.150: require('telescope.entry_manager') +190.338 000.127 000.127: require('telescope.pickers.multi') +190.385 001.523 000.394: require('telescope.pickers') +190.408 004.255 000.231: require('telescope.builtin.__lsp') +190.476 004.679 000.424: require('telescope.builtin') +190.945 000.306 000.306: require('fzf_lib') +190.964 000.479 000.174: require('telescope._extensions.fzf') +191.530 000.189 000.189: require('telescope._extensions.file_browser.utils') +191.695 000.574 000.385: require('telescope._extensions.file_browser.actions') +192.084 000.226 000.226: require('telescope._extensions.file_browser.make_entry') +192.318 000.219 000.219: require('plenary.scandir') +192.385 000.680 000.234: require('telescope._extensions.file_browser.finders') +192.572 000.179 000.179: require('telescope._extensions.file_browser.picker') +192.789 000.204 000.204: require('telescope._extensions.file_browser.config') +192.798 001.816 000.178: require('telescope._extensions.file_browser') +196.373 022.868 003.820: require('plugins.telescope') +198.321 000.151 000.151: require('notify.util.queue') +198.349 000.352 000.201: require('notify.util') +198.655 000.300 000.300: require('notify.config.highlights') +198.676 000.878 000.226: require('notify.config') +198.786 000.103 000.103: require('notify.stages') +198.899 000.105 000.105: require('notify.service.notification') +199.693 000.544 000.544: require('notify.animate.spring') +199.702 000.649 000.105: require('notify.animate') +199.725 000.819 000.169: require('notify.windows') +200.602 000.305 000.305: require('notify.service.buffer.highlights') +200.631 000.644 000.339: require('notify.service.buffer') +200.650 000.920 000.276: require('notify.service') +201.309 000.654 000.654: require('notify.stages.util') +201.420 003.906 000.426: require('notify') +201.685 000.256 000.256: require('nvim-tree.iterators.node-iterator') +201.851 004.515 000.353: require('nvim-tree.utils') +201.890 004.697 000.182: require('nvim-tree.events') +202.752 000.291 000.291: require('nvim-tree.log') +203.076 000.311 000.311: require('nvim-tree.git.utils') +203.386 000.303 000.303: require('nvim-tree.git.runner') +203.686 000.292 000.292: require('nvim-tree.watcher') +203.713 001.543 000.347: require('nvim-tree.git') +203.972 000.253 000.253: require('nvim-tree.explorer.watch') +204.224 000.245 000.245: require('nvim-tree.explorer.common') +204.777 000.270 000.270: require('nvim-tree.explorer.node-builders') +205.016 000.228 000.228: require('nvim-tree.explorer.sorters') +205.321 000.297 000.297: require('nvim-tree.explorer.filters') +206.417 000.781 000.781: require('nvim-tree.view') +206.508 001.168 000.387: require('nvim-tree.live-filter') +206.540 002.308 000.344: require('nvim-tree.explorer.explore') +206.934 000.384 000.384: require('nvim-tree.explorer.reload') +206.968 005.071 000.338: require('nvim-tree.explorer') +207.001 009.907 000.139: require('nvim-tree.core') +207.443 000.433 000.433: require('nvim-tree.diagnostics') +207.793 000.318 000.318: require('nvim-tree.renderer.components.padding') +208.176 000.371 000.371: require('nvim-tree.renderer.components.icons') +208.481 000.293 000.293: require('nvim-tree.renderer.components.full-name') +208.592 000.101 000.101: require('nvim-tree.renderer.help') +208.722 000.122 000.122: require('nvim-tree.renderer.components.git') +208.890 000.160 000.160: require('nvim-tree.renderer.builder') +209.001 000.101 000.101: require('nvim-tree.marks') +209.013 012.050 000.244: require('nvim-tree.renderer') +209.129 000.103 000.103: require('nvim-tree.actions.tree-modifiers.collapse-all') +209.250 000.114 000.114: require('nvim-tree.actions.root.dir-up') +209.362 000.104 000.104: require('nvim-tree.actions.root.change-dir') +209.469 000.099 000.099: require('nvim-tree.actions.reloaders.reloaders') +209.573 000.096 000.096: require('nvim-tree.actions.finders.find-file') +209.579 012.787 000.221: require('nvim-tree.lib') +209.692 000.106 000.106: require('nvim-tree.colors') +209.826 000.124 000.124: require('nvim-tree.legacy') +209.958 000.122 000.122: require('nvim-tree.actions.fs.copy-paste') +210.173 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') +210.278 000.097 000.097: require('nvim-tree.actions.tree-modifiers.toggles') +210.396 000.102 000.102: require('nvim-tree.actions.fs.create-file') +210.499 000.094 000.094: require('nvim-tree.actions.fs.rename-file') +210.635 000.128 000.128: require('nvim-tree.actions.fs.trash') +210.745 000.102 000.102: require('nvim-tree.actions.fs.remove-file') +210.846 000.090 000.090: require('nvim-tree.actions.moves.parent') +210.943 000.090 000.090: require('nvim-tree.actions.moves.sibling') +211.041 000.089 000.089: require('nvim-tree.actions.moves.item') +211.156 000.096 000.096: require('nvim-tree.actions.finders.search-node') +211.252 000.088 000.088: require('nvim-tree.actions.node.run-command') +211.374 000.116 000.116: require('nvim-tree.actions.node.file-popup') +211.491 000.110 000.110: require('nvim-tree.actions.node.system-open') +211.598 000.096 000.096: require('nvim-tree.marks.bulk-move') +211.605 001.636 000.236: require('nvim-tree.actions.dispatch') +211.636 015.115 000.339: require('nvim-tree') +211.723 000.081 000.081: require('nvim-tree.config') +216.397 000.181 000.181: require('nvim-tree.actions') +216.541 000.126 000.126: require('nvim-tree.actions.node.open-file') +219.115 000.100 000.100: require('nvim-tree.marks.navigation') +219.127 000.295 000.196: require('nvim-tree.api') +219.149 000.446 000.150: require('nvim-tree.keymap') +220.025 000.394 000.394: require('nvim-web-devicons') +224.206 027.820 011.477: require('plugins.nvim-tree') +224.669 000.079 000.079: require('cmp.utils.debug') +224.883 000.121 000.121: require('cmp.utils.char') +224.897 000.219 000.099: require('cmp.utils.str') +225.033 000.083 000.083: require('cmp.utils.pattern') +225.312 000.089 000.089: require('cmp.utils.misc') +225.423 000.083 000.083: require('cmp.utils.buffer') +225.520 000.090 000.090: require('cmp.utils.api') +225.531 000.405 000.143: require('cmp.utils.keymap') +225.567 000.526 000.121: require('cmp.utils.feedkeys') +225.675 000.101 000.101: require('cmp.utils.async') +225.984 000.082 000.082: require('cmp.types.cmp') +226.180 000.188 000.188: require('cmp.types.lsp') +226.270 000.080 000.080: require('cmp.types.vim') +226.275 000.505 000.154: require('cmp.types') +226.357 000.077 000.077: require('cmp.utils.cache') +226.365 000.682 000.101: require('cmp.context') +226.648 000.094 000.094: require('cmp.config.mapping') +226.846 000.095 000.095: require('cmp.config.compare') +226.852 000.192 000.097: require('cmp.config.default') +226.876 000.407 000.121: require('cmp.config') +227.074 000.080 000.080: require('cmp.matcher') +227.085 000.204 000.124: require('cmp.entry') +227.100 000.730 000.119: require('cmp.source') +227.268 000.076 000.076: require('cmp.utils.event') +227.463 000.101 000.101: require('cmp.utils.window') +227.471 000.195 000.094: require('cmp.view.docs_view') +227.674 000.086 000.086: require('cmp.utils.autocmd') +227.694 000.218 000.132: require('cmp.view.custom_entries_view') +227.815 000.116 000.116: require('cmp.view.wildmenu_entries_view') +227.925 000.103 000.103: require('cmp.view.native_entries_view') +228.024 000.093 000.093: require('cmp.view.ghost_text_view') +228.038 000.934 000.133: require('cmp.view') +228.105 003.639 000.284: require('cmp.core') +228.404 000.087 000.087: require('cmp.config.sources') +228.490 000.076 000.076: require('cmp.config.window') +228.591 004.243 000.442: require('cmp') +229.006 000.116 000.116: require('symbols-outline.config') +229.012 000.206 000.090: require('symbols-outline.symbols') +229.109 000.092 000.092: require('symbols-outline.ui') +229.277 000.159 000.159: require('symbols-outline.utils.table') +229.373 000.087 000.087: require('symbols-outline.folding') +229.380 000.667 000.123: require('symbols-outline.parser') +229.478 000.093 000.093: require('symbols-outline.providers.init') +229.586 000.100 000.100: require('symbols-outline.writer') +229.681 000.087 000.087: require('symbols-outline.utils.init') +229.771 000.084 000.084: require('symbols-outline.view') +229.786 001.187 000.156: require('symbols-outline') +230.026 000.115 000.115: require('symbols-outline.preview') +230.191 000.150 000.150: require('lspkind') +232.001 007.783 002.088: require('plugins.cmp') +232.565 000.110 000.110: require('luasnip.session') +232.717 000.142 000.142: require('luasnip.util.util') +232.811 000.086 000.086: require('luasnip.util.types') +233.006 000.091 000.091: require('luasnip.util.ext_opts') +233.016 000.194 000.103: require('luasnip.nodes.util') +233.107 000.085 000.085: require('luasnip.util.events') +233.128 000.768 000.151: require('luasnip.nodes.node') +233.374 000.095 000.095: require('luasnip.util.extend_decorator') +233.386 000.252 000.158: require('luasnip.nodes.insertNode') +233.510 000.118 000.118: require('luasnip.nodes.textNode') +233.622 000.100 000.100: require('luasnip.util.mark') +234.401 000.676 000.676: require('luasnip.util._builtin_vars') +234.660 001.032 000.356: require('luasnip.util.environ') +234.782 000.112 000.112: require('luasnip.util.pattern_tokenizer') +234.876 000.086 000.086: require('luasnip.util.dict') +234.998 000.115 000.115: require('luasnip.session.snippet_collection') +235.107 002.889 000.305: require('luasnip.nodes.snippet') +235.322 000.090 000.090: require('luasnip.loaders._caches') +235.458 000.128 000.128: require('luasnip.util.path') +235.508 000.387 000.168: require('luasnip.loaders') +235.694 000.154 000.154: require('luasnip.nodes.functionNode') +235.883 000.180 000.180: require('luasnip.nodes.choiceNode') +236.041 000.148 000.148: require('luasnip.nodes.dynamicNode') +236.222 000.175 000.175: require('luasnip.nodes.restoreNode') +236.605 000.101 000.101: require('luasnip.util.parser.neovim_ast') +241.022 000.117 000.117: require('luasnip.util.directed_graph') +241.039 004.651 004.433: require('luasnip.util.parser.ast_utils') +241.265 000.095 000.095: require('luasnip.util.functions') +241.279 000.233 000.138: require('luasnip.util.parser.ast_parser') +241.479 000.194 000.194: require('luasnip.util.parser.neovim_parser') +241.585 000.097 000.097: require('luasnip.util.str') +241.599 005.324 000.148: require('luasnip.util.parser') +241.835 000.098 000.098: require('luasnip.extras.filetype_functions') +241.982 000.110 000.110: require('luasnip.extras') +242.100 000.106 000.106: require('luasnip.extras.fmt') +242.382 000.096 000.096: require('luasnip.extras.conditions') +242.481 000.090 000.090: require('luasnip.extras.conditions.show') +242.587 000.387 000.201: require('luasnip.extras.conditions.expand') +242.593 000.485 000.097: require('luasnip.extras.expand_conditions') +242.704 000.099 000.099: require('luasnip.nodes.absolute_indexer') +243.061 001.457 000.559: require('luasnip.config') +243.072 010.977 000.264: require('luasnip') +243.295 000.106 000.106: require('luasnip.loaders.util') +243.309 000.230 000.124: require('luasnip.loaders.from_lua') +252.737 020.724 009.517: require('plugins.luasnip') +253.127 000.139 000.139: require('colorizer/nvim') +253.477 000.341 000.341: require('colorizer/trie') +253.832 000.990 000.510: require('colorizer') +255.629 002.875 001.885: require('plugins.colorizer') +256.054 000.099 000.099: require('prettier.utils') +256.086 000.269 000.170: require('prettier.options') +256.716 000.193 000.193: require('null-ls.methods') +256.743 000.342 000.149: require('null-ls.utils') +257.128 000.376 000.376: require('vim.diagnostic') +257.153 000.851 000.133: require('null-ls.config') +257.342 000.088 000.088: require('null-ls.helpers.cache') +257.469 000.119 000.119: require('null-ls.helpers.diagnostics') +257.567 000.091 000.091: require('null-ls.helpers.formatter_factory') +257.797 000.099 000.099: require('null-ls.logger') +257.904 000.100 000.100: require('null-ls.state') +257.912 000.337 000.138: require('null-ls.helpers.generator_factory') +258.115 000.097 000.097: require('null-ls.helpers.command_resolver') +258.122 000.204 000.107: require('null-ls.helpers.make_builtin') +258.227 000.096 000.096: require('null-ls.helpers.range_formatting_args_factory') +258.232 001.072 000.137: require('null-ls.helpers') +258.461 000.110 000.110: require('null-ls.diagnostics') +258.485 000.248 000.138: require('null-ls.sources') +258.591 000.098 000.098: require('null-ls.builtins') +258.598 002.390 000.122: require('null-ls') +258.688 000.085 000.085: require('prettier.cli') +258.696 002.604 000.129: require('prettier.null-ls') +258.705 002.980 000.107: require('prettier') +258.965 003.324 000.344: require('plugins.prettier') +259.135 000.086 000.086: require('git') +259.259 000.116 000.116: require('git.config') +259.443 000.468 000.265: require('plugins.git') +259.741 000.088 000.088: require('gitsigns.async') +259.837 000.087 000.087: require('gitsigns.status') +260.102 000.100 000.100: require('gitsigns.debug') +260.213 000.103 000.103: require('gitsigns.util') +260.411 000.097 000.097: require('gitsigns.uv') +260.418 000.198 000.101: require('gitsigns.subprocess') +260.850 000.090 000.090: require('gitsigns.message') +260.882 000.270 000.181: require('gitsigns.config') +260.977 000.087 000.087: require('gitsigns.signs.base') +260.983 000.456 000.099: require('gitsigns.signs') +260.992 000.569 000.113: require('gitsigns.hunks') +261.009 001.166 000.195: require('gitsigns.git') +261.228 000.089 000.089: require('gitsigns.cache') +261.327 000.090 000.090: require('gitsigns.debounce') +261.419 000.082 000.082: require('gitsigns.diff') +261.446 000.432 000.170: require('gitsigns.manager') +261.566 000.114 000.114: require('gitsigns.highlight') +261.587 002.067 000.182: require('gitsigns') +262.899 000.126 000.126: require('gitsigns.signs.vimfn') +265.388 005.937 003.744: require('plugins.gitsigns') +265.835 000.116 000.116: require('neoscroll.config') +265.983 000.107 000.107: require('neoscroll.utils') +266.130 000.570 000.347: require('neoscroll') +266.696 001.284 000.714: require('plugins.neoscroll') +267.255 000.100 000.100: require('cmp_nvim_lsp.source') +267.265 000.240 000.140: require('cmp_nvim_lsp') +267.371 000.098 000.098: require('lspconfig') +267.523 000.106 000.106: require('lspconfig.server_configurations.pylsp') +268.339 000.136 000.136: require('mason-lspconfig.server_configurations.pylsp') +268.761 000.123 000.123: require('lspconfig.server_configurations.clangd') +270.914 000.135 000.135: require('lspconfig.server_configurations.sumneko_lua') +272.700 005.994 005.157: require('plugins.lsp') +273.072 000.094 000.094: require('nvim-autopairs._log') +273.200 000.120 000.120: require('nvim-autopairs.utils') +273.545 000.120 000.120: require('nvim-autopairs.conds') +273.556 000.231 000.111: require('nvim-autopairs.rule') +273.565 000.356 000.125: require('nvim-autopairs.rules.basic') +273.583 000.770 000.199: require('nvim-autopairs') +273.770 000.129 000.129: require('nvim-autopairs.fastwrap') +274.199 000.114 000.114: require('nvim-autopairs.ts-conds') +274.206 000.223 000.109: require('nvim-autopairs.rules.ts_basic') +274.416 000.204 000.204: require('vim.treesitter.highlighter') +275.499 000.097 000.097: require('nvim-autopairs.completion.handlers') +275.512 000.227 000.130: require('nvim-autopairs.completion.cmp') +275.535 002.823 001.270: require('plugins.autopairs') +275.784 000.163 000.163: require('null-ls.builtins.formatting.prettierd') +275.957 000.160 000.160: require('null-ls.builtins.formatting.stylua') +276.087 000.119 000.119: require('null-ls.builtins.formatting.shfmt') +276.697 000.143 000.143: require('null-ls.client') +276.749 001.208 000.623: require('plugins.null-ls') +276.835 000.077 000.077: require('plugins.web-devicons') +277.308 000.087 000.087: require('zen-mode.util') +277.360 000.231 000.144: require('zen-mode.config') +277.473 000.103 000.103: require('zen-mode.plugins') +277.483 000.463 000.129: require('zen-mode.view') +277.489 000.581 000.117: require('zen-mode') +277.609 000.766 000.186: require('plugins.zen-mode') +281.743 000.103 000.103: require('doom-one.utils') +281.865 000.111 000.111: require('doom-one.colors') +281.888 000.553 000.339: require('doom-one') +284.710 004.369 003.816: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +288.529 000.264 000.264: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/syntax/synload.vim +288.915 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +290.015 000.076 000.076: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/filetype.lua +291.140 000.947 000.947: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/filetype.vim +291.933 000.145 000.145: require('filetype') +292.056 005.268 003.778: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/syntax/syntax.vim +292.458 000.136 000.136: require('notify.stages.fade_in_slide_out') +292.547 014.929 005.157: require('plugins.colorscheme') +292.917 000.104 000.104: require('heirline.conditions') +293.058 000.133 000.133: require('heirline.utils') +293.418 000.103 000.103: require('heirline.highlights') +293.431 000.225 000.122: require('heirline.statusline') +293.440 000.345 000.120: require('heirline') +293.608 000.152 000.152: require('nvim-navic') +297.464 004.905 004.171: require('plugins.heirline') +297.566 205.777 003.783: sourcing /home/srdusr/.config/nvim/init.lua +297.591 009.206: sourcing vimrc file(s) +303.705 000.977 000.977: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/gzip.vim +303.864 000.067 000.067: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/health.vim +306.652 001.361 001.361: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +307.141 003.193 001.832: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/matchit.vim +307.686 000.422 000.422: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/matchparen.vim +307.870 000.095 000.095: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/netrwPlugin.vim +308.312 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +308.333 000.377 000.355: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/rplugin.vim +308.625 000.207 000.207: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/shada.vim +308.799 000.064 000.064: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/spellfile.vim +308.973 000.075 000.075: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/tarPlugin.vim +309.143 000.077 000.077: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/tohtml.vim +309.309 000.060 000.060: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/tutor.vim +310.041 000.641 000.641: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/zipPlugin.vim +310.352 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +311.821 000.108 000.108: require('leap') +311.932 000.101 000.101: require('leap.user') +312.996 000.150 000.150: require('fidget.log') +313.015 000.335 000.185: require('fidget') +313.197 000.163 000.163: require('fidget.spinners') +313.945 000.087 000.087: require('crates.time') +313.955 000.194 000.107: require('crates.types') +313.961 000.338 000.144: require('crates.semver') +315.527 001.478 001.478: require('crates.config') +315.681 000.144 000.144: require('crates.toml') +315.689 001.724 000.102: require('crates.state') +315.720 002.229 000.167: require('crates.util') +315.730 002.350 000.121: require('crates.actions') +316.011 000.176 000.176: require('crates.api') +316.106 000.087 000.087: require('crates.async') +316.228 000.114 000.114: require('crates.diagnostic') +316.340 000.103 000.103: require('crates.ui') +316.352 000.616 000.136: require('crates.core') +316.579 000.117 000.117: require('crates.popup.common') +316.696 000.109 000.109: require('crates.popup.crate') +316.821 000.118 000.118: require('crates.popup.dependencies') +316.977 000.149 000.149: require('crates.popup.features') +317.106 000.122 000.122: require('crates.popup.versions') +317.118 000.761 000.146: require('crates.popup') +317.131 003.866 000.139: require('crates') +320.064 000.134 000.134: require('flit') +321.279 000.472 000.472: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +323.242 012.747 007.568: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +324.142 000.104 000.104: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/man.lua +324.347 007.613: loading rtp plugins +326.350 000.093 000.093: require('Comment.config') +326.662 000.158 000.158: require('Comment.ft') +326.672 000.312 000.155: require('Comment.utils') +326.784 000.106 000.106: require('Comment.opfunc') +326.904 000.113 000.113: require('Comment.extra') +326.917 000.793 000.168: require('Comment.api') +327.133 001.087 000.295: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +327.464 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +328.177 000.466 000.466: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +328.972 000.177 000.177: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +329.605 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +330.862 000.696 000.696: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +331.374 000.070 000.070: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +332.020 000.358 000.358: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +332.651 000.111 000.111: require('cmp.utils.highlight') +333.409 000.985 000.874: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +333.620 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +333.938 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +334.398 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +335.017 000.212 000.212: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +335.728 000.100 000.100: require('nvim-treesitter.statusline') +335.886 000.148 000.148: require('nvim-treesitter.query_predicates') +335.894 000.387 000.139: require('nvim-treesitter') +336.734 001.306 000.919: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +337.221 000.264 000.264: require('treesitter-context') +337.232 000.305 000.041: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +337.638 000.114 000.114: require('nvim-treesitter-refactor') +337.771 000.279 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +338.124 000.102 000.102: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +338.550 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +338.870 000.092 000.092: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +339.377 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +339.651 000.042 000.042: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +340.007 000.061 000.061: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +340.600 000.120 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +341.135 000.330 000.330: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +341.812 000.374 000.374: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +342.089 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +342.369 000.045 000.045: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +343.298 011.243: loading packages +351.011 000.087 000.087: require('cmp_buffer.timer') +351.027 000.212 000.124: require('cmp_buffer.buffer') +351.033 000.352 000.140: require('cmp_buffer.source') +351.038 000.456 000.104: require('cmp_buffer') +351.093 000.596 000.140: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +351.495 000.178 000.178: require('cmp_cmdline') +351.527 000.281 000.103: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +351.800 000.116 000.116: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +352.193 000.159 000.159: require('cmp_path') +352.225 000.279 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +352.604 000.154 000.154: require('cmp_luasnip') +352.673 000.291 000.137: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +353.152 000.133 000.133: require('crates.src.common') +353.160 000.237 000.104: require('crates.src.cmp') +353.190 000.361 000.124: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +353.298 008.077: loading after plugins +353.329 000.031: inits 3 +353.341 000.012: reading ShaDa +354.400 000.130 000.130: require('luasnip.nodes.snippetProxy') +354.416 000.312 000.182: require('luasnip.loaders.from_snipmate') +354.645 000.138 000.138: require('luasnip.loaders.from_vscode') +354.757 000.966: opening buffers +355.034 000.277: BufEnter autocommands +355.043 000.009: editing files in windows +372.872 000.334 000.334: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.023 001.023: --- NVIM STARTING --- +025.561 024.538: event init +041.147 015.586: early init +042.731 001.584: locale set +047.879 005.148: init first window +057.218 009.339: inits 1 +057.248 000.030: window checked +057.260 000.011: parsing arguments +067.382 000.124 000.124: require('vim.shared') +067.609 000.113 000.113: require('vim._meta') +067.615 000.223 000.110: require('vim._editor') +067.619 000.403 000.056: require('vim._init_packages') +067.623 009.960: init lua interpreter +067.698 000.075: expanding arguments +069.451 001.753: inits 2 +070.231 000.780: init highlight +070.237 000.006: waiting for UI +072.722 002.485: done waiting for UI +072.757 000.035: init screen for UI +073.008 000.251: init default mappings +073.035 000.027: init default autocommands +082.736 004.013 004.013: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/ftplugin.vim +084.769 000.918 000.918: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/indent.vim +085.068 000.033 000.033: sourcing /usr/share/nvim/archlinux.vim +085.083 000.097 000.064: sourcing /etc/xdg/nvim/sysinit.vim +113.914 028.627 028.627: require('impatient') +114.780 000.851 000.851: require('impatient.profile') +114.885 000.086 000.086: require('user.utils') +118.187 000.227 000.227: require('packer.util') +118.245 000.540 000.313: require('packer') +119.123 000.485 000.485: require('packer.log') +119.137 000.655 000.170: require('packer.async') +119.603 000.343 000.343: require('packer.result') +119.615 000.472 000.129: require('packer.jobs') +119.628 001.330 000.203: require('packer.plugin_utils') +119.824 000.171 000.171: require('packer.snapshot') +120.924 000.093 000.093: require('mason-core.path') +120.952 000.224 000.131: require('mason.settings') +121.234 000.152 000.152: require('mason-core.functional') +121.453 000.092 000.092: require('mason-core.functional.data') +121.462 000.205 000.113: require('mason-core.functional.function') +121.662 000.171 000.171: require('mason-core.functional.relation') +121.813 000.131 000.131: require('mason-core.functional.logic') +121.862 000.902 000.241: require('mason-core.platform') +121.867 001.457 000.331: require('mason') +122.331 000.174 000.174: require('mason-core.functional.list') +122.375 000.472 000.298: require('mason.api.command') +122.705 000.155 000.155: require('mason-core.log') +122.715 000.334 000.179: require('mason-lspconfig') +122.816 000.091 000.091: require('mason-lspconfig.settings') +123.119 000.079 000.079: require('mason-core.notify') +123.131 000.200 000.121: require('mason-lspconfig.lspconfig_hook') +124.130 000.203 000.203: require('vim.lsp.log') +125.104 000.010 000.010: require('vim.F') +125.113 000.973 000.962: require('vim.lsp.protocol') +125.636 000.221 000.221: require('vim.lsp._snippet') +125.795 000.149 000.149: require('vim.highlight') +125.828 000.704 000.334: require('vim.lsp.util') +125.852 002.145 000.267: require('vim.lsp.handlers') +126.167 000.278 000.278: require('vim.lsp.rpc') +126.325 000.146 000.146: require('vim.lsp.sync') +126.541 000.206 000.206: require('vim.lsp.buf') +126.699 000.147 000.147: require('vim.lsp.diagnostic') +126.863 000.155 000.155: require('vim.lsp.codelens') +127.114 003.851 000.774: require('vim.lsp') +127.317 004.181 000.330: require('lspconfig.util') +127.600 000.099 000.099: require('mason-core.functional.table') +127.693 000.350 000.251: require('mason-lspconfig.mappings.server') +128.016 000.117 000.117: require('mason-core.async') +128.158 000.094 000.094: require('mason-core.async.uv') +128.173 000.369 000.158: require('mason-core.fs') +128.316 000.105 000.105: require('mason-core.optional') +128.413 000.088 000.088: require('mason-core.EventEmitter') +128.617 000.197 000.197: require('mason-registry.index') +128.641 000.939 000.179: require('mason-registry') +128.743 000.095 000.095: require('mason-lspconfig.server_config_extensions') +128.862 000.112 000.112: require('lspconfig.configs') +129.024 000.110 000.110: require('lspconfig.server_configurations.omnisharp') +129.177 000.105 000.105: require('mason-lspconfig.ensure_installed') +129.632 000.101 000.101: require('mason-core.result') +130.107 000.254 000.254: require('mason-core.process') +130.260 000.502 000.248: require('mason-core.spawn') +130.384 000.112 000.112: require('mason-core.receipt') +130.507 000.097 000.097: require('mason-core.functional.string') +130.537 000.895 000.184: require('mason-core.installer.context') +130.647 000.104 000.104: require('mason-core.installer.linker') +130.751 000.096 000.096: require('mason-core.async.control') +130.762 001.398 000.201: require('mason-core.installer') +130.940 000.173 000.173: require('mason-core.installer.handle') +131.527 000.096 000.096: require('mason-core.managers.powershell') +131.535 000.198 000.101: require('mason-core.fetch') +131.539 000.293 000.095: require('mason-core.managers.cargo.client') +131.783 000.120 000.120: require('mason-core.managers.std') +132.065 000.170 000.170: require('mason-core.providers') +132.093 000.303 000.133: require('mason-core.managers.github.client') +132.108 000.564 000.141: require('mason-core.managers.github') +132.145 001.028 000.171: require('mason-core.managers.cargo') +132.356 000.205 000.205: require('mason-core.managers.composer') +132.530 000.166 000.166: require('mason-core.managers.gem') +132.655 000.117 000.117: require('mason-core.managers.git') +132.825 000.162 000.162: require('mason-core.managers.go') +133.015 000.182 000.182: require('mason-core.managers.luarocks') +133.167 000.145 000.145: require('mason-core.managers.npm') +133.416 000.242 000.242: require('mason-core.managers.pip3') +133.430 002.473 000.226: require('mason-core.package.version-check') +133.443 004.258 000.215: require('mason-core.package') +133.579 000.112 000.112: require('mason-registry.python-lsp-server') +133.848 000.108 000.108: require('mason-registry.pyright') +134.013 000.137 000.137: require('mason-registry.clangd') +134.151 000.111 000.111: require('mason-registry.lua-language-server') +134.370 000.092 000.092: require('mason-core.functional.number') +134.422 000.260 000.168: require('mason-lspconfig.api.command') +134.499 017.127 001.653: require('user.pack') +138.005 003.499 003.499: require('user.opts') +138.155 000.012 000.012: require('vim.keymap') +140.274 002.255 002.243: require('user.keys') +140.382 000.098 000.098: require('user.utils') +141.180 000.172 000.172: require('vim.treesitter.language') +141.202 000.456 000.284: require('vim.treesitter.query') +142.123 000.201 000.201: require('vim.treesitter.languagetree') +142.209 000.478 000.277: require('vim.treesitter') +142.499 001.068 000.590: require('nvim-treesitter.parsers') +142.658 000.151 000.151: require('nvim-treesitter.utils') +142.670 001.356 000.137: require('nvim-treesitter.ts_utils') +142.684 001.476 000.120: require('nvim-treesitter.tsrange') +142.785 000.093 000.093: require('nvim-treesitter.caching') +142.805 002.177 000.151: require('nvim-treesitter.query') +142.838 002.368 000.191: require('nvim-treesitter.configs') +143.241 000.106 000.106: require('nvim-treesitter.info') +143.381 000.131 000.131: require('nvim-treesitter.shell_command_selectors') +143.443 000.481 000.244: require('nvim-treesitter.install') +145.660 005.268 002.420: require('plugins.treesitter') +145.998 000.111 000.111: require('telescope._extensions') +146.008 000.216 000.105: require('telescope') +146.766 000.092 000.092: require('plenary.bit') +146.862 000.088 000.088: require('plenary.functional') +146.917 000.035 000.035: require('ffi') +146.941 000.414 000.199: require('plenary.path') +146.958 000.524 000.110: require('plenary.strings') +147.047 000.083 000.083: require('telescope.deprecated') +147.431 000.170 000.170: require('plenary.log') +147.494 000.312 000.142: require('telescope.log') +147.782 000.143 000.143: require('plenary.job') +147.876 000.085 000.085: require('telescope.state') +147.893 000.392 000.164: require('telescope.utils') +147.941 000.887 000.184: require('telescope.sorters') +148.053 000.085 000.085: require('vim.inspect') +151.662 005.395 003.817: require('telescope.config') +151.931 000.112 000.112: require('plenary.window.border') +152.025 000.086 000.086: require('plenary.window') +152.115 000.083 000.083: require('plenary.popup.utils') +152.127 000.450 000.170: require('plenary.popup') +152.229 000.096 000.096: require('telescope.pickers.scroller') +152.332 000.096 000.096: require('telescope.actions.state') +152.457 000.105 000.105: require('telescope.actions.utils') +154.639 002.064 002.064: require('telescope.actions.mt') +154.689 002.225 000.161: require('telescope.actions.set') +154.929 000.113 000.113: require('telescope.config.resolve') +154.936 000.239 000.125: require('telescope.pickers.entry_display') +155.024 000.082 000.082: require('telescope.from_entry') +155.498 009.484 000.795: require('telescope.actions') +156.460 000.091 000.091: require('plenary.tbl') +156.477 000.213 000.123: require('plenary.vararg.rotate') +156.481 000.323 000.110: require('plenary.vararg') +156.579 000.092 000.092: require('plenary.errors') +156.590 000.546 000.131: require('plenary.async.async') +156.703 000.108 000.108: require('plenary.async.structs') +156.718 000.826 000.173: require('plenary.async.control') +157.199 000.343 000.343: require('telescope.make_entry') +157.665 000.122 000.122: require('plenary.async.util') +157.672 000.231 000.109: require('plenary.async.tests') +157.678 000.340 000.110: require('plenary.async') +157.684 000.466 000.125: require('telescope.finders.async_static_finder') +158.027 000.099 000.099: require('plenary.class') +158.057 000.259 000.160: require('telescope._') +158.066 000.377 000.117: require('telescope.finders.async_oneshot_finder') +158.181 000.109 000.109: require('telescope.finders.async_job_finder') +158.197 001.470 000.176: require('telescope.finders') +158.606 000.164 000.164: require('telescope.debounce') +158.843 000.227 000.227: require('telescope.mappings') +158.981 000.127 000.127: require('telescope.pickers.highlights') +159.096 000.106 000.106: require('telescope.pickers.window') +159.366 000.140 000.140: require('telescope.algos.linked_list') +159.386 000.283 000.142: require('telescope.entry_manager') +159.504 000.112 000.112: require('telescope.pickers.multi') +159.551 001.346 000.327: require('telescope.pickers') +159.574 003.842 000.199: require('telescope.builtin.__lsp') +159.638 004.129 000.287: require('telescope.builtin') +160.058 000.283 000.283: require('fzf_lib') +160.076 000.429 000.146: require('telescope._extensions.fzf') +160.645 000.200 000.200: require('telescope._extensions.file_browser.utils') +160.777 000.537 000.338: require('telescope._extensions.file_browser.actions') +161.143 000.192 000.192: require('telescope._extensions.file_browser.make_entry') +161.341 000.186 000.186: require('plenary.scandir') +161.398 000.614 000.236: require('telescope._extensions.file_browser.finders') +161.524 000.118 000.118: require('telescope._extensions.file_browser.picker') +161.684 000.153 000.153: require('telescope._extensions.file_browser.config') +161.691 001.576 000.153: require('telescope._extensions.file_browser') +165.469 019.796 003.962: require('plugins.telescope') +168.316 000.183 000.183: require('notify.util.queue') +168.338 000.427 000.244: require('notify.util') +168.678 000.334 000.334: require('notify.config.highlights') +168.711 001.075 000.314: require('notify.config') +168.898 000.179 000.179: require('notify.stages') +169.086 000.180 000.180: require('notify.service.notification') +169.728 000.182 000.182: require('notify.animate.spring') +169.735 000.337 000.155: require('notify.animate') +169.756 000.663 000.326: require('notify.windows') +170.474 000.259 000.259: require('notify.service.buffer.highlights') +170.496 000.526 000.267: require('notify.service.buffer') +170.511 000.750 000.224: require('notify.service') +170.834 000.318 000.318: require('notify.stages.util') +170.918 003.636 000.471: require('notify') +171.115 000.189 000.189: require('nvim-tree.iterators.node-iterator') +171.219 004.827 001.001: require('nvim-tree.utils') +171.254 004.981 000.154: require('nvim-tree.events') +171.983 000.204 000.204: require('nvim-tree.log') +172.337 000.345 000.345: require('nvim-tree.git.utils') +172.642 000.297 000.297: require('nvim-tree.git.runner') +172.910 000.260 000.260: require('nvim-tree.watcher') +172.949 001.419 000.313: require('nvim-tree.git') +173.196 000.241 000.241: require('nvim-tree.explorer.watch') +173.405 000.202 000.202: require('nvim-tree.explorer.common') +173.890 000.230 000.230: require('nvim-tree.explorer.node-builders') +173.994 000.095 000.095: require('nvim-tree.explorer.sorters') +174.091 000.089 000.089: require('nvim-tree.explorer.filters') +174.406 000.212 000.212: require('nvim-tree.view') +174.426 000.328 000.116: require('nvim-tree.live-filter') +174.436 001.023 000.279: require('nvim-tree.explorer.explore') +174.601 000.155 000.155: require('nvim-tree.explorer.reload') +174.614 003.353 000.313: require('nvim-tree.explorer') +174.626 008.451 000.117: require('nvim-tree.core') +174.790 000.155 000.155: require('nvim-tree.diagnostics') +174.944 000.140 000.140: require('nvim-tree.renderer.components.padding') +175.097 000.142 000.142: require('nvim-tree.renderer.components.icons') +175.259 000.152 000.152: require('nvim-tree.renderer.components.full-name') +175.402 000.132 000.132: require('nvim-tree.renderer.help') +175.587 000.175 000.175: require('nvim-tree.renderer.components.git') +175.782 000.184 000.184: require('nvim-tree.renderer.builder') +175.941 000.147 000.147: require('nvim-tree.marks') +175.958 009.919 000.240: require('nvim-tree.renderer') +176.153 000.155 000.155: require('nvim-tree.actions.tree-modifiers.collapse-all') +176.295 000.131 000.131: require('nvim-tree.actions.root.dir-up') +176.454 000.147 000.147: require('nvim-tree.actions.root.change-dir') +176.563 000.100 000.100: require('nvim-tree.actions.reloaders.reloaders') +176.665 000.094 000.094: require('nvim-tree.actions.finders.find-file') +176.671 010.815 000.269: require('nvim-tree.lib') +176.781 000.104 000.104: require('nvim-tree.colors') +176.913 000.121 000.121: require('nvim-tree.legacy') +177.040 000.118 000.118: require('nvim-tree.actions.fs.copy-paste') +177.247 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') +177.345 000.091 000.091: require('nvim-tree.actions.tree-modifiers.toggles') +177.457 000.096 000.096: require('nvim-tree.actions.fs.create-file') +177.556 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +177.681 000.117 000.117: require('nvim-tree.actions.fs.trash') +177.786 000.098 000.098: require('nvim-tree.actions.fs.remove-file') +177.882 000.086 000.086: require('nvim-tree.actions.moves.parent') +177.974 000.085 000.085: require('nvim-tree.actions.moves.sibling') +178.066 000.084 000.084: require('nvim-tree.actions.moves.item') +178.176 000.091 000.091: require('nvim-tree.actions.finders.search-node') +178.266 000.083 000.083: require('nvim-tree.actions.node.run-command') +178.381 000.108 000.108: require('nvim-tree.actions.node.file-popup') +178.492 000.104 000.104: require('nvim-tree.actions.node.system-open') +178.594 000.091 000.091: require('nvim-tree.marks.bulk-move') +178.600 001.549 000.226: require('nvim-tree.actions.dispatch') +178.630 013.014 000.308: require('nvim-tree') +178.713 000.077 000.077: require('nvim-tree.config') +184.698 000.166 000.166: require('nvim-tree.actions') +184.836 000.119 000.119: require('nvim-tree.actions.node.open-file') +187.512 000.097 000.097: require('nvim-tree.marks.navigation') +187.525 000.285 000.188: require('nvim-tree.api') +187.545 000.430 000.145: require('nvim-tree.keymap') +188.436 000.404 000.404: require('nvim-web-devicons') +193.685 028.201 013.991: require('plugins.nvim-tree') +194.189 000.078 000.078: require('cmp.utils.debug') +194.404 000.122 000.122: require('cmp.utils.char') +194.418 000.220 000.098: require('cmp.utils.str') +194.548 000.082 000.082: require('cmp.utils.pattern') +194.823 000.088 000.088: require('cmp.utils.misc') +194.932 000.081 000.081: require('cmp.utils.buffer') +195.028 000.088 000.088: require('cmp.utils.api') +195.038 000.399 000.142: require('cmp.utils.keymap') +195.047 000.492 000.092: require('cmp.utils.feedkeys') +195.146 000.094 000.094: require('cmp.utils.async') +195.418 000.075 000.075: require('cmp.types.cmp') +195.616 000.191 000.191: require('cmp.types.lsp') +195.706 000.079 000.079: require('cmp.types.vim') +195.711 000.474 000.129: require('cmp.types') +195.790 000.074 000.074: require('cmp.utils.cache') +195.799 000.645 000.096: require('cmp.context') +196.108 000.099 000.099: require('cmp.config.mapping') +196.304 000.093 000.093: require('cmp.config.compare') +196.310 000.189 000.096: require('cmp.config.default') +196.335 000.432 000.144: require('cmp.config') +196.534 000.079 000.079: require('cmp.matcher') +196.545 000.204 000.125: require('cmp.entry') +196.561 000.758 000.122: require('cmp.source') +196.727 000.073 000.073: require('cmp.utils.event') +196.970 000.127 000.127: require('cmp.utils.window') +196.985 000.250 000.123: require('cmp.view.docs_view') +197.318 000.133 000.133: require('cmp.utils.autocmd') +197.350 000.355 000.223: require('cmp.view.custom_entries_view') +197.541 000.182 000.182: require('cmp.view.wildmenu_entries_view') +197.722 000.168 000.168: require('cmp.view.native_entries_view') +197.950 000.214 000.214: require('cmp.view.ghost_text_view') +198.004 001.438 000.197: require('cmp.view') +198.288 004.304 000.496: require('cmp.core') +198.781 000.101 000.101: require('cmp.config.sources') +198.867 000.075 000.075: require('cmp.config.window') +198.972 005.109 000.628: require('cmp') +199.421 000.152 000.152: require('symbols-outline.config') +199.429 000.242 000.090: require('symbols-outline.symbols') +199.530 000.096 000.096: require('symbols-outline.ui') +199.621 000.082 000.082: require('symbols-outline.utils.table') +199.705 000.078 000.078: require('symbols-outline.folding') +199.711 000.615 000.118: require('symbols-outline.parser') +199.801 000.084 000.084: require('symbols-outline.providers.init') +199.903 000.094 000.094: require('symbols-outline.writer') +199.999 000.089 000.089: require('symbols-outline.utils.init') +200.093 000.087 000.087: require('symbols-outline.view') +200.109 001.129 000.160: require('symbols-outline') +200.467 000.163 000.163: require('symbols-outline.preview') +200.619 000.134 000.134: require('lspkind') +202.864 009.161 002.626: require('plugins.cmp') +203.599 000.096 000.096: require('luasnip.session') +203.771 000.159 000.159: require('luasnip.util.util') +203.868 000.088 000.088: require('luasnip.util.types') +204.063 000.094 000.094: require('luasnip.util.ext_opts') +204.078 000.203 000.109: require('luasnip.nodes.util') +204.176 000.091 000.091: require('luasnip.util.events') +204.203 000.815 000.178: require('luasnip.nodes.node') +204.464 000.094 000.094: require('luasnip.util.extend_decorator') +204.478 000.269 000.175: require('luasnip.nodes.insertNode') +204.603 000.119 000.119: require('luasnip.nodes.textNode') +204.718 000.103 000.103: require('luasnip.util.mark') +205.505 000.678 000.678: require('luasnip.util._builtin_vars') +205.769 001.044 000.365: require('luasnip.util.environ') +205.934 000.150 000.150: require('luasnip.util.pattern_tokenizer') +206.073 000.130 000.130: require('luasnip.util.dict') +206.200 000.119 000.119: require('luasnip.session.snippet_collection') +206.375 003.185 000.436: require('luasnip.nodes.snippet') +206.607 000.095 000.095: require('luasnip.loaders._caches') +206.763 000.147 000.147: require('luasnip.util.path') +206.841 000.449 000.207: require('luasnip.loaders') +207.034 000.156 000.156: require('luasnip.nodes.functionNode') +207.207 000.164 000.164: require('luasnip.nodes.choiceNode') +207.378 000.163 000.163: require('luasnip.nodes.dynamicNode') +207.566 000.180 000.180: require('luasnip.nodes.restoreNode') +208.045 000.147 000.147: require('luasnip.util.parser.neovim_ast') +212.617 000.132 000.132: require('luasnip.util.directed_graph') +212.662 004.924 004.646: require('luasnip.util.parser.ast_utils') +212.902 000.096 000.096: require('luasnip.util.functions') +212.916 000.246 000.150: require('luasnip.util.parser.ast_parser') +213.099 000.177 000.177: require('luasnip.util.parser.neovim_parser') +213.205 000.097 000.097: require('luasnip.util.str') +213.220 005.592 000.147: require('luasnip.util.parser') +213.581 000.164 000.164: require('luasnip.extras.filetype_functions') +213.828 000.181 000.181: require('luasnip.extras') +214.036 000.187 000.187: require('luasnip.extras.fmt') +214.601 000.207 000.207: require('luasnip.extras.conditions') +214.802 000.177 000.177: require('luasnip.extras.conditions.show') +215.057 000.848 000.465: require('luasnip.extras.conditions.expand') +215.067 001.014 000.165: require('luasnip.extras.expand_conditions') +215.208 000.115 000.115: require('luasnip.nodes.absolute_indexer') +215.638 002.413 000.753: require('luasnip.config') +215.651 012.624 000.323: require('luasnip') +215.899 000.114 000.114: require('luasnip.loaders.util') +215.911 000.254 000.140: require('luasnip.loaders.from_lua') +227.067 024.179 011.301: require('plugins.luasnip') +227.478 000.143 000.143: require('colorizer/nvim') +227.790 000.300 000.300: require('colorizer/trie') +228.070 000.881 000.439: require('colorizer') +230.040 002.952 002.070: require('plugins.colorizer') +230.705 000.168 000.168: require('prettier.utils') +230.761 000.403 000.235: require('prettier.options') +231.437 000.189 000.189: require('null-ls.methods') +231.465 000.339 000.150: require('null-ls.utils') +231.995 000.520 000.520: require('vim.diagnostic') +232.026 000.996 000.136: require('null-ls.config') +232.219 000.086 000.086: require('null-ls.helpers.cache') +232.344 000.116 000.116: require('null-ls.helpers.diagnostics') +232.440 000.089 000.089: require('null-ls.helpers.formatter_factory') +232.720 000.148 000.148: require('null-ls.logger') +232.840 000.111 000.111: require('null-ls.state') +232.849 000.402 000.143: require('null-ls.helpers.generator_factory') +233.058 000.097 000.097: require('null-ls.helpers.command_resolver') +233.064 000.210 000.113: require('null-ls.helpers.make_builtin') +233.168 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') +233.173 001.139 000.142: require('null-ls.helpers') +233.400 000.113 000.113: require('null-ls.diagnostics') +233.418 000.241 000.127: require('null-ls.sources') +233.521 000.095 000.095: require('null-ls.builtins') +233.528 002.600 000.130: require('null-ls') +233.616 000.083 000.083: require('prettier.cli') +233.625 002.850 000.167: require('prettier.null-ls') +233.634 003.420 000.167: require('prettier') +233.871 003.808 000.387: require('plugins.prettier') +234.085 000.133 000.133: require('git') +234.226 000.129 000.129: require('git.config') +234.416 000.535 000.273: require('plugins.git') +234.731 000.092 000.092: require('gitsigns.async') +234.828 000.087 000.087: require('gitsigns.status') +235.089 000.103 000.103: require('gitsigns.debug') +235.203 000.106 000.106: require('gitsigns.util') +235.406 000.102 000.102: require('gitsigns.uv') +235.413 000.203 000.102: require('gitsigns.subprocess') +235.849 000.084 000.084: require('gitsigns.message') +235.882 000.272 000.188: require('gitsigns.config') +236.006 000.117 000.117: require('gitsigns.signs.base') +236.021 000.492 000.103: require('gitsigns.signs') +236.032 000.613 000.121: require('gitsigns.hunks') +236.050 001.216 000.190: require('gitsigns.git') +236.280 000.088 000.088: require('gitsigns.cache') +236.382 000.093 000.093: require('gitsigns.debounce') +236.473 000.082 000.082: require('gitsigns.diff') +236.498 000.442 000.179: require('gitsigns.manager') +236.617 000.113 000.113: require('gitsigns.highlight') +236.639 002.140 000.190: require('gitsigns') +238.196 000.132 000.132: require('gitsigns.signs.vimfn') +241.391 006.968 004.696: require('plugins.gitsigns') +242.083 000.202 000.202: require('neoscroll.config') +242.289 000.192 000.192: require('neoscroll.utils') +242.471 000.827 000.433: require('neoscroll') +243.662 002.234 001.407: require('plugins.neoscroll') +244.444 000.133 000.133: require('cmp_nvim_lsp.source') +244.455 000.267 000.134: require('cmp_nvim_lsp') +244.561 000.093 000.093: require('lspconfig') +244.718 000.107 000.107: require('lspconfig.server_configurations.pylsp') +245.465 000.148 000.148: require('mason-lspconfig.server_configurations.pylsp') +246.051 000.214 000.214: require('lspconfig.server_configurations.clangd') +248.469 000.156 000.156: require('lspconfig.server_configurations.sumneko_lua') +250.688 007.009 006.024: require('plugins.lsp') +251.096 000.093 000.093: require('nvim-autopairs._log') +251.219 000.114 000.114: require('nvim-autopairs.utils') +251.550 000.118 000.118: require('nvim-autopairs.conds') +251.564 000.229 000.111: require('nvim-autopairs.rule') +251.570 000.343 000.114: require('nvim-autopairs.rules.basic') +251.586 000.754 000.204: require('nvim-autopairs') +251.829 000.132 000.132: require('nvim-autopairs.fastwrap') +252.325 000.111 000.111: require('nvim-autopairs.ts-conds') +252.336 000.224 000.114: require('nvim-autopairs.rules.ts_basic') +252.537 000.195 000.195: require('vim.treesitter.highlighter') +253.841 000.103 000.103: require('nvim-autopairs.completion.handlers') +253.861 000.251 000.148: require('nvim-autopairs.completion.cmp') +253.881 003.176 001.620: require('plugins.autopairs') +254.126 000.157 000.157: require('null-ls.builtins.formatting.prettierd') +254.266 000.128 000.128: require('null-ls.builtins.formatting.stylua') +254.552 000.276 000.276: require('null-ls.builtins.formatting.shfmt') +255.305 000.154 000.154: require('null-ls.client') +255.390 001.503 000.788: require('plugins.null-ls') +255.498 000.098 000.098: require('plugins.web-devicons') +256.207 000.093 000.093: require('zen-mode.util') +256.277 000.285 000.193: require('zen-mode.config') +256.385 000.099 000.099: require('zen-mode.plugins') +256.399 000.591 000.207: require('zen-mode.view') +256.406 000.779 000.188: require('zen-mode') +256.540 001.028 000.249: require('plugins.zen-mode') +260.581 000.101 000.101: require('doom-one.utils') +260.702 000.108 000.108: require('doom-one.colors') +260.720 000.569 000.361: require('doom-one') +263.608 004.502 003.932: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +267.818 000.271 000.271: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/syntax/synload.vim +268.188 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +269.284 000.082 000.082: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/filetype.lua +270.809 001.273 001.273: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/filetype.vim +271.623 000.148 000.148: require('filetype') +271.689 005.932 004.102: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/syntax/syntax.vim +272.082 000.119 000.119: require('notify.stages.fade_in_slide_out') +272.147 015.597 005.045: require('plugins.colorscheme') +272.530 000.103 000.103: require('heirline.conditions') +272.730 000.192 000.192: require('heirline.utils') +273.077 000.101 000.101: require('heirline.highlights') +273.088 000.216 000.115: require('heirline.statusline') +273.098 000.332 000.116: require('heirline') +273.267 000.152 000.152: require('nvim-navic') +277.433 005.276 004.497: require('plugins.heirline') +277.537 192.408 003.078: sourcing /home/srdusr/.config/nvim/init.lua +277.566 007.094: sourcing vimrc file(s) +284.196 001.384 001.384: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/gzip.vim +284.336 000.062 000.062: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/health.vim +287.414 001.775 001.775: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +287.874 003.468 001.694: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/matchit.vim +288.390 000.407 000.407: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/matchparen.vim +288.540 000.081 000.081: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/netrwPlugin.vim +288.949 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +288.971 000.368 000.346: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/rplugin.vim +289.234 000.203 000.203: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/shada.vim +289.387 000.061 000.061: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/spellfile.vim +289.526 000.064 000.064: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/tarPlugin.vim +289.659 000.064 000.064: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/tohtml.vim +289.772 000.045 000.045: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/tutor.vim +290.496 000.656 000.656: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/zipPlugin.vim +290.809 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +292.204 000.117 000.117: require('leap') +292.315 000.099 000.099: require('leap.user') +293.387 000.175 000.175: require('fidget.log') +293.407 000.350 000.175: require('fidget') +293.596 000.165 000.165: require('fidget.spinners') +294.331 000.081 000.081: require('crates.time') +294.341 000.189 000.108: require('crates.types') +294.347 000.294 000.105: require('crates.semver') +295.452 001.020 001.020: require('crates.config') +295.596 000.134 000.134: require('crates.toml') +295.605 001.254 000.100: require('crates.state') +295.630 001.704 000.156: require('crates.util') +295.640 001.827 000.123: require('crates.actions') +295.878 000.131 000.131: require('crates.api') +295.997 000.111 000.111: require('crates.async') +296.119 000.114 000.114: require('crates.diagnostic') +296.228 000.100 000.100: require('crates.ui') +296.237 000.591 000.135: require('crates.core') +296.470 000.123 000.123: require('crates.popup.common') +296.608 000.131 000.131: require('crates.popup.crate') +296.736 000.121 000.121: require('crates.popup.dependencies') +296.860 000.117 000.117: require('crates.popup.features') +297.005 000.138 000.138: require('crates.popup.versions') +297.017 000.772 000.141: require('crates.popup') +297.030 003.332 000.142: require('crates') +299.516 000.133 000.133: require('flit') +300.960 000.483 000.483: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +303.196 012.248 007.569: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +303.989 000.095 000.095: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/man.lua +304.160 007.346: loading rtp plugins +306.183 000.097 000.097: require('Comment.config') +306.482 000.151 000.151: require('Comment.ft') +306.493 000.300 000.149: require('Comment.utils') +306.597 000.099 000.099: require('Comment.opfunc') +306.708 000.104 000.104: require('Comment.extra') +306.717 000.806 000.206: require('Comment.api') +306.919 001.090 000.284: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +307.252 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +307.979 000.481 000.481: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +308.771 000.177 000.177: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +309.400 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +310.803 000.841 000.841: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +311.315 000.069 000.069: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +311.958 000.360 000.360: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +312.571 000.111 000.111: require('cmp.utils.highlight') +313.138 000.774 000.663: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +313.341 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +313.655 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +314.118 000.160 000.160: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +314.739 000.214 000.214: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +315.432 000.097 000.097: require('nvim-treesitter.statusline') +315.551 000.110 000.110: require('nvim-treesitter.query_predicates') +315.558 000.329 000.123: require('nvim-treesitter') +316.656 001.509 001.180: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +317.147 000.267 000.267: require('treesitter-context') +317.157 000.309 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +317.561 000.113 000.113: require('nvim-treesitter-refactor') +317.698 000.281 000.167: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +318.053 000.103 000.103: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +318.478 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +318.797 000.092 000.092: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +319.275 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +319.573 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +319.932 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +320.523 000.120 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +321.071 000.344 000.344: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +321.742 000.370 000.370: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +322.017 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +322.297 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +323.300 011.252: loading packages +330.839 000.173 000.173: require('cmp_buffer.timer') +330.851 000.299 000.126: require('cmp_buffer.buffer') +330.857 000.408 000.109: require('cmp_buffer.source') +330.862 000.511 000.103: require('cmp_buffer') +330.920 000.650 000.139: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +331.344 000.176 000.176: require('cmp_cmdline') +331.381 000.310 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +331.680 000.138 000.138: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +332.060 000.151 000.151: require('cmp_path') +332.096 000.269 000.118: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +332.434 000.112 000.112: require('cmp_luasnip') +332.500 000.247 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +332.987 000.124 000.124: require('crates.src.common') +332.996 000.239 000.115: require('crates.src.cmp') +333.027 000.342 000.103: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +333.134 007.879: loading after plugins +333.165 000.031: inits 3 +333.169 000.004: reading ShaDa +334.220 000.110 000.110: require('luasnip.nodes.snippetProxy') +334.232 000.310 000.200: require('luasnip.loaders.from_snipmate') +334.405 000.126 000.126: require('luasnip.loaders.from_vscode') +334.441 000.837: opening buffers +334.712 000.271: BufEnter autocommands +334.721 000.009: editing files in windows +353.467 000.344 000.344: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.023 001.023: --- NVIM STARTING --- +025.855 024.832: event init +041.470 015.615: early init +043.052 001.582: locale set +048.295 005.243: init first window +057.674 009.379: inits 1 +057.704 000.031: window checked +057.716 000.011: parsing arguments +068.851 000.267 000.267: require('vim.shared') +069.375 000.245 000.245: require('vim._meta') +069.388 000.516 000.270: require('vim._editor') +069.396 000.909 000.127: require('vim._init_packages') +069.403 010.778: init lua interpreter +069.562 000.159: expanding arguments +071.376 001.813: inits 2 +072.780 001.405: init highlight +072.791 000.011: waiting for UI +075.613 002.821: done waiting for UI +075.649 000.036: init screen for UI +075.914 000.265: init default mappings +075.942 000.028: init default autocommands +087.653 004.003 004.003: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/ftplugin.vim +090.432 000.994 000.994: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/indent.vim +090.815 000.037 000.037: sourcing /usr/share/nvim/archlinux.vim +090.831 000.108 000.071: sourcing /etc/xdg/nvim/sysinit.vim +122.531 031.456 031.456: require('impatient') +123.617 001.071 001.071: require('impatient.profile') +123.747 000.101 000.101: require('user.utils') +127.253 000.240 000.240: require('packer.util') +127.318 000.577 000.338: require('packer') +128.497 000.648 000.648: require('packer.log') +128.511 000.893 000.246: require('packer.async') +128.808 000.172 000.172: require('packer.result') +128.820 000.302 000.130: require('packer.jobs') +128.833 001.462 000.267: require('packer.plugin_utils') +129.054 000.198 000.198: require('packer.snapshot') +130.839 000.346 000.346: require('mason-core.path') +130.858 000.731 000.385: require('mason.settings') +131.564 000.245 000.245: require('mason-core.functional') +131.911 000.156 000.156: require('mason-core.functional.data') +131.932 000.328 000.172: require('mason-core.functional.function') +132.146 000.181 000.181: require('mason-core.functional.relation') +132.336 000.165 000.165: require('mason-core.functional.logic') +132.410 001.544 000.625: require('mason-core.platform') +132.416 002.734 000.459: require('mason') +132.736 000.127 000.127: require('mason-core.functional.list') +132.778 000.328 000.201: require('mason.api.command') +133.306 000.197 000.197: require('mason-core.log') +133.317 000.532 000.336: require('mason-lspconfig') +133.479 000.156 000.156: require('mason-lspconfig.settings') +133.851 000.139 000.139: require('mason-core.notify') +133.864 000.317 000.177: require('mason-lspconfig.lspconfig_hook') +135.046 000.225 000.225: require('vim.lsp.log') +136.590 000.027 000.027: require('vim.F') +136.602 001.543 001.516: require('vim.lsp.protocol') +137.539 000.315 000.315: require('vim.lsp._snippet') +137.830 000.243 000.243: require('vim.highlight') +137.864 001.248 000.690: require('vim.lsp.util') +137.890 003.322 000.307: require('vim.lsp.handlers') +138.190 000.258 000.258: require('vim.lsp.rpc') +138.344 000.143 000.143: require('vim.lsp.sync') +138.562 000.209 000.209: require('vim.lsp.buf') +138.718 000.147 000.147: require('vim.lsp.diagnostic') +138.887 000.160 000.160: require('vim.lsp.codelens') +139.039 004.998 000.760: require('vim.lsp') +139.114 005.245 000.248: require('lspconfig.util') +139.434 000.126 000.126: require('mason-core.functional.table') +139.527 000.389 000.263: require('mason-lspconfig.mappings.server') +139.853 000.117 000.117: require('mason-core.async') +139.944 000.081 000.081: require('mason-core.async.uv') +139.959 000.318 000.120: require('mason-core.fs') +140.067 000.101 000.101: require('mason-core.optional') +140.168 000.093 000.093: require('mason-core.EventEmitter') +140.417 000.243 000.243: require('mason-registry.index') +140.456 000.917 000.162: require('mason-registry') +140.585 000.118 000.118: require('mason-lspconfig.server_config_extensions') +140.710 000.117 000.117: require('lspconfig.configs') +140.874 000.117 000.117: require('lspconfig.server_configurations.omnisharp') +141.211 000.136 000.136: require('mason-lspconfig.ensure_installed') +141.647 000.146 000.146: require('mason-core.result') +142.159 000.281 000.281: require('mason-core.process') +142.257 000.480 000.199: require('mason-core.spawn') +142.386 000.118 000.118: require('mason-core.receipt') +142.509 000.102 000.102: require('mason-core.functional.string') +142.541 000.885 000.185: require('mason-core.installer.context') +142.654 000.107 000.107: require('mason-core.installer.linker') +142.762 000.100 000.100: require('mason-core.async.control') +142.774 001.422 000.184: require('mason-core.installer') +142.905 000.125 000.125: require('mason-core.installer.handle') +143.443 000.104 000.104: require('mason-core.managers.powershell') +143.451 000.211 000.107: require('mason-core.fetch') +143.455 000.302 000.091: require('mason-core.managers.cargo.client') +143.855 000.213 000.213: require('mason-core.managers.std') +144.107 000.100 000.100: require('mason-core.providers') +144.136 000.268 000.167: require('mason-core.managers.github.client') +144.148 000.688 000.208: require('mason-core.managers.github') +144.190 001.165 000.175: require('mason-core.managers.cargo') +144.507 000.310 000.310: require('mason-core.managers.composer') +144.682 000.167 000.167: require('mason-core.managers.gem') +144.827 000.137 000.137: require('mason-core.managers.git') +145.130 000.293 000.293: require('mason-core.managers.go') +145.325 000.186 000.186: require('mason-core.managers.luarocks') +145.484 000.151 000.151: require('mason-core.managers.npm') +145.659 000.168 000.168: require('mason-core.managers.pip3') +145.676 002.754 000.175: require('mason-core.package.version-check') +145.687 004.467 000.166: require('mason-core.package') +145.846 000.133 000.133: require('mason-registry.python-lsp-server') +146.161 000.118 000.118: require('mason-registry.pyright') +146.401 000.205 000.205: require('mason-registry.clangd') +146.554 000.126 000.126: require('mason-registry.lua-language-server') +146.813 000.093 000.093: require('mason-core.functional.number') +146.867 000.299 000.206: require('mason-lspconfig.api.command') +146.947 020.592 001.900: require('user.pack') +149.650 002.695 002.695: require('user.opts') +149.804 000.013 000.013: require('vim.keymap') +152.028 002.365 002.352: require('user.keys') +152.208 000.163 000.163: require('user.utils') +153.540 000.240 000.240: require('vim.treesitter.language') +153.578 000.651 000.411: require('vim.treesitter.query') +155.121 000.305 000.305: require('vim.treesitter.languagetree') +155.246 000.711 000.406: require('vim.treesitter') +155.730 001.749 001.038: require('nvim-treesitter.parsers') +155.944 000.201 000.201: require('nvim-treesitter.utils') +155.961 002.186 000.236: require('nvim-treesitter.ts_utils') +155.992 002.401 000.215: require('nvim-treesitter.tsrange') +156.165 000.160 000.160: require('nvim-treesitter.caching') +156.205 003.492 000.280: require('nvim-treesitter.query') +156.257 003.831 000.339: require('nvim-treesitter.configs') +157.024 000.176 000.176: require('nvim-treesitter.info') +157.266 000.224 000.224: require('nvim-treesitter.shell_command_selectors') +157.333 000.763 000.364: require('nvim-treesitter.install') +160.792 008.503 003.909: require('plugins.treesitter') +161.289 000.151 000.151: require('telescope._extensions') +161.304 000.325 000.173: require('telescope') +162.552 000.163 000.163: require('plenary.bit') +162.725 000.159 000.159: require('plenary.functional') +162.822 000.065 000.065: require('ffi') +162.860 000.728 000.341: require('plenary.path') +162.885 000.902 000.174: require('plenary.strings') +163.046 000.151 000.151: require('telescope.deprecated') +163.649 000.258 000.258: require('plenary.log') +163.709 000.447 000.189: require('telescope.log') +164.181 000.241 000.241: require('plenary.job') +164.336 000.138 000.138: require('telescope.state') +164.360 000.640 000.260: require('telescope.utils') +164.434 001.376 000.289: require('telescope.sorters') +164.678 000.206 000.206: require('vim.inspect') +170.255 008.538 005.902: require('telescope.config') +170.708 000.180 000.180: require('plenary.window.border') +170.878 000.155 000.155: require('plenary.window') +171.030 000.134 000.134: require('plenary.popup.utils') +171.051 000.770 000.301: require('plenary.popup') +171.236 000.173 000.173: require('telescope.pickers.scroller') +171.417 000.168 000.168: require('telescope.actions.state') +171.623 000.169 000.169: require('telescope.actions.utils') +172.039 000.220 000.220: require('telescope.actions.mt') +172.090 000.455 000.235: require('telescope.actions.set') +175.027 002.758 002.758: require('telescope.config.resolve') +175.052 002.952 000.194: require('telescope.pickers.entry_display') +175.227 000.163 000.163: require('telescope.from_entry') +175.954 014.640 001.252: require('telescope.actions') +177.793 000.171 000.171: require('plenary.tbl') +177.821 000.394 000.223: require('plenary.vararg.rotate') +177.830 000.591 000.197: require('plenary.vararg') +178.011 000.171 000.171: require('plenary.errors') +178.034 000.987 000.225: require('plenary.async.async') +178.268 000.224 000.224: require('plenary.async.structs') +178.297 001.585 000.373: require('plenary.async.control') +179.070 000.546 000.546: require('telescope.make_entry') +179.742 000.187 000.187: require('plenary.async.util') +179.752 000.345 000.159: require('plenary.async.tests') +179.763 000.506 000.161: require('plenary.async') +179.774 000.679 000.173: require('telescope.finders.async_static_finder') +180.312 000.160 000.160: require('plenary.class') +180.507 000.548 000.388: require('telescope._') +180.522 000.739 000.191: require('telescope.finders.async_oneshot_finder') +180.713 000.182 000.182: require('telescope.finders.async_job_finder') +180.737 002.423 000.277: require('telescope.finders') +181.431 000.263 000.263: require('telescope.debounce') +181.801 000.352 000.352: require('telescope.mappings') +182.018 000.199 000.199: require('telescope.pickers.highlights') +182.204 000.170 000.170: require('telescope.pickers.window') +182.632 000.202 000.202: require('telescope.algos.linked_list') +182.649 000.434 000.232: require('telescope.entry_manager') +182.831 000.172 000.172: require('telescope.pickers.multi') +182.901 002.150 000.560: require('telescope.pickers') +182.940 006.600 000.442: require('telescope.builtin.__lsp') +183.034 007.063 000.463: require('telescope.builtin') +183.646 000.401 000.401: require('fzf_lib') +183.670 000.622 000.222: require('telescope._extensions.fzf') +184.511 000.261 000.261: require('telescope._extensions.file_browser.utils') +184.787 000.864 000.602: require('telescope._extensions.file_browser.actions') +185.338 000.314 000.314: require('telescope._extensions.file_browser.make_entry') +185.715 000.355 000.355: require('plenary.scandir') +185.793 000.993 000.324: require('telescope._extensions.file_browser.finders') +186.004 000.199 000.199: require('telescope._extensions.file_browser.picker') +186.249 000.234 000.234: require('telescope._extensions.file_browser.config') +186.265 002.564 000.275: require('telescope._extensions.file_browser') +191.549 030.740 005.526: require('plugins.telescope') +194.146 000.178 000.178: require('notify.util.queue') +194.161 000.408 000.230: require('notify.util') +194.595 000.424 000.424: require('notify.config.highlights') +194.614 001.079 000.248: require('notify.config') +194.827 000.203 000.203: require('notify.stages') +195.018 000.178 000.178: require('notify.service.notification') +196.560 001.125 001.125: require('notify.animate.spring') +196.572 001.306 000.181: require('notify.animate') +196.611 001.579 000.273: require('notify.windows') +197.848 000.384 000.384: require('notify.service.buffer.highlights') +197.879 000.880 000.495: require('notify.service.buffer') +197.905 001.283 000.403: require('notify.service') +198.385 000.470 000.470: require('notify.stages.util') +198.512 005.229 000.437: require('notify') +198.889 000.363 000.363: require('nvim-tree.iterators.node-iterator') +199.110 006.086 000.494: require('nvim-tree.utils') +199.172 006.338 000.252: require('nvim-tree.events') +200.263 000.304 000.304: require('nvim-tree.log') +200.715 000.438 000.438: require('nvim-tree.git.utils') +201.129 000.401 000.401: require('nvim-tree.git.runner') +201.445 000.307 000.307: require('nvim-tree.watcher') +201.479 001.943 000.493: require('nvim-tree.git') +201.762 000.275 000.275: require('nvim-tree.explorer.watch') +201.982 000.211 000.211: require('nvim-tree.explorer.common') +202.468 000.220 000.220: require('nvim-tree.explorer.node-builders') +202.679 000.202 000.202: require('nvim-tree.explorer.sorters') +202.956 000.269 000.269: require('nvim-tree.explorer.filters') +204.114 000.871 000.871: require('nvim-tree.view') +204.194 001.222 000.351: require('nvim-tree.live-filter') +204.213 002.223 000.311: require('nvim-tree.explorer.explore') +204.646 000.425 000.425: require('nvim-tree.explorer.reload') +204.692 005.507 000.430: require('nvim-tree.explorer') +204.768 012.093 000.247: require('nvim-tree.core') +205.327 000.547 000.547: require('nvim-tree.diagnostics') +205.591 000.248 000.248: require('nvim-tree.renderer.components.padding') +205.856 000.257 000.257: require('nvim-tree.renderer.components.icons') +206.086 000.221 000.221: require('nvim-tree.renderer.components.full-name') +206.192 000.098 000.098: require('nvim-tree.renderer.help') +206.324 000.125 000.125: require('nvim-tree.renderer.components.git') +206.461 000.129 000.129: require('nvim-tree.renderer.builder') +206.570 000.102 000.102: require('nvim-tree.marks') +206.585 014.134 000.314: require('nvim-tree.renderer') +206.704 000.106 000.106: require('nvim-tree.actions.tree-modifiers.collapse-all') +206.799 000.087 000.087: require('nvim-tree.actions.root.dir-up') +206.912 000.106 000.106: require('nvim-tree.actions.root.change-dir') +207.022 000.102 000.102: require('nvim-tree.actions.reloaders.reloaders') +207.132 000.102 000.102: require('nvim-tree.actions.finders.find-file') +207.138 014.952 000.315: require('nvim-tree.lib') +207.258 000.114 000.114: require('nvim-tree.colors') +207.414 000.144 000.144: require('nvim-tree.legacy') +207.557 000.134 000.134: require('nvim-tree.actions.fs.copy-paste') +207.784 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') +207.886 000.094 000.094: require('nvim-tree.actions.tree-modifiers.toggles') +208.006 000.105 000.105: require('nvim-tree.actions.fs.create-file') +208.162 000.146 000.146: require('nvim-tree.actions.fs.rename-file') +208.306 000.133 000.133: require('nvim-tree.actions.fs.trash') +208.415 000.101 000.101: require('nvim-tree.actions.fs.remove-file') +208.516 000.090 000.090: require('nvim-tree.actions.moves.parent') +208.611 000.088 000.088: require('nvim-tree.actions.moves.sibling') +208.709 000.089 000.089: require('nvim-tree.actions.moves.item') +208.826 000.098 000.098: require('nvim-tree.actions.finders.search-node') +208.920 000.087 000.087: require('nvim-tree.actions.node.run-command') +209.051 000.125 000.125: require('nvim-tree.actions.node.file-popup') +209.172 000.114 000.114: require('nvim-tree.actions.node.system-open') +209.282 000.099 000.099: require('nvim-tree.marks.bulk-move') +209.290 001.720 000.251: require('nvim-tree.actions.dispatch') +209.324 017.537 000.472: require('nvim-tree') +209.415 000.084 000.084: require('nvim-tree.config') +214.294 000.227 000.227: require('nvim-tree.actions') +214.449 000.129 000.129: require('nvim-tree.actions.node.open-file') +217.414 000.103 000.103: require('nvim-tree.marks.navigation') +217.427 000.325 000.223: require('nvim-tree.api') +217.447 000.478 000.153: require('nvim-tree.keymap') +218.357 000.429 000.429: require('nvim-web-devicons') +222.592 031.020 012.137: require('plugins.nvim-tree') +223.080 000.103 000.103: require('cmp.utils.debug') +223.295 000.121 000.121: require('cmp.utils.char') +223.309 000.220 000.099: require('cmp.utils.str') +223.446 000.083 000.083: require('cmp.utils.pattern') +223.720 000.087 000.087: require('cmp.utils.misc') +223.831 000.084 000.084: require('cmp.utils.buffer') +223.932 000.094 000.094: require('cmp.utils.api') +223.943 000.406 000.142: require('cmp.utils.keymap') +223.952 000.498 000.092: require('cmp.utils.feedkeys') +224.053 000.096 000.096: require('cmp.utils.async') +224.323 000.073 000.073: require('cmp.types.cmp') +224.439 000.108 000.108: require('cmp.types.lsp') +224.518 000.072 000.072: require('cmp.types.vim') +224.523 000.378 000.124: require('cmp.types') +224.604 000.076 000.076: require('cmp.utils.cache') +224.612 000.551 000.097: require('cmp.context') +224.911 000.093 000.093: require('cmp.config.mapping') +225.106 000.094 000.094: require('cmp.config.compare') +225.112 000.188 000.095: require('cmp.config.default') +225.136 000.424 000.143: require('cmp.config') +225.334 000.078 000.078: require('cmp.matcher') +225.345 000.203 000.125: require('cmp.entry') +225.360 000.744 000.117: require('cmp.source') +225.526 000.073 000.073: require('cmp.utils.event') +225.714 000.096 000.096: require('cmp.utils.window') +225.722 000.189 000.093: require('cmp.view.docs_view') +225.922 000.085 000.085: require('cmp.utils.autocmd') +225.942 000.215 000.130: require('cmp.view.custom_entries_view') +226.063 000.115 000.115: require('cmp.view.wildmenu_entries_view') +226.170 000.101 000.101: require('cmp.view.native_entries_view') +226.267 000.090 000.090: require('cmp.view.ghost_text_view') +226.282 000.917 000.134: require('cmp.view') +226.609 003.752 000.539: require('cmp.core') +226.968 000.087 000.087: require('cmp.config.sources') +227.054 000.076 000.076: require('cmp.config.window') +227.157 004.417 000.502: require('cmp') +227.566 000.116 000.116: require('symbols-outline.config') +227.573 000.205 000.089: require('symbols-outline.symbols') +227.670 000.092 000.092: require('symbols-outline.ui') +227.761 000.083 000.083: require('symbols-outline.utils.table') +227.848 000.080 000.080: require('symbols-outline.folding') +227.854 000.576 000.116: require('symbols-outline.parser') +227.980 000.121 000.121: require('symbols-outline.providers.init') +228.099 000.112 000.112: require('symbols-outline.writer') +228.199 000.090 000.090: require('symbols-outline.utils.init') +228.290 000.085 000.085: require('symbols-outline.view') +228.304 001.140 000.156: require('symbols-outline') +228.630 000.115 000.115: require('symbols-outline.preview') +228.750 000.105 000.105: require('lspkind') +230.504 007.899 002.123: require('plugins.cmp') +231.031 000.080 000.080: require('luasnip.session') +231.175 000.135 000.135: require('luasnip.util.util') +231.271 000.088 000.088: require('luasnip.util.types') +231.508 000.139 000.139: require('luasnip.util.ext_opts') +231.523 000.245 000.105: require('luasnip.nodes.util') +231.646 000.113 000.113: require('luasnip.util.events') +231.665 000.810 000.149: require('luasnip.nodes.node') +231.912 000.092 000.092: require('luasnip.util.extend_decorator') +231.924 000.253 000.161: require('luasnip.nodes.insertNode') +232.075 000.145 000.145: require('luasnip.nodes.textNode') +232.192 000.104 000.104: require('luasnip.util.mark') +233.038 000.746 000.746: require('luasnip.util._builtin_vars') +233.324 001.126 000.380: require('luasnip.util.environ') +233.446 000.111 000.111: require('luasnip.util.pattern_tokenizer') +233.543 000.089 000.089: require('luasnip.util.dict') +233.661 000.111 000.111: require('luasnip.session.snippet_collection') +233.770 003.054 000.305: require('luasnip.nodes.snippet') +233.987 000.093 000.093: require('luasnip.loaders._caches') +234.123 000.128 000.128: require('luasnip.util.path') +234.172 000.388 000.167: require('luasnip.loaders') +234.345 000.136 000.136: require('luasnip.nodes.functionNode') +234.509 000.155 000.155: require('luasnip.nodes.choiceNode') +234.659 000.142 000.142: require('luasnip.nodes.dynamicNode') +234.813 000.147 000.147: require('luasnip.nodes.restoreNode') +235.190 000.100 000.100: require('luasnip.util.parser.neovim_ast') +239.746 000.109 000.109: require('luasnip.util.directed_graph') +239.766 004.787 004.578: require('luasnip.util.parser.ast_utils') +239.980 000.089 000.089: require('luasnip.util.functions') +239.997 000.224 000.135: require('luasnip.util.parser.ast_parser') +240.200 000.198 000.198: require('luasnip.util.parser.neovim_parser') +240.303 000.093 000.093: require('luasnip.util.str') +240.320 005.454 000.151: require('luasnip.util.parser') +240.551 000.094 000.094: require('luasnip.extras.filetype_functions') +240.699 000.108 000.108: require('luasnip.extras') +240.816 000.106 000.106: require('luasnip.extras.fmt') +241.095 000.097 000.097: require('luasnip.extras.conditions') +241.194 000.091 000.091: require('luasnip.extras.conditions.show') +241.287 000.373 000.185: require('luasnip.extras.conditions.expand') +241.292 000.467 000.095: require('luasnip.extras.expand_conditions') +241.417 000.114 000.114: require('luasnip.nodes.absolute_indexer') +241.792 001.466 000.577: require('luasnip.config') +241.802 011.208 000.265: require('luasnip') +242.023 000.105 000.105: require('luasnip.loaders.util') +242.034 000.225 000.120: require('luasnip.loaders.from_lua') +251.796 021.281 009.848: require('plugins.luasnip') +252.198 000.136 000.136: require('colorizer/nvim') +252.544 000.337 000.337: require('colorizer/trie') +252.823 000.908 000.434: require('colorizer') +254.835 003.023 002.115: require('plugins.colorizer') +255.212 000.088 000.088: require('prettier.utils') +255.245 000.224 000.136: require('prettier.options') +255.929 000.254 000.254: require('null-ls.methods') +255.957 000.404 000.150: require('null-ls.utils') +256.381 000.415 000.415: require('vim.diagnostic') +256.432 000.977 000.157: require('null-ls.config') +256.627 000.092 000.092: require('null-ls.helpers.cache') +256.747 000.112 000.112: require('null-ls.helpers.diagnostics') +256.849 000.090 000.090: require('null-ls.helpers.formatter_factory') +257.070 000.090 000.090: require('null-ls.logger') +257.177 000.100 000.100: require('null-ls.state') +257.185 000.328 000.138: require('null-ls.helpers.generator_factory') +257.389 000.098 000.098: require('null-ls.helpers.command_resolver') +257.396 000.206 000.108: require('null-ls.helpers.make_builtin') +257.496 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') +257.501 001.061 000.139: require('null-ls.helpers') +257.727 000.107 000.107: require('null-ls.diagnostics') +257.745 000.239 000.132: require('null-ls.sources') +257.848 000.095 000.095: require('null-ls.builtins') +257.855 002.490 000.117: require('null-ls') +257.945 000.084 000.084: require('prettier.cli') +257.957 002.705 000.131: require('prettier.null-ls') +257.963 003.031 000.102: require('prettier') +258.229 003.381 000.350: require('plugins.prettier') +258.396 000.086 000.086: require('git') +258.530 000.097 000.097: require('git.config') +258.717 000.478 000.296: require('plugins.git') +259.014 000.087 000.087: require('gitsigns.async') +259.118 000.095 000.095: require('gitsigns.status') +259.367 000.099 000.099: require('gitsigns.debug') +259.476 000.102 000.102: require('gitsigns.util') +259.677 000.094 000.094: require('gitsigns.uv') +259.684 000.200 000.106: require('gitsigns.subprocess') +260.111 000.083 000.083: require('gitsigns.message') +260.141 000.264 000.182: require('gitsigns.config') +260.234 000.086 000.086: require('gitsigns.signs.base') +260.241 000.447 000.097: require('gitsigns.signs') +260.250 000.560 000.114: require('gitsigns.hunks') +260.267 001.141 000.180: require('gitsigns.git') +260.483 000.087 000.087: require('gitsigns.cache') +260.581 000.090 000.090: require('gitsigns.debounce') +260.672 000.081 000.081: require('gitsigns.diff') +260.695 000.423 000.165: require('gitsigns.manager') +260.816 000.115 000.115: require('gitsigns.highlight') +260.843 002.048 000.186: require('gitsigns') +262.356 000.111 000.111: require('gitsigns.signs.vimfn') +264.815 006.090 003.930: require('plugins.gitsigns') +265.259 000.115 000.115: require('neoscroll.config') +265.372 000.104 000.104: require('neoscroll.utils') +265.524 000.543 000.324: require('neoscroll') +266.106 001.269 000.726: require('plugins.neoscroll') +266.540 000.130 000.130: require('cmp_nvim_lsp.source') +266.548 000.242 000.112: require('cmp_nvim_lsp') +266.651 000.094 000.094: require('lspconfig') +266.797 000.100 000.100: require('lspconfig.server_configurations.pylsp') +267.474 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') +267.914 000.120 000.120: require('lspconfig.server_configurations.clangd') +270.207 000.132 000.132: require('lspconfig.server_configurations.sumneko_lua') +271.896 005.779 004.957: require('plugins.lsp') +272.263 000.090 000.090: require('nvim-autopairs._log') +272.396 000.124 000.124: require('nvim-autopairs.utils') +272.730 000.120 000.120: require('nvim-autopairs.conds') +272.743 000.233 000.112: require('nvim-autopairs.rule') +272.749 000.345 000.113: require('nvim-autopairs.rules.basic') +272.768 000.761 000.201: require('nvim-autopairs') +272.922 000.119 000.119: require('nvim-autopairs.fastwrap') +273.366 000.116 000.116: require('nvim-autopairs.ts-conds') +273.373 000.225 000.109: require('nvim-autopairs.rules.ts_basic') +273.622 000.240 000.240: require('vim.treesitter.highlighter') +274.682 000.096 000.096: require('nvim-autopairs.completion.handlers') +274.699 000.225 000.129: require('nvim-autopairs.completion.cmp') +274.719 002.809 001.240: require('plugins.autopairs') +274.973 000.148 000.148: require('null-ls.builtins.formatting.prettierd') +275.120 000.134 000.134: require('null-ls.builtins.formatting.stylua') +275.247 000.114 000.114: require('null-ls.builtins.formatting.shfmt') +276.080 000.138 000.138: require('null-ls.client') +276.133 001.408 000.874: require('plugins.null-ls') +276.214 000.073 000.073: require('plugins.web-devicons') +276.685 000.094 000.094: require('zen-mode.util') +276.742 000.238 000.144: require('zen-mode.config') +276.857 000.105 000.105: require('zen-mode.plugins') +276.868 000.499 000.157: require('zen-mode.view') +276.874 000.588 000.088: require('zen-mode') +276.951 000.730 000.142: require('plugins.zen-mode') +280.901 000.104 000.104: require('doom-one.utils') +281.015 000.103 000.103: require('doom-one.colors') +281.037 000.543 000.336: require('doom-one') +283.851 004.333 003.790: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +287.915 000.282 000.282: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/syntax/synload.vim +288.303 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +289.433 000.073 000.073: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/filetype.lua +290.635 000.958 000.958: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/filetype.vim +291.465 000.187 000.187: require('filetype') +291.532 005.416 003.858: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/syntax/syntax.vim +291.899 000.121 000.121: require('notify.stages.fade_in_slide_out') +291.961 015.000 005.130: require('plugins.colorscheme') +292.318 000.102 000.102: require('heirline.conditions') +292.462 000.136 000.136: require('heirline.utils') +292.892 000.128 000.128: require('heirline.highlights') +292.906 000.246 000.118: require('heirline.statusline') +292.915 000.363 000.117: require('heirline') +293.199 000.151 000.151: require('nvim-navic') +297.460 005.490 004.739: require('plugins.heirline') +297.579 206.696 003.280: sourcing /home/srdusr/.config/nvim/init.lua +297.601 009.858: sourcing vimrc file(s) +303.525 000.995 000.995: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/gzip.vim +303.693 000.080 000.080: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/health.vim +306.245 001.340 001.340: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +306.645 002.883 001.543: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/matchit.vim +307.154 000.403 000.403: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/matchparen.vim +307.304 000.079 000.079: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/netrwPlugin.vim +307.723 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +307.746 000.376 000.354: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/rplugin.vim +308.005 000.197 000.197: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/shada.vim +308.146 000.055 000.055: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/spellfile.vim +308.288 000.064 000.064: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/tarPlugin.vim +308.419 000.061 000.061: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/tohtml.vim +308.535 000.047 000.047: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/tutor.vim +309.255 000.651 000.651: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/zipPlugin.vim +309.568 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +310.943 000.113 000.113: require('leap') +311.055 000.101 000.101: require('leap.user') +312.079 000.201 000.201: require('fidget.log') +312.102 000.380 000.179: require('fidget') +312.288 000.162 000.162: require('fidget.spinners') +313.002 000.087 000.087: require('crates.time') +313.013 000.191 000.104: require('crates.types') +313.022 000.302 000.111: require('crates.semver') +314.426 001.316 001.316: require('crates.config') +314.580 000.143 000.143: require('crates.toml') +314.590 001.562 000.102: require('crates.state') +314.614 002.029 000.165: require('crates.util') +314.628 002.152 000.123: require('crates.actions') +314.885 000.143 000.143: require('crates.api') +314.980 000.087 000.087: require('crates.async') +315.097 000.109 000.109: require('crates.diagnostic') +315.206 000.100 000.100: require('crates.ui') +315.215 000.580 000.142: require('crates.core') +315.445 000.116 000.116: require('crates.popup.common') +315.565 000.112 000.112: require('crates.popup.crate') +315.686 000.114 000.114: require('crates.popup.dependencies') +315.820 000.128 000.128: require('crates.popup.features') +315.947 000.120 000.120: require('crates.popup.versions') +315.962 000.742 000.152: require('crates.popup') +315.973 003.614 000.139: require('crates') +318.594 000.138 000.138: require('flit') +319.998 000.462 000.462: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +321.829 012.109 007.139: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +322.657 000.104 000.104: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/man.lua +322.832 007.085: loading rtp plugins +324.845 000.130 000.130: require('Comment.config') +325.158 000.156 000.156: require('Comment.ft') +325.168 000.311 000.155: require('Comment.utils') +325.273 000.098 000.098: require('Comment.opfunc') +325.388 000.108 000.108: require('Comment.extra') +325.397 000.811 000.164: require('Comment.api') +325.607 001.097 000.286: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +325.940 000.157 000.157: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +326.671 000.479 000.479: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +327.456 000.165 000.165: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +328.084 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +329.289 000.605 000.605: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +329.803 000.071 000.071: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +330.459 000.365 000.365: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +331.070 000.101 000.101: require('cmp.utils.highlight') +331.769 000.895 000.794: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +331.979 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +332.301 000.076 000.076: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +332.782 000.169 000.169: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +333.394 000.210 000.210: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +334.101 000.103 000.103: require('nvim-treesitter.statusline') +334.224 000.113 000.113: require('nvim-treesitter.query_predicates') +334.231 000.340 000.124: require('nvim-treesitter') +335.117 001.307 000.967: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +335.658 000.315 000.315: require('treesitter-context') +335.669 000.357 000.042: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +336.080 000.115 000.115: require('nvim-treesitter-refactor') +336.318 000.384 000.269: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +336.687 000.109 000.109: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +337.120 000.080 000.080: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +337.457 000.095 000.095: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +337.940 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +338.242 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +338.608 000.063 000.063: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +339.207 000.119 000.119: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +339.762 000.346 000.346: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +340.453 000.380 000.380: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +340.739 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +341.025 000.047 000.047: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +341.963 011.366: loading packages +350.002 000.084 000.084: require('cmp_buffer.timer') +350.017 000.206 000.122: require('cmp_buffer.buffer') +350.023 000.339 000.133: require('cmp_buffer.source') +350.028 000.438 000.099: require('cmp_buffer') +350.078 000.570 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +350.470 000.177 000.177: require('cmp_cmdline') +350.506 000.275 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +350.860 000.189 000.189: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +351.242 000.163 000.163: require('cmp_path') +351.281 000.267 000.105: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +351.632 000.112 000.112: require('cmp_luasnip') +351.699 000.246 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +352.162 000.128 000.128: require('crates.src.common') +352.170 000.251 000.123: require('crates.src.cmp') +352.201 000.350 000.099: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +352.309 008.449: loading after plugins +352.339 000.031: inits 3 +352.350 000.011: reading ShaDa +353.263 000.128 000.128: require('luasnip.nodes.snippetProxy') +353.275 000.302 000.173: require('luasnip.loaders.from_snipmate') +353.458 000.135 000.135: require('luasnip.loaders.from_vscode') +353.495 000.708: opening buffers +353.639 000.144: BufEnter autocommands +353.647 000.008: editing files in windows +371.448 000.434 000.434: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.043 001.043: --- NVIM STARTING --- +025.873 024.830: event init +041.409 015.536: early init +042.996 001.586: locale set +048.139 005.143: init first window +057.577 009.438: inits 1 +057.606 000.030: window checked +057.618 000.012: parsing arguments +068.779 000.263 000.263: require('vim.shared') +069.295 000.244 000.244: require('vim._meta') +069.308 000.509 000.265: require('vim._editor') +069.316 000.898 000.126: require('vim._init_packages') +069.323 010.807: init lua interpreter +069.484 000.161: expanding arguments +071.198 001.715: inits 2 +072.634 001.435: init highlight +072.644 000.010: waiting for UI +075.821 003.177: done waiting for UI +075.875 000.054: init screen for UI +076.234 000.359: init default mappings +076.269 000.035: init default autocommands +089.114 004.412 004.412: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/ftplugin.vim +092.346 001.099 001.099: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/indent.vim +092.854 000.059 000.059: sourcing /usr/share/nvim/archlinux.vim +092.881 000.211 000.152: sourcing /etc/xdg/nvim/sysinit.vim +134.501 041.215 041.215: require('impatient') +135.735 001.212 001.212: require('impatient.profile') +135.875 000.116 000.116: require('user.utils') +140.389 000.311 000.311: require('packer.util') +140.462 000.728 000.416: require('packer') +141.751 000.701 000.701: require('packer.log') +141.764 000.939 000.238: require('packer.async') +142.108 000.188 000.188: require('packer.result') +142.123 000.351 000.163: require('packer.jobs') +142.139 001.607 000.317: require('packer.plugin_utils') +142.423 000.255 000.255: require('packer.snapshot') +144.443 000.438 000.438: require('mason-core.path') +144.471 000.911 000.473: require('mason.settings') +145.255 000.298 000.298: require('mason-core.functional') +145.614 000.188 000.188: require('mason-core.functional.data') +145.627 000.342 000.154: require('mason-core.functional.function') +145.862 000.198 000.198: require('mason-core.functional.relation') +146.135 000.248 000.248: require('mason-core.functional.logic') +146.228 001.747 000.662: require('mason-core.platform') +146.240 003.239 000.582: require('mason') +146.620 000.158 000.158: require('mason-core.functional.list') +146.676 000.397 000.239: require('mason.api.command') +147.013 000.185 000.185: require('mason-core.log') +147.025 000.340 000.156: require('mason-lspconfig') +147.154 000.122 000.122: require('mason-lspconfig.settings') +147.554 000.161 000.161: require('mason-core.notify') +147.574 000.328 000.167: require('mason-lspconfig.lspconfig_hook') +149.141 000.365 000.365: require('vim.lsp.log') +150.607 000.014 000.014: require('vim.F') +150.620 001.467 001.453: require('vim.lsp.protocol') +151.940 000.646 000.646: require('vim.lsp._snippet') +152.773 000.813 000.813: require('vim.highlight') +152.834 002.204 000.745: require('vim.lsp.util') +152.872 004.479 000.444: require('vim.lsp.handlers') +153.673 000.788 000.788: require('vim.lsp.rpc') +154.124 000.425 000.425: require('vim.lsp.sync') +154.666 000.522 000.522: require('vim.lsp.buf') +155.125 000.441 000.441: require('vim.lsp.diagnostic') +155.474 000.335 000.335: require('vim.lsp.codelens') +155.819 008.071 001.081: require('vim.lsp') +156.085 008.504 000.433: require('lspconfig.util') +156.529 000.184 000.184: require('mason-core.functional.table') +156.675 000.558 000.374: require('mason-lspconfig.mappings.server') +157.343 000.355 000.355: require('mason-core.async') +157.574 000.215 000.215: require('mason-core.async.uv') +157.601 000.758 000.189: require('mason-core.fs') +157.861 000.249 000.249: require('mason-core.optional') +158.015 000.140 000.140: require('mason-core.EventEmitter') +158.384 000.320 000.320: require('mason-registry.index') +158.461 001.774 000.306: require('mason-registry') +158.624 000.148 000.148: require('mason-lspconfig.server_config_extensions') +158.879 000.244 000.244: require('lspconfig.configs') +159.337 000.333 000.333: require('lspconfig.server_configurations.omnisharp') +159.863 000.160 000.160: require('mason-lspconfig.ensure_installed') +160.496 000.149 000.149: require('mason-core.result') +161.376 000.407 000.407: require('mason-core.process') +161.673 000.990 000.583: require('mason-core.spawn') +161.921 000.181 000.181: require('mason-core.receipt') +162.174 000.220 000.220: require('mason-core.functional.string') +162.234 001.725 000.333: require('mason-core.installer.context') +162.492 000.247 000.247: require('mason-core.installer.linker') +162.652 000.148 000.148: require('mason-core.async.control') +162.665 002.492 000.224: require('mason-core.installer') +162.855 000.182 000.182: require('mason-core.installer.handle') +163.640 000.153 000.153: require('mason-core.managers.powershell') +163.651 000.307 000.154: require('mason-core.fetch') +163.657 000.443 000.136: require('mason-core.managers.cargo.client') +164.003 000.173 000.173: require('mason-core.managers.std') +164.303 000.136 000.136: require('mason-core.providers') +164.343 000.329 000.193: require('mason-core.managers.github.client') +164.368 000.704 000.202: require('mason-core.managers.github') +164.420 001.389 000.241: require('mason-core.managers.cargo') +164.748 000.319 000.319: require('mason-core.managers.composer') +165.076 000.316 000.316: require('mason-core.managers.gem') +165.275 000.187 000.187: require('mason-core.managers.git') +165.574 000.288 000.288: require('mason-core.managers.go') +165.823 000.233 000.233: require('mason-core.managers.luarocks') +166.011 000.179 000.179: require('mason-core.managers.npm') +166.214 000.193 000.193: require('mason-core.managers.pip3') +166.230 003.347 000.243: require('mason-core.package.version-check') +166.247 006.371 000.350: require('mason-core.package') +166.507 000.230 000.230: require('mason-registry.python-lsp-server') +166.883 000.156 000.156: require('mason-registry.pyright') +167.155 000.224 000.224: require('mason-registry.clangd') +167.438 000.164 000.164: require('mason-registry.lua-language-server') +167.742 000.126 000.126: require('mason-core.functional.number') +167.817 000.364 000.238: require('mason-lspconfig.api.command') +167.926 028.642 002.397: require('user.pack') +172.561 004.625 004.625: require('user.opts') +172.746 000.014 000.014: require('vim.keymap') +175.372 002.794 002.780: require('user.keys') +175.504 000.120 000.120: require('user.utils') +176.493 000.188 000.188: require('vim.treesitter.language') +176.518 000.553 000.365: require('vim.treesitter.query') +177.603 000.238 000.238: require('vim.treesitter.languagetree') +177.704 000.532 000.294: require('vim.treesitter') +178.087 001.284 000.752: require('nvim-treesitter.parsers') +178.297 000.199 000.199: require('nvim-treesitter.utils') +178.312 001.651 000.168: require('nvim-treesitter.ts_utils') +178.326 001.799 000.149: require('nvim-treesitter.tsrange') +178.464 000.130 000.130: require('nvim-treesitter.caching') +178.488 002.670 000.188: require('nvim-treesitter.query') +178.526 002.915 000.246: require('nvim-treesitter.configs') +179.029 000.132 000.132: require('nvim-treesitter.info') +179.204 000.163 000.163: require('nvim-treesitter.shell_command_selectors') +179.297 000.611 000.315: require('nvim-treesitter.install') +182.180 006.664 003.139: require('plugins.treesitter') +182.578 000.120 000.120: require('telescope._extensions') +182.590 000.246 000.127: require('telescope') +183.570 000.119 000.119: require('plenary.bit') +183.699 000.118 000.118: require('plenary.functional') +183.775 000.051 000.051: require('ffi') +183.804 000.575 000.286: require('plenary.path') +183.823 000.710 000.136: require('plenary.strings') +183.940 000.110 000.110: require('telescope.deprecated') +184.424 000.213 000.213: require('plenary.log') +184.471 000.364 000.151: require('telescope.log') +184.845 000.196 000.196: require('plenary.job') +184.967 000.110 000.110: require('telescope.state') +184.987 000.507 000.201: require('telescope.utils') +185.047 001.099 000.228: require('telescope.sorters') +185.195 000.115 000.115: require('vim.inspect') +190.082 007.179 005.145: require('telescope.config') +190.453 000.147 000.147: require('plenary.window.border') +190.576 000.112 000.112: require('plenary.window') +190.691 000.106 000.106: require('plenary.popup.utils') +190.701 000.600 000.235: require('plenary.popup') +190.894 000.186 000.186: require('telescope.pickers.scroller') +191.033 000.127 000.127: require('telescope.actions.state') +191.196 000.135 000.135: require('telescope.actions.utils') +191.481 000.129 000.129: require('telescope.actions.mt') +191.563 000.358 000.230: require('telescope.actions.set') +195.445 003.749 003.749: require('telescope.config.resolve') +195.463 003.890 000.141: require('telescope.pickers.entry_display') +195.616 000.142 000.142: require('telescope.from_entry') +196.093 013.496 000.878: require('telescope.actions') +197.503 000.144 000.144: require('plenary.tbl') +197.529 000.533 000.389: require('plenary.vararg.rotate') +197.534 000.672 000.138: require('plenary.vararg') +197.671 000.131 000.131: require('plenary.errors') +197.689 000.978 000.175: require('plenary.async.async') +197.861 000.165 000.165: require('plenary.async.structs') +197.932 001.368 000.224: require('plenary.async.control') +198.718 000.591 000.591: require('telescope.make_entry') +199.314 000.198 000.198: require('plenary.async.util') +199.325 000.314 000.117: require('plenary.async.tests') +199.330 000.439 000.124: require('plenary.async') +199.344 000.608 000.169: require('telescope.finders.async_static_finder') +199.745 000.113 000.113: require('plenary.class') +199.783 000.303 000.191: require('telescope._') +199.790 000.439 000.136: require('telescope.finders.async_oneshot_finder') +199.938 000.141 000.141: require('telescope.finders.async_job_finder') +199.954 002.008 000.229: require('telescope.finders') +200.494 000.198 000.198: require('telescope.debounce') +200.769 000.264 000.264: require('telescope.mappings') +200.942 000.156 000.156: require('telescope.pickers.highlights') +201.082 000.129 000.129: require('telescope.pickers.window') +201.389 000.143 000.143: require('telescope.algos.linked_list') +201.401 000.311 000.168: require('telescope.entry_manager') +201.587 000.180 000.180: require('telescope.pickers.multi') +201.645 001.685 000.447: require('telescope.pickers') +201.676 005.312 000.251: require('telescope.builtin.__lsp') +201.761 005.654 000.343: require('telescope.builtin') +202.279 000.347 000.347: require('fzf_lib') +202.297 000.526 000.179: require('telescope._extensions.fzf') +202.964 000.233 000.233: require('telescope._extensions.file_browser.utils') +203.171 000.702 000.469: require('telescope._extensions.file_browser.actions') +203.601 000.259 000.259: require('telescope._extensions.file_browser.make_entry') +203.866 000.248 000.248: require('plenary.scandir') +203.938 000.757 000.250: require('telescope._extensions.file_browser.finders') +204.115 000.166 000.166: require('telescope._extensions.file_browser.picker') +204.301 000.178 000.178: require('telescope._extensions.file_browser.config') +204.310 001.987 000.183: require('telescope._extensions.file_browser') +208.572 026.377 004.468: require('plugins.telescope') +210.283 000.144 000.144: require('notify.util.queue') +210.295 000.305 000.161: require('notify.util') +210.568 000.266 000.266: require('notify.config.highlights') +210.584 000.734 000.164: require('notify.config') +210.702 000.112 000.112: require('notify.stages') +210.834 000.123 000.123: require('notify.service.notification') +211.561 000.476 000.476: require('notify.animate.spring') +211.569 000.586 000.110: require('notify.animate') +211.591 000.749 000.163: require('notify.windows') +212.349 000.264 000.264: require('notify.service.buffer.highlights') +212.373 000.549 000.285: require('notify.service.buffer') +212.391 000.795 000.246: require('notify.service') +212.674 000.277 000.277: require('notify.stages.util') +212.761 003.067 000.276: require('notify') +212.979 000.210 000.210: require('nvim-tree.iterators.node-iterator') +213.126 003.604 000.327: require('nvim-tree.utils') +213.161 003.769 000.165: require('nvim-tree.events') +213.882 000.234 000.234: require('nvim-tree.log') +214.181 000.289 000.289: require('nvim-tree.git.utils') +214.463 000.273 000.273: require('nvim-tree.git.runner') +215.012 000.542 000.542: require('nvim-tree.watcher') +215.037 001.647 000.309: require('nvim-tree.git') +215.274 000.232 000.232: require('nvim-tree.explorer.watch') +215.451 000.169 000.169: require('nvim-tree.explorer.common') +215.937 000.214 000.214: require('nvim-tree.explorer.node-builders') +216.148 000.203 000.203: require('nvim-tree.explorer.sorters') +216.403 000.247 000.247: require('nvim-tree.explorer.filters') +217.275 000.589 000.589: require('nvim-tree.view') +217.318 000.890 000.302: require('nvim-tree.live-filter') +217.343 001.885 000.331: require('nvim-tree.explorer.explore') +217.587 000.237 000.237: require('nvim-tree.explorer.reload') +217.603 004.435 000.266: require('nvim-tree.explorer') +217.624 008.352 000.148: require('nvim-tree.core') +217.917 000.288 000.288: require('nvim-tree.diagnostics') +218.211 000.273 000.273: require('nvim-tree.renderer.components.padding') +218.490 000.270 000.270: require('nvim-tree.renderer.components.icons') +218.728 000.229 000.229: require('nvim-tree.renderer.components.full-name') +218.827 000.090 000.090: require('nvim-tree.renderer.help') +218.953 000.119 000.119: require('nvim-tree.renderer.components.git') +219.086 000.125 000.125: require('nvim-tree.renderer.builder') +219.189 000.095 000.095: require('nvim-tree.marks') +219.201 010.066 000.225: require('nvim-tree.renderer') +219.314 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') +219.408 000.086 000.086: require('nvim-tree.actions.root.dir-up') +219.512 000.097 000.097: require('nvim-tree.actions.root.change-dir') +219.614 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') +219.715 000.092 000.092: require('nvim-tree.actions.finders.find-file') +219.720 010.753 000.217: require('nvim-tree.lib') +219.828 000.101 000.101: require('nvim-tree.colors') +219.962 000.123 000.123: require('nvim-tree.legacy') +220.091 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') +220.300 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') +220.400 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') +220.516 000.100 000.100: require('nvim-tree.actions.fs.create-file') +220.616 000.092 000.092: require('nvim-tree.actions.fs.rename-file') +220.749 000.124 000.124: require('nvim-tree.actions.fs.trash') +220.856 000.100 000.100: require('nvim-tree.actions.fs.remove-file') +220.955 000.089 000.089: require('nvim-tree.actions.moves.parent') +221.050 000.088 000.088: require('nvim-tree.actions.moves.sibling') +221.144 000.085 000.085: require('nvim-tree.actions.moves.item') +221.256 000.093 000.093: require('nvim-tree.actions.finders.search-node') +221.348 000.086 000.086: require('nvim-tree.actions.node.run-command') +221.469 000.115 000.115: require('nvim-tree.actions.node.file-popup') +221.603 000.126 000.126: require('nvim-tree.actions.node.system-open') +221.765 000.150 000.150: require('nvim-tree.marks.bulk-move') +221.773 001.672 000.233: require('nvim-tree.actions.dispatch') +221.805 013.080 000.312: require('nvim-tree') +221.895 000.084 000.084: require('nvim-tree.config') +227.106 000.168 000.168: require('nvim-tree.actions') +227.243 000.120 000.120: require('nvim-tree.actions.node.open-file') +229.922 000.098 000.098: require('nvim-tree.marks.navigation') +229.934 000.287 000.189: require('nvim-tree.api') +229.956 000.435 000.148: require('nvim-tree.keymap') +230.992 000.401 000.401: require('nvim-web-devicons') +235.337 026.749 012.461: require('plugins.nvim-tree') +235.794 000.078 000.078: require('cmp.utils.debug') +236.048 000.163 000.163: require('cmp.utils.char') +236.064 000.260 000.097: require('cmp.utils.str') +236.198 000.085 000.085: require('cmp.utils.pattern') +236.498 000.089 000.089: require('cmp.utils.misc') +236.609 000.082 000.082: require('cmp.utils.buffer') +236.704 000.089 000.089: require('cmp.utils.api') +236.715 000.426 000.167: require('cmp.utils.keymap') +236.724 000.518 000.092: require('cmp.utils.feedkeys') +236.824 000.095 000.095: require('cmp.utils.async') +237.098 000.078 000.078: require('cmp.types.cmp') +237.287 000.182 000.182: require('cmp.types.lsp') +237.381 000.084 000.084: require('cmp.types.vim') +237.387 000.472 000.128: require('cmp.types') +237.467 000.076 000.076: require('cmp.utils.cache') +237.475 000.643 000.096: require('cmp.context') +237.753 000.091 000.091: require('cmp.config.mapping') +237.946 000.093 000.093: require('cmp.config.compare') +237.953 000.188 000.095: require('cmp.config.default') +237.976 000.399 000.120: require('cmp.config') +238.192 000.099 000.099: require('cmp.matcher') +238.205 000.222 000.124: require('cmp.entry') +238.220 000.740 000.118: require('cmp.source') +238.392 000.075 000.075: require('cmp.utils.event') +238.583 000.098 000.098: require('cmp.utils.window') +238.591 000.191 000.093: require('cmp.view.docs_view') +238.792 000.084 000.084: require('cmp.utils.autocmd') +238.812 000.217 000.133: require('cmp.view.custom_entries_view') +238.932 000.114 000.114: require('cmp.view.wildmenu_entries_view') +239.039 000.100 000.100: require('cmp.view.native_entries_view') +239.135 000.090 000.090: require('cmp.view.ghost_text_view') +239.150 000.925 000.139: require('cmp.view') +239.265 003.671 000.326: require('cmp.core') +239.528 000.085 000.085: require('cmp.config.sources') +239.612 000.074 000.074: require('cmp.config.window') +239.714 004.237 000.406: require('cmp') +240.123 000.116 000.116: require('symbols-outline.config') +240.129 000.204 000.088: require('symbols-outline.symbols') +240.224 000.090 000.090: require('symbols-outline.ui') +240.314 000.082 000.082: require('symbols-outline.utils.table') +240.398 000.078 000.078: require('symbols-outline.folding') +240.404 000.570 000.118: require('symbols-outline.parser') +240.491 000.082 000.082: require('symbols-outline.providers.init') +240.589 000.091 000.091: require('symbols-outline.writer') +240.680 000.084 000.084: require('symbols-outline.utils.init') +240.768 000.082 000.082: require('symbols-outline.view') +240.782 001.061 000.152: require('symbols-outline') +241.055 000.148 000.148: require('symbols-outline.preview') +241.175 000.104 000.104: require('lspkind') +243.126 007.777 002.227: require('plugins.cmp') +243.657 000.081 000.081: require('luasnip.session') +243.819 000.153 000.153: require('luasnip.util.util') +243.913 000.087 000.087: require('luasnip.util.types') +244.101 000.089 000.089: require('luasnip.util.ext_opts') +244.111 000.190 000.101: require('luasnip.nodes.util') +244.201 000.084 000.084: require('luasnip.util.events') +244.219 000.738 000.143: require('luasnip.nodes.node') +244.460 000.092 000.092: require('luasnip.util.extend_decorator') +244.472 000.248 000.156: require('luasnip.nodes.insertNode') +244.592 000.115 000.115: require('luasnip.nodes.textNode') +244.701 000.097 000.097: require('luasnip.util.mark') +245.547 000.735 000.735: require('luasnip.util._builtin_vars') +245.729 001.022 000.286: require('luasnip.util.environ') +245.849 000.110 000.110: require('luasnip.util.pattern_tokenizer') +245.939 000.082 000.082: require('luasnip.util.dict') +246.058 000.112 000.112: require('luasnip.session.snippet_collection') +246.170 002.830 000.308: require('luasnip.nodes.snippet') +246.378 000.090 000.090: require('luasnip.loaders._caches') +246.512 000.126 000.126: require('luasnip.util.path') +246.557 000.372 000.157: require('luasnip.loaders') +246.727 000.134 000.134: require('luasnip.nodes.functionNode') +246.886 000.151 000.151: require('luasnip.nodes.choiceNode') +247.035 000.142 000.142: require('luasnip.nodes.dynamicNode') +247.182 000.139 000.139: require('luasnip.nodes.restoreNode') +247.578 000.102 000.102: require('luasnip.util.parser.neovim_ast') +252.388 000.107 000.107: require('luasnip.util.directed_graph') +252.408 005.073 004.864: require('luasnip.util.parser.ast_utils') +252.620 000.088 000.088: require('luasnip.util.functions') +252.636 000.222 000.134: require('luasnip.util.parser.ast_parser') +252.818 000.176 000.176: require('luasnip.util.parser.neovim_parser') +252.920 000.093 000.093: require('luasnip.util.str') +252.933 005.700 000.135: require('luasnip.util.parser') +253.159 000.096 000.096: require('luasnip.extras.filetype_functions') +253.302 000.105 000.105: require('luasnip.extras') +253.415 000.100 000.100: require('luasnip.extras.fmt') +253.691 000.088 000.088: require('luasnip.extras.conditions') +253.787 000.088 000.088: require('luasnip.extras.conditions.show') +253.867 000.349 000.172: require('luasnip.extras.conditions.expand') +253.872 000.450 000.101: require('luasnip.extras.expand_conditions') +253.981 000.098 000.098: require('luasnip.nodes.absolute_indexer') +254.431 001.492 000.643: require('luasnip.config') +254.441 011.223 000.263: require('luasnip') +254.658 000.102 000.102: require('luasnip.loaders.util') +254.672 000.224 000.122: require('luasnip.loaders.from_lua') +264.076 020.939 009.492: require('plugins.luasnip') +264.465 000.145 000.145: require('colorizer/nvim') +264.805 000.332 000.332: require('colorizer/trie') +265.104 000.925 000.448: require('colorizer') +266.944 002.850 001.926: require('plugins.colorizer') +267.327 000.092 000.092: require('prettier.utils') +267.361 000.231 000.139: require('prettier.options') +268.061 000.272 000.272: require('null-ls.methods') +268.088 000.416 000.144: require('null-ls.utils') +268.574 000.476 000.476: require('vim.diagnostic') +268.652 001.077 000.185: require('null-ls.config') +268.845 000.086 000.086: require('null-ls.helpers.cache') +268.966 000.113 000.113: require('null-ls.helpers.diagnostics') +269.069 000.096 000.096: require('null-ls.helpers.formatter_factory') +269.290 000.089 000.089: require('null-ls.logger') +269.398 000.102 000.102: require('null-ls.state') +269.406 000.330 000.139: require('null-ls.helpers.generator_factory') +269.611 000.098 000.098: require('null-ls.helpers.command_resolver') +269.617 000.205 000.107: require('null-ls.helpers.make_builtin') +269.717 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') +269.722 001.061 000.136: require('null-ls.helpers') +269.945 000.110 000.110: require('null-ls.diagnostics') +269.963 000.236 000.126: require('null-ls.sources') +270.072 000.101 000.101: require('null-ls.builtins') +270.079 002.597 000.122: require('null-ls') +270.167 000.084 000.084: require('prettier.cli') +270.179 002.811 000.130: require('prettier.null-ls') +270.185 003.143 000.100: require('prettier') +270.428 003.471 000.328: require('plugins.prettier') +270.593 000.087 000.087: require('git') +270.723 000.093 000.093: require('git.config') +270.894 000.456 000.276: require('plugins.git') +271.192 000.088 000.088: require('gitsigns.async') +271.290 000.089 000.089: require('gitsigns.status') +271.560 000.113 000.113: require('gitsigns.debug') +271.672 000.104 000.104: require('gitsigns.util') +271.866 000.094 000.094: require('gitsigns.uv') +271.876 000.198 000.104: require('gitsigns.subprocess') +272.295 000.087 000.087: require('gitsigns.message') +272.324 000.263 000.176: require('gitsigns.config') +272.416 000.084 000.084: require('gitsigns.signs.base') +272.423 000.441 000.094: require('gitsigns.signs') +272.432 000.549 000.108: require('gitsigns.hunks') +272.450 001.153 000.189: require('gitsigns.git') +272.665 000.086 000.086: require('gitsigns.cache') +272.762 000.088 000.088: require('gitsigns.debounce') +272.851 000.080 000.080: require('gitsigns.diff') +272.875 000.418 000.164: require('gitsigns.manager') +272.995 000.114 000.114: require('gitsigns.highlight') +273.015 002.046 000.184: require('gitsigns') +274.589 000.118 000.118: require('gitsigns.signs.vimfn') +277.079 006.178 004.014: require('plugins.gitsigns') +277.520 000.108 000.108: require('neoscroll.config') +277.630 000.095 000.095: require('neoscroll.utils') +277.778 000.525 000.322: require('neoscroll') +278.364 001.261 000.737: require('plugins.neoscroll') +278.865 000.104 000.104: require('cmp_nvim_lsp.source') +278.875 000.231 000.127: require('cmp_nvim_lsp') +279.004 000.097 000.097: require('lspconfig') +279.153 000.103 000.103: require('lspconfig.server_configurations.pylsp') +279.728 000.133 000.133: require('mason-lspconfig.server_configurations.pylsp') +280.312 000.128 000.128: require('lspconfig.server_configurations.clangd') +282.706 000.142 000.142: require('lspconfig.server_configurations.sumneko_lua') +284.640 006.264 005.431: require('plugins.lsp') +285.021 000.095 000.095: require('nvim-autopairs._log') +285.146 000.115 000.115: require('nvim-autopairs.utils') +285.481 000.119 000.119: require('nvim-autopairs.conds') +285.492 000.233 000.115: require('nvim-autopairs.rule') +285.500 000.346 000.113: require('nvim-autopairs.rules.basic') +285.516 000.770 000.213: require('nvim-autopairs') +285.666 000.115 000.115: require('nvim-autopairs.fastwrap') +286.180 000.113 000.113: require('nvim-autopairs.ts-conds') +286.188 000.226 000.113: require('nvim-autopairs.rules.ts_basic') +286.508 000.315 000.315: require('vim.treesitter.highlighter') +287.541 000.094 000.094: require('nvim-autopairs.completion.handlers') +287.558 000.222 000.127: require('nvim-autopairs.completion.cmp') +287.576 002.925 001.278: require('plugins.autopairs') +287.814 000.155 000.155: require('null-ls.builtins.formatting.prettierd') +287.954 000.127 000.127: require('null-ls.builtins.formatting.stylua') +288.076 000.113 000.113: require('null-ls.builtins.formatting.shfmt') +288.727 000.141 000.141: require('null-ls.client') +288.784 001.201 000.665: require('plugins.null-ls') +288.862 000.070 000.070: require('plugins.web-devicons') +289.333 000.091 000.091: require('zen-mode.util') +289.400 000.248 000.157: require('zen-mode.config') +289.510 000.101 000.101: require('zen-mode.plugins') +289.524 000.508 000.159: require('zen-mode.view') +289.530 000.597 000.089: require('zen-mode') +289.654 000.786 000.189: require('plugins.zen-mode') +294.376 000.098 000.098: require('doom-one.utils') +294.487 000.101 000.101: require('doom-one.colors') +294.506 000.531 000.332: require('doom-one') +297.288 004.288 003.757: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +301.699 000.302 000.302: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/syntax/synload.vim +302.068 000.055 000.055: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +303.439 000.092 000.092: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/filetype.lua +306.036 002.162 002.162: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/filetype.vim +306.947 000.151 000.151: require('filetype') +307.013 007.337 004.576: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/syntax/syntax.vim +307.393 000.132 000.132: require('notify.stages.fade_in_slide_out') +307.459 017.795 006.038: require('plugins.colorscheme') +307.824 000.100 000.100: require('heirline.conditions') +307.963 000.131 000.131: require('heirline.utils') +308.345 000.103 000.103: require('heirline.highlights') +308.356 000.248 000.145: require('heirline.statusline') +308.367 000.367 000.119: require('heirline') +308.667 000.152 000.152: require('nvim-navic') +313.263 005.794 005.044: require('plugins.heirline') +313.406 220.427 004.146: sourcing /home/srdusr/.config/nvim/init.lua +313.429 011.011: sourcing vimrc file(s) +321.468 001.924 001.924: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/gzip.vim +321.716 000.085 000.085: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/health.vim +325.096 002.170 002.170: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +325.495 003.711 001.541: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/matchit.vim +326.007 000.407 000.407: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/matchparen.vim +326.156 000.079 000.079: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/netrwPlugin.vim +326.562 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +326.583 000.363 000.342: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/rplugin.vim +326.838 000.196 000.196: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/shada.vim +326.967 000.051 000.051: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/spellfile.vim +327.099 000.064 000.064: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/tarPlugin.vim +327.228 000.059 000.059: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/tohtml.vim +327.341 000.045 000.045: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/tutor.vim +328.530 001.117 001.117: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/zipPlugin.vim +328.803 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +330.175 000.116 000.116: require('leap') +330.280 000.095 000.095: require('leap.user') +331.323 000.197 000.197: require('fidget.log') +331.342 000.375 000.178: require('fidget') +331.546 000.184 000.184: require('fidget.spinners') +332.276 000.081 000.081: require('crates.time') +332.286 000.186 000.104: require('crates.types') +332.295 000.297 000.112: require('crates.semver') +333.846 001.464 001.464: require('crates.config') +333.996 000.140 000.140: require('crates.toml') +334.005 001.704 000.100: require('crates.state') +334.035 002.179 000.178: require('crates.util') +334.046 002.302 000.123: require('crates.actions') +334.296 000.146 000.146: require('crates.api') +334.389 000.085 000.085: require('crates.async') +334.503 000.107 000.107: require('crates.diagnostic') +334.610 000.098 000.098: require('crates.ui') +334.619 000.567 000.131: require('crates.core') +334.863 000.140 000.140: require('crates.popup.common') +334.980 000.109 000.109: require('crates.popup.crate') +335.103 000.117 000.117: require('crates.popup.dependencies') +335.255 000.145 000.145: require('crates.popup.features') +335.382 000.119 000.119: require('crates.popup.versions') +335.393 000.770 000.140: require('crates.popup') +335.407 003.791 000.152: require('crates') +337.901 000.128 000.128: require('flit') +338.950 000.320 000.320: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +341.092 012.149 007.140: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +341.917 000.098 000.098: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/man.lua +342.151 008.337: loading rtp plugins +344.125 000.093 000.093: require('Comment.config') +344.450 000.155 000.155: require('Comment.ft') +344.460 000.326 000.170: require('Comment.utils') +344.561 000.095 000.095: require('Comment.opfunc') +344.659 000.091 000.091: require('Comment.extra') +344.667 000.785 000.180: require('Comment.api') +344.902 001.102 000.317: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +345.230 000.157 000.157: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +345.949 000.474 000.474: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +346.705 000.135 000.135: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +347.305 000.038 000.038: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +348.641 000.779 000.779: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +349.149 000.069 000.069: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +349.789 000.357 000.357: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +350.411 000.128 000.128: require('cmp.utils.highlight') +350.968 000.781 000.653: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +351.172 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +351.483 000.076 000.076: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +351.955 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +352.581 000.219 000.219: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +353.268 000.097 000.097: require('nvim-treesitter.statusline') +353.391 000.114 000.114: require('nvim-treesitter.query_predicates') +353.398 000.332 000.120: require('nvim-treesitter') +354.021 001.035 000.703: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +354.535 000.309 000.309: require('treesitter-context') +354.546 000.349 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +354.980 000.120 000.120: require('nvim-treesitter-refactor') +355.138 000.339 000.219: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +355.491 000.105 000.105: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +355.912 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +356.231 000.091 000.091: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +356.703 000.026 000.026: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +356.974 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +357.330 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +357.912 000.114 000.114: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +358.462 000.349 000.349: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +359.134 000.374 000.374: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +359.412 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +359.699 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +361.225 011.658: loading packages +369.379 000.085 000.085: require('cmp_buffer.timer') +369.394 000.207 000.123: require('cmp_buffer.buffer') +369.400 000.316 000.108: require('cmp_buffer.source') +369.405 000.417 000.101: require('cmp_buffer') +369.459 000.553 000.136: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +369.843 000.173 000.173: require('cmp_cmdline') +369.877 000.273 000.100: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +370.124 000.088 000.088: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +370.523 000.159 000.159: require('cmp_path') +370.558 000.287 000.128: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +370.898 000.117 000.117: require('cmp_luasnip') +370.960 000.246 000.129: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +371.418 000.125 000.125: require('crates.src.common') +371.429 000.230 000.104: require('crates.src.cmp') +371.460 000.348 000.119: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +371.580 008.560: loading after plugins +371.611 000.031: inits 3 +371.623 000.012: reading ShaDa +372.682 000.146 000.146: require('luasnip.nodes.snippetProxy') +372.694 000.352 000.207: require('luasnip.loaders.from_snipmate') +372.863 000.125 000.125: require('luasnip.loaders.from_vscode') +372.898 000.797: opening buffers +373.203 000.306: BufEnter autocommands +373.212 000.009: editing files in windows +394.818 000.621 000.621: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.054 001.054: --- NVIM STARTING --- +026.719 025.665: event init +045.271 018.552: early init +046.890 001.620: locale set +052.120 005.230: init first window +061.548 009.428: inits 1 +061.587 000.039: window checked +061.598 000.012: parsing arguments +072.780 000.294 000.294: require('vim.shared') +073.297 000.239 000.239: require('vim._meta') +073.310 000.508 000.270: require('vim._editor') +073.318 000.929 000.127: require('vim._init_packages') +073.325 010.798: init lua interpreter +073.488 000.163: expanding arguments +075.278 001.790: inits 2 +076.638 001.360: init highlight +076.646 000.009: waiting for UI +078.808 002.161: done waiting for UI +078.854 000.046: init screen for UI +079.098 000.244: init default mappings +079.126 000.027: init default autocommands +088.116 004.027 004.027: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/ftplugin.vim +090.571 000.984 000.984: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/indent.vim +090.883 000.031 000.031: sourcing /usr/share/nvim/archlinux.vim +090.897 000.096 000.065: sourcing /etc/xdg/nvim/sysinit.vim +123.208 032.086 032.086: require('impatient') +124.160 000.935 000.935: require('impatient.profile') +124.274 000.094 000.094: require('user.utils') +127.900 000.251 000.251: require('packer.util') +127.962 000.582 000.331: require('packer') +129.096 000.701 000.701: require('packer.log') +129.109 000.881 000.180: require('packer.async') +129.615 000.368 000.368: require('packer.result') +129.625 000.509 000.141: require('packer.jobs') +129.643 001.625 000.235: require('packer.plugin_utils') +129.855 000.187 000.187: require('packer.snapshot') +131.094 000.106 000.106: require('mason-core.path') +131.115 000.246 000.141: require('mason.settings') +131.416 000.157 000.157: require('mason-core.functional') +131.655 000.101 000.101: require('mason-core.functional.data') +131.665 000.226 000.125: require('mason-core.functional.function') +131.901 000.200 000.200: require('mason-core.functional.relation') +132.073 000.144 000.144: require('mason-core.functional.logic') +132.152 001.028 000.302: require('mason-core.platform') +132.158 001.616 000.342: require('mason') +132.766 000.254 000.254: require('mason-core.functional.list') +132.821 000.626 000.372: require('mason.api.command') +133.180 000.159 000.159: require('mason-core.log') +133.192 000.363 000.204: require('mason-lspconfig') +133.300 000.101 000.101: require('mason-lspconfig.settings') +133.590 000.091 000.091: require('mason-core.notify') +133.608 000.233 000.142: require('mason-lspconfig.lspconfig_hook') +134.800 000.250 000.250: require('vim.lsp.log') +136.032 000.017 000.017: require('vim.F') +136.042 001.231 001.215: require('vim.lsp.protocol') +136.743 000.299 000.299: require('vim.lsp._snippet') +136.965 000.212 000.212: require('vim.highlight') +137.005 000.954 000.444: require('vim.lsp.util') +137.046 002.783 000.348: require('vim.lsp.handlers') +137.355 000.300 000.300: require('vim.lsp.rpc') +137.574 000.208 000.208: require('vim.lsp.sync') +137.899 000.315 000.315: require('vim.lsp.buf') +138.168 000.219 000.219: require('vim.lsp.diagnostic') +138.446 000.229 000.229: require('vim.lsp.codelens') +138.651 004.899 000.845: require('vim.lsp') +138.854 005.240 000.341: require('lspconfig.util') +139.184 000.108 000.108: require('mason-core.functional.table') +139.290 000.408 000.300: require('mason-lspconfig.mappings.server') +139.730 000.208 000.208: require('mason-core.async') +139.874 000.132 000.132: require('mason-core.async.uv') +139.892 000.478 000.138: require('mason-core.fs') +140.016 000.116 000.116: require('mason-core.optional') +140.125 000.099 000.099: require('mason-core.EventEmitter') +140.374 000.232 000.232: require('mason-registry.index') +140.402 001.102 000.176: require('mason-registry') +140.516 000.106 000.106: require('mason-lspconfig.server_config_extensions') +140.656 000.132 000.132: require('lspconfig.configs') +140.834 000.122 000.122: require('lspconfig.server_configurations.omnisharp') +141.223 000.119 000.119: require('mason-lspconfig.ensure_installed') +141.645 000.109 000.109: require('mason-core.result') +142.222 000.294 000.294: require('mason-core.process') +142.314 000.531 000.236: require('mason-core.spawn') +142.445 000.120 000.120: require('mason-core.receipt') +142.580 000.107 000.107: require('mason-core.functional.string') +142.615 000.961 000.203: require('mason-core.installer.context') +142.737 000.115 000.115: require('mason-core.installer.linker') +142.852 000.107 000.107: require('mason-core.async.control') +142.865 001.497 000.205: require('mason-core.installer') +143.011 000.139 000.139: require('mason-core.installer.handle') +143.600 000.110 000.110: require('mason-core.managers.powershell') +143.608 000.228 000.118: require('mason-core.fetch') +143.612 000.329 000.101: require('mason-core.managers.cargo.client') +143.885 000.134 000.134: require('mason-core.managers.std') +144.203 000.194 000.194: require('mason-core.providers') +144.236 000.343 000.149: require('mason-core.managers.github.client') +144.253 000.636 000.158: require('mason-core.managers.github') +144.384 001.241 000.276: require('mason-core.managers.cargo') +144.635 000.242 000.242: require('mason-core.managers.composer') +144.834 000.189 000.189: require('mason-core.managers.gem') +144.960 000.118 000.118: require('mason-core.managers.git') +145.247 000.279 000.279: require('mason-core.managers.go') +145.466 000.209 000.209: require('mason-core.managers.luarocks') +145.649 000.174 000.174: require('mason-core.managers.npm') +145.848 000.190 000.190: require('mason-core.managers.pip3') +145.866 002.833 000.191: require('mason-core.package.version-check') +145.877 004.644 000.175: require('mason-core.package') +146.057 000.125 000.125: require('mason-registry.python-lsp-server') +146.345 000.123 000.123: require('mason-registry.pyright') +146.533 000.157 000.157: require('mason-registry.clangd') +146.723 000.160 000.160: require('mason-registry.lua-language-server') +146.975 000.101 000.101: require('mason-core.functional.number') +147.035 000.298 000.198: require('mason-lspconfig.api.command') +147.125 020.114 002.044: require('user.pack') +149.907 002.773 002.773: require('user.opts') +150.071 000.013 000.013: require('vim.keymap') +152.326 002.405 002.392: require('user.keys') +152.443 000.106 000.106: require('user.utils') +153.519 000.234 000.234: require('vim.treesitter.language') +153.541 000.706 000.472: require('vim.treesitter.query') +154.643 000.272 000.272: require('vim.treesitter.languagetree') +154.729 000.611 000.339: require('vim.treesitter') +155.060 001.268 000.657: require('nvim-treesitter.parsers') +155.244 000.175 000.175: require('nvim-treesitter.utils') +155.262 001.593 000.151: require('nvim-treesitter.ts_utils') +155.274 001.723 000.130: require('nvim-treesitter.tsrange') +155.385 000.103 000.103: require('nvim-treesitter.caching') +155.407 002.709 000.177: require('nvim-treesitter.query') +155.449 002.912 000.204: require('nvim-treesitter.configs') +155.982 000.118 000.118: require('nvim-treesitter.info') +156.142 000.148 000.148: require('nvim-treesitter.shell_command_selectors') +156.189 000.514 000.248: require('nvim-treesitter.install') +158.645 006.192 002.765: require('plugins.treesitter') +158.987 000.104 000.104: require('telescope._extensions') +159.007 000.233 000.130: require('telescope') +159.944 000.104 000.104: require('plenary.bit') +160.059 000.106 000.106: require('plenary.functional') +160.124 000.044 000.044: require('ffi') +160.149 000.473 000.220: require('plenary.path') +160.166 000.602 000.129: require('plenary.strings') +160.268 000.097 000.097: require('telescope.deprecated') +160.751 000.250 000.250: require('plenary.log') +160.825 000.418 000.168: require('telescope.log') +161.147 000.157 000.157: require('plenary.job') +161.252 000.096 000.096: require('telescope.state') +161.270 000.435 000.182: require('telescope.utils') +161.326 001.050 000.196: require('telescope.sorters') +161.490 000.139 000.139: require('vim.inspect') +166.236 006.852 004.965: require('telescope.config') +166.528 000.121 000.121: require('plenary.window.border') +166.629 000.091 000.091: require('plenary.window') +166.724 000.087 000.087: require('plenary.popup.utils') +166.732 000.480 000.181: require('plenary.popup') +166.839 000.101 000.101: require('telescope.pickers.scroller') +166.959 000.113 000.113: require('telescope.actions.state') +167.106 000.117 000.117: require('telescope.actions.utils') +167.341 000.103 000.103: require('telescope.actions.mt') +167.373 000.258 000.155: require('telescope.actions.set') +169.733 002.241 002.241: require('telescope.config.resolve') +169.744 002.365 000.124: require('telescope.pickers.entry_display') +169.860 000.108 000.108: require('telescope.from_entry') +170.312 011.299 000.903: require('telescope.actions') +171.316 000.117 000.117: require('plenary.tbl') +171.327 000.241 000.124: require('plenary.vararg.rotate') +171.331 000.353 000.112: require('plenary.vararg') +171.430 000.093 000.093: require('plenary.errors') +171.441 000.576 000.130: require('plenary.async.async') +171.553 000.106 000.106: require('plenary.async.structs') +171.572 000.852 000.170: require('plenary.async.control') +172.059 000.366 000.366: require('telescope.make_entry') +172.545 000.124 000.124: require('plenary.async.util') +172.552 000.232 000.109: require('plenary.async.tests') +172.559 000.357 000.124: require('plenary.async') +172.566 000.486 000.129: require('telescope.finders.async_static_finder') +172.918 000.097 000.097: require('plenary.class') +172.954 000.264 000.167: require('telescope._') +172.961 000.390 000.126: require('telescope.finders.async_oneshot_finder') +173.084 000.117 000.117: require('telescope.finders.async_job_finder') +173.102 001.521 000.162: require('telescope.finders') +173.637 000.251 000.251: require('telescope.debounce') +174.071 000.424 000.424: require('telescope.mappings') +174.238 000.154 000.154: require('telescope.pickers.highlights') +174.369 000.120 000.120: require('telescope.pickers.window') +174.642 000.127 000.127: require('telescope.algos.linked_list') +174.653 000.277 000.150: require('telescope.entry_manager') +174.783 000.125 000.125: require('telescope.pickers.multi') +174.828 001.718 000.368: require('telescope.pickers') +174.854 004.323 000.233: require('telescope.builtin.__lsp') +174.927 004.604 000.281: require('telescope.builtin') +175.405 000.316 000.316: require('fzf_lib') +175.420 000.483 000.167: require('telescope._extensions.fzf') +175.960 000.185 000.185: require('telescope._extensions.file_browser.utils') +176.111 000.548 000.364: require('telescope._extensions.file_browser.actions') +176.451 000.192 000.192: require('telescope._extensions.file_browser.make_entry') +176.694 000.229 000.229: require('plenary.scandir') +176.753 000.633 000.212: require('telescope._extensions.file_browser.finders') +176.891 000.131 000.131: require('telescope._extensions.file_browser.picker') +177.052 000.154 000.154: require('telescope._extensions.file_browser.config') +177.062 001.621 000.155: require('telescope._extensions.file_browser') +180.680 022.022 003.782: require('plugins.telescope') +182.265 000.103 000.103: require('notify.util.queue') +182.275 000.231 000.128: require('notify.util') +182.549 000.268 000.268: require('notify.config.highlights') +182.570 000.663 000.165: require('notify.config') +182.683 000.106 000.106: require('notify.stages') +182.811 000.120 000.120: require('notify.service.notification') +183.133 000.097 000.097: require('notify.animate.spring') +183.139 000.196 000.099: require('notify.animate') +183.153 000.335 000.139: require('notify.windows') +184.332 000.247 000.247: require('notify.service.buffer.highlights') +184.353 000.751 000.504: require('notify.service.buffer') +184.370 001.211 000.460: require('notify.service') +184.650 000.275 000.275: require('notify.stages.util') +184.733 002.991 000.281: require('notify') +184.939 000.199 000.199: require('nvim-tree.iterators.node-iterator') +185.107 003.531 000.340: require('nvim-tree.utils') +185.147 003.702 000.171: require('nvim-tree.events') +185.827 000.189 000.189: require('nvim-tree.log') +186.111 000.275 000.275: require('nvim-tree.git.utils') +186.372 000.253 000.253: require('nvim-tree.git.runner') +186.635 000.256 000.256: require('nvim-tree.watcher') +186.670 001.291 000.317: require('nvim-tree.git') +186.895 000.219 000.219: require('nvim-tree.explorer.watch') +187.079 000.177 000.177: require('nvim-tree.explorer.common') +187.553 000.285 000.285: require('nvim-tree.explorer.node-builders') +187.776 000.214 000.214: require('nvim-tree.explorer.sorters') +187.962 000.178 000.178: require('nvim-tree.explorer.filters') +188.877 000.603 000.603: require('nvim-tree.view') +188.919 000.946 000.343: require('nvim-tree.live-filter') +188.949 001.863 000.240: require('nvim-tree.explorer.explore') +189.195 000.239 000.239: require('nvim-tree.explorer.reload') +189.217 004.049 000.260: require('nvim-tree.explorer') +189.235 007.896 000.146: require('nvim-tree.core') +189.526 000.284 000.284: require('nvim-tree.diagnostics') +189.768 000.229 000.229: require('nvim-tree.renderer.components.padding') +190.018 000.242 000.242: require('nvim-tree.renderer.components.icons') +190.310 000.285 000.285: require('nvim-tree.renderer.components.full-name') +190.520 000.203 000.203: require('nvim-tree.renderer.help') +190.649 000.121 000.121: require('nvim-tree.renderer.components.git') +190.780 000.124 000.124: require('nvim-tree.renderer.builder') +190.883 000.096 000.096: require('nvim-tree.marks') +190.896 009.678 000.199: require('nvim-tree.renderer') +191.009 000.101 000.101: require('nvim-tree.actions.tree-modifiers.collapse-all') +191.102 000.085 000.085: require('nvim-tree.actions.root.dir-up') +191.207 000.099 000.099: require('nvim-tree.actions.root.change-dir') +191.310 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') +191.412 000.094 000.094: require('nvim-tree.actions.finders.find-file') +191.417 010.371 000.219: require('nvim-tree.lib') +191.526 000.103 000.103: require('nvim-tree.colors') +191.659 000.122 000.122: require('nvim-tree.legacy') +191.787 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') +192.018 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') +192.119 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') +192.234 000.100 000.100: require('nvim-tree.actions.fs.create-file') +192.332 000.090 000.090: require('nvim-tree.actions.fs.rename-file') +192.464 000.124 000.124: require('nvim-tree.actions.fs.trash') +192.570 000.099 000.099: require('nvim-tree.actions.fs.remove-file') +192.669 000.088 000.088: require('nvim-tree.actions.moves.parent') +192.763 000.087 000.087: require('nvim-tree.actions.moves.sibling') +192.857 000.085 000.085: require('nvim-tree.actions.moves.item') +192.969 000.093 000.093: require('nvim-tree.actions.finders.search-node') +193.062 000.086 000.086: require('nvim-tree.actions.node.run-command') +193.181 000.112 000.112: require('nvim-tree.actions.node.file-popup') +193.295 000.107 000.107: require('nvim-tree.actions.node.system-open') +193.398 000.093 000.093: require('nvim-tree.marks.bulk-move') +193.405 001.608 000.253: require('nvim-tree.actions.dispatch') +193.437 012.620 000.298: require('nvim-tree') +193.521 000.078 000.078: require('nvim-tree.config') +199.583 000.168 000.168: require('nvim-tree.actions') +199.720 000.119 000.119: require('nvim-tree.actions.node.open-file') +202.652 000.112 000.112: require('nvim-tree.marks.navigation') +202.666 000.304 000.193: require('nvim-tree.api') +202.687 000.451 000.147: require('nvim-tree.keymap') +203.652 000.439 000.439: require('nvim-web-devicons') +207.880 027.187 013.312: require('plugins.nvim-tree') +208.356 000.080 000.080: require('cmp.utils.debug') +208.580 000.135 000.135: require('cmp.utils.char') +208.594 000.229 000.094: require('cmp.utils.str') +208.729 000.082 000.082: require('cmp.utils.pattern') +209.005 000.088 000.088: require('cmp.utils.misc') +209.115 000.083 000.083: require('cmp.utils.buffer') +209.213 000.091 000.091: require('cmp.utils.api') +209.224 000.404 000.142: require('cmp.utils.keymap') +209.232 000.496 000.092: require('cmp.utils.feedkeys') +209.332 000.094 000.094: require('cmp.utils.async') +209.602 000.075 000.075: require('cmp.types.cmp') +209.852 000.243 000.243: require('cmp.types.lsp') +209.943 000.081 000.081: require('cmp.types.vim') +209.949 000.527 000.127: require('cmp.types') +210.029 000.076 000.076: require('cmp.utils.cache') +210.038 000.698 000.096: require('cmp.context') +210.313 000.089 000.089: require('cmp.config.mapping') +210.504 000.092 000.092: require('cmp.config.compare') +210.510 000.186 000.093: require('cmp.config.default') +210.533 000.393 000.118: require('cmp.config') +210.730 000.078 000.078: require('cmp.matcher') +210.741 000.203 000.125: require('cmp.entry') +210.756 000.715 000.119: require('cmp.source') +210.920 000.074 000.074: require('cmp.utils.event') +211.110 000.098 000.098: require('cmp.utils.window') +211.118 000.190 000.092: require('cmp.view.docs_view') +211.317 000.083 000.083: require('cmp.utils.autocmd') +211.336 000.214 000.131: require('cmp.view.custom_entries_view') +211.456 000.114 000.114: require('cmp.view.wildmenu_entries_view') +211.561 000.098 000.098: require('cmp.view.native_entries_view') +211.658 000.091 000.091: require('cmp.view.ghost_text_view') +211.673 000.912 000.132: require('cmp.view') +211.787 003.634 000.327: require('cmp.core') +212.082 000.086 000.086: require('cmp.config.sources') +212.167 000.076 000.076: require('cmp.config.window') +212.265 004.230 000.434: require('cmp') +212.666 000.115 000.115: require('symbols-outline.config') +212.672 000.201 000.086: require('symbols-outline.symbols') +212.767 000.090 000.090: require('symbols-outline.ui') +212.858 000.082 000.082: require('symbols-outline.utils.table') +212.943 000.079 000.079: require('symbols-outline.folding') +212.950 000.567 000.116: require('symbols-outline.parser') +213.037 000.082 000.082: require('symbols-outline.providers.init') +213.134 000.090 000.090: require('symbols-outline.writer') +213.226 000.085 000.085: require('symbols-outline.utils.init') +213.313 000.081 000.081: require('symbols-outline.view') +213.327 001.055 000.150: require('symbols-outline') +213.623 000.114 000.114: require('symbols-outline.preview') +213.739 000.101 000.101: require('lspkind') +215.703 007.810 002.310: require('plugins.cmp') +216.234 000.080 000.080: require('luasnip.session') +216.375 000.132 000.132: require('luasnip.util.util') +216.471 000.085 000.085: require('luasnip.util.types') +216.660 000.090 000.090: require('luasnip.util.ext_opts') +216.669 000.191 000.101: require('luasnip.nodes.util') +216.762 000.086 000.086: require('luasnip.util.events') +216.779 000.720 000.146: require('luasnip.nodes.node') +217.021 000.091 000.091: require('luasnip.util.extend_decorator') +217.033 000.248 000.156: require('luasnip.nodes.insertNode') +217.229 000.191 000.191: require('luasnip.nodes.textNode') +217.345 000.103 000.103: require('luasnip.util.mark') +218.120 000.673 000.673: require('luasnip.util._builtin_vars') +218.469 001.117 000.445: require('luasnip.util.environ') +218.678 000.179 000.179: require('luasnip.util.pattern_tokenizer') +218.780 000.092 000.092: require('luasnip.util.dict') +218.915 000.127 000.127: require('luasnip.session.snippet_collection') +219.116 003.197 000.420: require('luasnip.nodes.snippet') +219.390 000.106 000.106: require('luasnip.loaders._caches') +219.598 000.199 000.199: require('luasnip.util.path') +219.693 000.558 000.254: require('luasnip.loaders') +219.903 000.173 000.173: require('luasnip.nodes.functionNode') +220.076 000.162 000.162: require('luasnip.nodes.choiceNode') +220.225 000.142 000.142: require('luasnip.nodes.dynamicNode') +220.394 000.162 000.162: require('luasnip.nodes.restoreNode') +220.782 000.100 000.100: require('luasnip.util.parser.neovim_ast') +229.233 000.137 000.137: require('luasnip.util.directed_graph') +229.260 008.696 008.459: require('luasnip.util.parser.ast_utils') +229.498 000.097 000.097: require('luasnip.util.functions') +229.515 000.248 000.151: require('luasnip.util.parser.ast_parser') +229.739 000.218 000.218: require('luasnip.util.parser.neovim_parser') +229.846 000.097 000.097: require('luasnip.util.str') +229.861 009.411 000.152: require('luasnip.util.parser') +230.100 000.099 000.099: require('luasnip.extras.filetype_functions') +230.247 000.110 000.110: require('luasnip.extras') +230.362 000.103 000.103: require('luasnip.extras.fmt') +230.648 000.101 000.101: require('luasnip.extras.conditions') +230.745 000.090 000.090: require('luasnip.extras.conditions.show') +230.890 000.428 000.237: require('luasnip.extras.conditions.expand') +230.896 000.527 000.098: require('luasnip.extras.expand_conditions') +231.007 000.095 000.095: require('luasnip.nodes.absolute_indexer') +231.457 001.589 000.656: require('luasnip.config') +231.469 015.672 000.277: require('luasnip') +231.697 000.107 000.107: require('luasnip.loaders.util') +231.708 000.232 000.126: require('luasnip.loaders.from_lua') +240.975 025.260 009.356: require('plugins.luasnip') +241.365 000.144 000.144: require('colorizer/nvim') +241.705 000.332 000.332: require('colorizer/trie') +242.018 000.936 000.461: require('colorizer') +243.977 002.985 002.048: require('plugins.colorizer') +244.366 000.095 000.095: require('prettier.utils') +244.397 000.227 000.133: require('prettier.options') +245.006 000.179 000.179: require('null-ls.methods') +245.032 000.330 000.151: require('null-ls.utils') +245.486 000.445 000.445: require('vim.diagnostic') +245.513 000.908 000.133: require('null-ls.config') +245.700 000.084 000.084: require('null-ls.helpers.cache') +245.828 000.120 000.120: require('null-ls.helpers.diagnostics') +245.926 000.090 000.090: require('null-ls.helpers.formatter_factory') +246.149 000.090 000.090: require('null-ls.logger') +246.255 000.100 000.100: require('null-ls.state') +246.263 000.330 000.141: require('null-ls.helpers.generator_factory') +246.467 000.100 000.100: require('null-ls.helpers.command_resolver') +246.473 000.205 000.105: require('null-ls.helpers.make_builtin') +246.575 000.095 000.095: require('null-ls.helpers.range_formatting_args_factory') +246.580 001.060 000.135: require('null-ls.helpers') +246.808 000.113 000.113: require('null-ls.diagnostics') +246.826 000.241 000.128: require('null-ls.sources') +246.927 000.093 000.093: require('null-ls.builtins') +246.933 002.420 000.117: require('null-ls') +247.021 000.083 000.083: require('prettier.cli') +247.035 002.631 000.128: require('prettier.null-ls') +247.041 002.963 000.104: require('prettier') +247.209 003.218 000.255: require('plugins.prettier') +247.369 000.085 000.085: require('git') +247.462 000.086 000.086: require('git.config') +247.643 000.425 000.253: require('plugins.git') +247.935 000.087 000.087: require('gitsigns.async') +248.028 000.084 000.084: require('gitsigns.status') +248.281 000.101 000.101: require('gitsigns.debug') +248.388 000.099 000.099: require('gitsigns.util') +248.612 000.117 000.117: require('gitsigns.uv') +248.619 000.225 000.108: require('gitsigns.subprocess') +249.042 000.083 000.083: require('gitsigns.message') +249.077 000.267 000.184: require('gitsigns.config') +249.166 000.081 000.081: require('gitsigns.signs.base') +249.175 000.445 000.097: require('gitsigns.signs') +249.185 000.560 000.116: require('gitsigns.hunks') +249.202 001.167 000.183: require('gitsigns.git') +249.417 000.086 000.086: require('gitsigns.cache') +249.513 000.087 000.087: require('gitsigns.debounce') +249.602 000.080 000.080: require('gitsigns.diff') +249.626 000.419 000.166: require('gitsigns.manager') +249.743 000.111 000.111: require('gitsigns.highlight') +249.764 002.050 000.182: require('gitsigns') +251.178 000.114 000.114: require('gitsigns.signs.vimfn') +254.973 007.323 005.158: require('plugins.gitsigns') +255.473 000.136 000.136: require('neoscroll.config') +255.588 000.105 000.105: require('neoscroll.utils') +255.739 000.597 000.355: require('neoscroll') +256.380 001.379 000.782: require('plugins.neoscroll') +256.839 000.133 000.133: require('cmp_nvim_lsp.source') +256.847 000.251 000.118: require('cmp_nvim_lsp') +256.949 000.090 000.090: require('lspconfig') +257.096 000.100 000.100: require('lspconfig.server_configurations.pylsp') +257.635 000.126 000.126: require('mason-lspconfig.server_configurations.pylsp') +258.082 000.124 000.124: require('lspconfig.server_configurations.clangd') +260.275 000.148 000.148: require('lspconfig.server_configurations.sumneko_lua') +262.116 005.727 004.888: require('plugins.lsp') +262.476 000.090 000.090: require('nvim-autopairs._log') +262.599 000.114 000.114: require('nvim-autopairs.utils') +262.938 000.121 000.121: require('nvim-autopairs.conds') +262.951 000.230 000.110: require('nvim-autopairs.rule') +262.957 000.351 000.120: require('nvim-autopairs.rules.basic') +262.976 000.751 000.196: require('nvim-autopairs') +263.209 000.120 000.120: require('nvim-autopairs.fastwrap') +263.725 000.110 000.110: require('nvim-autopairs.ts-conds') +263.733 000.223 000.113: require('nvim-autopairs.rules.ts_basic') +263.996 000.257 000.257: require('vim.treesitter.highlighter') +265.174 000.115 000.115: require('nvim-autopairs.completion.handlers') +265.195 000.248 000.133: require('nvim-autopairs.completion.cmp') +265.215 003.086 001.488: require('plugins.autopairs') +265.460 000.156 000.156: require('null-ls.builtins.formatting.prettierd') +265.604 000.132 000.132: require('null-ls.builtins.formatting.stylua') +265.735 000.121 000.121: require('null-ls.builtins.formatting.shfmt') +266.460 000.137 000.137: require('null-ls.client') +266.517 001.295 000.749: require('plugins.null-ls') +266.598 000.073 000.073: require('plugins.web-devicons') +267.060 000.089 000.089: require('zen-mode.util') +267.258 000.378 000.289: require('zen-mode.config') +267.381 000.111 000.111: require('zen-mode.plugins') +267.395 000.645 000.156: require('zen-mode.view') +267.401 000.733 000.088: require('zen-mode') +267.629 001.024 000.291: require('plugins.zen-mode') +271.689 000.097 000.097: require('doom-one.utils') +271.809 000.109 000.109: require('doom-one.colors') +271.859 000.560 000.354: require('doom-one') +274.483 004.205 003.645: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +278.586 000.282 000.282: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/syntax/synload.vim +278.954 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +280.045 000.079 000.079: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/filetype.lua +281.257 000.938 000.938: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/filetype.vim +282.036 000.151 000.151: require('filetype') +282.100 005.314 003.807: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/syntax/syntax.vim +282.463 000.120 000.120: require('notify.stages.fade_in_slide_out') +282.530 014.890 005.252: require('plugins.colorscheme') +282.883 000.100 000.100: require('heirline.conditions') +283.028 000.137 000.137: require('heirline.utils') +283.366 000.095 000.095: require('heirline.highlights') +283.380 000.218 000.124: require('heirline.statusline') +283.388 000.329 000.111: require('heirline') +283.552 000.141 000.141: require('nvim-navic') +288.180 005.641 004.934: require('plugins.heirline') +288.234 197.287 003.237: sourcing /home/srdusr/.config/nvim/init.lua +288.256 006.736: sourcing vimrc file(s) +296.020 001.956 001.956: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/gzip.vim +296.187 000.077 000.077: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/health.vim +299.589 002.192 002.192: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +299.988 003.730 001.537: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/matchit.vim +300.502 000.408 000.408: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/matchparen.vim +300.649 000.078 000.078: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/netrwPlugin.vim +301.059 000.021 000.021: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +301.080 000.367 000.346: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/rplugin.vim +301.332 000.192 000.192: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/shada.vim +301.468 000.052 000.052: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/spellfile.vim +301.599 000.062 000.062: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/tarPlugin.vim +301.726 000.059 000.059: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/tohtml.vim +301.918 000.124 000.124: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/tutor.vim +302.677 000.635 000.635: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/zipPlugin.vim +303.015 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +304.515 000.117 000.117: require('leap') +304.627 000.101 000.101: require('leap.user') +305.605 000.153 000.153: require('fidget.log') +305.624 000.325 000.173: require('fidget') +305.798 000.153 000.153: require('fidget.spinners') +306.503 000.080 000.080: require('crates.time') +306.512 000.188 000.108: require('crates.types') +306.522 000.296 000.109: require('crates.semver') +308.285 001.677 001.677: require('crates.config') +308.467 000.171 000.171: require('crates.toml') +308.478 001.951 000.103: require('crates.state') +308.524 002.435 000.188: require('crates.util') +308.536 002.557 000.122: require('crates.actions') +308.787 000.143 000.143: require('crates.api') +308.882 000.087 000.087: require('crates.async') +308.998 000.109 000.109: require('crates.diagnostic') +309.107 000.100 000.100: require('crates.ui') +309.120 000.577 000.138: require('crates.core') +309.342 000.117 000.117: require('crates.popup.common') +309.458 000.109 000.109: require('crates.popup.crate') +309.609 000.144 000.144: require('crates.popup.dependencies') +309.764 000.148 000.148: require('crates.popup.features') +309.894 000.124 000.124: require('crates.popup.versions') +309.906 000.781 000.138: require('crates.popup') +309.919 004.054 000.139: require('crates') +312.590 000.134 000.134: require('flit') +314.060 000.463 000.463: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +315.970 012.810 007.461: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +316.859 000.108 000.108: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/man.lua +317.072 008.115: loading rtp plugins +319.034 000.093 000.093: require('Comment.config') +319.309 000.153 000.153: require('Comment.ft') +319.322 000.279 000.126: require('Comment.utils') +319.421 000.093 000.093: require('Comment.opfunc') +319.566 000.138 000.138: require('Comment.extra') +319.575 000.758 000.155: require('Comment.api') +319.782 001.045 000.287: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +320.114 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +320.825 000.464 000.464: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +321.583 000.139 000.139: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +322.213 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +323.474 000.699 000.699: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +323.988 000.069 000.069: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +324.636 000.361 000.361: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +325.325 000.182 000.182: require('cmp.utils.highlight') +326.107 001.068 000.886: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +326.319 000.031 000.031: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +326.632 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +327.098 000.165 000.165: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +327.726 000.216 000.216: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +328.455 000.103 000.103: require('nvim-treesitter.statusline') +328.618 000.154 000.154: require('nvim-treesitter.query_predicates') +328.632 000.412 000.156: require('nvim-treesitter') +329.740 001.603 001.191: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +330.372 000.410 000.410: require('treesitter-context') +330.383 000.453 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +330.959 000.284 000.284: require('nvim-treesitter-refactor') +331.222 000.577 000.293: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +331.587 000.108 000.108: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +332.039 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +332.363 000.094 000.094: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +332.840 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +333.113 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +333.468 000.061 000.061: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +334.061 000.122 000.122: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +334.608 000.342 000.342: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +335.309 000.398 000.398: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +335.590 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +335.862 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +336.906 011.323: loading packages +344.861 000.283 000.283: require('cmp_buffer.timer') +344.873 000.406 000.122: require('cmp_buffer.buffer') +344.883 000.521 000.116: require('cmp_buffer.source') +344.888 000.636 000.115: require('cmp_buffer') +344.942 000.777 000.141: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +345.383 000.199 000.199: require('cmp_cmdline') +345.533 000.434 000.235: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +345.794 000.098 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +346.217 000.159 000.159: require('cmp_path') +346.350 000.410 000.251: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +346.705 000.117 000.117: require('cmp_luasnip') +346.815 000.299 000.181: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +347.266 000.131 000.131: require('crates.src.common') +347.274 000.233 000.102: require('crates.src.cmp') +347.352 000.378 000.145: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +347.463 008.162: loading after plugins +347.495 000.032: inits 3 +347.499 000.004: reading ShaDa +348.728 000.209 000.209: require('luasnip.nodes.snippetProxy') +348.741 000.409 000.200: require('luasnip.loaders.from_snipmate') +348.921 000.130 000.130: require('luasnip.loaders.from_vscode') +348.958 000.921: opening buffers +349.234 000.276: BufEnter autocommands +349.243 000.009: editing files in windows +367.416 000.398 000.398: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.166 001.166: --- NVIM STARTING --- +027.378 026.211: event init +042.943 015.565: early init +044.517 001.574: locale set +049.691 005.174: init first window +059.086 009.394: inits 1 +059.115 000.029: window checked +059.126 000.011: parsing arguments +070.283 000.269 000.269: require('vim.shared') +070.800 000.242 000.242: require('vim._meta') +070.813 000.509 000.267: require('vim._editor') +070.821 000.912 000.134: require('vim._init_packages') +070.828 010.790: init lua interpreter +070.977 000.149: expanding arguments +072.808 001.831: inits 2 +074.232 001.425: init highlight +074.243 000.011: waiting for UI +077.239 002.996: done waiting for UI +077.289 000.050: init screen for UI +077.566 000.277: init default mappings +077.595 000.030: init default autocommands +088.298 003.885 003.885: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/ftplugin.vim +091.165 000.954 000.954: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/indent.vim +091.625 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim +091.653 000.187 000.128: sourcing /etc/xdg/nvim/sysinit.vim +136.440 044.371 044.371: require('impatient') +137.620 001.160 001.160: require('impatient.profile') +137.759 000.115 000.115: require('user.utils') +141.998 000.286 000.286: require('packer.util') +142.156 000.763 000.476: require('packer') +143.194 000.484 000.484: require('packer.log') +143.208 000.744 000.260: require('packer.async') +143.788 000.423 000.423: require('packer.result') +143.799 000.583 000.160: require('packer.jobs') +143.820 001.590 000.263: require('packer.plugin_utils') +144.065 000.215 000.215: require('packer.snapshot') +145.554 000.121 000.121: require('mason-core.path') +145.579 000.282 000.161: require('mason.settings') +145.960 000.214 000.214: require('mason-core.functional') +146.220 000.107 000.107: require('mason-core.functional.data') +146.236 000.247 000.141: require('mason-core.functional.function') +146.480 000.209 000.209: require('mason-core.functional.relation') +146.664 000.155 000.155: require('mason-core.functional.logic') +146.707 001.119 000.293: require('mason-core.platform') +146.713 001.777 000.377: require('mason') +147.284 000.229 000.229: require('mason-core.functional.list') +147.340 000.589 000.360: require('mason.api.command') +147.725 000.170 000.170: require('mason-core.log') +147.737 000.389 000.219: require('mason-lspconfig') +147.852 000.109 000.109: require('mason-lspconfig.settings') +148.245 000.091 000.091: require('mason-core.notify') +148.264 000.239 000.148: require('mason-lspconfig.lspconfig_hook') +149.576 000.276 000.276: require('vim.lsp.log') +151.101 000.013 000.013: require('vim.F') +151.111 001.523 001.510: require('vim.lsp.protocol') +151.827 000.314 000.314: require('vim.lsp._snippet') +152.067 000.229 000.229: require('vim.highlight') +152.108 000.987 000.445: require('vim.lsp.util') +152.155 003.170 000.383: require('vim.lsp.handlers') +152.476 000.312 000.312: require('vim.lsp.rpc') +152.709 000.220 000.220: require('vim.lsp.sync') +153.010 000.289 000.289: require('vim.lsp.buf') +153.251 000.231 000.231: require('vim.lsp.diagnostic') +153.485 000.224 000.224: require('vim.lsp.codelens') +153.665 005.245 000.800: require('vim.lsp') +153.760 005.490 000.245: require('lspconfig.util') +154.217 000.149 000.149: require('mason-core.functional.table') +154.336 000.455 000.306: require('mason-lspconfig.mappings.server') +154.759 000.176 000.176: require('mason-core.async') +154.909 000.110 000.110: require('mason-core.async.uv') +154.928 000.461 000.174: require('mason-core.fs') +155.055 000.120 000.120: require('mason-core.optional') +155.173 000.107 000.107: require('mason-core.EventEmitter') +155.422 000.241 000.241: require('mason-registry.index') +155.452 001.106 000.177: require('mason-registry') +155.574 000.113 000.113: require('mason-lspconfig.server_config_extensions') +155.718 000.136 000.136: require('lspconfig.configs') +155.929 000.151 000.151: require('lspconfig.server_configurations.omnisharp') +156.255 000.124 000.124: require('mason-lspconfig.ensure_installed') +156.808 000.128 000.128: require('mason-core.result') +157.383 000.310 000.310: require('mason-core.process') +157.554 000.595 000.285: require('mason-core.spawn') +157.743 000.175 000.175: require('mason-core.receipt') +157.926 000.162 000.162: require('mason-core.functional.string') +157.971 001.152 000.220: require('mason-core.installer.context') +158.103 000.124 000.124: require('mason-core.installer.linker') +158.230 000.119 000.119: require('mason-core.async.control') +158.240 001.749 000.226: require('mason-core.installer') +158.396 000.150 000.150: require('mason-core.installer.handle') +159.042 000.126 000.126: require('mason-core.managers.powershell') +159.050 000.250 000.124: require('mason-core.fetch') +159.055 000.361 000.111: require('mason-core.managers.cargo.client') +159.501 000.222 000.222: require('mason-core.managers.std') +159.844 000.203 000.203: require('mason-core.providers') +159.879 000.367 000.164: require('mason-core.managers.github.client') +159.898 000.838 000.248: require('mason-core.managers.github') +160.026 001.490 000.291: require('mason-core.managers.cargo') +160.204 000.170 000.170: require('mason-core.managers.composer') +160.376 000.163 000.163: require('mason-core.managers.gem') +160.510 000.126 000.126: require('mason-core.managers.git') +160.684 000.165 000.165: require('mason-core.managers.go') +160.905 000.212 000.212: require('mason-core.managers.luarocks') +161.076 000.162 000.162: require('mason-core.managers.npm') +161.264 000.180 000.180: require('mason-core.managers.pip3') +161.282 002.863 000.195: require('mason-core.package.version-check') +161.293 005.027 000.266: require('mason-core.package') +161.466 000.132 000.132: require('mason-registry.python-lsp-server') +161.888 000.177 000.177: require('mason-registry.pyright') +162.151 000.216 000.216: require('mason-registry.clangd') +162.422 000.144 000.144: require('mason-registry.lua-language-server') +162.740 000.120 000.120: require('mason-core.functional.number') +162.802 000.367 000.247: require('mason-lspconfig.api.command') +163.048 022.083 002.774: require('user.pack') +166.458 003.398 003.398: require('user.opts') +166.638 000.013 000.013: require('vim.keymap') +169.371 002.897 002.884: require('user.keys') +169.502 000.119 000.119: require('user.utils') +170.533 000.204 000.204: require('vim.treesitter.language') +170.557 000.628 000.424: require('vim.treesitter.query') +171.680 000.248 000.248: require('vim.treesitter.languagetree') +171.778 000.582 000.334: require('vim.treesitter') +172.145 001.311 000.729: require('nvim-treesitter.parsers') +172.312 000.156 000.156: require('nvim-treesitter.utils') +172.325 001.627 000.159: require('nvim-treesitter.ts_utils') +172.338 001.773 000.146: require('nvim-treesitter.tsrange') +172.464 000.118 000.118: require('nvim-treesitter.caching') +172.491 002.701 000.183: require('nvim-treesitter.query') +172.529 002.932 000.231: require('nvim-treesitter.configs') +173.041 000.132 000.132: require('nvim-treesitter.info') +173.216 000.164 000.164: require('nvim-treesitter.shell_command_selectors') +173.268 000.565 000.269: require('nvim-treesitter.install') +175.917 006.404 002.907: require('plugins.treesitter') +176.306 000.114 000.114: require('telescope._extensions') +176.317 000.241 000.127: require('telescope') +177.235 000.116 000.116: require('plenary.bit') +177.354 000.109 000.109: require('plenary.functional') +177.420 000.042 000.042: require('ffi') +177.448 000.503 000.236: require('plenary.path') +177.465 000.636 000.132: require('plenary.strings') +177.575 000.103 000.103: require('telescope.deprecated') +178.093 000.264 000.264: require('plenary.log') +178.141 000.407 000.143: require('telescope.log') +178.493 000.168 000.168: require('plenary.job') +178.606 000.102 000.102: require('telescope.state') +178.624 000.474 000.204: require('telescope.utils') +178.686 001.103 000.222: require('telescope.sorters') +178.829 000.116 000.116: require('vim.inspect') +183.415 006.783 004.825: require('telescope.config') +183.747 000.136 000.136: require('plenary.window.border') +183.861 000.105 000.105: require('plenary.window') +183.968 000.099 000.099: require('plenary.popup.utils') +183.979 000.548 000.209: require('plenary.popup') +184.103 000.118 000.118: require('telescope.pickers.scroller') +184.229 000.118 000.118: require('telescope.actions.state') +184.380 000.125 000.125: require('telescope.actions.utils') +184.639 000.118 000.118: require('telescope.actions.mt') +184.675 000.287 000.169: require('telescope.actions.set') +184.982 000.168 000.168: require('telescope.config.resolve') +184.991 000.308 000.140: require('telescope.pickers.entry_display') +188.186 003.189 003.189: require('telescope.from_entry') +188.658 012.331 000.856: require('telescope.actions') +189.833 000.104 000.104: require('plenary.tbl') +189.846 000.221 000.117: require('plenary.vararg.rotate') +189.850 000.336 000.115: require('plenary.vararg') +189.953 000.097 000.097: require('plenary.errors') +189.966 000.566 000.133: require('plenary.async.async') +190.083 000.112 000.112: require('plenary.async.structs') +190.129 000.946 000.268: require('plenary.async.control') +190.646 000.369 000.369: require('telescope.make_entry') +191.180 000.140 000.140: require('plenary.async.util') +191.187 000.266 000.127: require('plenary.async.tests') +191.194 000.394 000.128: require('plenary.async') +191.201 000.538 000.144: require('telescope.finders.async_static_finder') +191.579 000.103 000.103: require('plenary.class') +191.618 000.287 000.184: require('telescope._') +191.626 000.419 000.132: require('telescope.finders.async_oneshot_finder') +191.753 000.121 000.121: require('telescope.finders.async_job_finder') +191.772 001.632 000.186: require('telescope.finders') +192.418 000.276 000.276: require('telescope.debounce') +192.739 000.310 000.310: require('telescope.mappings') +192.912 000.159 000.159: require('telescope.pickers.highlights') +193.114 000.184 000.184: require('telescope.pickers.window') +193.492 000.143 000.143: require('telescope.algos.linked_list') +193.504 000.377 000.234: require('telescope.entry_manager') +193.647 000.136 000.136: require('telescope.pickers.multi') +193.701 001.920 000.478: require('telescope.pickers') +193.728 004.754 000.256: require('telescope.builtin.__lsp') +193.811 005.136 000.382: require('telescope.builtin') +194.635 000.620 000.620: require('fzf_lib') +194.666 000.844 000.224: require('telescope._extensions.fzf') +195.438 000.211 000.211: require('telescope._extensions.file_browser.utils') +195.615 000.646 000.435: require('telescope._extensions.file_browser.actions') +196.076 000.284 000.284: require('telescope._extensions.file_browser.make_entry') +196.338 000.248 000.248: require('plenary.scandir') +196.407 000.783 000.251: require('telescope._extensions.file_browser.finders') +196.575 000.155 000.155: require('telescope._extensions.file_browser.picker') +196.769 000.186 000.186: require('telescope._extensions.file_browser.config') +196.777 001.988 000.217: require('telescope._extensions.file_browser') +200.659 024.727 004.188: require('plugins.telescope') +202.453 000.105 000.105: require('notify.util.queue') +202.469 000.250 000.145: require('notify.util') +202.794 000.319 000.319: require('notify.config.highlights') +202.813 000.741 000.172: require('notify.config') +202.935 000.115 000.115: require('notify.stages') +203.061 000.118 000.118: require('notify.service.notification') +204.157 000.188 000.188: require('notify.animate.spring') +204.164 000.377 000.190: require('notify.animate') +204.187 001.118 000.741: require('notify.windows') +205.252 000.304 000.304: require('notify.service.buffer.highlights') +205.294 000.861 000.557: require('notify.service.buffer') +205.321 001.129 000.268: require('notify.service') +205.646 000.316 000.316: require('notify.stages.util') +205.726 003.817 000.281: require('notify') +205.988 000.255 000.255: require('nvim-tree.iterators.node-iterator') +206.135 004.408 000.336: require('nvim-tree.utils') +206.199 004.623 000.215: require('nvim-tree.events') +206.876 000.187 000.187: require('nvim-tree.log') +207.165 000.281 000.281: require('nvim-tree.git.utils') +207.444 000.271 000.271: require('nvim-tree.git.runner') +207.723 000.272 000.272: require('nvim-tree.watcher') +207.783 001.359 000.349: require('nvim-tree.git') +208.021 000.233 000.233: require('nvim-tree.explorer.watch') +208.211 000.184 000.184: require('nvim-tree.explorer.common') +208.676 000.283 000.283: require('nvim-tree.explorer.node-builders') +208.935 000.250 000.250: require('nvim-tree.explorer.sorters') +209.123 000.180 000.180: require('nvim-tree.explorer.filters') +210.141 000.643 000.643: require('nvim-tree.view') +210.197 001.053 000.410: require('nvim-tree.live-filter') +210.221 002.002 000.236: require('nvim-tree.explorer.explore') +210.563 000.333 000.333: require('nvim-tree.explorer.reload') +210.592 004.384 000.273: require('nvim-tree.explorer') +210.624 009.162 000.155: require('nvim-tree.core') +211.028 000.395 000.395: require('nvim-tree.diagnostics') +211.310 000.261 000.261: require('nvim-tree.renderer.components.padding') +211.478 000.155 000.155: require('nvim-tree.renderer.components.icons') +211.654 000.165 000.165: require('nvim-tree.renderer.components.full-name') +211.802 000.138 000.138: require('nvim-tree.renderer.help') +212.000 000.186 000.186: require('nvim-tree.renderer.components.git') +212.150 000.138 000.138: require('nvim-tree.renderer.builder') +212.256 000.097 000.097: require('nvim-tree.marks') +212.269 010.950 000.250: require('nvim-tree.renderer') +212.382 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') +212.475 000.086 000.086: require('nvim-tree.actions.root.dir-up') +212.642 000.161 000.161: require('nvim-tree.actions.root.change-dir') +212.762 000.103 000.103: require('nvim-tree.actions.reloaders.reloaders') +212.867 000.096 000.096: require('nvim-tree.actions.finders.find-file') +212.873 011.746 000.250: require('nvim-tree.lib') +212.983 000.104 000.104: require('nvim-tree.colors') +213.116 000.122 000.122: require('nvim-tree.legacy') +213.246 000.121 000.121: require('nvim-tree.actions.fs.copy-paste') +213.456 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') +213.555 000.092 000.092: require('nvim-tree.actions.tree-modifiers.toggles') +213.672 000.101 000.101: require('nvim-tree.actions.fs.create-file') +213.773 000.093 000.093: require('nvim-tree.actions.fs.rename-file') +213.907 000.126 000.126: require('nvim-tree.actions.fs.trash') +214.014 000.099 000.099: require('nvim-tree.actions.fs.remove-file') +214.112 000.088 000.088: require('nvim-tree.actions.moves.parent') +214.206 000.087 000.087: require('nvim-tree.actions.moves.sibling') +214.300 000.085 000.085: require('nvim-tree.actions.moves.item') +214.412 000.094 000.094: require('nvim-tree.actions.finders.search-node') +214.504 000.085 000.085: require('nvim-tree.actions.node.run-command') +214.622 000.112 000.112: require('nvim-tree.actions.node.file-popup') +214.737 000.107 000.107: require('nvim-tree.actions.node.system-open') +214.844 000.096 000.096: require('nvim-tree.marks.bulk-move') +214.851 001.594 000.232: require('nvim-tree.actions.dispatch') +214.882 014.029 000.343: require('nvim-tree') +214.968 000.079 000.079: require('nvim-tree.config') +219.764 000.172 000.172: require('nvim-tree.actions') +219.902 000.121 000.121: require('nvim-tree.actions.node.open-file') +222.461 000.099 000.099: require('nvim-tree.marks.navigation') +222.473 000.311 000.212: require('nvim-tree.api') +222.495 000.457 000.146: require('nvim-tree.keymap') +223.418 000.406 000.406: require('nvim-web-devicons') +227.476 026.793 011.530: require('plugins.nvim-tree') +227.939 000.078 000.078: require('cmp.utils.debug') +228.150 000.119 000.119: require('cmp.utils.char') +228.164 000.216 000.097: require('cmp.utils.str') +228.297 000.080 000.080: require('cmp.utils.pattern') +228.572 000.086 000.086: require('cmp.utils.misc') +228.682 000.082 000.082: require('cmp.utils.buffer') +228.779 000.089 000.089: require('cmp.utils.api') +228.789 000.402 000.144: require('cmp.utils.keymap') +228.798 000.494 000.092: require('cmp.utils.feedkeys') +228.897 000.094 000.094: require('cmp.utils.async') +229.171 000.079 000.079: require('cmp.types.cmp') +229.374 000.195 000.195: require('cmp.types.lsp') +229.462 000.078 000.078: require('cmp.types.vim') +229.467 000.479 000.127: require('cmp.types') +229.547 000.075 000.075: require('cmp.utils.cache') +229.556 000.650 000.096: require('cmp.context') +229.836 000.091 000.091: require('cmp.config.mapping') +230.025 000.092 000.092: require('cmp.config.compare') +230.032 000.184 000.093: require('cmp.config.default') +230.055 000.397 000.121: require('cmp.config') +230.253 000.079 000.079: require('cmp.matcher') +230.263 000.203 000.124: require('cmp.entry') +230.279 000.718 000.118: require('cmp.source') +230.445 000.073 000.073: require('cmp.utils.event') +230.637 000.098 000.098: require('cmp.utils.window') +230.645 000.192 000.095: require('cmp.view.docs_view') +230.844 000.083 000.083: require('cmp.utils.autocmd') +230.864 000.214 000.132: require('cmp.view.custom_entries_view') +230.984 000.114 000.114: require('cmp.view.wildmenu_entries_view') +231.090 000.100 000.100: require('cmp.view.native_entries_view') +231.186 000.089 000.089: require('cmp.view.ghost_text_view') +231.201 000.917 000.134: require('cmp.view') +231.306 003.572 000.324: require('cmp.core') +231.568 000.085 000.085: require('cmp.config.sources') +231.651 000.073 000.073: require('cmp.config.window') +231.779 004.160 000.430: require('cmp') +232.189 000.115 000.115: require('symbols-outline.config') +232.195 000.202 000.087: require('symbols-outline.symbols') +232.290 000.090 000.090: require('symbols-outline.ui') +232.378 000.081 000.081: require('symbols-outline.utils.table') +232.464 000.079 000.079: require('symbols-outline.folding') +232.471 000.568 000.117: require('symbols-outline.parser') +232.587 000.111 000.111: require('symbols-outline.providers.init') +232.691 000.095 000.095: require('symbols-outline.writer') +232.784 000.085 000.085: require('symbols-outline.utils.init') +232.873 000.083 000.083: require('symbols-outline.view') +232.888 001.101 000.158: require('symbols-outline') +233.188 000.115 000.115: require('symbols-outline.preview') +233.304 000.102 000.102: require('lspkind') +235.323 007.835 002.357: require('plugins.cmp') +235.860 000.082 000.082: require('luasnip.session') +236.041 000.150 000.150: require('luasnip.util.util') +236.136 000.087 000.087: require('luasnip.util.types') +236.327 000.088 000.088: require('luasnip.util.ext_opts') +236.339 000.196 000.107: require('luasnip.nodes.util') +236.429 000.083 000.083: require('luasnip.util.events') +236.447 000.763 000.166: require('luasnip.nodes.node') +236.688 000.091 000.091: require('luasnip.util.extend_decorator') +236.702 000.250 000.159: require('luasnip.nodes.insertNode') +236.820 000.112 000.112: require('luasnip.nodes.textNode') +236.931 000.100 000.100: require('luasnip.util.mark') +237.726 000.693 000.693: require('luasnip.util._builtin_vars') +237.966 001.028 000.335: require('luasnip.util.environ') +238.085 000.109 000.109: require('luasnip.util.pattern_tokenizer') +238.174 000.082 000.082: require('luasnip.util.dict') +238.290 000.109 000.109: require('luasnip.session.snippet_collection') +238.453 002.910 000.358: require('luasnip.nodes.snippet') +238.661 000.089 000.089: require('luasnip.loaders._caches') +238.793 000.124 000.124: require('luasnip.util.path') +238.843 000.376 000.163: require('luasnip.loaders') +239.011 000.136 000.136: require('luasnip.nodes.functionNode') +239.175 000.155 000.155: require('luasnip.nodes.choiceNode') +239.350 000.168 000.168: require('luasnip.nodes.dynamicNode') +239.531 000.172 000.172: require('luasnip.nodes.restoreNode') +239.907 000.105 000.105: require('luasnip.util.parser.neovim_ast') +244.383 000.114 000.114: require('luasnip.util.directed_graph') +244.400 004.709 004.490: require('luasnip.util.parser.ast_utils') +244.621 000.093 000.093: require('luasnip.util.functions') +244.637 000.231 000.137: require('luasnip.util.parser.ast_parser') +244.838 000.195 000.195: require('luasnip.util.parser.neovim_parser') +244.947 000.100 000.100: require('luasnip.util.str') +244.961 005.375 000.140: require('luasnip.util.parser') +245.191 000.097 000.097: require('luasnip.extras.filetype_functions') +245.337 000.108 000.108: require('luasnip.extras') +245.452 000.104 000.104: require('luasnip.extras.fmt') +245.731 000.094 000.094: require('luasnip.extras.conditions') +245.825 000.086 000.086: require('luasnip.extras.conditions.show') +245.929 000.376 000.196: require('luasnip.extras.conditions.expand') +245.935 000.474 000.099: require('luasnip.extras.expand_conditions') +246.052 000.098 000.098: require('luasnip.nodes.absolute_indexer') +246.525 001.558 000.677: require('luasnip.config') +246.535 011.119 000.268: require('luasnip') +246.762 000.107 000.107: require('luasnip.loaders.util') +246.773 000.231 000.123: require('luasnip.loaders.from_lua') +257.015 021.680 010.330: require('plugins.luasnip') +257.416 000.148 000.148: require('colorizer/nvim') +257.761 000.336 000.336: require('colorizer/trie') +258.150 001.021 000.537: require('colorizer') +260.157 003.125 002.104: require('plugins.colorizer') +260.544 000.092 000.092: require('prettier.utils') +260.576 000.230 000.138: require('prettier.options') +261.266 000.252 000.252: require('null-ls.methods') +261.294 000.403 000.150: require('null-ls.utils') +261.696 000.393 000.393: require('vim.diagnostic') +261.719 000.934 000.138: require('null-ls.config') +261.911 000.085 000.085: require('null-ls.helpers.cache') +262.031 000.112 000.112: require('null-ls.helpers.diagnostics') +262.128 000.090 000.090: require('null-ls.helpers.formatter_factory') +262.354 000.097 000.097: require('null-ls.logger') +262.458 000.097 000.097: require('null-ls.state') +262.466 000.330 000.136: require('null-ls.helpers.generator_factory') +262.706 000.104 000.104: require('null-ls.helpers.command_resolver') +262.714 000.243 000.139: require('null-ls.helpers.make_builtin') +262.813 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') +262.818 001.093 000.140: require('null-ls.helpers') +263.054 000.110 000.110: require('null-ls.diagnostics') +263.072 000.249 000.140: require('null-ls.sources') +263.174 000.094 000.094: require('null-ls.builtins') +263.181 002.488 000.118: require('null-ls') +263.272 000.087 000.087: require('prettier.cli') +263.281 002.698 000.124: require('prettier.null-ls') +263.286 003.026 000.099: require('prettier') +263.480 003.310 000.284: require('plugins.prettier') +263.638 000.085 000.085: require('git') +263.731 000.085 000.085: require('git.config') +263.919 000.429 000.259: require('plugins.git') +264.223 000.091 000.091: require('gitsigns.async') +264.319 000.087 000.087: require('gitsigns.status') +264.570 000.102 000.102: require('gitsigns.debug') +264.680 000.103 000.103: require('gitsigns.util') +264.875 000.095 000.095: require('gitsigns.uv') +264.886 000.199 000.104: require('gitsigns.subprocess') +265.320 000.084 000.084: require('gitsigns.message') +265.350 000.271 000.187: require('gitsigns.config') +265.443 000.085 000.085: require('gitsigns.signs.base') +265.449 000.455 000.100: require('gitsigns.signs') +265.459 000.567 000.111: require('gitsigns.hunks') +265.475 001.150 000.180: require('gitsigns.git') +265.690 000.086 000.086: require('gitsigns.cache') +265.787 000.089 000.089: require('gitsigns.debounce') +265.902 000.104 000.104: require('gitsigns.diff') +265.927 000.446 000.166: require('gitsigns.manager') +266.057 000.123 000.123: require('gitsigns.highlight') +266.078 002.084 000.186: require('gitsigns') +267.416 000.116 000.116: require('gitsigns.signs.vimfn') +270.766 006.839 004.640: require('plugins.gitsigns') +271.212 000.113 000.113: require('neoscroll.config') +271.350 000.129 000.129: require('neoscroll.utils') +271.498 000.557 000.315: require('neoscroll') +272.077 001.288 000.731: require('plugins.neoscroll') +272.512 000.099 000.099: require('cmp_nvim_lsp.source') +272.524 000.218 000.119: require('cmp_nvim_lsp') +272.652 000.104 000.104: require('lspconfig') +272.803 000.103 000.103: require('lspconfig.server_configurations.pylsp') +273.275 000.126 000.126: require('mason-lspconfig.server_configurations.pylsp') +273.745 000.122 000.122: require('lspconfig.server_configurations.clangd') +276.108 000.139 000.139: require('lspconfig.server_configurations.sumneko_lua') +277.675 005.589 004.776: require('plugins.lsp') +278.035 000.091 000.091: require('nvim-autopairs._log') +278.171 000.127 000.127: require('nvim-autopairs.utils') +278.497 000.113 000.113: require('nvim-autopairs.conds') +278.513 000.231 000.118: require('nvim-autopairs.rule') +278.519 000.341 000.110: require('nvim-autopairs.rules.basic') +278.538 000.753 000.195: require('nvim-autopairs') +278.799 000.124 000.124: require('nvim-autopairs.fastwrap') +279.611 000.113 000.113: require('nvim-autopairs.ts-conds') +279.620 000.228 000.115: require('nvim-autopairs.rules.ts_basic') +279.826 000.200 000.200: require('vim.treesitter.highlighter') +280.905 000.097 000.097: require('nvim-autopairs.completion.handlers') +280.922 000.233 000.136: require('nvim-autopairs.completion.cmp') +280.942 003.254 001.715: require('plugins.autopairs') +281.197 000.170 000.170: require('null-ls.builtins.formatting.prettierd') +281.340 000.130 000.130: require('null-ls.builtins.formatting.stylua') +281.464 000.114 000.114: require('null-ls.builtins.formatting.shfmt') +282.162 000.143 000.143: require('null-ls.client') +282.214 001.266 000.709: require('plugins.null-ls') +282.292 000.070 000.070: require('plugins.web-devicons') +282.802 000.092 000.092: require('zen-mode.util') +282.855 000.247 000.155: require('zen-mode.config') +282.966 000.103 000.103: require('zen-mode.plugins') +282.979 000.533 000.183: require('zen-mode.view') +282.986 000.621 000.088: require('zen-mode') +283.173 000.874 000.253: require('plugins.zen-mode') +287.151 000.128 000.128: require('doom-one.utils') +287.264 000.102 000.102: require('doom-one.colors') +287.331 000.627 000.397: require('doom-one') +290.322 004.621 003.994: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +294.425 000.274 000.274: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/syntax/synload.vim +294.816 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +295.907 000.097 000.097: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/filetype.lua +297.029 000.941 000.941: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/filetype.vim +297.815 000.142 000.142: require('filetype') +297.879 005.229 003.717: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/syntax/syntax.vim +298.259 000.120 000.120: require('notify.stages.fade_in_slide_out') +298.326 015.143 005.173: require('plugins.colorscheme') +298.691 000.110 000.110: require('heirline.conditions') +298.831 000.132 000.132: require('heirline.utils') +299.166 000.096 000.096: require('heirline.highlights') +299.179 000.215 000.118: require('heirline.statusline') +299.187 000.326 000.112: require('heirline') +299.371 000.150 000.150: require('nvim-navic') +303.806 005.470 004.751: require('plugins.heirline') +303.907 212.153 003.916: sourcing /home/srdusr/.config/nvim/init.lua +303.930 009.156: sourcing vimrc file(s) +310.008 001.013 001.013: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/gzip.vim +310.171 000.069 000.069: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/health.vim +312.976 001.360 001.360: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +313.456 003.200 001.841: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/matchit.vim +313.996 000.416 000.416: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/matchparen.vim +314.186 000.098 000.098: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/netrwPlugin.vim +314.633 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +314.654 000.381 000.359: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/rplugin.vim +314.943 000.206 000.206: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/shada.vim +315.118 000.065 000.065: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/spellfile.vim +315.288 000.076 000.076: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/tarPlugin.vim +315.457 000.077 000.077: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/tohtml.vim +315.607 000.058 000.058: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/tutor.vim +316.360 000.662 000.662: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/zipPlugin.vim +316.667 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +318.168 000.110 000.110: require('leap') +318.278 000.098 000.098: require('leap.user') +319.303 000.239 000.239: require('fidget.log') +319.322 000.412 000.173: require('fidget') +319.506 000.161 000.161: require('fidget.spinners') +320.208 000.083 000.083: require('crates.time') +320.218 000.188 000.105: require('crates.types') +320.224 000.293 000.105: require('crates.semver') +322.178 001.869 001.869: require('crates.config') +322.338 000.150 000.150: require('crates.toml') +322.347 002.118 000.100: require('crates.state') +322.377 002.572 000.161: require('crates.util') +322.387 002.703 000.131: require('crates.actions') +322.651 000.158 000.158: require('crates.api') +322.747 000.087 000.087: require('crates.async') +322.866 000.111 000.111: require('crates.diagnostic') +322.973 000.099 000.099: require('crates.ui') +322.982 000.585 000.130: require('crates.core') +323.203 000.115 000.115: require('crates.popup.common') +323.330 000.120 000.120: require('crates.popup.crate') +323.493 000.156 000.156: require('crates.popup.dependencies') +323.641 000.141 000.141: require('crates.popup.features') +323.767 000.120 000.120: require('crates.popup.versions') +323.782 000.795 000.144: require('crates.popup') +323.792 004.221 000.138: require('crates') +326.311 000.126 000.126: require('flit') +327.474 000.352 000.352: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +329.406 012.594 007.114: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +330.298 000.101 000.101: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/man.lua +330.504 007.519: loading rtp plugins +332.487 000.094 000.094: require('Comment.config') +332.823 000.154 000.154: require('Comment.ft') +332.834 000.337 000.183: require('Comment.utils') +332.941 000.101 000.101: require('Comment.opfunc') +333.057 000.110 000.110: require('Comment.extra') +333.066 000.819 000.178: require('Comment.api') +333.277 001.114 000.295: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +333.611 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +334.338 000.474 000.474: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +335.127 000.166 000.166: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +335.741 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +337.566 001.228 001.228: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +338.086 000.071 000.071: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +338.745 000.364 000.364: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +339.403 000.124 000.124: require('cmp.utils.highlight') +340.132 000.980 000.857: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +340.342 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +340.664 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +341.139 000.166 000.166: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +341.769 000.216 000.216: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +342.490 000.105 000.105: require('nvim-treesitter.statusline') +342.682 000.183 000.183: require('nvim-treesitter.query_predicates') +342.691 000.420 000.133: require('nvim-treesitter') +343.748 001.561 001.141: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +344.321 000.355 000.355: require('treesitter-context') +344.331 000.398 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +344.847 000.224 000.224: require('nvim-treesitter-refactor') +345.250 000.657 000.433: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +345.614 000.107 000.107: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +346.078 000.081 000.081: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +346.409 000.094 000.094: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +346.893 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +347.172 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +347.536 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +348.137 000.122 000.122: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +348.678 000.334 000.334: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +349.400 000.409 000.409: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +349.681 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +349.964 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +350.883 011.327: loading packages +358.878 000.213 000.213: require('cmp_buffer.timer') +358.890 000.402 000.190: require('cmp_buffer.buffer') +358.900 000.598 000.196: require('cmp_buffer.source') +358.905 000.713 000.115: require('cmp_buffer') +358.968 000.854 000.141: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +359.394 000.207 000.207: require('cmp_cmdline') +359.450 000.329 000.122: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +359.739 000.121 000.121: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +360.111 000.152 000.152: require('cmp_path') +360.147 000.256 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +360.495 000.115 000.115: require('cmp_luasnip') +360.562 000.255 000.139: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +361.079 000.129 000.129: require('crates.src.common') +361.087 000.253 000.125: require('crates.src.cmp') +361.118 000.400 000.147: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +361.229 008.131: loading after plugins +361.260 000.032: inits 3 +361.265 000.004: reading ShaDa +362.333 000.166 000.166: require('luasnip.nodes.snippetProxy') +362.345 000.346 000.180: require('luasnip.loaders.from_snipmate') +362.573 000.178 000.178: require('luasnip.loaders.from_vscode') +362.688 000.899: opening buffers +362.975 000.288: BufEnter autocommands +362.984 000.009: editing files in windows +381.381 000.271 000.271: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.043 001.043: --- NVIM STARTING --- +026.961 025.918: event init +043.231 016.270: early init +044.963 001.731: locale set +050.449 005.486: init first window +060.516 010.067: inits 1 +060.543 000.027: window checked +060.553 000.010: parsing arguments +072.133 000.211 000.211: require('vim.shared') +072.677 000.264 000.264: require('vim._meta') +072.693 000.533 000.269: require('vim._editor') +072.701 000.912 000.167: require('vim._init_packages') +072.709 011.244: init lua interpreter +072.881 000.172: expanding arguments +074.675 001.794: inits 2 +076.051 001.377: init highlight +076.063 000.012: waiting for UI +078.078 002.014: done waiting for UI +078.108 000.031: init screen for UI +078.378 000.269: init default mappings +078.404 000.026: init default autocommands +092.890 004.928 004.928: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/ftplugin.vim +096.198 001.057 001.057: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/indent.vim +096.605 000.044 000.044: sourcing /usr/share/nvim/archlinux.vim +096.622 000.141 000.097: sourcing /etc/xdg/nvim/sysinit.vim +127.534 030.645 030.645: require('impatient') +128.665 001.116 001.116: require('impatient.profile') +128.797 000.102 000.102: require('user.utils') +132.193 000.229 000.229: require('packer.util') +132.253 000.551 000.321: require('packer') +133.318 000.590 000.590: require('packer.log') +133.331 000.837 000.247: require('packer.async') +133.617 000.159 000.159: require('packer.result') +133.626 000.288 000.129: require('packer.jobs') +133.643 001.336 000.211: require('packer.plugin_utils') +133.839 000.171 000.171: require('packer.snapshot') +135.606 000.339 000.339: require('mason-core.path') +135.631 000.714 000.375: require('mason.settings') +136.401 000.359 000.359: require('mason-core.functional') +136.746 000.185 000.185: require('mason-core.functional.data') +136.761 000.334 000.149: require('mason-core.functional.function') +136.951 000.156 000.156: require('mason-core.functional.relation') +137.141 000.165 000.165: require('mason-core.functional.logic') +137.181 001.542 000.528: require('mason-core.platform') +137.187 002.735 000.479: require('mason') +137.497 000.123 000.123: require('mason-core.functional.list') +137.543 000.320 000.197: require('mason.api.command') +137.872 000.183 000.183: require('mason-core.log') +137.907 000.357 000.173: require('mason-lspconfig') +138.030 000.114 000.114: require('mason-lspconfig.settings') +138.448 000.120 000.120: require('mason-core.notify') +138.466 000.352 000.232: require('mason-lspconfig.lspconfig_hook') +140.047 000.304 000.304: require('vim.lsp.log') +141.162 000.013 000.013: require('vim.F') +141.173 001.110 001.097: require('vim.lsp.protocol') +142.034 000.382 000.382: require('vim.lsp._snippet') +142.284 000.233 000.233: require('vim.highlight') +142.323 001.094 000.479: require('vim.lsp.util') +142.349 002.968 000.460: require('vim.lsp.handlers') +142.683 000.326 000.326: require('vim.lsp.rpc') +142.854 000.158 000.158: require('vim.lsp.sync') +143.082 000.218 000.218: require('vim.lsp.buf') +143.237 000.145 000.145: require('vim.lsp.diagnostic') +143.403 000.156 000.156: require('vim.lsp.codelens') +143.559 004.890 000.919: require('vim.lsp') +143.713 005.241 000.351: require('lspconfig.util') +144.107 000.098 000.098: require('mason-core.functional.table') +144.203 000.364 000.266: require('mason-lspconfig.mappings.server') +144.570 000.155 000.155: require('mason-core.async') +144.670 000.089 000.089: require('mason-core.async.uv') +144.682 000.364 000.121: require('mason-core.fs') +144.791 000.103 000.103: require('mason-core.optional') +144.894 000.094 000.094: require('mason-core.EventEmitter') +145.108 000.206 000.206: require('mason-registry.index') +145.131 000.918 000.151: require('mason-registry') +145.239 000.100 000.100: require('mason-lspconfig.server_config_extensions') +145.426 000.179 000.179: require('lspconfig.configs') +145.623 000.129 000.129: require('lspconfig.server_configurations.omnisharp') +145.826 000.106 000.106: require('mason-lspconfig.ensure_installed') +146.228 000.102 000.102: require('mason-core.result') +146.730 000.274 000.274: require('mason-core.process') +146.899 000.540 000.266: require('mason-core.spawn') +147.034 000.122 000.122: require('mason-core.receipt') +147.155 000.099 000.099: require('mason-core.functional.string') +147.193 000.955 000.193: require('mason-core.installer.context') +147.304 000.104 000.104: require('mason-core.installer.linker') +147.413 000.101 000.101: require('mason-core.async.control') +147.426 001.422 000.161: require('mason-core.installer') +147.611 000.179 000.179: require('mason-core.installer.handle') +148.197 000.135 000.135: require('mason-core.managers.powershell') +148.206 000.242 000.107: require('mason-core.fetch') +148.210 000.340 000.098: require('mason-core.managers.cargo.client') +148.458 000.124 000.124: require('mason-core.managers.std') +148.741 000.133 000.133: require('mason-core.providers') +148.771 000.305 000.172: require('mason-core.managers.github.client') +148.788 000.572 000.144: require('mason-core.managers.github') +148.923 001.187 000.275: require('mason-core.managers.cargo') +149.219 000.286 000.286: require('mason-core.managers.composer') +149.409 000.181 000.181: require('mason-core.managers.gem') +149.535 000.117 000.117: require('mason-core.managers.git') +149.716 000.172 000.172: require('mason-core.managers.go') +149.929 000.204 000.204: require('mason-core.managers.luarocks') +150.101 000.162 000.162: require('mason-core.managers.npm') +150.293 000.184 000.184: require('mason-core.managers.pip3') +150.312 002.680 000.188: require('mason-core.package.version-check') +150.328 004.472 000.191: require('mason-core.package') +150.478 000.124 000.124: require('mason-registry.python-lsp-server') +150.770 000.118 000.118: require('mason-registry.pyright') +150.952 000.155 000.155: require('mason-registry.clangd') +151.233 000.184 000.184: require('mason-registry.lua-language-server') +151.486 000.103 000.103: require('mason-core.functional.number') +151.547 000.300 000.197: require('mason-lspconfig.api.command') +151.635 020.307 001.980: require('user.pack') +155.156 003.512 003.512: require('user.opts') +155.382 000.018 000.018: require('vim.keymap') +157.605 002.435 002.417: require('user.keys') +157.739 000.124 000.124: require('user.utils') +158.592 000.168 000.168: require('vim.treesitter.language') +158.616 000.504 000.336: require('vim.treesitter.query') +159.663 000.203 000.203: require('vim.treesitter.languagetree') +159.738 000.497 000.294: require('vim.treesitter') +160.033 001.128 000.630: require('nvim-treesitter.parsers') +160.175 000.133 000.133: require('nvim-treesitter.utils') +160.187 001.457 000.197: require('nvim-treesitter.ts_utils') +160.208 001.585 000.127: require('nvim-treesitter.tsrange') +160.310 000.093 000.093: require('nvim-treesitter.caching') +160.331 002.337 000.155: require('nvim-treesitter.query') +160.365 002.537 000.200: require('nvim-treesitter.configs') +160.793 000.108 000.108: require('nvim-treesitter.info') +160.939 000.136 000.136: require('nvim-treesitter.shell_command_selectors') +160.984 000.471 000.227: require('nvim-treesitter.install') +163.052 005.302 002.294: require('plugins.treesitter') +163.375 000.095 000.095: require('telescope._extensions') +163.389 000.204 000.109: require('telescope') +164.142 000.097 000.097: require('plenary.bit') +164.241 000.091 000.091: require('plenary.functional') +164.297 000.035 000.035: require('ffi') +164.320 000.421 000.198: require('plenary.path') +164.334 000.533 000.112: require('plenary.strings') +164.428 000.088 000.088: require('telescope.deprecated') +164.818 000.167 000.167: require('plenary.log') +164.856 000.287 000.120: require('telescope.log') +165.144 000.140 000.140: require('plenary.job') +165.241 000.087 000.087: require('telescope.state') +165.258 000.391 000.164: require('telescope.utils') +165.310 000.874 000.197: require('telescope.sorters') +165.459 000.126 000.126: require('vim.inspect') +169.514 005.873 004.252: require('telescope.config') +169.787 000.111 000.111: require('plenary.window.border') +169.886 000.090 000.090: require('plenary.window') +169.980 000.086 000.086: require('plenary.popup.utils') +169.993 000.464 000.177: require('plenary.popup') +170.101 000.101 000.101: require('telescope.pickers.scroller') +170.207 000.098 000.098: require('telescope.actions.state') +170.340 000.105 000.105: require('telescope.actions.utils') +170.570 000.110 000.110: require('telescope.actions.mt') +170.603 000.255 000.145: require('telescope.actions.set') +170.832 000.120 000.120: require('telescope.config.resolve') +170.840 000.230 000.110: require('telescope.pickers.entry_display') +170.932 000.086 000.086: require('telescope.from_entry') +171.274 007.879 000.667: require('telescope.actions') +174.750 000.145 000.145: require('plenary.tbl') +174.768 000.287 000.142: require('plenary.vararg.rotate') +174.773 000.439 000.152: require('plenary.vararg') +174.882 000.104 000.104: require('plenary.errors') +174.900 000.707 000.163: require('plenary.async.async') +175.020 000.113 000.113: require('plenary.async.structs') +175.036 000.990 000.170: require('plenary.async.control') +175.532 000.355 000.355: require('telescope.make_entry') +176.139 000.133 000.133: require('plenary.async.util') +176.148 000.332 000.199: require('plenary.async.tests') +176.156 000.476 000.145: require('plenary.async') +176.163 000.614 000.138: require('telescope.finders.async_static_finder') +176.540 000.092 000.092: require('plenary.class') +176.574 000.285 000.193: require('telescope._') +176.582 000.413 000.128: require('telescope.finders.async_oneshot_finder') +176.695 000.107 000.107: require('telescope.finders.async_job_finder') +176.708 001.662 000.172: require('telescope.finders') +177.120 000.157 000.157: require('telescope.debounce') +177.449 000.318 000.318: require('telescope.mappings') +177.615 000.153 000.153: require('telescope.pickers.highlights') +177.738 000.113 000.113: require('telescope.pickers.window') +177.995 000.126 000.126: require('telescope.algos.linked_list') +178.006 000.260 000.134: require('telescope.entry_manager') +178.121 000.109 000.109: require('telescope.pickers.multi') +178.169 001.454 000.344: require('telescope.pickers') +178.192 004.365 000.258: require('telescope.builtin.__lsp') +178.241 006.958 002.593: require('telescope.builtin') +178.666 000.279 000.279: require('fzf_lib') +178.685 000.435 000.156: require('telescope._extensions.fzf') +179.273 000.225 000.225: require('telescope._extensions.file_browser.utils') +179.426 000.591 000.366: require('telescope._extensions.file_browser.actions') +179.793 000.210 000.210: require('telescope._extensions.file_browser.make_entry') +180.016 000.209 000.209: require('plenary.scandir') +180.074 000.639 000.219: require('telescope._extensions.file_browser.finders') +180.218 000.137 000.137: require('telescope._extensions.file_browser.picker') +180.381 000.154 000.154: require('telescope._extensions.file_browser.config') +180.388 001.685 000.164: require('telescope._extensions.file_browser') +183.844 020.781 003.620: require('plugins.telescope') +185.808 000.434 000.434: require('notify.util.queue') +185.830 000.576 000.142: require('notify.util') +186.234 000.382 000.382: require('notify.config.highlights') +186.258 001.134 000.176: require('notify.config') +186.480 000.215 000.215: require('notify.stages') +186.687 000.197 000.197: require('notify.service.notification') +187.324 000.158 000.158: require('notify.animate.spring') +187.331 000.330 000.171: require('notify.animate') +187.355 000.660 000.330: require('notify.windows') +188.206 000.362 000.362: require('notify.service.buffer.highlights') +188.229 000.640 000.278: require('notify.service.buffer') +188.246 000.886 000.246: require('notify.service') +188.568 000.316 000.316: require('notify.stages.util') +188.646 003.668 000.261: require('notify') +188.928 000.273 000.273: require('nvim-tree.iterators.node-iterator') +189.087 004.269 000.328: require('nvim-tree.utils') +189.126 004.438 000.169: require('nvim-tree.events') +190.485 000.198 000.198: require('nvim-tree.log') +190.863 000.366 000.366: require('nvim-tree.git.utils') +191.153 000.281 000.281: require('nvim-tree.git.runner') +191.441 000.280 000.280: require('nvim-tree.watcher') +191.486 001.945 000.820: require('nvim-tree.git') +191.845 000.352 000.352: require('nvim-tree.explorer.watch') +192.137 000.282 000.282: require('nvim-tree.explorer.common') +192.757 000.358 000.358: require('nvim-tree.explorer.node-builders') +193.068 000.300 000.300: require('nvim-tree.explorer.sorters') +193.296 000.218 000.218: require('nvim-tree.explorer.filters') +194.360 000.741 000.741: require('nvim-tree.view') +194.408 001.089 000.348: require('nvim-tree.live-filter') +194.433 002.286 000.321: require('nvim-tree.explorer.explore') +194.683 000.241 000.241: require('nvim-tree.explorer.reload') +194.694 005.561 000.454: require('nvim-tree.explorer') +194.703 010.116 000.117: require('nvim-tree.core') +194.823 000.112 000.112: require('nvim-tree.diagnostics') +194.931 000.098 000.098: require('nvim-tree.renderer.components.padding') +195.040 000.100 000.100: require('nvim-tree.renderer.components.icons') +195.155 000.108 000.108: require('nvim-tree.renderer.components.full-name') +195.254 000.091 000.091: require('nvim-tree.renderer.help') +195.382 000.120 000.120: require('nvim-tree.renderer.components.git') +195.520 000.131 000.131: require('nvim-tree.renderer.builder') +195.631 000.102 000.102: require('nvim-tree.marks') +195.644 011.233 000.256: require('nvim-tree.renderer') +195.763 000.104 000.104: require('nvim-tree.actions.tree-modifiers.collapse-all') +195.924 000.153 000.153: require('nvim-tree.actions.root.dir-up') +196.045 000.109 000.109: require('nvim-tree.actions.root.change-dir') +196.153 000.099 000.099: require('nvim-tree.actions.reloaders.reloaders') +196.260 000.098 000.098: require('nvim-tree.actions.finders.find-file') +196.266 012.029 000.233: require('nvim-tree.lib') +196.386 000.113 000.113: require('nvim-tree.colors') +196.527 000.129 000.129: require('nvim-tree.legacy') +196.668 000.130 000.130: require('nvim-tree.actions.fs.copy-paste') +196.889 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') +196.995 000.097 000.097: require('nvim-tree.actions.tree-modifiers.toggles') +197.119 000.106 000.106: require('nvim-tree.actions.fs.create-file') +197.224 000.095 000.095: require('nvim-tree.actions.fs.rename-file') +197.366 000.133 000.133: require('nvim-tree.actions.fs.trash') +197.481 000.106 000.106: require('nvim-tree.actions.fs.remove-file') +197.585 000.091 000.091: require('nvim-tree.actions.moves.parent') +197.683 000.090 000.090: require('nvim-tree.actions.moves.sibling') +197.782 000.089 000.089: require('nvim-tree.actions.moves.item') +197.899 000.096 000.096: require('nvim-tree.actions.finders.search-node') +197.995 000.088 000.088: require('nvim-tree.actions.node.run-command') +198.124 000.122 000.122: require('nvim-tree.actions.node.file-popup') +198.244 000.112 000.112: require('nvim-tree.actions.node.system-open') +198.359 000.102 000.102: require('nvim-tree.marks.bulk-move') +198.367 001.687 000.259: require('nvim-tree.actions.dispatch') +198.403 014.406 000.316: require('nvim-tree') +198.496 000.085 000.085: require('nvim-tree.config') +204.992 000.182 000.182: require('nvim-tree.actions') +205.140 000.126 000.126: require('nvim-tree.actions.node.open-file') +207.683 000.101 000.101: require('nvim-tree.marks.navigation') +207.696 000.298 000.197: require('nvim-tree.api') +207.718 000.447 000.149: require('nvim-tree.keymap') +208.756 000.411 000.411: require('nvim-web-devicons') +212.871 029.014 013.356: require('plugins.nvim-tree') +213.336 000.080 000.080: require('cmp.utils.debug') +213.546 000.118 000.118: require('cmp.utils.char') +213.561 000.215 000.097: require('cmp.utils.str') +213.695 000.082 000.082: require('cmp.utils.pattern') +213.971 000.088 000.088: require('cmp.utils.misc') +214.082 000.083 000.083: require('cmp.utils.buffer') +214.179 000.090 000.090: require('cmp.utils.api') +214.191 000.403 000.142: require('cmp.utils.keymap') +214.201 000.498 000.095: require('cmp.utils.feedkeys') +214.302 000.096 000.096: require('cmp.utils.async') +214.580 000.078 000.078: require('cmp.types.cmp') +214.695 000.107 000.107: require('cmp.types.lsp') +214.780 000.076 000.076: require('cmp.types.vim') +214.786 000.391 000.129: require('cmp.types') +214.869 000.078 000.078: require('cmp.utils.cache') +214.879 000.568 000.099: require('cmp.context') +215.161 000.093 000.093: require('cmp.config.mapping') +215.356 000.094 000.094: require('cmp.config.compare') +215.363 000.190 000.096: require('cmp.config.default') +215.387 000.405 000.123: require('cmp.config') +215.615 000.108 000.108: require('cmp.matcher') +215.627 000.235 000.127: require('cmp.entry') +215.644 000.761 000.120: require('cmp.source') +215.815 000.075 000.075: require('cmp.utils.event') +216.045 000.102 000.102: require('cmp.utils.window') +216.054 000.231 000.129: require('cmp.view.docs_view') +216.260 000.085 000.085: require('cmp.utils.autocmd') +216.280 000.220 000.136: require('cmp.view.custom_entries_view') +216.402 000.116 000.116: require('cmp.view.wildmenu_entries_view') +216.512 000.102 000.102: require('cmp.view.native_entries_view') +216.612 000.093 000.093: require('cmp.view.ghost_text_view') +216.627 000.977 000.140: require('cmp.view') +216.727 003.591 000.314: require('cmp.core') +216.996 000.086 000.086: require('cmp.config.sources') +217.083 000.077 000.077: require('cmp.config.window') +217.183 004.164 000.409: require('cmp') +217.594 000.114 000.114: require('symbols-outline.config') +217.601 000.202 000.088: require('symbols-outline.symbols') +217.698 000.091 000.091: require('symbols-outline.ui') +217.792 000.085 000.085: require('symbols-outline.utils.table') +217.880 000.080 000.080: require('symbols-outline.folding') +217.887 000.580 000.121: require('symbols-outline.parser') +217.977 000.084 000.084: require('symbols-outline.providers.init') +218.077 000.092 000.092: require('symbols-outline.writer') +218.171 000.086 000.086: require('symbols-outline.utils.init') +218.264 000.086 000.086: require('symbols-outline.view') +218.279 001.088 000.160: require('symbols-outline') +218.691 000.118 000.118: require('symbols-outline.preview') +218.812 000.104 000.104: require('lspkind') +220.706 007.822 002.348: require('plugins.cmp') +221.352 000.092 000.092: require('luasnip.session') +221.502 000.140 000.140: require('luasnip.util.util') +221.599 000.089 000.089: require('luasnip.util.types') +221.793 000.090 000.090: require('luasnip.util.ext_opts') +221.803 000.195 000.105: require('luasnip.nodes.util') +221.894 000.084 000.084: require('luasnip.util.events') +221.912 000.763 000.163: require('luasnip.nodes.node') +222.168 000.096 000.096: require('luasnip.util.extend_decorator') +222.181 000.262 000.166: require('luasnip.nodes.insertNode') +222.307 000.120 000.120: require('luasnip.nodes.textNode') +222.418 000.099 000.099: require('luasnip.util.mark') +223.192 000.643 000.643: require('luasnip.util._builtin_vars') +223.379 000.953 000.310: require('luasnip.util.environ') +223.499 000.109 000.109: require('luasnip.util.pattern_tokenizer') +223.594 000.087 000.087: require('luasnip.util.dict') +223.711 000.109 000.109: require('luasnip.session.snippet_collection') +223.821 002.865 000.362: require('luasnip.nodes.snippet') +224.031 000.091 000.091: require('luasnip.loaders._caches') +224.167 000.126 000.126: require('luasnip.util.path') +224.213 000.378 000.160: require('luasnip.loaders') +224.388 000.140 000.140: require('luasnip.nodes.functionNode') +224.610 000.212 000.212: require('luasnip.nodes.choiceNode') +224.779 000.159 000.159: require('luasnip.nodes.dynamicNode') +224.968 000.181 000.181: require('luasnip.nodes.restoreNode') +225.346 000.105 000.105: require('luasnip.util.parser.neovim_ast') +233.195 000.125 000.125: require('luasnip.util.directed_graph') +233.217 008.086 007.857: require('luasnip.util.parser.ast_utils') +233.446 000.094 000.094: require('luasnip.util.functions') +233.464 000.239 000.146: require('luasnip.util.parser.ast_parser') +233.689 000.219 000.219: require('luasnip.util.parser.neovim_parser') +233.794 000.096 000.096: require('luasnip.util.str') +233.809 008.786 000.146: require('luasnip.util.parser') +234.050 000.105 000.105: require('luasnip.extras.filetype_functions') +234.200 000.113 000.113: require('luasnip.extras') +234.320 000.107 000.107: require('luasnip.extras.fmt') +234.594 000.092 000.092: require('luasnip.extras.conditions') +234.694 000.092 000.092: require('luasnip.extras.conditions.show') +234.776 000.360 000.176: require('luasnip.extras.conditions.expand') +234.782 000.453 000.093: require('luasnip.extras.expand_conditions') +234.897 000.098 000.098: require('luasnip.nodes.absolute_indexer') +235.294 001.480 000.604: require('luasnip.config') +235.305 014.497 000.296: require('luasnip') +235.539 000.116 000.116: require('luasnip.loaders.util') +235.554 000.243 000.127: require('luasnip.loaders.from_lua') +245.331 024.612 009.873: require('plugins.luasnip') +245.726 000.140 000.140: require('colorizer/nvim') +246.100 000.364 000.364: require('colorizer/trie') +246.381 000.935 000.430: require('colorizer') +248.410 003.062 002.127: require('plugins.colorizer') +248.805 000.097 000.097: require('prettier.utils') +248.839 000.246 000.149: require('prettier.options') +249.540 000.251 000.251: require('null-ls.methods') +249.569 000.415 000.164: require('null-ls.utils') +250.110 000.531 000.531: require('vim.diagnostic') +250.137 001.080 000.134: require('null-ls.config') +250.367 000.126 000.126: require('null-ls.helpers.cache') +250.492 000.116 000.116: require('null-ls.helpers.diagnostics') +250.597 000.096 000.096: require('null-ls.helpers.formatter_factory') +250.826 000.090 000.090: require('null-ls.logger') +250.944 000.110 000.110: require('null-ls.state') +250.953 000.348 000.149: require('null-ls.helpers.generator_factory') +251.161 000.100 000.100: require('null-ls.helpers.command_resolver') +251.168 000.210 000.110: require('null-ls.helpers.make_builtin') +251.272 000.098 000.098: require('null-ls.helpers.range_formatting_args_factory') +251.278 001.133 000.140: require('null-ls.helpers') +251.507 000.109 000.109: require('null-ls.diagnostics') +251.525 000.241 000.133: require('null-ls.sources') +251.629 000.096 000.096: require('null-ls.builtins') +251.637 002.673 000.123: require('null-ls') +251.728 000.085 000.085: require('prettier.cli') +251.743 002.896 000.137: require('prettier.null-ls') +251.749 003.242 000.099: require('prettier') +251.975 003.552 000.310: require('plugins.prettier') +252.148 000.094 000.094: require('git') +252.245 000.088 000.088: require('git.config') +252.429 000.444 000.262: require('plugins.git') +252.769 000.090 000.090: require('gitsigns.async') +252.867 000.088 000.088: require('gitsigns.status') +253.122 000.104 000.104: require('gitsigns.debug') +253.235 000.105 000.105: require('gitsigns.util') +253.453 000.102 000.102: require('gitsigns.uv') +253.461 000.219 000.118: require('gitsigns.subprocess') +253.891 000.087 000.087: require('gitsigns.message') +253.924 000.269 000.182: require('gitsigns.config') +254.016 000.083 000.083: require('gitsigns.signs.base') +254.026 000.452 000.100: require('gitsigns.signs') +254.037 000.570 000.117: require('gitsigns.hunks') +254.055 001.180 000.183: require('gitsigns.git') +254.276 000.088 000.088: require('gitsigns.cache') +254.379 000.094 000.094: require('gitsigns.debounce') +254.474 000.083 000.083: require('gitsigns.diff') +254.498 000.438 000.173: require('gitsigns.manager') +254.617 000.112 000.112: require('gitsigns.highlight') +254.639 002.109 000.200: require('gitsigns') +256.417 000.122 000.122: require('gitsigns.signs.vimfn') +259.904 007.467 005.236: require('plugins.gitsigns') +260.396 000.130 000.130: require('neoscroll.config') +260.560 000.148 000.148: require('neoscroll.utils') +260.706 000.619 000.341: require('neoscroll') +261.286 001.353 000.734: require('plugins.neoscroll') +261.860 000.132 000.132: require('cmp_nvim_lsp.source') +261.870 000.260 000.128: require('cmp_nvim_lsp') +261.979 000.100 000.100: require('lspconfig') +262.138 000.110 000.110: require('lspconfig.server_configurations.pylsp') +263.176 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') +263.715 000.126 000.126: require('lspconfig.server_configurations.clangd') +266.127 000.137 000.137: require('lspconfig.server_configurations.sumneko_lua') +268.040 006.744 005.876: require('plugins.lsp') +268.421 000.092 000.092: require('nvim-autopairs._log') +268.547 000.116 000.116: require('nvim-autopairs.utils') +268.886 000.122 000.122: require('nvim-autopairs.conds') +268.901 000.238 000.117: require('nvim-autopairs.rule') +268.908 000.353 000.115: require('nvim-autopairs.rules.basic') +268.928 000.765 000.204: require('nvim-autopairs') +269.091 000.118 000.118: require('nvim-autopairs.fastwrap') +269.536 000.113 000.113: require('nvim-autopairs.ts-conds') +269.544 000.223 000.110: require('nvim-autopairs.rules.ts_basic') +269.838 000.287 000.287: require('vim.treesitter.highlighter') +270.982 000.100 000.100: require('nvim-autopairs.completion.handlers') +270.999 000.265 000.165: require('nvim-autopairs.completion.cmp') +271.095 003.041 001.383: require('plugins.autopairs') +271.352 000.160 000.160: require('null-ls.builtins.formatting.prettierd') +271.498 000.132 000.132: require('null-ls.builtins.formatting.stylua') +271.628 000.120 000.120: require('null-ls.builtins.formatting.shfmt') +272.425 000.150 000.150: require('null-ls.client') +272.480 001.375 000.812: require('plugins.null-ls') +272.605 000.117 000.117: require('plugins.web-devicons') +273.082 000.085 000.085: require('zen-mode.util') +273.143 000.242 000.156: require('zen-mode.config') +273.254 000.102 000.102: require('zen-mode.plugins') +273.266 000.498 000.155: require('zen-mode.view') +273.273 000.588 000.090: require('zen-mode') +273.394 000.780 000.192: require('plugins.zen-mode') +277.630 000.103 000.103: require('doom-one.utils') +277.748 000.107 000.107: require('doom-one.colors') +277.771 000.554 000.343: require('doom-one') +280.160 003.924 003.370: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +284.470 000.429 000.429: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/syntax/synload.vim +284.854 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +286.155 000.097 000.097: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/filetype.lua +287.708 001.307 001.307: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/filetype.vim +288.654 000.159 000.159: require('filetype') +288.722 006.279 004.229: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/syntax/syntax.vim +289.093 000.123 000.123: require('notify.stages.fade_in_slide_out') +289.163 015.758 005.432: require('plugins.colorscheme') +289.564 000.107 000.107: require('heirline.conditions') +289.734 000.161 000.161: require('heirline.utils') +290.092 000.106 000.106: require('heirline.highlights') +290.107 000.230 000.124: require('heirline.statusline') +290.116 000.343 000.113: require('heirline') +290.277 000.144 000.144: require('nvim-navic') +294.080 004.886 004.131: require('plugins.heirline') +294.131 197.439 003.091: sourcing /home/srdusr/.config/nvim/init.lua +294.152 012.183: sourcing vimrc file(s) +300.999 001.231 001.231: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/gzip.vim +301.170 000.083 000.083: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/health.vim +303.937 001.566 001.566: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +304.334 003.095 001.529: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/matchit.vim +304.837 000.399 000.399: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/matchparen.vim +304.986 000.080 000.080: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/netrwPlugin.vim +305.402 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +305.423 000.373 000.351: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/rplugin.vim +305.673 000.191 000.191: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/shada.vim +305.800 000.054 000.054: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/spellfile.vim +305.982 000.066 000.066: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/tarPlugin.vim +306.113 000.059 000.059: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/tohtml.vim +306.226 000.045 000.045: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/tutor.vim +307.067 000.774 000.774: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/zipPlugin.vim +307.380 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +308.763 000.121 000.121: require('leap') +308.878 000.104 000.104: require('leap.user') +309.975 000.272 000.272: require('fidget.log') +310.002 000.457 000.185: require('fidget') +310.191 000.166 000.166: require('fidget.spinners') +310.896 000.084 000.084: require('crates.time') +310.906 000.188 000.104: require('crates.types') +310.913 000.295 000.107: require('crates.semver') +311.567 000.555 000.555: require('crates.config') +311.730 000.152 000.152: require('crates.toml') +311.739 000.820 000.113: require('crates.state') +311.768 001.281 000.167: require('crates.util') +311.779 001.403 000.122: require('crates.actions') +312.020 000.135 000.135: require('crates.api') +312.116 000.088 000.088: require('crates.async') +312.237 000.113 000.113: require('crates.diagnostic') +312.346 000.100 000.100: require('crates.ui') +312.356 000.570 000.135: require('crates.core') +312.618 000.153 000.153: require('crates.popup.common') +312.746 000.119 000.119: require('crates.popup.crate') +312.910 000.156 000.156: require('crates.popup.dependencies') +313.066 000.149 000.149: require('crates.popup.features') +313.191 000.117 000.117: require('crates.popup.versions') +313.207 000.846 000.153: require('crates.popup') +313.219 002.958 000.138: require('crates') +315.735 000.129 000.129: require('flit') +317.318 000.531 000.531: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +319.108 011.586 007.120: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +319.995 000.147 000.147: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/man.lua +320.167 007.789: loading rtp plugins +322.158 000.099 000.099: require('Comment.config') +322.447 000.146 000.146: require('Comment.ft') +322.458 000.290 000.145: require('Comment.utils') +322.599 000.134 000.134: require('Comment.opfunc') +322.725 000.118 000.118: require('Comment.extra') +322.735 000.813 000.171: require('Comment.api') +322.954 001.139 000.326: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +323.291 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +324.024 000.483 000.483: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +324.817 000.180 000.180: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +325.418 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +327.193 001.172 001.172: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +327.706 000.070 000.070: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +328.353 000.360 000.360: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +329.118 000.220 000.220: require('cmp.utils.highlight') +329.852 001.085 000.865: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +330.062 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +330.378 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +330.844 000.162 000.162: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +331.468 000.218 000.218: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +332.173 000.101 000.101: require('nvim-treesitter.statusline') +332.300 000.118 000.118: require('nvim-treesitter.query_predicates') +332.308 000.351 000.132: require('nvim-treesitter') +333.454 001.579 001.228: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +333.944 000.268 000.268: require('treesitter-context') +333.955 000.310 000.042: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +334.371 000.118 000.118: require('nvim-treesitter-refactor') +334.721 000.504 000.386: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +335.094 000.113 000.113: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +335.520 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +335.878 000.124 000.124: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +336.362 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +336.642 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +336.993 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +337.588 000.123 000.123: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +338.134 000.336 000.336: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +338.813 000.369 000.369: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +339.095 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +339.395 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +340.528 011.443: loading packages +348.314 000.206 000.206: require('cmp_buffer.timer') +348.327 000.340 000.134: require('cmp_buffer.buffer') +348.337 000.457 000.117: require('cmp_buffer.source') +348.343 000.572 000.114: require('cmp_buffer') +348.401 000.707 000.135: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +348.870 000.246 000.246: require('cmp_cmdline') +348.908 000.350 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +349.163 000.098 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +349.657 000.228 000.228: require('cmp_path') +349.691 000.355 000.127: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +350.040 000.117 000.117: require('cmp_luasnip') +350.255 000.403 000.287: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +350.737 000.127 000.127: require('crates.src.common') +350.746 000.240 000.113: require('crates.src.cmp') +350.821 000.404 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +350.932 008.087: loading after plugins +350.963 000.031: inits 3 +350.967 000.004: reading ShaDa +352.058 000.150 000.150: require('luasnip.nodes.snippetProxy') +352.074 000.306 000.156: require('luasnip.loaders.from_snipmate') +352.294 000.131 000.131: require('luasnip.loaders.from_vscode') +352.403 000.999: opening buffers +352.662 000.259: BufEnter autocommands +352.673 000.010: editing files in windows +369.460 000.315 000.315: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.516 001.516: --- NVIM STARTING --- +033.656 032.141: event init +051.529 017.872: early init +053.321 001.793: locale set +059.035 005.713: init first window +069.448 010.413: inits 1 +069.480 000.032: window checked +069.489 000.010: parsing arguments +080.817 000.120 000.120: require('vim.shared') +081.054 000.107 000.107: require('vim._meta') +081.060 000.230 000.123: require('vim._editor') +081.063 000.411 000.060: require('vim._init_packages') +081.067 011.167: init lua interpreter +081.150 000.083: expanding arguments +082.914 001.764: inits 2 +084.297 001.383: init highlight +084.308 000.011: waiting for UI +088.458 004.150: done waiting for UI +088.528 000.070: init screen for UI +089.325 000.797: init default mappings +089.401 000.076: init default autocommands +106.695 005.211 005.211: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/ftplugin.vim +110.367 001.418 001.418: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/indent.vim +110.983 000.059 000.059: sourcing /usr/share/nvim/archlinux.vim +111.017 000.203 000.143: sourcing /etc/xdg/nvim/sysinit.vim +159.729 048.291 048.291: require('impatient') +160.916 001.154 001.154: require('impatient.profile') +161.056 000.115 000.115: require('user.utils') +165.487 000.310 000.310: require('packer.util') +165.566 000.733 000.422: require('packer') +166.934 000.794 000.794: require('packer.log') +166.948 001.012 000.218: require('packer.async') +167.476 000.374 000.374: require('packer.result') +167.498 000.542 000.168: require('packer.jobs') +167.514 001.881 000.327: require('packer.plugin_utils') +167.817 000.273 000.273: require('packer.snapshot') +169.313 000.194 000.194: require('mason-core.path') +169.342 000.424 000.230: require('mason.settings') +169.775 000.224 000.224: require('mason-core.functional') +170.181 000.122 000.122: require('mason-core.functional.data') +170.194 000.389 000.267: require('mason-core.functional.function') +170.421 000.189 000.189: require('mason-core.functional.relation') +170.615 000.169 000.169: require('mason-core.functional.logic') +170.677 001.325 000.355: require('mason-core.platform') +170.684 002.098 000.349: require('mason') +171.157 000.146 000.146: require('mason-core.functional.list') +171.216 000.487 000.341: require('mason.api.command') +171.551 000.187 000.187: require('mason-core.log') +171.563 000.338 000.151: require('mason-lspconfig') +171.686 000.116 000.116: require('mason-lspconfig.settings') +172.005 000.100 000.100: require('mason-core.notify') +172.021 000.254 000.154: require('mason-lspconfig.lspconfig_hook') +173.436 000.332 000.332: require('vim.lsp.log') +175.349 000.018 000.018: require('vim.F') +175.362 001.914 001.896: require('vim.lsp.protocol') +176.664 000.616 000.616: require('vim.lsp._snippet') +177.121 000.431 000.431: require('vim.highlight') +177.185 001.814 000.767: require('vim.lsp.util') +177.253 004.476 000.416: require('vim.lsp.handlers') +177.793 000.525 000.525: require('vim.lsp.rpc') +178.168 000.357 000.357: require('vim.lsp.sync') +178.616 000.432 000.432: require('vim.lsp.buf') +179.019 000.333 000.333: require('vim.lsp.diagnostic') +179.502 000.399 000.399: require('vim.lsp.codelens') +179.778 007.591 001.069: require('vim.lsp') +180.117 008.089 000.498: require('lspconfig.util') +180.682 000.163 000.163: require('mason-core.functional.table') +180.832 000.619 000.456: require('mason-lspconfig.mappings.server') +181.363 000.191 000.191: require('mason-core.async') +181.566 000.187 000.187: require('mason-core.async.uv') +181.592 000.576 000.199: require('mason-core.fs') +181.775 000.171 000.171: require('mason-core.optional') +181.933 000.145 000.145: require('mason-core.EventEmitter') +182.311 000.368 000.368: require('mason-registry.index') +182.352 001.507 000.247: require('mason-registry') +182.670 000.305 000.305: require('mason-lspconfig.server_config_extensions') +182.867 000.178 000.178: require('lspconfig.configs') +183.170 000.230 000.230: require('lspconfig.server_configurations.omnisharp') +183.726 000.167 000.167: require('mason-lspconfig.ensure_installed') +184.284 000.154 000.154: require('mason-core.result') +185.040 000.408 000.408: require('mason-core.process') +185.238 000.757 000.349: require('mason-core.spawn') +185.440 000.185 000.185: require('mason-core.receipt') +185.641 000.167 000.167: require('mason-core.functional.string') +185.691 001.395 000.286: require('mason-core.installer.context') +185.862 000.161 000.161: require('mason-core.installer.linker') +186.029 000.155 000.155: require('mason-core.async.control') +186.043 002.103 000.238: require('mason-core.installer') +186.253 000.197 000.197: require('mason-core.installer.handle') +187.145 000.169 000.169: require('mason-core.managers.powershell') +187.158 000.335 000.165: require('mason-core.fetch') +187.164 000.480 000.146: require('mason-core.managers.cargo.client') +187.599 000.197 000.197: require('mason-core.managers.std') +188.064 000.283 000.283: require('mason-core.providers') +188.109 000.497 000.214: require('mason-core.managers.github.client') +188.130 000.958 000.263: require('mason-core.managers.github') +188.313 001.835 000.396: require('mason-core.managers.cargo') +188.687 000.360 000.360: require('mason-core.managers.composer') +188.964 000.264 000.264: require('mason-core.managers.gem') +189.161 000.185 000.185: require('mason-core.managers.git') +189.542 000.369 000.369: require('mason-core.managers.go') +189.902 000.346 000.346: require('mason-core.managers.luarocks') +190.216 000.302 000.302: require('mason-core.managers.npm') +190.591 000.361 000.361: require('mason-core.managers.pip3') +190.622 004.337 000.316: require('mason-core.package.version-check') +190.650 006.910 000.273: require('mason-core.package') +190.945 000.247 000.247: require('mason-registry.python-lsp-server') +191.450 000.249 000.249: require('mason-registry.pyright') +191.843 000.336 000.336: require('mason-registry.clangd') +192.062 000.180 000.180: require('mason-registry.lua-language-server') +192.397 000.139 000.139: require('mason-core.functional.number') +192.474 000.396 000.257: require('mason-lspconfig.api.command') +192.686 028.315 002.723: require('user.pack') +197.945 005.244 005.244: require('user.opts') +198.202 000.016 000.016: require('vim.keymap') +201.245 003.273 003.256: require('user.keys') +201.453 000.182 000.182: require('user.utils') +202.815 000.295 000.295: require('vim.treesitter.language') +202.841 000.857 000.561: require('vim.treesitter.query') +204.360 000.363 000.363: require('vim.treesitter.languagetree') +204.478 000.820 000.457: require('vim.treesitter') +204.871 001.660 000.840: require('nvim-treesitter.parsers') +205.054 000.172 000.172: require('nvim-treesitter.utils') +205.069 002.083 000.251: require('nvim-treesitter.ts_utils') +205.083 002.233 000.150: require('nvim-treesitter.tsrange') +205.218 000.126 000.126: require('nvim-treesitter.caching') +205.248 003.428 000.212: require('nvim-treesitter.query') +205.289 003.707 000.279: require('nvim-treesitter.configs') +205.955 000.138 000.138: require('nvim-treesitter.info') +206.141 000.173 000.173: require('nvim-treesitter.shell_command_selectors') +206.199 000.605 000.294: require('nvim-treesitter.install') +209.367 007.900 003.588: require('plugins.treesitter') +209.871 000.162 000.162: require('telescope._extensions') +209.885 000.298 000.136: require('telescope') +210.851 000.120 000.120: require('plenary.bit') +210.976 000.115 000.115: require('plenary.functional') +211.047 000.050 000.050: require('ffi') +211.076 000.539 000.254: require('plenary.path') +211.099 000.682 000.143: require('plenary.strings') +211.211 000.106 000.106: require('telescope.deprecated') +211.705 000.221 000.221: require('plenary.log') +211.754 000.368 000.146: require('telescope.log') +212.118 000.181 000.181: require('plenary.job') +212.241 000.111 000.111: require('telescope.state') +212.260 000.497 000.205: require('telescope.utils') +212.323 001.104 000.239: require('telescope.sorters') +212.575 000.217 000.217: require('vim.inspect') +217.782 007.577 005.468: require('telescope.config') +218.130 000.145 000.145: require('plenary.window.border') +218.253 000.113 000.113: require('plenary.window') +218.368 000.106 000.106: require('plenary.popup.utils') +218.389 000.588 000.226: require('plenary.popup') +218.522 000.124 000.124: require('telescope.pickers.scroller') +218.654 000.123 000.123: require('telescope.actions.state') +218.814 000.134 000.134: require('telescope.actions.utils') +219.086 000.121 000.121: require('telescope.actions.mt') +219.137 000.315 000.194: require('telescope.actions.set') +219.432 000.155 000.155: require('telescope.config.resolve') +219.441 000.295 000.140: require('telescope.pickers.entry_display') +219.554 000.106 000.106: require('telescope.from_entry') +220.013 010.120 000.857: require('telescope.actions') +223.724 000.109 000.109: require('plenary.tbl') +223.743 000.248 000.139: require('plenary.vararg.rotate') +223.748 000.364 000.116: require('plenary.vararg') +223.875 000.120 000.120: require('plenary.errors') +223.896 000.652 000.167: require('plenary.async.async') +224.044 000.140 000.140: require('plenary.async.structs') +224.063 000.963 000.170: require('plenary.async.control') +224.644 000.414 000.414: require('telescope.make_entry') +225.219 000.150 000.150: require('plenary.async.util') +225.228 000.285 000.134: require('plenary.async.tests') +225.235 000.431 000.147: require('plenary.async') +225.243 000.580 000.149: require('telescope.finders.async_static_finder') +225.662 000.119 000.119: require('plenary.class') +225.708 000.317 000.198: require('telescope._') +225.717 000.467 000.150: require('telescope.finders.async_oneshot_finder') +225.886 000.162 000.162: require('telescope.finders.async_job_finder') +225.903 001.830 000.206: require('telescope.finders') +226.595 000.342 000.342: require('telescope.debounce') +226.924 000.315 000.315: require('telescope.mappings') +227.103 000.165 000.165: require('telescope.pickers.highlights') +227.250 000.135 000.135: require('telescope.pickers.window') +227.558 000.150 000.150: require('telescope.algos.linked_list') +227.570 000.312 000.162: require('telescope.entry_manager') +227.710 000.133 000.133: require('telescope.pickers.multi') +227.768 001.856 000.454: require('telescope.pickers') +227.795 004.914 000.265: require('telescope.builtin.__lsp') +227.886 007.862 002.948: require('telescope.builtin') +228.405 000.340 000.340: require('fzf_lib') +228.427 000.531 000.191: require('telescope._extensions.fzf') +229.080 000.232 000.232: require('telescope._extensions.file_browser.utils') +229.247 000.651 000.418: require('telescope._extensions.file_browser.actions') +229.680 000.244 000.244: require('telescope._extensions.file_browser.make_entry') +230.052 000.357 000.357: require('plenary.scandir') +230.122 000.865 000.264: require('telescope._extensions.file_browser.finders') +230.293 000.161 000.161: require('telescope._extensions.file_browser.picker') +230.481 000.179 000.179: require('telescope._extensions.file_browser.config') +230.489 002.041 000.185: require('telescope._extensions.file_browser') +234.415 025.026 004.175: require('plugins.telescope') +236.164 000.112 000.112: require('notify.util.queue') +236.176 000.255 000.143: require('notify.util') +236.506 000.324 000.324: require('notify.config.highlights') +236.521 000.753 000.174: require('notify.config') +236.644 000.116 000.116: require('notify.stages') +236.783 000.130 000.130: require('notify.service.notification') +237.441 000.398 000.398: require('notify.animate.spring') +237.448 000.510 000.112: require('notify.animate') +237.470 000.679 000.169: require('notify.windows') +238.243 000.264 000.264: require('notify.service.buffer.highlights') +238.277 000.561 000.297: require('notify.service.buffer') +238.295 000.820 000.259: require('notify.service') +238.873 000.572 000.572: require('notify.stages.util') +238.967 003.368 000.297: require('notify') +239.195 000.220 000.220: require('nvim-tree.iterators.node-iterator') +239.351 003.930 000.343: require('nvim-tree.utils') +239.390 004.107 000.177: require('nvim-tree.events') +240.152 000.209 000.209: require('nvim-tree.log') +240.486 000.324 000.324: require('nvim-tree.git.utils') +240.783 000.288 000.288: require('nvim-tree.git.runner') +241.059 000.268 000.268: require('nvim-tree.watcher') +241.097 001.472 000.383: require('nvim-tree.git') +241.351 000.247 000.247: require('nvim-tree.explorer.watch') +241.552 000.193 000.193: require('nvim-tree.explorer.common') +242.081 000.261 000.261: require('nvim-tree.explorer.node-builders') +242.349 000.258 000.258: require('nvim-tree.explorer.sorters') +242.545 000.187 000.187: require('nvim-tree.explorer.filters') +243.567 000.668 000.668: require('nvim-tree.view') +243.616 001.049 000.381: require('nvim-tree.live-filter') +243.636 002.075 000.320: require('nvim-tree.explorer.explore') +243.882 000.231 000.231: require('nvim-tree.explorer.reload') +243.905 004.508 000.289: require('nvim-tree.explorer') +243.947 008.785 000.169: require('nvim-tree.core') +244.226 000.272 000.272: require('nvim-tree.diagnostics') +244.485 000.217 000.217: require('nvim-tree.renderer.components.padding') +244.781 000.287 000.287: require('nvim-tree.renderer.components.icons') +245.031 000.242 000.242: require('nvim-tree.renderer.components.full-name') +245.217 000.178 000.178: require('nvim-tree.renderer.help') +245.348 000.123 000.123: require('nvim-tree.renderer.components.git') +245.483 000.127 000.127: require('nvim-tree.renderer.builder') +245.590 000.100 000.100: require('nvim-tree.marks') +245.604 010.585 000.254: require('nvim-tree.renderer') +245.722 000.105 000.105: require('nvim-tree.actions.tree-modifiers.collapse-all') +245.820 000.089 000.089: require('nvim-tree.actions.root.dir-up') +245.929 000.101 000.101: require('nvim-tree.actions.root.change-dir') +246.035 000.099 000.099: require('nvim-tree.actions.reloaders.reloaders') +246.141 000.097 000.097: require('nvim-tree.actions.finders.find-file') +246.147 011.317 000.240: require('nvim-tree.lib') +246.260 000.107 000.107: require('nvim-tree.colors') +246.419 000.148 000.148: require('nvim-tree.legacy') +246.556 000.126 000.126: require('nvim-tree.actions.fs.copy-paste') +246.776 000.102 000.102: require('nvim-tree.actions.tree-modifiers.expand-all') +246.881 000.096 000.096: require('nvim-tree.actions.tree-modifiers.toggles') +247.001 000.104 000.104: require('nvim-tree.actions.fs.create-file') +247.106 000.095 000.095: require('nvim-tree.actions.fs.rename-file') +247.241 000.127 000.127: require('nvim-tree.actions.fs.trash') +247.354 000.104 000.104: require('nvim-tree.actions.fs.remove-file') +247.460 000.095 000.095: require('nvim-tree.actions.moves.parent') +247.559 000.091 000.091: require('nvim-tree.actions.moves.sibling') +247.658 000.090 000.090: require('nvim-tree.actions.moves.item') +247.776 000.098 000.098: require('nvim-tree.actions.finders.search-node') +247.874 000.090 000.090: require('nvim-tree.actions.node.run-command') +247.998 000.117 000.117: require('nvim-tree.actions.node.file-popup') +248.120 000.114 000.114: require('nvim-tree.actions.node.system-open') +248.233 000.101 000.101: require('nvim-tree.marks.bulk-move') +248.240 001.673 000.248: require('nvim-tree.actions.dispatch') +248.273 013.710 000.339: require('nvim-tree') +248.361 000.081 000.081: require('nvim-tree.config') +252.911 000.165 000.165: require('nvim-tree.actions') +253.063 000.135 000.135: require('nvim-tree.actions.node.open-file') +255.633 000.096 000.096: require('nvim-tree.marks.navigation') +255.645 000.284 000.187: require('nvim-tree.api') +255.667 000.426 000.143: require('nvim-tree.keymap') +256.534 000.416 000.416: require('nvim-web-devicons') +260.717 026.287 011.353: require('plugins.nvim-tree') +261.160 000.076 000.076: require('cmp.utils.debug') +261.369 000.118 000.118: require('cmp.utils.char') +261.383 000.215 000.096: require('cmp.utils.str') +261.513 000.081 000.081: require('cmp.utils.pattern') +261.780 000.085 000.085: require('cmp.utils.misc') +261.888 000.080 000.080: require('cmp.utils.buffer') +261.986 000.091 000.091: require('cmp.utils.api') +261.996 000.396 000.139: require('cmp.utils.keymap') +262.005 000.485 000.089: require('cmp.utils.feedkeys') +262.103 000.093 000.093: require('cmp.utils.async') +262.370 000.075 000.075: require('cmp.types.cmp') +262.478 000.101 000.101: require('cmp.types.lsp') +262.557 000.072 000.072: require('cmp.types.vim') +262.562 000.371 000.123: require('cmp.types') +262.640 000.073 000.073: require('cmp.utils.cache') +262.649 000.538 000.094: require('cmp.context') +262.919 000.089 000.089: require('cmp.config.mapping') +263.148 000.130 000.130: require('cmp.config.compare') +263.155 000.225 000.095: require('cmp.config.default') +263.179 000.433 000.119: require('cmp.config') +263.376 000.078 000.078: require('cmp.matcher') +263.387 000.202 000.124: require('cmp.entry') +263.402 000.749 000.114: require('cmp.source') +263.567 000.074 000.074: require('cmp.utils.event') +263.755 000.096 000.096: require('cmp.utils.window') +263.762 000.188 000.092: require('cmp.view.docs_view') +263.959 000.082 000.082: require('cmp.utils.autocmd') +263.979 000.212 000.130: require('cmp.view.custom_entries_view') +264.097 000.112 000.112: require('cmp.view.wildmenu_entries_view') +264.203 000.099 000.099: require('cmp.view.native_entries_view') +264.297 000.088 000.088: require('cmp.view.ghost_text_view') +264.311 000.904 000.132: require('cmp.view') +264.375 003.409 000.269: require('cmp.core') +264.744 000.085 000.085: require('cmp.config.sources') +264.827 000.073 000.073: require('cmp.config.window') +264.928 004.072 000.505: require('cmp') +265.330 000.113 000.113: require('symbols-outline.config') +265.336 000.199 000.086: require('symbols-outline.symbols') +265.430 000.089 000.089: require('symbols-outline.ui') +265.519 000.080 000.080: require('symbols-outline.utils.table') +265.603 000.078 000.078: require('symbols-outline.folding') +265.610 000.562 000.116: require('symbols-outline.parser') +265.696 000.082 000.082: require('symbols-outline.providers.init') +265.793 000.090 000.090: require('symbols-outline.writer') +265.883 000.082 000.082: require('symbols-outline.utils.init') +265.969 000.081 000.081: require('symbols-outline.view') +265.984 001.049 000.152: require('symbols-outline') +266.221 000.108 000.108: require('symbols-outline.preview') +266.335 000.099 000.099: require('lspkind') +268.163 007.434 002.106: require('plugins.cmp') +268.689 000.080 000.080: require('luasnip.session') +268.813 000.116 000.116: require('luasnip.util.util') +268.899 000.078 000.078: require('luasnip.util.types') +269.097 000.088 000.088: require('luasnip.util.ext_opts') +269.110 000.205 000.117: require('luasnip.nodes.util') +269.201 000.084 000.084: require('luasnip.util.events') +269.217 000.702 000.139: require('luasnip.nodes.node') +269.487 000.093 000.093: require('luasnip.util.extend_decorator') +269.502 000.279 000.186: require('luasnip.nodes.insertNode') +269.621 000.112 000.112: require('luasnip.nodes.textNode') +269.746 000.113 000.113: require('luasnip.util.mark') +270.468 000.624 000.624: require('luasnip.util._builtin_vars') +270.701 000.947 000.323: require('luasnip.util.environ') +270.821 000.110 000.110: require('luasnip.util.pattern_tokenizer') +270.910 000.081 000.081: require('luasnip.util.dict') +271.025 000.108 000.108: require('luasnip.session.snippet_collection') +271.136 002.759 000.305: require('luasnip.nodes.snippet') +271.347 000.094 000.094: require('luasnip.loaders._caches') +271.481 000.125 000.125: require('luasnip.util.path') +271.527 000.376 000.157: require('luasnip.loaders') +271.696 000.134 000.134: require('luasnip.nodes.functionNode') +271.856 000.151 000.151: require('luasnip.nodes.choiceNode') +272.006 000.142 000.142: require('luasnip.nodes.dynamicNode') +272.148 000.135 000.135: require('luasnip.nodes.restoreNode') +272.518 000.102 000.102: require('luasnip.util.parser.neovim_ast') +277.366 000.109 000.109: require('luasnip.util.directed_graph') +277.386 005.086 004.876: require('luasnip.util.parser.ast_utils') +277.605 000.091 000.091: require('luasnip.util.functions') +277.622 000.229 000.138: require('luasnip.util.parser.ast_parser') +277.807 000.179 000.179: require('luasnip.util.parser.neovim_parser') +277.905 000.089 000.089: require('luasnip.util.str') +277.922 005.723 000.139: require('luasnip.util.parser') +278.153 000.099 000.099: require('luasnip.extras.filetype_functions') +278.301 000.105 000.105: require('luasnip.extras') +278.412 000.099 000.099: require('luasnip.extras.fmt') +278.683 000.093 000.093: require('luasnip.extras.conditions') +278.786 000.095 000.095: require('luasnip.extras.conditions.show') +278.865 000.359 000.171: require('luasnip.extras.conditions.expand') +278.871 000.451 000.092: require('luasnip.extras.expand_conditions') +278.975 000.093 000.093: require('luasnip.nodes.absolute_indexer') +279.390 001.462 000.614: require('luasnip.config') +279.402 011.147 000.263: require('luasnip') +279.624 000.108 000.108: require('luasnip.loaders.util') +279.635 000.226 000.118: require('luasnip.loaders.from_lua') +289.067 020.892 009.519: require('plugins.luasnip') +289.452 000.136 000.136: require('colorizer/nvim') +289.782 000.321 000.321: require('colorizer/trie') +290.185 001.012 000.555: require('colorizer') +292.084 003.001 001.990: require('plugins.colorizer') +292.454 000.089 000.089: require('prettier.utils') +292.509 000.246 000.157: require('prettier.options') +293.215 000.288 000.288: require('null-ls.methods') +293.243 000.430 000.142: require('null-ls.utils') +293.754 000.501 000.501: require('vim.diagnostic') +293.776 001.052 000.121: require('null-ls.config') +293.963 000.087 000.087: require('null-ls.helpers.cache') +294.084 000.114 000.114: require('null-ls.helpers.diagnostics') +294.186 000.095 000.095: require('null-ls.helpers.formatter_factory') +294.410 000.096 000.096: require('null-ls.logger') +294.513 000.097 000.097: require('null-ls.state') +294.521 000.327 000.134: require('null-ls.helpers.generator_factory') +294.724 000.097 000.097: require('null-ls.helpers.command_resolver') +294.730 000.204 000.107: require('null-ls.helpers.make_builtin') +294.829 000.092 000.092: require('null-ls.helpers.range_formatting_args_factory') +294.834 001.051 000.131: require('null-ls.helpers') +295.054 000.110 000.110: require('null-ls.diagnostics') +295.073 000.234 000.124: require('null-ls.sources') +295.200 000.120 000.120: require('null-ls.builtins') +295.208 002.576 000.120: require('null-ls') +295.303 000.089 000.089: require('prettier.cli') +295.311 002.795 000.130: require('prettier.null-ls') +295.317 003.142 000.101: require('prettier') +295.614 003.518 000.376: require('plugins.prettier') +295.778 000.087 000.087: require('git') +295.869 000.083 000.083: require('git.config') +296.051 000.427 000.257: require('plugins.git') +296.346 000.087 000.087: require('gitsigns.async') +296.470 000.116 000.116: require('gitsigns.status') +296.724 000.102 000.102: require('gitsigns.debug') +296.832 000.101 000.101: require('gitsigns.util') +297.026 000.097 000.097: require('gitsigns.uv') +297.033 000.193 000.097: require('gitsigns.subprocess') +297.443 000.081 000.081: require('gitsigns.message') +297.481 000.263 000.182: require('gitsigns.config') +297.571 000.081 000.081: require('gitsigns.signs.base') +297.580 000.440 000.096: require('gitsigns.signs') +297.590 000.551 000.111: require('gitsigns.hunks') +297.606 001.128 000.181: require('gitsigns.git') +297.823 000.089 000.089: require('gitsigns.cache') +297.917 000.085 000.085: require('gitsigns.debounce') +298.006 000.079 000.079: require('gitsigns.diff') +298.046 000.434 000.181: require('gitsigns.manager') +298.167 000.114 000.114: require('gitsigns.highlight') +298.191 002.069 000.190: require('gitsigns') +299.553 000.118 000.118: require('gitsigns.signs.vimfn') +303.457 007.398 005.211: require('plugins.gitsigns') +303.906 000.117 000.117: require('neoscroll.config') +304.012 000.098 000.098: require('neoscroll.utils') +304.153 000.527 000.311: require('neoscroll') +304.718 001.235 000.708: require('plugins.neoscroll') +305.359 000.117 000.117: require('cmp_nvim_lsp.source') +305.368 000.238 000.121: require('cmp_nvim_lsp') +305.471 000.094 000.094: require('lspconfig') +305.619 000.102 000.102: require('lspconfig.server_configurations.pylsp') +306.172 000.135 000.135: require('mason-lspconfig.server_configurations.pylsp') +306.826 000.124 000.124: require('lspconfig.server_configurations.clangd') +309.080 000.147 000.147: require('lspconfig.server_configurations.sumneko_lua') +310.977 006.198 005.360: require('plugins.lsp') +311.352 000.092 000.092: require('nvim-autopairs._log') +311.475 000.114 000.114: require('nvim-autopairs.utils') +311.812 000.117 000.117: require('nvim-autopairs.conds') +311.826 000.238 000.121: require('nvim-autopairs.rule') +311.832 000.349 000.111: require('nvim-autopairs.rules.basic') +311.849 000.751 000.196: require('nvim-autopairs') +312.003 000.113 000.113: require('nvim-autopairs.fastwrap') +312.421 000.112 000.112: require('nvim-autopairs.ts-conds') +312.431 000.221 000.109: require('nvim-autopairs.rules.ts_basic') +312.700 000.263 000.263: require('vim.treesitter.highlighter') +314.101 000.095 000.095: require('nvim-autopairs.completion.handlers') +314.115 000.225 000.131: require('nvim-autopairs.completion.cmp') +314.138 003.147 001.573: require('plugins.autopairs') +314.374 000.151 000.151: require('null-ls.builtins.formatting.prettierd') +314.513 000.127 000.127: require('null-ls.builtins.formatting.stylua') +314.641 000.118 000.118: require('null-ls.builtins.formatting.shfmt') +315.345 000.137 000.137: require('null-ls.client') +315.397 001.252 000.719: require('plugins.null-ls') +315.474 000.069 000.069: require('plugins.web-devicons') +315.940 000.085 000.085: require('zen-mode.util') +315.992 000.227 000.142: require('zen-mode.config') +316.102 000.102 000.102: require('zen-mode.plugins') +316.116 000.486 000.157: require('zen-mode.view') +316.122 000.574 000.088: require('zen-mode') +316.281 000.799 000.225: require('plugins.zen-mode') +320.456 000.097 000.097: require('doom-one.utils') +320.567 000.100 000.100: require('doom-one.colors') +320.585 000.524 000.327: require('doom-one') +323.260 004.203 003.679: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +327.935 000.432 000.432: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/syntax/synload.vim +328.319 000.058 000.058: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +329.449 000.081 000.081: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/filetype.lua +330.839 001.210 001.210: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/filetype.vim +331.709 000.151 000.151: require('filetype') +331.775 006.053 004.122: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/syntax/syntax.vim +332.203 000.132 000.132: require('notify.stages.fade_in_slide_out') +332.273 015.982 005.594: require('plugins.colorscheme') +332.627 000.101 000.101: require('heirline.conditions') +332.763 000.128 000.128: require('heirline.utils') +333.208 000.102 000.102: require('heirline.highlights') +333.225 000.266 000.165: require('heirline.statusline') +333.234 000.382 000.115: require('heirline') +333.479 000.145 000.145: require('nvim-navic') +337.983 005.700 004.945: require('plugins.heirline') +338.080 226.963 004.123: sourcing /home/srdusr/.config/nvim/init.lua +338.106 014.911: sourcing vimrc file(s) +344.869 001.236 001.236: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/gzip.vim +345.040 000.083 000.083: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/health.vim +347.760 001.522 001.522: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +348.120 003.012 001.490: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/matchit.vim +348.615 000.395 000.395: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/matchparen.vim +348.759 000.077 000.077: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/netrwPlugin.vim +349.156 000.021 000.021: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +349.177 000.355 000.335: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/rplugin.vim +349.437 000.202 000.202: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/shada.vim +349.565 000.051 000.051: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/spellfile.vim +349.698 000.061 000.061: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/tarPlugin.vim +349.842 000.059 000.059: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/tohtml.vim +349.953 000.044 000.044: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/tutor.vim +350.795 000.777 000.777: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/zipPlugin.vim +351.105 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +352.452 000.108 000.108: require('leap') +352.559 000.096 000.096: require('leap.user') +353.594 000.153 000.153: require('fidget.log') +353.614 000.336 000.183: require('fidget') +353.798 000.163 000.163: require('fidget.spinners') +354.519 000.083 000.083: require('crates.time') +354.529 000.187 000.104: require('crates.types') +354.535 000.324 000.137: require('crates.semver') +355.549 000.928 000.928: require('crates.config') +355.696 000.136 000.136: require('crates.toml') +355.705 001.165 000.101: require('crates.state') +355.734 001.653 000.164: require('crates.util') +355.745 001.773 000.120: require('crates.actions') +355.984 000.135 000.135: require('crates.api') +356.076 000.084 000.084: require('crates.async') +356.197 000.114 000.114: require('crates.diagnostic') +356.306 000.100 000.100: require('crates.ui') +356.315 000.565 000.131: require('crates.core') +356.577 000.119 000.119: require('crates.popup.common') +356.693 000.108 000.108: require('crates.popup.crate') +356.818 000.118 000.118: require('crates.popup.dependencies') +356.944 000.120 000.120: require('crates.popup.features') +357.090 000.139 000.139: require('crates.popup.versions') +357.105 000.785 000.181: require('crates.popup') +357.116 003.252 000.129: require('crates') +359.527 000.129 000.129: require('flit') +361.048 000.481 000.481: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +362.820 011.575 007.010: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +363.639 000.103 000.103: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/man.lua +363.817 007.640: loading rtp plugins +365.782 000.090 000.090: require('Comment.config') +366.082 000.151 000.151: require('Comment.ft') +366.096 000.304 000.152: require('Comment.utils') +366.194 000.093 000.093: require('Comment.opfunc') +366.310 000.107 000.107: require('Comment.extra') +366.319 000.756 000.163: require('Comment.api') +366.577 001.092 000.336: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +366.917 000.160 000.160: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +367.640 000.471 000.471: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +368.424 000.164 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +369.031 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +370.342 000.746 000.746: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +370.983 000.071 000.071: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +371.641 000.367 000.367: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +372.257 000.107 000.107: require('cmp.utils.highlight') +372.987 000.938 000.832: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +373.224 000.031 000.031: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +373.539 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +374.009 000.164 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +374.629 000.219 000.219: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +375.338 000.115 000.115: require('nvim-treesitter.statusline') +375.464 000.117 000.117: require('nvim-treesitter.query_predicates') +375.474 000.357 000.126: require('nvim-treesitter') +376.453 001.417 001.060: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +376.942 000.263 000.263: require('treesitter-context') +376.952 000.307 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +377.454 000.210 000.210: require('nvim-treesitter-refactor') +377.754 000.545 000.334: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +378.110 000.101 000.101: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +378.536 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +378.858 000.092 000.092: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +379.339 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +379.616 000.043 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +379.994 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +380.621 000.154 000.154: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +381.162 000.334 000.334: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +381.844 000.375 000.375: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +382.121 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +382.398 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +383.393 011.428: loading packages +391.236 000.088 000.088: require('cmp_buffer.timer') +391.248 000.204 000.116: require('cmp_buffer.buffer') +391.254 000.334 000.131: require('cmp_buffer.source') +391.259 000.441 000.106: require('cmp_buffer') +391.311 000.572 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +391.700 000.173 000.173: require('cmp_cmdline') +391.737 000.276 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +392.010 000.120 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +392.387 000.148 000.148: require('cmp_path') +392.423 000.263 000.115: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +392.766 000.121 000.121: require('cmp_luasnip') +392.831 000.253 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +393.320 000.124 000.124: require('crates.src.common') +393.328 000.230 000.106: require('crates.src.cmp') +393.361 000.377 000.147: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +393.467 008.212: loading after plugins +393.498 000.031: inits 3 +393.511 000.013: reading ShaDa +394.567 000.129 000.129: require('luasnip.nodes.snippetProxy') +394.579 000.307 000.178: require('luasnip.loaders.from_snipmate') +394.757 000.132 000.132: require('luasnip.loaders.from_vscode') +394.798 000.848: opening buffers +395.013 000.215: BufEnter autocommands +395.022 000.009: editing files in windows +413.492 000.369 000.369: require('gitsigns.current_line_blame') + + +times in msec + clock self+sourced self: sourced script + clock elapsed: other lines + +001.166 001.166: --- NVIM STARTING --- +027.187 026.021: event init +043.463 016.277: early init +045.114 001.651: locale set +050.553 005.439: init first window +060.367 009.814: inits 1 +060.392 000.025: window checked +060.401 000.009: parsing arguments +071.979 000.270 000.270: require('vim.shared') +072.499 000.244 000.244: require('vim._meta') +072.512 000.510 000.265: require('vim._editor') +072.520 000.901 000.121: require('vim._init_packages') +072.528 011.226: init lua interpreter +072.695 000.168: expanding arguments +074.605 001.910: inits 2 +075.951 001.346: init highlight +075.960 000.008: waiting for UI +078.889 002.929: done waiting for UI +078.937 000.048: init screen for UI +079.445 000.509: init default mappings +079.501 000.056: init default autocommands +089.020 003.668 003.668: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/ftplugin.vim +090.838 000.805 000.805: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/indent.vim +091.074 000.026 000.026: sourcing /usr/share/nvim/archlinux.vim +091.086 000.081 000.056: sourcing /etc/xdg/nvim/sysinit.vim +122.373 031.096 031.096: require('impatient') +123.242 000.852 000.852: require('impatient.profile') +123.343 000.084 000.084: require('user.utils') +126.546 000.222 000.222: require('packer.util') +126.603 000.529 000.307: require('packer') +127.488 000.484 000.484: require('packer.log') +127.502 000.644 000.159: require('packer.async') +127.845 000.173 000.173: require('packer.result') +127.857 000.349 000.175: require('packer.jobs') +127.870 001.215 000.222: require('packer.plugin_utils') +128.108 000.215 000.215: require('packer.snapshot') +129.816 000.345 000.345: require('mason-core.path') +129.835 000.718 000.374: require('mason.settings') +130.385 000.176 000.176: require('mason-core.functional') +130.610 000.095 000.095: require('mason-core.functional.data') +130.620 000.209 000.114: require('mason-core.functional.function') +130.828 000.174 000.174: require('mason-core.functional.relation') +131.014 000.162 000.162: require('mason-core.functional.logic') +131.090 001.247 000.526: require('mason-core.platform') +131.096 002.410 000.444: require('mason') +131.452 000.179 000.179: require('mason-core.functional.list') +131.499 000.371 000.192: require('mason.api.command') +131.807 000.190 000.190: require('mason-core.log') +131.820 000.315 000.125: require('mason-lspconfig') +132.100 000.274 000.274: require('mason-lspconfig.settings') +132.437 000.137 000.137: require('mason-core.notify') +132.449 000.264 000.127: require('mason-lspconfig.lspconfig_hook') +133.730 000.240 000.240: require('vim.lsp.log') +134.969 000.015 000.015: require('vim.F') +134.977 001.237 001.222: require('vim.lsp.protocol') +135.583 000.263 000.263: require('vim.lsp._snippet') +135.782 000.190 000.190: require('vim.highlight') +135.819 000.834 000.382: require('vim.lsp.util') +135.858 002.624 000.313: require('vim.lsp.handlers') +136.128 000.261 000.261: require('vim.lsp.rpc') +136.427 000.288 000.288: require('vim.lsp.sync') +136.675 000.239 000.239: require('vim.lsp.buf') +136.870 000.186 000.186: require('vim.lsp.diagnostic') +137.068 000.189 000.189: require('vim.lsp.codelens') +137.214 004.570 000.782: require('vim.lsp') +137.285 004.831 000.261: require('lspconfig.util') +137.563 000.097 000.097: require('mason-core.functional.table') +137.676 000.369 000.271: require('mason-lspconfig.mappings.server') +138.007 000.115 000.115: require('mason-core.async') +138.102 000.082 000.082: require('mason-core.async.uv') +138.118 000.325 000.128: require('mason-core.fs') +138.226 000.102 000.102: require('mason-core.optional') +138.328 000.093 000.093: require('mason-core.EventEmitter') +138.566 000.203 000.203: require('mason-registry.index') +138.617 000.927 000.204: require('mason-registry') +138.725 000.099 000.099: require('mason-lspconfig.server_config_extensions') +138.848 000.116 000.116: require('lspconfig.configs') +139.015 000.112 000.112: require('lspconfig.server_configurations.omnisharp') +139.309 000.103 000.103: require('mason-lspconfig.ensure_installed') +139.675 000.095 000.095: require('mason-core.result') +140.212 000.269 000.269: require('mason-core.process') +140.287 000.479 000.210: require('mason-core.spawn') +140.452 000.120 000.120: require('mason-core.receipt') +140.568 000.099 000.099: require('mason-core.functional.string') +140.603 000.914 000.216: require('mason-core.installer.context') +140.789 000.179 000.179: require('mason-core.installer.linker') +141.000 000.203 000.203: require('mason-core.async.control') +141.010 001.571 000.179: require('mason-core.installer') +141.181 000.165 000.165: require('mason-core.installer.handle') +141.735 000.108 000.108: require('mason-core.managers.powershell') +141.743 000.214 000.106: require('mason-core.fetch') +141.747 000.308 000.094: require('mason-core.managers.cargo.client') +142.028 000.123 000.123: require('mason-core.managers.std') +142.277 000.095 000.095: require('mason-core.providers') +142.304 000.268 000.174: require('mason-core.managers.github.client') +142.320 000.568 000.176: require('mason-core.managers.github') +142.355 001.052 000.176: require('mason-core.managers.cargo') +142.694 000.333 000.333: require('mason-core.managers.composer') +142.868 000.165 000.165: require('mason-core.managers.gem') +142.988 000.113 000.113: require('mason-core.managers.git') +143.272 000.275 000.275: require('mason-core.managers.go') +143.467 000.187 000.187: require('mason-core.managers.luarocks') +143.622 000.148 000.148: require('mason-core.managers.npm') +143.805 000.175 000.175: require('mason-core.managers.pip3') +143.821 002.623 000.175: require('mason-core.package.version-check') +143.834 004.517 000.158: require('mason-core.package') +143.966 000.110 000.110: require('mason-registry.python-lsp-server') +144.227 000.138 000.138: require('mason-registry.pyright') +144.424 000.153 000.153: require('mason-registry.clangd') +144.565 000.117 000.117: require('mason-registry.lua-language-server') +144.795 000.103 000.103: require('mason-core.functional.number') +144.850 000.275 000.173: require('mason-lspconfig.api.command') +145.007 019.262 001.803: require('user.pack') +147.927 002.910 002.910: require('user.opts') +148.075 000.012 000.012: require('vim.keymap') +150.151 002.212 002.200: require('user.keys') +150.259 000.097 000.097: require('user.utils') +151.210 000.178 000.178: require('vim.treesitter.language') +151.234 000.616 000.438: require('vim.treesitter.query') +152.185 000.214 000.214: require('vim.treesitter.languagetree') +152.262 000.499 000.285: require('vim.treesitter') +152.560 001.098 000.599: require('nvim-treesitter.parsers') +152.707 000.139 000.139: require('nvim-treesitter.utils') +152.719 001.371 000.134: require('nvim-treesitter.ts_utils') +152.729 001.489 000.118: require('nvim-treesitter.tsrange') +152.835 000.099 000.099: require('nvim-treesitter.caching') +152.854 002.353 000.150: require('nvim-treesitter.query') +152.888 002.544 000.192: require('nvim-treesitter.configs') +153.395 000.108 000.108: require('nvim-treesitter.info') +153.538 000.133 000.133: require('nvim-treesitter.shell_command_selectors') +153.583 000.471 000.230: require('nvim-treesitter.install') +155.798 005.529 002.514: require('plugins.treesitter') +156.117 000.096 000.096: require('telescope._extensions') +156.127 000.198 000.102: require('telescope') +156.930 000.096 000.096: require('plenary.bit') +157.034 000.094 000.094: require('plenary.functional') +157.092 000.038 000.038: require('ffi') +157.115 000.434 000.205: require('plenary.path') +157.130 000.573 000.139: require('plenary.strings') +157.223 000.088 000.088: require('telescope.deprecated') +157.695 000.254 000.254: require('plenary.log') +157.734 000.376 000.122: require('telescope.log') +158.025 000.145 000.145: require('plenary.job') +158.124 000.090 000.090: require('telescope.state') +158.136 000.394 000.160: require('telescope.utils') +158.188 000.959 000.188: require('telescope.sorters') +158.308 000.092 000.092: require('vim.inspect') +162.575 006.185 004.473: require('telescope.config') +162.850 000.116 000.116: require('plenary.window.border') +162.947 000.089 000.089: require('plenary.window') +163.038 000.084 000.084: require('plenary.popup.utils') +163.049 000.461 000.172: require('plenary.popup') +163.154 000.099 000.099: require('telescope.pickers.scroller') +163.261 000.099 000.099: require('telescope.actions.state') +163.388 000.106 000.106: require('telescope.actions.utils') +163.621 000.111 000.111: require('telescope.actions.mt') +163.656 000.261 000.150: require('telescope.actions.set') +165.986 002.219 002.219: require('telescope.config.resolve') +165.997 002.334 000.115: require('telescope.pickers.entry_display') +166.096 000.093 000.093: require('telescope.from_entry') +166.555 010.422 000.784: require('telescope.actions') +167.643 000.124 000.124: require('plenary.tbl') +167.657 000.248 000.124: require('plenary.vararg.rotate') +167.661 000.355 000.107: require('plenary.vararg') +167.773 000.103 000.103: require('plenary.errors') +167.788 000.613 000.156: require('plenary.async.async') +167.945 000.151 000.151: require('plenary.async.structs') +167.960 000.925 000.161: require('plenary.async.control') +168.419 000.293 000.293: require('telescope.make_entry') +168.880 000.126 000.126: require('plenary.async.util') +168.887 000.232 000.106: require('plenary.async.tests') +168.896 000.356 000.123: require('plenary.async') +168.946 000.516 000.160: require('telescope.finders.async_static_finder') +169.301 000.098 000.098: require('plenary.class') +169.332 000.260 000.162: require('telescope._') +169.338 000.385 000.125: require('telescope.finders.async_oneshot_finder') +169.457 000.114 000.114: require('telescope.finders.async_job_finder') +169.470 001.502 000.194: require('telescope.finders') +169.923 000.177 000.177: require('telescope.debounce') +170.162 000.229 000.229: require('telescope.mappings') +170.314 000.141 000.141: require('telescope.pickers.highlights') +170.446 000.122 000.122: require('telescope.pickers.window') +170.707 000.129 000.129: require('telescope.algos.linked_list') +170.721 000.268 000.139: require('telescope.entry_manager') +170.832 000.106 000.106: require('telescope.pickers.multi') +170.877 001.400 000.358: require('telescope.pickers') +170.898 004.040 000.213: require('telescope.builtin.__lsp') +170.989 004.422 000.382: require('telescope.builtin') +171.481 000.293 000.293: require('fzf_lib') +171.496 000.453 000.160: require('telescope._extensions.fzf') +172.044 000.189 000.189: require('telescope._extensions.file_browser.utils') +172.214 000.572 000.383: require('telescope._extensions.file_browser.actions') +172.586 000.210 000.210: require('telescope._extensions.file_browser.make_entry') +172.827 000.226 000.226: require('plenary.scandir') +172.890 000.663 000.228: require('telescope._extensions.file_browser.finders') +173.027 000.130 000.130: require('telescope._extensions.file_browser.picker') +173.192 000.157 000.157: require('telescope._extensions.file_browser.config') +173.199 001.685 000.163: require('telescope._extensions.file_browser') +176.639 020.830 003.649: require('plugins.telescope') +178.295 000.102 000.102: require('notify.util.queue') +178.306 000.236 000.134: require('notify.util') +178.581 000.269 000.269: require('notify.config.highlights') +178.591 000.660 000.154: require('notify.config') +178.709 000.111 000.111: require('notify.stages') +178.824 000.108 000.108: require('notify.service.notification') +179.539 000.178 000.178: require('notify.animate.spring') +179.545 000.579 000.401: require('notify.animate') +179.565 000.734 000.155: require('notify.windows') +180.553 000.265 000.265: require('notify.service.buffer.highlights') +180.574 000.769 000.504: require('notify.service.buffer') +180.591 001.021 000.252: require('notify.service') +180.890 000.294 000.294: require('notify.stages.util') +180.979 003.209 000.281: require('notify') +181.191 000.203 000.203: require('nvim-tree.iterators.node-iterator') +181.361 003.793 000.381: require('nvim-tree.utils') +181.396 003.963 000.169: require('nvim-tree.events') +182.087 000.201 000.201: require('nvim-tree.log') +182.397 000.301 000.301: require('nvim-tree.git.utils') +182.665 000.260 000.260: require('nvim-tree.git.runner') +182.931 000.259 000.259: require('nvim-tree.watcher') +182.967 001.348 000.327: require('nvim-tree.git') +183.233 000.261 000.261: require('nvim-tree.explorer.watch') +183.433 000.192 000.192: require('nvim-tree.explorer.common') +183.931 000.211 000.211: require('nvim-tree.explorer.node-builders') +184.149 000.209 000.209: require('nvim-tree.explorer.sorters') +184.468 000.311 000.311: require('nvim-tree.explorer.filters') +185.435 000.688 000.688: require('nvim-tree.view') +185.471 000.983 000.295: require('nvim-tree.live-filter') +185.494 002.054 000.339: require('nvim-tree.explorer.explore') +185.853 000.349 000.349: require('nvim-tree.explorer.reload') +185.879 004.476 000.272: require('nvim-tree.explorer') +185.906 008.579 000.140: require('nvim-tree.core') +186.312 000.397 000.397: require('nvim-tree.diagnostics') +186.669 000.330 000.330: require('nvim-tree.renderer.components.padding') +187.013 000.332 000.332: require('nvim-tree.renderer.components.icons') +187.322 000.297 000.297: require('nvim-tree.renderer.components.full-name') +187.432 000.099 000.099: require('nvim-tree.renderer.help') +187.562 000.121 000.121: require('nvim-tree.renderer.components.git') +187.741 000.172 000.172: require('nvim-tree.renderer.builder') +187.852 000.103 000.103: require('nvim-tree.marks') +187.866 010.673 000.245: require('nvim-tree.renderer') +188.022 000.143 000.143: require('nvim-tree.actions.tree-modifiers.collapse-all') +188.119 000.089 000.089: require('nvim-tree.actions.root.dir-up') +188.228 000.101 000.101: require('nvim-tree.actions.root.change-dir') +188.333 000.098 000.098: require('nvim-tree.actions.reloaders.reloaders') +188.438 000.097 000.097: require('nvim-tree.actions.finders.find-file') +188.444 011.421 000.220: require('nvim-tree.lib') +188.579 000.129 000.129: require('nvim-tree.colors') +188.718 000.128 000.128: require('nvim-tree.legacy') +188.851 000.123 000.123: require('nvim-tree.actions.fs.copy-paste') +189.068 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') +189.171 000.095 000.095: require('nvim-tree.actions.tree-modifiers.toggles') +189.291 000.104 000.104: require('nvim-tree.actions.fs.create-file') +189.393 000.094 000.094: require('nvim-tree.actions.fs.rename-file') +189.528 000.127 000.127: require('nvim-tree.actions.fs.trash') +189.640 000.104 000.104: require('nvim-tree.actions.fs.remove-file') +189.741 000.091 000.091: require('nvim-tree.actions.moves.parent') +189.837 000.088 000.088: require('nvim-tree.actions.moves.sibling') +189.934 000.088 000.088: require('nvim-tree.actions.moves.item') +190.048 000.095 000.095: require('nvim-tree.actions.finders.search-node') +190.143 000.088 000.088: require('nvim-tree.actions.node.run-command') +190.264 000.114 000.114: require('nvim-tree.actions.node.file-popup') +190.380 000.109 000.109: require('nvim-tree.actions.node.system-open') +190.483 000.092 000.092: require('nvim-tree.marks.bulk-move') +190.490 001.627 000.237: require('nvim-tree.actions.dispatch') +190.522 013.739 000.311: require('nvim-tree') +190.609 000.080 000.080: require('nvim-tree.config') +196.059 000.171 000.171: require('nvim-tree.actions') +196.198 000.121 000.121: require('nvim-tree.actions.node.open-file') +199.171 000.102 000.102: require('nvim-tree.marks.navigation') +199.183 000.314 000.212: require('nvim-tree.api') +199.204 000.481 000.166: require('nvim-tree.keymap') +200.107 000.425 000.425: require('nvim-web-devicons') +204.398 027.746 012.729: require('plugins.nvim-tree') +204.880 000.080 000.080: require('cmp.utils.debug') +205.095 000.122 000.122: require('cmp.utils.char') +205.108 000.219 000.097: require('cmp.utils.str') +205.241 000.083 000.083: require('cmp.utils.pattern') +205.521 000.089 000.089: require('cmp.utils.misc') +205.636 000.083 000.083: require('cmp.utils.buffer') +205.732 000.090 000.090: require('cmp.utils.api') +205.743 000.409 000.147: require('cmp.utils.keymap') +205.752 000.503 000.094: require('cmp.utils.feedkeys') +205.852 000.095 000.095: require('cmp.utils.async') +206.132 000.080 000.080: require('cmp.types.cmp') +206.247 000.108 000.108: require('cmp.types.lsp') +206.327 000.073 000.073: require('cmp.types.vim') +206.333 000.388 000.127: require('cmp.types') +206.414 000.077 000.077: require('cmp.utils.cache') +206.422 000.562 000.097: require('cmp.context') +206.706 000.093 000.093: require('cmp.config.mapping') +206.903 000.097 000.097: require('cmp.config.compare') +206.910 000.192 000.095: require('cmp.config.default') +206.931 000.406 000.120: require('cmp.config') +207.128 000.080 000.080: require('cmp.matcher') +207.139 000.203 000.123: require('cmp.entry') +207.154 000.728 000.119: require('cmp.source') +207.323 000.076 000.076: require('cmp.utils.event') +207.519 000.100 000.100: require('cmp.utils.window') +207.526 000.195 000.095: require('cmp.view.docs_view') +207.769 000.088 000.088: require('cmp.utils.autocmd') +207.788 000.257 000.169: require('cmp.view.custom_entries_view') +207.911 000.116 000.116: require('cmp.view.wildmenu_entries_view') +208.020 000.102 000.102: require('cmp.view.native_entries_view') +208.119 000.093 000.093: require('cmp.view.ghost_text_view') +208.133 000.974 000.135: require('cmp.view') +208.318 003.644 000.400: require('cmp.core') +208.756 000.088 000.088: require('cmp.config.sources') +208.843 000.076 000.076: require('cmp.config.window') +208.942 004.391 000.583: require('cmp') +209.357 000.117 000.117: require('symbols-outline.config') +209.363 000.206 000.088: require('symbols-outline.symbols') +209.459 000.091 000.091: require('symbols-outline.ui') +209.551 000.084 000.084: require('symbols-outline.utils.table') +209.638 000.080 000.080: require('symbols-outline.folding') +209.645 000.581 000.120: require('symbols-outline.parser') +209.752 000.102 000.102: require('symbols-outline.providers.init') +209.855 000.094 000.094: require('symbols-outline.writer') +210.025 000.163 000.163: require('symbols-outline.utils.init') +210.169 000.134 000.134: require('symbols-outline.view') +210.192 001.243 000.169: require('symbols-outline') +210.588 000.184 000.184: require('symbols-outline.preview') +210.781 000.169 000.169: require('lspkind') +213.134 008.723 002.736: require('plugins.cmp') +213.820 000.098 000.098: require('luasnip.session') +213.990 000.158 000.158: require('luasnip.util.util') +214.086 000.088 000.088: require('luasnip.util.types') +214.343 000.155 000.155: require('luasnip.util.ext_opts') +214.354 000.260 000.105: require('luasnip.nodes.util') +214.453 000.093 000.093: require('luasnip.util.events') +214.473 000.894 000.197: require('luasnip.nodes.node') +214.731 000.094 000.094: require('luasnip.util.extend_decorator') +214.742 000.263 000.170: require('luasnip.nodes.insertNode') +214.877 000.129 000.129: require('luasnip.nodes.textNode') +214.993 000.104 000.104: require('luasnip.util.mark') +215.771 000.671 000.671: require('luasnip.util._builtin_vars') +216.212 001.211 000.541: require('luasnip.util.environ') +216.360 000.136 000.136: require('luasnip.util.pattern_tokenizer') +216.466 000.098 000.098: require('luasnip.util.dict') +216.593 000.118 000.118: require('luasnip.session.snippet_collection') +216.719 003.299 000.345: require('luasnip.nodes.snippet') +216.944 000.097 000.097: require('luasnip.loaders._caches') +217.095 000.142 000.142: require('luasnip.util.path') +217.169 000.435 000.195: require('luasnip.loaders') +217.357 000.146 000.146: require('luasnip.nodes.functionNode') +217.530 000.164 000.164: require('luasnip.nodes.choiceNode') +217.792 000.254 000.254: require('luasnip.nodes.dynamicNode') +217.949 000.148 000.148: require('luasnip.nodes.restoreNode') +218.352 000.109 000.109: require('luasnip.util.parser.neovim_ast') +223.260 000.134 000.134: require('luasnip.util.directed_graph') +223.281 005.159 004.916: require('luasnip.util.parser.ast_utils') +223.529 000.095 000.095: require('luasnip.util.functions') +223.546 000.258 000.163: require('luasnip.util.parser.ast_parser') +223.732 000.180 000.180: require('luasnip.util.parser.neovim_parser') +223.840 000.099 000.099: require('luasnip.util.str') +223.855 005.838 000.143: require('luasnip.util.parser') +224.101 000.104 000.104: require('luasnip.extras.filetype_functions') +224.293 000.154 000.154: require('luasnip.extras') +224.422 000.116 000.116: require('luasnip.extras.fmt') +224.701 000.093 000.093: require('luasnip.extras.conditions') +224.798 000.090 000.090: require('luasnip.extras.conditions.show') +224.893 000.376 000.192: require('luasnip.extras.conditions.expand') +224.898 000.468 000.092: require('luasnip.extras.expand_conditions') +225.011 000.097 000.097: require('luasnip.nodes.absolute_indexer') +225.496 001.636 000.698: require('luasnip.config') +225.508 012.233 000.314: require('luasnip') +225.734 000.107 000.107: require('luasnip.loaders.util') +225.745 000.230 000.123: require('luasnip.loaders.from_lua') +235.485 022.331 009.867: require('plugins.luasnip') +235.888 000.140 000.140: require('colorizer/nvim') +236.179 000.283 000.283: require('colorizer/trie') +236.456 000.865 000.442: require('colorizer') +238.500 002.999 002.134: require('plugins.colorizer') +238.893 000.103 000.103: require('prettier.utils') +238.925 000.236 000.133: require('prettier.options') +239.606 000.249 000.249: require('null-ls.methods') +239.632 000.393 000.143: require('null-ls.utils') +240.035 000.393 000.393: require('vim.diagnostic') +240.061 000.919 000.133: require('null-ls.config') +240.292 000.128 000.128: require('null-ls.helpers.cache') +240.415 000.115 000.115: require('null-ls.helpers.diagnostics') +240.515 000.092 000.092: require('null-ls.helpers.formatter_factory') +240.745 000.093 000.093: require('null-ls.logger') +240.853 000.101 000.101: require('null-ls.state') +240.861 000.338 000.144: require('null-ls.helpers.generator_factory') +241.106 000.105 000.105: require('null-ls.helpers.command_resolver') +241.114 000.247 000.142: require('null-ls.helpers.make_builtin') +241.217 000.097 000.097: require('null-ls.helpers.range_formatting_args_factory') +241.222 001.154 000.136: require('null-ls.helpers') +241.450 000.109 000.109: require('null-ls.diagnostics') +241.469 000.242 000.133: require('null-ls.sources') +241.576 000.099 000.099: require('null-ls.builtins') +241.583 002.537 000.123: require('null-ls') +241.673 000.085 000.085: require('prettier.cli') +241.685 002.753 000.131: require('prettier.null-ls') +241.691 003.091 000.102: require('prettier') +241.932 003.420 000.329: require('plugins.prettier') +242.099 000.087 000.087: require('git') +242.192 000.086 000.086: require('git.config') +242.381 000.439 000.267: require('plugins.git') +242.683 000.087 000.087: require('gitsigns.async') +242.778 000.086 000.086: require('gitsigns.status') +243.043 000.113 000.113: require('gitsigns.debug') +243.155 000.104 000.104: require('gitsigns.util') +243.363 000.103 000.103: require('gitsigns.uv') +243.370 000.208 000.105: require('gitsigns.subprocess') +243.800 000.085 000.085: require('gitsigns.message') +243.829 000.265 000.180: require('gitsigns.config') +243.924 000.087 000.087: require('gitsigns.signs.base') +243.930 000.448 000.097: require('gitsigns.signs') +243.940 000.564 000.116: require('gitsigns.hunks') +243.957 001.172 000.183: require('gitsigns.git') +244.184 000.094 000.094: require('gitsigns.cache') +244.317 000.124 000.124: require('gitsigns.debounce') +244.447 000.118 000.118: require('gitsigns.diff') +244.474 000.512 000.175: require('gitsigns.manager') +244.595 000.114 000.114: require('gitsigns.highlight') +244.616 002.158 000.187: require('gitsigns') +246.131 000.119 000.119: require('gitsigns.signs.vimfn') +249.499 007.110 004.833: require('plugins.gitsigns') +250.010 000.145 000.145: require('neoscroll.config') +250.120 000.100 000.100: require('neoscroll.utils') +250.269 000.585 000.339: require('neoscroll') +250.951 001.424 000.839: require('plugins.neoscroll') +251.532 000.137 000.137: require('cmp_nvim_lsp.source') +251.541 000.261 000.124: require('cmp_nvim_lsp') +251.646 000.096 000.096: require('lspconfig') +251.801 000.106 000.106: require('lspconfig.server_configurations.pylsp') +252.546 000.133 000.133: require('mason-lspconfig.server_configurations.pylsp') +253.020 000.130 000.130: require('lspconfig.server_configurations.clangd') +255.194 000.144 000.144: require('lspconfig.server_configurations.sumneko_lua') +256.714 005.752 004.883: require('plugins.lsp') +257.091 000.095 000.095: require('nvim-autopairs._log') +257.217 000.118 000.118: require('nvim-autopairs.utils') +257.560 000.118 000.118: require('nvim-autopairs.conds') +257.571 000.235 000.117: require('nvim-autopairs.rule') +257.576 000.352 000.117: require('nvim-autopairs.rules.basic') +257.616 000.785 000.220: require('nvim-autopairs') +257.780 000.126 000.126: require('nvim-autopairs.fastwrap') +258.312 000.114 000.114: require('nvim-autopairs.ts-conds') +258.320 000.228 000.114: require('nvim-autopairs.rules.ts_basic') +258.516 000.191 000.191: require('vim.treesitter.highlighter') +259.622 000.099 000.099: require('nvim-autopairs.completion.handlers') +259.640 000.233 000.135: require('nvim-autopairs.completion.cmp') +259.725 002.999 001.436: require('plugins.autopairs') +259.983 000.163 000.163: require('null-ls.builtins.formatting.prettierd') +260.127 000.132 000.132: require('null-ls.builtins.formatting.stylua') +260.254 000.118 000.118: require('null-ls.builtins.formatting.shfmt') +261.035 000.165 000.165: require('null-ls.client') +261.085 001.350 000.772: require('plugins.null-ls') +261.176 000.083 000.083: require('plugins.web-devicons') +261.653 000.089 000.089: require('zen-mode.util') +261.708 000.234 000.146: require('zen-mode.config') +261.818 000.101 000.101: require('zen-mode.plugins') +261.828 000.494 000.159: require('zen-mode.view') +261.834 000.585 000.091: require('zen-mode') +261.952 000.768 000.183: require('plugins.zen-mode') +265.877 000.101 000.101: require('doom-one.utils') +265.993 000.105 000.105: require('doom-one.colors') +266.016 000.556 000.350: require('doom-one') +268.866 004.389 003.833: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua +273.079 000.266 000.266: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/syntax/synload.vim +273.463 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim +274.554 000.072 000.072: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/filetype.lua +275.665 000.936 000.936: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/filetype.vim +276.444 000.148 000.148: require('filetype') +276.509 005.185 003.707: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/syntax/syntax.vim +276.885 000.118 000.118: require('notify.stages.fade_in_slide_out') +276.951 014.989 005.298: require('plugins.colorscheme') +277.329 000.105 000.105: require('heirline.conditions') +277.474 000.137 000.137: require('heirline.utils') +277.855 000.106 000.106: require('heirline.highlights') +277.866 000.231 000.125: require('heirline.statusline') +277.877 000.366 000.136: require('heirline') +278.045 000.151 000.151: require('nvim-navic') +283.536 006.576 005.817: require('plugins.heirline') +283.625 192.495 002.913: sourcing /home/srdusr/.config/nvim/init.lua +283.647 007.097: sourcing vimrc file(s) +289.725 000.972 000.972: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/gzip.vim +289.892 000.074 000.074: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/health.vim +292.712 001.361 001.361: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim +293.178 003.201 001.840: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/matchit.vim +293.713 000.413 000.413: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/matchparen.vim +293.903 000.098 000.098: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/netrwPlugin.vim +294.373 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim +294.395 000.406 000.384: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/rplugin.vim +294.701 000.216 000.216: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/shada.vim +294.870 000.065 000.065: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/spellfile.vim +295.044 000.076 000.076: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/tarPlugin.vim +295.214 000.076 000.076: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/tohtml.vim +295.366 000.060 000.060: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/tutor.vim +296.100 000.642 000.642: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/zipPlugin.vim +296.405 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim +297.913 000.115 000.115: require('leap') +298.022 000.098 000.098: require('leap.user') +298.853 000.168 000.168: require('fidget.log') +298.872 000.340 000.171: require('fidget') +299.052 000.161 000.161: require('fidget.spinners') +299.766 000.084 000.084: require('crates.time') +299.775 000.201 000.117: require('crates.types') +299.784 000.311 000.111: require('crates.semver') +301.043 001.169 001.169: require('crates.config') +301.192 000.138 000.138: require('crates.toml') +301.201 001.411 000.104: require('crates.state') +301.229 001.884 000.162: require('crates.util') +301.239 002.008 000.124: require('crates.actions') +301.480 000.136 000.136: require('crates.api') +301.573 000.086 000.086: require('crates.async') +301.692 000.112 000.112: require('crates.diagnostic') +301.809 000.107 000.107: require('crates.ui') +301.832 000.587 000.146: require('crates.core') +302.060 000.116 000.116: require('crates.popup.common') +302.185 000.118 000.118: require('crates.popup.crate') +302.313 000.121 000.121: require('crates.popup.dependencies') +302.465 000.146 000.146: require('crates.popup.features') +302.594 000.122 000.122: require('crates.popup.versions') +302.609 000.772 000.149: require('crates.popup') +302.620 003.503 000.136: require('crates') +304.974 000.128 000.128: require('flit') +306.387 000.475 000.475: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +308.329 011.781 006.961: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua +309.214 000.102 000.102: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/man.lua +309.420 007.552: loading rtp plugins +311.435 000.096 000.096: require('Comment.config') +311.706 000.148 000.148: require('Comment.ft') +311.719 000.274 000.127: require('Comment.utils') +311.822 000.096 000.096: require('Comment.opfunc') +311.970 000.141 000.141: require('Comment.extra') +311.979 000.792 000.185: require('Comment.api') +312.197 001.093 000.301: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua +312.523 000.157 000.157: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim +313.243 000.471 000.471: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim +313.994 000.136 000.136: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim +314.612 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim +315.726 000.547 000.547: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua +316.233 000.068 000.068: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim +316.875 000.352 000.352: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim +317.512 000.129 000.129: require('cmp.utils.highlight') +318.136 000.856 000.727: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua +318.341 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim +318.657 000.076 000.076: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim +319.121 000.162 000.162: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua +319.741 000.217 000.217: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua +320.436 000.102 000.102: require('nvim-treesitter.statusline') +320.567 000.121 000.121: require('nvim-treesitter.query_predicates') +320.574 000.344 000.121: require('nvim-treesitter') +321.659 001.511 001.167: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua +322.146 000.270 000.270: require('treesitter-context') +322.156 000.310 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim +322.556 000.118 000.118: require('nvim-treesitter-refactor') +322.763 000.354 000.236: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim +323.128 000.113 000.113: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim +323.559 000.080 000.080: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim +323.879 000.093 000.093: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim +324.390 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim +324.671 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim +325.019 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim +325.607 000.118 000.118: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua +326.141 000.331 000.331: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim +326.812 000.368 000.368: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim +327.088 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim +327.367 000.045 000.045: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim +328.329 011.223: loading packages +335.502 000.176 000.176: require('cmp_buffer.timer') +335.514 000.295 000.119: require('cmp_buffer.buffer') +335.520 000.409 000.114: require('cmp_buffer.source') +335.525 000.520 000.112: require('cmp_buffer') +335.581 000.658 000.138: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua +335.976 000.174 000.174: require('cmp_cmdline') +336.013 000.278 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua +336.289 000.123 000.123: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua +336.665 000.148 000.148: require('cmp_path') +336.756 000.321 000.174: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua +337.099 000.116 000.116: require('cmp_luasnip') +337.166 000.250 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua +337.640 000.151 000.151: require('crates.src.common') +337.649 000.263 000.113: require('crates.src.cmp') +337.746 000.425 000.162: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua +337.854 007.469: loading after plugins +337.884 000.030: inits 3 +337.896 000.012: reading ShaDa +338.812 000.160 000.160: require('luasnip.nodes.snippetProxy') +338.824 000.309 000.149: require('luasnip.loaders.from_snipmate') +338.996 000.126 000.126: require('luasnip.loaders.from_vscode') +339.035 000.703: opening buffers +339.348 000.313: BufEnter autocommands +339.357 000.009: editing files in windows +360.120 000.278 000.278: require('gitsigns.current_line_blame') -- cgit v1.2.3 From 4fce5f766d98a88d7667ad916ee6c37bd3c1e2af Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 2 Nov 2022 22:42:37 +0200 Subject: Recording macros is now faster --- lua/user/keys.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 8beb6d3..43984c1 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -61,6 +61,16 @@ map("n", "m", ":messages") -- select last change --nnoremap gV `[v`] +--map("n", "", function() +-- notify.dismiss() +-- vim.cmd.noh() +--end) + +--"nnore fast [e]dit and [s]ourcing .[v]imrc +--nnoremap ev :edit $MYVIMRC +--"fast macro +--nnoremap @ set lazyredraw execute 'noautocmd norm! ' . v:count1 . '@' . getcharstr() set nolazyredraw +--xnoremap @ :set lazyredraw execute "noautocmd '<,'>norm! " . v:count1 . "@" . getcharstr() set nolazyredraw --map("n", "", ":runtime! /lua/plugins/*.lua | :runtime! /lua/user/*.lua | :luafile ~/.config/nvim/init.lua", print ("Nvim reloaded")) --map("n", "", ":lua require('init').unload_lua_namespace()", print ("Nvim reloaded")) -- cgit v1.2.3 From 1ed0999d591b18142360ef53037b8a19c63a038e Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 2 Nov 2022 22:43:22 +0200 Subject: Removed lazyredraw --- lua/user/opts.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 9d9a138..46121ba 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -7,6 +7,8 @@ vim.cmd([[ let g:clipbrdDefaultReg = '+' "set nocompatible "autocmd FileType lua set comments=s1:---,m:--,ex:-- + nnoremap @ execute "noautocmd norm! " . v:count1 . "@" . getcharstr() " Fast macros without lazyredraw + xnoremap @ :execute "noautocmd '<,'>norm! " . v:count1 . "@" . getcharstr() ]]) -- Environment @@ -35,7 +37,7 @@ vim.opt.autoread = true -- reload files if changed externally vim.opt.display = "lastline" -- Show as much as possible of the last line. vim.opt.inccommand = "split" -- vim.opt.ttyfast = true -- Faster redrawing. -vim.opt.lazyredraw = true -- Only redraw when necessary +--vim.opt.lazyredraw = true -- Only redraw when necessary vim.opt.keywordprg = ":help" -- :help options vim.opt.ruler = true -- vim.opt.errorbells = false -- @@ -68,7 +70,7 @@ vim.opt.smartindent = true -- smart indent -- Column/statusline/Cl vim.opt.number = true -- ---vim.opt.title = true -- +vim.opt.title = true -- --vim.opt.colorcolumn = "+1" -- vim.opt.signcolumn = "yes:1" -- always show the sign column --vim.opt.signcolumn = "yes:" .. vim.o.numberwidth -- cgit v1.2.3 From 343f85ccab900df6c41a412b45074d4db4388b48 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 2 Nov 2022 22:45:18 +0200 Subject: Trying to fix tabline to not redraw in a diff color when reloaded --- lua/plugins/colorscheme.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 514062c..1f76a40 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -12,11 +12,14 @@ vim.api.nvim_command("highlight Normal guibg=none") vim.api.nvim_command("highlight SignColumn guibg=none") vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") --vim.api.nvim_command("highlight TabLine guibg=none gui=bold") +--vim.api.nvim_command("highlight TabLineSel guibg=none guifg=none gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") --vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") +vim.api.nvim_command("highlight Title guibg=none gui=bold") +--vim.api.nvim_command("highlight WinSeparator guibg=none gui=bold") vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") vim.api.nvim_command("highlight WinBar guibg=none gui=bold") @@ -27,7 +30,10 @@ vim.api.nvim_command("highlight NormalFloat guibg=none") --vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") --vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") --vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") - +vim.cmd[[ +au WinEnter * setl winhl=WinSeparator:WinSeparatorA +au WinLeave * setl winhl=WinSeparator:WinSeparator +]] require("notify").setup({ background_colour = "#000000", }) -- cgit v1.2.3 From 6d8cc031c4e1c575dead47c5b0d89d9ec46c0914 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 2 Nov 2022 22:47:17 +0200 Subject: Added plugin 'preservim/vimux' --- lua/user/pack.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index c3715c2..dc72805 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -312,7 +312,7 @@ return packer.startup(function(use) -- Utilities use("nathom/filetype.nvim") use("christoomey/vim-tmux-navigator") - --use("preservim/vimux") + use("preservim/vimux") use("myusuf3/numbers.vim") use("windwp/nvim-autopairs") use("lewis6991/gitsigns.nvim") -- cgit v1.2.3 From 5f7164f9015f89769404bf6efc7e3940072d27ba Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 2 Nov 2022 22:48:19 +0200 Subject: Trying out autocmds to improve macros speed --- init.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 2e0c2b4..f74ec11 100644 --- a/init.lua +++ b/init.lua @@ -129,5 +129,10 @@ end vim.g.do_filetype_nvim = 1 vim.g.did_load_filetypes = 0 - +--vim.cmd[[ +--if maparg('', 'n') ==# '' +-- nnoremap :set lz!:nohlsearch=has('diff')?'diffupdate':'':set lz! +--endif]] +--vim.cmd[[autocmd VimEnter * set nolazyredraw lazyredraw]] +--vim.cmd[[autocmd VimEnter * redraw!]] -- cgit v1.2.3 From 535bbae238b67eab3c55b467d0116903db1777c0 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 3 Nov 2022 20:53:22 +0200 Subject: changed keymapping for a function to toggle diagnostic float --- lua/plugins/lsp.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 155143d..4c5cf70 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -422,11 +422,11 @@ function! ToggleDiagnosticsOpenFloat() " Enable if toggled on if g:DiagnosticsOpenFloat augroup OpenFloat - autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled . . .") + autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled...") augroup END endif endfunction -nnoremap m :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." +nnoremap o :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." ]]) --vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( -- cgit v1.2.3 From 460872b2fa7d32b4badb34f84cf3cb3a53cca534 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 3 Nov 2022 20:54:46 +0200 Subject: new key to clear messages in the cmdline since Ctrl-l is being used for something else --- lua/user/keys.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 43984c1..5686987 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -80,6 +80,7 @@ map("n", "m", ":messages") --map("n", "", "luafile ~/.config/nvim/init.lua", print ("Nvim config loading...")) --map("n", "", "luafile ~/.config/nvim/init.lua | :echo ('hello') | ") map("n", "", "luafile ~/.config/nvim/init.lua | :echom ('Nvim config loading...') | :sl! | echo ('')") +map("n", "u", ":echo '' | redraw") --clear messages --map("n", "", "luafile ~/.config/nvim/init.lua") --vim.api.nvim_set_keymap("n", "", "lua ReloadConfig()", { noremap = true, silent = false }) -- cgit v1.2.3 From ea898d67264d806dd081f34521c7789e416278fe Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 3 Nov 2022 21:28:51 +0200 Subject: Removed bufnr since it's kind of useless --- lua/plugins/heirline.lua | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua index f17f523..b8c51f1 100644 --- a/lua/plugins/heirline.lua +++ b/lua/plugins/heirline.lua @@ -979,12 +979,13 @@ local WinBar = { Space, Center } -- TabLine -local TablineBufnr = { - provider = function(self) - return tostring(self.bufnr) .. "." - end, - hl = { fg = colors.white, bold = false }, -} +--local TablineBufnr = { +-- provider = function(self) +-- return tostring(self.bufnr) .. "." +-- end, +-- hl = { fg = colors.white, bold = false }, +---- hl = "Comment", +--} -- we redefine the filename component, as we probably only want the tail and not the relative path local TablineFileName = { @@ -1061,7 +1062,7 @@ local TablineFileNameBlock = { end, name = "heirline_tabline_buffer_callback", }, - TablineBufnr, + --TablineBufnr, TablineFileIcon, TablineFileName, TablineFileFlags, -- cgit v1.2.3 From ff7c7f58ccce977cd32144c4d22fb57e73611706 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 4 Nov 2022 23:55:58 +0200 Subject: fzf-lua and telescope hidden files keymap --- lua/user/keys.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 5686987..7cf00e7 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -97,6 +97,7 @@ map("n", "", "") -- Combine buffers list with buffer name map("n", "b", ":buffers:buffer") +--map("n", "b", ":ls:b") -- Map buffer next, prev and delete to map("n", "n", ":bn") @@ -291,6 +292,10 @@ vim.cmd([[ nnoremap x :call scripts#save_and_exec()\|:echom "save & exec . . ." ]]) + +-------------- FZF -------------- +map("n", "fz", "lua require('fzf-lua').files()") + -------------- Telescope -------------- --Telescope find_files cwd=.. map("n", "fc", "lua require('telescope.builtin').commands()") @@ -299,6 +304,13 @@ map( "ft", "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))") +-- maps.n["fF"] = { +-- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, +-- desc = "Search all files", +-- Telescope find_files hidden=true +--map("n", "fh", "lua require('telecsope.builtin').file_files hidden=true") +map("n", "fF", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) + map("n", "fg", "lua require('telescope.builtin').live_grep()") map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()") -- cgit v1.2.3 From 9f63f765b16edbff55598ae73c932ced658ad951 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 4 Nov 2022 23:56:36 +0200 Subject: set autochdir --- lua/user/opts.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 46121ba..6da4234 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -20,6 +20,7 @@ vim.opt.fileencoding = "utf-8" -- vim.g.python3_host_prog = "/usr/bin/python3" -- vim.g.loaded_python3_provider = 1 -- vim.g.sh_noisk = 1 -- iskeyword word boundaries when editing a 'sh' file +vim.o.autochdir = true --vim.opt.sessionoptions = "buffers,curdir,folds,help,tabpages,winsize,resize,winpos,terminal,globals" -- -- Colors -- cgit v1.2.3 From 647649dd92071b98dcd0bbb9b9fba92029cd3261 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 4 Nov 2022 23:57:22 +0200 Subject: New plugin fzf-lua --- lua/user/pack.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index dc72805..b7c5a98 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -212,7 +212,8 @@ return packer.startup(function(use) -- end, -- requires = "nvim-treesitter/nvim-treesitter", --}) - use({ "junegunn/fzf", run = ":call fzf#install()" }) + --use({ "junegunn/fzf", run = ":call fzf#install()" }) + use('ibhagwan/fzf-lua') -- telescope plugins use("nvim-telescope/telescope.nvim") use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) -- cgit v1.2.3 From 0806fac4d7b314efb4c388910229b94b6246b3fc Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 4 Nov 2022 23:59:09 +0200 Subject: Progress saved on temp config for mason --- lua/plugins/mason.lua | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua index 69c61ba..c0fdca6 100644 --- a/lua/plugins/mason.lua +++ b/lua/plugins/mason.lua @@ -25,3 +25,37 @@ keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) + + + +--local mason = require("mason") +-- +--local options = { +-- ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim +-- +-- ui = { +-- icons = { +-- package_pending = " ", +-- package_installed = " ", +-- package_uninstalled = " ﮊ", +-- }, +-- +-- keymaps = { +-- toggle_server_expand = "", +-- install_server = "i", +-- update_server = "u", +-- check_server_version = "c", +-- update_all_servers = "U", +-- check_outdated_servers = "C", +-- uninstall_server = "X", +-- cancel_installation = "", +-- }, +-- }, +-- +-- max_concurrent_installers = 10, +--} +-- +-- +-- +--mason.setup(options) + -- cgit v1.2.3 From f80eb7d293b8d7ee8e671399cce9fdbaf1553c66 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 7 Nov 2022 12:03:16 +0200 Subject: fixed deprecated flexible component option --- lua/plugins/heirline.lua | 50 +++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua index b8c51f1..c05844b 100644 --- a/lua/plugins/heirline.lua +++ b/lua/plugins/heirline.lua @@ -603,30 +603,32 @@ local WordCount = { -- Working Directory local WorkDir = { - provider = function(self) - self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " - local cwd = vim.fn.getcwd(0) - self.cwd = vim.fn.fnamemodify(cwd, ":~") - end, - hl = { fg = colors.blue, bold = true, bg = colors.bg }, - - utils.make_flexible_component(1, { - -- evaluates to the full-lenth path - provider = function(self) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. self.cwd .. trail .. " " - end, - }, { - -- evaluates to the shortened path - provider = function(self) - local cwd = vim.fn.pathshorten(self.cwd) - local trail = self.cwd:sub(-1) == "/" and "" or "/" - return self.icon .. cwd .. trail .. " " - end, - }, { - -- evaluates to "", hiding the component - provider = "", - }), + init = function(self) + self.icon = (vim.fn.haslocaldir(0) == 1 and "l" or "g") .. " " .. " " + local cwd = vim.fn.getcwd(0) + self.cwd = vim.fn.fnamemodify(cwd, ":~") + end, + hl = { fg = "colors.blue", bold = true }, + flexible = 1, + { + -- evaluates to the full-lenth path + provider = function(self) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. self.cwd .. trail .." " + end, + }, + { + -- evaluates to the shortened path + provider = function(self) + local cwd = vim.fn.pathshorten(self.cwd) + local trail = self.cwd:sub(-1) == "/" and "" or "/" + return self.icon .. cwd .. trail .. " " + end, + }, + { + -- evaluates to "", hiding the component + provider = "", + } } -- Snippets Indicator -- cgit v1.2.3 From 6965062c66d6e892c9affda7f346e304ac47b7e3 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 7 Nov 2022 12:04:05 +0200 Subject: Added plugin 'airblade/vim-rooter' --- lua/user/pack.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index b7c5a98..027d7f8 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -224,6 +224,17 @@ return packer.startup(function(use) use("nvim-telescope/telescope-file-browser.nvim") -- search emoji and other symbols use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) + --use({ + --"princejoogie/dir-telescope.nvim", + --requires = {"nvim-telescope/telescope.nvim"}, + --config = function() + -- require("dir-telescope").setup({ + -- hidden = true, + -- respect_gitignore = true, + -- }) + --end, + --}) + use("airblade/vim-rooter") -- statusline plugins --use("nvim-lualine/lualine.nvim") --use({ -- cgit v1.2.3 From 87bc1647a37b081835907b6b800ae99b20341fad Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 7 Nov 2022 22:01:18 +0200 Subject: Removed plugins telescope-frecency and trouble.nvim --- lua/user/pack.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 027d7f8..605e279 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -81,7 +81,8 @@ return packer.startup(function(use) --requires = "kyazdani42/nvim-web-devicons", --config = function() -- require("trouble").setup({ - -- postion = "top", + -- --postion = "top", + -- postion = "right", -- -- your configuration comes here -- -- or leave it empty to use the default settings -- -- refer to the configuration section below @@ -218,7 +219,7 @@ return packer.startup(function(use) use("nvim-telescope/telescope.nvim") use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) use("tami5/sqlite.lua") - use("nvim-telescope/telescope-frecency.nvim") + --use("nvim-telescope/telescope-frecency.nvim") use("nvim-telescope/telescope-ui-select.nvim") use("nvim-telescope/telescope-media-files.nvim") use("nvim-telescope/telescope-file-browser.nvim") -- cgit v1.2.3 From e1bde17dfc97aa28e315665c175e184b446ba5b0 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 7 Nov 2022 22:06:59 +0200 Subject: Experimenting with plugin and it's extensions --- lua/plugins/telescope.lua | 317 ++++++++++++++++++++++++++++------------------ 1 file changed, 197 insertions(+), 120 deletions(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index db065d7..755c87e 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -1,29 +1,67 @@ +local M = {} local status_ok, telescope = pcall(require, "telescope") if not status_ok then return end -local actions = require("telescope.actions") -local builtin = require("telescope.builtin") -local function telescope_buffer_dir() - return vim.fn.expand("%:p:h") -end + +--local actions = require("telescope.actions") +--local builtin = require("telescope.builtin") + +--local themes = require("telescope.themes") +--local utils = require("telescope.utils") +local actions = require("telescope.actions") +--local action_state = require("telescope.actions.state") +--local layout_actions = require("telescope.actions.layout") telescope.load_extension("fzf") telescope.load_extension("file_browser") -require("telescope").load_extension("file_browser") +require("telescope").load_extension "file_browser" +--require("telescope").load_extension("file_browser") local fb_actions = require("telescope").extensions.file_browser.actions --telescope.load_extension('media_files') telescope.setup({ defaults = { - -- + vimgrep_arguments = { + "rg", + "--color=never", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + "--hidden", + "--fixed-strings", + "--trim", + }, prompt_prefix = " ", selection_caret = " ", - path_display = { "smart" }, - -- + entry_prefix = " ", + path_display = { "tail" }, + --path_display = { "truncate" }, + --path_display = { "smart" }, + file_ignore_patterns = { + "packer_compiled.lua", + "%.DS_Store", + "%.git/", + "%.spl", + "%.log", + "%[No Name%]", -- new files / sometimes folders (netrw) + "/$", -- ignore folders (netrw) + "node_modules", + "%.png", + "%.zip", + "%.pxd", + "^.vim/", + "^.local/", + "^.cache/", + "^downloads/", + --"^node_modules/", + --"^undodir/", + }, mappings = { - i = { + i = { [""] = actions.cycle_history_next, [""] = actions.cycle_history_prev, @@ -31,6 +69,9 @@ telescope.setup({ [""] = actions.move_selection_previous, [""] = actions.close, + [""] = actions.close, -- close w/ one esc + --[""] = "close", -- close w/ one esc + [""] = actions.which_key, -- keys from pressing [""] = actions.move_selection_next, [""] = actions.move_selection_previous, @@ -52,13 +93,21 @@ telescope.setup({ [""] = actions.send_selected_to_qflist + actions.open_qflist, [""] = actions.complete_tag, [""] = actions.which_key, -- keys from pressing + --[""] = function(prompt_bufnr) + -- local selection = require("telescope.actions.state").get_selected_entry() + -- local dir = vim.fn.fnamemodify(selection.path, ":p:h") + -- require("telescope.actions").close(prompt_bufnr) + -- -- Depending on what you want put `cd`, `lcd`, `tcd` + -- vim.cmd(string.format("silent lcd %s", dir)) + --end, }, n = { [""] = actions.close, + [""] = actions.close, [""] = actions.select_default, [""] = actions.select_horizontal, - [""] = actions.select_vertical, + [""] = actions.select_vertical, [""] = actions.select_tab, [""] = actions.toggle_selection + actions.move_selection_worse, @@ -84,25 +133,110 @@ telescope.setup({ [""] = actions.results_scrolling_down, ["?"] = actions.which_key, - ["cd"] = function(prompt_bufnr) - local selection = require("telescope.actions.state").get_selected_entry() - local dir = vim.fn.fnamemodify(selection.path, ":p:h") - require("telescope.actions").close(prompt_bufnr) - -- Depending on what you want put `cd`, `lcd`, `tcd` - vim.cmd(string.format("silent lcd %s", dir)) - end, + --[""] = function(prompt_bufnr) + -- local selection = require("telescope.actions.state").get_selected_entry() + -- local dir = vim.fn.fnamemodify(selection.path, ":p:h") + -- require("telescope.actions").close(prompt_bufnr) + -- -- Depending on what you want put `cd`, `lcd`, `tcd` + -- vim.cmd(string.format("silent lcd %s", dir)) + --end, }, }, }, - pickers = { - -- Default configuration for builtin pickers goes here: - -- picker_name = { - -- picker_config_key = value, - -- ... - -- } - -- Now the picker_config_key will be applied every time you call this - -- builtin picker - }, + preview = { + filesize_limit = 3, + timeout = 250, + }, + selection_strategy = "reset", + sorting_strategy = "ascending", + scroll_strategy = "limit", + color_devicons = true, + layout_strategy = 'horizontal', + layout_config = { + horizontal = { + height = 0.95, + preview_cutoff = 70, + width = 0.92, + preview_width = {0.55, max = 50} + }, + bottom_pane = { + height = 12, + preview_cutoff = 70, + prompt_position = "bottom", + }, + }, + pickers = { + live_grep = { + disable_coordinates = true, + layout_config = { + horizontal = { + preview_width = 0.55, + }, + }, + }, + }, + --pickers = { + --lsp_references = { + -- prompt_prefix='⬅️', + -- show_line=false, + -- trim_text=true, + -- include_declaration=false, + -- initial_mode = "normal", + --}, + --lsp_definitions = { + -- prompt_prefix='➡️', + -- show_line=false, + -- trim_text=true, + -- initial_mode = "normal", + --}, + --lsp_document_symbols = { + -- prompt_prefix='* ', + -- show_line = false, + --}, + --treesitter = { + -- prompt_prefix=' ', + -- show_line = false, + --}, + --find_files = { + -- cwd='%:p:h', + -- prompt_prefix=' ', + -- hidden = true, + -- follow = true, + --}, + --keymaps = { prompt_prefix='? ' }, + --oldfiles = { prompt_prefix=' ' }, + --highlights = { prompt_prefix=' ' }, + --git_files = { + -- prompt_prefix=' ', + -- show_untracked = true, + -- path_display = { "tail" }, + --}, + --buffers = { + -- prompt_prefix=' ', + -- ignore_current_buffer = true, + -- initial_mode = "normal", + -- sort_mru = true, + --}, + --live_grep = { + -- cwd='%:p:h', + -- disable_coordinates=true, + -- prompt_title='Search in Folder', + -- prompt_prefix=' ', + --}, + --spell_suggest = { + -- initial_mode = "normal", + -- prompt_prefix = "暈", + -- theme = "cursor", + -- layout_config = { cursor = { width = 0.3 } } + --}, + --colorscheme = { + -- enable_preview = true, + -- prompt_prefix = '', + -- results_title = '', + -- layout_strategy = "bottom_pane", + --}, + --}, + extensions = { file_browser = { theme = "dropdown", @@ -114,110 +248,53 @@ telescope.setup({ [""] = function() vim.cmd("normal vbd") end, + --[""] = fb_actions.goto_parent_dir, }, ["n"] = { -- your custom normal mode mappings ["N"] = fb_actions.create, - ["h"] = fb_actions.goto_parent_dir, - ["/"] = function() - vim.cmd("startinsert") - end, + --[""] = fb_actions.goto_parent_dir, + --["/"] = function() + -- vim.cmd("startinsert") + --end, }, - }, - }, - - media_files = { - -- filetypes whitelist - -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} - filetypes = { "png", "webp", "jpg", "jpeg" }, - find_cmd = "rg", -- find command (defaults to `fd`) - }, - -- Your extension configuration goes here: - -- extension_name = { - -- extension_config_key = value, - -- } - -- please take a look at the readme of the extension you want to configure - }, + }, + }, + --["ui-select"] = { -- mostly code actions + -- initial_mode = "normal", + -- prompt_prefix = " ", + -- results_title = '', + -- layout_strategy = "bottom_pane", + -- sorting_strategy = "ascending", + -- layout_config = { bottom_pane = { height = 8 } }, + --}, + ["ui-select"] = { + require("telescope.themes").get_dropdown({}), + }, + }, }) -telescope.load_extension("file_browser") - ---vim.keymap.set("n", ";f", function() --- builtin.find_files({ --- no_ignore = false, --- hidden = true, --- }) ---end) -vim.keymap.set("n", ";r", function() - builtin.live_grep() -end) -vim.keymap.set("n", "\\\\", function() - builtin.buffers() -end) -vim.keymap.set("n", ";t", function() - builtin.help_tags() -end) -vim.keymap.set("n", ";;", function() - builtin.resume() -end) -vim.keymap.set("n", ";e", function() - builtin.diagnostics() -end) ---vim.keymap.set("n", "sf", function() --- telescope.extensions.file_browser.file_browser({ --- path = "%:p:h", --- cwd = telescope_buffer_dir(), --- respect_gitignore = false, --- hidden = true, --- grouped = true, --- previewer = false, --- initial_mode = "normal", --- layout_config = { height = 40 }, --- }) ---end) - -local M = {} - -function M.reload() - local function get_module_name(s) - local module_name; - - module_name = s:gsub("%.lua", "") - module_name = module_name:gsub("%/", ".") - module_name = module_name:gsub("%.init", "") - - return module_name - end +-------------------------------------------------------------------------------- - local prompt_title = "~ neovim modules ~" +-- have to be loaded after telescope config +--require("telescope").load_extension("ui-select") -- use telescope for selections like code actions +telescope.load_extension("ui-select") - -- sets the path to the lua folder - local path = "~/.config/nvim/lua" +function M.file_explorer() + require("telescope.builtin").file_browser({ + prompt_title = "File Browser", + cwd = "~", + layout_strategy = "horizontal", + }) +end +function M.grep_current_dir() + local buffer_dir = require("telescope.utils").buffer_dir() local opts = { - prompt_title = prompt_title, - cwd = path, - - attach_mappings = function(_, map) - -- Adds a new map to ctrl+e. - map("i", "", function(_) - -- these two a very self-explanatory - local entry = require("telescope.actions.state").get_selected_entry() - local name = get_module_name(entry.value) - - -- call the helper method to reload the module - -- and give some feedback - R(name) - P(name .. " RELOADED!!!") - end) - - return true - end + prompt_title = "Live Grep in " .. buffer_dir, + cwd = buffer_dir, } - - -- call the builtin method to list files - require('telescope.builtin').find_files(opts) + require("telescope.builtin").live_grep(opts) end -return M; - +return M -- cgit v1.2.3 From 823a39d3cb9378c8da238aa33bd010c8c4250299 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 7 Nov 2022 22:07:31 +0200 Subject: Experimenting with telescope plugin and it's extensions --- lua/user/keys.lua | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 7cf00e7..9c8cdd9 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -299,10 +299,10 @@ map("n", "fz", "lua require('fzf-lua').files()") -------------- Telescope -------------- --Telescope find_files cwd=.. map("n", "fc", "lua require('telescope.builtin').commands()") -map( - "n", - "ft", - "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))") +--map( +-- "n", +-- "ft", +-- "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))") -- maps.n["fF"] = { -- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, @@ -310,11 +310,11 @@ map( -- Telescope find_files hidden=true --map("n", "fh", "lua require('telecsope.builtin').file_files hidden=true") map("n", "fF", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) - +--map("n", "fe", ":lua require('telescope.builtin').file_browser({cwd = '.'})") map("n", "fg", "lua require('telescope.builtin').live_grep()") map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()") - - map("n", "fd", "lua require('telescope.builtin').diagnostics()") +map("n", "fd", "lua require('telescope.builtin').diagnostics()") +map("n", "fp", "Telescope pickers") --map("n", "fz", ":FZF") --map("t", [[]], [[]]) --map("n", "ff", ":NvimTreeToggle", {}) @@ -323,7 +323,7 @@ map("n", "f", ":NvimTreeToggle", {}) -- Find files in config dirs --key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) --map("n", "f.", "lua require('plugins.telescope').find_configs({})") -map("n", "ft", "lua require('plugins.telescope').file_explorer({})") +--map("n", "ft", "lua require('plugins.telescope').file_explorer({})") --map("n", "fd", "lua require('plugins.telescope').find_notes({})") map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})") -- registers picker @@ -334,7 +334,7 @@ map("n", "r", "lua require('telescope.builtin').registers({})") -- "fg", -- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})") -- open available commands & run it -map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})") +--map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})") -------------- Autopairs -------------- Toggle_autopairs = function() -- cgit v1.2.3 From 919cdc16bad9018e635ad000abbb3970b4b35c4a Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 8 Nov 2022 15:43:34 +0200 Subject: Added plugins: 'hrsh7th/cmp-zsh', 'hrsh7th/cmp-spell', 'hrsh7th/cmp-calc' and 'hrsh7th/cmp-nvim-lsp-signature-help' --- lua/user/pack.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 605e279..7389cd7 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -178,10 +178,14 @@ return packer.startup(function(use) use("hrsh7th/cmp-nvim-lsp") use("hrsh7th/cmp-buffer") use("hrsh7th/cmp-path") - use("petertriho/cmp-git") use("hrsh7th/cmp-cmdline") - use("onsails/lspkind-nvim") + use("petertriho/cmp-git") + use("tamago324/cmp-zsh") + use("f3fora/cmp-spell") + use("hrsh7th/cmp-calc") use("saadparwaiz1/cmp_luasnip") + use("hrsh7th/cmp-nvim-lsp-signature-help") + use("onsails/lspkind-nvim") -- snippets --use("L3MON4D3/LuaSnip") --snippet engine -- cgit v1.2.3 From b1f5b99dff87ff9932620646a8b13337cef24eb4 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 8 Nov 2022 16:04:20 +0200 Subject: Added sources and cmp menu items: 'cmp_git', 'spell', 'zsh', 'treesitter', 'calc' and 'nvim_lsp_signature_help' --- lua/plugins/cmp.lua | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua index 1ef2580..829a448 100644 --- a/lua/plugins/cmp.lua +++ b/lua/plugins/cmp.lua @@ -48,7 +48,7 @@ local kind_icons = { Constructor = "", --"⚙️", Field = "", Variable = "", - Class = "", + Class = "ﴯ", Interface = "", Module = "", Property = "", @@ -168,6 +168,12 @@ cmp.setup({ --end --}}, { name = "cmp_git"}, + { name = "spell"}, + { name = "zsh" }, + { name = "treesitter" }, + { name = "calc" }, + { name = "nvim_lsp_signature_help" }, + --{ name = "cmdline" }, --{ name = 'treesitter' }, --{ name = "cmdline", keyword_pattern = [=[[^[:blank:]\!]*]=] }, --exclamation mark hangs a bit without this --{name = 'luasnip', keyword_length = 2}, @@ -205,6 +211,13 @@ cmp.setup({ nvim_lua = "[api]", path = "[path]", gh_issues = "[issues]", + spell = "[spell]", + zsh = "[zsh]", + treesitter = "[treesitter]", + calc = "[calc]", + nvim_lsp_signature_help = "[signature]", + cmdline = "[cmd]" + }, }, --}, @@ -251,7 +264,7 @@ cmp.setup({ event = {}, experimental = { - ghost_text = true, + ghost_text = true, -- this feature conflicts with copilot.vim's preview. hl_group = 'Nontext', --native_menu = false, }, -- cgit v1.2.3 From 796d3853c126118b8eb68561e378743c43b52ebe Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 8 Nov 2022 18:37:03 +0200 Subject: Added plugin 'axkirillov/telescope-changed-files' --- lua/user/pack.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 7389cd7..ffa1106 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -229,6 +229,7 @@ return packer.startup(function(use) use("nvim-telescope/telescope-file-browser.nvim") -- search emoji and other symbols use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) + use("axkirillov/telescope-changed-files") --use({ --"princejoogie/dir-telescope.nvim", --requires = {"nvim-telescope/telescope.nvim"}, -- cgit v1.2.3 From 42e971daf37e0eeb47dfafb009af3cd95310c884 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 8 Nov 2022 23:22:53 +0200 Subject: Re-formatted and added diagnostics/code_actions.shellcheck --- lua/plugins/null-ls.lua | 70 +++++++++++++------------------------------------ 1 file changed, 18 insertions(+), 52 deletions(-) diff --git a/lua/plugins/null-ls.lua b/lua/plugins/null-ls.lua index e1e6ad6..4573a54 100644 --- a/lua/plugins/null-ls.lua +++ b/lua/plugins/null-ls.lua @@ -2,66 +2,32 @@ local null_ls_status_ok, null_ls = pcall(require, "null-ls") if not null_ls_status_ok then return end - ----- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting -local formatting = null_ls.builtins.formatting ----- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics -local diagnostics = null_ls.builtins.diagnostics +--[[null-ls.]] -- ---local completion = null_ls.builtins.completion -local codeactions = null_ls.builtins.code_actions - -----null_ls.setup({ ----- debug = false, ----- sources = { ----- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), ----- formatting.black.with({ extra_args = { "--fast" } }), ----- formatting.stylua, ----- -- diagnostics.flake8 ----- }, -----}) ---require("null-ls").setup({ --- sources = { --- require("null-ls").builtins.formatting.stylua, --- require("null-ls").builtins.diagnostics.eslint, --- require("null-ls").builtins.completion.spell, --- }, ---}) - ---null_ls.setup({ --- sources = { --- formatting.prettier.with({ --- filetypes = { "html", "css", "javascript", "javascriptreact", "markdown", "json", "yaml" }, --- }), --- formatting.black, --- formatting.eslint_d, --- formatting.stylua, --- formatting.shfmt.with({ --- filetypes = { "bash", "zsh", "sh" }, --- }), +-- null-language-server i.e. a sort of language server which does not provide any services such as formatting and diagnostics you expect from a language server. Instead it will need to install corresponding external “sources” and then hook these sources into the neovim lsp client through null-ls. -- --- diagnostics.eslint_d, --- diagnostics.luacheck, --- diagnostics.mdl, --- diagnostics.vint, --- --- codeactions.eslint_d, --- }, --- on_attach = function(client) --- if client.resolved_capabilities.document_formatting then --- vim.cmd("autocmd BufWritePre lua vim.lsp.buf.format()") --- end --- end, ---}) null_ls.setup({ debug = true, sources = { - formatting.prettierd, - formatting.stylua, - formatting.shfmt.with({ + require("null-ls").builtins.formatting.stylua, -- lua formatting + require("null-ls").builtins.formatting.prettier.with({ -- markdown, html/js formatting + filetypes = { "html", "css", "javascript", "javascriptreact", "markdown", "json", "yaml" }, + }), + require("null-ls").builtins.formatting.shfmt.with({ -- shell script formatting filetypes = { "bash", "zsh", "sh" }, }), + require("null-ls").builtins.diagnostics.shellcheck, -- shell script diagnostics + require("null-ls").builtins.code_actions.shellcheck, -- shell script code actions + --require("null-ls").builtins.formatting.black, + --require("null-ls").builtins.formatting.prettierd, + --require("null-ls").builtins.diagnostics.luacheck, + --require("null-ls").builtins.diagnostics.eslint, + --require("null-ls").builtins.diagnostics.eslint_d, + --require("null-ls").builtins.diagnostics.mdl, + --require("null-ls").builtins.diagnostics.vint, + --require("null-ls").builtins.codeactions.eslint_d, + --require("null-ls").builtins.completion.spell, }, on_attach = function(client, bufnr) if client.server_capabilities.document_formatting then -- cgit v1.2.3 From f551c1d45b8c30131d39ff846119902dde7ac439 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 8 Nov 2022 23:26:14 +0200 Subject: New telescope mappings for 'changed_files', 'keymaps', 'help_tags', 'find_notes', 'grep_notes' and 'find_configs' --- lua/user/keys.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 9c8cdd9..47464b8 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -299,6 +299,9 @@ map("n", "fz", "lua require('fzf-lua').files()") -------------- Telescope -------------- --Telescope find_files cwd=.. map("n", "fc", "lua require('telescope.builtin').commands()") +map("n", "cf", "Telescope changed_files") +map("n", "fk", "lua require('telescope.builtin').keymaps()") +map("n", "fh", "lua require('telescope.builtin').help_tags()") --map( -- "n", -- "ft", @@ -315,6 +318,13 @@ map("n", "fg", "lua require('telescope.builtin').live_grep()") map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()") map("n", "fd", "lua require('telescope.builtin').diagnostics()") map("n", "fp", "Telescope pickers") + +-- find notes +map("n", "fn", [[lua require'plugins.telescope'.find_notes()]]) +-- search notes +map("n", "fgn", [[lua require'plugins.telescope'.grep_notes()]]) +-- Find files in config dirs +map("n", "f.", [[lua require'plugins.telescope'.find_configs()]]) --map("n", "fz", ":FZF") --map("t", [[]], [[]]) --map("n", "ff", ":NvimTreeToggle", {}) -- cgit v1.2.3 From 2afa454fe4ac94739caf83b0ccd8ad1f5688a038 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 8 Nov 2022 23:35:00 +0200 Subject: New plugin extension 'changed_files' ; new functions 'find_notes', 'grep_notes' and 'find_configs' --- lua/plugins/telescope.lua | 54 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 755c87e..1133917 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -15,8 +15,9 @@ local actions = require("telescope.actions") --local layout_actions = require("telescope.actions.layout") telescope.load_extension("fzf") -telescope.load_extension("file_browser") +--telescope.load_extension("file_browser") require("telescope").load_extension "file_browser" +require('telescope').load_extension('changed_files') --require("telescope").load_extension("file_browser") local fb_actions = require("telescope").extensions.file_browser.actions --telescope.load_extension('media_files') @@ -280,6 +281,57 @@ telescope.setup({ --require("telescope").load_extension("ui-select") -- use telescope for selections like code actions telescope.load_extension("ui-select") +function M.find_configs() + require("telescope.builtin").find_files { + hidden = true, + --no_ignore = true, + prompt_title = " Find Configs", + results_title = "Config Files", + path_display = { "smart" }, + search_dirs = { + "~/.config/nvim", + "~/.config/zsh", + "~/.config/tmux", + "~/.config/X11", + "~/.config/alacritty", + }, + -- cwd = "~/.config/nvim/", + file_ignore_patterns = { + "~/.config/nvim/startup.log", + "~/.config/nvim/plugin/packer_compiled.lua", + "~/.config/tmux/resurrect/", + "~/.config/tmux/plugins/", + }, + layout_strategy = "horizontal", + layout_config = { preview_width = 0.65, width = 0.75 }, + } +end + +function M.grep_notes() + local opts = {} + opts.hidden = true + opts.search_dirs = { + "~/documents/notes/", + } + opts.prompt_prefix = "  " + opts.prompt_title = " Grep Notes" + opts.path_display = { "smart" } + require("telescope.builtin").live_grep(opts) +end + +function M.find_notes() + require("telescope.builtin").find_files { + prompt_title = " Find Notes", + path_display = { "smart" }, + search_dirs = { + "~/documents", + }, + --cwd = "~documents/notes", + layout_strategy = "horizontal", + layout_config = { preview_width = 0.65, width = 0.75 }, + } +end + function M.file_explorer() require("telescope.builtin").file_browser({ prompt_title = "File Browser", -- cgit v1.2.3 From e5c034152cbefaa90f2850ce551ac94e806bb78e Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 12 Nov 2022 23:47:07 +0200 Subject: New binding to set current working directory '%:p:h' --- lua/user/keys.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 47464b8..5a17635 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -29,7 +29,7 @@ vim.g.mapleader = ";" map("i", "jk", "") map("n", "m", ":messages") - +map("n", "cd", ":cd %:p:h:pwd") -- Print last error message or use these commands | v:errmsgv | :statusmsg | :h execute() | --nnoremap x :put =trim(execute(input(':', '', 'command'))) -- Press x, then enter your command, such as 5mess and press . The last five message lines will be added to the current buffer. -- cgit v1.2.3 From e717d3ebccb73afd2bddfce4c60b4d5fb82f184c Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 12 Nov 2022 23:49:12 +0200 Subject: Added file ignore patterns to function find_configs --- lua/plugins/telescope.lua | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 1133917..3c6eef8 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -284,7 +284,7 @@ telescope.load_extension("ui-select") function M.find_configs() require("telescope.builtin").find_files { hidden = true, - --no_ignore = true, + no_ignore = false, prompt_title = " Find Configs", results_title = "Config Files", path_display = { "smart" }, @@ -298,9 +298,12 @@ function M.find_configs() -- cwd = "~/.config/nvim/", file_ignore_patterns = { "~/.config/nvim/startup.log", - "~/.config/nvim/plugin/packer_compiled.lua", - "~/.config/tmux/resurrect/", - "~/.config/tmux/plugins/", + "packer_compiled.lua", + "resurrect", + "tmux/plugins", + --"^~/.config/tmux/plugins", + "%.txt", + ".git", }, layout_strategy = "horizontal", layout_config = { preview_width = 0.65, width = 0.75 }, -- cgit v1.2.3 From 62d02cd16ce7c7f201921a4c4b4fbab4a03d0bc1 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 15 Nov 2022 20:01:17 +0200 Subject: Added bspwm and sxhkd config directories to M.find_configs --- lua/plugins/telescope.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 3c6eef8..f878b77 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -294,6 +294,8 @@ function M.find_configs() "~/.config/tmux", "~/.config/X11", "~/.config/alacritty", + "~/.config/bspwm", + "~/.config/sxhkd", }, -- cwd = "~/.config/nvim/", file_ignore_patterns = { -- cgit v1.2.3 From 80f617156189b56a8fa561b681034897a3a19fff Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 15 Nov 2022 23:33:40 +0200 Subject: Removed startup.log --- startup.log | 8922 ----------------------------------------------------------- 1 file changed, 8922 deletions(-) delete mode 100644 startup.log diff --git a/startup.log b/startup.log deleted file mode 100644 index 8069b40..0000000 --- a/startup.log +++ /dev/null @@ -1,8922 +0,0 @@ - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -002.458 002.458: --- NVIM STARTING --- -082.923 080.465: event init -115.238 032.316: early init -118.029 002.791: locale set -127.623 009.594: init first window -143.646 016.024: inits 1 -143.691 000.045: window checked -143.706 000.015: parsing arguments -160.572 000.272 000.272: require('vim.shared') -161.086 000.241 000.241: require('vim._meta') -161.100 000.505 000.264: require('vim._editor') -161.108 000.908 000.131: require('vim._init_packages') -161.115 016.500: init lua interpreter -161.269 000.154: expanding arguments -163.906 002.638: inits 2 -165.267 001.360: init highlight -165.276 000.010: waiting for UI -169.013 003.737: done waiting for UI -169.065 000.052: init screen for UI -169.414 000.348: init default mappings -169.452 000.038: init default autocommands -195.131 014.412 014.412: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/ftplugin.vim -200.734 003.082 003.082: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/indent.vim -201.357 000.057 000.057: sourcing /usr/share/nvim/archlinux.vim -201.385 000.186 000.129: sourcing /etc/xdg/nvim/sysinit.vim -240.799 038.999 038.999: require('impatient') -240.984 000.164 000.164: require('impatient.profile') -241.128 000.118 000.118: require('user.utils') -246.787 000.325 000.325: require('packer.util') -246.855 000.729 000.404: require('packer') -248.197 000.804 000.804: require('packer.log') -248.212 001.064 000.259: require('packer.async') -248.846 000.465 000.465: require('packer.result') -248.861 000.639 000.175: require('packer.jobs') -248.889 001.966 000.263: require('packer.plugin_utils') -249.231 000.307 000.307: require('packer.snapshot') -250.923 000.214 000.214: require('mason-core.path') -250.949 000.449 000.234: require('mason.settings') -251.326 000.192 000.192: require('mason-core.functional') -251.736 000.140 000.140: require('mason-core.functional.data') -251.750 000.389 000.249: require('mason-core.functional.function') -251.993 000.204 000.204: require('mason-core.functional.relation') -252.226 000.197 000.197: require('mason-core.functional.logic') -252.283 001.324 000.342: require('mason-core.platform') -252.291 002.171 000.399: require('mason') -252.793 000.162 000.162: require('mason-core.functional.list') -252.858 000.525 000.363: require('mason.api.command') -253.207 000.194 000.194: require('mason-core.log') -253.219 000.352 000.158: require('mason-lspconfig') -253.351 000.124 000.124: require('mason-lspconfig.settings') -253.708 000.113 000.113: require('mason-core.notify') -253.729 000.280 000.168: require('mason-lspconfig.lspconfig_hook') -255.925 000.383 000.383: require('vim.lsp.log') -257.499 000.015 000.015: require('vim.F') -257.511 001.524 001.508: require('vim.lsp.protocol') -258.438 000.386 000.386: require('vim.lsp._snippet') -258.827 000.376 000.376: require('vim.highlight') -258.872 001.306 000.544: require('vim.lsp.util') -258.923 003.996 000.784: require('vim.lsp.handlers') -259.481 000.546 000.546: require('vim.lsp.rpc') -259.802 000.304 000.304: require('vim.lsp.sync') -260.177 000.363 000.363: require('vim.lsp.buf') -260.471 000.283 000.283: require('vim.lsp.diagnostic') -260.783 000.302 000.302: require('vim.lsp.codelens') -260.973 007.055 001.261: require('vim.lsp') -261.152 007.415 000.360: require('lspconfig.util') -261.708 000.177 000.177: require('mason-core.functional.table') -261.839 000.568 000.391: require('mason-lspconfig.mappings.server') -262.359 000.157 000.157: require('mason-core.async') -262.485 000.113 000.113: require('mason-core.async.uv') -262.499 000.447 000.178: require('mason-core.fs') -262.637 000.131 000.131: require('mason-core.optional') -262.768 000.121 000.121: require('mason-core.EventEmitter') -263.033 000.256 000.256: require('mason-registry.index') -263.061 001.210 000.255: require('mason-registry') -263.196 000.126 000.126: require('mason-lspconfig.server_config_extensions') -263.351 000.146 000.146: require('lspconfig.configs') -263.640 000.220 000.220: require('lspconfig.server_configurations.omnisharp') -264.055 000.204 000.204: require('mason-lspconfig.ensure_installed') -264.504 000.125 000.125: require('mason-core.result') -265.113 000.324 000.324: require('mason-core.process') -265.274 000.604 000.281: require('mason-core.spawn') -265.437 000.150 000.150: require('mason-core.receipt') -265.606 000.132 000.132: require('mason-core.functional.string') -265.650 001.136 000.250: require('mason-core.installer.context') -265.789 000.130 000.130: require('mason-core.installer.linker') -265.923 000.126 000.126: require('mason-core.async.control') -265.935 001.705 000.189: require('mason-core.installer') -266.100 000.158 000.158: require('mason-core.installer.handle') -266.784 000.138 000.138: require('mason-core.managers.powershell') -266.794 000.267 000.130: require('mason-core.fetch') -266.798 000.384 000.116: require('mason-core.managers.cargo.client') -267.106 000.154 000.154: require('mason-core.managers.std') -267.400 000.137 000.137: require('mason-registry.api') -267.432 000.317 000.181: require('mason-core.managers.github.client') -267.452 000.648 000.176: require('mason-core.managers.github') -267.648 001.396 000.365: require('mason-core.managers.cargo') -267.958 000.299 000.299: require('mason-core.managers.composer') -268.175 000.207 000.207: require('mason-core.managers.gem') -268.331 000.147 000.147: require('mason-core.managers.git') -268.649 000.308 000.308: require('mason-core.managers.go') -268.898 000.239 000.239: require('mason-core.managers.luarocks') -269.085 000.177 000.177: require('mason-core.managers.npm') -269.301 000.208 000.208: require('mason-core.managers.pip3') -269.324 003.198 000.217: require('mason-core.package.version-check') -269.341 005.275 000.213: require('mason-core.package') -269.510 000.143 000.143: require('mason-registry.python-lsp-server') -270.025 000.144 000.144: require('mason-registry.pyright') -270.330 000.272 000.272: require('mason-registry.clangd') -270.530 000.166 000.166: require('mason-registry.lua-language-server') -270.832 000.135 000.135: require('mason-core.functional.number') -270.899 000.356 000.221: require('mason-lspconfig.api.command') -271.164 025.516 002.816: require('user.pack') -275.270 004.093 004.093: require('user.opts') -275.553 000.016 000.016: require('vim.keymap') -278.112 002.817 002.801: require('user.keys') -278.254 000.129 000.129: require('user.utils') -279.538 000.281 000.281: require('vim.treesitter.language') -279.563 000.848 000.567: require('vim.treesitter.query') -280.882 000.337 000.337: require('vim.treesitter.languagetree') -280.985 000.741 000.404: require('vim.treesitter') -281.311 001.456 000.716: require('nvim-treesitter.parsers') -281.504 000.183 000.183: require('nvim-treesitter.utils') -281.518 001.812 000.173: require('nvim-treesitter.ts_utils') -281.535 001.963 000.151: require('nvim-treesitter.tsrange') -281.661 000.117 000.117: require('nvim-treesitter.caching') -281.687 003.120 000.192: require('nvim-treesitter.query') -281.727 003.366 000.246: require('nvim-treesitter.configs') -282.344 000.208 000.208: require('nvim-treesitter.info') -282.527 000.170 000.170: require('nvim-treesitter.shell_command_selectors') -282.586 000.690 000.312: require('nvim-treesitter.install') -284.606 006.339 002.283: require('plugins.treesitter') -284.986 000.124 000.124: require('telescope._extensions') -284.997 000.250 000.126: require('telescope') -286.048 000.125 000.125: require('plenary.bit') -286.178 000.117 000.117: require('plenary.functional') -286.245 000.046 000.046: require('ffi') -286.275 000.547 000.259: require('plenary.path') -286.299 000.696 000.149: require('plenary.strings') -286.435 000.129 000.129: require('telescope.deprecated') -287.163 000.382 000.382: require('plenary.log') -287.223 000.567 000.186: require('telescope.log') -287.621 000.186 000.186: require('plenary.job') -287.752 000.119 000.119: require('telescope.state') -287.780 000.546 000.240: require('telescope.utils') -287.842 001.397 000.284: require('telescope.sorters') -287.988 000.109 000.109: require('vim.inspect') -293.244 007.896 005.565: require('telescope.config') -293.656 000.141 000.141: require('plenary.window.border') -293.774 000.107 000.107: require('plenary.window') -293.884 000.101 000.101: require('plenary.popup.utils') -293.898 000.622 000.273: require('plenary.popup') -294.028 000.122 000.122: require('telescope.pickers.scroller') -294.156 000.118 000.118: require('telescope.actions.state') -294.342 000.155 000.155: require('telescope.actions.utils') -294.651 000.139 000.139: require('telescope.actions.mt') -294.691 000.335 000.196: require('telescope.actions.set') -294.982 000.154 000.154: require('telescope.config.resolve') -294.994 000.294 000.140: require('telescope.pickers.entry_display') -295.105 000.105 000.105: require('telescope.from_entry') -295.600 010.596 000.948: require('telescope.actions') -299.656 000.115 000.115: require('plenary.tbl') -299.679 000.267 000.152: require('plenary.vararg.rotate') -299.684 000.388 000.122: require('plenary.vararg') -299.803 000.109 000.109: require('plenary.errors') -299.823 000.677 000.179: require('plenary.async.async') -299.965 000.136 000.136: require('plenary.async.structs') -299.985 001.237 000.425: require('plenary.async.control') -300.545 000.396 000.396: require('telescope.make_entry') -301.048 000.135 000.135: require('plenary.async.util') -301.057 000.250 000.115: require('plenary.async.tests') -301.064 000.377 000.127: require('plenary.async') -301.076 000.516 000.139: require('telescope.finders.async_static_finder') -301.489 000.113 000.113: require('plenary.class') -301.563 000.349 000.236: require('telescope._') -301.573 000.490 000.141: require('telescope.finders.async_oneshot_finder') -301.766 000.188 000.188: require('telescope.finders.async_job_finder') -301.794 001.799 000.209: require('telescope.finders') -302.382 000.210 000.210: require('telescope.debounce') -302.655 000.260 000.260: require('telescope.mappings') -302.815 000.148 000.148: require('telescope.pickers.highlights') -302.950 000.125 000.125: require('telescope.pickers.window') -303.242 000.138 000.138: require('telescope.algos.linked_list') -303.257 000.300 000.162: require('telescope.entry_manager') -303.382 000.118 000.118: require('telescope.pickers.multi') -303.434 001.628 000.468: require('telescope.pickers') -303.459 007.636 002.972: require('telescope.builtin.__lsp') -303.542 007.930 000.294: require('telescope.builtin') -304.019 000.309 000.309: require('fzf_lib') -304.035 000.483 000.175: require('telescope._extensions.fzf') -304.635 000.217 000.217: require('telescope._extensions.file_browser.utils') -304.780 000.584 000.368: require('telescope._extensions.file_browser.actions') -305.187 000.235 000.235: require('telescope._extensions.file_browser.make_entry') -305.447 000.242 000.242: require('plenary.scandir') -305.561 000.774 000.297: require('telescope._extensions.file_browser.finders') -305.720 000.149 000.149: require('telescope._extensions.file_browser.picker') -305.904 000.175 000.175: require('telescope._extensions.file_browser.config') -305.911 001.858 000.175: require('telescope._extensions.file_browser') -309.963 025.346 004.228: require('plugins.telescope') -311.611 000.109 000.109: require('notify.util.queue') -311.623 000.244 000.135: require('notify.util') -311.895 000.266 000.266: require('notify.config.highlights') -311.909 000.675 000.166: require('notify.config') -312.036 000.120 000.120: require('notify.stages') -312.193 000.150 000.150: require('notify.service.notification') -312.542 000.102 000.102: require('notify.animate.spring') -312.549 000.204 000.102: require('notify.animate') -312.562 000.360 000.157: require('notify.windows') -313.499 000.279 000.279: require('notify.service.buffer.highlights') -313.522 000.832 000.553: require('notify.service.buffer') -313.552 000.984 000.151: require('notify.service') -313.842 000.284 000.284: require('notify.stages.util') -313.923 002.839 000.266: require('notify') -314.140 000.209 000.209: require('nvim-tree.iterators.node-iterator') -314.283 003.365 000.318: require('nvim-tree.utils') -314.318 003.531 000.165: require('nvim-tree.events') -315.099 000.248 000.248: require('nvim-tree.log') -315.509 000.399 000.399: require('nvim-tree.git.utils') -315.905 000.382 000.382: require('nvim-tree.git.runner') -316.193 000.279 000.279: require('nvim-tree.watcher') -316.229 001.685 000.376: require('nvim-tree.git') -316.486 000.251 000.251: require('nvim-tree.explorer.watch') -317.021 000.527 000.527: require('nvim-tree.explorer.common') -317.483 000.222 000.222: require('nvim-tree.explorer.node-builders') -317.811 000.318 000.318: require('nvim-tree.explorer.sorters') -318.033 000.214 000.214: require('nvim-tree.explorer.filters') -318.912 000.635 000.635: require('nvim-tree.view') -318.953 000.902 000.267: require('nvim-tree.live-filter') -318.973 001.942 000.287: require('nvim-tree.explorer.explore') -319.267 000.289 000.289: require('nvim-tree.explorer.reload') -319.290 004.966 000.272: require('nvim-tree.explorer') -319.317 008.638 000.141: require('nvim-tree.core') -319.631 000.308 000.308: require('nvim-tree.diagnostics') -319.869 000.211 000.211: require('nvim-tree.renderer.components.padding') -320.127 000.250 000.250: require('nvim-tree.renderer.components.icons') -320.391 000.256 000.256: require('nvim-tree.renderer.components.full-name') -320.638 000.240 000.240: require('nvim-tree.renderer.help') -320.899 000.253 000.253: require('nvim-tree.renderer.components.git') -321.035 000.128 000.128: require('nvim-tree.renderer.builder') -321.140 000.097 000.097: require('nvim-tree.marks') -321.153 010.620 000.238: require('nvim-tree.renderer') -321.266 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') -321.357 000.084 000.084: require('nvim-tree.actions.root.dir-up') -321.462 000.098 000.098: require('nvim-tree.actions.root.change-dir') -321.567 000.097 000.097: require('nvim-tree.actions.reloaders.reloaders') -321.669 000.094 000.094: require('nvim-tree.actions.finders.find-file') -321.675 011.320 000.226: require('nvim-tree.lib') -321.784 000.103 000.103: require('nvim-tree.colors') -321.915 000.120 000.120: require('nvim-tree.legacy') -322.041 000.116 000.116: require('nvim-tree.actions.fs.copy-paste') -322.274 000.102 000.102: require('nvim-tree.actions.tree-modifiers.expand-all') -322.375 000.092 000.092: require('nvim-tree.actions.tree-modifiers.toggles') -322.491 000.100 000.100: require('nvim-tree.actions.fs.create-file') -322.592 000.093 000.093: require('nvim-tree.actions.fs.rename-file') -322.725 000.124 000.124: require('nvim-tree.actions.fs.trash') -322.831 000.099 000.099: require('nvim-tree.actions.fs.remove-file') -322.930 000.089 000.089: require('nvim-tree.actions.moves.parent') -323.023 000.086 000.086: require('nvim-tree.actions.moves.sibling') -323.118 000.087 000.087: require('nvim-tree.actions.moves.item') -323.232 000.095 000.095: require('nvim-tree.actions.finders.search-node') -323.326 000.087 000.087: require('nvim-tree.actions.node.run-command') -323.445 000.113 000.113: require('nvim-tree.actions.node.file-popup') -323.559 000.107 000.107: require('nvim-tree.actions.node.system-open') -323.666 000.096 000.096: require('nvim-tree.marks.bulk-move') -323.672 001.620 000.249: require('nvim-tree.actions.dispatch') -323.705 013.595 000.315: require('nvim-tree') -323.789 000.079 000.079: require('nvim-tree.config') -330.157 000.170 000.170: require('nvim-tree.actions') -330.294 000.119 000.119: require('nvim-tree.actions.node.open-file') -333.016 000.099 000.099: require('nvim-tree.marks.navigation') -333.029 000.300 000.202: require('nvim-tree.api') -333.049 000.446 000.145: require('nvim-tree.keymap') -333.900 000.396 000.396: require('nvim-web-devicons') -338.051 028.073 013.268: require('plugins.nvim-tree') -338.508 000.078 000.078: require('cmp.utils.debug') -338.719 000.118 000.118: require('cmp.utils.char') -338.734 000.216 000.099: require('cmp.utils.str') -338.885 000.104 000.104: require('cmp.utils.pattern') -339.166 000.089 000.089: require('cmp.utils.misc') -339.276 000.082 000.082: require('cmp.utils.buffer') -339.372 000.089 000.089: require('cmp.utils.api') -339.382 000.404 000.144: require('cmp.utils.keymap') -339.391 000.498 000.094: require('cmp.utils.feedkeys') -339.489 000.093 000.093: require('cmp.utils.async') -339.759 000.076 000.076: require('cmp.types.cmp') -339.866 000.101 000.101: require('cmp.types.lsp') -339.945 000.072 000.072: require('cmp.types.vim') -339.950 000.373 000.124: require('cmp.types') -340.029 000.074 000.074: require('cmp.utils.cache') -340.038 000.541 000.094: require('cmp.context') -340.309 000.090 000.090: require('cmp.config.mapping') -340.503 000.094 000.094: require('cmp.config.compare') -340.509 000.189 000.094: require('cmp.config.default') -340.531 000.395 000.116: require('cmp.config') -340.728 000.079 000.079: require('cmp.matcher') -340.739 000.202 000.123: require('cmp.entry') -340.754 000.712 000.115: require('cmp.source') -340.921 000.074 000.074: require('cmp.utils.event') -341.111 000.097 000.097: require('cmp.utils.window') -341.119 000.190 000.093: require('cmp.view.docs_view') -341.321 000.085 000.085: require('cmp.utils.autocmd') -341.340 000.217 000.132: require('cmp.view.custom_entries_view') -341.461 000.115 000.115: require('cmp.view.wildmenu_entries_view') -341.567 000.100 000.100: require('cmp.view.native_entries_view') -341.665 000.092 000.092: require('cmp.view.ghost_text_view') -341.680 000.921 000.133: require('cmp.view') -341.779 003.470 000.306: require('cmp.core') -342.310 000.087 000.087: require('cmp.config.sources') -342.393 000.073 000.073: require('cmp.config.window') -342.494 004.301 000.671: require('cmp') -342.904 000.115 000.115: require('symbols-outline.config') -342.910 000.204 000.089: require('symbols-outline.symbols') -343.007 000.091 000.091: require('symbols-outline.ui') -343.097 000.082 000.082: require('symbols-outline.utils.table') -343.183 000.079 000.079: require('symbols-outline.folding') -343.189 000.574 000.118: require('symbols-outline.parser') -343.278 000.084 000.084: require('symbols-outline.providers.init') -343.377 000.093 000.093: require('symbols-outline.writer') -343.470 000.085 000.085: require('symbols-outline.utils.init') -343.559 000.083 000.083: require('symbols-outline.view') -343.573 001.071 000.153: require('symbols-outline') -343.875 000.115 000.115: require('symbols-outline.preview') -343.991 000.101 000.101: require('lspkind') -345.814 007.752 002.163: require('plugins.cmp') -346.349 000.081 000.081: require('luasnip.session') -346.486 000.129 000.129: require('luasnip.util.util') -346.586 000.092 000.092: require('luasnip.util.types') -346.774 000.090 000.090: require('luasnip.util.ext_opts') -346.784 000.191 000.101: require('luasnip.nodes.util') -346.875 000.085 000.085: require('luasnip.util.events') -346.894 000.719 000.142: require('luasnip.nodes.node') -347.139 000.090 000.090: require('luasnip.util.extend_decorator') -347.154 000.255 000.166: require('luasnip.nodes.insertNode') -347.275 000.115 000.115: require('luasnip.nodes.textNode') -347.383 000.096 000.096: require('luasnip.util.mark') -348.209 000.716 000.716: require('luasnip.util._builtin_vars') -348.513 001.124 000.408: require('luasnip.util.environ') -348.633 000.108 000.108: require('luasnip.util.pattern_tokenizer') -348.728 000.088 000.088: require('luasnip.util.dict') -348.866 000.130 000.130: require('luasnip.session.snippet_collection') -348.991 002.957 000.321: require('luasnip.nodes.snippet') -349.200 000.091 000.091: require('luasnip.loaders._caches') -349.336 000.127 000.127: require('luasnip.util.path') -349.385 000.379 000.161: require('luasnip.loaders') -349.559 000.139 000.139: require('luasnip.nodes.functionNode') -349.721 000.153 000.153: require('luasnip.nodes.choiceNode') -349.869 000.141 000.141: require('luasnip.nodes.dynamicNode') -350.065 000.188 000.188: require('luasnip.nodes.restoreNode') -350.435 000.101 000.101: require('luasnip.util.parser.neovim_ast') -358.505 000.121 000.121: require('luasnip.util.directed_graph') -358.527 008.307 008.086: require('luasnip.util.parser.ast_utils') -358.758 000.094 000.094: require('luasnip.util.functions') -358.775 000.240 000.146: require('luasnip.util.parser.ast_parser') -359.015 000.234 000.234: require('luasnip.util.parser.neovim_parser') -359.120 000.095 000.095: require('luasnip.util.str') -359.137 009.023 000.147: require('luasnip.util.parser') -359.370 000.098 000.098: require('luasnip.extras.filetype_functions') -359.518 000.110 000.110: require('luasnip.extras') -359.635 000.102 000.102: require('luasnip.extras.fmt') -359.916 000.091 000.091: require('luasnip.extras.conditions') -360.016 000.092 000.092: require('luasnip.extras.conditions.show') -360.104 000.364 000.181: require('luasnip.extras.conditions.expand') -360.109 000.466 000.102: require('luasnip.extras.expand_conditions') -360.215 000.094 000.094: require('luasnip.nodes.absolute_indexer') -360.667 001.523 000.654: require('luasnip.config') -360.678 014.768 000.263: require('luasnip') -360.907 000.109 000.109: require('luasnip.loaders.util') -360.918 000.234 000.125: require('luasnip.loaders.from_lua') -371.321 025.493 010.492: require('plugins.luasnip') -371.723 000.146 000.146: require('colorizer/nvim') -372.076 000.344 000.344: require('colorizer/trie') -372.463 001.029 000.540: require('colorizer') -374.357 003.020 001.990: require('plugins.colorizer') -374.748 000.090 000.090: require('prettier.utils') -374.781 000.231 000.141: require('prettier.options') -375.514 000.305 000.305: require('null-ls.methods') -375.540 000.448 000.143: require('null-ls.utils') -376.105 000.553 000.553: require('vim.diagnostic') -376.140 001.142 000.141: require('null-ls.config') -376.341 000.087 000.087: require('null-ls.helpers.cache') -376.462 000.113 000.113: require('null-ls.helpers.diagnostics') -376.561 000.091 000.091: require('null-ls.helpers.formatter_factory') -376.793 000.099 000.099: require('null-ls.logger') -376.898 000.098 000.098: require('null-ls.state') -376.909 000.341 000.144: require('null-ls.helpers.generator_factory') -377.113 000.098 000.098: require('null-ls.helpers.command_resolver') -377.119 000.204 000.106: require('null-ls.helpers.make_builtin') -377.231 000.106 000.106: require('null-ls.helpers.range_formatting_args_factory') -377.237 001.089 000.146: require('null-ls.helpers') -377.459 000.108 000.108: require('null-ls.diagnostics') -377.478 000.236 000.128: require('null-ls.sources') -377.578 000.092 000.092: require('null-ls.builtins') -377.585 002.688 000.129: require('null-ls') -377.681 000.087 000.087: require('prettier.cli') -377.690 002.903 000.127: require('prettier.null-ls') -377.695 003.240 000.106: require('prettier') -378.107 000.128 000.128: require('null-ls.client') -378.120 003.751 000.383: require('plugins.prettier') -378.273 000.086 000.086: require('git') -378.373 000.089 000.089: require('git.config') -378.659 000.534 000.359: require('plugins.git') -378.986 000.089 000.089: require('gitsigns.async') -379.082 000.086 000.086: require('gitsigns.status') -379.332 000.102 000.102: require('gitsigns.debug') -379.443 000.103 000.103: require('gitsigns.util') -379.649 000.105 000.105: require('gitsigns.uv') -379.656 000.206 000.101: require('gitsigns.subprocess') -380.079 000.084 000.084: require('gitsigns.message') -380.112 000.267 000.184: require('gitsigns.config') -380.202 000.082 000.082: require('gitsigns.signs.base') -380.208 000.444 000.094: require('gitsigns.signs') -380.221 000.559 000.115: require('gitsigns.hunks') -380.238 001.150 000.180: require('gitsigns.git') -380.465 000.102 000.102: require('gitsigns.cache') -380.562 000.088 000.088: require('gitsigns.debounce') -380.655 000.083 000.083: require('gitsigns.diff') -380.677 000.433 000.161: require('gitsigns.manager') -380.797 000.113 000.113: require('gitsigns.highlight') -380.817 002.073 000.201: require('gitsigns') -382.730 000.131 000.131: require('gitsigns.signs.vimfn') -386.247 007.578 005.374: require('plugins.gitsigns') -386.724 000.128 000.128: require('neoscroll.config') -386.836 000.103 000.103: require('neoscroll.utils') -386.984 000.557 000.326: require('neoscroll') -387.632 001.357 000.801: require('plugins.neoscroll') -388.146 000.162 000.162: require('cmp_nvim_lsp.source') -388.154 000.285 000.122: require('cmp_nvim_lsp') -388.261 000.094 000.094: require('lspconfig') -388.412 000.106 000.106: require('lspconfig.server_configurations.pylsp') -389.214 000.137 000.137: require('mason-lspconfig.server_configurations.pylsp') -389.711 000.130 000.130: require('lspconfig.server_configurations.clangd') -391.815 000.130 000.130: require('lspconfig.server_configurations.vimls') -393.772 000.132 000.132: require('lspconfig.server_configurations.bashls') -395.347 000.125 000.125: require('lspconfig.server_configurations.sumneko_lua') -397.172 009.530 008.392: require('plugins.lsp') -397.526 000.090 000.090: require('nvim-autopairs._log') -397.662 000.127 000.127: require('nvim-autopairs.utils') -398.029 000.156 000.156: require('nvim-autopairs.conds') -398.048 000.271 000.115: require('nvim-autopairs.rule') -398.058 000.389 000.118: require('nvim-autopairs.rules.basic') -398.074 000.795 000.189: require('nvim-autopairs') -398.239 000.127 000.127: require('nvim-autopairs.fastwrap') -398.727 000.118 000.118: require('nvim-autopairs.ts-conds') -398.735 000.230 000.112: require('nvim-autopairs.rules.ts_basic') -398.964 000.223 000.223: require('vim.treesitter.highlighter') -400.217 000.097 000.097: require('nvim-autopairs.completion.handlers') -400.234 000.231 000.134: require('nvim-autopairs.completion.cmp') -400.256 003.072 001.466: require('plugins.autopairs') -400.478 000.139 000.139: require('null-ls.builtins.formatting.stylua') -400.654 000.162 000.162: require('null-ls.builtins.diagnostics.eslint') -400.866 000.201 000.201: require('null-ls.builtins.completion.spell') -401.375 001.112 000.609: require('plugins.null-ls') -401.464 000.078 000.078: require('plugins.web-devicons') -401.938 000.088 000.088: require('zen-mode.util') -401.992 000.234 000.146: require('zen-mode.config') -402.100 000.098 000.098: require('zen-mode.plugins') -402.113 000.493 000.161: require('zen-mode.view') -402.140 000.605 000.112: require('zen-mode') -402.253 000.781 000.177: require('plugins.zen-mode') -406.189 000.101 000.101: require('doom-one.utils') -406.303 000.103 000.103: require('doom-one.colors') -406.371 000.608 000.404: require('doom-one') -409.345 004.594 003.986: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -422.250 000.367 000.367: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/syntax/synload.vim -422.671 000.058 000.058: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -423.887 000.104 000.104: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/filetype.lua -433.694 009.586 009.586: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/filetype.vim -434.744 000.179 000.179: require('filetype') -434.820 022.539 012.246: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/syntax/syntax.vim -435.298 000.131 000.131: require('notify.stages.fade_in_slide_out') -435.367 033.099 005.834: require('plugins.colorscheme') -435.778 000.108 000.108: require('heirline.conditions') -435.924 000.136 000.136: require('heirline.utils') -436.284 000.097 000.097: require('heirline.highlights') -436.298 000.220 000.122: require('heirline.statusline') -436.307 000.348 000.129: require('heirline') -436.635 000.158 000.158: require('nvim-navic') -440.493 005.117 004.366: require('plugins.heirline') -440.642 239.158 005.290: sourcing /home/sxrdusr/.config/nvim/init.lua -440.667 014.376: sourcing vimrc file(s) -448.090 002.659 002.659: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/gzip.vim -448.286 000.095 000.095: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/health.vim -451.727 002.145 002.145: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -452.146 003.756 001.611: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/matchit.vim -452.608 000.394 000.394: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/matchparen.vim -452.759 000.077 000.077: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/netrwPlugin.vim -453.179 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -453.200 000.378 000.356: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/rplugin.vim -453.456 000.195 000.195: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/shada.vim -453.584 000.051 000.051: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/spellfile.vim -453.717 000.060 000.060: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/tarPlugin.vim -453.853 000.063 000.063: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/tohtml.vim -453.966 000.045 000.045: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/tutor.vim -457.279 003.247 003.247: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/zipPlugin.vim -457.596 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -459.081 000.178 000.178: require('null-ls.builtins.diagnostics.checkmake') -459.509 000.262 000.262: require('fidget.log') -459.529 000.429 000.167: require('fidget') -459.718 000.165 000.165: require('fidget.spinners') -459.911 000.119 000.119: require('flit') -460.423 000.103 000.103: require('leap') -460.526 000.094 000.094: require('leap.user') -461.989 000.083 000.083: require('crates.time') -462.000 000.194 000.110: require('crates.types') -462.010 000.310 000.116: require('crates.semver') -463.387 001.287 001.287: require('crates.config') -463.538 000.141 000.141: require('crates.toml') -463.547 001.532 000.104: require('crates.state') -463.573 002.011 000.169: require('crates.util') -463.588 002.137 000.127: require('crates.actions') -463.829 000.140 000.140: require('crates.api') -463.926 000.090 000.090: require('crates.async') -464.038 000.105 000.105: require('crates.diagnostic') -464.148 000.101 000.101: require('crates.ui') -464.161 000.566 000.130: require('crates.core') -464.410 000.128 000.128: require('crates.popup.common') -464.527 000.109 000.109: require('crates.popup.crate') -464.651 000.117 000.117: require('crates.popup.dependencies') -464.798 000.140 000.140: require('crates.popup.features') -464.930 000.125 000.125: require('crates.popup.versions') -464.942 000.776 000.157: require('crates.popup') -464.956 003.621 000.141: require('crates') -468.390 000.444 000.444: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -470.134 012.395 007.244: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -470.929 000.108 000.108: sourcing /tmp/.mount_nvimd4lKxf/usr/share/nvim/runtime/plugin/man.lua -471.106 006.877: loading rtp plugins -473.263 000.092 000.092: require('Comment.config') -473.585 000.159 000.159: require('Comment.ft') -473.598 000.325 000.166: require('Comment.utils') -473.701 000.097 000.097: require('Comment.opfunc') -473.801 000.094 000.094: require('Comment.extra') -473.810 000.790 000.181: require('Comment.api') -473.982 001.043 000.254: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -474.311 000.157 000.157: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -475.027 000.466 000.466: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -475.858 000.184 000.184: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -476.470 000.040 000.040: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -477.956 000.912 000.912: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -478.518 000.073 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -479.184 000.361 000.361: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -479.880 000.214 000.214: require('cmp.utils.highlight') -480.743 001.186 000.972: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -480.958 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -481.288 000.082 000.082: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -481.777 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -482.439 000.222 000.222: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -483.333 000.277 000.277: require('nvim-treesitter.statusline') -483.465 000.123 000.123: require('nvim-treesitter.query_predicates') -483.473 000.530 000.130: require('nvim-treesitter') -484.490 001.631 001.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -484.996 000.286 000.286: require('treesitter-context') -485.006 000.328 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -485.610 000.307 000.307: require('nvim-treesitter-refactor') -486.129 000.856 000.549: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -486.501 000.108 000.108: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -486.936 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -487.265 000.092 000.092: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -487.746 000.026 000.026: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -488.024 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -488.383 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -488.998 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -489.547 000.340 000.340: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -490.236 000.382 000.382: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -490.518 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -490.809 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -491.792 011.615: loading packages -499.692 000.247 000.247: require('cmp_buffer.timer') -499.707 000.371 000.124: require('cmp_buffer.buffer') -499.714 000.485 000.114: require('cmp_buffer.source') -499.719 000.595 000.110: require('cmp_buffer') -499.775 000.729 000.134: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -500.211 000.194 000.194: require('cmp_cmdline') -500.249 000.318 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -500.554 000.136 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -500.943 000.149 000.149: require('cmp_path') -501.118 000.414 000.265: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -501.472 000.115 000.115: require('cmp_luasnip') -501.545 000.259 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -502.050 000.124 000.124: require('crates.src.common') -502.058 000.233 000.109: require('crates.src.cmp') -502.158 000.423 000.190: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -502.235 008.165: loading after plugins -502.266 000.031: inits 3 -502.269 000.004: reading ShaDa -503.389 000.134 000.134: require('luasnip.nodes.snippetProxy') -503.401 000.395 000.260: require('luasnip.loaders.from_snipmate') -503.585 000.139 000.139: require('luasnip.loaders.from_vscode') -503.629 000.826: opening buffers -503.907 000.277: BufEnter autocommands -503.916 000.009: editing files in windows -523.448 000.387 000.387: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.252 001.252: --- NVIM STARTING --- -028.506 027.254: event init -045.637 017.131: early init -047.453 001.816: locale set -053.132 005.679: init first window -063.524 010.392: inits 1 -063.555 000.030: window checked -063.563 000.008: parsing arguments -075.623 000.278 000.278: require('vim.shared') -076.184 000.245 000.245: require('vim._meta') -076.200 000.553 000.308: require('vim._editor') -076.208 000.960 000.129: require('vim._init_packages') -076.216 011.694: init lua interpreter -076.372 000.156: expanding arguments -078.183 001.811: inits 2 -079.554 001.371: init highlight -079.563 000.010: waiting for UI -082.359 002.795: done waiting for UI -082.394 000.035: init screen for UI -082.667 000.273: init default mappings -082.694 000.027: init default autocommands -092.469 004.260 004.260: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/ftplugin.vim -094.902 001.025 001.025: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/indent.vim -095.177 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim -095.189 000.087 000.060: sourcing /etc/xdg/nvim/sysinit.vim -146.039 050.620 050.620: require('impatient') -146.227 000.166 000.166: require('impatient.profile') -146.375 000.122 000.122: require('user.utils') -151.939 000.327 000.327: require('packer.util') -152.009 000.727 000.400: require('packer') -152.984 000.294 000.294: require('packer.log') -153.006 000.591 000.297: require('packer.async') -153.364 000.207 000.207: require('packer.result') -153.381 000.367 000.160: require('packer.jobs') -153.397 001.318 000.360: require('packer.plugin_utils') -153.658 000.232 000.232: require('packer.snapshot') -156.096 000.466 000.466: require('mason-core.path') -156.121 000.952 000.486: require('mason.settings') -157.090 000.294 000.294: require('mason-core.functional') -157.590 000.249 000.249: require('mason-core.functional.data') -157.604 000.483 000.234: require('mason-core.functional.function') -157.850 000.202 000.202: require('mason-core.functional.relation') -158.054 000.178 000.178: require('mason-core.functional.logic') -158.108 001.978 000.821: require('mason-core.platform') -158.115 003.516 000.586: require('mason') -158.625 000.153 000.153: require('mason-core.functional.list') -158.683 000.522 000.369: require('mason.api.command') -159.086 000.255 000.255: require('mason-core.log') -159.100 000.409 000.153: require('mason-lspconfig') -159.262 000.154 000.154: require('mason-lspconfig.settings') -159.672 000.100 000.100: require('mason-core.notify') -159.687 000.249 000.149: require('mason-lspconfig.lspconfig_hook') -161.165 000.375 000.375: require('vim.lsp.log') -162.757 000.013 000.013: require('vim.F') -162.768 001.590 001.578: require('vim.lsp.protocol') -163.688 000.340 000.340: require('vim.lsp._snippet') -163.898 000.195 000.195: require('vim.highlight') -163.951 001.120 000.585: require('vim.lsp.util') -163.986 003.554 000.468: require('vim.lsp.handlers') -164.535 000.540 000.540: require('vim.lsp.rpc') -164.924 000.372 000.372: require('vim.lsp.sync') -165.397 000.457 000.457: require('vim.lsp.buf') -165.791 000.378 000.378: require('vim.lsp.diagnostic') -166.217 000.400 000.400: require('vim.lsp.codelens') -166.441 006.577 000.876: require('vim.lsp') -166.701 007.007 000.430: require('lspconfig.util') -167.095 000.124 000.124: require('mason-core.functional.table') -167.214 000.440 000.316: require('mason-lspconfig.mappings.server') -167.653 000.144 000.144: require('mason-core.async') -167.804 000.138 000.138: require('mason-core.async.uv') -167.818 000.430 000.148: require('mason-core.fs') -167.943 000.118 000.118: require('mason-core.optional') -168.065 000.112 000.112: require('mason-core.EventEmitter') -168.305 000.233 000.233: require('mason-registry.index') -168.330 001.105 000.211: require('mason-registry') -168.457 000.115 000.115: require('mason-lspconfig.server_config_extensions') -168.601 000.137 000.137: require('lspconfig.configs') -168.845 000.185 000.185: require('lspconfig.server_configurations.omnisharp') -169.286 000.155 000.155: require('mason-lspconfig.ensure_installed') -169.706 000.117 000.117: require('mason-core.result') -170.312 000.303 000.303: require('mason-core.process') -170.624 000.766 000.463: require('mason-core.spawn') -170.786 000.147 000.147: require('mason-core.receipt') -170.923 000.118 000.118: require('mason-core.functional.string') -170.959 001.244 000.213: require('mason-core.installer.context') -171.090 000.122 000.122: require('mason-core.installer.linker') -171.221 000.124 000.124: require('mason-core.async.control') -171.235 001.785 000.178: require('mason-core.installer') -171.393 000.152 000.152: require('mason-core.installer.handle') -172.052 000.133 000.133: require('mason-core.managers.powershell') -172.061 000.260 000.127: require('mason-core.fetch') -172.065 000.381 000.121: require('mason-core.managers.cargo.client') -172.354 000.149 000.149: require('mason-core.managers.std') -172.640 000.134 000.134: require('mason-registry.api') -172.667 000.305 000.170: require('mason-core.managers.github.client') -172.685 000.614 000.160: require('mason-core.managers.github') -172.846 001.311 000.316: require('mason-core.managers.cargo') -173.126 000.269 000.269: require('mason-core.managers.composer') -173.315 000.179 000.179: require('mason-core.managers.gem') -173.450 000.127 000.127: require('mason-core.managers.git') -173.622 000.160 000.160: require('mason-core.managers.go') -173.829 000.199 000.199: require('mason-core.managers.luarocks') -173.991 000.154 000.154: require('mason-core.managers.npm') -174.218 000.219 000.219: require('mason-core.managers.pip3') -174.233 002.820 000.202: require('mason-core.package.version-check') -174.254 004.957 000.201: require('mason-core.package') -174.502 000.207 000.207: require('mason-registry.python-lsp-server') -174.904 000.136 000.136: require('mason-registry.pyright') -175.181 000.220 000.220: require('mason-registry.clangd') -175.494 000.177 000.177: require('mason-registry.lua-language-server') -175.884 000.186 000.186: require('mason-core.functional.number') -175.961 000.453 000.266: require('mason-lspconfig.api.command') -176.054 025.286 002.868: require('user.pack') -179.762 003.699 003.699: require('user.opts') -179.968 000.018 000.018: require('vim.keymap') -182.217 002.429 002.412: require('user.keys') -182.350 000.120 000.120: require('user.utils') -183.650 000.302 000.302: require('vim.treesitter.language') -183.674 000.872 000.570: require('vim.treesitter.query') -185.104 000.305 000.305: require('vim.treesitter.languagetree') -185.200 000.696 000.391: require('vim.treesitter') -185.566 001.433 000.737: require('nvim-treesitter.parsers') -185.737 000.161 000.161: require('nvim-treesitter.utils') -185.755 001.844 000.250: require('nvim-treesitter.ts_utils') -185.771 002.090 000.246: require('nvim-treesitter.tsrange') -185.931 000.151 000.151: require('nvim-treesitter.caching') -185.955 003.297 000.184: require('nvim-treesitter.query') -185.993 003.532 000.235: require('nvim-treesitter.configs') -186.553 000.133 000.133: require('nvim-treesitter.info') -186.724 000.159 000.159: require('nvim-treesitter.shell_command_selectors') -186.779 000.572 000.280: require('nvim-treesitter.install') -188.676 006.315 002.211: require('plugins.treesitter') -189.041 000.115 000.115: require('telescope._extensions') -189.052 000.236 000.122: require('telescope') -190.000 000.116 000.116: require('plenary.bit') -190.166 000.157 000.157: require('plenary.functional') -190.235 000.044 000.044: require('ffi') -190.262 000.565 000.247: require('plenary.path') -190.282 000.699 000.134: require('plenary.strings') -190.401 000.113 000.113: require('telescope.deprecated') -190.998 000.346 000.346: require('plenary.log') -191.045 000.487 000.141: require('telescope.log') -191.403 000.177 000.177: require('plenary.job') -191.527 000.113 000.113: require('telescope.state') -191.546 000.492 000.202: require('telescope.utils') -191.608 001.198 000.219: require('telescope.sorters') -191.823 000.188 000.188: require('vim.inspect') -196.700 007.320 005.122: require('telescope.config') -197.029 000.144 000.144: require('plenary.window.border') -197.144 000.106 000.106: require('plenary.window') -197.256 000.103 000.103: require('plenary.popup.utils') -197.265 000.547 000.194: require('plenary.popup') -197.390 000.118 000.118: require('telescope.pickers.scroller') -197.516 000.118 000.118: require('telescope.actions.state') -197.668 000.128 000.128: require('telescope.actions.utils') -197.964 000.146 000.146: require('telescope.actions.mt') -198.008 000.333 000.187: require('telescope.actions.set') -198.618 000.306 000.306: require('telescope.config.resolve') -198.638 000.622 000.316: require('telescope.pickers.entry_display') -198.847 000.197 000.197: require('telescope.from_entry') -199.606 010.548 001.164: require('telescope.actions') -204.052 000.130 000.130: require('plenary.tbl') -204.079 000.288 000.158: require('plenary.vararg.rotate') -204.087 000.473 000.184: require('plenary.vararg') -204.293 000.194 000.194: require('plenary.errors') -204.320 000.840 000.174: require('plenary.async.async') -204.591 000.260 000.260: require('plenary.async.structs') -204.631 001.563 000.464: require('plenary.async.control') -205.901 000.963 000.963: require('telescope.make_entry') -206.567 000.133 000.133: require('plenary.async.util') -206.576 000.249 000.116: require('plenary.async.tests') -206.582 000.387 000.137: require('plenary.async') -206.590 000.648 000.261: require('telescope.finders.async_static_finder') -206.977 000.106 000.106: require('plenary.class') -207.016 000.296 000.190: require('telescope._') -207.024 000.428 000.132: require('telescope.finders.async_oneshot_finder') -207.163 000.133 000.133: require('telescope.finders.async_job_finder') -207.181 002.530 000.358: require('telescope.finders') -207.805 000.231 000.231: require('telescope.debounce') -208.120 000.298 000.298: require('telescope.mappings') -208.296 000.163 000.163: require('telescope.pickers.highlights') -208.446 000.140 000.140: require('telescope.pickers.window') -208.752 000.135 000.135: require('telescope.algos.linked_list') -208.763 000.309 000.174: require('telescope.entry_manager') -208.889 000.121 000.121: require('telescope.pickers.multi') -208.946 001.757 000.495: require('telescope.pickers') -209.007 009.178 003.327: require('telescope.builtin.__lsp') -209.076 009.454 000.276: require('telescope.builtin') -209.658 000.360 000.360: require('fzf_lib') -209.679 000.593 000.233: require('telescope._extensions.fzf') -210.368 000.217 000.217: require('telescope._extensions.file_browser.utils') -210.549 000.662 000.445: require('telescope._extensions.file_browser.actions') -210.998 000.254 000.254: require('telescope._extensions.file_browser.make_entry') -211.278 000.260 000.260: require('plenary.scandir') -211.344 000.783 000.269: require('telescope._extensions.file_browser.finders') -211.515 000.163 000.163: require('telescope._extensions.file_browser.picker') -211.736 000.209 000.209: require('telescope._extensions.file_browser.config') -211.745 002.010 000.194: require('telescope._extensions.file_browser') -216.346 027.657 004.817: require('plugins.telescope') -218.128 000.145 000.145: require('notify.util.queue') -218.139 000.286 000.141: require('notify.util') -218.518 000.360 000.360: require('notify.config.highlights') -218.534 000.825 000.179: require('notify.config') -218.757 000.192 000.192: require('notify.stages') -218.915 000.149 000.149: require('notify.service.notification') -219.703 000.200 000.200: require('notify.animate.spring') -219.712 000.649 000.448: require('notify.animate') -219.736 000.813 000.165: require('notify.windows') -220.589 000.329 000.329: require('notify.service.buffer.highlights') -220.611 000.625 000.296: require('notify.service.buffer') -220.628 000.886 000.261: require('notify.service') -221.290 000.657 000.657: require('notify.stages.util') -221.371 003.834 000.312: require('notify') -221.655 000.277 000.277: require('nvim-tree.iterators.node-iterator') -221.808 004.446 000.336: require('nvim-tree.utils') -221.847 004.618 000.171: require('nvim-tree.events') -222.596 000.240 000.240: require('nvim-tree.log') -222.902 000.296 000.296: require('nvim-tree.git.utils') -223.176 000.266 000.266: require('nvim-tree.git.runner') -223.445 000.263 000.263: require('nvim-tree.watcher') -223.482 001.402 000.337: require('nvim-tree.git') -223.723 000.236 000.236: require('nvim-tree.explorer.watch') -223.904 000.174 000.174: require('nvim-tree.explorer.common') -224.400 000.209 000.209: require('nvim-tree.explorer.node-builders') -224.621 000.213 000.213: require('nvim-tree.explorer.sorters') -224.869 000.240 000.240: require('nvim-tree.explorer.filters') -225.802 000.650 000.650: require('nvim-tree.view') -225.922 001.030 000.380: require('nvim-tree.live-filter') -225.946 002.034 000.342: require('nvim-tree.explorer.explore') -226.204 000.251 000.251: require('nvim-tree.explorer.reload') -226.221 004.367 000.271: require('nvim-tree.explorer') -226.241 009.119 000.134: require('nvim-tree.core') -226.527 000.280 000.280: require('nvim-tree.diagnostics') -226.780 000.231 000.231: require('nvim-tree.renderer.components.padding') -227.057 000.269 000.269: require('nvim-tree.renderer.components.icons') -227.301 000.235 000.235: require('nvim-tree.renderer.components.full-name') -227.403 000.095 000.095: require('nvim-tree.renderer.help') -227.528 000.117 000.117: require('nvim-tree.renderer.components.git') -227.660 000.126 000.126: require('nvim-tree.renderer.builder') -227.764 000.097 000.097: require('nvim-tree.marks') -227.777 010.797 000.228: require('nvim-tree.renderer') -227.892 000.102 000.102: require('nvim-tree.actions.tree-modifiers.collapse-all') -227.985 000.086 000.086: require('nvim-tree.actions.root.dir-up') -228.093 000.102 000.102: require('nvim-tree.actions.root.change-dir') -228.198 000.097 000.097: require('nvim-tree.actions.reloaders.reloaders') -228.302 000.096 000.096: require('nvim-tree.actions.finders.find-file') -228.308 011.525 000.247: require('nvim-tree.lib') -228.421 000.107 000.107: require('nvim-tree.colors') -228.555 000.123 000.123: require('nvim-tree.legacy') -228.682 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') -228.898 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') -229.000 000.095 000.095: require('nvim-tree.actions.tree-modifiers.toggles') -229.117 000.101 000.101: require('nvim-tree.actions.fs.create-file') -229.249 000.124 000.124: require('nvim-tree.actions.fs.rename-file') -229.387 000.128 000.128: require('nvim-tree.actions.fs.trash') -229.496 000.102 000.102: require('nvim-tree.actions.fs.remove-file') -229.599 000.092 000.092: require('nvim-tree.actions.moves.parent') -229.694 000.088 000.088: require('nvim-tree.actions.moves.sibling') -229.790 000.088 000.088: require('nvim-tree.actions.moves.item') -229.904 000.096 000.096: require('nvim-tree.actions.finders.search-node') -229.998 000.087 000.087: require('nvim-tree.actions.node.run-command') -230.120 000.115 000.115: require('nvim-tree.actions.node.file-popup') -230.237 000.110 000.110: require('nvim-tree.actions.node.system-open') -230.343 000.095 000.095: require('nvim-tree.marks.bulk-move') -230.349 001.656 000.236: require('nvim-tree.actions.dispatch') -230.381 013.859 000.329: require('nvim-tree') -230.468 000.080 000.080: require('nvim-tree.config') -236.623 000.195 000.195: require('nvim-tree.actions') -236.771 000.126 000.126: require('nvim-tree.actions.node.open-file') -239.211 000.138 000.138: require('nvim-tree.marks.navigation') -239.223 000.333 000.195: require('nvim-tree.api') -239.245 000.484 000.151: require('nvim-tree.keymap') -240.116 000.406 000.406: require('nvim-web-devicons') -244.542 028.177 013.028: require('plugins.nvim-tree') -245.015 000.080 000.080: require('cmp.utils.debug') -245.281 000.172 000.172: require('cmp.utils.char') -245.297 000.273 000.100: require('cmp.utils.str') -245.438 000.089 000.089: require('cmp.utils.pattern') -245.719 000.091 000.091: require('cmp.utils.misc') -245.850 000.103 000.103: require('cmp.utils.buffer') -245.954 000.096 000.096: require('cmp.utils.api') -245.965 000.435 000.145: require('cmp.utils.keymap') -245.973 000.528 000.093: require('cmp.utils.feedkeys') -246.075 000.097 000.097: require('cmp.utils.async') -246.353 000.082 000.082: require('cmp.types.cmp') -246.606 000.246 000.246: require('cmp.types.lsp') -246.741 000.124 000.124: require('cmp.types.vim') -246.747 000.580 000.128: require('cmp.types') -246.831 000.079 000.079: require('cmp.utils.cache') -246.839 000.756 000.097: require('cmp.context') -247.121 000.093 000.093: require('cmp.config.mapping') -247.320 000.096 000.096: require('cmp.config.compare') -247.327 000.194 000.098: require('cmp.config.default') -247.350 000.409 000.122: require('cmp.config') -247.550 000.082 000.082: require('cmp.matcher') -247.560 000.206 000.124: require('cmp.entry') -247.576 000.732 000.117: require('cmp.source') -247.745 000.075 000.075: require('cmp.utils.event') -247.940 000.101 000.101: require('cmp.utils.window') -247.948 000.195 000.095: require('cmp.view.docs_view') -248.154 000.087 000.087: require('cmp.utils.autocmd') -248.173 000.221 000.134: require('cmp.view.custom_entries_view') -248.296 000.117 000.117: require('cmp.view.wildmenu_entries_view') -248.404 000.102 000.102: require('cmp.view.native_entries_view') -248.503 000.093 000.093: require('cmp.view.ghost_text_view') -248.517 000.937 000.134: require('cmp.view') -248.582 003.770 000.278: require('cmp.core') -248.845 000.084 000.084: require('cmp.config.sources') -248.929 000.075 000.075: require('cmp.config.window') -249.029 004.339 000.410: require('cmp') -249.476 000.117 000.117: require('symbols-outline.config') -249.483 000.207 000.090: require('symbols-outline.symbols') -249.579 000.091 000.091: require('symbols-outline.ui') -249.669 000.083 000.083: require('symbols-outline.utils.table') -249.756 000.080 000.080: require('symbols-outline.folding') -249.762 000.586 000.124: require('symbols-outline.parser') -249.852 000.085 000.085: require('symbols-outline.providers.init') -249.952 000.093 000.093: require('symbols-outline.writer') -250.046 000.086 000.086: require('symbols-outline.utils.init') -250.136 000.085 000.085: require('symbols-outline.view') -250.150 001.113 000.179: require('symbols-outline') -250.393 000.113 000.113: require('symbols-outline.preview') -250.513 000.106 000.106: require('lspkind') -252.569 008.014 002.343: require('plugins.cmp') -253.158 000.084 000.084: require('luasnip.session') -253.311 000.144 000.144: require('luasnip.util.util') -253.406 000.088 000.088: require('luasnip.util.types') -253.602 000.095 000.095: require('luasnip.util.ext_opts') -253.611 000.197 000.102: require('luasnip.nodes.util') -253.706 000.089 000.089: require('luasnip.util.events') -253.726 000.751 000.148: require('luasnip.nodes.node') -253.972 000.094 000.094: require('luasnip.util.extend_decorator') -253.987 000.255 000.161: require('luasnip.nodes.insertNode') -254.110 000.117 000.117: require('luasnip.nodes.textNode') -254.237 000.115 000.115: require('luasnip.util.mark') -255.139 000.800 000.800: require('luasnip.util._builtin_vars') -255.552 001.308 000.508: require('luasnip.util.environ') -255.698 000.133 000.133: require('luasnip.util.pattern_tokenizer') -255.793 000.088 000.088: require('luasnip.util.dict') -255.965 000.164 000.164: require('luasnip.session.snippet_collection') -256.142 003.314 000.383: require('luasnip.nodes.snippet') -256.363 000.091 000.091: require('luasnip.loaders._caches') -256.512 000.141 000.141: require('luasnip.util.path') -256.571 000.413 000.181: require('luasnip.loaders') -256.785 000.178 000.178: require('luasnip.nodes.functionNode') -256.960 000.166 000.166: require('luasnip.nodes.choiceNode') -257.123 000.155 000.155: require('luasnip.nodes.dynamicNode') -257.273 000.143 000.143: require('luasnip.nodes.restoreNode') -257.667 000.104 000.104: require('luasnip.util.parser.neovim_ast') -263.619 000.140 000.140: require('luasnip.util.directed_graph') -263.650 006.206 005.962: require('luasnip.util.parser.ast_utils') -263.964 000.162 000.162: require('luasnip.util.functions') -263.984 000.322 000.160: require('luasnip.util.parser.ast_parser') -264.259 000.266 000.266: require('luasnip.util.parser.neovim_parser') -264.421 000.148 000.148: require('luasnip.util.str') -264.442 007.113 000.170: require('luasnip.util.parser') -264.802 000.155 000.155: require('luasnip.extras.filetype_functions') -265.028 000.166 000.166: require('luasnip.extras') -265.184 000.138 000.138: require('luasnip.extras.fmt') -265.466 000.094 000.094: require('luasnip.extras.conditions') -265.566 000.094 000.094: require('luasnip.extras.conditions.show') -265.666 000.381 000.193: require('luasnip.extras.conditions.expand') -265.672 000.479 000.098: require('luasnip.extras.expand_conditions') -265.782 000.098 000.098: require('luasnip.nodes.absolute_indexer') -266.275 001.821 000.786: require('luasnip.config') -266.287 013.592 000.289: require('luasnip') -266.520 000.112 000.112: require('luasnip.loaders.util') -266.530 000.236 000.124: require('luasnip.loaders.from_lua') -276.628 024.041 010.213: require('plugins.luasnip') -277.041 000.148 000.148: require('colorizer/nvim') -277.242 000.191 000.191: require('colorizer/trie') -277.608 000.861 000.521: require('colorizer') -279.397 002.750 001.889: require('plugins.colorizer') -279.798 000.096 000.096: require('prettier.utils') -279.825 000.234 000.138: require('prettier.options') -280.447 000.185 000.185: require('null-ls.methods') -280.476 000.344 000.158: require('null-ls.utils') -280.941 000.455 000.455: require('vim.diagnostic') -280.971 000.933 000.134: require('null-ls.config') -281.211 000.129 000.129: require('null-ls.helpers.cache') -281.353 000.133 000.133: require('null-ls.helpers.diagnostics') -281.462 000.101 000.101: require('null-ls.helpers.formatter_factory') -281.693 000.098 000.098: require('null-ls.logger') -281.801 000.101 000.101: require('null-ls.state') -281.808 000.339 000.141: require('null-ls.helpers.generator_factory') -282.014 000.100 000.100: require('null-ls.helpers.command_resolver') -282.021 000.207 000.108: require('null-ls.helpers.make_builtin') -282.123 000.096 000.096: require('null-ls.helpers.range_formatting_args_factory') -282.128 001.149 000.144: require('null-ls.helpers') -282.356 000.110 000.110: require('null-ls.diagnostics') -282.380 000.247 000.138: require('null-ls.sources') -282.512 000.124 000.124: require('null-ls.builtins') -282.520 002.577 000.123: require('null-ls') -282.621 000.096 000.096: require('prettier.cli') -282.630 002.800 000.127: require('prettier.null-ls') -282.636 003.134 000.101: require('prettier') -283.007 000.131 000.131: require('null-ls.client') -283.020 003.610 000.344: require('plugins.prettier') -283.182 000.089 000.089: require('git') -283.309 000.120 000.120: require('git.config') -283.484 000.455 000.246: require('plugins.git') -283.799 000.099 000.099: require('gitsigns.async') -283.902 000.094 000.094: require('gitsigns.status') -284.158 000.099 000.099: require('gitsigns.debug') -284.269 000.105 000.105: require('gitsigns.util') -284.497 000.123 000.123: require('gitsigns.uv') -284.505 000.229 000.106: require('gitsigns.subprocess') -284.941 000.085 000.085: require('gitsigns.message') -284.970 000.272 000.187: require('gitsigns.config') -285.063 000.086 000.086: require('gitsigns.signs.base') -285.069 000.456 000.099: require('gitsigns.signs') -285.078 000.569 000.113: require('gitsigns.hunks') -285.095 001.187 000.186: require('gitsigns.git') -285.316 000.092 000.092: require('gitsigns.cache') -285.411 000.087 000.087: require('gitsigns.debounce') -285.503 000.082 000.082: require('gitsigns.diff') -285.525 000.425 000.163: require('gitsigns.manager') -285.658 000.126 000.126: require('gitsigns.highlight') -285.681 002.118 000.187: require('gitsigns') -287.320 000.123 000.123: require('gitsigns.signs.vimfn') -289.815 006.324 004.082: require('plugins.gitsigns') -290.263 000.122 000.122: require('neoscroll.config') -290.375 000.103 000.103: require('neoscroll.utils') -290.542 000.565 000.339: require('neoscroll') -291.102 001.263 000.699: require('plugins.neoscroll') -291.674 000.108 000.108: require('cmp_nvim_lsp.source') -291.684 000.228 000.120: require('cmp_nvim_lsp') -291.785 000.091 000.091: require('lspconfig') -291.941 000.110 000.110: require('lspconfig.server_configurations.pylsp') -292.601 000.157 000.157: require('mason-lspconfig.server_configurations.pylsp') -293.072 000.128 000.128: require('lspconfig.server_configurations.clangd') -295.132 000.137 000.137: require('lspconfig.server_configurations.vimls') -296.743 000.130 000.130: require('lspconfig.server_configurations.bashls') -298.844 000.187 000.187: require('lspconfig.server_configurations.sumneko_lua') -300.570 009.456 008.289: require('plugins.lsp') -300.948 000.094 000.094: require('nvim-autopairs._log') -301.076 000.119 000.119: require('nvim-autopairs.utils') -301.419 000.123 000.123: require('nvim-autopairs.conds') -301.435 000.242 000.119: require('nvim-autopairs.rule') -301.440 000.357 000.115: require('nvim-autopairs.rules.basic') -301.455 000.769 000.199: require('nvim-autopairs') -301.677 000.124 000.124: require('nvim-autopairs.fastwrap') -302.226 000.114 000.114: require('nvim-autopairs.ts-conds') -302.234 000.229 000.115: require('nvim-autopairs.rules.ts_basic') -302.492 000.252 000.252: require('vim.treesitter.highlighter') -303.613 000.099 000.099: require('nvim-autopairs.completion.handlers') -303.631 000.229 000.129: require('nvim-autopairs.completion.cmp') -303.704 003.116 001.514: require('plugins.autopairs') -304.017 000.220 000.220: require('null-ls.builtins.formatting.stylua') -304.192 000.159 000.159: require('null-ls.builtins.diagnostics.eslint') -304.322 000.118 000.118: require('null-ls.builtins.completion.spell') -304.809 001.095 000.598: require('plugins.null-ls') -304.895 000.075 000.075: require('plugins.web-devicons') -305.378 000.089 000.089: require('zen-mode.util') -305.570 000.377 000.288: require('zen-mode.config') -305.693 000.111 000.111: require('zen-mode.plugins') -305.704 000.651 000.163: require('zen-mode.view') -305.710 000.742 000.092: require('zen-mode') -305.981 001.080 000.337: require('plugins.zen-mode') -310.192 000.100 000.100: require('doom-one.utils') -310.308 000.104 000.104: require('doom-one.colors') -310.326 000.554 000.350: require('doom-one') -313.289 004.518 003.964: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -319.592 000.338 000.338: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/syntax/synload.vim -320.013 000.059 000.059: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -321.170 000.100 000.100: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/filetype.lua -322.739 001.395 001.395: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/filetype.vim -323.624 000.175 000.175: require('filetype') -323.693 006.434 004.367: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/syntax/syntax.vim -324.228 000.190 000.190: require('notify.stages.fade_in_slide_out') -324.302 018.309 007.166: require('plugins.colorscheme') -324.712 000.112 000.112: require('heirline.conditions') -324.865 000.145 000.145: require('heirline.utils') -325.237 000.110 000.110: require('heirline.highlights') -325.251 000.238 000.128: require('heirline.statusline') -325.259 000.359 000.122: require('heirline') -325.428 000.151 000.151: require('nvim-navic') -330.002 005.690 004.923: require('plugins.heirline') -330.055 234.819 004.949: sourcing /home/sxrdusr/.config/nvim/init.lua -330.077 007.191: sourcing vimrc file(s) -336.547 001.394 001.394: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/gzip.vim -336.687 000.061 000.061: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/health.vim -339.821 001.746 001.746: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -340.242 003.447 001.701: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/matchit.vim -340.717 000.405 000.405: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/matchparen.vim -340.878 000.087 000.087: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/netrwPlugin.vim -341.312 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -341.333 000.386 000.364: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/rplugin.vim -341.611 000.210 000.210: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/shada.vim -341.759 000.058 000.058: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/spellfile.vim -341.905 000.068 000.068: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/tarPlugin.vim -342.052 000.069 000.069: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/tohtml.vim -342.177 000.052 000.052: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/tutor.vim -343.163 000.910 000.910: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/zipPlugin.vim -343.453 000.038 000.038: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -345.012 000.181 000.181: require('null-ls.builtins.diagnostics.checkmake') -345.445 000.260 000.260: require('fidget.log') -345.466 000.439 000.179: require('fidget') -345.669 000.182 000.182: require('fidget.spinners') -345.883 000.144 000.144: require('flit') -346.600 000.104 000.104: require('leap') -346.710 000.100 000.100: require('leap.user') -347.894 000.084 000.084: require('crates.time') -347.905 000.197 000.113: require('crates.types') -347.917 000.318 000.121: require('crates.semver') -348.396 000.389 000.389: require('crates.config') -348.547 000.143 000.143: require('crates.toml') -348.558 000.635 000.103: require('crates.state') -348.584 001.124 000.171: require('crates.util') -348.598 001.262 000.138: require('crates.actions') -348.850 000.146 000.146: require('crates.api') -348.951 000.093 000.093: require('crates.async') -349.068 000.110 000.110: require('crates.diagnostic') -349.206 000.129 000.129: require('crates.ui') -349.215 000.610 000.132: require('crates.core') -349.493 000.124 000.124: require('crates.popup.common') -349.618 000.118 000.118: require('crates.popup.crate') -349.744 000.119 000.119: require('crates.popup.dependencies') -349.874 000.123 000.123: require('crates.popup.features') -350.034 000.154 000.154: require('crates.popup.versions') -350.050 000.829 000.192: require('crates.popup') -350.061 002.844 000.142: require('crates') -353.619 000.487 000.487: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -355.322 011.723 007.242: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -356.160 000.117 000.117: sourcing /tmp/.mount_nvimJX3itN/usr/share/nvim/runtime/plugin/man.lua -356.374 007.273: loading rtp plugins -358.523 000.097 000.097: require('Comment.config') -358.854 000.155 000.155: require('Comment.ft') -358.864 000.331 000.176: require('Comment.utils') -358.969 000.099 000.099: require('Comment.opfunc') -359.069 000.093 000.093: require('Comment.extra') -359.078 000.786 000.166: require('Comment.api') -359.276 001.082 000.295: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -359.619 000.160 000.160: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -360.346 000.465 000.465: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -361.167 000.179 000.179: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -361.787 000.039 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -363.802 001.427 001.427: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -364.372 000.073 000.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -365.036 000.364 000.364: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -365.696 000.168 000.168: require('cmp.utils.highlight') -366.663 001.241 001.073: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -366.885 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -367.216 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -367.709 000.172 000.172: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -368.347 000.221 000.221: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -369.235 000.221 000.221: require('nvim-treesitter.statusline') -369.370 000.126 000.126: require('nvim-treesitter.query_predicates') -369.377 000.515 000.169: require('nvim-treesitter') -370.560 001.785 001.269: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -371.139 000.352 000.352: require('treesitter-context') -371.150 000.395 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -371.675 000.224 000.224: require('nvim-treesitter-refactor') -372.160 000.741 000.517: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -372.568 000.136 000.136: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -373.014 000.080 000.080: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -373.351 000.093 000.093: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -373.840 000.027 000.027: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -374.126 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -374.491 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -375.105 000.126 000.126: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -375.661 000.344 000.344: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -376.391 000.379 000.379: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -376.681 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -376.976 000.047 000.047: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -378.135 011.943: loading packages -386.128 000.183 000.183: require('cmp_buffer.timer') -386.140 000.355 000.171: require('cmp_buffer.buffer') -386.146 000.475 000.120: require('cmp_buffer.source') -386.151 000.597 000.122: require('cmp_buffer') -386.207 000.737 000.140: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -386.646 000.180 000.180: require('cmp_cmdline') -386.683 000.314 000.134: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -386.981 000.134 000.134: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -387.382 000.164 000.164: require('cmp_path') -387.415 000.281 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -387.764 000.118 000.118: require('cmp_luasnip') -387.832 000.254 000.137: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -388.317 000.118 000.118: require('crates.src.common') -388.329 000.229 000.111: require('crates.src.cmp') -388.357 000.329 000.100: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -388.431 008.246: loading after plugins -388.462 000.032: inits 3 -388.477 000.015: reading ShaDa -389.662 000.131 000.131: require('luasnip.nodes.snippetProxy') -389.678 000.357 000.227: require('luasnip.loaders.from_snipmate') -389.867 000.141 000.141: require('luasnip.loaders.from_vscode') -389.985 001.009: opening buffers -390.134 000.150: BufEnter autocommands -390.143 000.009: editing files in windows -408.982 000.262 000.262: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.177 001.177: --- NVIM STARTING --- -030.296 029.118: event init -047.618 017.322: early init -049.401 001.783: locale set -055.049 005.647: init first window -065.410 010.361: inits 1 -065.435 000.025: window checked -065.443 000.008: parsing arguments -077.432 000.276 000.276: require('vim.shared') -077.936 000.239 000.239: require('vim._meta') -077.949 000.494 000.255: require('vim._editor') -077.957 000.895 000.126: require('vim._init_packages') -077.964 011.626: init lua interpreter -078.138 000.174: expanding arguments -080.103 001.965: inits 2 -081.461 001.358: init highlight -081.470 000.009: waiting for UI -085.368 003.898: done waiting for UI -085.402 000.035: init screen for UI -085.645 000.242: init default mappings -085.673 000.028: init default autocommands -098.985 004.477 004.477: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/ftplugin.vim -102.428 001.121 001.121: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/indent.vim -102.963 000.062 000.062: sourcing /usr/share/nvim/archlinux.vim -102.992 000.194 000.132: sourcing /etc/xdg/nvim/sysinit.vim -131.508 028.029 028.029: require('impatient') -131.647 000.124 000.124: require('impatient.profile') -131.753 000.087 000.087: require('user.utils') -135.969 000.249 000.249: require('packer.util') -136.019 000.593 000.345: require('packer') -137.052 000.618 000.618: require('packer.log') -137.067 000.782 000.164: require('packer.async') -137.526 000.335 000.335: require('packer.result') -137.539 000.466 000.131: require('packer.jobs') -137.552 001.479 000.231: require('packer.plugin_utils') -137.749 000.174 000.174: require('packer.snapshot') -138.889 000.093 000.093: require('mason-core.path') -138.917 000.215 000.123: require('mason.settings') -139.202 000.156 000.156: require('mason-core.functional') -139.421 000.093 000.093: require('mason-core.functional.data') -139.434 000.208 000.116: require('mason-core.functional.function') -139.614 000.151 000.151: require('mason-core.functional.relation') -139.774 000.136 000.136: require('mason-core.functional.logic') -139.830 000.905 000.254: require('mason-core.platform') -139.836 001.438 000.318: require('mason') -140.302 000.152 000.152: require('mason-core.functional.list') -140.351 000.483 000.331: require('mason.api.command') -140.607 000.140 000.140: require('mason-core.log') -140.616 000.258 000.118: require('mason-lspconfig') -140.713 000.092 000.092: require('mason-lspconfig.settings') -140.974 000.080 000.080: require('mason-core.notify') -140.991 000.205 000.125: require('mason-lspconfig.lspconfig_hook') -148.799 000.640 000.640: require('vim.lsp.log') -151.050 000.016 000.016: require('vim.F') -151.061 002.248 002.232: require('vim.lsp.protocol') -157.315 002.187 002.187: require('vim.lsp._snippet') -157.944 000.612 000.612: require('vim.highlight') -157.978 006.908 004.109: require('vim.lsp.util') -158.026 012.293 002.498: require('vim.lsp.handlers') -159.228 001.192 001.192: require('vim.lsp.rpc') -159.914 000.674 000.674: require('vim.lsp.sync') -161.352 001.426 001.426: require('vim.lsp.buf') -161.915 000.553 000.553: require('vim.lsp.diagnostic') -162.551 000.625 000.625: require('vim.lsp.codelens') -162.744 021.619 004.854: require('vim.lsp') -162.849 021.853 000.234: require('lspconfig.util') -163.157 000.103 000.103: require('mason-core.functional.table') -163.261 000.383 000.280: require('mason-lspconfig.mappings.server') -163.645 000.120 000.120: require('mason-core.async') -163.743 000.087 000.087: require('mason-core.async.uv') -163.758 000.352 000.144: require('mason-core.fs') -163.897 000.132 000.132: require('mason-core.optional') -164.044 000.137 000.137: require('mason-core.EventEmitter') -164.264 000.213 000.213: require('mason-registry.index') -164.290 001.019 000.186: require('mason-registry') -164.396 000.098 000.098: require('mason-lspconfig.server_config_extensions') -164.526 000.123 000.123: require('lspconfig.configs') -164.692 000.115 000.115: require('lspconfig.server_configurations.omnisharp') -165.070 000.106 000.106: require('mason-lspconfig.ensure_installed') -165.423 000.103 000.103: require('mason-core.result') -166.032 000.272 000.272: require('mason-core.process') -166.149 000.550 000.278: require('mason-core.spawn') -166.275 000.114 000.114: require('mason-core.receipt') -166.392 000.097 000.097: require('mason-core.functional.string') -166.424 000.992 000.231: require('mason-core.installer.context') -166.586 000.156 000.156: require('mason-core.installer.linker') -166.719 000.124 000.124: require('mason-core.async.control') -166.732 001.527 000.153: require('mason-core.installer') -166.868 000.128 000.128: require('mason-core.installer.handle') -167.428 000.124 000.124: require('mason-core.managers.powershell') -167.439 000.236 000.112: require('mason-core.fetch') -167.443 000.328 000.093: require('mason-core.managers.cargo.client') -167.690 000.127 000.127: require('mason-core.managers.std') -168.013 000.123 000.123: require('mason-registry.api') -168.038 000.298 000.175: require('mason-core.managers.github.client') -168.053 000.605 000.179: require('mason-core.managers.github') -168.167 001.180 000.247: require('mason-core.managers.cargo') -168.471 000.296 000.296: require('mason-core.managers.composer') -168.645 000.165 000.165: require('mason-core.managers.gem') -168.757 000.105 000.105: require('mason-core.managers.git') -168.995 000.230 000.230: require('mason-core.managers.go') -169.199 000.195 000.195: require('mason-core.managers.luarocks') -169.356 000.146 000.146: require('mason-core.managers.npm') -169.539 000.176 000.176: require('mason-core.managers.pip3') -169.556 002.668 000.175: require('mason-core.package.version-check') -169.568 004.489 000.166: require('mason-core.package') -169.702 000.111 000.111: require('mason-registry.python-lsp-server') -170.068 000.142 000.142: require('mason-registry.pyright') -170.243 000.143 000.143: require('mason-registry.clangd') -170.428 000.158 000.158: require('mason-registry.lua-language-server') -170.665 000.091 000.091: require('mason-core.functional.number') -170.720 000.279 000.188: require('mason-lspconfig.api.command') -170.932 035.877 002.136: require('user.pack') -173.861 002.917 002.917: require('user.opts') -174.009 000.011 000.011: require('vim.keymap') -176.057 002.183 002.172: require('user.keys') -176.165 000.098 000.098: require('user.utils') -180.486 001.298 001.298: require('vim.treesitter.language') -180.521 004.008 002.710: require('vim.treesitter.query') -182.976 000.924 000.924: require('vim.treesitter.languagetree') -183.075 001.964 001.040: require('vim.treesitter') -183.413 002.629 000.665: require('nvim-treesitter.parsers') -183.587 000.163 000.163: require('nvim-treesitter.utils') -183.599 002.945 000.153: require('nvim-treesitter.ts_utils') -183.614 003.085 000.139: require('nvim-treesitter.tsrange') -183.725 000.103 000.103: require('nvim-treesitter.caching') -183.747 007.357 000.161: require('nvim-treesitter.query') -183.782 007.535 000.178: require('nvim-treesitter.configs') -184.408 000.120 000.120: require('nvim-treesitter.info') -184.561 000.142 000.142: require('nvim-treesitter.shell_command_selectors') -184.612 000.525 000.262: require('nvim-treesitter.install') -186.316 010.142 002.082: require('plugins.treesitter') -186.647 000.100 000.100: require('telescope._extensions') -186.657 000.212 000.111: require('telescope') -187.507 000.103 000.103: require('plenary.bit') -187.611 000.094 000.094: require('plenary.functional') -187.670 000.036 000.036: require('ffi') -187.694 000.461 000.228: require('plenary.path') -187.710 000.576 000.115: require('plenary.strings') -187.808 000.093 000.093: require('telescope.deprecated') -188.209 000.182 000.182: require('plenary.log') -188.248 000.305 000.123: require('telescope.log') -188.593 000.187 000.187: require('plenary.job') -188.715 000.112 000.112: require('telescope.state') -188.823 000.567 000.268: require('telescope.utils') -188.887 001.071 000.199: require('telescope.sorters') -189.139 000.218 000.218: require('vim.inspect') -197.132 010.169 008.211: require('telescope.config') -197.510 000.148 000.148: require('plenary.window.border') -197.627 000.109 000.109: require('plenary.window') -197.744 000.109 000.109: require('plenary.popup.utils') -197.755 000.598 000.233: require('plenary.popup') -197.909 000.147 000.147: require('telescope.pickers.scroller') -198.052 000.134 000.134: require('telescope.actions.state') -198.221 000.144 000.144: require('telescope.actions.utils') -198.538 000.150 000.150: require('telescope.actions.mt') -198.600 000.371 000.222: require('telescope.actions.set') -198.956 000.212 000.212: require('telescope.config.resolve') -198.964 000.356 000.144: require('telescope.pickers.entry_display') -199.084 000.115 000.115: require('telescope.from_entry') -199.742 013.079 001.043: require('telescope.actions') -200.807 000.109 000.109: require('plenary.tbl') -200.825 000.240 000.131: require('plenary.vararg.rotate') -200.829 000.347 000.107: require('plenary.vararg') -200.935 000.101 000.101: require('plenary.errors') -200.948 000.597 000.149: require('plenary.async.async') -201.074 000.121 000.121: require('plenary.async.structs') -201.095 000.898 000.180: require('plenary.async.control') -201.625 000.371 000.371: require('telescope.make_entry') -202.116 000.122 000.122: require('plenary.async.util') -202.123 000.228 000.106: require('plenary.async.tests') -202.129 000.353 000.125: require('plenary.async') -202.136 000.495 000.142: require('telescope.finders.async_static_finder') -203.049 000.645 000.645: require('plenary.class') -203.135 000.877 000.232: require('telescope._') -203.142 001.000 000.123: require('telescope.finders.async_oneshot_finder') -203.421 000.273 000.273: require('telescope.finders.async_job_finder') -203.461 002.356 000.217: require('telescope.finders') -204.688 000.672 000.672: require('telescope.debounce') -205.370 000.666 000.666: require('telescope.mappings') -205.632 000.248 000.248: require('telescope.pickers.highlights') -205.841 000.188 000.188: require('telescope.pickers.window') -206.346 000.234 000.234: require('telescope.algos.linked_list') -206.367 000.519 000.285: require('telescope.entry_manager') -206.570 000.197 000.197: require('telescope.pickers.multi') -206.680 003.213 000.723: require('telescope.pickers') -206.754 006.778 000.311: require('telescope.builtin.__lsp') -206.951 007.193 000.416: require('telescope.builtin') -207.796 000.429 000.429: require('fzf_lib') -207.826 000.864 000.434: require('telescope._extensions.fzf') -209.178 000.628 000.628: require('telescope._extensions.file_browser.utils') -209.523 001.393 000.765: require('telescope._extensions.file_browser.actions') -209.833 000.178 000.178: require('telescope._extensions.file_browser.make_entry') -210.007 000.163 000.163: require('plenary.scandir') -210.086 000.554 000.213: require('telescope._extensions.file_browser.finders') -210.202 000.107 000.107: require('telescope._extensions.file_browser.picker') -210.336 000.122 000.122: require('telescope._extensions.file_browser.config') -210.347 002.489 000.313: require('telescope._extensions.file_browser') -213.928 027.600 003.763: require('plugins.telescope') -215.092 000.082 000.082: require('notify.util.queue') -215.100 000.183 000.100: require('notify.util') -215.343 000.236 000.236: require('notify.config.highlights') -215.353 000.535 000.116: require('notify.config') -215.445 000.085 000.085: require('notify.stages') -215.538 000.086 000.086: require('notify.service.notification') -215.798 000.079 000.079: require('notify.animate.spring') -215.804 000.162 000.083: require('notify.animate') -215.813 000.268 000.106: require('notify.windows') -216.103 000.099 000.099: require('notify.service.buffer.highlights') -216.112 000.203 000.104: require('notify.service.buffer') -216.118 000.300 000.098: require('notify.service') -216.219 000.096 000.096: require('notify.stages.util') -216.271 001.553 000.183: require('notify') -216.372 000.093 000.093: require('nvim-tree.iterators.node-iterator') -216.437 001.840 000.194: require('nvim-tree.utils') -216.448 001.944 000.104: require('nvim-tree.events') -216.732 000.096 000.096: require('nvim-tree.log') -216.908 000.168 000.168: require('nvim-tree.git.utils') -217.013 000.098 000.098: require('nvim-tree.git.runner') -217.113 000.093 000.093: require('nvim-tree.watcher') -217.123 000.578 000.123: require('nvim-tree.git') -217.220 000.092 000.092: require('nvim-tree.explorer.watch') -217.312 000.085 000.085: require('nvim-tree.explorer.common') -217.504 000.099 000.099: require('nvim-tree.explorer.node-builders') -217.601 000.089 000.089: require('nvim-tree.explorer.sorters') -217.694 000.086 000.086: require('nvim-tree.explorer.filters') -217.973 000.180 000.180: require('nvim-tree.view') -217.986 000.286 000.106: require('nvim-tree.live-filter') -217.991 000.673 000.113: require('nvim-tree.explorer.explore') -218.097 000.101 000.101: require('nvim-tree.explorer.reload') -218.105 001.650 000.122: require('nvim-tree.explorer') -218.112 003.687 000.094: require('nvim-tree.core') -218.217 000.100 000.100: require('nvim-tree.diagnostics') -218.316 000.090 000.090: require('nvim-tree.renderer.components.padding') -218.412 000.090 000.090: require('nvim-tree.renderer.components.icons') -218.514 000.095 000.095: require('nvim-tree.renderer.components.full-name') -218.605 000.084 000.084: require('nvim-tree.renderer.help') -218.719 000.107 000.107: require('nvim-tree.renderer.components.git') -218.841 000.116 000.116: require('nvim-tree.renderer.builder') -218.940 000.091 000.091: require('nvim-tree.marks') -218.950 004.623 000.163: require('nvim-tree.renderer') -219.058 000.095 000.095: require('nvim-tree.actions.tree-modifiers.collapse-all') -219.147 000.082 000.082: require('nvim-tree.actions.root.dir-up') -219.246 000.093 000.093: require('nvim-tree.actions.root.change-dir') -219.347 000.093 000.093: require('nvim-tree.actions.reloaders.reloaders') -219.447 000.092 000.092: require('nvim-tree.actions.finders.find-file') -219.452 005.221 000.144: require('nvim-tree.lib') -219.559 000.101 000.101: require('nvim-tree.colors') -219.685 000.116 000.116: require('nvim-tree.legacy') -219.806 000.111 000.111: require('nvim-tree.actions.fs.copy-paste') -220.011 000.096 000.096: require('nvim-tree.actions.tree-modifiers.expand-all') -220.123 000.104 000.104: require('nvim-tree.actions.tree-modifiers.toggles') -220.236 000.097 000.097: require('nvim-tree.actions.fs.create-file') -220.334 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -220.457 000.115 000.115: require('nvim-tree.actions.fs.trash') -220.562 000.097 000.097: require('nvim-tree.actions.fs.remove-file') -220.658 000.087 000.087: require('nvim-tree.actions.moves.parent') -220.751 000.086 000.086: require('nvim-tree.actions.moves.sibling') -220.844 000.084 000.084: require('nvim-tree.actions.moves.item') -220.953 000.091 000.091: require('nvim-tree.actions.finders.search-node') -221.044 000.084 000.084: require('nvim-tree.actions.node.run-command') -221.161 000.110 000.110: require('nvim-tree.actions.node.file-popup') -221.274 000.107 000.107: require('nvim-tree.actions.node.system-open') -221.379 000.094 000.094: require('nvim-tree.marks.bulk-move') -221.386 001.570 000.228: require('nvim-tree.actions.dispatch') -221.416 007.371 000.252: require('nvim-tree') -221.500 000.079 000.079: require('nvim-tree.config') -227.242 000.167 000.167: require('nvim-tree.actions') -227.379 000.118 000.118: require('nvim-tree.actions.node.open-file') -229.938 000.096 000.096: require('nvim-tree.marks.navigation') -229.950 000.283 000.187: require('nvim-tree.api') -229.970 000.428 000.145: require('nvim-tree.keymap') -230.837 000.388 000.388: require('nvim-web-devicons') -235.052 021.111 012.560: require('plugins.nvim-tree') -235.504 000.078 000.078: require('cmp.utils.debug') -235.713 000.118 000.118: require('cmp.utils.char') -235.726 000.213 000.095: require('cmp.utils.str') -235.856 000.081 000.081: require('cmp.utils.pattern') -236.130 000.087 000.087: require('cmp.utils.misc') -236.235 000.076 000.076: require('cmp.utils.buffer') -236.331 000.090 000.090: require('cmp.utils.api') -236.342 000.395 000.143: require('cmp.utils.keymap') -236.351 000.488 000.092: require('cmp.utils.feedkeys') -236.449 000.093 000.093: require('cmp.utils.async') -236.739 000.096 000.096: require('cmp.types.cmp') -236.850 000.104 000.104: require('cmp.types.lsp') -236.929 000.072 000.072: require('cmp.types.vim') -236.934 000.396 000.125: require('cmp.types') -237.015 000.076 000.076: require('cmp.utils.cache') -237.023 000.566 000.095: require('cmp.context') -237.331 000.104 000.104: require('cmp.config.mapping') -237.553 000.113 000.113: require('cmp.config.compare') -237.560 000.217 000.103: require('cmp.config.default') -237.587 000.464 000.143: require('cmp.config') -237.812 000.090 000.090: require('cmp.matcher') -237.823 000.230 000.140: require('cmp.entry') -237.841 000.813 000.119: require('cmp.source') -238.025 000.079 000.079: require('cmp.utils.event') -238.243 000.111 000.111: require('cmp.utils.window') -238.251 000.218 000.108: require('cmp.view.docs_view') -238.476 000.090 000.090: require('cmp.utils.autocmd') -238.500 000.244 000.154: require('cmp.view.custom_entries_view') -238.634 000.128 000.128: require('cmp.view.wildmenu_entries_view') -238.755 000.113 000.113: require('cmp.view.native_entries_view') -238.863 000.102 000.102: require('cmp.view.ghost_text_view') -238.881 001.035 000.150: require('cmp.view') -238.989 003.680 000.312: require('cmp.core') -239.418 000.090 000.090: require('cmp.config.sources') -239.512 000.077 000.077: require('cmp.config.window') -239.626 004.433 000.586: require('cmp') -240.106 000.155 000.155: require('symbols-outline.config') -240.113 000.252 000.097: require('symbols-outline.symbols') -240.221 000.102 000.102: require('symbols-outline.ui') -240.319 000.090 000.090: require('symbols-outline.utils.table') -240.419 000.093 000.093: require('symbols-outline.folding') -240.426 000.665 000.127: require('symbols-outline.parser') -240.525 000.094 000.094: require('symbols-outline.providers.init') -240.633 000.101 000.101: require('symbols-outline.writer') -240.736 000.095 000.095: require('symbols-outline.utils.init') -240.833 000.091 000.091: require('symbols-outline.view') -240.850 001.216 000.171: require('symbols-outline') -241.230 000.131 000.131: require('symbols-outline.preview') -241.361 000.116 000.116: require('lspkind') -242.972 007.908 002.012: require('plugins.cmp') -243.606 000.089 000.089: require('luasnip.session') -243.767 000.152 000.152: require('luasnip.util.util') -243.859 000.085 000.085: require('luasnip.util.types') -244.050 000.091 000.091: require('luasnip.util.ext_opts') -244.064 000.198 000.106: require('luasnip.nodes.util') -244.155 000.085 000.085: require('luasnip.util.events') -244.172 000.768 000.161: require('luasnip.nodes.node') -244.482 000.100 000.100: require('luasnip.util.extend_decorator') -244.494 000.316 000.217: require('luasnip.nodes.insertNode') -244.622 000.121 000.121: require('luasnip.nodes.textNode') -244.732 000.099 000.099: require('luasnip.util.mark') -245.531 000.690 000.690: require('luasnip.util._builtin_vars') -245.740 001.001 000.311: require('luasnip.util.environ') -245.858 000.107 000.107: require('luasnip.util.pattern_tokenizer') -245.955 000.090 000.090: require('luasnip.util.dict') -246.068 000.107 000.107: require('luasnip.session.snippet_collection') -246.187 002.972 000.363: require('luasnip.nodes.snippet') -246.397 000.093 000.093: require('luasnip.loaders._caches') -246.532 000.127 000.127: require('luasnip.util.path') -246.578 000.376 000.157: require('luasnip.loaders') -246.775 000.162 000.162: require('luasnip.nodes.functionNode') -246.968 000.183 000.183: require('luasnip.nodes.choiceNode') -247.120 000.144 000.144: require('luasnip.nodes.dynamicNode') -247.312 000.184 000.184: require('luasnip.nodes.restoreNode') -247.690 000.100 000.100: require('luasnip.util.parser.neovim_ast') -255.033 000.125 000.125: require('luasnip.util.directed_graph') -255.055 007.580 007.355: require('luasnip.util.parser.ast_utils') -255.279 000.093 000.093: require('luasnip.util.functions') -255.295 000.233 000.140: require('luasnip.util.parser.ast_parser') -255.501 000.200 000.200: require('luasnip.util.parser.neovim_parser') -255.604 000.094 000.094: require('luasnip.util.str') -255.645 008.280 000.173: require('luasnip.util.parser') -255.883 000.099 000.099: require('luasnip.extras.filetype_functions') -256.032 000.109 000.109: require('luasnip.extras') -256.149 000.105 000.105: require('luasnip.extras.fmt') -256.434 000.095 000.095: require('luasnip.extras.conditions') -256.534 000.093 000.093: require('luasnip.extras.conditions.show') -256.623 000.370 000.183: require('luasnip.extras.conditions.expand') -256.629 000.472 000.102: require('luasnip.extras.expand_conditions') -256.771 000.130 000.130: require('luasnip.nodes.absolute_indexer') -257.169 001.516 000.601: require('luasnip.config') -257.180 014.108 000.290: require('luasnip') -257.405 000.108 000.108: require('luasnip.loaders.util') -257.416 000.229 000.121: require('luasnip.loaders.from_lua') -267.046 024.061 009.725: require('plugins.luasnip') -267.448 000.147 000.147: require('colorizer/nvim') -267.805 000.349 000.349: require('colorizer/trie') -268.146 000.988 000.492: require('colorizer') -269.993 002.931 001.943: require('plugins.colorizer') -270.410 000.098 000.098: require('prettier.utils') -270.439 000.232 000.134: require('prettier.options') -271.132 000.261 000.261: require('null-ls.methods') -271.161 000.413 000.152: require('null-ls.utils') -277.142 005.971 005.971: require('vim.diagnostic') -277.176 006.520 000.136: require('null-ls.config') -277.393 000.095 000.095: require('null-ls.helpers.cache') -277.520 000.119 000.119: require('null-ls.helpers.diagnostics') -277.624 000.095 000.095: require('null-ls.helpers.formatter_factory') -277.868 000.102 000.102: require('null-ls.logger') -277.982 000.106 000.106: require('null-ls.state') -277.990 000.358 000.150: require('null-ls.helpers.generator_factory') -278.195 000.101 000.101: require('null-ls.helpers.command_resolver') -278.202 000.206 000.105: require('null-ls.helpers.make_builtin') -278.309 000.101 000.101: require('null-ls.helpers.range_formatting_args_factory') -278.314 001.128 000.153: require('null-ls.helpers') -278.546 000.112 000.112: require('null-ls.diagnostics') -278.564 000.245 000.134: require('null-ls.sources') -278.670 000.098 000.098: require('null-ls.builtins') -278.677 008.115 000.124: require('null-ls') -278.768 000.086 000.086: require('prettier.cli') -278.778 008.332 000.131: require('prettier.null-ls') -278.784 008.669 000.105: require('prettier') -279.413 000.132 000.132: require('null-ls.client') -279.426 009.420 000.620: require('plugins.prettier') -279.584 000.087 000.087: require('git') -279.682 000.091 000.091: require('git.config') -279.889 000.457 000.279: require('plugins.git') -280.232 000.091 000.091: require('gitsigns.async') -280.332 000.090 000.090: require('gitsigns.status') -280.595 000.100 000.100: require('gitsigns.debug') -280.708 000.102 000.102: require('gitsigns.util') -280.910 000.098 000.098: require('gitsigns.uv') -280.923 000.208 000.110: require('gitsigns.subprocess') -281.356 000.092 000.092: require('gitsigns.message') -281.385 000.273 000.181: require('gitsigns.config') -281.478 000.085 000.085: require('gitsigns.signs.base') -281.484 000.452 000.095: require('gitsigns.signs') -281.493 000.565 000.112: require('gitsigns.hunks') -281.511 001.172 000.197: require('gitsigns.git') -281.730 000.090 000.090: require('gitsigns.cache') -281.826 000.087 000.087: require('gitsigns.debounce') -281.920 000.084 000.084: require('gitsigns.diff') -281.942 000.426 000.165: require('gitsigns.manager') -282.060 000.111 000.111: require('gitsigns.highlight') -282.083 002.114 000.224: require('gitsigns') -284.285 000.139 000.139: require('gitsigns.signs.vimfn') -287.654 007.756 005.502: require('plugins.gitsigns') -288.141 000.115 000.115: require('neoscroll.config') -288.256 000.101 000.101: require('neoscroll.utils') -288.408 000.565 000.348: require('neoscroll') -289.124 001.439 000.874: require('plugins.neoscroll') -289.677 000.160 000.160: require('cmp_nvim_lsp.source') -289.687 000.296 000.136: require('cmp_nvim_lsp') -289.796 000.096 000.096: require('lspconfig') -289.948 000.108 000.108: require('lspconfig.server_configurations.pylsp') -290.569 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') -291.044 000.125 000.125: require('lspconfig.server_configurations.clangd') -293.242 000.140 000.140: require('lspconfig.server_configurations.vimls') -295.072 000.132 000.132: require('lspconfig.server_configurations.bashls') -296.618 000.138 000.138: require('lspconfig.server_configurations.sumneko_lua') -298.436 009.301 008.132: require('plugins.lsp') -298.814 000.096 000.096: require('nvim-autopairs._log') -298.936 000.113 000.113: require('nvim-autopairs.utils') -299.270 000.118 000.118: require('nvim-autopairs.conds') -299.284 000.234 000.115: require('nvim-autopairs.rule') -299.290 000.347 000.113: require('nvim-autopairs.rules.basic') -299.306 000.748 000.193: require('nvim-autopairs') -299.468 000.126 000.126: require('nvim-autopairs.fastwrap') -299.969 000.115 000.115: require('nvim-autopairs.ts-conds') -299.977 000.226 000.111: require('nvim-autopairs.rules.ts_basic') -300.839 000.856 000.856: require('vim.treesitter.highlighter') -302.163 000.104 000.104: require('nvim-autopairs.completion.handlers') -302.177 000.236 000.133: require('nvim-autopairs.completion.cmp') -302.196 003.747 001.555: require('plugins.autopairs') -302.502 000.222 000.222: require('null-ls.builtins.formatting.stylua') -302.746 000.228 000.228: require('null-ls.builtins.diagnostics.eslint') -302.886 000.121 000.121: require('null-ls.builtins.completion.spell') -303.534 001.331 000.760: require('plugins.null-ls') -303.630 000.086 000.086: require('plugins.web-devicons') -304.080 000.087 000.087: require('zen-mode.util') -304.145 000.243 000.155: require('zen-mode.config') -304.255 000.101 000.101: require('zen-mode.plugins') -304.265 000.478 000.134: require('zen-mode.view') -304.272 000.569 000.091: require('zen-mode') -304.472 000.833 000.264: require('plugins.zen-mode') -309.708 000.150 000.150: require('doom-one.utils') -309.841 000.111 000.111: require('doom-one.colors') -309.863 000.773 000.513: require('doom-one') -313.203 005.222 004.449: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -317.943 000.397 000.397: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/syntax/synload.vim -318.353 000.057 000.057: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -320.819 001.441 001.441: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/filetype.lua -322.179 001.004 001.004: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/filetype.vim -322.962 000.161 000.161: require('filetype') -323.030 007.090 004.030: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/syntax/syntax.vim -323.579 000.128 000.128: require('notify.stages.fade_in_slide_out') -323.657 019.174 006.734: require('plugins.colorscheme') -324.052 000.106 000.106: require('heirline.conditions') -324.199 000.138 000.138: require('heirline.utils') -324.550 000.099 000.099: require('heirline.highlights') -324.572 000.230 000.131: require('heirline.statusline') -324.582 000.351 000.121: require('heirline') -324.753 000.154 000.154: require('nvim-navic') -328.736 005.069 004.320: require('plugins.heirline') -328.872 225.775 004.093: sourcing /home/sxrdusr/.config/nvim/init.lua -328.898 011.659: sourcing vimrc file(s) -334.721 001.128 001.128: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/gzip.vim -334.969 000.137 000.137: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/health.vim -337.677 001.402 001.402: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -338.080 002.991 001.589: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/matchit.vim -338.537 000.393 000.393: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/matchparen.vim -338.681 000.077 000.077: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/netrwPlugin.vim -339.095 000.021 000.021: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -339.116 000.373 000.352: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/rplugin.vim -339.372 000.197 000.197: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/shada.vim -339.507 000.051 000.051: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/spellfile.vim -339.640 000.061 000.061: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/tarPlugin.vim -339.771 000.058 000.058: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/tohtml.vim -339.883 000.045 000.045: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/tutor.vim -340.607 000.654 000.654: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/zipPlugin.vim -340.880 000.036 000.036: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -342.331 000.172 000.172: require('null-ls.builtins.diagnostics.checkmake') -342.715 000.220 000.220: require('fidget.log') -342.733 000.387 000.167: require('fidget') -342.917 000.162 000.162: require('fidget.spinners') -343.110 000.123 000.123: require('flit') -343.855 000.100 000.100: require('leap') -343.964 000.097 000.097: require('leap.user') -345.092 000.086 000.086: require('crates.time') -345.102 000.193 000.107: require('crates.types') -345.108 000.302 000.109: require('crates.semver') -346.671 001.472 001.472: require('crates.config') -346.845 000.163 000.163: require('crates.toml') -346.854 001.741 000.106: require('crates.state') -346.881 002.215 000.172: require('crates.util') -346.895 002.340 000.125: require('crates.actions') -347.130 000.129 000.129: require('crates.api') -347.221 000.082 000.082: require('crates.async') -347.336 000.108 000.108: require('crates.diagnostic') -347.449 000.105 000.105: require('crates.ui') -347.461 000.559 000.135: require('crates.core') -347.710 000.121 000.121: require('crates.popup.common') -347.857 000.140 000.140: require('crates.popup.crate') -347.982 000.118 000.118: require('crates.popup.dependencies') -348.128 000.140 000.140: require('crates.popup.features') -348.282 000.147 000.147: require('crates.popup.versions') -348.294 000.827 000.161: require('crates.popup') -348.308 003.865 000.139: require('crates') -351.282 000.464 000.464: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -353.140 012.117 006.746: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -354.174 000.313 000.313: sourcing /tmp/.mount_nvimjtc2VG/usr/share/nvim/runtime/plugin/man.lua -354.357 006.827: loading rtp plugins -356.533 000.093 000.093: require('Comment.config') -356.915 000.174 000.174: require('Comment.ft') -356.930 000.386 000.213: require('Comment.utils') -357.033 000.097 000.097: require('Comment.opfunc') -357.130 000.090 000.090: require('Comment.extra') -357.139 000.836 000.168: require('Comment.api') -357.312 001.092 000.256: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -357.659 000.162 000.162: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -358.382 000.466 000.466: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -359.183 000.177 000.177: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -359.790 000.039 000.039: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -361.621 001.231 001.231: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -362.178 000.072 000.072: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -362.832 000.359 000.359: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -363.644 000.336 000.336: require('cmp.utils.highlight') -364.581 001.377 001.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -364.799 000.030 000.030: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -365.124 000.077 000.077: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -365.611 000.176 000.176: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -366.204 000.178 000.178: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -367.016 000.110 000.110: require('nvim-treesitter.statusline') -367.151 000.125 000.125: require('nvim-treesitter.query_predicates') -367.158 000.371 000.135: require('nvim-treesitter') -368.291 001.664 001.293: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -368.892 000.376 000.376: require('treesitter-context') -368.904 000.421 000.045: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -369.387 000.183 000.183: require('nvim-treesitter-refactor') -369.894 000.720 000.537: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -370.290 000.109 000.109: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -370.725 000.079 000.079: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -371.049 000.090 000.090: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -371.530 000.027 000.027: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -371.806 000.042 000.042: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -372.164 000.061 000.061: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -372.808 000.158 000.158: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -373.351 000.333 000.333: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -374.059 000.371 000.371: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -374.346 000.029 000.029: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -374.631 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -375.714 011.772: loading packages -384.137 000.253 000.253: require('cmp_buffer.timer') -384.149 000.417 000.164: require('cmp_buffer.buffer') -384.155 000.599 000.182: require('cmp_buffer.source') -384.160 000.826 000.227: require('cmp_buffer') -384.216 001.062 000.236: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -384.640 000.197 000.197: require('cmp_cmdline') -384.677 000.304 000.107: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -384.994 000.153 000.153: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -385.391 000.156 000.156: require('cmp_path') -385.428 000.276 000.120: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -385.773 000.114 000.114: require('cmp_luasnip') -385.845 000.255 000.141: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -386.357 000.129 000.129: require('crates.src.common') -386.366 000.236 000.107: require('crates.src.cmp') -386.398 000.366 000.130: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -386.471 008.341: loading after plugins -386.501 000.030: inits 3 -386.513 000.012: reading ShaDa -387.732 000.107 000.107: require('luasnip.nodes.snippetProxy') -387.745 000.357 000.250: require('luasnip.loaders.from_snipmate') -387.940 000.133 000.133: require('luasnip.loaders.from_vscode') -388.055 001.053: opening buffers -388.227 000.171: BufEnter autocommands -388.236 000.009: editing files in windows -469.333 000.900 000.900: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.157 001.157: --- NVIM STARTING --- -027.617 026.459: event init -044.041 016.424: early init -045.685 001.644: locale set -051.181 005.496: init first window -061.046 009.866: inits 1 -061.081 000.035: window checked -061.091 000.010: parsing arguments -072.810 000.283 000.283: require('vim.shared') -073.299 000.237 000.237: require('vim._meta') -073.312 000.481 000.244: require('vim._editor') -073.320 000.884 000.120: require('vim._init_packages') -073.328 011.352: init lua interpreter -073.475 000.147: expanding arguments -075.314 001.838: inits 2 -076.685 001.372: init highlight -076.694 000.009: waiting for UI -081.083 004.389: done waiting for UI -081.119 000.035: init screen for UI -081.356 000.237: init default mappings -081.381 000.025: init default autocommands -091.206 003.935 003.935: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/ftplugin.vim -093.122 000.858 000.858: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/indent.vim -093.348 000.027 000.027: sourcing /usr/share/nvim/archlinux.vim -093.360 000.084 000.057: sourcing /etc/xdg/nvim/sysinit.vim -123.727 030.179 030.179: require('impatient') -123.857 000.115 000.115: require('impatient.profile') -123.966 000.094 000.094: require('user.utils') -128.061 000.228 000.228: require('packer.util') -128.111 000.533 000.304: require('packer') -128.997 000.498 000.498: require('packer.log') -129.007 000.680 000.183: require('packer.async') -129.464 000.334 000.334: require('packer.result') -129.474 000.460 000.127: require('packer.jobs') -129.488 001.330 000.190: require('packer.plugin_utils') -129.681 000.169 000.169: require('packer.snapshot') -130.918 000.098 000.098: require('mason-core.path') -130.937 000.235 000.138: require('mason.settings') -131.213 000.143 000.143: require('mason-core.functional') -131.433 000.092 000.092: require('mason-core.functional.data') -131.442 000.204 000.112: require('mason-core.functional.function') -131.608 000.133 000.133: require('mason-core.functional.relation') -131.731 000.101 000.101: require('mason-core.functional.logic') -131.762 000.818 000.237: require('mason-core.platform') -131.767 001.438 000.384: require('mason') -132.265 000.207 000.207: require('mason-core.functional.list') -132.312 000.511 000.304: require('mason.api.command') -132.563 000.139 000.139: require('mason-core.log') -132.572 000.254 000.115: require('mason-lspconfig') -132.704 000.096 000.096: require('mason-lspconfig.settings') -133.091 000.085 000.085: require('mason-core.notify') -133.104 000.239 000.154: require('mason-lspconfig.lspconfig_hook') -134.191 000.262 000.262: require('vim.lsp.log') -135.445 000.015 000.015: require('vim.F') -135.453 001.252 001.237: require('vim.lsp.protocol') -136.271 000.382 000.382: require('vim.lsp._snippet') -136.541 000.258 000.258: require('vim.highlight') -136.578 001.118 000.478: require('vim.lsp.util') -136.624 002.940 000.308: require('vim.lsp.handlers') -136.977 000.344 000.344: require('vim.lsp.rpc') -137.216 000.224 000.224: require('vim.lsp.sync') -137.550 000.326 000.326: require('vim.lsp.buf') -137.788 000.229 000.229: require('vim.lsp.diagnostic') -138.021 000.224 000.224: require('vim.lsp.codelens') -138.177 004.936 000.648: require('vim.lsp') -138.264 005.155 000.219: require('lspconfig.util') -138.636 000.098 000.098: require('mason-core.functional.table') -138.737 000.361 000.263: require('mason-lspconfig.mappings.server') -139.065 000.119 000.119: require('mason-core.async') -139.158 000.082 000.082: require('mason-core.async.uv') -139.172 000.323 000.122: require('mason-core.fs') -139.281 000.103 000.103: require('mason-core.optional') -139.380 000.091 000.091: require('mason-core.EventEmitter') -139.581 000.195 000.195: require('mason-registry.index') -139.605 000.860 000.147: require('mason-registry') -139.706 000.094 000.094: require('mason-lspconfig.server_config_extensions') -139.825 000.112 000.112: require('lspconfig.configs') -139.987 000.112 000.112: require('lspconfig.server_configurations.omnisharp') -140.134 000.097 000.097: require('mason-lspconfig.ensure_installed') -140.482 000.102 000.102: require('mason-core.result') -140.980 000.281 000.281: require('mason-core.process') -141.156 000.551 000.270: require('mason-core.spawn') -141.281 000.113 000.113: require('mason-core.receipt') -141.404 000.097 000.097: require('mason-core.functional.string') -141.434 000.945 000.183: require('mason-core.installer.context') -141.542 000.101 000.101: require('mason-core.installer.linker') -141.648 000.099 000.099: require('mason-core.async.control') -141.656 001.391 000.144: require('mason-core.installer') -141.787 000.126 000.126: require('mason-core.installer.handle') -142.322 000.102 000.102: require('mason-core.managers.powershell') -142.329 000.206 000.104: require('mason-core.fetch') -142.333 000.299 000.093: require('mason-core.managers.cargo.client') -142.583 000.124 000.124: require('mason-core.managers.std') -142.841 000.141 000.141: require('mason-registry.api') -142.864 000.270 000.130: require('mason-core.managers.github.client') -142.876 000.535 000.142: require('mason-core.managers.github') -142.992 001.086 000.252: require('mason-core.managers.cargo') -143.220 000.220 000.220: require('mason-core.managers.composer') -143.372 000.144 000.144: require('mason-core.managers.gem') -143.482 000.104 000.104: require('mason-core.managers.git') -143.630 000.140 000.140: require('mason-core.managers.go') -143.801 000.164 000.164: require('mason-core.managers.luarocks') -143.939 000.131 000.131: require('mason-core.managers.npm') -144.100 000.155 000.155: require('mason-core.managers.pip3') -144.130 002.323 000.180: require('mason-core.package.version-check') -144.145 004.004 000.164: require('mason-core.package') -144.448 000.178 000.178: require('mason-registry.python-lsp-server') -144.835 000.117 000.117: require('mason-registry.pyright') -145.054 000.171 000.171: require('mason-registry.clangd') -145.325 000.128 000.128: require('mason-registry.lua-language-server') -145.545 000.092 000.092: require('mason-core.functional.number') -145.599 000.263 000.172: require('mason-lspconfig.api.command') -145.809 018.609 002.387: require('user.pack') -149.772 003.953 003.953: require('user.opts') -149.936 000.015 000.015: require('vim.keymap') -151.875 002.090 002.075: require('user.keys') -152.021 000.136 000.136: require('user.utils') -153.043 000.229 000.229: require('vim.treesitter.language') -153.065 000.651 000.422: require('vim.treesitter.query') -154.202 000.350 000.350: require('vim.treesitter.languagetree') -154.278 000.678 000.328: require('vim.treesitter') -154.580 001.276 000.598: require('nvim-treesitter.parsers') -154.785 000.196 000.196: require('nvim-treesitter.utils') -154.797 001.614 000.142: require('nvim-treesitter.ts_utils') -154.810 001.739 000.125: require('nvim-treesitter.tsrange') -154.912 000.095 000.095: require('nvim-treesitter.caching') -154.932 002.634 000.149: require('nvim-treesitter.query') -154.966 002.818 000.184: require('nvim-treesitter.configs') -155.370 000.106 000.106: require('nvim-treesitter.info') -155.514 000.135 000.135: require('nvim-treesitter.shell_command_selectors') -155.564 000.471 000.230: require('nvim-treesitter.install') -157.220 005.189 001.900: require('plugins.treesitter') -157.541 000.109 000.109: require('telescope._extensions') -157.550 000.212 000.103: require('telescope') -158.300 000.093 000.093: require('plenary.bit') -158.401 000.093 000.093: require('plenary.functional') -158.460 000.040 000.040: require('ffi') -158.482 000.423 000.196: require('plenary.path') -158.497 000.534 000.111: require('plenary.strings') -158.589 000.087 000.087: require('telescope.deprecated') -158.958 000.163 000.163: require('plenary.log') -158.995 000.279 000.116: require('telescope.log') -159.288 000.146 000.146: require('plenary.job') -159.385 000.088 000.088: require('telescope.state') -159.400 000.398 000.165: require('telescope.utils') -159.452 000.857 000.180: require('telescope.sorters') -159.634 000.160 000.160: require('vim.inspect') -163.467 005.666 004.028: require('telescope.config') -163.735 000.113 000.113: require('plenary.window.border') -163.834 000.091 000.091: require('plenary.window') -163.923 000.083 000.083: require('plenary.popup.utils') -163.931 000.451 000.164: require('plenary.popup') -164.033 000.097 000.097: require('telescope.pickers.scroller') -164.147 000.106 000.106: require('telescope.actions.state') -164.276 000.107 000.107: require('telescope.actions.utils') -164.498 000.101 000.101: require('telescope.actions.mt') -164.529 000.246 000.146: require('telescope.actions.set') -164.756 000.122 000.122: require('telescope.config.resolve') -164.766 000.231 000.109: require('telescope.pickers.entry_display') -164.862 000.090 000.090: require('telescope.from_entry') -165.243 007.688 000.693: require('telescope.actions') -168.086 000.104 000.104: require('plenary.tbl') -168.106 000.234 000.130: require('plenary.vararg.rotate') -168.110 000.338 000.105: require('plenary.vararg') -168.209 000.094 000.094: require('plenary.errors') -168.221 000.556 000.123: require('plenary.async.async') -168.348 000.122 000.122: require('plenary.async.structs') -168.363 000.865 000.188: require('plenary.async.control') -168.827 000.331 000.331: require('telescope.make_entry') -169.289 000.122 000.122: require('plenary.async.util') -169.296 000.223 000.101: require('plenary.async.tests') -169.303 000.342 000.119: require('plenary.async') -169.309 000.468 000.125: require('telescope.finders.async_static_finder') -169.644 000.095 000.095: require('plenary.class') -169.676 000.249 000.154: require('telescope._') -169.685 000.370 000.121: require('telescope.finders.async_oneshot_finder') -169.805 000.115 000.115: require('telescope.finders.async_job_finder') -169.818 001.447 000.164: require('telescope.finders') -170.234 000.148 000.148: require('telescope.debounce') -170.477 000.234 000.234: require('telescope.mappings') -170.617 000.130 000.130: require('telescope.pickers.highlights') -170.742 000.115 000.115: require('telescope.pickers.window') -171.040 000.140 000.140: require('telescope.algos.linked_list') -171.052 000.304 000.163: require('telescope.entry_manager') -171.165 000.108 000.108: require('telescope.pickers.multi') -171.208 001.384 000.346: require('telescope.pickers') -171.232 005.824 002.127: require('telescope.builtin.__lsp') -171.313 006.061 000.237: require('telescope.builtin') -171.735 000.280 000.280: require('fzf_lib') -171.749 000.428 000.148: require('telescope._extensions.fzf') -172.298 000.195 000.195: require('telescope._extensions.file_browser.utils') -172.454 000.568 000.373: require('telescope._extensions.file_browser.actions') -172.810 000.204 000.204: require('telescope._extensions.file_browser.make_entry') -173.177 000.355 000.355: require('plenary.scandir') -173.233 000.772 000.212: require('telescope._extensions.file_browser.finders') -173.380 000.139 000.139: require('telescope._extensions.file_browser.picker') -173.557 000.170 000.170: require('telescope._extensions.file_browser.config') -173.565 001.799 000.151: require('telescope._extensions.file_browser') -177.001 019.770 003.583: require('plugins.telescope') -178.506 000.098 000.098: require('notify.util.queue') -178.516 000.223 000.125: require('notify.util') -178.779 000.257 000.257: require('notify.config.highlights') -178.792 000.629 000.150: require('notify.config') -178.901 000.102 000.102: require('notify.stages') -179.429 000.521 000.521: require('notify.service.notification') -180.054 000.157 000.157: require('notify.animate.spring') -180.060 000.327 000.170: require('notify.animate') -180.082 000.645 000.317: require('notify.windows') -181.064 000.239 000.239: require('notify.service.buffer.highlights') -181.085 000.769 000.530: require('notify.service.buffer') -181.101 001.015 000.246: require('notify.service') -181.415 000.309 000.309: require('notify.stages.util') -181.488 003.473 000.252: require('notify') -181.703 000.208 000.208: require('nvim-tree.iterators.node-iterator') -181.827 003.971 000.290: require('nvim-tree.utils') -181.860 004.133 000.162: require('nvim-tree.events') -182.529 000.189 000.189: require('nvim-tree.log') -182.822 000.284 000.284: require('nvim-tree.git.utils') -183.084 000.255 000.255: require('nvim-tree.git.runner') -183.384 000.293 000.293: require('nvim-tree.watcher') -183.416 001.324 000.303: require('nvim-tree.git') -183.627 000.206 000.206: require('nvim-tree.explorer.watch') -183.822 000.188 000.188: require('nvim-tree.explorer.common') -184.299 000.278 000.278: require('nvim-tree.explorer.node-builders') -184.532 000.223 000.223: require('nvim-tree.explorer.sorters') -184.770 000.231 000.231: require('nvim-tree.explorer.filters') -185.673 000.571 000.571: require('nvim-tree.view') -185.715 000.920 000.349: require('nvim-tree.live-filter') -185.733 001.903 000.251: require('nvim-tree.explorer.explore') -185.977 000.238 000.238: require('nvim-tree.explorer.reload') -185.998 004.133 000.273: require('nvim-tree.explorer') -186.020 008.398 000.132: require('nvim-tree.core') -186.322 000.296 000.296: require('nvim-tree.diagnostics') -186.517 000.182 000.182: require('nvim-tree.renderer.components.padding') -186.624 000.098 000.098: require('nvim-tree.renderer.components.icons') -186.731 000.100 000.100: require('nvim-tree.renderer.components.full-name') -186.826 000.088 000.088: require('nvim-tree.renderer.help') -186.949 000.116 000.116: require('nvim-tree.renderer.components.git') -187.077 000.122 000.122: require('nvim-tree.renderer.builder') -187.181 000.096 000.096: require('nvim-tree.marks') -187.193 009.702 000.205: require('nvim-tree.renderer') -187.305 000.099 000.099: require('nvim-tree.actions.tree-modifiers.collapse-all') -187.395 000.083 000.083: require('nvim-tree.actions.root.dir-up') -187.524 000.123 000.123: require('nvim-tree.actions.root.change-dir') -187.627 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') -187.727 000.092 000.092: require('nvim-tree.actions.finders.find-file') -187.733 010.382 000.188: require('nvim-tree.lib') -187.844 000.105 000.105: require('nvim-tree.colors') -187.977 000.123 000.123: require('nvim-tree.legacy') -188.103 000.117 000.117: require('nvim-tree.actions.fs.copy-paste') -188.311 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') -188.412 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') -188.528 000.100 000.100: require('nvim-tree.actions.fs.create-file') -188.627 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -188.759 000.124 000.124: require('nvim-tree.actions.fs.trash') -188.868 000.102 000.102: require('nvim-tree.actions.fs.remove-file') -188.968 000.090 000.090: require('nvim-tree.actions.moves.parent') -189.062 000.087 000.087: require('nvim-tree.actions.moves.sibling') -189.156 000.086 000.086: require('nvim-tree.actions.moves.item') -189.268 000.094 000.094: require('nvim-tree.actions.finders.search-node') -189.360 000.085 000.085: require('nvim-tree.actions.node.run-command') -189.481 000.115 000.115: require('nvim-tree.actions.node.file-popup') -189.595 000.107 000.107: require('nvim-tree.actions.node.system-open') -189.699 000.093 000.093: require('nvim-tree.marks.bulk-move') -189.706 001.592 000.229: require('nvim-tree.actions.dispatch') -189.737 012.603 000.284: require('nvim-tree') -189.820 000.077 000.077: require('nvim-tree.config') -195.245 000.167 000.167: require('nvim-tree.actions') -195.381 000.118 000.118: require('nvim-tree.actions.node.open-file') -197.877 000.097 000.097: require('nvim-tree.marks.navigation') -197.889 000.284 000.187: require('nvim-tree.api') -197.910 000.428 000.144: require('nvim-tree.keymap') -198.962 000.411 000.411: require('nvim-web-devicons') -203.449 026.435 012.631: require('plugins.nvim-tree') -203.948 000.078 000.078: require('cmp.utils.debug') -204.204 000.164 000.164: require('cmp.utils.char') -204.222 000.265 000.101: require('cmp.utils.str') -204.360 000.086 000.086: require('cmp.utils.pattern') -204.639 000.089 000.089: require('cmp.utils.misc') -204.748 000.081 000.081: require('cmp.utils.buffer') -204.841 000.087 000.087: require('cmp.utils.api') -204.851 000.402 000.144: require('cmp.utils.keymap') -204.861 000.494 000.092: require('cmp.utils.feedkeys') -204.958 000.093 000.093: require('cmp.utils.async') -205.232 000.077 000.077: require('cmp.types.cmp') -205.419 000.180 000.180: require('cmp.types.lsp') -205.505 000.077 000.077: require('cmp.types.vim') -205.510 000.461 000.127: require('cmp.types') -205.590 000.075 000.075: require('cmp.utils.cache') -205.598 000.633 000.097: require('cmp.context') -205.876 000.091 000.091: require('cmp.config.mapping') -206.067 000.094 000.094: require('cmp.config.compare') -206.073 000.187 000.093: require('cmp.config.default') -206.096 000.395 000.117: require('cmp.config') -206.290 000.079 000.079: require('cmp.matcher') -206.301 000.199 000.121: require('cmp.entry') -206.316 000.713 000.118: require('cmp.source') -206.482 000.074 000.074: require('cmp.utils.event') -206.672 000.097 000.097: require('cmp.utils.window') -206.680 000.191 000.093: require('cmp.view.docs_view') -206.881 000.085 000.085: require('cmp.utils.autocmd') -206.901 000.217 000.132: require('cmp.view.custom_entries_view') -207.021 000.115 000.115: require('cmp.view.wildmenu_entries_view') -207.128 000.101 000.101: require('cmp.view.native_entries_view') -207.226 000.091 000.091: require('cmp.view.ghost_text_view') -207.241 000.921 000.133: require('cmp.view') -207.551 003.806 000.524: require('cmp.core') -207.833 000.088 000.088: require('cmp.config.sources') -207.918 000.075 000.075: require('cmp.config.window') -208.022 004.399 000.430: require('cmp') -208.430 000.115 000.115: require('symbols-outline.config') -208.437 000.202 000.088: require('symbols-outline.symbols') -208.533 000.092 000.092: require('symbols-outline.ui') -208.623 000.082 000.082: require('symbols-outline.utils.table') -208.708 000.079 000.079: require('symbols-outline.folding') -208.714 000.572 000.117: require('symbols-outline.parser') -208.801 000.082 000.082: require('symbols-outline.providers.init') -208.899 000.091 000.091: require('symbols-outline.writer') -208.991 000.084 000.084: require('symbols-outline.utils.init') -209.079 000.082 000.082: require('symbols-outline.view') -209.093 001.064 000.153: require('symbols-outline') -209.337 000.113 000.113: require('symbols-outline.preview') -209.455 000.103 000.103: require('lspkind') -211.394 007.929 002.250: require('plugins.cmp') -212.122 000.146 000.146: require('luasnip.session') -212.351 000.203 000.203: require('luasnip.util.util') -212.486 000.124 000.124: require('luasnip.util.types') -212.713 000.101 000.101: require('luasnip.util.ext_opts') -212.724 000.228 000.128: require('luasnip.nodes.util') -212.817 000.088 000.088: require('luasnip.util.events') -212.839 000.971 000.181: require('luasnip.nodes.node') -213.190 000.121 000.121: require('luasnip.util.extend_decorator') -213.204 000.358 000.237: require('luasnip.nodes.insertNode') -213.331 000.118 000.118: require('luasnip.nodes.textNode') -213.458 000.115 000.115: require('luasnip.util.mark') -214.414 000.848 000.848: require('luasnip.util._builtin_vars') -214.682 001.218 000.370: require('luasnip.util.environ') -214.880 000.182 000.182: require('luasnip.util.pattern_tokenizer') -214.984 000.096 000.096: require('luasnip.util.dict') -215.117 000.126 000.126: require('luasnip.session.snippet_collection') -215.296 003.580 000.396: require('luasnip.nodes.snippet') -215.525 000.094 000.094: require('luasnip.loaders._caches') -215.675 000.141 000.141: require('luasnip.util.path') -215.777 000.465 000.230: require('luasnip.loaders') -215.980 000.159 000.159: require('luasnip.nodes.functionNode') -216.157 000.167 000.167: require('luasnip.nodes.choiceNode') -216.350 000.185 000.185: require('luasnip.nodes.dynamicNode') -216.547 000.188 000.188: require('luasnip.nodes.restoreNode') -216.955 000.109 000.109: require('luasnip.util.parser.neovim_ast') -223.608 000.136 000.136: require('luasnip.util.directed_graph') -223.630 006.904 006.659: require('luasnip.util.parser.ast_utils') -223.885 000.112 000.112: require('luasnip.util.functions') -223.899 000.262 000.150: require('luasnip.util.parser.ast_parser') -224.142 000.238 000.238: require('luasnip.util.parser.neovim_parser') -224.251 000.096 000.096: require('luasnip.util.str') -224.269 007.657 000.157: require('luasnip.util.parser') -224.508 000.100 000.100: require('luasnip.extras.filetype_functions') -224.660 000.116 000.116: require('luasnip.extras') -224.780 000.108 000.108: require('luasnip.extras.fmt') -225.050 000.091 000.091: require('luasnip.extras.conditions') -225.144 000.086 000.086: require('luasnip.extras.conditions.show') -225.240 000.364 000.186: require('luasnip.extras.conditions.expand') -225.245 000.457 000.093: require('luasnip.extras.expand_conditions') -225.353 000.096 000.096: require('luasnip.nodes.absolute_indexer') -225.832 001.557 000.679: require('luasnip.config') -225.843 014.302 000.344: require('luasnip') -226.072 000.109 000.109: require('luasnip.loaders.util') -226.082 000.232 000.123: require('luasnip.loaders.from_lua') -235.982 024.573 010.038: require('plugins.luasnip') -236.388 000.142 000.142: require('colorizer/nvim') -236.678 000.283 000.283: require('colorizer/trie') -236.999 000.905 000.480: require('colorizer') -238.973 002.975 002.070: require('plugins.colorizer') -239.358 000.090 000.090: require('prettier.utils') -239.393 000.230 000.139: require('prettier.options') -240.074 000.251 000.251: require('null-ls.methods') -240.102 000.393 000.142: require('null-ls.utils') -240.615 000.504 000.504: require('vim.diagnostic') -240.642 001.030 000.133: require('null-ls.config') -240.849 000.108 000.108: require('null-ls.helpers.cache') -240.969 000.112 000.112: require('null-ls.helpers.diagnostics') -241.066 000.090 000.090: require('null-ls.helpers.formatter_factory') -241.288 000.092 000.092: require('null-ls.logger') -241.397 000.103 000.103: require('null-ls.state') -241.406 000.332 000.137: require('null-ls.helpers.generator_factory') -241.605 000.095 000.095: require('null-ls.helpers.command_resolver') -241.611 000.200 000.105: require('null-ls.helpers.make_builtin') -241.723 000.106 000.106: require('null-ls.helpers.range_formatting_args_factory') -241.728 001.079 000.131: require('null-ls.helpers') -241.953 000.107 000.107: require('null-ls.diagnostics') -241.970 000.238 000.131: require('null-ls.sources') -242.073 000.096 000.096: require('null-ls.builtins') -242.080 002.565 000.123: require('null-ls') -242.168 000.083 000.083: require('prettier.cli') -242.177 002.777 000.129: require('prettier.null-ls') -242.182 003.109 000.102: require('prettier') -242.564 000.127 000.127: require('null-ls.client') -242.576 003.590 000.354: require('plugins.prettier') -242.731 000.084 000.084: require('git') -242.827 000.089 000.089: require('git.config') -243.008 000.426 000.253: require('plugins.git') -243.301 000.090 000.090: require('gitsigns.async') -243.394 000.084 000.084: require('gitsigns.status') -243.643 000.102 000.102: require('gitsigns.debug') -243.765 000.115 000.115: require('gitsigns.util') -243.975 000.108 000.108: require('gitsigns.uv') -243.982 000.209 000.102: require('gitsigns.subprocess') -244.441 000.082 000.082: require('gitsigns.message') -244.474 000.267 000.185: require('gitsigns.config') -244.564 000.082 000.082: require('gitsigns.signs.base') -244.570 000.483 000.134: require('gitsigns.signs') -244.583 000.596 000.113: require('gitsigns.hunks') -244.600 001.200 000.177: require('gitsigns.git') -244.823 000.101 000.101: require('gitsigns.cache') -244.919 000.087 000.087: require('gitsigns.debounce') -245.009 000.081 000.081: require('gitsigns.diff') -245.031 000.426 000.156: require('gitsigns.manager') -245.149 000.111 000.111: require('gitsigns.highlight') -245.169 002.089 000.178: require('gitsigns') -246.882 000.116 000.116: require('gitsigns.signs.vimfn') -250.464 007.448 005.243: require('plugins.gitsigns') -250.953 000.119 000.119: require('neoscroll.config') -251.065 000.103 000.103: require('neoscroll.utils') -251.221 000.584 000.362: require('neoscroll') -252.027 001.541 000.957: require('plugins.neoscroll') -252.595 000.137 000.137: require('cmp_nvim_lsp.source') -252.604 000.255 000.118: require('cmp_nvim_lsp') -252.709 000.094 000.094: require('lspconfig') -252.858 000.103 000.103: require('lspconfig.server_configurations.pylsp') -253.529 000.127 000.127: require('mason-lspconfig.server_configurations.pylsp') -254.265 000.129 000.129: require('lspconfig.server_configurations.clangd') -256.456 000.130 000.130: require('lspconfig.server_configurations.vimls') -258.319 000.148 000.148: require('lspconfig.server_configurations.bashls') -260.058 000.129 000.129: require('lspconfig.server_configurations.sumneko_lua') -261.933 009.894 008.779: require('plugins.lsp') -262.304 000.091 000.091: require('nvim-autopairs._log') -262.439 000.127 000.127: require('nvim-autopairs.utils') -262.775 000.117 000.117: require('nvim-autopairs.conds') -262.786 000.233 000.116: require('nvim-autopairs.rule') -262.791 000.344 000.111: require('nvim-autopairs.rules.basic') -262.809 000.761 000.199: require('nvim-autopairs') -263.156 000.126 000.126: require('nvim-autopairs.fastwrap') -263.858 000.119 000.119: require('nvim-autopairs.ts-conds') -263.866 000.235 000.116: require('nvim-autopairs.rules.ts_basic') -264.161 000.290 000.290: require('vim.treesitter.highlighter') -265.272 000.100 000.100: require('nvim-autopairs.completion.handlers') -265.289 000.232 000.131: require('nvim-autopairs.completion.cmp') -265.309 003.365 001.721: require('plugins.autopairs') -265.537 000.146 000.146: require('null-ls.builtins.formatting.stylua') -265.707 000.155 000.155: require('null-ls.builtins.diagnostics.eslint') -265.835 000.117 000.117: require('null-ls.builtins.completion.spell') -266.313 000.997 000.578: require('plugins.null-ls') -266.399 000.075 000.075: require('plugins.web-devicons') -266.868 000.085 000.085: require('zen-mode.util') -266.979 000.293 000.208: require('zen-mode.config') -267.110 000.121 000.121: require('zen-mode.plugins') -267.124 000.570 000.156: require('zen-mode.view') -267.131 000.659 000.089: require('zen-mode') -267.249 000.842 000.183: require('plugins.zen-mode') -271.434 000.099 000.099: require('doom-one.utils') -271.555 000.111 000.111: require('doom-one.colors') -271.575 000.545 000.334: require('doom-one') -274.449 004.419 003.875: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -278.823 000.288 000.288: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/syntax/synload.vim -279.221 000.056 000.056: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -280.406 000.091 000.091: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/filetype.lua -281.957 001.346 001.346: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/filetype.vim -282.894 000.169 000.169: require('filetype') -282.961 006.162 004.212: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/syntax/syntax.vim -283.372 000.128 000.128: require('notify.stages.fade_in_slide_out') -283.438 016.180 005.471: require('plugins.colorscheme') -283.869 000.102 000.102: require('heirline.conditions') -284.047 000.169 000.169: require('heirline.utils') -284.417 000.100 000.100: require('heirline.highlights') -284.430 000.220 000.120: require('heirline.statusline') -284.439 000.357 000.137: require('heirline') -284.599 000.143 000.143: require('nvim-navic') -288.951 005.434 004.663: require('plugins.heirline') -289.097 195.691 003.851: sourcing /home/sxrdusr/.config/nvim/init.lua -289.120 007.170: sourcing vimrc file(s) -295.560 001.311 001.311: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/gzip.vim -295.772 000.089 000.089: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/health.vim -298.710 001.644 001.644: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -299.083 003.204 001.561: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/matchit.vim -299.537 000.391 000.391: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/matchparen.vim -299.681 000.077 000.077: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/netrwPlugin.vim -300.105 000.022 000.022: sourcing /home/sxrdusr/.local/share/nvim/rplugin.vim -300.127 000.383 000.361: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/rplugin.vim -300.381 000.194 000.194: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/shada.vim -300.512 000.051 000.051: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/spellfile.vim -300.644 000.061 000.061: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/tarPlugin.vim -300.778 000.062 000.062: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/tohtml.vim -300.906 000.046 000.046: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/tutor.vim -301.800 000.828 000.828: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/zipPlugin.vim -302.112 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -303.575 000.183 000.183: require('null-ls.builtins.diagnostics.checkmake') -303.901 000.146 000.146: require('fidget.log') -303.919 000.330 000.184: require('fidget') -304.098 000.160 000.160: require('fidget.spinners') -304.309 000.122 000.122: require('flit') -305.004 000.096 000.096: require('leap') -305.105 000.092 000.092: require('leap.user') -306.234 000.085 000.085: require('crates.time') -306.244 000.190 000.106: require('crates.types') -306.250 000.296 000.106: require('crates.semver') -306.815 000.480 000.480: require('crates.config') -306.971 000.146 000.146: require('crates.toml') -306.980 000.725 000.099: require('crates.state') -307.014 001.187 000.166: require('crates.util') -307.028 001.315 000.128: require('crates.actions') -307.265 000.135 000.135: require('crates.api') -307.357 000.084 000.084: require('crates.async') -307.503 000.140 000.140: require('crates.diagnostic') -307.619 000.106 000.106: require('crates.ui') -307.627 000.592 000.127: require('crates.core') -307.851 000.113 000.113: require('crates.popup.common') -307.972 000.114 000.114: require('crates.popup.crate') -308.133 000.154 000.154: require('crates.popup.dependencies') -308.278 000.138 000.138: require('crates.popup.features') -308.405 000.121 000.121: require('crates.popup.versions') -308.419 000.788 000.147: require('crates.popup') -308.430 002.834 000.138: require('crates') -311.422 000.324 000.324: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -313.408 011.151 007.010: sourcing /home/sxrdusr/.config/nvim/plugin/packer_compiled.lua -314.206 000.121 000.121: sourcing /tmp/.mount_nvimwnLBby/usr/share/nvim/runtime/plugin/man.lua -314.451 007.321: loading rtp plugins -316.541 000.095 000.095: require('Comment.config') -316.810 000.148 000.148: require('Comment.ft') -316.822 000.272 000.124: require('Comment.utils') -316.923 000.095 000.095: require('Comment.opfunc') -317.065 000.135 000.135: require('Comment.extra') -317.074 000.755 000.158: require('Comment.api') -317.241 001.007 000.252: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -317.602 000.188 000.188: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -318.340 000.486 000.486: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -319.111 000.144 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -319.713 000.038 000.038: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -321.430 001.142 001.142: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -321.995 000.072 000.072: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -322.653 000.365 000.365: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -323.242 000.110 000.110: require('cmp.utils.highlight') -324.018 000.991 000.881: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -324.243 000.031 000.031: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -324.565 000.078 000.078: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -325.055 000.170 000.170: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -325.677 000.218 000.218: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -326.427 000.103 000.103: require('nvim-treesitter.statusline') -326.556 000.120 000.120: require('nvim-treesitter.query_predicates') -326.563 000.360 000.137: require('nvim-treesitter') -327.471 001.383 001.023: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -328.012 000.321 000.321: require('treesitter-context') -328.023 000.364 000.043: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -328.536 000.225 000.225: require('nvim-treesitter-refactor') -328.798 000.517 000.292: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -329.157 000.101 000.101: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -329.588 000.081 000.081: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -329.917 000.094 000.094: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -330.405 000.027 000.027: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -330.694 000.044 000.044: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -331.100 000.065 000.065: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -331.707 000.129 000.129: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -332.250 000.333 000.333: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -332.949 000.385 000.385: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -333.234 000.028 000.028: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -333.515 000.046 000.046: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -334.666 011.687: loading packages -343.078 000.198 000.198: require('cmp_buffer.timer') -343.090 000.368 000.170: require('cmp_buffer.buffer') -343.099 000.558 000.190: require('cmp_buffer.source') -343.104 000.670 000.112: require('cmp_buffer') -343.156 000.814 000.144: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -343.583 000.179 000.179: require('cmp_cmdline') -343.619 000.302 000.124: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -343.904 000.117 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -344.295 000.155 000.155: require('cmp_path') -344.330 000.271 000.117: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -344.687 000.127 000.127: require('cmp_luasnip') -344.811 000.320 000.193: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -345.364 000.146 000.146: require('crates.src.common') -345.373 000.271 000.125: require('crates.src.cmp') -345.404 000.397 000.126: sourcing /home/sxrdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -345.477 008.590: loading after plugins -345.509 000.032: inits 3 -345.513 000.004: reading ShaDa -346.612 000.132 000.132: require('luasnip.nodes.snippetProxy') -346.624 000.366 000.235: require('luasnip.loaders.from_snipmate') -346.836 000.164 000.164: require('luasnip.loaders.from_vscode') -346.922 000.879: opening buffers -347.229 000.307: BufEnter autocommands -347.238 000.009: editing files in windows -367.135 000.246 000.246: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.041 001.041: --- NVIM STARTING --- -027.399 026.358: event init -043.704 016.305: early init -045.463 001.758: locale set -050.894 005.431: init first window -060.833 009.939: inits 1 -060.857 000.025: window checked -060.866 000.009: parsing arguments -072.401 000.282 000.282: require('vim.shared') -072.946 000.239 000.239: require('vim._meta') -072.962 000.538 000.300: require('vim._editor') -072.970 000.942 000.122: require('vim._init_packages') -072.978 011.170: init lua interpreter -073.141 000.164: expanding arguments -074.935 001.793: inits 2 -076.334 001.399: init highlight -076.345 000.011: waiting for UI -079.251 002.906: done waiting for UI -079.305 000.054: init screen for UI -079.698 000.393: init default mappings -079.734 000.035: init default autocommands -089.249 004.288 004.288: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/ftplugin.vim -092.440 001.075 001.075: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/indent.vim -093.081 000.061 000.061: sourcing /usr/share/nvim/archlinux.vim -093.111 000.199 000.138: sourcing /etc/xdg/nvim/sysinit.vim -126.233 032.691 032.691: require('impatient') -127.097 000.849 000.849: require('impatient.profile') -127.201 000.085 000.085: require('user.utils') -130.441 000.224 000.224: require('packer.util') -130.500 000.529 000.305: require('packer') -131.196 000.307 000.307: require('packer.log') -131.207 000.467 000.160: require('packer.async') -131.656 000.331 000.331: require('packer.result') -131.665 000.453 000.122: require('packer.jobs') -131.681 001.129 000.210: require('packer.plugin_utils') -131.878 000.174 000.174: require('packer.snapshot') -133.031 000.104 000.104: require('mason-core.path') -133.049 000.219 000.115: require('mason.settings') -133.319 000.141 000.141: require('mason-core.functional') -133.532 000.089 000.089: require('mason-core.functional.data') -133.545 000.204 000.114: require('mason-core.functional.function') -133.745 000.172 000.172: require('mason-core.functional.relation') -133.902 000.133 000.133: require('mason-core.functional.logic') -133.936 000.879 000.229: require('mason-core.platform') -133.940 001.415 000.317: require('mason') -134.406 000.174 000.174: require('mason-core.functional.list') -134.455 000.484 000.310: require('mason.api.command') -134.778 000.147 000.147: require('mason-core.log') -134.788 000.327 000.179: require('mason-lspconfig') -134.887 000.093 000.093: require('mason-lspconfig.settings') -135.275 000.083 000.083: require('mason-core.notify') -135.287 000.214 000.131: require('mason-lspconfig.lspconfig_hook') -136.881 000.336 000.336: require('vim.lsp.log') -138.475 000.016 000.016: require('vim.F') -138.485 001.591 001.575: require('vim.lsp.protocol') -139.198 000.306 000.306: require('vim.lsp._snippet') -139.433 000.226 000.226: require('vim.highlight') -139.467 000.974 000.442: require('vim.lsp.util') -139.490 003.432 000.531: require('vim.lsp.handlers') -139.841 000.344 000.344: require('vim.lsp.rpc') -140.136 000.284 000.284: require('vim.lsp.sync') -140.409 000.264 000.264: require('vim.lsp.buf') -140.663 000.246 000.246: require('vim.lsp.diagnostic') -140.918 000.246 000.246: require('vim.lsp.codelens') -141.092 005.670 000.855: require('vim.lsp') -141.229 005.937 000.267: require('lspconfig.util') -141.585 000.104 000.104: require('mason-core.functional.table') -141.676 000.353 000.249: require('mason-lspconfig.mappings.server') -142.004 000.116 000.116: require('mason-core.async') -142.154 000.136 000.136: require('mason-core.async.uv') -142.166 000.375 000.123: require('mason-core.fs') -142.340 000.168 000.168: require('mason-core.optional') -142.440 000.091 000.091: require('mason-core.EventEmitter') -142.642 000.196 000.196: require('mason-registry.index') -142.701 001.016 000.187: require('mason-registry') -142.810 000.099 000.099: require('mason-lspconfig.server_config_extensions') -142.932 000.115 000.115: require('lspconfig.configs') -143.106 000.110 000.110: require('lspconfig.server_configurations.omnisharp') -143.360 000.102 000.102: require('mason-lspconfig.ensure_installed') -143.714 000.098 000.098: require('mason-core.result') -144.251 000.269 000.269: require('mason-core.process') -144.412 000.574 000.305: require('mason-core.spawn') -144.545 000.121 000.121: require('mason-core.receipt') -144.659 000.097 000.097: require('mason-core.functional.string') -144.695 000.974 000.182: require('mason-core.installer.context') -144.805 000.102 000.102: require('mason-core.installer.linker') -144.914 000.102 000.102: require('mason-core.async.control') -144.922 001.424 000.147: require('mason-core.installer') -145.053 000.125 000.125: require('mason-core.installer.handle') -145.672 000.113 000.113: require('mason-core.managers.powershell') -145.681 000.255 000.141: require('mason-core.fetch') -145.685 000.385 000.131: require('mason-core.managers.cargo.client') -145.929 000.121 000.121: require('mason-core.managers.std') -146.233 000.174 000.174: require('mason-core.providers') -146.263 000.327 000.153: require('mason-core.managers.github.client') -146.278 000.589 000.141: require('mason-core.managers.github') -146.385 001.214 000.240: require('mason-core.managers.cargo') -146.536 000.143 000.143: require('mason-core.managers.composer') -146.680 000.137 000.137: require('mason-core.managers.gem') -146.798 000.111 000.111: require('mason-core.managers.git') -146.941 000.136 000.136: require('mason-core.managers.go') -147.116 000.168 000.168: require('mason-core.managers.luarocks') -147.258 000.135 000.135: require('mason-core.managers.npm') -147.420 000.155 000.155: require('mason-core.managers.pip3') -147.436 002.361 000.162: require('mason-core.package.version-check') -147.446 004.077 000.168: require('mason-core.package') -147.709 000.229 000.229: require('mason-registry.python-lsp-server') -147.983 000.111 000.111: require('mason-registry.pyright') -148.185 000.169 000.169: require('mason-registry.clangd') -148.352 000.137 000.137: require('mason-registry.lua-language-server') -148.577 000.092 000.092: require('mason-core.functional.number') -148.627 000.264 000.172: require('mason-lspconfig.api.command') -148.831 019.194 002.110: require('user.pack') -151.774 002.934 002.934: require('user.opts') -151.958 000.014 000.014: require('vim.keymap') -153.857 002.033 002.019: require('user.keys') -153.965 000.097 000.097: require('user.utils') -155.009 000.237 000.237: require('vim.treesitter.language') -155.028 000.697 000.460: require('vim.treesitter.query') -156.054 000.246 000.246: require('vim.treesitter.languagetree') -156.134 000.580 000.334: require('vim.treesitter') -156.470 001.215 000.635: require('nvim-treesitter.parsers') -156.672 000.187 000.187: require('nvim-treesitter.utils') -156.685 001.545 000.143: require('nvim-treesitter.ts_utils') -156.695 001.661 000.116: require('nvim-treesitter.tsrange') -156.807 000.104 000.104: require('nvim-treesitter.caching') -156.827 002.612 000.150: require('nvim-treesitter.query') -156.860 002.810 000.199: require('nvim-treesitter.configs') -157.326 000.109 000.109: require('nvim-treesitter.info') -157.469 000.133 000.133: require('nvim-treesitter.shell_command_selectors') -157.515 000.476 000.234: require('nvim-treesitter.install') -160.173 006.198 002.912: require('plugins.treesitter') -160.520 000.094 000.094: require('telescope._extensions') -160.530 000.205 000.111: require('telescope') -161.296 000.096 000.096: require('plenary.bit') -161.397 000.093 000.093: require('plenary.functional') -161.453 000.035 000.035: require('ffi') -161.476 000.426 000.202: require('plenary.path') -161.491 000.538 000.113: require('plenary.strings') -161.588 000.092 000.092: require('telescope.deprecated') -162.087 000.282 000.282: require('plenary.log') -162.127 000.403 000.122: require('telescope.log') -162.418 000.142 000.142: require('plenary.job') -162.517 000.090 000.090: require('telescope.state') -162.529 000.394 000.162: require('telescope.utils') -162.582 000.987 000.190: require('telescope.sorters') -162.718 000.109 000.109: require('vim.inspect') -166.647 005.856 004.130: require('telescope.config') -166.920 000.115 000.115: require('plenary.window.border') -167.016 000.087 000.087: require('plenary.window') -167.106 000.083 000.083: require('plenary.popup.utils') -167.117 000.456 000.171: require('plenary.popup') -167.219 000.096 000.096: require('telescope.pickers.scroller') -167.328 000.101 000.101: require('telescope.actions.state') -167.452 000.103 000.103: require('telescope.actions.utils') -167.675 000.105 000.105: require('telescope.actions.mt') -167.706 000.248 000.143: require('telescope.actions.set') -169.932 002.117 002.117: require('telescope.config.resolve') -169.949 002.237 000.120: require('telescope.pickers.entry_display') -170.061 000.104 000.104: require('telescope.from_entry') -170.539 010.003 000.801: require('telescope.actions') -172.087 000.150 000.150: require('plenary.tbl') -172.105 000.282 000.132: require('plenary.vararg.rotate') -172.109 000.397 000.115: require('plenary.vararg') -172.209 000.095 000.095: require('plenary.errors') -172.221 000.711 000.220: require('plenary.async.async') -172.336 000.110 000.110: require('plenary.async.structs') -172.355 001.065 000.244: require('plenary.async.control') -172.835 000.320 000.320: require('telescope.make_entry') -173.459 000.168 000.168: require('plenary.async.util') -173.469 000.357 000.189: require('plenary.async.tests') -173.474 000.499 000.142: require('plenary.async') -173.480 000.634 000.135: require('telescope.finders.async_static_finder') -173.829 000.094 000.094: require('plenary.class') -173.863 000.256 000.162: require('telescope._') -173.870 000.385 000.129: require('telescope.finders.async_oneshot_finder') -173.989 000.114 000.114: require('telescope.finders.async_job_finder') -174.006 001.642 000.190: require('telescope.finders') -174.451 000.167 000.167: require('telescope.debounce') -174.696 000.236 000.236: require('telescope.mappings') -174.857 000.150 000.150: require('telescope.pickers.highlights') -174.982 000.117 000.117: require('telescope.pickers.window') -175.242 000.128 000.128: require('telescope.algos.linked_list') -175.255 000.267 000.139: require('telescope.entry_manager') -175.368 000.107 000.107: require('telescope.pickers.multi') -175.408 001.395 000.352: require('telescope.pickers') -175.433 004.426 000.324: require('telescope.builtin.__lsp') -175.497 004.946 000.520: require('telescope.builtin') -175.926 000.287 000.287: require('fzf_lib') -175.944 000.438 000.151: require('telescope._extensions.fzf') -176.509 000.200 000.200: require('telescope._extensions.file_browser.utils') -176.636 000.543 000.343: require('telescope._extensions.file_browser.actions') -176.994 000.206 000.206: require('telescope._extensions.file_browser.make_entry') -177.203 000.195 000.195: require('plenary.scandir') -177.268 000.623 000.222: require('telescope._extensions.file_browser.finders') -177.401 000.125 000.125: require('telescope._extensions.file_browser.picker') -177.561 000.153 000.153: require('telescope._extensions.file_browser.config') -177.569 001.609 000.164: require('telescope._extensions.file_browser') -181.018 020.829 003.629: require('plugins.telescope') -182.591 000.099 000.099: require('notify.util.queue') -182.606 000.239 000.140: require('notify.util') -182.948 000.336 000.336: require('notify.config.highlights') -182.962 000.731 000.155: require('notify.config') -183.083 000.115 000.115: require('notify.stages') -183.199 000.108 000.108: require('notify.service.notification') -183.915 000.478 000.478: require('notify.animate.spring') -183.923 000.589 000.111: require('notify.animate') -183.951 000.745 000.156: require('notify.windows') -185.107 000.414 000.414: require('notify.service.buffer.highlights') -185.172 000.974 000.560: require('notify.service.buffer') -185.180 001.223 000.249: require('notify.service') -185.695 000.508 000.508: require('notify.stages.util') -185.860 003.771 000.341: require('notify') -186.112 000.244 000.244: require('nvim-tree.iterators.node-iterator') -186.261 004.344 000.329: require('nvim-tree.utils') -186.298 004.508 000.164: require('nvim-tree.events') -187.040 000.223 000.223: require('nvim-tree.log') -187.401 000.350 000.350: require('nvim-tree.git.utils') -187.733 000.323 000.323: require('nvim-tree.git.runner') -188.044 000.290 000.290: require('nvim-tree.watcher') -188.099 001.569 000.383: require('nvim-tree.git') -188.349 000.244 000.244: require('nvim-tree.explorer.watch') -188.589 000.233 000.233: require('nvim-tree.explorer.common') -189.102 000.229 000.229: require('nvim-tree.explorer.node-builders') -189.404 000.277 000.277: require('nvim-tree.explorer.sorters') -189.695 000.282 000.282: require('nvim-tree.explorer.filters') -190.724 000.711 000.711: require('nvim-tree.view') -190.808 001.087 000.377: require('nvim-tree.live-filter') -190.830 002.210 000.335: require('nvim-tree.explorer.explore') -191.155 000.309 000.309: require('nvim-tree.explorer.reload') -191.166 004.862 000.296: require('nvim-tree.explorer') -191.213 009.521 000.151: require('nvim-tree.core') -191.622 000.403 000.403: require('nvim-tree.diagnostics') -191.966 000.316 000.316: require('nvim-tree.renderer.components.padding') -192.426 000.450 000.450: require('nvim-tree.renderer.components.icons') -192.776 000.339 000.339: require('nvim-tree.renderer.components.full-name') -192.884 000.099 000.099: require('nvim-tree.renderer.help') -193.016 000.125 000.125: require('nvim-tree.renderer.components.git') -193.155 000.132 000.132: require('nvim-tree.renderer.builder') -193.260 000.098 000.098: require('nvim-tree.marks') -193.275 011.712 000.229: require('nvim-tree.renderer') -193.391 000.103 000.103: require('nvim-tree.actions.tree-modifiers.collapse-all') -193.482 000.084 000.084: require('nvim-tree.actions.root.dir-up') -193.588 000.099 000.099: require('nvim-tree.actions.root.change-dir') -193.694 000.098 000.098: require('nvim-tree.actions.reloaders.reloaders') -193.797 000.095 000.095: require('nvim-tree.actions.finders.find-file') -193.802 012.412 000.221: require('nvim-tree.lib') -193.919 000.111 000.111: require('nvim-tree.colors') -194.070 000.132 000.132: require('nvim-tree.legacy') -194.202 000.123 000.123: require('nvim-tree.actions.fs.copy-paste') -194.416 000.099 000.099: require('nvim-tree.actions.tree-modifiers.expand-all') -194.516 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') -194.633 000.101 000.101: require('nvim-tree.actions.fs.create-file') -194.734 000.092 000.092: require('nvim-tree.actions.fs.rename-file') -194.873 000.132 000.132: require('nvim-tree.actions.fs.trash') -195.000 000.119 000.119: require('nvim-tree.actions.fs.remove-file') -195.116 000.099 000.099: require('nvim-tree.actions.moves.parent') -195.211 000.088 000.088: require('nvim-tree.actions.moves.sibling') -195.307 000.087 000.087: require('nvim-tree.actions.moves.item') -195.419 000.093 000.093: require('nvim-tree.actions.finders.search-node') -195.512 000.086 000.086: require('nvim-tree.actions.node.run-command') -195.634 000.116 000.116: require('nvim-tree.actions.node.file-popup') -195.749 000.108 000.108: require('nvim-tree.actions.node.system-open') -195.859 000.098 000.098: require('nvim-tree.marks.bulk-move') -195.865 001.652 000.242: require('nvim-tree.actions.dispatch') -195.897 014.736 000.306: require('nvim-tree') -195.998 000.094 000.094: require('nvim-tree.config') -201.662 000.182 000.182: require('nvim-tree.actions') -201.803 000.122 000.122: require('nvim-tree.actions.node.open-file') -204.455 000.100 000.100: require('nvim-tree.marks.navigation') -204.467 000.293 000.193: require('nvim-tree.api') -204.489 000.442 000.149: require('nvim-tree.keymap') -205.358 000.400 000.400: require('nvim-web-devicons') -209.455 028.423 012.447: require('plugins.nvim-tree') -209.915 000.079 000.079: require('cmp.utils.debug') -210.127 000.120 000.120: require('cmp.utils.char') -210.141 000.217 000.097: require('cmp.utils.str') -210.275 000.081 000.081: require('cmp.utils.pattern') -210.550 000.088 000.088: require('cmp.utils.misc') -210.660 000.083 000.083: require('cmp.utils.buffer') -210.756 000.089 000.089: require('cmp.utils.api') -210.766 000.402 000.142: require('cmp.utils.keymap') -210.775 000.494 000.091: require('cmp.utils.feedkeys') -210.874 000.094 000.094: require('cmp.utils.async') -211.150 000.077 000.077: require('cmp.types.cmp') -211.264 000.107 000.107: require('cmp.types.lsp') -211.344 000.073 000.073: require('cmp.types.vim') -211.349 000.384 000.126: require('cmp.types') -211.428 000.074 000.074: require('cmp.utils.cache') -211.436 000.554 000.096: require('cmp.context') -211.716 000.092 000.092: require('cmp.config.mapping') -211.911 000.095 000.095: require('cmp.config.compare') -211.917 000.190 000.095: require('cmp.config.default') -211.941 000.403 000.122: require('cmp.config') -212.137 000.079 000.079: require('cmp.matcher') -212.148 000.201 000.122: require('cmp.entry') -212.163 000.723 000.119: require('cmp.source') -212.328 000.073 000.073: require('cmp.utils.event') -212.521 000.099 000.099: require('cmp.utils.window') -212.528 000.192 000.093: require('cmp.view.docs_view') -212.756 000.112 000.112: require('cmp.utils.autocmd') -212.777 000.245 000.133: require('cmp.view.custom_entries_view') -212.900 000.117 000.117: require('cmp.view.wildmenu_entries_view') -213.007 000.101 000.101: require('cmp.view.native_entries_view') -213.104 000.090 000.090: require('cmp.view.ghost_text_view') -213.120 000.952 000.134: require('cmp.view') -213.276 003.562 000.368: require('cmp.core') -213.583 000.086 000.086: require('cmp.config.sources') -213.667 000.074 000.074: require('cmp.config.window') -213.765 004.167 000.445: require('cmp') -214.175 000.114 000.114: require('symbols-outline.config') -214.181 000.200 000.086: require('symbols-outline.symbols') -214.277 000.091 000.091: require('symbols-outline.ui') -214.368 000.083 000.083: require('symbols-outline.utils.table') -214.455 000.080 000.080: require('symbols-outline.folding') -214.461 000.573 000.120: require('symbols-outline.parser') -214.549 000.083 000.083: require('symbols-outline.providers.init') -214.647 000.091 000.091: require('symbols-outline.writer') -214.741 000.086 000.086: require('symbols-outline.utils.init') -214.829 000.082 000.082: require('symbols-outline.view') -214.843 001.071 000.155: require('symbols-outline') -215.138 000.114 000.114: require('symbols-outline.preview') -215.257 000.105 000.105: require('lspkind') -217.233 007.766 002.310: require('plugins.cmp') -217.765 000.081 000.081: require('luasnip.session') -217.924 000.150 000.150: require('luasnip.util.util') -218.019 000.087 000.087: require('luasnip.util.types') -218.209 000.092 000.092: require('luasnip.util.ext_opts') -218.222 000.196 000.104: require('luasnip.nodes.util') -218.311 000.083 000.083: require('luasnip.util.events') -218.329 000.738 000.141: require('luasnip.nodes.node') -218.571 000.089 000.089: require('luasnip.util.extend_decorator') -218.585 000.251 000.161: require('luasnip.nodes.insertNode') -218.758 000.167 000.167: require('luasnip.nodes.textNode') -218.878 000.107 000.107: require('luasnip.util.mark') -219.646 000.663 000.663: require('luasnip.util._builtin_vars') -219.844 000.959 000.296: require('luasnip.util.environ') -219.970 000.116 000.116: require('luasnip.util.pattern_tokenizer') -220.061 000.083 000.083: require('luasnip.util.dict') -220.178 000.109 000.109: require('luasnip.session.snippet_collection') -220.291 002.839 000.309: require('luasnip.nodes.snippet') -220.503 000.094 000.094: require('luasnip.loaders._caches') -220.635 000.125 000.125: require('luasnip.util.path') -220.683 000.378 000.159: require('luasnip.loaders') -220.877 000.160 000.160: require('luasnip.nodes.functionNode') -221.097 000.210 000.210: require('luasnip.nodes.choiceNode') -221.254 000.149 000.149: require('luasnip.nodes.dynamicNode') -221.441 000.179 000.179: require('luasnip.nodes.restoreNode') -221.811 000.099 000.099: require('luasnip.util.parser.neovim_ast') -227.127 000.121 000.121: require('luasnip.util.directed_graph') -227.148 005.547 005.328: require('luasnip.util.parser.ast_utils') -227.372 000.094 000.094: require('luasnip.util.functions') -227.386 000.230 000.137: require('luasnip.util.parser.ast_parser') -227.576 000.185 000.185: require('luasnip.util.parser.neovim_parser') -227.679 000.094 000.094: require('luasnip.util.str') -227.710 006.214 000.158: require('luasnip.util.parser') -227.944 000.099 000.099: require('luasnip.extras.filetype_functions') -228.089 000.108 000.108: require('luasnip.extras') -228.207 000.104 000.104: require('luasnip.extras.fmt') -228.489 000.094 000.094: require('luasnip.extras.conditions') -228.583 000.087 000.087: require('luasnip.extras.conditions.show') -228.670 000.359 000.179: require('luasnip.extras.conditions.expand') -228.675 000.460 000.101: require('luasnip.extras.expand_conditions') -228.785 000.098 000.098: require('luasnip.nodes.absolute_indexer') -229.242 001.526 000.656: require('luasnip.config') -229.253 011.924 000.269: require('luasnip') -229.509 000.107 000.107: require('luasnip.loaders.util') -229.521 000.261 000.155: require('luasnip.loaders.from_lua') -239.452 022.206 010.020: require('plugins.luasnip') -239.855 000.147 000.147: require('colorizer/nvim') -240.053 000.189 000.189: require('colorizer/trie') -240.476 000.912 000.576: require('colorizer') -242.334 002.864 001.952: require('plugins.colorizer') -242.744 000.116 000.116: require('prettier.utils') -242.775 000.257 000.141: require('prettier.options') -243.454 000.252 000.252: require('null-ls.methods') -243.482 000.397 000.145: require('null-ls.utils') -244.058 000.567 000.567: require('vim.diagnostic') -244.090 001.103 000.139: require('null-ls.config') -244.296 000.094 000.094: require('null-ls.helpers.cache') -244.416 000.112 000.112: require('null-ls.helpers.diagnostics') -244.524 000.100 000.100: require('null-ls.helpers.formatter_factory') -244.751 000.098 000.098: require('null-ls.logger') -244.856 000.097 000.097: require('null-ls.state') -244.863 000.332 000.137: require('null-ls.helpers.generator_factory') -245.067 000.099 000.099: require('null-ls.helpers.command_resolver') -245.073 000.204 000.105: require('null-ls.helpers.make_builtin') -245.177 000.098 000.098: require('null-ls.helpers.range_formatting_args_factory') -245.182 001.084 000.143: require('null-ls.helpers') -245.405 000.108 000.108: require('null-ls.diagnostics') -245.420 000.234 000.126: require('null-ls.sources') -245.528 000.098 000.098: require('null-ls.builtins') -245.535 002.640 000.122: require('null-ls') -245.627 000.086 000.086: require('prettier.cli') -245.635 002.854 000.128: require('prettier.null-ls') -245.641 003.214 000.103: require('prettier') -246.030 003.683 000.470: require('plugins.prettier') -246.195 000.085 000.085: require('git') -246.289 000.087 000.087: require('git.config') -246.476 000.435 000.263: require('plugins.git') -246.781 000.090 000.090: require('gitsigns.async') -246.876 000.086 000.086: require('gitsigns.status') -247.133 000.105 000.105: require('gitsigns.debug') -247.238 000.098 000.098: require('gitsigns.util') -247.437 000.098 000.098: require('gitsigns.uv') -247.445 000.200 000.102: require('gitsigns.subprocess') -247.872 000.088 000.088: require('gitsigns.message') -247.905 000.269 000.181: require('gitsigns.config') -247.998 000.082 000.082: require('gitsigns.signs.base') -248.004 000.449 000.097: require('gitsigns.signs') -248.017 000.567 000.118: require('gitsigns.hunks') -248.034 001.152 000.183: require('gitsigns.git') -248.251 000.090 000.090: require('gitsigns.cache') -248.347 000.087 000.087: require('gitsigns.debounce') -248.437 000.080 000.080: require('gitsigns.diff') -248.461 000.422 000.163: require('gitsigns.manager') -248.580 000.112 000.112: require('gitsigns.highlight') -248.603 002.051 000.188: require('gitsigns') -250.515 000.122 000.122: require('gitsigns.signs.vimfn') -253.832 007.349 005.176: require('plugins.gitsigns') -254.299 000.111 000.111: require('neoscroll.config') -254.410 000.102 000.102: require('neoscroll.utils') -254.562 000.540 000.328: require('neoscroll') -255.206 001.349 000.808: require('plugins.neoscroll') -255.665 000.101 000.101: require('cmp_nvim_lsp.source') -255.674 000.234 000.132: require('cmp_nvim_lsp') -255.778 000.092 000.092: require('lspconfig') -255.933 000.106 000.106: require('lspconfig.server_configurations.pylsp') -256.583 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') -257.063 000.120 000.120: require('lspconfig.server_configurations.clangd') -259.505 000.146 000.146: require('lspconfig.server_configurations.sumneko_lua') -261.276 006.059 005.228: require('plugins.lsp') -261.647 000.093 000.093: require('nvim-autopairs._log') -261.772 000.117 000.117: require('nvim-autopairs.utils') -262.111 000.118 000.118: require('nvim-autopairs.conds') -262.122 000.239 000.121: require('nvim-autopairs.rule') -262.127 000.348 000.109: require('nvim-autopairs.rules.basic') -262.144 000.755 000.197: require('nvim-autopairs') -262.298 000.115 000.115: require('nvim-autopairs.fastwrap') -262.902 000.113 000.113: require('nvim-autopairs.ts-conds') -262.910 000.228 000.115: require('nvim-autopairs.rules.ts_basic') -263.205 000.286 000.286: require('vim.treesitter.highlighter') -264.327 000.095 000.095: require('nvim-autopairs.completion.handlers') -264.340 000.219 000.123: require('nvim-autopairs.completion.cmp') -264.369 003.079 001.477: require('plugins.autopairs') -264.612 000.154 000.154: require('null-ls.builtins.formatting.prettierd') -264.908 000.285 000.285: require('null-ls.builtins.formatting.stylua') -265.051 000.130 000.130: require('null-ls.builtins.formatting.shfmt') -265.887 000.142 000.142: require('null-ls.client') -265.942 001.566 000.856: require('plugins.null-ls') -266.044 000.094 000.094: require('plugins.web-devicons') -266.565 000.092 000.092: require('zen-mode.util') -266.620 000.280 000.189: require('zen-mode.config') -266.737 000.108 000.108: require('zen-mode.plugins') -266.750 000.545 000.156: require('zen-mode.view') -266.757 000.634 000.089: require('zen-mode') -266.821 000.768 000.134: require('plugins.zen-mode') -270.997 000.101 000.101: require('doom-one.utils') -271.118 000.109 000.109: require('doom-one.colors') -271.136 000.538 000.328: require('doom-one') -273.553 003.936 003.398: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -277.620 000.437 000.437: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/syntax/synload.vim -278.011 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -279.206 000.084 000.084: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/filetype.lua -280.826 001.299 001.299: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/filetype.vim -281.690 000.152 000.152: require('filetype') -281.754 006.209 004.180: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/syntax/syntax.vim -282.145 000.120 000.120: require('notify.stages.fade_in_slide_out') -282.208 015.378 005.113: require('plugins.colorscheme') -282.567 000.101 000.101: require('heirline.conditions') -282.750 000.175 000.175: require('heirline.utils') -283.109 000.095 000.095: require('heirline.highlights') -283.122 000.223 000.127: require('heirline.statusline') -283.131 000.344 000.121: require('heirline') -283.293 000.143 000.143: require('nvim-navic') -287.626 005.408 004.645: require('plugins.heirline') -287.783 194.571 003.233: sourcing /home/srdusr/.config/nvim/init.lua -287.805 007.939: sourcing vimrc file(s) -294.719 001.239 001.239: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/gzip.vim -294.963 000.106 000.106: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/health.vim -297.758 001.306 001.306: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -298.122 003.026 001.720: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/matchit.vim -298.615 000.393 000.393: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/matchparen.vim -298.760 000.078 000.078: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/netrwPlugin.vim -299.168 000.021 000.021: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -299.189 000.366 000.345: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/rplugin.vim -299.472 000.225 000.225: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/shada.vim -299.709 000.104 000.104: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/spellfile.vim -299.879 000.080 000.080: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/tarPlugin.vim -300.009 000.061 000.061: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/tohtml.vim -300.125 000.049 000.049: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/tutor.vim -300.802 000.610 000.610: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/zipPlugin.vim -301.070 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -302.445 000.111 000.111: require('leap') -302.561 000.101 000.101: require('leap.user') -303.633 000.209 000.209: require('fidget.log') -303.653 000.385 000.177: require('fidget') -303.831 000.156 000.156: require('fidget.spinners') -304.537 000.086 000.086: require('crates.time') -304.546 000.190 000.103: require('crates.types') -304.552 000.298 000.109: require('crates.semver') -306.435 001.797 001.797: require('crates.config') -306.594 000.148 000.148: require('crates.toml') -306.603 002.046 000.101: require('crates.state') -306.628 002.510 000.166: require('crates.util') -306.642 002.635 000.125: require('crates.actions') -306.897 000.148 000.148: require('crates.api') -306.991 000.087 000.087: require('crates.async') -307.108 000.109 000.109: require('crates.diagnostic') -307.218 000.101 000.101: require('crates.ui') -307.230 000.582 000.136: require('crates.core') -307.452 000.119 000.119: require('crates.popup.common') -307.569 000.110 000.110: require('crates.popup.crate') -307.692 000.116 000.116: require('crates.popup.dependencies') -307.828 000.130 000.130: require('crates.popup.features') -307.982 000.148 000.148: require('crates.popup.versions') -307.994 000.759 000.137: require('crates.popup') -308.007 004.109 000.133: require('crates') -310.363 000.125 000.125: require('flit') -311.755 000.472 000.472: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -314.026 012.812 007.353: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -314.827 000.096 000.096: sourcing /tmp/.mount_nvimOlrBTK/usr/share/nvim/runtime/plugin/man.lua -314.997 007.908: loading rtp plugins -317.052 000.095 000.095: require('Comment.config') -317.363 000.161 000.161: require('Comment.ft') -317.373 000.311 000.149: require('Comment.utils') -317.477 000.098 000.098: require('Comment.opfunc') -317.597 000.113 000.113: require('Comment.extra') -317.606 000.788 000.170: require('Comment.api') -317.813 001.081 000.293: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -318.153 000.161 000.161: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -318.880 000.470 000.470: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -319.681 000.136 000.136: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -320.292 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -322.143 001.279 001.279: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -322.700 000.105 000.105: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -323.355 000.360 000.360: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -324.009 000.143 000.143: require('cmp.utils.highlight') -324.643 000.878 000.735: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -324.861 000.031 000.031: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -325.180 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -325.664 000.175 000.175: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -326.324 000.221 000.221: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -327.047 000.107 000.107: require('nvim-treesitter.statusline') -327.182 000.125 000.125: require('nvim-treesitter.query_predicates') -327.189 000.365 000.133: require('nvim-treesitter') -328.428 001.687 001.322: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -329.010 000.358 000.358: require('treesitter-context') -329.021 000.403 000.045: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -329.525 000.194 000.194: require('nvim-treesitter-refactor') -329.956 000.669 000.475: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -330.325 000.109 000.109: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -330.758 000.082 000.082: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -331.086 000.093 000.093: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -331.570 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -331.849 000.043 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -332.217 000.061 000.061: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -332.890 000.155 000.155: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -333.441 000.339 000.339: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -334.125 000.372 000.372: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -334.407 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -334.691 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -335.679 011.555: loading packages -344.107 000.217 000.217: require('cmp_buffer.timer') -344.120 000.406 000.189: require('cmp_buffer.buffer') -344.125 000.587 000.181: require('cmp_buffer.source') -344.130 000.783 000.195: require('cmp_buffer') -344.204 000.996 000.214: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -344.620 000.191 000.191: require('cmp_cmdline') -344.657 000.297 000.106: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -344.931 000.118 000.118: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -345.302 000.157 000.157: require('cmp_path') -345.338 000.254 000.097: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -345.690 000.119 000.119: require('cmp_luasnip') -345.756 000.257 000.137: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -346.256 000.114 000.114: require('crates.src.common') -346.264 000.252 000.137: require('crates.src.cmp') -346.295 000.383 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -346.400 008.415: loading after plugins -346.432 000.032: inits 3 -346.444 000.012: reading ShaDa -347.650 000.132 000.132: require('luasnip.nodes.snippetProxy') -347.673 000.327 000.196: require('luasnip.loaders.from_snipmate') -347.898 000.134 000.134: require('luasnip.loaders.from_vscode') -348.005 001.100: opening buffers -348.277 000.272: BufEnter autocommands -348.286 000.009: editing files in windows -365.519 000.277 000.277: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.083 001.083: --- NVIM STARTING --- -026.761 025.678: event init -042.785 016.024: early init -044.473 001.688: locale set -049.857 005.384: init first window -059.787 009.930: inits 1 -059.818 000.031: window checked -059.828 000.010: parsing arguments -071.253 000.273 000.273: require('vim.shared') -071.781 000.254 000.254: require('vim._meta') -071.794 000.518 000.264: require('vim._editor') -071.802 000.921 000.129: require('vim._init_packages') -071.809 011.061: init lua interpreter -071.972 000.163: expanding arguments -073.779 001.807: inits 2 -075.136 001.357: init highlight -075.145 000.009: waiting for UI -078.095 002.950: done waiting for UI -078.147 000.052: init screen for UI -078.655 000.508: init default mappings -078.711 000.055: init default autocommands -089.436 003.882 003.882: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/ftplugin.vim -092.482 001.144 001.144: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/indent.vim -092.958 000.049 000.049: sourcing /usr/share/nvim/archlinux.vim -092.981 000.151 000.102: sourcing /etc/xdg/nvim/sysinit.vim -126.430 033.127 033.127: require('impatient') -127.403 000.956 000.956: require('impatient.profile') -127.539 000.114 000.114: require('user.utils') -131.135 000.249 000.249: require('packer.util') -131.201 000.588 000.338: require('packer') -132.212 000.538 000.538: require('packer.log') -132.228 000.721 000.182: require('packer.async') -132.555 000.194 000.194: require('packer.result') -132.568 000.333 000.139: require('packer.jobs') -132.583 001.323 000.270: require('packer.plugin_utils') -132.832 000.223 000.223: require('packer.snapshot') -134.833 000.387 000.387: require('mason-core.path') -134.855 000.811 000.424: require('mason.settings') -135.528 000.246 000.246: require('mason-core.functional') -135.837 000.162 000.162: require('mason-core.functional.data') -135.852 000.298 000.136: require('mason-core.functional.function') -136.056 000.170 000.170: require('mason-core.functional.relation') -136.280 000.197 000.197: require('mason-core.functional.logic') -136.317 001.454 000.542: require('mason-core.platform') -136.323 002.776 000.511: require('mason') -136.714 000.137 000.137: require('mason-core.functional.list') -136.782 000.424 000.288: require('mason.api.command') -137.117 000.189 000.189: require('mason-core.log') -137.129 000.339 000.150: require('mason-lspconfig') -137.243 000.108 000.108: require('mason-lspconfig.settings') -137.590 000.144 000.144: require('mason-core.notify') -137.604 000.284 000.140: require('mason-lspconfig.lspconfig_hook') -139.005 000.341 000.341: require('vim.lsp.log') -140.764 000.016 000.016: require('vim.F') -140.774 001.759 001.742: require('vim.lsp.protocol') -141.826 000.422 000.422: require('vim.lsp._snippet') -142.239 000.398 000.398: require('vim.highlight') -142.283 001.500 000.680: require('vim.lsp.util') -142.311 003.948 000.348: require('vim.lsp.handlers') -142.780 000.460 000.460: require('vim.lsp.rpc') -143.176 000.380 000.380: require('vim.lsp.sync') -143.808 000.620 000.620: require('vim.lsp.buf') -144.225 000.405 000.405: require('vim.lsp.diagnostic') -144.571 000.334 000.334: require('vim.lsp.codelens') -144.780 007.017 000.870: require('vim.lsp') -144.940 007.331 000.313: require('lspconfig.util') -145.278 000.122 000.122: require('mason-core.functional.table') -145.390 000.424 000.303: require('mason-lspconfig.mappings.server') -145.816 000.170 000.170: require('mason-core.async') -145.935 000.106 000.106: require('mason-core.async.uv') -145.952 000.428 000.152: require('mason-core.fs') -146.197 000.237 000.237: require('mason-core.optional') -146.368 000.159 000.159: require('mason-core.EventEmitter') -146.686 000.309 000.309: require('mason-registry.index') -146.798 001.397 000.265: require('mason-registry') -147.000 000.190 000.190: require('mason-lspconfig.server_config_extensions') -147.154 000.142 000.142: require('lspconfig.configs') -147.351 000.135 000.135: require('lspconfig.server_configurations.omnisharp') -147.678 000.129 000.129: require('mason-lspconfig.ensure_installed') -148.137 000.121 000.121: require('mason-core.result') -148.795 000.343 000.343: require('mason-core.process') -148.986 000.698 000.354: require('mason-core.spawn') -149.177 000.142 000.142: require('mason-core.receipt') -149.326 000.117 000.117: require('mason-core.functional.string') -149.364 001.216 000.259: require('mason-core.installer.context') -149.499 000.128 000.128: require('mason-core.installer.linker') -149.624 000.116 000.116: require('mason-core.async.control') -149.634 001.800 000.220: require('mason-core.installer') -149.790 000.150 000.150: require('mason-core.installer.handle') -150.599 000.154 000.154: require('mason-core.managers.powershell') -150.613 000.364 000.210: require('mason-core.fetch') -150.618 000.518 000.154: require('mason-core.managers.cargo.client') -150.904 000.142 000.142: require('mason-core.managers.std') -151.149 000.111 000.111: require('mason-core.providers') -151.181 000.268 000.157: require('mason-core.managers.github.client') -151.195 000.571 000.161: require('mason-core.managers.github') -151.242 001.311 000.222: require('mason-core.managers.cargo') -151.524 000.275 000.275: require('mason-core.managers.composer') -151.712 000.177 000.177: require('mason-core.managers.gem') -151.946 000.226 000.226: require('mason-core.managers.git') -152.215 000.257 000.257: require('mason-core.managers.go') -152.429 000.204 000.204: require('mason-core.managers.luarocks') -152.601 000.163 000.163: require('mason-core.managers.npm') -152.774 000.164 000.164: require('mason-core.managers.pip3') -152.788 002.975 000.197: require('mason-core.package.version-check') -152.803 005.115 000.190: require('mason-core.package') -152.985 000.157 000.157: require('mason-registry.python-lsp-server') -153.343 000.167 000.167: require('mason-registry.pyright') -153.613 000.192 000.192: require('mason-registry.clangd') -153.788 000.129 000.129: require('mason-registry.lua-language-server') -154.036 000.106 000.106: require('mason-core.functional.number') -154.092 000.293 000.187: require('mason-lspconfig.api.command') -154.179 023.930 002.064: require('user.pack') -158.417 004.230 004.230: require('user.opts') -158.596 000.014 000.014: require('vim.keymap') -160.800 002.369 002.355: require('user.keys') -160.916 000.104 000.104: require('user.utils') -161.821 000.234 000.234: require('vim.treesitter.language') -161.842 000.552 000.318: require('vim.treesitter.query') -162.977 000.286 000.286: require('vim.treesitter.languagetree') -163.071 000.678 000.392: require('vim.treesitter') -163.388 001.306 000.628: require('nvim-treesitter.parsers') -163.575 000.166 000.166: require('nvim-treesitter.utils') -163.591 001.628 000.156: require('nvim-treesitter.ts_utils') -163.602 001.754 000.126: require('nvim-treesitter.tsrange') -163.709 000.100 000.100: require('nvim-treesitter.caching') -163.733 002.564 000.158: require('nvim-treesitter.query') -163.766 002.761 000.197: require('nvim-treesitter.configs') -164.200 000.115 000.115: require('nvim-treesitter.info') -164.398 000.189 000.189: require('nvim-treesitter.shell_command_selectors') -164.446 000.546 000.242: require('nvim-treesitter.install') -166.885 005.959 002.652: require('plugins.treesitter') -167.219 000.098 000.098: require('telescope._extensions') -167.229 000.210 000.112: require('telescope') -168.033 000.100 000.100: require('plenary.bit') -168.146 000.105 000.105: require('plenary.functional') -168.207 000.039 000.039: require('ffi') -168.231 000.456 000.213: require('plenary.path') -168.246 000.573 000.118: require('plenary.strings') -168.344 000.092 000.092: require('telescope.deprecated') -168.746 000.177 000.177: require('plenary.log') -168.787 000.305 000.127: require('telescope.log') -169.091 000.153 000.153: require('plenary.job') -169.193 000.092 000.092: require('telescope.state') -169.209 000.414 000.170: require('telescope.utils') -169.272 000.921 000.202: require('telescope.sorters') -169.387 000.090 000.090: require('vim.inspect') -173.011 005.511 003.834: require('telescope.config') -173.297 000.117 000.117: require('plenary.window.border') -173.410 000.105 000.105: require('plenary.window') -173.509 000.091 000.091: require('plenary.popup.utils') -173.522 000.494 000.181: require('plenary.popup') -173.638 000.109 000.109: require('telescope.pickers.scroller') -173.746 000.102 000.102: require('telescope.actions.state') -173.878 000.110 000.110: require('telescope.actions.utils') -174.113 000.106 000.106: require('telescope.actions.mt') -174.152 000.267 000.161: require('telescope.actions.set') -174.393 000.127 000.127: require('telescope.config.resolve') -174.403 000.244 000.117: require('telescope.pickers.entry_display') -176.649 002.240 002.240: require('telescope.from_entry') -177.151 009.916 000.839: require('telescope.actions') -178.147 000.093 000.093: require('plenary.tbl') -178.162 000.214 000.121: require('plenary.vararg.rotate') -178.166 000.315 000.101: require('plenary.vararg') -178.262 000.091 000.091: require('plenary.errors') -178.274 000.540 000.135: require('plenary.async.async') -178.395 000.116 000.116: require('plenary.async.structs') -178.413 000.802 000.147: require('plenary.async.control') -178.915 000.357 000.357: require('telescope.make_entry') -179.451 000.128 000.128: require('plenary.async.util') -179.459 000.236 000.108: require('plenary.async.tests') -179.465 000.359 000.123: require('plenary.async') -179.472 000.542 000.183: require('telescope.finders.async_static_finder') -179.856 000.103 000.103: require('plenary.class') -179.889 000.291 000.189: require('telescope._') -179.896 000.418 000.127: require('telescope.finders.async_oneshot_finder') -180.026 000.125 000.125: require('telescope.finders.async_job_finder') -180.039 001.618 000.175: require('telescope.finders') -180.676 000.253 000.253: require('telescope.debounce') -180.944 000.257 000.257: require('telescope.mappings') -181.100 000.145 000.145: require('telescope.pickers.highlights') -181.223 000.113 000.113: require('telescope.pickers.window') -181.494 000.120 000.120: require('telescope.algos.linked_list') -181.514 000.285 000.165: require('telescope.entry_manager') -181.626 000.106 000.106: require('telescope.pickers.multi') -181.669 001.624 000.465: require('telescope.pickers') -181.692 004.291 000.246: require('telescope.builtin.__lsp') -181.753 004.590 000.300: require('telescope.builtin') -182.187 000.288 000.288: require('fzf_lib') -182.202 000.440 000.152: require('telescope._extensions.fzf') -182.805 000.193 000.193: require('telescope._extensions.file_browser.utils') -182.930 000.529 000.336: require('telescope._extensions.file_browser.actions') -183.286 000.197 000.197: require('telescope._extensions.file_browser.make_entry') -183.529 000.230 000.230: require('plenary.scandir') -183.588 000.651 000.225: require('telescope._extensions.file_browser.finders') -183.725 000.128 000.128: require('telescope._extensions.file_browser.picker') -183.884 000.152 000.152: require('telescope._extensions.file_browser.config') -183.891 001.623 000.163: require('telescope._extensions.file_browser') -187.705 020.809 004.030: require('plugins.telescope') -189.350 000.104 000.104: require('notify.util.queue') -189.362 000.235 000.131: require('notify.util') -189.634 000.266 000.266: require('notify.config.highlights') -189.646 000.659 000.158: require('notify.config') -189.764 000.111 000.111: require('notify.stages') -189.889 000.118 000.118: require('notify.service.notification') -190.866 000.421 000.421: require('notify.animate.spring') -190.874 000.842 000.420: require('notify.animate') -190.894 000.998 000.156: require('notify.windows') -191.707 000.285 000.285: require('notify.service.buffer.highlights') -191.732 000.543 000.257: require('notify.service.buffer') -191.748 000.848 000.305: require('notify.service') -192.043 000.290 000.290: require('notify.stages.util') -192.120 003.368 000.343: require('notify') -192.354 000.227 000.227: require('nvim-tree.iterators.node-iterator') -192.492 003.906 000.312: require('nvim-tree.utils') -192.532 004.074 000.168: require('nvim-tree.events') -193.205 000.193 000.193: require('nvim-tree.log') -193.564 000.350 000.350: require('nvim-tree.git.utils') -193.831 000.259 000.259: require('nvim-tree.git.runner') -194.095 000.258 000.258: require('nvim-tree.watcher') -194.132 001.380 000.321: require('nvim-tree.git') -194.350 000.213 000.213: require('nvim-tree.explorer.watch') -194.582 000.225 000.225: require('nvim-tree.explorer.common') -195.015 000.208 000.208: require('nvim-tree.explorer.node-builders') -195.230 000.206 000.206: require('nvim-tree.explorer.sorters') -195.485 000.248 000.248: require('nvim-tree.explorer.filters') -196.366 000.628 000.628: require('nvim-tree.view') -196.396 000.889 000.262: require('nvim-tree.live-filter') -196.413 001.823 000.272: require('nvim-tree.explorer.explore') -196.647 000.229 000.229: require('nvim-tree.explorer.reload') -196.664 004.126 000.256: require('nvim-tree.explorer') -196.680 008.324 000.124: require('nvim-tree.core') -196.993 000.306 000.306: require('nvim-tree.diagnostics') -197.260 000.246 000.246: require('nvim-tree.renderer.components.padding') -197.499 000.231 000.231: require('nvim-tree.renderer.components.icons') -197.697 000.191 000.191: require('nvim-tree.renderer.components.full-name') -197.795 000.090 000.090: require('nvim-tree.renderer.help') -197.918 000.116 000.116: require('nvim-tree.renderer.components.git') -198.048 000.123 000.123: require('nvim-tree.renderer.builder') -198.152 000.097 000.097: require('nvim-tree.marks') -198.164 009.942 000.218: require('nvim-tree.renderer') -198.276 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') -198.368 000.086 000.086: require('nvim-tree.actions.root.dir-up') -198.472 000.097 000.097: require('nvim-tree.actions.root.change-dir') -198.574 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') -198.677 000.094 000.094: require('nvim-tree.actions.finders.find-file') -198.682 010.621 000.207: require('nvim-tree.lib') -198.790 000.102 000.102: require('nvim-tree.colors') -198.923 000.123 000.123: require('nvim-tree.legacy') -199.051 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') -199.260 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') -199.359 000.091 000.091: require('nvim-tree.actions.tree-modifiers.toggles') -199.473 000.099 000.099: require('nvim-tree.actions.fs.create-file') -199.574 000.093 000.093: require('nvim-tree.actions.fs.rename-file') -199.704 000.121 000.121: require('nvim-tree.actions.fs.trash') -199.812 000.100 000.100: require('nvim-tree.actions.fs.remove-file') -199.912 000.090 000.090: require('nvim-tree.actions.moves.parent') -200.005 000.086 000.086: require('nvim-tree.actions.moves.sibling') -200.114 000.101 000.101: require('nvim-tree.actions.moves.item') -200.229 000.095 000.095: require('nvim-tree.actions.finders.search-node') -200.322 000.085 000.085: require('nvim-tree.actions.node.run-command') -200.438 000.110 000.110: require('nvim-tree.actions.node.file-popup') -200.553 000.108 000.108: require('nvim-tree.actions.node.system-open') -200.657 000.093 000.093: require('nvim-tree.marks.bulk-move') -200.664 001.602 000.231: require('nvim-tree.actions.dispatch') -200.695 012.857 000.291: require('nvim-tree') -200.780 000.079 000.079: require('nvim-tree.config') -205.802 000.171 000.171: require('nvim-tree.actions') -205.942 000.123 000.123: require('nvim-tree.actions.node.open-file') -208.560 000.097 000.097: require('nvim-tree.marks.navigation') -208.572 000.284 000.187: require('nvim-tree.api') -208.593 000.433 000.149: require('nvim-tree.keymap') -209.478 000.405 000.405: require('nvim-web-devicons') -213.872 026.154 012.087: require('plugins.nvim-tree') -214.371 000.082 000.082: require('cmp.utils.debug') -214.586 000.125 000.125: require('cmp.utils.char') -214.599 000.219 000.094: require('cmp.utils.str') -214.730 000.082 000.082: require('cmp.utils.pattern') -215.010 000.088 000.088: require('cmp.utils.misc') -215.123 000.083 000.083: require('cmp.utils.buffer') -215.222 000.092 000.092: require('cmp.utils.api') -215.233 000.410 000.146: require('cmp.utils.keymap') -215.242 000.504 000.094: require('cmp.utils.feedkeys') -215.342 000.095 000.095: require('cmp.utils.async') -215.625 000.081 000.081: require('cmp.types.cmp') -215.821 000.190 000.190: require('cmp.types.lsp') -215.912 000.081 000.081: require('cmp.types.vim') -215.918 000.483 000.131: require('cmp.types') -215.999 000.076 000.076: require('cmp.utils.cache') -216.007 000.658 000.099: require('cmp.context') -216.292 000.094 000.094: require('cmp.config.mapping') -216.489 000.096 000.096: require('cmp.config.compare') -216.496 000.193 000.096: require('cmp.config.default') -216.520 000.408 000.122: require('cmp.config') -216.723 000.079 000.079: require('cmp.matcher') -216.749 000.223 000.144: require('cmp.entry') -216.767 000.754 000.123: require('cmp.source') -216.939 000.074 000.074: require('cmp.utils.event') -217.133 000.101 000.101: require('cmp.utils.window') -217.141 000.194 000.093: require('cmp.view.docs_view') -217.390 000.132 000.132: require('cmp.utils.autocmd') -217.411 000.266 000.134: require('cmp.view.custom_entries_view') -217.536 000.118 000.118: require('cmp.view.wildmenu_entries_view') -217.648 000.105 000.105: require('cmp.view.native_entries_view') -217.747 000.093 000.093: require('cmp.view.ghost_text_view') -217.763 000.991 000.140: require('cmp.view') -217.864 003.701 000.315: require('cmp.core') -218.212 000.088 000.088: require('cmp.config.sources') -218.296 000.074 000.074: require('cmp.config.window') -218.418 004.381 000.518: require('cmp') -218.840 000.122 000.122: require('symbols-outline.config') -218.846 000.211 000.089: require('symbols-outline.symbols') -218.942 000.091 000.091: require('symbols-outline.ui') -219.032 000.082 000.082: require('symbols-outline.utils.table') -219.117 000.078 000.078: require('symbols-outline.folding') -219.124 000.583 000.121: require('symbols-outline.parser') -219.211 000.083 000.083: require('symbols-outline.providers.init') -219.311 000.093 000.093: require('symbols-outline.writer') -219.404 000.085 000.085: require('symbols-outline.utils.init') -219.493 000.083 000.083: require('symbols-outline.view') -219.507 001.081 000.155: require('symbols-outline') -219.745 000.115 000.115: require('symbols-outline.preview') -219.863 000.103 000.103: require('lspkind') -221.768 007.882 002.201: require('plugins.cmp') -222.312 000.082 000.082: require('luasnip.session') -222.474 000.153 000.153: require('luasnip.util.util') -222.565 000.083 000.083: require('luasnip.util.types') -222.759 000.094 000.094: require('luasnip.util.ext_opts') -222.772 000.200 000.106: require('luasnip.nodes.util') -222.862 000.084 000.084: require('luasnip.util.events') -222.881 000.748 000.144: require('luasnip.nodes.node') -223.125 000.093 000.093: require('luasnip.util.extend_decorator') -223.138 000.252 000.158: require('luasnip.nodes.insertNode') -223.261 000.118 000.118: require('luasnip.nodes.textNode') -223.372 000.099 000.099: require('luasnip.util.mark') -224.065 000.552 000.552: require('luasnip.util._builtin_vars') -224.319 000.940 000.388: require('luasnip.util.environ') -224.446 000.115 000.115: require('luasnip.util.pattern_tokenizer') -224.576 000.120 000.120: require('luasnip.util.dict') -224.734 000.149 000.149: require('luasnip.session.snippet_collection') -224.909 002.922 000.382: require('luasnip.nodes.snippet') -225.272 000.161 000.161: require('luasnip.loaders._caches') -225.490 000.201 000.201: require('luasnip.util.path') -225.561 000.626 000.263: require('luasnip.loaders') -225.817 000.212 000.212: require('luasnip.nodes.functionNode') -226.061 000.232 000.232: require('luasnip.nodes.choiceNode') -226.277 000.205 000.205: require('luasnip.nodes.dynamicNode') -226.488 000.202 000.202: require('luasnip.nodes.restoreNode') -226.966 000.105 000.105: require('luasnip.util.parser.neovim_ast') -234.713 000.155 000.155: require('luasnip.util.directed_graph') -234.744 008.020 007.760: require('luasnip.util.parser.ast_utils') -235.009 000.105 000.105: require('luasnip.util.functions') -235.025 000.272 000.167: require('luasnip.util.parser.ast_parser') -235.232 000.201 000.201: require('luasnip.util.parser.neovim_parser') -235.339 000.097 000.097: require('luasnip.util.str') -235.360 008.802 000.211: require('luasnip.util.parser') -235.594 000.101 000.101: require('luasnip.extras.filetype_functions') -235.791 000.157 000.157: require('luasnip.extras') -235.926 000.122 000.122: require('luasnip.extras.fmt') -236.227 000.113 000.113: require('luasnip.extras.conditions') -236.334 000.098 000.098: require('luasnip.extras.conditions.show') -236.427 000.400 000.188: require('luasnip.extras.conditions.expand') -236.433 000.499 000.099: require('luasnip.extras.expand_conditions') -236.544 000.098 000.098: require('luasnip.nodes.absolute_indexer') -237.125 001.758 000.780: require('luasnip.config') -237.137 015.277 000.319: require('luasnip') -237.375 000.112 000.112: require('luasnip.loaders.util') -237.386 000.242 000.130: require('luasnip.loaders.from_lua') -246.583 024.804 009.286: require('plugins.luasnip') -247.006 000.150 000.150: require('colorizer/nvim') -247.342 000.327 000.327: require('colorizer/trie') -247.657 000.966 000.489: require('colorizer') -249.459 002.860 001.894: require('plugins.colorizer') -249.842 000.088 000.088: require('prettier.utils') -249.875 000.226 000.138: require('prettier.options') -250.561 000.242 000.242: require('null-ls.methods') -250.590 000.387 000.145: require('null-ls.utils') -251.163 000.561 000.561: require('vim.diagnostic') -251.190 001.084 000.136: require('null-ls.config') -251.377 000.085 000.085: require('null-ls.helpers.cache') -251.497 000.113 000.113: require('null-ls.helpers.diagnostics') -251.594 000.090 000.090: require('null-ls.helpers.formatter_factory') -251.819 000.093 000.093: require('null-ls.logger') -251.921 000.096 000.096: require('null-ls.state') -251.932 000.330 000.142: require('null-ls.helpers.generator_factory') -252.133 000.100 000.100: require('null-ls.helpers.command_resolver') -252.140 000.202 000.102: require('null-ls.helpers.make_builtin') -252.249 000.103 000.103: require('null-ls.helpers.range_formatting_args_factory') -252.254 001.056 000.133: require('null-ls.helpers') -252.475 000.109 000.109: require('null-ls.diagnostics') -252.493 000.234 000.125: require('null-ls.sources') -252.593 000.093 000.093: require('null-ls.builtins') -252.600 002.614 000.146: require('null-ls') -252.691 000.083 000.083: require('prettier.cli') -252.700 002.819 000.122: require('prettier.null-ls') -252.705 003.147 000.102: require('prettier') -252.977 003.506 000.358: require('plugins.prettier') -253.143 000.085 000.085: require('git') -253.236 000.085 000.085: require('git.config') -253.445 000.458 000.288: require('plugins.git') -253.749 000.086 000.086: require('gitsigns.async') -253.845 000.086 000.086: require('gitsigns.status') -254.099 000.102 000.102: require('gitsigns.debug') -254.209 000.103 000.103: require('gitsigns.util') -254.406 000.100 000.100: require('gitsigns.uv') -254.413 000.197 000.097: require('gitsigns.subprocess') -254.834 000.083 000.083: require('gitsigns.message') -254.866 000.269 000.186: require('gitsigns.config') -254.955 000.081 000.081: require('gitsigns.signs.base') -254.965 000.447 000.097: require('gitsigns.signs') -254.974 000.557 000.110: require('gitsigns.hunks') -254.991 001.141 000.183: require('gitsigns.git') -255.208 000.087 000.087: require('gitsigns.cache') -255.302 000.085 000.085: require('gitsigns.debounce') -255.392 000.080 000.080: require('gitsigns.diff') -255.416 000.419 000.167: require('gitsigns.manager') -255.542 000.120 000.120: require('gitsigns.highlight') -255.565 002.043 000.192: require('gitsigns') -257.317 000.131 000.131: require('gitsigns.signs.vimfn') -259.693 006.240 004.066: require('plugins.gitsigns') -260.211 000.185 000.185: require('neoscroll.config') -260.330 000.109 000.109: require('neoscroll.utils') -260.481 000.619 000.325: require('neoscroll') -261.059 001.343 000.724: require('plugins.neoscroll') -261.737 000.097 000.097: require('cmp_nvim_lsp.source') -261.747 000.229 000.132: require('cmp_nvim_lsp') -261.883 000.103 000.103: require('lspconfig') -262.035 000.104 000.104: require('lspconfig.server_configurations.pylsp') -262.553 000.132 000.132: require('mason-lspconfig.server_configurations.pylsp') -263.252 000.131 000.131: require('lspconfig.server_configurations.clangd') -265.514 000.142 000.142: require('lspconfig.server_configurations.sumneko_lua') -267.453 006.384 005.542: require('plugins.lsp') -267.835 000.092 000.092: require('nvim-autopairs._log') -267.962 000.118 000.118: require('nvim-autopairs.utils') -268.296 000.118 000.118: require('nvim-autopairs.conds') -268.307 000.229 000.112: require('nvim-autopairs.rule') -268.313 000.343 000.114: require('nvim-autopairs.rules.basic') -268.332 000.765 000.211: require('nvim-autopairs') -268.485 000.119 000.119: require('nvim-autopairs.fastwrap') -269.044 000.113 000.113: require('nvim-autopairs.ts-conds') -269.052 000.228 000.115: require('nvim-autopairs.rules.ts_basic') -269.309 000.252 000.252: require('vim.treesitter.highlighter') -270.502 000.099 000.099: require('nvim-autopairs.completion.handlers') -270.516 000.223 000.125: require('nvim-autopairs.completion.cmp') -270.535 003.069 001.482: require('plugins.autopairs') -270.785 000.158 000.158: require('null-ls.builtins.formatting.prettierd') -270.925 000.127 000.127: require('null-ls.builtins.formatting.stylua') -271.050 000.115 000.115: require('null-ls.builtins.formatting.shfmt') -271.723 000.133 000.133: require('null-ls.client') -271.777 001.236 000.702: require('plugins.null-ls') -271.854 000.069 000.069: require('plugins.web-devicons') -272.336 000.084 000.084: require('zen-mode.util') -272.444 000.285 000.201: require('zen-mode.config') -272.556 000.102 000.102: require('zen-mode.plugins') -272.570 000.529 000.142: require('zen-mode.view') -272.576 000.649 000.121: require('zen-mode') -272.690 000.828 000.179: require('plugins.zen-mode') -276.692 000.100 000.100: require('doom-one.utils') -276.831 000.128 000.128: require('doom-one.colors') -276.850 000.560 000.332: require('doom-one') -279.534 004.218 003.658: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -283.621 000.279 000.279: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/syntax/synload.vim -283.994 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -285.084 000.078 000.078: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/filetype.lua -286.283 000.983 000.983: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/filetype.vim -287.090 000.152 000.152: require('filetype') -287.154 005.338 003.790: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/syntax/syntax.vim -287.529 000.123 000.123: require('notify.stages.fade_in_slide_out') -287.596 014.896 005.217: require('plugins.colorscheme') -287.968 000.116 000.116: require('heirline.conditions') -288.109 000.132 000.132: require('heirline.utils') -288.447 000.096 000.096: require('heirline.highlights') -288.460 000.220 000.124: require('heirline.statusline') -288.468 000.329 000.109: require('heirline') -288.738 000.151 000.151: require('nvim-navic') -293.261 005.656 004.928: require('plugins.heirline') -293.346 200.297 003.316: sourcing /home/srdusr/.config/nvim/init.lua -293.368 009.183: sourcing vimrc file(s) -299.158 000.991 000.991: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/gzip.vim -299.336 000.069 000.069: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/health.vim -301.912 001.325 001.325: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -302.312 002.912 001.586: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/matchit.vim -302.816 000.398 000.398: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/matchparen.vim -302.968 000.083 000.083: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/netrwPlugin.vim -303.376 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -303.417 000.385 000.363: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/rplugin.vim -303.683 000.201 000.201: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/shada.vim -303.812 000.051 000.051: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/spellfile.vim -303.947 000.062 000.062: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/tarPlugin.vim -304.079 000.060 000.060: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/tohtml.vim -304.193 000.046 000.046: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/tutor.vim -304.913 000.652 000.652: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/zipPlugin.vim -305.226 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -306.612 000.119 000.119: require('leap') -306.718 000.095 000.095: require('leap.user') -307.745 000.158 000.158: require('fidget.log') -307.764 000.374 000.216: require('fidget') -308.025 000.165 000.165: require('fidget.spinners') -308.736 000.084 000.084: require('crates.time') -308.746 000.188 000.104: require('crates.types') -308.752 000.295 000.107: require('crates.semver') -309.744 000.907 000.907: require('crates.config') -309.902 000.146 000.146: require('crates.toml') -309.911 001.154 000.100: require('crates.state') -309.939 001.612 000.164: require('crates.util') -309.949 001.733 000.121: require('crates.actions') -310.219 000.166 000.166: require('crates.api') -310.315 000.087 000.087: require('crates.async') -310.434 000.112 000.112: require('crates.diagnostic') -310.543 000.101 000.101: require('crates.ui') -310.552 000.596 000.131: require('crates.core') -310.773 000.114 000.114: require('crates.popup.common') -310.889 000.109 000.109: require('crates.popup.crate') -311.016 000.120 000.120: require('crates.popup.dependencies') -311.179 000.156 000.156: require('crates.popup.features') -311.308 000.122 000.122: require('crates.popup.versions') -311.323 000.766 000.145: require('crates.popup') -311.333 003.239 000.144: require('crates') -313.642 000.129 000.129: require('flit') -314.946 000.460 000.460: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -316.807 011.439 006.859: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -317.647 000.105 000.105: sourcing /tmp/.mount_nvimnaAIKk/usr/share/nvim/runtime/plugin/man.lua -317.817 006.953: loading rtp plugins -319.793 000.094 000.094: require('Comment.config') -320.133 000.194 000.194: require('Comment.ft') -320.146 000.344 000.150: require('Comment.utils') -320.253 000.100 000.100: require('Comment.opfunc') -320.367 000.107 000.107: require('Comment.extra') -320.376 000.808 000.163: require('Comment.api') -320.585 001.097 000.289: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -320.922 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -321.641 000.464 000.464: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -322.412 000.138 000.138: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -323.015 000.038 000.038: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -324.397 000.792 000.792: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -324.918 000.070 000.070: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -325.563 000.357 000.357: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -326.164 000.102 000.102: require('cmp.utils.highlight') -326.692 000.723 000.621: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -326.916 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -327.235 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -327.705 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -328.334 000.218 000.218: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -329.027 000.095 000.095: require('nvim-treesitter.statusline') -329.149 000.113 000.113: require('nvim-treesitter.query_predicates') -329.156 000.328 000.119: require('nvim-treesitter') -330.101 001.355 001.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -330.591 000.268 000.268: require('treesitter-context') -330.601 000.309 000.041: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -331.009 000.117 000.117: require('nvim-treesitter-refactor') -331.254 000.396 000.279: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -331.623 000.112 000.112: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -332.052 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -332.378 000.093 000.093: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -332.860 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -333.146 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -333.516 000.063 000.063: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -334.110 000.115 000.115: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -334.648 000.332 000.332: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -335.339 000.377 000.377: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -335.622 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -335.907 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -336.764 011.247: loading packages -343.713 000.087 000.087: require('cmp_buffer.timer') -343.725 000.204 000.117: require('cmp_buffer.buffer') -343.734 000.359 000.155: require('cmp_buffer.source') -343.739 000.459 000.100: require('cmp_buffer') -343.791 000.589 000.130: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -344.179 000.172 000.172: require('cmp_cmdline') -344.214 000.270 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -344.487 000.115 000.115: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -344.858 000.156 000.156: require('cmp_path') -344.893 000.255 000.099: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -345.227 000.112 000.112: require('cmp_luasnip') -345.293 000.243 000.131: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -345.798 000.143 000.143: require('crates.src.common') -345.806 000.266 000.123: require('crates.src.cmp') -345.836 000.394 000.127: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -345.941 007.311: loading after plugins -345.972 000.031: inits 3 -345.984 000.013: reading ShaDa -347.172 000.127 000.127: require('luasnip.nodes.snippetProxy') -347.187 000.285 000.158: require('luasnip.loaders.from_snipmate') -347.358 000.129 000.129: require('luasnip.loaders.from_vscode') -347.393 000.993: opening buffers -347.738 000.346: BufEnter autocommands -347.748 000.010: editing files in windows -368.378 000.399 000.399: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.016 001.016: --- NVIM STARTING --- -025.177 024.162: event init -040.668 015.491: early init -042.242 001.574: locale set -047.393 005.152: init first window -056.769 009.376: inits 1 -056.799 000.030: window checked -056.811 000.011: parsing arguments -067.992 000.263 000.263: require('vim.shared') -068.506 000.241 000.241: require('vim._meta') -068.520 000.506 000.265: require('vim._editor') -068.528 000.892 000.123: require('vim._init_packages') -068.536 010.833: init lua interpreter -068.713 000.176: expanding arguments -070.465 001.753: inits 2 -071.840 001.375: init highlight -071.850 000.010: waiting for UI -076.351 004.501: done waiting for UI -076.402 000.051: init screen for UI -076.769 000.367: init default mappings -076.805 000.036: init default autocommands -088.062 004.555 004.555: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/ftplugin.vim -091.189 001.063 001.063: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/indent.vim -091.661 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim -091.688 000.184 000.126: sourcing /etc/xdg/nvim/sysinit.vim -131.586 039.476 039.476: require('impatient') -132.746 001.141 001.141: require('impatient.profile') -132.882 000.112 000.112: require('user.utils') -137.003 000.292 000.292: require('packer.util') -137.072 000.682 000.389: require('packer') -138.239 000.626 000.626: require('packer.log') -138.257 000.836 000.210: require('packer.async') -138.632 000.219 000.219: require('packer.result') -138.648 000.382 000.163: require('packer.jobs') -138.663 001.525 000.307: require('packer.plugin_utils') -138.950 000.257 000.257: require('packer.snapshot') -141.120 000.413 000.413: require('mason-core.path') -141.143 000.871 000.458: require('mason.settings') -141.863 000.265 000.265: require('mason-core.functional') -142.140 000.116 000.116: require('mason-core.functional.data') -142.151 000.260 000.144: require('mason-core.functional.function') -142.400 000.209 000.209: require('mason-core.functional.relation') -142.663 000.234 000.234: require('mason-core.functional.logic') -142.754 001.601 000.634: require('mason-core.platform') -142.760 003.025 000.553: require('mason') -143.192 000.217 000.217: require('mason-core.functional.list') -143.250 000.452 000.235: require('mason.api.command') -143.574 000.177 000.177: require('mason-core.log') -143.589 000.331 000.153: require('mason-lspconfig') -143.732 000.137 000.137: require('mason-lspconfig.settings') -144.084 000.131 000.131: require('mason-core.notify') -144.098 000.292 000.161: require('mason-lspconfig.lspconfig_hook') -145.585 000.363 000.363: require('vim.lsp.log') -147.424 000.013 000.013: require('vim.F') -147.434 001.837 001.825: require('vim.lsp.protocol') -148.329 000.448 000.448: require('vim.lsp._snippet') -148.585 000.244 000.244: require('vim.highlight') -148.627 001.181 000.488: require('vim.lsp.util') -148.652 003.859 000.478: require('vim.lsp.handlers') -149.067 000.403 000.403: require('vim.lsp.rpc') -149.400 000.320 000.320: require('vim.lsp.sync') -149.932 000.516 000.516: require('vim.lsp.buf') -150.285 000.341 000.341: require('vim.lsp.diagnostic') -150.624 000.328 000.328: require('vim.lsp.codelens') -150.798 006.531 000.763: require('vim.lsp') -150.952 006.847 000.316: require('lspconfig.util') -151.448 000.129 000.129: require('mason-core.functional.table') -151.555 000.536 000.407: require('mason-lspconfig.mappings.server') -151.955 000.142 000.142: require('mason-core.async') -152.073 000.106 000.106: require('mason-core.async.uv') -152.090 000.396 000.148: require('mason-core.fs') -152.328 000.229 000.229: require('mason-core.optional') -152.553 000.180 000.180: require('mason-core.EventEmitter') -152.851 000.288 000.288: require('mason-registry.index') -152.882 001.317 000.223: require('mason-registry') -153.009 000.118 000.118: require('mason-lspconfig.server_config_extensions') -153.149 000.132 000.132: require('lspconfig.configs') -153.354 000.141 000.141: require('lspconfig.server_configurations.omnisharp') -153.678 000.126 000.126: require('mason-lspconfig.ensure_installed') -154.131 000.118 000.118: require('mason-core.result') -154.709 000.316 000.316: require('mason-core.process') -154.935 000.655 000.339: require('mason-core.spawn') -155.091 000.141 000.141: require('mason-core.receipt') -155.236 000.121 000.121: require('mason-core.functional.string') -155.273 001.131 000.214: require('mason-core.installer.context') -155.451 000.170 000.170: require('mason-core.installer.linker') -155.579 000.119 000.119: require('mason-core.async.control') -155.594 001.760 000.221: require('mason-core.installer') -155.791 000.190 000.190: require('mason-core.installer.handle') -156.477 000.136 000.136: require('mason-core.managers.powershell') -156.487 000.262 000.125: require('mason-core.fetch') -156.491 000.373 000.112: require('mason-core.managers.cargo.client') -156.781 000.145 000.145: require('mason-core.managers.std') -157.036 000.113 000.113: require('mason-core.providers') -157.068 000.278 000.165: require('mason-core.managers.github.client') -157.087 000.590 000.167: require('mason-core.managers.github') -157.128 001.163 000.200: require('mason-core.managers.cargo') -157.396 000.261 000.261: require('mason-core.managers.composer') -157.610 000.204 000.204: require('mason-core.managers.gem') -157.846 000.227 000.227: require('mason-core.managers.git') -158.115 000.258 000.258: require('mason-core.managers.go') -158.347 000.222 000.222: require('mason-core.managers.luarocks') -158.521 000.166 000.166: require('mason-core.managers.npm') -158.699 000.169 000.169: require('mason-core.managers.pip3') -158.717 002.901 000.231: require('mason-core.package.version-check') -158.729 005.041 000.190: require('mason-core.package') -158.981 000.199 000.199: require('mason-registry.python-lsp-server') -159.388 000.225 000.225: require('mason-registry.pyright') -159.591 000.170 000.170: require('mason-registry.clangd') -159.798 000.143 000.143: require('mason-registry.lua-language-server') -160.065 000.109 000.109: require('mason-core.functional.number') -160.130 000.320 000.211: require('mason-lspconfig.api.command') -160.227 024.263 002.247: require('user.pack') -164.349 004.113 004.113: require('user.opts') -164.529 000.017 000.017: require('vim.keymap') -166.976 002.613 002.595: require('user.keys') -167.104 000.115 000.115: require('user.utils') -168.125 000.201 000.201: require('vim.treesitter.language') -168.149 000.607 000.406: require('vim.treesitter.query') -169.314 000.305 000.305: require('vim.treesitter.languagetree') -169.420 000.637 000.332: require('vim.treesitter') -169.779 001.356 000.719: require('nvim-treesitter.parsers') -169.945 000.156 000.156: require('nvim-treesitter.utils') -169.972 001.684 000.173: require('nvim-treesitter.ts_utils') -169.986 001.828 000.144: require('nvim-treesitter.tsrange') -170.110 000.116 000.116: require('nvim-treesitter.caching') -170.133 002.729 000.178: require('nvim-treesitter.query') -170.171 002.956 000.227: require('nvim-treesitter.configs') -170.660 000.132 000.132: require('nvim-treesitter.info') -170.832 000.161 000.161: require('nvim-treesitter.shell_command_selectors') -170.890 000.572 000.280: require('nvim-treesitter.install') -173.491 006.376 002.847: require('plugins.treesitter') -173.882 000.118 000.118: require('telescope._extensions') -173.894 000.246 000.127: require('telescope') -174.805 000.115 000.115: require('plenary.bit') -174.927 000.112 000.112: require('plenary.functional') -175.029 000.050 000.050: require('ffi') -175.058 000.546 000.268: require('plenary.path') -175.076 000.679 000.133: require('plenary.strings') -175.190 000.108 000.108: require('telescope.deprecated') -175.699 000.199 000.199: require('plenary.log') -175.745 000.344 000.145: require('telescope.log') -176.104 000.174 000.174: require('plenary.job') -176.218 000.103 000.103: require('telescope.state') -176.237 000.483 000.206: require('telescope.utils') -176.299 001.101 000.273: require('telescope.sorters') -176.440 000.113 000.113: require('vim.inspect') -180.461 006.264 004.263: require('telescope.config') -180.773 000.131 000.131: require('plenary.window.border') -180.884 000.102 000.102: require('plenary.window') -180.988 000.095 000.095: require('plenary.popup.utils') -181.001 000.524 000.196: require('plenary.popup') -181.119 000.112 000.112: require('telescope.pickers.scroller') -181.236 000.109 000.109: require('telescope.actions.state') -181.422 000.157 000.157: require('telescope.actions.utils') -181.674 000.113 000.113: require('telescope.actions.mt') -181.723 000.288 000.175: require('telescope.actions.set') -185.080 000.249 000.249: require('telescope.config.resolve') -185.098 003.368 003.119: require('telescope.pickers.entry_display') -185.209 000.104 000.104: require('telescope.from_entry') -185.728 011.827 000.902: require('telescope.actions') -187.024 000.115 000.115: require('plenary.tbl') -187.038 000.249 000.134: require('plenary.vararg.rotate') -187.042 000.375 000.126: require('plenary.vararg') -187.152 000.105 000.105: require('plenary.errors') -187.168 000.673 000.193: require('plenary.async.async') -187.306 000.132 000.132: require('plenary.async.structs') -187.323 000.977 000.173: require('plenary.async.control') -187.796 000.303 000.303: require('telescope.make_entry') -188.275 000.129 000.129: require('plenary.async.util') -188.284 000.239 000.111: require('plenary.async.tests') -188.289 000.359 000.120: require('plenary.async') -188.299 000.490 000.130: require('telescope.finders.async_static_finder') -188.667 000.103 000.103: require('plenary.class') -188.707 000.276 000.173: require('telescope._') -188.714 000.409 000.132: require('telescope.finders.async_oneshot_finder') -188.842 000.123 000.123: require('telescope.finders.async_job_finder') -188.855 001.523 000.200: require('telescope.finders') -189.365 000.208 000.208: require('telescope.debounce') -189.617 000.240 000.240: require('telescope.mappings') -189.775 000.144 000.144: require('telescope.pickers.highlights') -189.917 000.133 000.133: require('telescope.pickers.window') -190.191 000.128 000.128: require('telescope.algos.linked_list') -190.202 000.278 000.150: require('telescope.entry_manager') -190.338 000.127 000.127: require('telescope.pickers.multi') -190.385 001.523 000.394: require('telescope.pickers') -190.408 004.255 000.231: require('telescope.builtin.__lsp') -190.476 004.679 000.424: require('telescope.builtin') -190.945 000.306 000.306: require('fzf_lib') -190.964 000.479 000.174: require('telescope._extensions.fzf') -191.530 000.189 000.189: require('telescope._extensions.file_browser.utils') -191.695 000.574 000.385: require('telescope._extensions.file_browser.actions') -192.084 000.226 000.226: require('telescope._extensions.file_browser.make_entry') -192.318 000.219 000.219: require('plenary.scandir') -192.385 000.680 000.234: require('telescope._extensions.file_browser.finders') -192.572 000.179 000.179: require('telescope._extensions.file_browser.picker') -192.789 000.204 000.204: require('telescope._extensions.file_browser.config') -192.798 001.816 000.178: require('telescope._extensions.file_browser') -196.373 022.868 003.820: require('plugins.telescope') -198.321 000.151 000.151: require('notify.util.queue') -198.349 000.352 000.201: require('notify.util') -198.655 000.300 000.300: require('notify.config.highlights') -198.676 000.878 000.226: require('notify.config') -198.786 000.103 000.103: require('notify.stages') -198.899 000.105 000.105: require('notify.service.notification') -199.693 000.544 000.544: require('notify.animate.spring') -199.702 000.649 000.105: require('notify.animate') -199.725 000.819 000.169: require('notify.windows') -200.602 000.305 000.305: require('notify.service.buffer.highlights') -200.631 000.644 000.339: require('notify.service.buffer') -200.650 000.920 000.276: require('notify.service') -201.309 000.654 000.654: require('notify.stages.util') -201.420 003.906 000.426: require('notify') -201.685 000.256 000.256: require('nvim-tree.iterators.node-iterator') -201.851 004.515 000.353: require('nvim-tree.utils') -201.890 004.697 000.182: require('nvim-tree.events') -202.752 000.291 000.291: require('nvim-tree.log') -203.076 000.311 000.311: require('nvim-tree.git.utils') -203.386 000.303 000.303: require('nvim-tree.git.runner') -203.686 000.292 000.292: require('nvim-tree.watcher') -203.713 001.543 000.347: require('nvim-tree.git') -203.972 000.253 000.253: require('nvim-tree.explorer.watch') -204.224 000.245 000.245: require('nvim-tree.explorer.common') -204.777 000.270 000.270: require('nvim-tree.explorer.node-builders') -205.016 000.228 000.228: require('nvim-tree.explorer.sorters') -205.321 000.297 000.297: require('nvim-tree.explorer.filters') -206.417 000.781 000.781: require('nvim-tree.view') -206.508 001.168 000.387: require('nvim-tree.live-filter') -206.540 002.308 000.344: require('nvim-tree.explorer.explore') -206.934 000.384 000.384: require('nvim-tree.explorer.reload') -206.968 005.071 000.338: require('nvim-tree.explorer') -207.001 009.907 000.139: require('nvim-tree.core') -207.443 000.433 000.433: require('nvim-tree.diagnostics') -207.793 000.318 000.318: require('nvim-tree.renderer.components.padding') -208.176 000.371 000.371: require('nvim-tree.renderer.components.icons') -208.481 000.293 000.293: require('nvim-tree.renderer.components.full-name') -208.592 000.101 000.101: require('nvim-tree.renderer.help') -208.722 000.122 000.122: require('nvim-tree.renderer.components.git') -208.890 000.160 000.160: require('nvim-tree.renderer.builder') -209.001 000.101 000.101: require('nvim-tree.marks') -209.013 012.050 000.244: require('nvim-tree.renderer') -209.129 000.103 000.103: require('nvim-tree.actions.tree-modifiers.collapse-all') -209.250 000.114 000.114: require('nvim-tree.actions.root.dir-up') -209.362 000.104 000.104: require('nvim-tree.actions.root.change-dir') -209.469 000.099 000.099: require('nvim-tree.actions.reloaders.reloaders') -209.573 000.096 000.096: require('nvim-tree.actions.finders.find-file') -209.579 012.787 000.221: require('nvim-tree.lib') -209.692 000.106 000.106: require('nvim-tree.colors') -209.826 000.124 000.124: require('nvim-tree.legacy') -209.958 000.122 000.122: require('nvim-tree.actions.fs.copy-paste') -210.173 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') -210.278 000.097 000.097: require('nvim-tree.actions.tree-modifiers.toggles') -210.396 000.102 000.102: require('nvim-tree.actions.fs.create-file') -210.499 000.094 000.094: require('nvim-tree.actions.fs.rename-file') -210.635 000.128 000.128: require('nvim-tree.actions.fs.trash') -210.745 000.102 000.102: require('nvim-tree.actions.fs.remove-file') -210.846 000.090 000.090: require('nvim-tree.actions.moves.parent') -210.943 000.090 000.090: require('nvim-tree.actions.moves.sibling') -211.041 000.089 000.089: require('nvim-tree.actions.moves.item') -211.156 000.096 000.096: require('nvim-tree.actions.finders.search-node') -211.252 000.088 000.088: require('nvim-tree.actions.node.run-command') -211.374 000.116 000.116: require('nvim-tree.actions.node.file-popup') -211.491 000.110 000.110: require('nvim-tree.actions.node.system-open') -211.598 000.096 000.096: require('nvim-tree.marks.bulk-move') -211.605 001.636 000.236: require('nvim-tree.actions.dispatch') -211.636 015.115 000.339: require('nvim-tree') -211.723 000.081 000.081: require('nvim-tree.config') -216.397 000.181 000.181: require('nvim-tree.actions') -216.541 000.126 000.126: require('nvim-tree.actions.node.open-file') -219.115 000.100 000.100: require('nvim-tree.marks.navigation') -219.127 000.295 000.196: require('nvim-tree.api') -219.149 000.446 000.150: require('nvim-tree.keymap') -220.025 000.394 000.394: require('nvim-web-devicons') -224.206 027.820 011.477: require('plugins.nvim-tree') -224.669 000.079 000.079: require('cmp.utils.debug') -224.883 000.121 000.121: require('cmp.utils.char') -224.897 000.219 000.099: require('cmp.utils.str') -225.033 000.083 000.083: require('cmp.utils.pattern') -225.312 000.089 000.089: require('cmp.utils.misc') -225.423 000.083 000.083: require('cmp.utils.buffer') -225.520 000.090 000.090: require('cmp.utils.api') -225.531 000.405 000.143: require('cmp.utils.keymap') -225.567 000.526 000.121: require('cmp.utils.feedkeys') -225.675 000.101 000.101: require('cmp.utils.async') -225.984 000.082 000.082: require('cmp.types.cmp') -226.180 000.188 000.188: require('cmp.types.lsp') -226.270 000.080 000.080: require('cmp.types.vim') -226.275 000.505 000.154: require('cmp.types') -226.357 000.077 000.077: require('cmp.utils.cache') -226.365 000.682 000.101: require('cmp.context') -226.648 000.094 000.094: require('cmp.config.mapping') -226.846 000.095 000.095: require('cmp.config.compare') -226.852 000.192 000.097: require('cmp.config.default') -226.876 000.407 000.121: require('cmp.config') -227.074 000.080 000.080: require('cmp.matcher') -227.085 000.204 000.124: require('cmp.entry') -227.100 000.730 000.119: require('cmp.source') -227.268 000.076 000.076: require('cmp.utils.event') -227.463 000.101 000.101: require('cmp.utils.window') -227.471 000.195 000.094: require('cmp.view.docs_view') -227.674 000.086 000.086: require('cmp.utils.autocmd') -227.694 000.218 000.132: require('cmp.view.custom_entries_view') -227.815 000.116 000.116: require('cmp.view.wildmenu_entries_view') -227.925 000.103 000.103: require('cmp.view.native_entries_view') -228.024 000.093 000.093: require('cmp.view.ghost_text_view') -228.038 000.934 000.133: require('cmp.view') -228.105 003.639 000.284: require('cmp.core') -228.404 000.087 000.087: require('cmp.config.sources') -228.490 000.076 000.076: require('cmp.config.window') -228.591 004.243 000.442: require('cmp') -229.006 000.116 000.116: require('symbols-outline.config') -229.012 000.206 000.090: require('symbols-outline.symbols') -229.109 000.092 000.092: require('symbols-outline.ui') -229.277 000.159 000.159: require('symbols-outline.utils.table') -229.373 000.087 000.087: require('symbols-outline.folding') -229.380 000.667 000.123: require('symbols-outline.parser') -229.478 000.093 000.093: require('symbols-outline.providers.init') -229.586 000.100 000.100: require('symbols-outline.writer') -229.681 000.087 000.087: require('symbols-outline.utils.init') -229.771 000.084 000.084: require('symbols-outline.view') -229.786 001.187 000.156: require('symbols-outline') -230.026 000.115 000.115: require('symbols-outline.preview') -230.191 000.150 000.150: require('lspkind') -232.001 007.783 002.088: require('plugins.cmp') -232.565 000.110 000.110: require('luasnip.session') -232.717 000.142 000.142: require('luasnip.util.util') -232.811 000.086 000.086: require('luasnip.util.types') -233.006 000.091 000.091: require('luasnip.util.ext_opts') -233.016 000.194 000.103: require('luasnip.nodes.util') -233.107 000.085 000.085: require('luasnip.util.events') -233.128 000.768 000.151: require('luasnip.nodes.node') -233.374 000.095 000.095: require('luasnip.util.extend_decorator') -233.386 000.252 000.158: require('luasnip.nodes.insertNode') -233.510 000.118 000.118: require('luasnip.nodes.textNode') -233.622 000.100 000.100: require('luasnip.util.mark') -234.401 000.676 000.676: require('luasnip.util._builtin_vars') -234.660 001.032 000.356: require('luasnip.util.environ') -234.782 000.112 000.112: require('luasnip.util.pattern_tokenizer') -234.876 000.086 000.086: require('luasnip.util.dict') -234.998 000.115 000.115: require('luasnip.session.snippet_collection') -235.107 002.889 000.305: require('luasnip.nodes.snippet') -235.322 000.090 000.090: require('luasnip.loaders._caches') -235.458 000.128 000.128: require('luasnip.util.path') -235.508 000.387 000.168: require('luasnip.loaders') -235.694 000.154 000.154: require('luasnip.nodes.functionNode') -235.883 000.180 000.180: require('luasnip.nodes.choiceNode') -236.041 000.148 000.148: require('luasnip.nodes.dynamicNode') -236.222 000.175 000.175: require('luasnip.nodes.restoreNode') -236.605 000.101 000.101: require('luasnip.util.parser.neovim_ast') -241.022 000.117 000.117: require('luasnip.util.directed_graph') -241.039 004.651 004.433: require('luasnip.util.parser.ast_utils') -241.265 000.095 000.095: require('luasnip.util.functions') -241.279 000.233 000.138: require('luasnip.util.parser.ast_parser') -241.479 000.194 000.194: require('luasnip.util.parser.neovim_parser') -241.585 000.097 000.097: require('luasnip.util.str') -241.599 005.324 000.148: require('luasnip.util.parser') -241.835 000.098 000.098: require('luasnip.extras.filetype_functions') -241.982 000.110 000.110: require('luasnip.extras') -242.100 000.106 000.106: require('luasnip.extras.fmt') -242.382 000.096 000.096: require('luasnip.extras.conditions') -242.481 000.090 000.090: require('luasnip.extras.conditions.show') -242.587 000.387 000.201: require('luasnip.extras.conditions.expand') -242.593 000.485 000.097: require('luasnip.extras.expand_conditions') -242.704 000.099 000.099: require('luasnip.nodes.absolute_indexer') -243.061 001.457 000.559: require('luasnip.config') -243.072 010.977 000.264: require('luasnip') -243.295 000.106 000.106: require('luasnip.loaders.util') -243.309 000.230 000.124: require('luasnip.loaders.from_lua') -252.737 020.724 009.517: require('plugins.luasnip') -253.127 000.139 000.139: require('colorizer/nvim') -253.477 000.341 000.341: require('colorizer/trie') -253.832 000.990 000.510: require('colorizer') -255.629 002.875 001.885: require('plugins.colorizer') -256.054 000.099 000.099: require('prettier.utils') -256.086 000.269 000.170: require('prettier.options') -256.716 000.193 000.193: require('null-ls.methods') -256.743 000.342 000.149: require('null-ls.utils') -257.128 000.376 000.376: require('vim.diagnostic') -257.153 000.851 000.133: require('null-ls.config') -257.342 000.088 000.088: require('null-ls.helpers.cache') -257.469 000.119 000.119: require('null-ls.helpers.diagnostics') -257.567 000.091 000.091: require('null-ls.helpers.formatter_factory') -257.797 000.099 000.099: require('null-ls.logger') -257.904 000.100 000.100: require('null-ls.state') -257.912 000.337 000.138: require('null-ls.helpers.generator_factory') -258.115 000.097 000.097: require('null-ls.helpers.command_resolver') -258.122 000.204 000.107: require('null-ls.helpers.make_builtin') -258.227 000.096 000.096: require('null-ls.helpers.range_formatting_args_factory') -258.232 001.072 000.137: require('null-ls.helpers') -258.461 000.110 000.110: require('null-ls.diagnostics') -258.485 000.248 000.138: require('null-ls.sources') -258.591 000.098 000.098: require('null-ls.builtins') -258.598 002.390 000.122: require('null-ls') -258.688 000.085 000.085: require('prettier.cli') -258.696 002.604 000.129: require('prettier.null-ls') -258.705 002.980 000.107: require('prettier') -258.965 003.324 000.344: require('plugins.prettier') -259.135 000.086 000.086: require('git') -259.259 000.116 000.116: require('git.config') -259.443 000.468 000.265: require('plugins.git') -259.741 000.088 000.088: require('gitsigns.async') -259.837 000.087 000.087: require('gitsigns.status') -260.102 000.100 000.100: require('gitsigns.debug') -260.213 000.103 000.103: require('gitsigns.util') -260.411 000.097 000.097: require('gitsigns.uv') -260.418 000.198 000.101: require('gitsigns.subprocess') -260.850 000.090 000.090: require('gitsigns.message') -260.882 000.270 000.181: require('gitsigns.config') -260.977 000.087 000.087: require('gitsigns.signs.base') -260.983 000.456 000.099: require('gitsigns.signs') -260.992 000.569 000.113: require('gitsigns.hunks') -261.009 001.166 000.195: require('gitsigns.git') -261.228 000.089 000.089: require('gitsigns.cache') -261.327 000.090 000.090: require('gitsigns.debounce') -261.419 000.082 000.082: require('gitsigns.diff') -261.446 000.432 000.170: require('gitsigns.manager') -261.566 000.114 000.114: require('gitsigns.highlight') -261.587 002.067 000.182: require('gitsigns') -262.899 000.126 000.126: require('gitsigns.signs.vimfn') -265.388 005.937 003.744: require('plugins.gitsigns') -265.835 000.116 000.116: require('neoscroll.config') -265.983 000.107 000.107: require('neoscroll.utils') -266.130 000.570 000.347: require('neoscroll') -266.696 001.284 000.714: require('plugins.neoscroll') -267.255 000.100 000.100: require('cmp_nvim_lsp.source') -267.265 000.240 000.140: require('cmp_nvim_lsp') -267.371 000.098 000.098: require('lspconfig') -267.523 000.106 000.106: require('lspconfig.server_configurations.pylsp') -268.339 000.136 000.136: require('mason-lspconfig.server_configurations.pylsp') -268.761 000.123 000.123: require('lspconfig.server_configurations.clangd') -270.914 000.135 000.135: require('lspconfig.server_configurations.sumneko_lua') -272.700 005.994 005.157: require('plugins.lsp') -273.072 000.094 000.094: require('nvim-autopairs._log') -273.200 000.120 000.120: require('nvim-autopairs.utils') -273.545 000.120 000.120: require('nvim-autopairs.conds') -273.556 000.231 000.111: require('nvim-autopairs.rule') -273.565 000.356 000.125: require('nvim-autopairs.rules.basic') -273.583 000.770 000.199: require('nvim-autopairs') -273.770 000.129 000.129: require('nvim-autopairs.fastwrap') -274.199 000.114 000.114: require('nvim-autopairs.ts-conds') -274.206 000.223 000.109: require('nvim-autopairs.rules.ts_basic') -274.416 000.204 000.204: require('vim.treesitter.highlighter') -275.499 000.097 000.097: require('nvim-autopairs.completion.handlers') -275.512 000.227 000.130: require('nvim-autopairs.completion.cmp') -275.535 002.823 001.270: require('plugins.autopairs') -275.784 000.163 000.163: require('null-ls.builtins.formatting.prettierd') -275.957 000.160 000.160: require('null-ls.builtins.formatting.stylua') -276.087 000.119 000.119: require('null-ls.builtins.formatting.shfmt') -276.697 000.143 000.143: require('null-ls.client') -276.749 001.208 000.623: require('plugins.null-ls') -276.835 000.077 000.077: require('plugins.web-devicons') -277.308 000.087 000.087: require('zen-mode.util') -277.360 000.231 000.144: require('zen-mode.config') -277.473 000.103 000.103: require('zen-mode.plugins') -277.483 000.463 000.129: require('zen-mode.view') -277.489 000.581 000.117: require('zen-mode') -277.609 000.766 000.186: require('plugins.zen-mode') -281.743 000.103 000.103: require('doom-one.utils') -281.865 000.111 000.111: require('doom-one.colors') -281.888 000.553 000.339: require('doom-one') -284.710 004.369 003.816: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -288.529 000.264 000.264: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/syntax/synload.vim -288.915 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -290.015 000.076 000.076: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/filetype.lua -291.140 000.947 000.947: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/filetype.vim -291.933 000.145 000.145: require('filetype') -292.056 005.268 003.778: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/syntax/syntax.vim -292.458 000.136 000.136: require('notify.stages.fade_in_slide_out') -292.547 014.929 005.157: require('plugins.colorscheme') -292.917 000.104 000.104: require('heirline.conditions') -293.058 000.133 000.133: require('heirline.utils') -293.418 000.103 000.103: require('heirline.highlights') -293.431 000.225 000.122: require('heirline.statusline') -293.440 000.345 000.120: require('heirline') -293.608 000.152 000.152: require('nvim-navic') -297.464 004.905 004.171: require('plugins.heirline') -297.566 205.777 003.783: sourcing /home/srdusr/.config/nvim/init.lua -297.591 009.206: sourcing vimrc file(s) -303.705 000.977 000.977: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/gzip.vim -303.864 000.067 000.067: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/health.vim -306.652 001.361 001.361: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -307.141 003.193 001.832: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/matchit.vim -307.686 000.422 000.422: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/matchparen.vim -307.870 000.095 000.095: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/netrwPlugin.vim -308.312 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -308.333 000.377 000.355: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/rplugin.vim -308.625 000.207 000.207: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/shada.vim -308.799 000.064 000.064: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/spellfile.vim -308.973 000.075 000.075: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/tarPlugin.vim -309.143 000.077 000.077: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/tohtml.vim -309.309 000.060 000.060: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/tutor.vim -310.041 000.641 000.641: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/zipPlugin.vim -310.352 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -311.821 000.108 000.108: require('leap') -311.932 000.101 000.101: require('leap.user') -312.996 000.150 000.150: require('fidget.log') -313.015 000.335 000.185: require('fidget') -313.197 000.163 000.163: require('fidget.spinners') -313.945 000.087 000.087: require('crates.time') -313.955 000.194 000.107: require('crates.types') -313.961 000.338 000.144: require('crates.semver') -315.527 001.478 001.478: require('crates.config') -315.681 000.144 000.144: require('crates.toml') -315.689 001.724 000.102: require('crates.state') -315.720 002.229 000.167: require('crates.util') -315.730 002.350 000.121: require('crates.actions') -316.011 000.176 000.176: require('crates.api') -316.106 000.087 000.087: require('crates.async') -316.228 000.114 000.114: require('crates.diagnostic') -316.340 000.103 000.103: require('crates.ui') -316.352 000.616 000.136: require('crates.core') -316.579 000.117 000.117: require('crates.popup.common') -316.696 000.109 000.109: require('crates.popup.crate') -316.821 000.118 000.118: require('crates.popup.dependencies') -316.977 000.149 000.149: require('crates.popup.features') -317.106 000.122 000.122: require('crates.popup.versions') -317.118 000.761 000.146: require('crates.popup') -317.131 003.866 000.139: require('crates') -320.064 000.134 000.134: require('flit') -321.279 000.472 000.472: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -323.242 012.747 007.568: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -324.142 000.104 000.104: sourcing /tmp/.mount_nvimJz8Zgw/usr/share/nvim/runtime/plugin/man.lua -324.347 007.613: loading rtp plugins -326.350 000.093 000.093: require('Comment.config') -326.662 000.158 000.158: require('Comment.ft') -326.672 000.312 000.155: require('Comment.utils') -326.784 000.106 000.106: require('Comment.opfunc') -326.904 000.113 000.113: require('Comment.extra') -326.917 000.793 000.168: require('Comment.api') -327.133 001.087 000.295: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -327.464 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -328.177 000.466 000.466: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -328.972 000.177 000.177: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -329.605 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -330.862 000.696 000.696: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -331.374 000.070 000.070: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -332.020 000.358 000.358: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -332.651 000.111 000.111: require('cmp.utils.highlight') -333.409 000.985 000.874: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -333.620 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -333.938 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -334.398 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -335.017 000.212 000.212: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -335.728 000.100 000.100: require('nvim-treesitter.statusline') -335.886 000.148 000.148: require('nvim-treesitter.query_predicates') -335.894 000.387 000.139: require('nvim-treesitter') -336.734 001.306 000.919: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -337.221 000.264 000.264: require('treesitter-context') -337.232 000.305 000.041: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -337.638 000.114 000.114: require('nvim-treesitter-refactor') -337.771 000.279 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -338.124 000.102 000.102: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -338.550 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -338.870 000.092 000.092: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -339.377 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -339.651 000.042 000.042: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -340.007 000.061 000.061: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -340.600 000.120 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -341.135 000.330 000.330: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -341.812 000.374 000.374: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -342.089 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -342.369 000.045 000.045: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -343.298 011.243: loading packages -351.011 000.087 000.087: require('cmp_buffer.timer') -351.027 000.212 000.124: require('cmp_buffer.buffer') -351.033 000.352 000.140: require('cmp_buffer.source') -351.038 000.456 000.104: require('cmp_buffer') -351.093 000.596 000.140: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -351.495 000.178 000.178: require('cmp_cmdline') -351.527 000.281 000.103: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -351.800 000.116 000.116: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -352.193 000.159 000.159: require('cmp_path') -352.225 000.279 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -352.604 000.154 000.154: require('cmp_luasnip') -352.673 000.291 000.137: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -353.152 000.133 000.133: require('crates.src.common') -353.160 000.237 000.104: require('crates.src.cmp') -353.190 000.361 000.124: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -353.298 008.077: loading after plugins -353.329 000.031: inits 3 -353.341 000.012: reading ShaDa -354.400 000.130 000.130: require('luasnip.nodes.snippetProxy') -354.416 000.312 000.182: require('luasnip.loaders.from_snipmate') -354.645 000.138 000.138: require('luasnip.loaders.from_vscode') -354.757 000.966: opening buffers -355.034 000.277: BufEnter autocommands -355.043 000.009: editing files in windows -372.872 000.334 000.334: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.023 001.023: --- NVIM STARTING --- -025.561 024.538: event init -041.147 015.586: early init -042.731 001.584: locale set -047.879 005.148: init first window -057.218 009.339: inits 1 -057.248 000.030: window checked -057.260 000.011: parsing arguments -067.382 000.124 000.124: require('vim.shared') -067.609 000.113 000.113: require('vim._meta') -067.615 000.223 000.110: require('vim._editor') -067.619 000.403 000.056: require('vim._init_packages') -067.623 009.960: init lua interpreter -067.698 000.075: expanding arguments -069.451 001.753: inits 2 -070.231 000.780: init highlight -070.237 000.006: waiting for UI -072.722 002.485: done waiting for UI -072.757 000.035: init screen for UI -073.008 000.251: init default mappings -073.035 000.027: init default autocommands -082.736 004.013 004.013: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/ftplugin.vim -084.769 000.918 000.918: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/indent.vim -085.068 000.033 000.033: sourcing /usr/share/nvim/archlinux.vim -085.083 000.097 000.064: sourcing /etc/xdg/nvim/sysinit.vim -113.914 028.627 028.627: require('impatient') -114.780 000.851 000.851: require('impatient.profile') -114.885 000.086 000.086: require('user.utils') -118.187 000.227 000.227: require('packer.util') -118.245 000.540 000.313: require('packer') -119.123 000.485 000.485: require('packer.log') -119.137 000.655 000.170: require('packer.async') -119.603 000.343 000.343: require('packer.result') -119.615 000.472 000.129: require('packer.jobs') -119.628 001.330 000.203: require('packer.plugin_utils') -119.824 000.171 000.171: require('packer.snapshot') -120.924 000.093 000.093: require('mason-core.path') -120.952 000.224 000.131: require('mason.settings') -121.234 000.152 000.152: require('mason-core.functional') -121.453 000.092 000.092: require('mason-core.functional.data') -121.462 000.205 000.113: require('mason-core.functional.function') -121.662 000.171 000.171: require('mason-core.functional.relation') -121.813 000.131 000.131: require('mason-core.functional.logic') -121.862 000.902 000.241: require('mason-core.platform') -121.867 001.457 000.331: require('mason') -122.331 000.174 000.174: require('mason-core.functional.list') -122.375 000.472 000.298: require('mason.api.command') -122.705 000.155 000.155: require('mason-core.log') -122.715 000.334 000.179: require('mason-lspconfig') -122.816 000.091 000.091: require('mason-lspconfig.settings') -123.119 000.079 000.079: require('mason-core.notify') -123.131 000.200 000.121: require('mason-lspconfig.lspconfig_hook') -124.130 000.203 000.203: require('vim.lsp.log') -125.104 000.010 000.010: require('vim.F') -125.113 000.973 000.962: require('vim.lsp.protocol') -125.636 000.221 000.221: require('vim.lsp._snippet') -125.795 000.149 000.149: require('vim.highlight') -125.828 000.704 000.334: require('vim.lsp.util') -125.852 002.145 000.267: require('vim.lsp.handlers') -126.167 000.278 000.278: require('vim.lsp.rpc') -126.325 000.146 000.146: require('vim.lsp.sync') -126.541 000.206 000.206: require('vim.lsp.buf') -126.699 000.147 000.147: require('vim.lsp.diagnostic') -126.863 000.155 000.155: require('vim.lsp.codelens') -127.114 003.851 000.774: require('vim.lsp') -127.317 004.181 000.330: require('lspconfig.util') -127.600 000.099 000.099: require('mason-core.functional.table') -127.693 000.350 000.251: require('mason-lspconfig.mappings.server') -128.016 000.117 000.117: require('mason-core.async') -128.158 000.094 000.094: require('mason-core.async.uv') -128.173 000.369 000.158: require('mason-core.fs') -128.316 000.105 000.105: require('mason-core.optional') -128.413 000.088 000.088: require('mason-core.EventEmitter') -128.617 000.197 000.197: require('mason-registry.index') -128.641 000.939 000.179: require('mason-registry') -128.743 000.095 000.095: require('mason-lspconfig.server_config_extensions') -128.862 000.112 000.112: require('lspconfig.configs') -129.024 000.110 000.110: require('lspconfig.server_configurations.omnisharp') -129.177 000.105 000.105: require('mason-lspconfig.ensure_installed') -129.632 000.101 000.101: require('mason-core.result') -130.107 000.254 000.254: require('mason-core.process') -130.260 000.502 000.248: require('mason-core.spawn') -130.384 000.112 000.112: require('mason-core.receipt') -130.507 000.097 000.097: require('mason-core.functional.string') -130.537 000.895 000.184: require('mason-core.installer.context') -130.647 000.104 000.104: require('mason-core.installer.linker') -130.751 000.096 000.096: require('mason-core.async.control') -130.762 001.398 000.201: require('mason-core.installer') -130.940 000.173 000.173: require('mason-core.installer.handle') -131.527 000.096 000.096: require('mason-core.managers.powershell') -131.535 000.198 000.101: require('mason-core.fetch') -131.539 000.293 000.095: require('mason-core.managers.cargo.client') -131.783 000.120 000.120: require('mason-core.managers.std') -132.065 000.170 000.170: require('mason-core.providers') -132.093 000.303 000.133: require('mason-core.managers.github.client') -132.108 000.564 000.141: require('mason-core.managers.github') -132.145 001.028 000.171: require('mason-core.managers.cargo') -132.356 000.205 000.205: require('mason-core.managers.composer') -132.530 000.166 000.166: require('mason-core.managers.gem') -132.655 000.117 000.117: require('mason-core.managers.git') -132.825 000.162 000.162: require('mason-core.managers.go') -133.015 000.182 000.182: require('mason-core.managers.luarocks') -133.167 000.145 000.145: require('mason-core.managers.npm') -133.416 000.242 000.242: require('mason-core.managers.pip3') -133.430 002.473 000.226: require('mason-core.package.version-check') -133.443 004.258 000.215: require('mason-core.package') -133.579 000.112 000.112: require('mason-registry.python-lsp-server') -133.848 000.108 000.108: require('mason-registry.pyright') -134.013 000.137 000.137: require('mason-registry.clangd') -134.151 000.111 000.111: require('mason-registry.lua-language-server') -134.370 000.092 000.092: require('mason-core.functional.number') -134.422 000.260 000.168: require('mason-lspconfig.api.command') -134.499 017.127 001.653: require('user.pack') -138.005 003.499 003.499: require('user.opts') -138.155 000.012 000.012: require('vim.keymap') -140.274 002.255 002.243: require('user.keys') -140.382 000.098 000.098: require('user.utils') -141.180 000.172 000.172: require('vim.treesitter.language') -141.202 000.456 000.284: require('vim.treesitter.query') -142.123 000.201 000.201: require('vim.treesitter.languagetree') -142.209 000.478 000.277: require('vim.treesitter') -142.499 001.068 000.590: require('nvim-treesitter.parsers') -142.658 000.151 000.151: require('nvim-treesitter.utils') -142.670 001.356 000.137: require('nvim-treesitter.ts_utils') -142.684 001.476 000.120: require('nvim-treesitter.tsrange') -142.785 000.093 000.093: require('nvim-treesitter.caching') -142.805 002.177 000.151: require('nvim-treesitter.query') -142.838 002.368 000.191: require('nvim-treesitter.configs') -143.241 000.106 000.106: require('nvim-treesitter.info') -143.381 000.131 000.131: require('nvim-treesitter.shell_command_selectors') -143.443 000.481 000.244: require('nvim-treesitter.install') -145.660 005.268 002.420: require('plugins.treesitter') -145.998 000.111 000.111: require('telescope._extensions') -146.008 000.216 000.105: require('telescope') -146.766 000.092 000.092: require('plenary.bit') -146.862 000.088 000.088: require('plenary.functional') -146.917 000.035 000.035: require('ffi') -146.941 000.414 000.199: require('plenary.path') -146.958 000.524 000.110: require('plenary.strings') -147.047 000.083 000.083: require('telescope.deprecated') -147.431 000.170 000.170: require('plenary.log') -147.494 000.312 000.142: require('telescope.log') -147.782 000.143 000.143: require('plenary.job') -147.876 000.085 000.085: require('telescope.state') -147.893 000.392 000.164: require('telescope.utils') -147.941 000.887 000.184: require('telescope.sorters') -148.053 000.085 000.085: require('vim.inspect') -151.662 005.395 003.817: require('telescope.config') -151.931 000.112 000.112: require('plenary.window.border') -152.025 000.086 000.086: require('plenary.window') -152.115 000.083 000.083: require('plenary.popup.utils') -152.127 000.450 000.170: require('plenary.popup') -152.229 000.096 000.096: require('telescope.pickers.scroller') -152.332 000.096 000.096: require('telescope.actions.state') -152.457 000.105 000.105: require('telescope.actions.utils') -154.639 002.064 002.064: require('telescope.actions.mt') -154.689 002.225 000.161: require('telescope.actions.set') -154.929 000.113 000.113: require('telescope.config.resolve') -154.936 000.239 000.125: require('telescope.pickers.entry_display') -155.024 000.082 000.082: require('telescope.from_entry') -155.498 009.484 000.795: require('telescope.actions') -156.460 000.091 000.091: require('plenary.tbl') -156.477 000.213 000.123: require('plenary.vararg.rotate') -156.481 000.323 000.110: require('plenary.vararg') -156.579 000.092 000.092: require('plenary.errors') -156.590 000.546 000.131: require('plenary.async.async') -156.703 000.108 000.108: require('plenary.async.structs') -156.718 000.826 000.173: require('plenary.async.control') -157.199 000.343 000.343: require('telescope.make_entry') -157.665 000.122 000.122: require('plenary.async.util') -157.672 000.231 000.109: require('plenary.async.tests') -157.678 000.340 000.110: require('plenary.async') -157.684 000.466 000.125: require('telescope.finders.async_static_finder') -158.027 000.099 000.099: require('plenary.class') -158.057 000.259 000.160: require('telescope._') -158.066 000.377 000.117: require('telescope.finders.async_oneshot_finder') -158.181 000.109 000.109: require('telescope.finders.async_job_finder') -158.197 001.470 000.176: require('telescope.finders') -158.606 000.164 000.164: require('telescope.debounce') -158.843 000.227 000.227: require('telescope.mappings') -158.981 000.127 000.127: require('telescope.pickers.highlights') -159.096 000.106 000.106: require('telescope.pickers.window') -159.366 000.140 000.140: require('telescope.algos.linked_list') -159.386 000.283 000.142: require('telescope.entry_manager') -159.504 000.112 000.112: require('telescope.pickers.multi') -159.551 001.346 000.327: require('telescope.pickers') -159.574 003.842 000.199: require('telescope.builtin.__lsp') -159.638 004.129 000.287: require('telescope.builtin') -160.058 000.283 000.283: require('fzf_lib') -160.076 000.429 000.146: require('telescope._extensions.fzf') -160.645 000.200 000.200: require('telescope._extensions.file_browser.utils') -160.777 000.537 000.338: require('telescope._extensions.file_browser.actions') -161.143 000.192 000.192: require('telescope._extensions.file_browser.make_entry') -161.341 000.186 000.186: require('plenary.scandir') -161.398 000.614 000.236: require('telescope._extensions.file_browser.finders') -161.524 000.118 000.118: require('telescope._extensions.file_browser.picker') -161.684 000.153 000.153: require('telescope._extensions.file_browser.config') -161.691 001.576 000.153: require('telescope._extensions.file_browser') -165.469 019.796 003.962: require('plugins.telescope') -168.316 000.183 000.183: require('notify.util.queue') -168.338 000.427 000.244: require('notify.util') -168.678 000.334 000.334: require('notify.config.highlights') -168.711 001.075 000.314: require('notify.config') -168.898 000.179 000.179: require('notify.stages') -169.086 000.180 000.180: require('notify.service.notification') -169.728 000.182 000.182: require('notify.animate.spring') -169.735 000.337 000.155: require('notify.animate') -169.756 000.663 000.326: require('notify.windows') -170.474 000.259 000.259: require('notify.service.buffer.highlights') -170.496 000.526 000.267: require('notify.service.buffer') -170.511 000.750 000.224: require('notify.service') -170.834 000.318 000.318: require('notify.stages.util') -170.918 003.636 000.471: require('notify') -171.115 000.189 000.189: require('nvim-tree.iterators.node-iterator') -171.219 004.827 001.001: require('nvim-tree.utils') -171.254 004.981 000.154: require('nvim-tree.events') -171.983 000.204 000.204: require('nvim-tree.log') -172.337 000.345 000.345: require('nvim-tree.git.utils') -172.642 000.297 000.297: require('nvim-tree.git.runner') -172.910 000.260 000.260: require('nvim-tree.watcher') -172.949 001.419 000.313: require('nvim-tree.git') -173.196 000.241 000.241: require('nvim-tree.explorer.watch') -173.405 000.202 000.202: require('nvim-tree.explorer.common') -173.890 000.230 000.230: require('nvim-tree.explorer.node-builders') -173.994 000.095 000.095: require('nvim-tree.explorer.sorters') -174.091 000.089 000.089: require('nvim-tree.explorer.filters') -174.406 000.212 000.212: require('nvim-tree.view') -174.426 000.328 000.116: require('nvim-tree.live-filter') -174.436 001.023 000.279: require('nvim-tree.explorer.explore') -174.601 000.155 000.155: require('nvim-tree.explorer.reload') -174.614 003.353 000.313: require('nvim-tree.explorer') -174.626 008.451 000.117: require('nvim-tree.core') -174.790 000.155 000.155: require('nvim-tree.diagnostics') -174.944 000.140 000.140: require('nvim-tree.renderer.components.padding') -175.097 000.142 000.142: require('nvim-tree.renderer.components.icons') -175.259 000.152 000.152: require('nvim-tree.renderer.components.full-name') -175.402 000.132 000.132: require('nvim-tree.renderer.help') -175.587 000.175 000.175: require('nvim-tree.renderer.components.git') -175.782 000.184 000.184: require('nvim-tree.renderer.builder') -175.941 000.147 000.147: require('nvim-tree.marks') -175.958 009.919 000.240: require('nvim-tree.renderer') -176.153 000.155 000.155: require('nvim-tree.actions.tree-modifiers.collapse-all') -176.295 000.131 000.131: require('nvim-tree.actions.root.dir-up') -176.454 000.147 000.147: require('nvim-tree.actions.root.change-dir') -176.563 000.100 000.100: require('nvim-tree.actions.reloaders.reloaders') -176.665 000.094 000.094: require('nvim-tree.actions.finders.find-file') -176.671 010.815 000.269: require('nvim-tree.lib') -176.781 000.104 000.104: require('nvim-tree.colors') -176.913 000.121 000.121: require('nvim-tree.legacy') -177.040 000.118 000.118: require('nvim-tree.actions.fs.copy-paste') -177.247 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') -177.345 000.091 000.091: require('nvim-tree.actions.tree-modifiers.toggles') -177.457 000.096 000.096: require('nvim-tree.actions.fs.create-file') -177.556 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -177.681 000.117 000.117: require('nvim-tree.actions.fs.trash') -177.786 000.098 000.098: require('nvim-tree.actions.fs.remove-file') -177.882 000.086 000.086: require('nvim-tree.actions.moves.parent') -177.974 000.085 000.085: require('nvim-tree.actions.moves.sibling') -178.066 000.084 000.084: require('nvim-tree.actions.moves.item') -178.176 000.091 000.091: require('nvim-tree.actions.finders.search-node') -178.266 000.083 000.083: require('nvim-tree.actions.node.run-command') -178.381 000.108 000.108: require('nvim-tree.actions.node.file-popup') -178.492 000.104 000.104: require('nvim-tree.actions.node.system-open') -178.594 000.091 000.091: require('nvim-tree.marks.bulk-move') -178.600 001.549 000.226: require('nvim-tree.actions.dispatch') -178.630 013.014 000.308: require('nvim-tree') -178.713 000.077 000.077: require('nvim-tree.config') -184.698 000.166 000.166: require('nvim-tree.actions') -184.836 000.119 000.119: require('nvim-tree.actions.node.open-file') -187.512 000.097 000.097: require('nvim-tree.marks.navigation') -187.525 000.285 000.188: require('nvim-tree.api') -187.545 000.430 000.145: require('nvim-tree.keymap') -188.436 000.404 000.404: require('nvim-web-devicons') -193.685 028.201 013.991: require('plugins.nvim-tree') -194.189 000.078 000.078: require('cmp.utils.debug') -194.404 000.122 000.122: require('cmp.utils.char') -194.418 000.220 000.098: require('cmp.utils.str') -194.548 000.082 000.082: require('cmp.utils.pattern') -194.823 000.088 000.088: require('cmp.utils.misc') -194.932 000.081 000.081: require('cmp.utils.buffer') -195.028 000.088 000.088: require('cmp.utils.api') -195.038 000.399 000.142: require('cmp.utils.keymap') -195.047 000.492 000.092: require('cmp.utils.feedkeys') -195.146 000.094 000.094: require('cmp.utils.async') -195.418 000.075 000.075: require('cmp.types.cmp') -195.616 000.191 000.191: require('cmp.types.lsp') -195.706 000.079 000.079: require('cmp.types.vim') -195.711 000.474 000.129: require('cmp.types') -195.790 000.074 000.074: require('cmp.utils.cache') -195.799 000.645 000.096: require('cmp.context') -196.108 000.099 000.099: require('cmp.config.mapping') -196.304 000.093 000.093: require('cmp.config.compare') -196.310 000.189 000.096: require('cmp.config.default') -196.335 000.432 000.144: require('cmp.config') -196.534 000.079 000.079: require('cmp.matcher') -196.545 000.204 000.125: require('cmp.entry') -196.561 000.758 000.122: require('cmp.source') -196.727 000.073 000.073: require('cmp.utils.event') -196.970 000.127 000.127: require('cmp.utils.window') -196.985 000.250 000.123: require('cmp.view.docs_view') -197.318 000.133 000.133: require('cmp.utils.autocmd') -197.350 000.355 000.223: require('cmp.view.custom_entries_view') -197.541 000.182 000.182: require('cmp.view.wildmenu_entries_view') -197.722 000.168 000.168: require('cmp.view.native_entries_view') -197.950 000.214 000.214: require('cmp.view.ghost_text_view') -198.004 001.438 000.197: require('cmp.view') -198.288 004.304 000.496: require('cmp.core') -198.781 000.101 000.101: require('cmp.config.sources') -198.867 000.075 000.075: require('cmp.config.window') -198.972 005.109 000.628: require('cmp') -199.421 000.152 000.152: require('symbols-outline.config') -199.429 000.242 000.090: require('symbols-outline.symbols') -199.530 000.096 000.096: require('symbols-outline.ui') -199.621 000.082 000.082: require('symbols-outline.utils.table') -199.705 000.078 000.078: require('symbols-outline.folding') -199.711 000.615 000.118: require('symbols-outline.parser') -199.801 000.084 000.084: require('symbols-outline.providers.init') -199.903 000.094 000.094: require('symbols-outline.writer') -199.999 000.089 000.089: require('symbols-outline.utils.init') -200.093 000.087 000.087: require('symbols-outline.view') -200.109 001.129 000.160: require('symbols-outline') -200.467 000.163 000.163: require('symbols-outline.preview') -200.619 000.134 000.134: require('lspkind') -202.864 009.161 002.626: require('plugins.cmp') -203.599 000.096 000.096: require('luasnip.session') -203.771 000.159 000.159: require('luasnip.util.util') -203.868 000.088 000.088: require('luasnip.util.types') -204.063 000.094 000.094: require('luasnip.util.ext_opts') -204.078 000.203 000.109: require('luasnip.nodes.util') -204.176 000.091 000.091: require('luasnip.util.events') -204.203 000.815 000.178: require('luasnip.nodes.node') -204.464 000.094 000.094: require('luasnip.util.extend_decorator') -204.478 000.269 000.175: require('luasnip.nodes.insertNode') -204.603 000.119 000.119: require('luasnip.nodes.textNode') -204.718 000.103 000.103: require('luasnip.util.mark') -205.505 000.678 000.678: require('luasnip.util._builtin_vars') -205.769 001.044 000.365: require('luasnip.util.environ') -205.934 000.150 000.150: require('luasnip.util.pattern_tokenizer') -206.073 000.130 000.130: require('luasnip.util.dict') -206.200 000.119 000.119: require('luasnip.session.snippet_collection') -206.375 003.185 000.436: require('luasnip.nodes.snippet') -206.607 000.095 000.095: require('luasnip.loaders._caches') -206.763 000.147 000.147: require('luasnip.util.path') -206.841 000.449 000.207: require('luasnip.loaders') -207.034 000.156 000.156: require('luasnip.nodes.functionNode') -207.207 000.164 000.164: require('luasnip.nodes.choiceNode') -207.378 000.163 000.163: require('luasnip.nodes.dynamicNode') -207.566 000.180 000.180: require('luasnip.nodes.restoreNode') -208.045 000.147 000.147: require('luasnip.util.parser.neovim_ast') -212.617 000.132 000.132: require('luasnip.util.directed_graph') -212.662 004.924 004.646: require('luasnip.util.parser.ast_utils') -212.902 000.096 000.096: require('luasnip.util.functions') -212.916 000.246 000.150: require('luasnip.util.parser.ast_parser') -213.099 000.177 000.177: require('luasnip.util.parser.neovim_parser') -213.205 000.097 000.097: require('luasnip.util.str') -213.220 005.592 000.147: require('luasnip.util.parser') -213.581 000.164 000.164: require('luasnip.extras.filetype_functions') -213.828 000.181 000.181: require('luasnip.extras') -214.036 000.187 000.187: require('luasnip.extras.fmt') -214.601 000.207 000.207: require('luasnip.extras.conditions') -214.802 000.177 000.177: require('luasnip.extras.conditions.show') -215.057 000.848 000.465: require('luasnip.extras.conditions.expand') -215.067 001.014 000.165: require('luasnip.extras.expand_conditions') -215.208 000.115 000.115: require('luasnip.nodes.absolute_indexer') -215.638 002.413 000.753: require('luasnip.config') -215.651 012.624 000.323: require('luasnip') -215.899 000.114 000.114: require('luasnip.loaders.util') -215.911 000.254 000.140: require('luasnip.loaders.from_lua') -227.067 024.179 011.301: require('plugins.luasnip') -227.478 000.143 000.143: require('colorizer/nvim') -227.790 000.300 000.300: require('colorizer/trie') -228.070 000.881 000.439: require('colorizer') -230.040 002.952 002.070: require('plugins.colorizer') -230.705 000.168 000.168: require('prettier.utils') -230.761 000.403 000.235: require('prettier.options') -231.437 000.189 000.189: require('null-ls.methods') -231.465 000.339 000.150: require('null-ls.utils') -231.995 000.520 000.520: require('vim.diagnostic') -232.026 000.996 000.136: require('null-ls.config') -232.219 000.086 000.086: require('null-ls.helpers.cache') -232.344 000.116 000.116: require('null-ls.helpers.diagnostics') -232.440 000.089 000.089: require('null-ls.helpers.formatter_factory') -232.720 000.148 000.148: require('null-ls.logger') -232.840 000.111 000.111: require('null-ls.state') -232.849 000.402 000.143: require('null-ls.helpers.generator_factory') -233.058 000.097 000.097: require('null-ls.helpers.command_resolver') -233.064 000.210 000.113: require('null-ls.helpers.make_builtin') -233.168 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') -233.173 001.139 000.142: require('null-ls.helpers') -233.400 000.113 000.113: require('null-ls.diagnostics') -233.418 000.241 000.127: require('null-ls.sources') -233.521 000.095 000.095: require('null-ls.builtins') -233.528 002.600 000.130: require('null-ls') -233.616 000.083 000.083: require('prettier.cli') -233.625 002.850 000.167: require('prettier.null-ls') -233.634 003.420 000.167: require('prettier') -233.871 003.808 000.387: require('plugins.prettier') -234.085 000.133 000.133: require('git') -234.226 000.129 000.129: require('git.config') -234.416 000.535 000.273: require('plugins.git') -234.731 000.092 000.092: require('gitsigns.async') -234.828 000.087 000.087: require('gitsigns.status') -235.089 000.103 000.103: require('gitsigns.debug') -235.203 000.106 000.106: require('gitsigns.util') -235.406 000.102 000.102: require('gitsigns.uv') -235.413 000.203 000.102: require('gitsigns.subprocess') -235.849 000.084 000.084: require('gitsigns.message') -235.882 000.272 000.188: require('gitsigns.config') -236.006 000.117 000.117: require('gitsigns.signs.base') -236.021 000.492 000.103: require('gitsigns.signs') -236.032 000.613 000.121: require('gitsigns.hunks') -236.050 001.216 000.190: require('gitsigns.git') -236.280 000.088 000.088: require('gitsigns.cache') -236.382 000.093 000.093: require('gitsigns.debounce') -236.473 000.082 000.082: require('gitsigns.diff') -236.498 000.442 000.179: require('gitsigns.manager') -236.617 000.113 000.113: require('gitsigns.highlight') -236.639 002.140 000.190: require('gitsigns') -238.196 000.132 000.132: require('gitsigns.signs.vimfn') -241.391 006.968 004.696: require('plugins.gitsigns') -242.083 000.202 000.202: require('neoscroll.config') -242.289 000.192 000.192: require('neoscroll.utils') -242.471 000.827 000.433: require('neoscroll') -243.662 002.234 001.407: require('plugins.neoscroll') -244.444 000.133 000.133: require('cmp_nvim_lsp.source') -244.455 000.267 000.134: require('cmp_nvim_lsp') -244.561 000.093 000.093: require('lspconfig') -244.718 000.107 000.107: require('lspconfig.server_configurations.pylsp') -245.465 000.148 000.148: require('mason-lspconfig.server_configurations.pylsp') -246.051 000.214 000.214: require('lspconfig.server_configurations.clangd') -248.469 000.156 000.156: require('lspconfig.server_configurations.sumneko_lua') -250.688 007.009 006.024: require('plugins.lsp') -251.096 000.093 000.093: require('nvim-autopairs._log') -251.219 000.114 000.114: require('nvim-autopairs.utils') -251.550 000.118 000.118: require('nvim-autopairs.conds') -251.564 000.229 000.111: require('nvim-autopairs.rule') -251.570 000.343 000.114: require('nvim-autopairs.rules.basic') -251.586 000.754 000.204: require('nvim-autopairs') -251.829 000.132 000.132: require('nvim-autopairs.fastwrap') -252.325 000.111 000.111: require('nvim-autopairs.ts-conds') -252.336 000.224 000.114: require('nvim-autopairs.rules.ts_basic') -252.537 000.195 000.195: require('vim.treesitter.highlighter') -253.841 000.103 000.103: require('nvim-autopairs.completion.handlers') -253.861 000.251 000.148: require('nvim-autopairs.completion.cmp') -253.881 003.176 001.620: require('plugins.autopairs') -254.126 000.157 000.157: require('null-ls.builtins.formatting.prettierd') -254.266 000.128 000.128: require('null-ls.builtins.formatting.stylua') -254.552 000.276 000.276: require('null-ls.builtins.formatting.shfmt') -255.305 000.154 000.154: require('null-ls.client') -255.390 001.503 000.788: require('plugins.null-ls') -255.498 000.098 000.098: require('plugins.web-devicons') -256.207 000.093 000.093: require('zen-mode.util') -256.277 000.285 000.193: require('zen-mode.config') -256.385 000.099 000.099: require('zen-mode.plugins') -256.399 000.591 000.207: require('zen-mode.view') -256.406 000.779 000.188: require('zen-mode') -256.540 001.028 000.249: require('plugins.zen-mode') -260.581 000.101 000.101: require('doom-one.utils') -260.702 000.108 000.108: require('doom-one.colors') -260.720 000.569 000.361: require('doom-one') -263.608 004.502 003.932: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -267.818 000.271 000.271: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/syntax/synload.vim -268.188 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -269.284 000.082 000.082: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/filetype.lua -270.809 001.273 001.273: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/filetype.vim -271.623 000.148 000.148: require('filetype') -271.689 005.932 004.102: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/syntax/syntax.vim -272.082 000.119 000.119: require('notify.stages.fade_in_slide_out') -272.147 015.597 005.045: require('plugins.colorscheme') -272.530 000.103 000.103: require('heirline.conditions') -272.730 000.192 000.192: require('heirline.utils') -273.077 000.101 000.101: require('heirline.highlights') -273.088 000.216 000.115: require('heirline.statusline') -273.098 000.332 000.116: require('heirline') -273.267 000.152 000.152: require('nvim-navic') -277.433 005.276 004.497: require('plugins.heirline') -277.537 192.408 003.078: sourcing /home/srdusr/.config/nvim/init.lua -277.566 007.094: sourcing vimrc file(s) -284.196 001.384 001.384: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/gzip.vim -284.336 000.062 000.062: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/health.vim -287.414 001.775 001.775: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -287.874 003.468 001.694: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/matchit.vim -288.390 000.407 000.407: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/matchparen.vim -288.540 000.081 000.081: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/netrwPlugin.vim -288.949 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -288.971 000.368 000.346: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/rplugin.vim -289.234 000.203 000.203: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/shada.vim -289.387 000.061 000.061: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/spellfile.vim -289.526 000.064 000.064: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/tarPlugin.vim -289.659 000.064 000.064: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/tohtml.vim -289.772 000.045 000.045: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/tutor.vim -290.496 000.656 000.656: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/zipPlugin.vim -290.809 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -292.204 000.117 000.117: require('leap') -292.315 000.099 000.099: require('leap.user') -293.387 000.175 000.175: require('fidget.log') -293.407 000.350 000.175: require('fidget') -293.596 000.165 000.165: require('fidget.spinners') -294.331 000.081 000.081: require('crates.time') -294.341 000.189 000.108: require('crates.types') -294.347 000.294 000.105: require('crates.semver') -295.452 001.020 001.020: require('crates.config') -295.596 000.134 000.134: require('crates.toml') -295.605 001.254 000.100: require('crates.state') -295.630 001.704 000.156: require('crates.util') -295.640 001.827 000.123: require('crates.actions') -295.878 000.131 000.131: require('crates.api') -295.997 000.111 000.111: require('crates.async') -296.119 000.114 000.114: require('crates.diagnostic') -296.228 000.100 000.100: require('crates.ui') -296.237 000.591 000.135: require('crates.core') -296.470 000.123 000.123: require('crates.popup.common') -296.608 000.131 000.131: require('crates.popup.crate') -296.736 000.121 000.121: require('crates.popup.dependencies') -296.860 000.117 000.117: require('crates.popup.features') -297.005 000.138 000.138: require('crates.popup.versions') -297.017 000.772 000.141: require('crates.popup') -297.030 003.332 000.142: require('crates') -299.516 000.133 000.133: require('flit') -300.960 000.483 000.483: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -303.196 012.248 007.569: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -303.989 000.095 000.095: sourcing /tmp/.mount_nvimKOHk0n/usr/share/nvim/runtime/plugin/man.lua -304.160 007.346: loading rtp plugins -306.183 000.097 000.097: require('Comment.config') -306.482 000.151 000.151: require('Comment.ft') -306.493 000.300 000.149: require('Comment.utils') -306.597 000.099 000.099: require('Comment.opfunc') -306.708 000.104 000.104: require('Comment.extra') -306.717 000.806 000.206: require('Comment.api') -306.919 001.090 000.284: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -307.252 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -307.979 000.481 000.481: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -308.771 000.177 000.177: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -309.400 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -310.803 000.841 000.841: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -311.315 000.069 000.069: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -311.958 000.360 000.360: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -312.571 000.111 000.111: require('cmp.utils.highlight') -313.138 000.774 000.663: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -313.341 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -313.655 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -314.118 000.160 000.160: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -314.739 000.214 000.214: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -315.432 000.097 000.097: require('nvim-treesitter.statusline') -315.551 000.110 000.110: require('nvim-treesitter.query_predicates') -315.558 000.329 000.123: require('nvim-treesitter') -316.656 001.509 001.180: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -317.147 000.267 000.267: require('treesitter-context') -317.157 000.309 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -317.561 000.113 000.113: require('nvim-treesitter-refactor') -317.698 000.281 000.167: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -318.053 000.103 000.103: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -318.478 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -318.797 000.092 000.092: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -319.275 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -319.573 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -319.932 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -320.523 000.120 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -321.071 000.344 000.344: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -321.742 000.370 000.370: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -322.017 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -322.297 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -323.300 011.252: loading packages -330.839 000.173 000.173: require('cmp_buffer.timer') -330.851 000.299 000.126: require('cmp_buffer.buffer') -330.857 000.408 000.109: require('cmp_buffer.source') -330.862 000.511 000.103: require('cmp_buffer') -330.920 000.650 000.139: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -331.344 000.176 000.176: require('cmp_cmdline') -331.381 000.310 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -331.680 000.138 000.138: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -332.060 000.151 000.151: require('cmp_path') -332.096 000.269 000.118: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -332.434 000.112 000.112: require('cmp_luasnip') -332.500 000.247 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -332.987 000.124 000.124: require('crates.src.common') -332.996 000.239 000.115: require('crates.src.cmp') -333.027 000.342 000.103: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -333.134 007.879: loading after plugins -333.165 000.031: inits 3 -333.169 000.004: reading ShaDa -334.220 000.110 000.110: require('luasnip.nodes.snippetProxy') -334.232 000.310 000.200: require('luasnip.loaders.from_snipmate') -334.405 000.126 000.126: require('luasnip.loaders.from_vscode') -334.441 000.837: opening buffers -334.712 000.271: BufEnter autocommands -334.721 000.009: editing files in windows -353.467 000.344 000.344: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.023 001.023: --- NVIM STARTING --- -025.855 024.832: event init -041.470 015.615: early init -043.052 001.582: locale set -048.295 005.243: init first window -057.674 009.379: inits 1 -057.704 000.031: window checked -057.716 000.011: parsing arguments -068.851 000.267 000.267: require('vim.shared') -069.375 000.245 000.245: require('vim._meta') -069.388 000.516 000.270: require('vim._editor') -069.396 000.909 000.127: require('vim._init_packages') -069.403 010.778: init lua interpreter -069.562 000.159: expanding arguments -071.376 001.813: inits 2 -072.780 001.405: init highlight -072.791 000.011: waiting for UI -075.613 002.821: done waiting for UI -075.649 000.036: init screen for UI -075.914 000.265: init default mappings -075.942 000.028: init default autocommands -087.653 004.003 004.003: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/ftplugin.vim -090.432 000.994 000.994: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/indent.vim -090.815 000.037 000.037: sourcing /usr/share/nvim/archlinux.vim -090.831 000.108 000.071: sourcing /etc/xdg/nvim/sysinit.vim -122.531 031.456 031.456: require('impatient') -123.617 001.071 001.071: require('impatient.profile') -123.747 000.101 000.101: require('user.utils') -127.253 000.240 000.240: require('packer.util') -127.318 000.577 000.338: require('packer') -128.497 000.648 000.648: require('packer.log') -128.511 000.893 000.246: require('packer.async') -128.808 000.172 000.172: require('packer.result') -128.820 000.302 000.130: require('packer.jobs') -128.833 001.462 000.267: require('packer.plugin_utils') -129.054 000.198 000.198: require('packer.snapshot') -130.839 000.346 000.346: require('mason-core.path') -130.858 000.731 000.385: require('mason.settings') -131.564 000.245 000.245: require('mason-core.functional') -131.911 000.156 000.156: require('mason-core.functional.data') -131.932 000.328 000.172: require('mason-core.functional.function') -132.146 000.181 000.181: require('mason-core.functional.relation') -132.336 000.165 000.165: require('mason-core.functional.logic') -132.410 001.544 000.625: require('mason-core.platform') -132.416 002.734 000.459: require('mason') -132.736 000.127 000.127: require('mason-core.functional.list') -132.778 000.328 000.201: require('mason.api.command') -133.306 000.197 000.197: require('mason-core.log') -133.317 000.532 000.336: require('mason-lspconfig') -133.479 000.156 000.156: require('mason-lspconfig.settings') -133.851 000.139 000.139: require('mason-core.notify') -133.864 000.317 000.177: require('mason-lspconfig.lspconfig_hook') -135.046 000.225 000.225: require('vim.lsp.log') -136.590 000.027 000.027: require('vim.F') -136.602 001.543 001.516: require('vim.lsp.protocol') -137.539 000.315 000.315: require('vim.lsp._snippet') -137.830 000.243 000.243: require('vim.highlight') -137.864 001.248 000.690: require('vim.lsp.util') -137.890 003.322 000.307: require('vim.lsp.handlers') -138.190 000.258 000.258: require('vim.lsp.rpc') -138.344 000.143 000.143: require('vim.lsp.sync') -138.562 000.209 000.209: require('vim.lsp.buf') -138.718 000.147 000.147: require('vim.lsp.diagnostic') -138.887 000.160 000.160: require('vim.lsp.codelens') -139.039 004.998 000.760: require('vim.lsp') -139.114 005.245 000.248: require('lspconfig.util') -139.434 000.126 000.126: require('mason-core.functional.table') -139.527 000.389 000.263: require('mason-lspconfig.mappings.server') -139.853 000.117 000.117: require('mason-core.async') -139.944 000.081 000.081: require('mason-core.async.uv') -139.959 000.318 000.120: require('mason-core.fs') -140.067 000.101 000.101: require('mason-core.optional') -140.168 000.093 000.093: require('mason-core.EventEmitter') -140.417 000.243 000.243: require('mason-registry.index') -140.456 000.917 000.162: require('mason-registry') -140.585 000.118 000.118: require('mason-lspconfig.server_config_extensions') -140.710 000.117 000.117: require('lspconfig.configs') -140.874 000.117 000.117: require('lspconfig.server_configurations.omnisharp') -141.211 000.136 000.136: require('mason-lspconfig.ensure_installed') -141.647 000.146 000.146: require('mason-core.result') -142.159 000.281 000.281: require('mason-core.process') -142.257 000.480 000.199: require('mason-core.spawn') -142.386 000.118 000.118: require('mason-core.receipt') -142.509 000.102 000.102: require('mason-core.functional.string') -142.541 000.885 000.185: require('mason-core.installer.context') -142.654 000.107 000.107: require('mason-core.installer.linker') -142.762 000.100 000.100: require('mason-core.async.control') -142.774 001.422 000.184: require('mason-core.installer') -142.905 000.125 000.125: require('mason-core.installer.handle') -143.443 000.104 000.104: require('mason-core.managers.powershell') -143.451 000.211 000.107: require('mason-core.fetch') -143.455 000.302 000.091: require('mason-core.managers.cargo.client') -143.855 000.213 000.213: require('mason-core.managers.std') -144.107 000.100 000.100: require('mason-core.providers') -144.136 000.268 000.167: require('mason-core.managers.github.client') -144.148 000.688 000.208: require('mason-core.managers.github') -144.190 001.165 000.175: require('mason-core.managers.cargo') -144.507 000.310 000.310: require('mason-core.managers.composer') -144.682 000.167 000.167: require('mason-core.managers.gem') -144.827 000.137 000.137: require('mason-core.managers.git') -145.130 000.293 000.293: require('mason-core.managers.go') -145.325 000.186 000.186: require('mason-core.managers.luarocks') -145.484 000.151 000.151: require('mason-core.managers.npm') -145.659 000.168 000.168: require('mason-core.managers.pip3') -145.676 002.754 000.175: require('mason-core.package.version-check') -145.687 004.467 000.166: require('mason-core.package') -145.846 000.133 000.133: require('mason-registry.python-lsp-server') -146.161 000.118 000.118: require('mason-registry.pyright') -146.401 000.205 000.205: require('mason-registry.clangd') -146.554 000.126 000.126: require('mason-registry.lua-language-server') -146.813 000.093 000.093: require('mason-core.functional.number') -146.867 000.299 000.206: require('mason-lspconfig.api.command') -146.947 020.592 001.900: require('user.pack') -149.650 002.695 002.695: require('user.opts') -149.804 000.013 000.013: require('vim.keymap') -152.028 002.365 002.352: require('user.keys') -152.208 000.163 000.163: require('user.utils') -153.540 000.240 000.240: require('vim.treesitter.language') -153.578 000.651 000.411: require('vim.treesitter.query') -155.121 000.305 000.305: require('vim.treesitter.languagetree') -155.246 000.711 000.406: require('vim.treesitter') -155.730 001.749 001.038: require('nvim-treesitter.parsers') -155.944 000.201 000.201: require('nvim-treesitter.utils') -155.961 002.186 000.236: require('nvim-treesitter.ts_utils') -155.992 002.401 000.215: require('nvim-treesitter.tsrange') -156.165 000.160 000.160: require('nvim-treesitter.caching') -156.205 003.492 000.280: require('nvim-treesitter.query') -156.257 003.831 000.339: require('nvim-treesitter.configs') -157.024 000.176 000.176: require('nvim-treesitter.info') -157.266 000.224 000.224: require('nvim-treesitter.shell_command_selectors') -157.333 000.763 000.364: require('nvim-treesitter.install') -160.792 008.503 003.909: require('plugins.treesitter') -161.289 000.151 000.151: require('telescope._extensions') -161.304 000.325 000.173: require('telescope') -162.552 000.163 000.163: require('plenary.bit') -162.725 000.159 000.159: require('plenary.functional') -162.822 000.065 000.065: require('ffi') -162.860 000.728 000.341: require('plenary.path') -162.885 000.902 000.174: require('plenary.strings') -163.046 000.151 000.151: require('telescope.deprecated') -163.649 000.258 000.258: require('plenary.log') -163.709 000.447 000.189: require('telescope.log') -164.181 000.241 000.241: require('plenary.job') -164.336 000.138 000.138: require('telescope.state') -164.360 000.640 000.260: require('telescope.utils') -164.434 001.376 000.289: require('telescope.sorters') -164.678 000.206 000.206: require('vim.inspect') -170.255 008.538 005.902: require('telescope.config') -170.708 000.180 000.180: require('plenary.window.border') -170.878 000.155 000.155: require('plenary.window') -171.030 000.134 000.134: require('plenary.popup.utils') -171.051 000.770 000.301: require('plenary.popup') -171.236 000.173 000.173: require('telescope.pickers.scroller') -171.417 000.168 000.168: require('telescope.actions.state') -171.623 000.169 000.169: require('telescope.actions.utils') -172.039 000.220 000.220: require('telescope.actions.mt') -172.090 000.455 000.235: require('telescope.actions.set') -175.027 002.758 002.758: require('telescope.config.resolve') -175.052 002.952 000.194: require('telescope.pickers.entry_display') -175.227 000.163 000.163: require('telescope.from_entry') -175.954 014.640 001.252: require('telescope.actions') -177.793 000.171 000.171: require('plenary.tbl') -177.821 000.394 000.223: require('plenary.vararg.rotate') -177.830 000.591 000.197: require('plenary.vararg') -178.011 000.171 000.171: require('plenary.errors') -178.034 000.987 000.225: require('plenary.async.async') -178.268 000.224 000.224: require('plenary.async.structs') -178.297 001.585 000.373: require('plenary.async.control') -179.070 000.546 000.546: require('telescope.make_entry') -179.742 000.187 000.187: require('plenary.async.util') -179.752 000.345 000.159: require('plenary.async.tests') -179.763 000.506 000.161: require('plenary.async') -179.774 000.679 000.173: require('telescope.finders.async_static_finder') -180.312 000.160 000.160: require('plenary.class') -180.507 000.548 000.388: require('telescope._') -180.522 000.739 000.191: require('telescope.finders.async_oneshot_finder') -180.713 000.182 000.182: require('telescope.finders.async_job_finder') -180.737 002.423 000.277: require('telescope.finders') -181.431 000.263 000.263: require('telescope.debounce') -181.801 000.352 000.352: require('telescope.mappings') -182.018 000.199 000.199: require('telescope.pickers.highlights') -182.204 000.170 000.170: require('telescope.pickers.window') -182.632 000.202 000.202: require('telescope.algos.linked_list') -182.649 000.434 000.232: require('telescope.entry_manager') -182.831 000.172 000.172: require('telescope.pickers.multi') -182.901 002.150 000.560: require('telescope.pickers') -182.940 006.600 000.442: require('telescope.builtin.__lsp') -183.034 007.063 000.463: require('telescope.builtin') -183.646 000.401 000.401: require('fzf_lib') -183.670 000.622 000.222: require('telescope._extensions.fzf') -184.511 000.261 000.261: require('telescope._extensions.file_browser.utils') -184.787 000.864 000.602: require('telescope._extensions.file_browser.actions') -185.338 000.314 000.314: require('telescope._extensions.file_browser.make_entry') -185.715 000.355 000.355: require('plenary.scandir') -185.793 000.993 000.324: require('telescope._extensions.file_browser.finders') -186.004 000.199 000.199: require('telescope._extensions.file_browser.picker') -186.249 000.234 000.234: require('telescope._extensions.file_browser.config') -186.265 002.564 000.275: require('telescope._extensions.file_browser') -191.549 030.740 005.526: require('plugins.telescope') -194.146 000.178 000.178: require('notify.util.queue') -194.161 000.408 000.230: require('notify.util') -194.595 000.424 000.424: require('notify.config.highlights') -194.614 001.079 000.248: require('notify.config') -194.827 000.203 000.203: require('notify.stages') -195.018 000.178 000.178: require('notify.service.notification') -196.560 001.125 001.125: require('notify.animate.spring') -196.572 001.306 000.181: require('notify.animate') -196.611 001.579 000.273: require('notify.windows') -197.848 000.384 000.384: require('notify.service.buffer.highlights') -197.879 000.880 000.495: require('notify.service.buffer') -197.905 001.283 000.403: require('notify.service') -198.385 000.470 000.470: require('notify.stages.util') -198.512 005.229 000.437: require('notify') -198.889 000.363 000.363: require('nvim-tree.iterators.node-iterator') -199.110 006.086 000.494: require('nvim-tree.utils') -199.172 006.338 000.252: require('nvim-tree.events') -200.263 000.304 000.304: require('nvim-tree.log') -200.715 000.438 000.438: require('nvim-tree.git.utils') -201.129 000.401 000.401: require('nvim-tree.git.runner') -201.445 000.307 000.307: require('nvim-tree.watcher') -201.479 001.943 000.493: require('nvim-tree.git') -201.762 000.275 000.275: require('nvim-tree.explorer.watch') -201.982 000.211 000.211: require('nvim-tree.explorer.common') -202.468 000.220 000.220: require('nvim-tree.explorer.node-builders') -202.679 000.202 000.202: require('nvim-tree.explorer.sorters') -202.956 000.269 000.269: require('nvim-tree.explorer.filters') -204.114 000.871 000.871: require('nvim-tree.view') -204.194 001.222 000.351: require('nvim-tree.live-filter') -204.213 002.223 000.311: require('nvim-tree.explorer.explore') -204.646 000.425 000.425: require('nvim-tree.explorer.reload') -204.692 005.507 000.430: require('nvim-tree.explorer') -204.768 012.093 000.247: require('nvim-tree.core') -205.327 000.547 000.547: require('nvim-tree.diagnostics') -205.591 000.248 000.248: require('nvim-tree.renderer.components.padding') -205.856 000.257 000.257: require('nvim-tree.renderer.components.icons') -206.086 000.221 000.221: require('nvim-tree.renderer.components.full-name') -206.192 000.098 000.098: require('nvim-tree.renderer.help') -206.324 000.125 000.125: require('nvim-tree.renderer.components.git') -206.461 000.129 000.129: require('nvim-tree.renderer.builder') -206.570 000.102 000.102: require('nvim-tree.marks') -206.585 014.134 000.314: require('nvim-tree.renderer') -206.704 000.106 000.106: require('nvim-tree.actions.tree-modifiers.collapse-all') -206.799 000.087 000.087: require('nvim-tree.actions.root.dir-up') -206.912 000.106 000.106: require('nvim-tree.actions.root.change-dir') -207.022 000.102 000.102: require('nvim-tree.actions.reloaders.reloaders') -207.132 000.102 000.102: require('nvim-tree.actions.finders.find-file') -207.138 014.952 000.315: require('nvim-tree.lib') -207.258 000.114 000.114: require('nvim-tree.colors') -207.414 000.144 000.144: require('nvim-tree.legacy') -207.557 000.134 000.134: require('nvim-tree.actions.fs.copy-paste') -207.784 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') -207.886 000.094 000.094: require('nvim-tree.actions.tree-modifiers.toggles') -208.006 000.105 000.105: require('nvim-tree.actions.fs.create-file') -208.162 000.146 000.146: require('nvim-tree.actions.fs.rename-file') -208.306 000.133 000.133: require('nvim-tree.actions.fs.trash') -208.415 000.101 000.101: require('nvim-tree.actions.fs.remove-file') -208.516 000.090 000.090: require('nvim-tree.actions.moves.parent') -208.611 000.088 000.088: require('nvim-tree.actions.moves.sibling') -208.709 000.089 000.089: require('nvim-tree.actions.moves.item') -208.826 000.098 000.098: require('nvim-tree.actions.finders.search-node') -208.920 000.087 000.087: require('nvim-tree.actions.node.run-command') -209.051 000.125 000.125: require('nvim-tree.actions.node.file-popup') -209.172 000.114 000.114: require('nvim-tree.actions.node.system-open') -209.282 000.099 000.099: require('nvim-tree.marks.bulk-move') -209.290 001.720 000.251: require('nvim-tree.actions.dispatch') -209.324 017.537 000.472: require('nvim-tree') -209.415 000.084 000.084: require('nvim-tree.config') -214.294 000.227 000.227: require('nvim-tree.actions') -214.449 000.129 000.129: require('nvim-tree.actions.node.open-file') -217.414 000.103 000.103: require('nvim-tree.marks.navigation') -217.427 000.325 000.223: require('nvim-tree.api') -217.447 000.478 000.153: require('nvim-tree.keymap') -218.357 000.429 000.429: require('nvim-web-devicons') -222.592 031.020 012.137: require('plugins.nvim-tree') -223.080 000.103 000.103: require('cmp.utils.debug') -223.295 000.121 000.121: require('cmp.utils.char') -223.309 000.220 000.099: require('cmp.utils.str') -223.446 000.083 000.083: require('cmp.utils.pattern') -223.720 000.087 000.087: require('cmp.utils.misc') -223.831 000.084 000.084: require('cmp.utils.buffer') -223.932 000.094 000.094: require('cmp.utils.api') -223.943 000.406 000.142: require('cmp.utils.keymap') -223.952 000.498 000.092: require('cmp.utils.feedkeys') -224.053 000.096 000.096: require('cmp.utils.async') -224.323 000.073 000.073: require('cmp.types.cmp') -224.439 000.108 000.108: require('cmp.types.lsp') -224.518 000.072 000.072: require('cmp.types.vim') -224.523 000.378 000.124: require('cmp.types') -224.604 000.076 000.076: require('cmp.utils.cache') -224.612 000.551 000.097: require('cmp.context') -224.911 000.093 000.093: require('cmp.config.mapping') -225.106 000.094 000.094: require('cmp.config.compare') -225.112 000.188 000.095: require('cmp.config.default') -225.136 000.424 000.143: require('cmp.config') -225.334 000.078 000.078: require('cmp.matcher') -225.345 000.203 000.125: require('cmp.entry') -225.360 000.744 000.117: require('cmp.source') -225.526 000.073 000.073: require('cmp.utils.event') -225.714 000.096 000.096: require('cmp.utils.window') -225.722 000.189 000.093: require('cmp.view.docs_view') -225.922 000.085 000.085: require('cmp.utils.autocmd') -225.942 000.215 000.130: require('cmp.view.custom_entries_view') -226.063 000.115 000.115: require('cmp.view.wildmenu_entries_view') -226.170 000.101 000.101: require('cmp.view.native_entries_view') -226.267 000.090 000.090: require('cmp.view.ghost_text_view') -226.282 000.917 000.134: require('cmp.view') -226.609 003.752 000.539: require('cmp.core') -226.968 000.087 000.087: require('cmp.config.sources') -227.054 000.076 000.076: require('cmp.config.window') -227.157 004.417 000.502: require('cmp') -227.566 000.116 000.116: require('symbols-outline.config') -227.573 000.205 000.089: require('symbols-outline.symbols') -227.670 000.092 000.092: require('symbols-outline.ui') -227.761 000.083 000.083: require('symbols-outline.utils.table') -227.848 000.080 000.080: require('symbols-outline.folding') -227.854 000.576 000.116: require('symbols-outline.parser') -227.980 000.121 000.121: require('symbols-outline.providers.init') -228.099 000.112 000.112: require('symbols-outline.writer') -228.199 000.090 000.090: require('symbols-outline.utils.init') -228.290 000.085 000.085: require('symbols-outline.view') -228.304 001.140 000.156: require('symbols-outline') -228.630 000.115 000.115: require('symbols-outline.preview') -228.750 000.105 000.105: require('lspkind') -230.504 007.899 002.123: require('plugins.cmp') -231.031 000.080 000.080: require('luasnip.session') -231.175 000.135 000.135: require('luasnip.util.util') -231.271 000.088 000.088: require('luasnip.util.types') -231.508 000.139 000.139: require('luasnip.util.ext_opts') -231.523 000.245 000.105: require('luasnip.nodes.util') -231.646 000.113 000.113: require('luasnip.util.events') -231.665 000.810 000.149: require('luasnip.nodes.node') -231.912 000.092 000.092: require('luasnip.util.extend_decorator') -231.924 000.253 000.161: require('luasnip.nodes.insertNode') -232.075 000.145 000.145: require('luasnip.nodes.textNode') -232.192 000.104 000.104: require('luasnip.util.mark') -233.038 000.746 000.746: require('luasnip.util._builtin_vars') -233.324 001.126 000.380: require('luasnip.util.environ') -233.446 000.111 000.111: require('luasnip.util.pattern_tokenizer') -233.543 000.089 000.089: require('luasnip.util.dict') -233.661 000.111 000.111: require('luasnip.session.snippet_collection') -233.770 003.054 000.305: require('luasnip.nodes.snippet') -233.987 000.093 000.093: require('luasnip.loaders._caches') -234.123 000.128 000.128: require('luasnip.util.path') -234.172 000.388 000.167: require('luasnip.loaders') -234.345 000.136 000.136: require('luasnip.nodes.functionNode') -234.509 000.155 000.155: require('luasnip.nodes.choiceNode') -234.659 000.142 000.142: require('luasnip.nodes.dynamicNode') -234.813 000.147 000.147: require('luasnip.nodes.restoreNode') -235.190 000.100 000.100: require('luasnip.util.parser.neovim_ast') -239.746 000.109 000.109: require('luasnip.util.directed_graph') -239.766 004.787 004.578: require('luasnip.util.parser.ast_utils') -239.980 000.089 000.089: require('luasnip.util.functions') -239.997 000.224 000.135: require('luasnip.util.parser.ast_parser') -240.200 000.198 000.198: require('luasnip.util.parser.neovim_parser') -240.303 000.093 000.093: require('luasnip.util.str') -240.320 005.454 000.151: require('luasnip.util.parser') -240.551 000.094 000.094: require('luasnip.extras.filetype_functions') -240.699 000.108 000.108: require('luasnip.extras') -240.816 000.106 000.106: require('luasnip.extras.fmt') -241.095 000.097 000.097: require('luasnip.extras.conditions') -241.194 000.091 000.091: require('luasnip.extras.conditions.show') -241.287 000.373 000.185: require('luasnip.extras.conditions.expand') -241.292 000.467 000.095: require('luasnip.extras.expand_conditions') -241.417 000.114 000.114: require('luasnip.nodes.absolute_indexer') -241.792 001.466 000.577: require('luasnip.config') -241.802 011.208 000.265: require('luasnip') -242.023 000.105 000.105: require('luasnip.loaders.util') -242.034 000.225 000.120: require('luasnip.loaders.from_lua') -251.796 021.281 009.848: require('plugins.luasnip') -252.198 000.136 000.136: require('colorizer/nvim') -252.544 000.337 000.337: require('colorizer/trie') -252.823 000.908 000.434: require('colorizer') -254.835 003.023 002.115: require('plugins.colorizer') -255.212 000.088 000.088: require('prettier.utils') -255.245 000.224 000.136: require('prettier.options') -255.929 000.254 000.254: require('null-ls.methods') -255.957 000.404 000.150: require('null-ls.utils') -256.381 000.415 000.415: require('vim.diagnostic') -256.432 000.977 000.157: require('null-ls.config') -256.627 000.092 000.092: require('null-ls.helpers.cache') -256.747 000.112 000.112: require('null-ls.helpers.diagnostics') -256.849 000.090 000.090: require('null-ls.helpers.formatter_factory') -257.070 000.090 000.090: require('null-ls.logger') -257.177 000.100 000.100: require('null-ls.state') -257.185 000.328 000.138: require('null-ls.helpers.generator_factory') -257.389 000.098 000.098: require('null-ls.helpers.command_resolver') -257.396 000.206 000.108: require('null-ls.helpers.make_builtin') -257.496 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') -257.501 001.061 000.139: require('null-ls.helpers') -257.727 000.107 000.107: require('null-ls.diagnostics') -257.745 000.239 000.132: require('null-ls.sources') -257.848 000.095 000.095: require('null-ls.builtins') -257.855 002.490 000.117: require('null-ls') -257.945 000.084 000.084: require('prettier.cli') -257.957 002.705 000.131: require('prettier.null-ls') -257.963 003.031 000.102: require('prettier') -258.229 003.381 000.350: require('plugins.prettier') -258.396 000.086 000.086: require('git') -258.530 000.097 000.097: require('git.config') -258.717 000.478 000.296: require('plugins.git') -259.014 000.087 000.087: require('gitsigns.async') -259.118 000.095 000.095: require('gitsigns.status') -259.367 000.099 000.099: require('gitsigns.debug') -259.476 000.102 000.102: require('gitsigns.util') -259.677 000.094 000.094: require('gitsigns.uv') -259.684 000.200 000.106: require('gitsigns.subprocess') -260.111 000.083 000.083: require('gitsigns.message') -260.141 000.264 000.182: require('gitsigns.config') -260.234 000.086 000.086: require('gitsigns.signs.base') -260.241 000.447 000.097: require('gitsigns.signs') -260.250 000.560 000.114: require('gitsigns.hunks') -260.267 001.141 000.180: require('gitsigns.git') -260.483 000.087 000.087: require('gitsigns.cache') -260.581 000.090 000.090: require('gitsigns.debounce') -260.672 000.081 000.081: require('gitsigns.diff') -260.695 000.423 000.165: require('gitsigns.manager') -260.816 000.115 000.115: require('gitsigns.highlight') -260.843 002.048 000.186: require('gitsigns') -262.356 000.111 000.111: require('gitsigns.signs.vimfn') -264.815 006.090 003.930: require('plugins.gitsigns') -265.259 000.115 000.115: require('neoscroll.config') -265.372 000.104 000.104: require('neoscroll.utils') -265.524 000.543 000.324: require('neoscroll') -266.106 001.269 000.726: require('plugins.neoscroll') -266.540 000.130 000.130: require('cmp_nvim_lsp.source') -266.548 000.242 000.112: require('cmp_nvim_lsp') -266.651 000.094 000.094: require('lspconfig') -266.797 000.100 000.100: require('lspconfig.server_configurations.pylsp') -267.474 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') -267.914 000.120 000.120: require('lspconfig.server_configurations.clangd') -270.207 000.132 000.132: require('lspconfig.server_configurations.sumneko_lua') -271.896 005.779 004.957: require('plugins.lsp') -272.263 000.090 000.090: require('nvim-autopairs._log') -272.396 000.124 000.124: require('nvim-autopairs.utils') -272.730 000.120 000.120: require('nvim-autopairs.conds') -272.743 000.233 000.112: require('nvim-autopairs.rule') -272.749 000.345 000.113: require('nvim-autopairs.rules.basic') -272.768 000.761 000.201: require('nvim-autopairs') -272.922 000.119 000.119: require('nvim-autopairs.fastwrap') -273.366 000.116 000.116: require('nvim-autopairs.ts-conds') -273.373 000.225 000.109: require('nvim-autopairs.rules.ts_basic') -273.622 000.240 000.240: require('vim.treesitter.highlighter') -274.682 000.096 000.096: require('nvim-autopairs.completion.handlers') -274.699 000.225 000.129: require('nvim-autopairs.completion.cmp') -274.719 002.809 001.240: require('plugins.autopairs') -274.973 000.148 000.148: require('null-ls.builtins.formatting.prettierd') -275.120 000.134 000.134: require('null-ls.builtins.formatting.stylua') -275.247 000.114 000.114: require('null-ls.builtins.formatting.shfmt') -276.080 000.138 000.138: require('null-ls.client') -276.133 001.408 000.874: require('plugins.null-ls') -276.214 000.073 000.073: require('plugins.web-devicons') -276.685 000.094 000.094: require('zen-mode.util') -276.742 000.238 000.144: require('zen-mode.config') -276.857 000.105 000.105: require('zen-mode.plugins') -276.868 000.499 000.157: require('zen-mode.view') -276.874 000.588 000.088: require('zen-mode') -276.951 000.730 000.142: require('plugins.zen-mode') -280.901 000.104 000.104: require('doom-one.utils') -281.015 000.103 000.103: require('doom-one.colors') -281.037 000.543 000.336: require('doom-one') -283.851 004.333 003.790: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -287.915 000.282 000.282: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/syntax/synload.vim -288.303 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -289.433 000.073 000.073: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/filetype.lua -290.635 000.958 000.958: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/filetype.vim -291.465 000.187 000.187: require('filetype') -291.532 005.416 003.858: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/syntax/syntax.vim -291.899 000.121 000.121: require('notify.stages.fade_in_slide_out') -291.961 015.000 005.130: require('plugins.colorscheme') -292.318 000.102 000.102: require('heirline.conditions') -292.462 000.136 000.136: require('heirline.utils') -292.892 000.128 000.128: require('heirline.highlights') -292.906 000.246 000.118: require('heirline.statusline') -292.915 000.363 000.117: require('heirline') -293.199 000.151 000.151: require('nvim-navic') -297.460 005.490 004.739: require('plugins.heirline') -297.579 206.696 003.280: sourcing /home/srdusr/.config/nvim/init.lua -297.601 009.858: sourcing vimrc file(s) -303.525 000.995 000.995: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/gzip.vim -303.693 000.080 000.080: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/health.vim -306.245 001.340 001.340: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -306.645 002.883 001.543: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/matchit.vim -307.154 000.403 000.403: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/matchparen.vim -307.304 000.079 000.079: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/netrwPlugin.vim -307.723 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -307.746 000.376 000.354: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/rplugin.vim -308.005 000.197 000.197: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/shada.vim -308.146 000.055 000.055: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/spellfile.vim -308.288 000.064 000.064: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/tarPlugin.vim -308.419 000.061 000.061: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/tohtml.vim -308.535 000.047 000.047: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/tutor.vim -309.255 000.651 000.651: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/zipPlugin.vim -309.568 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -310.943 000.113 000.113: require('leap') -311.055 000.101 000.101: require('leap.user') -312.079 000.201 000.201: require('fidget.log') -312.102 000.380 000.179: require('fidget') -312.288 000.162 000.162: require('fidget.spinners') -313.002 000.087 000.087: require('crates.time') -313.013 000.191 000.104: require('crates.types') -313.022 000.302 000.111: require('crates.semver') -314.426 001.316 001.316: require('crates.config') -314.580 000.143 000.143: require('crates.toml') -314.590 001.562 000.102: require('crates.state') -314.614 002.029 000.165: require('crates.util') -314.628 002.152 000.123: require('crates.actions') -314.885 000.143 000.143: require('crates.api') -314.980 000.087 000.087: require('crates.async') -315.097 000.109 000.109: require('crates.diagnostic') -315.206 000.100 000.100: require('crates.ui') -315.215 000.580 000.142: require('crates.core') -315.445 000.116 000.116: require('crates.popup.common') -315.565 000.112 000.112: require('crates.popup.crate') -315.686 000.114 000.114: require('crates.popup.dependencies') -315.820 000.128 000.128: require('crates.popup.features') -315.947 000.120 000.120: require('crates.popup.versions') -315.962 000.742 000.152: require('crates.popup') -315.973 003.614 000.139: require('crates') -318.594 000.138 000.138: require('flit') -319.998 000.462 000.462: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -321.829 012.109 007.139: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -322.657 000.104 000.104: sourcing /tmp/.mount_nvimPc0Gqu/usr/share/nvim/runtime/plugin/man.lua -322.832 007.085: loading rtp plugins -324.845 000.130 000.130: require('Comment.config') -325.158 000.156 000.156: require('Comment.ft') -325.168 000.311 000.155: require('Comment.utils') -325.273 000.098 000.098: require('Comment.opfunc') -325.388 000.108 000.108: require('Comment.extra') -325.397 000.811 000.164: require('Comment.api') -325.607 001.097 000.286: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -325.940 000.157 000.157: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -326.671 000.479 000.479: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -327.456 000.165 000.165: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -328.084 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -329.289 000.605 000.605: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -329.803 000.071 000.071: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -330.459 000.365 000.365: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -331.070 000.101 000.101: require('cmp.utils.highlight') -331.769 000.895 000.794: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -331.979 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -332.301 000.076 000.076: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -332.782 000.169 000.169: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -333.394 000.210 000.210: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -334.101 000.103 000.103: require('nvim-treesitter.statusline') -334.224 000.113 000.113: require('nvim-treesitter.query_predicates') -334.231 000.340 000.124: require('nvim-treesitter') -335.117 001.307 000.967: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -335.658 000.315 000.315: require('treesitter-context') -335.669 000.357 000.042: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -336.080 000.115 000.115: require('nvim-treesitter-refactor') -336.318 000.384 000.269: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -336.687 000.109 000.109: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -337.120 000.080 000.080: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -337.457 000.095 000.095: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -337.940 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -338.242 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -338.608 000.063 000.063: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -339.207 000.119 000.119: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -339.762 000.346 000.346: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -340.453 000.380 000.380: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -340.739 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -341.025 000.047 000.047: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -341.963 011.366: loading packages -350.002 000.084 000.084: require('cmp_buffer.timer') -350.017 000.206 000.122: require('cmp_buffer.buffer') -350.023 000.339 000.133: require('cmp_buffer.source') -350.028 000.438 000.099: require('cmp_buffer') -350.078 000.570 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -350.470 000.177 000.177: require('cmp_cmdline') -350.506 000.275 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -350.860 000.189 000.189: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -351.242 000.163 000.163: require('cmp_path') -351.281 000.267 000.105: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -351.632 000.112 000.112: require('cmp_luasnip') -351.699 000.246 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -352.162 000.128 000.128: require('crates.src.common') -352.170 000.251 000.123: require('crates.src.cmp') -352.201 000.350 000.099: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -352.309 008.449: loading after plugins -352.339 000.031: inits 3 -352.350 000.011: reading ShaDa -353.263 000.128 000.128: require('luasnip.nodes.snippetProxy') -353.275 000.302 000.173: require('luasnip.loaders.from_snipmate') -353.458 000.135 000.135: require('luasnip.loaders.from_vscode') -353.495 000.708: opening buffers -353.639 000.144: BufEnter autocommands -353.647 000.008: editing files in windows -371.448 000.434 000.434: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.043 001.043: --- NVIM STARTING --- -025.873 024.830: event init -041.409 015.536: early init -042.996 001.586: locale set -048.139 005.143: init first window -057.577 009.438: inits 1 -057.606 000.030: window checked -057.618 000.012: parsing arguments -068.779 000.263 000.263: require('vim.shared') -069.295 000.244 000.244: require('vim._meta') -069.308 000.509 000.265: require('vim._editor') -069.316 000.898 000.126: require('vim._init_packages') -069.323 010.807: init lua interpreter -069.484 000.161: expanding arguments -071.198 001.715: inits 2 -072.634 001.435: init highlight -072.644 000.010: waiting for UI -075.821 003.177: done waiting for UI -075.875 000.054: init screen for UI -076.234 000.359: init default mappings -076.269 000.035: init default autocommands -089.114 004.412 004.412: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/ftplugin.vim -092.346 001.099 001.099: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/indent.vim -092.854 000.059 000.059: sourcing /usr/share/nvim/archlinux.vim -092.881 000.211 000.152: sourcing /etc/xdg/nvim/sysinit.vim -134.501 041.215 041.215: require('impatient') -135.735 001.212 001.212: require('impatient.profile') -135.875 000.116 000.116: require('user.utils') -140.389 000.311 000.311: require('packer.util') -140.462 000.728 000.416: require('packer') -141.751 000.701 000.701: require('packer.log') -141.764 000.939 000.238: require('packer.async') -142.108 000.188 000.188: require('packer.result') -142.123 000.351 000.163: require('packer.jobs') -142.139 001.607 000.317: require('packer.plugin_utils') -142.423 000.255 000.255: require('packer.snapshot') -144.443 000.438 000.438: require('mason-core.path') -144.471 000.911 000.473: require('mason.settings') -145.255 000.298 000.298: require('mason-core.functional') -145.614 000.188 000.188: require('mason-core.functional.data') -145.627 000.342 000.154: require('mason-core.functional.function') -145.862 000.198 000.198: require('mason-core.functional.relation') -146.135 000.248 000.248: require('mason-core.functional.logic') -146.228 001.747 000.662: require('mason-core.platform') -146.240 003.239 000.582: require('mason') -146.620 000.158 000.158: require('mason-core.functional.list') -146.676 000.397 000.239: require('mason.api.command') -147.013 000.185 000.185: require('mason-core.log') -147.025 000.340 000.156: require('mason-lspconfig') -147.154 000.122 000.122: require('mason-lspconfig.settings') -147.554 000.161 000.161: require('mason-core.notify') -147.574 000.328 000.167: require('mason-lspconfig.lspconfig_hook') -149.141 000.365 000.365: require('vim.lsp.log') -150.607 000.014 000.014: require('vim.F') -150.620 001.467 001.453: require('vim.lsp.protocol') -151.940 000.646 000.646: require('vim.lsp._snippet') -152.773 000.813 000.813: require('vim.highlight') -152.834 002.204 000.745: require('vim.lsp.util') -152.872 004.479 000.444: require('vim.lsp.handlers') -153.673 000.788 000.788: require('vim.lsp.rpc') -154.124 000.425 000.425: require('vim.lsp.sync') -154.666 000.522 000.522: require('vim.lsp.buf') -155.125 000.441 000.441: require('vim.lsp.diagnostic') -155.474 000.335 000.335: require('vim.lsp.codelens') -155.819 008.071 001.081: require('vim.lsp') -156.085 008.504 000.433: require('lspconfig.util') -156.529 000.184 000.184: require('mason-core.functional.table') -156.675 000.558 000.374: require('mason-lspconfig.mappings.server') -157.343 000.355 000.355: require('mason-core.async') -157.574 000.215 000.215: require('mason-core.async.uv') -157.601 000.758 000.189: require('mason-core.fs') -157.861 000.249 000.249: require('mason-core.optional') -158.015 000.140 000.140: require('mason-core.EventEmitter') -158.384 000.320 000.320: require('mason-registry.index') -158.461 001.774 000.306: require('mason-registry') -158.624 000.148 000.148: require('mason-lspconfig.server_config_extensions') -158.879 000.244 000.244: require('lspconfig.configs') -159.337 000.333 000.333: require('lspconfig.server_configurations.omnisharp') -159.863 000.160 000.160: require('mason-lspconfig.ensure_installed') -160.496 000.149 000.149: require('mason-core.result') -161.376 000.407 000.407: require('mason-core.process') -161.673 000.990 000.583: require('mason-core.spawn') -161.921 000.181 000.181: require('mason-core.receipt') -162.174 000.220 000.220: require('mason-core.functional.string') -162.234 001.725 000.333: require('mason-core.installer.context') -162.492 000.247 000.247: require('mason-core.installer.linker') -162.652 000.148 000.148: require('mason-core.async.control') -162.665 002.492 000.224: require('mason-core.installer') -162.855 000.182 000.182: require('mason-core.installer.handle') -163.640 000.153 000.153: require('mason-core.managers.powershell') -163.651 000.307 000.154: require('mason-core.fetch') -163.657 000.443 000.136: require('mason-core.managers.cargo.client') -164.003 000.173 000.173: require('mason-core.managers.std') -164.303 000.136 000.136: require('mason-core.providers') -164.343 000.329 000.193: require('mason-core.managers.github.client') -164.368 000.704 000.202: require('mason-core.managers.github') -164.420 001.389 000.241: require('mason-core.managers.cargo') -164.748 000.319 000.319: require('mason-core.managers.composer') -165.076 000.316 000.316: require('mason-core.managers.gem') -165.275 000.187 000.187: require('mason-core.managers.git') -165.574 000.288 000.288: require('mason-core.managers.go') -165.823 000.233 000.233: require('mason-core.managers.luarocks') -166.011 000.179 000.179: require('mason-core.managers.npm') -166.214 000.193 000.193: require('mason-core.managers.pip3') -166.230 003.347 000.243: require('mason-core.package.version-check') -166.247 006.371 000.350: require('mason-core.package') -166.507 000.230 000.230: require('mason-registry.python-lsp-server') -166.883 000.156 000.156: require('mason-registry.pyright') -167.155 000.224 000.224: require('mason-registry.clangd') -167.438 000.164 000.164: require('mason-registry.lua-language-server') -167.742 000.126 000.126: require('mason-core.functional.number') -167.817 000.364 000.238: require('mason-lspconfig.api.command') -167.926 028.642 002.397: require('user.pack') -172.561 004.625 004.625: require('user.opts') -172.746 000.014 000.014: require('vim.keymap') -175.372 002.794 002.780: require('user.keys') -175.504 000.120 000.120: require('user.utils') -176.493 000.188 000.188: require('vim.treesitter.language') -176.518 000.553 000.365: require('vim.treesitter.query') -177.603 000.238 000.238: require('vim.treesitter.languagetree') -177.704 000.532 000.294: require('vim.treesitter') -178.087 001.284 000.752: require('nvim-treesitter.parsers') -178.297 000.199 000.199: require('nvim-treesitter.utils') -178.312 001.651 000.168: require('nvim-treesitter.ts_utils') -178.326 001.799 000.149: require('nvim-treesitter.tsrange') -178.464 000.130 000.130: require('nvim-treesitter.caching') -178.488 002.670 000.188: require('nvim-treesitter.query') -178.526 002.915 000.246: require('nvim-treesitter.configs') -179.029 000.132 000.132: require('nvim-treesitter.info') -179.204 000.163 000.163: require('nvim-treesitter.shell_command_selectors') -179.297 000.611 000.315: require('nvim-treesitter.install') -182.180 006.664 003.139: require('plugins.treesitter') -182.578 000.120 000.120: require('telescope._extensions') -182.590 000.246 000.127: require('telescope') -183.570 000.119 000.119: require('plenary.bit') -183.699 000.118 000.118: require('plenary.functional') -183.775 000.051 000.051: require('ffi') -183.804 000.575 000.286: require('plenary.path') -183.823 000.710 000.136: require('plenary.strings') -183.940 000.110 000.110: require('telescope.deprecated') -184.424 000.213 000.213: require('plenary.log') -184.471 000.364 000.151: require('telescope.log') -184.845 000.196 000.196: require('plenary.job') -184.967 000.110 000.110: require('telescope.state') -184.987 000.507 000.201: require('telescope.utils') -185.047 001.099 000.228: require('telescope.sorters') -185.195 000.115 000.115: require('vim.inspect') -190.082 007.179 005.145: require('telescope.config') -190.453 000.147 000.147: require('plenary.window.border') -190.576 000.112 000.112: require('plenary.window') -190.691 000.106 000.106: require('plenary.popup.utils') -190.701 000.600 000.235: require('plenary.popup') -190.894 000.186 000.186: require('telescope.pickers.scroller') -191.033 000.127 000.127: require('telescope.actions.state') -191.196 000.135 000.135: require('telescope.actions.utils') -191.481 000.129 000.129: require('telescope.actions.mt') -191.563 000.358 000.230: require('telescope.actions.set') -195.445 003.749 003.749: require('telescope.config.resolve') -195.463 003.890 000.141: require('telescope.pickers.entry_display') -195.616 000.142 000.142: require('telescope.from_entry') -196.093 013.496 000.878: require('telescope.actions') -197.503 000.144 000.144: require('plenary.tbl') -197.529 000.533 000.389: require('plenary.vararg.rotate') -197.534 000.672 000.138: require('plenary.vararg') -197.671 000.131 000.131: require('plenary.errors') -197.689 000.978 000.175: require('plenary.async.async') -197.861 000.165 000.165: require('plenary.async.structs') -197.932 001.368 000.224: require('plenary.async.control') -198.718 000.591 000.591: require('telescope.make_entry') -199.314 000.198 000.198: require('plenary.async.util') -199.325 000.314 000.117: require('plenary.async.tests') -199.330 000.439 000.124: require('plenary.async') -199.344 000.608 000.169: require('telescope.finders.async_static_finder') -199.745 000.113 000.113: require('plenary.class') -199.783 000.303 000.191: require('telescope._') -199.790 000.439 000.136: require('telescope.finders.async_oneshot_finder') -199.938 000.141 000.141: require('telescope.finders.async_job_finder') -199.954 002.008 000.229: require('telescope.finders') -200.494 000.198 000.198: require('telescope.debounce') -200.769 000.264 000.264: require('telescope.mappings') -200.942 000.156 000.156: require('telescope.pickers.highlights') -201.082 000.129 000.129: require('telescope.pickers.window') -201.389 000.143 000.143: require('telescope.algos.linked_list') -201.401 000.311 000.168: require('telescope.entry_manager') -201.587 000.180 000.180: require('telescope.pickers.multi') -201.645 001.685 000.447: require('telescope.pickers') -201.676 005.312 000.251: require('telescope.builtin.__lsp') -201.761 005.654 000.343: require('telescope.builtin') -202.279 000.347 000.347: require('fzf_lib') -202.297 000.526 000.179: require('telescope._extensions.fzf') -202.964 000.233 000.233: require('telescope._extensions.file_browser.utils') -203.171 000.702 000.469: require('telescope._extensions.file_browser.actions') -203.601 000.259 000.259: require('telescope._extensions.file_browser.make_entry') -203.866 000.248 000.248: require('plenary.scandir') -203.938 000.757 000.250: require('telescope._extensions.file_browser.finders') -204.115 000.166 000.166: require('telescope._extensions.file_browser.picker') -204.301 000.178 000.178: require('telescope._extensions.file_browser.config') -204.310 001.987 000.183: require('telescope._extensions.file_browser') -208.572 026.377 004.468: require('plugins.telescope') -210.283 000.144 000.144: require('notify.util.queue') -210.295 000.305 000.161: require('notify.util') -210.568 000.266 000.266: require('notify.config.highlights') -210.584 000.734 000.164: require('notify.config') -210.702 000.112 000.112: require('notify.stages') -210.834 000.123 000.123: require('notify.service.notification') -211.561 000.476 000.476: require('notify.animate.spring') -211.569 000.586 000.110: require('notify.animate') -211.591 000.749 000.163: require('notify.windows') -212.349 000.264 000.264: require('notify.service.buffer.highlights') -212.373 000.549 000.285: require('notify.service.buffer') -212.391 000.795 000.246: require('notify.service') -212.674 000.277 000.277: require('notify.stages.util') -212.761 003.067 000.276: require('notify') -212.979 000.210 000.210: require('nvim-tree.iterators.node-iterator') -213.126 003.604 000.327: require('nvim-tree.utils') -213.161 003.769 000.165: require('nvim-tree.events') -213.882 000.234 000.234: require('nvim-tree.log') -214.181 000.289 000.289: require('nvim-tree.git.utils') -214.463 000.273 000.273: require('nvim-tree.git.runner') -215.012 000.542 000.542: require('nvim-tree.watcher') -215.037 001.647 000.309: require('nvim-tree.git') -215.274 000.232 000.232: require('nvim-tree.explorer.watch') -215.451 000.169 000.169: require('nvim-tree.explorer.common') -215.937 000.214 000.214: require('nvim-tree.explorer.node-builders') -216.148 000.203 000.203: require('nvim-tree.explorer.sorters') -216.403 000.247 000.247: require('nvim-tree.explorer.filters') -217.275 000.589 000.589: require('nvim-tree.view') -217.318 000.890 000.302: require('nvim-tree.live-filter') -217.343 001.885 000.331: require('nvim-tree.explorer.explore') -217.587 000.237 000.237: require('nvim-tree.explorer.reload') -217.603 004.435 000.266: require('nvim-tree.explorer') -217.624 008.352 000.148: require('nvim-tree.core') -217.917 000.288 000.288: require('nvim-tree.diagnostics') -218.211 000.273 000.273: require('nvim-tree.renderer.components.padding') -218.490 000.270 000.270: require('nvim-tree.renderer.components.icons') -218.728 000.229 000.229: require('nvim-tree.renderer.components.full-name') -218.827 000.090 000.090: require('nvim-tree.renderer.help') -218.953 000.119 000.119: require('nvim-tree.renderer.components.git') -219.086 000.125 000.125: require('nvim-tree.renderer.builder') -219.189 000.095 000.095: require('nvim-tree.marks') -219.201 010.066 000.225: require('nvim-tree.renderer') -219.314 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') -219.408 000.086 000.086: require('nvim-tree.actions.root.dir-up') -219.512 000.097 000.097: require('nvim-tree.actions.root.change-dir') -219.614 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') -219.715 000.092 000.092: require('nvim-tree.actions.finders.find-file') -219.720 010.753 000.217: require('nvim-tree.lib') -219.828 000.101 000.101: require('nvim-tree.colors') -219.962 000.123 000.123: require('nvim-tree.legacy') -220.091 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') -220.300 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') -220.400 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') -220.516 000.100 000.100: require('nvim-tree.actions.fs.create-file') -220.616 000.092 000.092: require('nvim-tree.actions.fs.rename-file') -220.749 000.124 000.124: require('nvim-tree.actions.fs.trash') -220.856 000.100 000.100: require('nvim-tree.actions.fs.remove-file') -220.955 000.089 000.089: require('nvim-tree.actions.moves.parent') -221.050 000.088 000.088: require('nvim-tree.actions.moves.sibling') -221.144 000.085 000.085: require('nvim-tree.actions.moves.item') -221.256 000.093 000.093: require('nvim-tree.actions.finders.search-node') -221.348 000.086 000.086: require('nvim-tree.actions.node.run-command') -221.469 000.115 000.115: require('nvim-tree.actions.node.file-popup') -221.603 000.126 000.126: require('nvim-tree.actions.node.system-open') -221.765 000.150 000.150: require('nvim-tree.marks.bulk-move') -221.773 001.672 000.233: require('nvim-tree.actions.dispatch') -221.805 013.080 000.312: require('nvim-tree') -221.895 000.084 000.084: require('nvim-tree.config') -227.106 000.168 000.168: require('nvim-tree.actions') -227.243 000.120 000.120: require('nvim-tree.actions.node.open-file') -229.922 000.098 000.098: require('nvim-tree.marks.navigation') -229.934 000.287 000.189: require('nvim-tree.api') -229.956 000.435 000.148: require('nvim-tree.keymap') -230.992 000.401 000.401: require('nvim-web-devicons') -235.337 026.749 012.461: require('plugins.nvim-tree') -235.794 000.078 000.078: require('cmp.utils.debug') -236.048 000.163 000.163: require('cmp.utils.char') -236.064 000.260 000.097: require('cmp.utils.str') -236.198 000.085 000.085: require('cmp.utils.pattern') -236.498 000.089 000.089: require('cmp.utils.misc') -236.609 000.082 000.082: require('cmp.utils.buffer') -236.704 000.089 000.089: require('cmp.utils.api') -236.715 000.426 000.167: require('cmp.utils.keymap') -236.724 000.518 000.092: require('cmp.utils.feedkeys') -236.824 000.095 000.095: require('cmp.utils.async') -237.098 000.078 000.078: require('cmp.types.cmp') -237.287 000.182 000.182: require('cmp.types.lsp') -237.381 000.084 000.084: require('cmp.types.vim') -237.387 000.472 000.128: require('cmp.types') -237.467 000.076 000.076: require('cmp.utils.cache') -237.475 000.643 000.096: require('cmp.context') -237.753 000.091 000.091: require('cmp.config.mapping') -237.946 000.093 000.093: require('cmp.config.compare') -237.953 000.188 000.095: require('cmp.config.default') -237.976 000.399 000.120: require('cmp.config') -238.192 000.099 000.099: require('cmp.matcher') -238.205 000.222 000.124: require('cmp.entry') -238.220 000.740 000.118: require('cmp.source') -238.392 000.075 000.075: require('cmp.utils.event') -238.583 000.098 000.098: require('cmp.utils.window') -238.591 000.191 000.093: require('cmp.view.docs_view') -238.792 000.084 000.084: require('cmp.utils.autocmd') -238.812 000.217 000.133: require('cmp.view.custom_entries_view') -238.932 000.114 000.114: require('cmp.view.wildmenu_entries_view') -239.039 000.100 000.100: require('cmp.view.native_entries_view') -239.135 000.090 000.090: require('cmp.view.ghost_text_view') -239.150 000.925 000.139: require('cmp.view') -239.265 003.671 000.326: require('cmp.core') -239.528 000.085 000.085: require('cmp.config.sources') -239.612 000.074 000.074: require('cmp.config.window') -239.714 004.237 000.406: require('cmp') -240.123 000.116 000.116: require('symbols-outline.config') -240.129 000.204 000.088: require('symbols-outline.symbols') -240.224 000.090 000.090: require('symbols-outline.ui') -240.314 000.082 000.082: require('symbols-outline.utils.table') -240.398 000.078 000.078: require('symbols-outline.folding') -240.404 000.570 000.118: require('symbols-outline.parser') -240.491 000.082 000.082: require('symbols-outline.providers.init') -240.589 000.091 000.091: require('symbols-outline.writer') -240.680 000.084 000.084: require('symbols-outline.utils.init') -240.768 000.082 000.082: require('symbols-outline.view') -240.782 001.061 000.152: require('symbols-outline') -241.055 000.148 000.148: require('symbols-outline.preview') -241.175 000.104 000.104: require('lspkind') -243.126 007.777 002.227: require('plugins.cmp') -243.657 000.081 000.081: require('luasnip.session') -243.819 000.153 000.153: require('luasnip.util.util') -243.913 000.087 000.087: require('luasnip.util.types') -244.101 000.089 000.089: require('luasnip.util.ext_opts') -244.111 000.190 000.101: require('luasnip.nodes.util') -244.201 000.084 000.084: require('luasnip.util.events') -244.219 000.738 000.143: require('luasnip.nodes.node') -244.460 000.092 000.092: require('luasnip.util.extend_decorator') -244.472 000.248 000.156: require('luasnip.nodes.insertNode') -244.592 000.115 000.115: require('luasnip.nodes.textNode') -244.701 000.097 000.097: require('luasnip.util.mark') -245.547 000.735 000.735: require('luasnip.util._builtin_vars') -245.729 001.022 000.286: require('luasnip.util.environ') -245.849 000.110 000.110: require('luasnip.util.pattern_tokenizer') -245.939 000.082 000.082: require('luasnip.util.dict') -246.058 000.112 000.112: require('luasnip.session.snippet_collection') -246.170 002.830 000.308: require('luasnip.nodes.snippet') -246.378 000.090 000.090: require('luasnip.loaders._caches') -246.512 000.126 000.126: require('luasnip.util.path') -246.557 000.372 000.157: require('luasnip.loaders') -246.727 000.134 000.134: require('luasnip.nodes.functionNode') -246.886 000.151 000.151: require('luasnip.nodes.choiceNode') -247.035 000.142 000.142: require('luasnip.nodes.dynamicNode') -247.182 000.139 000.139: require('luasnip.nodes.restoreNode') -247.578 000.102 000.102: require('luasnip.util.parser.neovim_ast') -252.388 000.107 000.107: require('luasnip.util.directed_graph') -252.408 005.073 004.864: require('luasnip.util.parser.ast_utils') -252.620 000.088 000.088: require('luasnip.util.functions') -252.636 000.222 000.134: require('luasnip.util.parser.ast_parser') -252.818 000.176 000.176: require('luasnip.util.parser.neovim_parser') -252.920 000.093 000.093: require('luasnip.util.str') -252.933 005.700 000.135: require('luasnip.util.parser') -253.159 000.096 000.096: require('luasnip.extras.filetype_functions') -253.302 000.105 000.105: require('luasnip.extras') -253.415 000.100 000.100: require('luasnip.extras.fmt') -253.691 000.088 000.088: require('luasnip.extras.conditions') -253.787 000.088 000.088: require('luasnip.extras.conditions.show') -253.867 000.349 000.172: require('luasnip.extras.conditions.expand') -253.872 000.450 000.101: require('luasnip.extras.expand_conditions') -253.981 000.098 000.098: require('luasnip.nodes.absolute_indexer') -254.431 001.492 000.643: require('luasnip.config') -254.441 011.223 000.263: require('luasnip') -254.658 000.102 000.102: require('luasnip.loaders.util') -254.672 000.224 000.122: require('luasnip.loaders.from_lua') -264.076 020.939 009.492: require('plugins.luasnip') -264.465 000.145 000.145: require('colorizer/nvim') -264.805 000.332 000.332: require('colorizer/trie') -265.104 000.925 000.448: require('colorizer') -266.944 002.850 001.926: require('plugins.colorizer') -267.327 000.092 000.092: require('prettier.utils') -267.361 000.231 000.139: require('prettier.options') -268.061 000.272 000.272: require('null-ls.methods') -268.088 000.416 000.144: require('null-ls.utils') -268.574 000.476 000.476: require('vim.diagnostic') -268.652 001.077 000.185: require('null-ls.config') -268.845 000.086 000.086: require('null-ls.helpers.cache') -268.966 000.113 000.113: require('null-ls.helpers.diagnostics') -269.069 000.096 000.096: require('null-ls.helpers.formatter_factory') -269.290 000.089 000.089: require('null-ls.logger') -269.398 000.102 000.102: require('null-ls.state') -269.406 000.330 000.139: require('null-ls.helpers.generator_factory') -269.611 000.098 000.098: require('null-ls.helpers.command_resolver') -269.617 000.205 000.107: require('null-ls.helpers.make_builtin') -269.717 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') -269.722 001.061 000.136: require('null-ls.helpers') -269.945 000.110 000.110: require('null-ls.diagnostics') -269.963 000.236 000.126: require('null-ls.sources') -270.072 000.101 000.101: require('null-ls.builtins') -270.079 002.597 000.122: require('null-ls') -270.167 000.084 000.084: require('prettier.cli') -270.179 002.811 000.130: require('prettier.null-ls') -270.185 003.143 000.100: require('prettier') -270.428 003.471 000.328: require('plugins.prettier') -270.593 000.087 000.087: require('git') -270.723 000.093 000.093: require('git.config') -270.894 000.456 000.276: require('plugins.git') -271.192 000.088 000.088: require('gitsigns.async') -271.290 000.089 000.089: require('gitsigns.status') -271.560 000.113 000.113: require('gitsigns.debug') -271.672 000.104 000.104: require('gitsigns.util') -271.866 000.094 000.094: require('gitsigns.uv') -271.876 000.198 000.104: require('gitsigns.subprocess') -272.295 000.087 000.087: require('gitsigns.message') -272.324 000.263 000.176: require('gitsigns.config') -272.416 000.084 000.084: require('gitsigns.signs.base') -272.423 000.441 000.094: require('gitsigns.signs') -272.432 000.549 000.108: require('gitsigns.hunks') -272.450 001.153 000.189: require('gitsigns.git') -272.665 000.086 000.086: require('gitsigns.cache') -272.762 000.088 000.088: require('gitsigns.debounce') -272.851 000.080 000.080: require('gitsigns.diff') -272.875 000.418 000.164: require('gitsigns.manager') -272.995 000.114 000.114: require('gitsigns.highlight') -273.015 002.046 000.184: require('gitsigns') -274.589 000.118 000.118: require('gitsigns.signs.vimfn') -277.079 006.178 004.014: require('plugins.gitsigns') -277.520 000.108 000.108: require('neoscroll.config') -277.630 000.095 000.095: require('neoscroll.utils') -277.778 000.525 000.322: require('neoscroll') -278.364 001.261 000.737: require('plugins.neoscroll') -278.865 000.104 000.104: require('cmp_nvim_lsp.source') -278.875 000.231 000.127: require('cmp_nvim_lsp') -279.004 000.097 000.097: require('lspconfig') -279.153 000.103 000.103: require('lspconfig.server_configurations.pylsp') -279.728 000.133 000.133: require('mason-lspconfig.server_configurations.pylsp') -280.312 000.128 000.128: require('lspconfig.server_configurations.clangd') -282.706 000.142 000.142: require('lspconfig.server_configurations.sumneko_lua') -284.640 006.264 005.431: require('plugins.lsp') -285.021 000.095 000.095: require('nvim-autopairs._log') -285.146 000.115 000.115: require('nvim-autopairs.utils') -285.481 000.119 000.119: require('nvim-autopairs.conds') -285.492 000.233 000.115: require('nvim-autopairs.rule') -285.500 000.346 000.113: require('nvim-autopairs.rules.basic') -285.516 000.770 000.213: require('nvim-autopairs') -285.666 000.115 000.115: require('nvim-autopairs.fastwrap') -286.180 000.113 000.113: require('nvim-autopairs.ts-conds') -286.188 000.226 000.113: require('nvim-autopairs.rules.ts_basic') -286.508 000.315 000.315: require('vim.treesitter.highlighter') -287.541 000.094 000.094: require('nvim-autopairs.completion.handlers') -287.558 000.222 000.127: require('nvim-autopairs.completion.cmp') -287.576 002.925 001.278: require('plugins.autopairs') -287.814 000.155 000.155: require('null-ls.builtins.formatting.prettierd') -287.954 000.127 000.127: require('null-ls.builtins.formatting.stylua') -288.076 000.113 000.113: require('null-ls.builtins.formatting.shfmt') -288.727 000.141 000.141: require('null-ls.client') -288.784 001.201 000.665: require('plugins.null-ls') -288.862 000.070 000.070: require('plugins.web-devicons') -289.333 000.091 000.091: require('zen-mode.util') -289.400 000.248 000.157: require('zen-mode.config') -289.510 000.101 000.101: require('zen-mode.plugins') -289.524 000.508 000.159: require('zen-mode.view') -289.530 000.597 000.089: require('zen-mode') -289.654 000.786 000.189: require('plugins.zen-mode') -294.376 000.098 000.098: require('doom-one.utils') -294.487 000.101 000.101: require('doom-one.colors') -294.506 000.531 000.332: require('doom-one') -297.288 004.288 003.757: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -301.699 000.302 000.302: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/syntax/synload.vim -302.068 000.055 000.055: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -303.439 000.092 000.092: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/filetype.lua -306.036 002.162 002.162: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/filetype.vim -306.947 000.151 000.151: require('filetype') -307.013 007.337 004.576: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/syntax/syntax.vim -307.393 000.132 000.132: require('notify.stages.fade_in_slide_out') -307.459 017.795 006.038: require('plugins.colorscheme') -307.824 000.100 000.100: require('heirline.conditions') -307.963 000.131 000.131: require('heirline.utils') -308.345 000.103 000.103: require('heirline.highlights') -308.356 000.248 000.145: require('heirline.statusline') -308.367 000.367 000.119: require('heirline') -308.667 000.152 000.152: require('nvim-navic') -313.263 005.794 005.044: require('plugins.heirline') -313.406 220.427 004.146: sourcing /home/srdusr/.config/nvim/init.lua -313.429 011.011: sourcing vimrc file(s) -321.468 001.924 001.924: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/gzip.vim -321.716 000.085 000.085: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/health.vim -325.096 002.170 002.170: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -325.495 003.711 001.541: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/matchit.vim -326.007 000.407 000.407: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/matchparen.vim -326.156 000.079 000.079: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/netrwPlugin.vim -326.562 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -326.583 000.363 000.342: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/rplugin.vim -326.838 000.196 000.196: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/shada.vim -326.967 000.051 000.051: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/spellfile.vim -327.099 000.064 000.064: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/tarPlugin.vim -327.228 000.059 000.059: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/tohtml.vim -327.341 000.045 000.045: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/tutor.vim -328.530 001.117 001.117: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/zipPlugin.vim -328.803 000.037 000.037: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -330.175 000.116 000.116: require('leap') -330.280 000.095 000.095: require('leap.user') -331.323 000.197 000.197: require('fidget.log') -331.342 000.375 000.178: require('fidget') -331.546 000.184 000.184: require('fidget.spinners') -332.276 000.081 000.081: require('crates.time') -332.286 000.186 000.104: require('crates.types') -332.295 000.297 000.112: require('crates.semver') -333.846 001.464 001.464: require('crates.config') -333.996 000.140 000.140: require('crates.toml') -334.005 001.704 000.100: require('crates.state') -334.035 002.179 000.178: require('crates.util') -334.046 002.302 000.123: require('crates.actions') -334.296 000.146 000.146: require('crates.api') -334.389 000.085 000.085: require('crates.async') -334.503 000.107 000.107: require('crates.diagnostic') -334.610 000.098 000.098: require('crates.ui') -334.619 000.567 000.131: require('crates.core') -334.863 000.140 000.140: require('crates.popup.common') -334.980 000.109 000.109: require('crates.popup.crate') -335.103 000.117 000.117: require('crates.popup.dependencies') -335.255 000.145 000.145: require('crates.popup.features') -335.382 000.119 000.119: require('crates.popup.versions') -335.393 000.770 000.140: require('crates.popup') -335.407 003.791 000.152: require('crates') -337.901 000.128 000.128: require('flit') -338.950 000.320 000.320: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -341.092 012.149 007.140: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -341.917 000.098 000.098: sourcing /tmp/.mount_nvimqHHWwj/usr/share/nvim/runtime/plugin/man.lua -342.151 008.337: loading rtp plugins -344.125 000.093 000.093: require('Comment.config') -344.450 000.155 000.155: require('Comment.ft') -344.460 000.326 000.170: require('Comment.utils') -344.561 000.095 000.095: require('Comment.opfunc') -344.659 000.091 000.091: require('Comment.extra') -344.667 000.785 000.180: require('Comment.api') -344.902 001.102 000.317: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -345.230 000.157 000.157: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -345.949 000.474 000.474: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -346.705 000.135 000.135: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -347.305 000.038 000.038: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -348.641 000.779 000.779: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -349.149 000.069 000.069: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -349.789 000.357 000.357: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -350.411 000.128 000.128: require('cmp.utils.highlight') -350.968 000.781 000.653: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -351.172 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -351.483 000.076 000.076: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -351.955 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -352.581 000.219 000.219: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -353.268 000.097 000.097: require('nvim-treesitter.statusline') -353.391 000.114 000.114: require('nvim-treesitter.query_predicates') -353.398 000.332 000.120: require('nvim-treesitter') -354.021 001.035 000.703: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -354.535 000.309 000.309: require('treesitter-context') -354.546 000.349 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -354.980 000.120 000.120: require('nvim-treesitter-refactor') -355.138 000.339 000.219: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -355.491 000.105 000.105: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -355.912 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -356.231 000.091 000.091: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -356.703 000.026 000.026: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -356.974 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -357.330 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -357.912 000.114 000.114: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -358.462 000.349 000.349: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -359.134 000.374 000.374: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -359.412 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -359.699 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -361.225 011.658: loading packages -369.379 000.085 000.085: require('cmp_buffer.timer') -369.394 000.207 000.123: require('cmp_buffer.buffer') -369.400 000.316 000.108: require('cmp_buffer.source') -369.405 000.417 000.101: require('cmp_buffer') -369.459 000.553 000.136: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -369.843 000.173 000.173: require('cmp_cmdline') -369.877 000.273 000.100: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -370.124 000.088 000.088: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -370.523 000.159 000.159: require('cmp_path') -370.558 000.287 000.128: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -370.898 000.117 000.117: require('cmp_luasnip') -370.960 000.246 000.129: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -371.418 000.125 000.125: require('crates.src.common') -371.429 000.230 000.104: require('crates.src.cmp') -371.460 000.348 000.119: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -371.580 008.560: loading after plugins -371.611 000.031: inits 3 -371.623 000.012: reading ShaDa -372.682 000.146 000.146: require('luasnip.nodes.snippetProxy') -372.694 000.352 000.207: require('luasnip.loaders.from_snipmate') -372.863 000.125 000.125: require('luasnip.loaders.from_vscode') -372.898 000.797: opening buffers -373.203 000.306: BufEnter autocommands -373.212 000.009: editing files in windows -394.818 000.621 000.621: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.054 001.054: --- NVIM STARTING --- -026.719 025.665: event init -045.271 018.552: early init -046.890 001.620: locale set -052.120 005.230: init first window -061.548 009.428: inits 1 -061.587 000.039: window checked -061.598 000.012: parsing arguments -072.780 000.294 000.294: require('vim.shared') -073.297 000.239 000.239: require('vim._meta') -073.310 000.508 000.270: require('vim._editor') -073.318 000.929 000.127: require('vim._init_packages') -073.325 010.798: init lua interpreter -073.488 000.163: expanding arguments -075.278 001.790: inits 2 -076.638 001.360: init highlight -076.646 000.009: waiting for UI -078.808 002.161: done waiting for UI -078.854 000.046: init screen for UI -079.098 000.244: init default mappings -079.126 000.027: init default autocommands -088.116 004.027 004.027: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/ftplugin.vim -090.571 000.984 000.984: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/indent.vim -090.883 000.031 000.031: sourcing /usr/share/nvim/archlinux.vim -090.897 000.096 000.065: sourcing /etc/xdg/nvim/sysinit.vim -123.208 032.086 032.086: require('impatient') -124.160 000.935 000.935: require('impatient.profile') -124.274 000.094 000.094: require('user.utils') -127.900 000.251 000.251: require('packer.util') -127.962 000.582 000.331: require('packer') -129.096 000.701 000.701: require('packer.log') -129.109 000.881 000.180: require('packer.async') -129.615 000.368 000.368: require('packer.result') -129.625 000.509 000.141: require('packer.jobs') -129.643 001.625 000.235: require('packer.plugin_utils') -129.855 000.187 000.187: require('packer.snapshot') -131.094 000.106 000.106: require('mason-core.path') -131.115 000.246 000.141: require('mason.settings') -131.416 000.157 000.157: require('mason-core.functional') -131.655 000.101 000.101: require('mason-core.functional.data') -131.665 000.226 000.125: require('mason-core.functional.function') -131.901 000.200 000.200: require('mason-core.functional.relation') -132.073 000.144 000.144: require('mason-core.functional.logic') -132.152 001.028 000.302: require('mason-core.platform') -132.158 001.616 000.342: require('mason') -132.766 000.254 000.254: require('mason-core.functional.list') -132.821 000.626 000.372: require('mason.api.command') -133.180 000.159 000.159: require('mason-core.log') -133.192 000.363 000.204: require('mason-lspconfig') -133.300 000.101 000.101: require('mason-lspconfig.settings') -133.590 000.091 000.091: require('mason-core.notify') -133.608 000.233 000.142: require('mason-lspconfig.lspconfig_hook') -134.800 000.250 000.250: require('vim.lsp.log') -136.032 000.017 000.017: require('vim.F') -136.042 001.231 001.215: require('vim.lsp.protocol') -136.743 000.299 000.299: require('vim.lsp._snippet') -136.965 000.212 000.212: require('vim.highlight') -137.005 000.954 000.444: require('vim.lsp.util') -137.046 002.783 000.348: require('vim.lsp.handlers') -137.355 000.300 000.300: require('vim.lsp.rpc') -137.574 000.208 000.208: require('vim.lsp.sync') -137.899 000.315 000.315: require('vim.lsp.buf') -138.168 000.219 000.219: require('vim.lsp.diagnostic') -138.446 000.229 000.229: require('vim.lsp.codelens') -138.651 004.899 000.845: require('vim.lsp') -138.854 005.240 000.341: require('lspconfig.util') -139.184 000.108 000.108: require('mason-core.functional.table') -139.290 000.408 000.300: require('mason-lspconfig.mappings.server') -139.730 000.208 000.208: require('mason-core.async') -139.874 000.132 000.132: require('mason-core.async.uv') -139.892 000.478 000.138: require('mason-core.fs') -140.016 000.116 000.116: require('mason-core.optional') -140.125 000.099 000.099: require('mason-core.EventEmitter') -140.374 000.232 000.232: require('mason-registry.index') -140.402 001.102 000.176: require('mason-registry') -140.516 000.106 000.106: require('mason-lspconfig.server_config_extensions') -140.656 000.132 000.132: require('lspconfig.configs') -140.834 000.122 000.122: require('lspconfig.server_configurations.omnisharp') -141.223 000.119 000.119: require('mason-lspconfig.ensure_installed') -141.645 000.109 000.109: require('mason-core.result') -142.222 000.294 000.294: require('mason-core.process') -142.314 000.531 000.236: require('mason-core.spawn') -142.445 000.120 000.120: require('mason-core.receipt') -142.580 000.107 000.107: require('mason-core.functional.string') -142.615 000.961 000.203: require('mason-core.installer.context') -142.737 000.115 000.115: require('mason-core.installer.linker') -142.852 000.107 000.107: require('mason-core.async.control') -142.865 001.497 000.205: require('mason-core.installer') -143.011 000.139 000.139: require('mason-core.installer.handle') -143.600 000.110 000.110: require('mason-core.managers.powershell') -143.608 000.228 000.118: require('mason-core.fetch') -143.612 000.329 000.101: require('mason-core.managers.cargo.client') -143.885 000.134 000.134: require('mason-core.managers.std') -144.203 000.194 000.194: require('mason-core.providers') -144.236 000.343 000.149: require('mason-core.managers.github.client') -144.253 000.636 000.158: require('mason-core.managers.github') -144.384 001.241 000.276: require('mason-core.managers.cargo') -144.635 000.242 000.242: require('mason-core.managers.composer') -144.834 000.189 000.189: require('mason-core.managers.gem') -144.960 000.118 000.118: require('mason-core.managers.git') -145.247 000.279 000.279: require('mason-core.managers.go') -145.466 000.209 000.209: require('mason-core.managers.luarocks') -145.649 000.174 000.174: require('mason-core.managers.npm') -145.848 000.190 000.190: require('mason-core.managers.pip3') -145.866 002.833 000.191: require('mason-core.package.version-check') -145.877 004.644 000.175: require('mason-core.package') -146.057 000.125 000.125: require('mason-registry.python-lsp-server') -146.345 000.123 000.123: require('mason-registry.pyright') -146.533 000.157 000.157: require('mason-registry.clangd') -146.723 000.160 000.160: require('mason-registry.lua-language-server') -146.975 000.101 000.101: require('mason-core.functional.number') -147.035 000.298 000.198: require('mason-lspconfig.api.command') -147.125 020.114 002.044: require('user.pack') -149.907 002.773 002.773: require('user.opts') -150.071 000.013 000.013: require('vim.keymap') -152.326 002.405 002.392: require('user.keys') -152.443 000.106 000.106: require('user.utils') -153.519 000.234 000.234: require('vim.treesitter.language') -153.541 000.706 000.472: require('vim.treesitter.query') -154.643 000.272 000.272: require('vim.treesitter.languagetree') -154.729 000.611 000.339: require('vim.treesitter') -155.060 001.268 000.657: require('nvim-treesitter.parsers') -155.244 000.175 000.175: require('nvim-treesitter.utils') -155.262 001.593 000.151: require('nvim-treesitter.ts_utils') -155.274 001.723 000.130: require('nvim-treesitter.tsrange') -155.385 000.103 000.103: require('nvim-treesitter.caching') -155.407 002.709 000.177: require('nvim-treesitter.query') -155.449 002.912 000.204: require('nvim-treesitter.configs') -155.982 000.118 000.118: require('nvim-treesitter.info') -156.142 000.148 000.148: require('nvim-treesitter.shell_command_selectors') -156.189 000.514 000.248: require('nvim-treesitter.install') -158.645 006.192 002.765: require('plugins.treesitter') -158.987 000.104 000.104: require('telescope._extensions') -159.007 000.233 000.130: require('telescope') -159.944 000.104 000.104: require('plenary.bit') -160.059 000.106 000.106: require('plenary.functional') -160.124 000.044 000.044: require('ffi') -160.149 000.473 000.220: require('plenary.path') -160.166 000.602 000.129: require('plenary.strings') -160.268 000.097 000.097: require('telescope.deprecated') -160.751 000.250 000.250: require('plenary.log') -160.825 000.418 000.168: require('telescope.log') -161.147 000.157 000.157: require('plenary.job') -161.252 000.096 000.096: require('telescope.state') -161.270 000.435 000.182: require('telescope.utils') -161.326 001.050 000.196: require('telescope.sorters') -161.490 000.139 000.139: require('vim.inspect') -166.236 006.852 004.965: require('telescope.config') -166.528 000.121 000.121: require('plenary.window.border') -166.629 000.091 000.091: require('plenary.window') -166.724 000.087 000.087: require('plenary.popup.utils') -166.732 000.480 000.181: require('plenary.popup') -166.839 000.101 000.101: require('telescope.pickers.scroller') -166.959 000.113 000.113: require('telescope.actions.state') -167.106 000.117 000.117: require('telescope.actions.utils') -167.341 000.103 000.103: require('telescope.actions.mt') -167.373 000.258 000.155: require('telescope.actions.set') -169.733 002.241 002.241: require('telescope.config.resolve') -169.744 002.365 000.124: require('telescope.pickers.entry_display') -169.860 000.108 000.108: require('telescope.from_entry') -170.312 011.299 000.903: require('telescope.actions') -171.316 000.117 000.117: require('plenary.tbl') -171.327 000.241 000.124: require('plenary.vararg.rotate') -171.331 000.353 000.112: require('plenary.vararg') -171.430 000.093 000.093: require('plenary.errors') -171.441 000.576 000.130: require('plenary.async.async') -171.553 000.106 000.106: require('plenary.async.structs') -171.572 000.852 000.170: require('plenary.async.control') -172.059 000.366 000.366: require('telescope.make_entry') -172.545 000.124 000.124: require('plenary.async.util') -172.552 000.232 000.109: require('plenary.async.tests') -172.559 000.357 000.124: require('plenary.async') -172.566 000.486 000.129: require('telescope.finders.async_static_finder') -172.918 000.097 000.097: require('plenary.class') -172.954 000.264 000.167: require('telescope._') -172.961 000.390 000.126: require('telescope.finders.async_oneshot_finder') -173.084 000.117 000.117: require('telescope.finders.async_job_finder') -173.102 001.521 000.162: require('telescope.finders') -173.637 000.251 000.251: require('telescope.debounce') -174.071 000.424 000.424: require('telescope.mappings') -174.238 000.154 000.154: require('telescope.pickers.highlights') -174.369 000.120 000.120: require('telescope.pickers.window') -174.642 000.127 000.127: require('telescope.algos.linked_list') -174.653 000.277 000.150: require('telescope.entry_manager') -174.783 000.125 000.125: require('telescope.pickers.multi') -174.828 001.718 000.368: require('telescope.pickers') -174.854 004.323 000.233: require('telescope.builtin.__lsp') -174.927 004.604 000.281: require('telescope.builtin') -175.405 000.316 000.316: require('fzf_lib') -175.420 000.483 000.167: require('telescope._extensions.fzf') -175.960 000.185 000.185: require('telescope._extensions.file_browser.utils') -176.111 000.548 000.364: require('telescope._extensions.file_browser.actions') -176.451 000.192 000.192: require('telescope._extensions.file_browser.make_entry') -176.694 000.229 000.229: require('plenary.scandir') -176.753 000.633 000.212: require('telescope._extensions.file_browser.finders') -176.891 000.131 000.131: require('telescope._extensions.file_browser.picker') -177.052 000.154 000.154: require('telescope._extensions.file_browser.config') -177.062 001.621 000.155: require('telescope._extensions.file_browser') -180.680 022.022 003.782: require('plugins.telescope') -182.265 000.103 000.103: require('notify.util.queue') -182.275 000.231 000.128: require('notify.util') -182.549 000.268 000.268: require('notify.config.highlights') -182.570 000.663 000.165: require('notify.config') -182.683 000.106 000.106: require('notify.stages') -182.811 000.120 000.120: require('notify.service.notification') -183.133 000.097 000.097: require('notify.animate.spring') -183.139 000.196 000.099: require('notify.animate') -183.153 000.335 000.139: require('notify.windows') -184.332 000.247 000.247: require('notify.service.buffer.highlights') -184.353 000.751 000.504: require('notify.service.buffer') -184.370 001.211 000.460: require('notify.service') -184.650 000.275 000.275: require('notify.stages.util') -184.733 002.991 000.281: require('notify') -184.939 000.199 000.199: require('nvim-tree.iterators.node-iterator') -185.107 003.531 000.340: require('nvim-tree.utils') -185.147 003.702 000.171: require('nvim-tree.events') -185.827 000.189 000.189: require('nvim-tree.log') -186.111 000.275 000.275: require('nvim-tree.git.utils') -186.372 000.253 000.253: require('nvim-tree.git.runner') -186.635 000.256 000.256: require('nvim-tree.watcher') -186.670 001.291 000.317: require('nvim-tree.git') -186.895 000.219 000.219: require('nvim-tree.explorer.watch') -187.079 000.177 000.177: require('nvim-tree.explorer.common') -187.553 000.285 000.285: require('nvim-tree.explorer.node-builders') -187.776 000.214 000.214: require('nvim-tree.explorer.sorters') -187.962 000.178 000.178: require('nvim-tree.explorer.filters') -188.877 000.603 000.603: require('nvim-tree.view') -188.919 000.946 000.343: require('nvim-tree.live-filter') -188.949 001.863 000.240: require('nvim-tree.explorer.explore') -189.195 000.239 000.239: require('nvim-tree.explorer.reload') -189.217 004.049 000.260: require('nvim-tree.explorer') -189.235 007.896 000.146: require('nvim-tree.core') -189.526 000.284 000.284: require('nvim-tree.diagnostics') -189.768 000.229 000.229: require('nvim-tree.renderer.components.padding') -190.018 000.242 000.242: require('nvim-tree.renderer.components.icons') -190.310 000.285 000.285: require('nvim-tree.renderer.components.full-name') -190.520 000.203 000.203: require('nvim-tree.renderer.help') -190.649 000.121 000.121: require('nvim-tree.renderer.components.git') -190.780 000.124 000.124: require('nvim-tree.renderer.builder') -190.883 000.096 000.096: require('nvim-tree.marks') -190.896 009.678 000.199: require('nvim-tree.renderer') -191.009 000.101 000.101: require('nvim-tree.actions.tree-modifiers.collapse-all') -191.102 000.085 000.085: require('nvim-tree.actions.root.dir-up') -191.207 000.099 000.099: require('nvim-tree.actions.root.change-dir') -191.310 000.095 000.095: require('nvim-tree.actions.reloaders.reloaders') -191.412 000.094 000.094: require('nvim-tree.actions.finders.find-file') -191.417 010.371 000.219: require('nvim-tree.lib') -191.526 000.103 000.103: require('nvim-tree.colors') -191.659 000.122 000.122: require('nvim-tree.legacy') -191.787 000.119 000.119: require('nvim-tree.actions.fs.copy-paste') -192.018 000.098 000.098: require('nvim-tree.actions.tree-modifiers.expand-all') -192.119 000.093 000.093: require('nvim-tree.actions.tree-modifiers.toggles') -192.234 000.100 000.100: require('nvim-tree.actions.fs.create-file') -192.332 000.090 000.090: require('nvim-tree.actions.fs.rename-file') -192.464 000.124 000.124: require('nvim-tree.actions.fs.trash') -192.570 000.099 000.099: require('nvim-tree.actions.fs.remove-file') -192.669 000.088 000.088: require('nvim-tree.actions.moves.parent') -192.763 000.087 000.087: require('nvim-tree.actions.moves.sibling') -192.857 000.085 000.085: require('nvim-tree.actions.moves.item') -192.969 000.093 000.093: require('nvim-tree.actions.finders.search-node') -193.062 000.086 000.086: require('nvim-tree.actions.node.run-command') -193.181 000.112 000.112: require('nvim-tree.actions.node.file-popup') -193.295 000.107 000.107: require('nvim-tree.actions.node.system-open') -193.398 000.093 000.093: require('nvim-tree.marks.bulk-move') -193.405 001.608 000.253: require('nvim-tree.actions.dispatch') -193.437 012.620 000.298: require('nvim-tree') -193.521 000.078 000.078: require('nvim-tree.config') -199.583 000.168 000.168: require('nvim-tree.actions') -199.720 000.119 000.119: require('nvim-tree.actions.node.open-file') -202.652 000.112 000.112: require('nvim-tree.marks.navigation') -202.666 000.304 000.193: require('nvim-tree.api') -202.687 000.451 000.147: require('nvim-tree.keymap') -203.652 000.439 000.439: require('nvim-web-devicons') -207.880 027.187 013.312: require('plugins.nvim-tree') -208.356 000.080 000.080: require('cmp.utils.debug') -208.580 000.135 000.135: require('cmp.utils.char') -208.594 000.229 000.094: require('cmp.utils.str') -208.729 000.082 000.082: require('cmp.utils.pattern') -209.005 000.088 000.088: require('cmp.utils.misc') -209.115 000.083 000.083: require('cmp.utils.buffer') -209.213 000.091 000.091: require('cmp.utils.api') -209.224 000.404 000.142: require('cmp.utils.keymap') -209.232 000.496 000.092: require('cmp.utils.feedkeys') -209.332 000.094 000.094: require('cmp.utils.async') -209.602 000.075 000.075: require('cmp.types.cmp') -209.852 000.243 000.243: require('cmp.types.lsp') -209.943 000.081 000.081: require('cmp.types.vim') -209.949 000.527 000.127: require('cmp.types') -210.029 000.076 000.076: require('cmp.utils.cache') -210.038 000.698 000.096: require('cmp.context') -210.313 000.089 000.089: require('cmp.config.mapping') -210.504 000.092 000.092: require('cmp.config.compare') -210.510 000.186 000.093: require('cmp.config.default') -210.533 000.393 000.118: require('cmp.config') -210.730 000.078 000.078: require('cmp.matcher') -210.741 000.203 000.125: require('cmp.entry') -210.756 000.715 000.119: require('cmp.source') -210.920 000.074 000.074: require('cmp.utils.event') -211.110 000.098 000.098: require('cmp.utils.window') -211.118 000.190 000.092: require('cmp.view.docs_view') -211.317 000.083 000.083: require('cmp.utils.autocmd') -211.336 000.214 000.131: require('cmp.view.custom_entries_view') -211.456 000.114 000.114: require('cmp.view.wildmenu_entries_view') -211.561 000.098 000.098: require('cmp.view.native_entries_view') -211.658 000.091 000.091: require('cmp.view.ghost_text_view') -211.673 000.912 000.132: require('cmp.view') -211.787 003.634 000.327: require('cmp.core') -212.082 000.086 000.086: require('cmp.config.sources') -212.167 000.076 000.076: require('cmp.config.window') -212.265 004.230 000.434: require('cmp') -212.666 000.115 000.115: require('symbols-outline.config') -212.672 000.201 000.086: require('symbols-outline.symbols') -212.767 000.090 000.090: require('symbols-outline.ui') -212.858 000.082 000.082: require('symbols-outline.utils.table') -212.943 000.079 000.079: require('symbols-outline.folding') -212.950 000.567 000.116: require('symbols-outline.parser') -213.037 000.082 000.082: require('symbols-outline.providers.init') -213.134 000.090 000.090: require('symbols-outline.writer') -213.226 000.085 000.085: require('symbols-outline.utils.init') -213.313 000.081 000.081: require('symbols-outline.view') -213.327 001.055 000.150: require('symbols-outline') -213.623 000.114 000.114: require('symbols-outline.preview') -213.739 000.101 000.101: require('lspkind') -215.703 007.810 002.310: require('plugins.cmp') -216.234 000.080 000.080: require('luasnip.session') -216.375 000.132 000.132: require('luasnip.util.util') -216.471 000.085 000.085: require('luasnip.util.types') -216.660 000.090 000.090: require('luasnip.util.ext_opts') -216.669 000.191 000.101: require('luasnip.nodes.util') -216.762 000.086 000.086: require('luasnip.util.events') -216.779 000.720 000.146: require('luasnip.nodes.node') -217.021 000.091 000.091: require('luasnip.util.extend_decorator') -217.033 000.248 000.156: require('luasnip.nodes.insertNode') -217.229 000.191 000.191: require('luasnip.nodes.textNode') -217.345 000.103 000.103: require('luasnip.util.mark') -218.120 000.673 000.673: require('luasnip.util._builtin_vars') -218.469 001.117 000.445: require('luasnip.util.environ') -218.678 000.179 000.179: require('luasnip.util.pattern_tokenizer') -218.780 000.092 000.092: require('luasnip.util.dict') -218.915 000.127 000.127: require('luasnip.session.snippet_collection') -219.116 003.197 000.420: require('luasnip.nodes.snippet') -219.390 000.106 000.106: require('luasnip.loaders._caches') -219.598 000.199 000.199: require('luasnip.util.path') -219.693 000.558 000.254: require('luasnip.loaders') -219.903 000.173 000.173: require('luasnip.nodes.functionNode') -220.076 000.162 000.162: require('luasnip.nodes.choiceNode') -220.225 000.142 000.142: require('luasnip.nodes.dynamicNode') -220.394 000.162 000.162: require('luasnip.nodes.restoreNode') -220.782 000.100 000.100: require('luasnip.util.parser.neovim_ast') -229.233 000.137 000.137: require('luasnip.util.directed_graph') -229.260 008.696 008.459: require('luasnip.util.parser.ast_utils') -229.498 000.097 000.097: require('luasnip.util.functions') -229.515 000.248 000.151: require('luasnip.util.parser.ast_parser') -229.739 000.218 000.218: require('luasnip.util.parser.neovim_parser') -229.846 000.097 000.097: require('luasnip.util.str') -229.861 009.411 000.152: require('luasnip.util.parser') -230.100 000.099 000.099: require('luasnip.extras.filetype_functions') -230.247 000.110 000.110: require('luasnip.extras') -230.362 000.103 000.103: require('luasnip.extras.fmt') -230.648 000.101 000.101: require('luasnip.extras.conditions') -230.745 000.090 000.090: require('luasnip.extras.conditions.show') -230.890 000.428 000.237: require('luasnip.extras.conditions.expand') -230.896 000.527 000.098: require('luasnip.extras.expand_conditions') -231.007 000.095 000.095: require('luasnip.nodes.absolute_indexer') -231.457 001.589 000.656: require('luasnip.config') -231.469 015.672 000.277: require('luasnip') -231.697 000.107 000.107: require('luasnip.loaders.util') -231.708 000.232 000.126: require('luasnip.loaders.from_lua') -240.975 025.260 009.356: require('plugins.luasnip') -241.365 000.144 000.144: require('colorizer/nvim') -241.705 000.332 000.332: require('colorizer/trie') -242.018 000.936 000.461: require('colorizer') -243.977 002.985 002.048: require('plugins.colorizer') -244.366 000.095 000.095: require('prettier.utils') -244.397 000.227 000.133: require('prettier.options') -245.006 000.179 000.179: require('null-ls.methods') -245.032 000.330 000.151: require('null-ls.utils') -245.486 000.445 000.445: require('vim.diagnostic') -245.513 000.908 000.133: require('null-ls.config') -245.700 000.084 000.084: require('null-ls.helpers.cache') -245.828 000.120 000.120: require('null-ls.helpers.diagnostics') -245.926 000.090 000.090: require('null-ls.helpers.formatter_factory') -246.149 000.090 000.090: require('null-ls.logger') -246.255 000.100 000.100: require('null-ls.state') -246.263 000.330 000.141: require('null-ls.helpers.generator_factory') -246.467 000.100 000.100: require('null-ls.helpers.command_resolver') -246.473 000.205 000.105: require('null-ls.helpers.make_builtin') -246.575 000.095 000.095: require('null-ls.helpers.range_formatting_args_factory') -246.580 001.060 000.135: require('null-ls.helpers') -246.808 000.113 000.113: require('null-ls.diagnostics') -246.826 000.241 000.128: require('null-ls.sources') -246.927 000.093 000.093: require('null-ls.builtins') -246.933 002.420 000.117: require('null-ls') -247.021 000.083 000.083: require('prettier.cli') -247.035 002.631 000.128: require('prettier.null-ls') -247.041 002.963 000.104: require('prettier') -247.209 003.218 000.255: require('plugins.prettier') -247.369 000.085 000.085: require('git') -247.462 000.086 000.086: require('git.config') -247.643 000.425 000.253: require('plugins.git') -247.935 000.087 000.087: require('gitsigns.async') -248.028 000.084 000.084: require('gitsigns.status') -248.281 000.101 000.101: require('gitsigns.debug') -248.388 000.099 000.099: require('gitsigns.util') -248.612 000.117 000.117: require('gitsigns.uv') -248.619 000.225 000.108: require('gitsigns.subprocess') -249.042 000.083 000.083: require('gitsigns.message') -249.077 000.267 000.184: require('gitsigns.config') -249.166 000.081 000.081: require('gitsigns.signs.base') -249.175 000.445 000.097: require('gitsigns.signs') -249.185 000.560 000.116: require('gitsigns.hunks') -249.202 001.167 000.183: require('gitsigns.git') -249.417 000.086 000.086: require('gitsigns.cache') -249.513 000.087 000.087: require('gitsigns.debounce') -249.602 000.080 000.080: require('gitsigns.diff') -249.626 000.419 000.166: require('gitsigns.manager') -249.743 000.111 000.111: require('gitsigns.highlight') -249.764 002.050 000.182: require('gitsigns') -251.178 000.114 000.114: require('gitsigns.signs.vimfn') -254.973 007.323 005.158: require('plugins.gitsigns') -255.473 000.136 000.136: require('neoscroll.config') -255.588 000.105 000.105: require('neoscroll.utils') -255.739 000.597 000.355: require('neoscroll') -256.380 001.379 000.782: require('plugins.neoscroll') -256.839 000.133 000.133: require('cmp_nvim_lsp.source') -256.847 000.251 000.118: require('cmp_nvim_lsp') -256.949 000.090 000.090: require('lspconfig') -257.096 000.100 000.100: require('lspconfig.server_configurations.pylsp') -257.635 000.126 000.126: require('mason-lspconfig.server_configurations.pylsp') -258.082 000.124 000.124: require('lspconfig.server_configurations.clangd') -260.275 000.148 000.148: require('lspconfig.server_configurations.sumneko_lua') -262.116 005.727 004.888: require('plugins.lsp') -262.476 000.090 000.090: require('nvim-autopairs._log') -262.599 000.114 000.114: require('nvim-autopairs.utils') -262.938 000.121 000.121: require('nvim-autopairs.conds') -262.951 000.230 000.110: require('nvim-autopairs.rule') -262.957 000.351 000.120: require('nvim-autopairs.rules.basic') -262.976 000.751 000.196: require('nvim-autopairs') -263.209 000.120 000.120: require('nvim-autopairs.fastwrap') -263.725 000.110 000.110: require('nvim-autopairs.ts-conds') -263.733 000.223 000.113: require('nvim-autopairs.rules.ts_basic') -263.996 000.257 000.257: require('vim.treesitter.highlighter') -265.174 000.115 000.115: require('nvim-autopairs.completion.handlers') -265.195 000.248 000.133: require('nvim-autopairs.completion.cmp') -265.215 003.086 001.488: require('plugins.autopairs') -265.460 000.156 000.156: require('null-ls.builtins.formatting.prettierd') -265.604 000.132 000.132: require('null-ls.builtins.formatting.stylua') -265.735 000.121 000.121: require('null-ls.builtins.formatting.shfmt') -266.460 000.137 000.137: require('null-ls.client') -266.517 001.295 000.749: require('plugins.null-ls') -266.598 000.073 000.073: require('plugins.web-devicons') -267.060 000.089 000.089: require('zen-mode.util') -267.258 000.378 000.289: require('zen-mode.config') -267.381 000.111 000.111: require('zen-mode.plugins') -267.395 000.645 000.156: require('zen-mode.view') -267.401 000.733 000.088: require('zen-mode') -267.629 001.024 000.291: require('plugins.zen-mode') -271.689 000.097 000.097: require('doom-one.utils') -271.809 000.109 000.109: require('doom-one.colors') -271.859 000.560 000.354: require('doom-one') -274.483 004.205 003.645: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -278.586 000.282 000.282: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/syntax/synload.vim -278.954 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -280.045 000.079 000.079: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/filetype.lua -281.257 000.938 000.938: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/filetype.vim -282.036 000.151 000.151: require('filetype') -282.100 005.314 003.807: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/syntax/syntax.vim -282.463 000.120 000.120: require('notify.stages.fade_in_slide_out') -282.530 014.890 005.252: require('plugins.colorscheme') -282.883 000.100 000.100: require('heirline.conditions') -283.028 000.137 000.137: require('heirline.utils') -283.366 000.095 000.095: require('heirline.highlights') -283.380 000.218 000.124: require('heirline.statusline') -283.388 000.329 000.111: require('heirline') -283.552 000.141 000.141: require('nvim-navic') -288.180 005.641 004.934: require('plugins.heirline') -288.234 197.287 003.237: sourcing /home/srdusr/.config/nvim/init.lua -288.256 006.736: sourcing vimrc file(s) -296.020 001.956 001.956: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/gzip.vim -296.187 000.077 000.077: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/health.vim -299.589 002.192 002.192: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -299.988 003.730 001.537: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/matchit.vim -300.502 000.408 000.408: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/matchparen.vim -300.649 000.078 000.078: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/netrwPlugin.vim -301.059 000.021 000.021: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -301.080 000.367 000.346: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/rplugin.vim -301.332 000.192 000.192: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/shada.vim -301.468 000.052 000.052: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/spellfile.vim -301.599 000.062 000.062: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/tarPlugin.vim -301.726 000.059 000.059: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/tohtml.vim -301.918 000.124 000.124: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/tutor.vim -302.677 000.635 000.635: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/zipPlugin.vim -303.015 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -304.515 000.117 000.117: require('leap') -304.627 000.101 000.101: require('leap.user') -305.605 000.153 000.153: require('fidget.log') -305.624 000.325 000.173: require('fidget') -305.798 000.153 000.153: require('fidget.spinners') -306.503 000.080 000.080: require('crates.time') -306.512 000.188 000.108: require('crates.types') -306.522 000.296 000.109: require('crates.semver') -308.285 001.677 001.677: require('crates.config') -308.467 000.171 000.171: require('crates.toml') -308.478 001.951 000.103: require('crates.state') -308.524 002.435 000.188: require('crates.util') -308.536 002.557 000.122: require('crates.actions') -308.787 000.143 000.143: require('crates.api') -308.882 000.087 000.087: require('crates.async') -308.998 000.109 000.109: require('crates.diagnostic') -309.107 000.100 000.100: require('crates.ui') -309.120 000.577 000.138: require('crates.core') -309.342 000.117 000.117: require('crates.popup.common') -309.458 000.109 000.109: require('crates.popup.crate') -309.609 000.144 000.144: require('crates.popup.dependencies') -309.764 000.148 000.148: require('crates.popup.features') -309.894 000.124 000.124: require('crates.popup.versions') -309.906 000.781 000.138: require('crates.popup') -309.919 004.054 000.139: require('crates') -312.590 000.134 000.134: require('flit') -314.060 000.463 000.463: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -315.970 012.810 007.461: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -316.859 000.108 000.108: sourcing /tmp/.mount_nvim47xxmc/usr/share/nvim/runtime/plugin/man.lua -317.072 008.115: loading rtp plugins -319.034 000.093 000.093: require('Comment.config') -319.309 000.153 000.153: require('Comment.ft') -319.322 000.279 000.126: require('Comment.utils') -319.421 000.093 000.093: require('Comment.opfunc') -319.566 000.138 000.138: require('Comment.extra') -319.575 000.758 000.155: require('Comment.api') -319.782 001.045 000.287: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -320.114 000.159 000.159: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -320.825 000.464 000.464: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -321.583 000.139 000.139: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -322.213 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -323.474 000.699 000.699: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -323.988 000.069 000.069: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -324.636 000.361 000.361: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -325.325 000.182 000.182: require('cmp.utils.highlight') -326.107 001.068 000.886: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -326.319 000.031 000.031: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -326.632 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -327.098 000.165 000.165: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -327.726 000.216 000.216: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -328.455 000.103 000.103: require('nvim-treesitter.statusline') -328.618 000.154 000.154: require('nvim-treesitter.query_predicates') -328.632 000.412 000.156: require('nvim-treesitter') -329.740 001.603 001.191: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -330.372 000.410 000.410: require('treesitter-context') -330.383 000.453 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -330.959 000.284 000.284: require('nvim-treesitter-refactor') -331.222 000.577 000.293: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -331.587 000.108 000.108: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -332.039 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -332.363 000.094 000.094: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -332.840 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -333.113 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -333.468 000.061 000.061: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -334.061 000.122 000.122: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -334.608 000.342 000.342: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -335.309 000.398 000.398: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -335.590 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -335.862 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -336.906 011.323: loading packages -344.861 000.283 000.283: require('cmp_buffer.timer') -344.873 000.406 000.122: require('cmp_buffer.buffer') -344.883 000.521 000.116: require('cmp_buffer.source') -344.888 000.636 000.115: require('cmp_buffer') -344.942 000.777 000.141: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -345.383 000.199 000.199: require('cmp_cmdline') -345.533 000.434 000.235: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -345.794 000.098 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -346.217 000.159 000.159: require('cmp_path') -346.350 000.410 000.251: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -346.705 000.117 000.117: require('cmp_luasnip') -346.815 000.299 000.181: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -347.266 000.131 000.131: require('crates.src.common') -347.274 000.233 000.102: require('crates.src.cmp') -347.352 000.378 000.145: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -347.463 008.162: loading after plugins -347.495 000.032: inits 3 -347.499 000.004: reading ShaDa -348.728 000.209 000.209: require('luasnip.nodes.snippetProxy') -348.741 000.409 000.200: require('luasnip.loaders.from_snipmate') -348.921 000.130 000.130: require('luasnip.loaders.from_vscode') -348.958 000.921: opening buffers -349.234 000.276: BufEnter autocommands -349.243 000.009: editing files in windows -367.416 000.398 000.398: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.166 001.166: --- NVIM STARTING --- -027.378 026.211: event init -042.943 015.565: early init -044.517 001.574: locale set -049.691 005.174: init first window -059.086 009.394: inits 1 -059.115 000.029: window checked -059.126 000.011: parsing arguments -070.283 000.269 000.269: require('vim.shared') -070.800 000.242 000.242: require('vim._meta') -070.813 000.509 000.267: require('vim._editor') -070.821 000.912 000.134: require('vim._init_packages') -070.828 010.790: init lua interpreter -070.977 000.149: expanding arguments -072.808 001.831: inits 2 -074.232 001.425: init highlight -074.243 000.011: waiting for UI -077.239 002.996: done waiting for UI -077.289 000.050: init screen for UI -077.566 000.277: init default mappings -077.595 000.030: init default autocommands -088.298 003.885 003.885: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/ftplugin.vim -091.165 000.954 000.954: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/indent.vim -091.625 000.058 000.058: sourcing /usr/share/nvim/archlinux.vim -091.653 000.187 000.128: sourcing /etc/xdg/nvim/sysinit.vim -136.440 044.371 044.371: require('impatient') -137.620 001.160 001.160: require('impatient.profile') -137.759 000.115 000.115: require('user.utils') -141.998 000.286 000.286: require('packer.util') -142.156 000.763 000.476: require('packer') -143.194 000.484 000.484: require('packer.log') -143.208 000.744 000.260: require('packer.async') -143.788 000.423 000.423: require('packer.result') -143.799 000.583 000.160: require('packer.jobs') -143.820 001.590 000.263: require('packer.plugin_utils') -144.065 000.215 000.215: require('packer.snapshot') -145.554 000.121 000.121: require('mason-core.path') -145.579 000.282 000.161: require('mason.settings') -145.960 000.214 000.214: require('mason-core.functional') -146.220 000.107 000.107: require('mason-core.functional.data') -146.236 000.247 000.141: require('mason-core.functional.function') -146.480 000.209 000.209: require('mason-core.functional.relation') -146.664 000.155 000.155: require('mason-core.functional.logic') -146.707 001.119 000.293: require('mason-core.platform') -146.713 001.777 000.377: require('mason') -147.284 000.229 000.229: require('mason-core.functional.list') -147.340 000.589 000.360: require('mason.api.command') -147.725 000.170 000.170: require('mason-core.log') -147.737 000.389 000.219: require('mason-lspconfig') -147.852 000.109 000.109: require('mason-lspconfig.settings') -148.245 000.091 000.091: require('mason-core.notify') -148.264 000.239 000.148: require('mason-lspconfig.lspconfig_hook') -149.576 000.276 000.276: require('vim.lsp.log') -151.101 000.013 000.013: require('vim.F') -151.111 001.523 001.510: require('vim.lsp.protocol') -151.827 000.314 000.314: require('vim.lsp._snippet') -152.067 000.229 000.229: require('vim.highlight') -152.108 000.987 000.445: require('vim.lsp.util') -152.155 003.170 000.383: require('vim.lsp.handlers') -152.476 000.312 000.312: require('vim.lsp.rpc') -152.709 000.220 000.220: require('vim.lsp.sync') -153.010 000.289 000.289: require('vim.lsp.buf') -153.251 000.231 000.231: require('vim.lsp.diagnostic') -153.485 000.224 000.224: require('vim.lsp.codelens') -153.665 005.245 000.800: require('vim.lsp') -153.760 005.490 000.245: require('lspconfig.util') -154.217 000.149 000.149: require('mason-core.functional.table') -154.336 000.455 000.306: require('mason-lspconfig.mappings.server') -154.759 000.176 000.176: require('mason-core.async') -154.909 000.110 000.110: require('mason-core.async.uv') -154.928 000.461 000.174: require('mason-core.fs') -155.055 000.120 000.120: require('mason-core.optional') -155.173 000.107 000.107: require('mason-core.EventEmitter') -155.422 000.241 000.241: require('mason-registry.index') -155.452 001.106 000.177: require('mason-registry') -155.574 000.113 000.113: require('mason-lspconfig.server_config_extensions') -155.718 000.136 000.136: require('lspconfig.configs') -155.929 000.151 000.151: require('lspconfig.server_configurations.omnisharp') -156.255 000.124 000.124: require('mason-lspconfig.ensure_installed') -156.808 000.128 000.128: require('mason-core.result') -157.383 000.310 000.310: require('mason-core.process') -157.554 000.595 000.285: require('mason-core.spawn') -157.743 000.175 000.175: require('mason-core.receipt') -157.926 000.162 000.162: require('mason-core.functional.string') -157.971 001.152 000.220: require('mason-core.installer.context') -158.103 000.124 000.124: require('mason-core.installer.linker') -158.230 000.119 000.119: require('mason-core.async.control') -158.240 001.749 000.226: require('mason-core.installer') -158.396 000.150 000.150: require('mason-core.installer.handle') -159.042 000.126 000.126: require('mason-core.managers.powershell') -159.050 000.250 000.124: require('mason-core.fetch') -159.055 000.361 000.111: require('mason-core.managers.cargo.client') -159.501 000.222 000.222: require('mason-core.managers.std') -159.844 000.203 000.203: require('mason-core.providers') -159.879 000.367 000.164: require('mason-core.managers.github.client') -159.898 000.838 000.248: require('mason-core.managers.github') -160.026 001.490 000.291: require('mason-core.managers.cargo') -160.204 000.170 000.170: require('mason-core.managers.composer') -160.376 000.163 000.163: require('mason-core.managers.gem') -160.510 000.126 000.126: require('mason-core.managers.git') -160.684 000.165 000.165: require('mason-core.managers.go') -160.905 000.212 000.212: require('mason-core.managers.luarocks') -161.076 000.162 000.162: require('mason-core.managers.npm') -161.264 000.180 000.180: require('mason-core.managers.pip3') -161.282 002.863 000.195: require('mason-core.package.version-check') -161.293 005.027 000.266: require('mason-core.package') -161.466 000.132 000.132: require('mason-registry.python-lsp-server') -161.888 000.177 000.177: require('mason-registry.pyright') -162.151 000.216 000.216: require('mason-registry.clangd') -162.422 000.144 000.144: require('mason-registry.lua-language-server') -162.740 000.120 000.120: require('mason-core.functional.number') -162.802 000.367 000.247: require('mason-lspconfig.api.command') -163.048 022.083 002.774: require('user.pack') -166.458 003.398 003.398: require('user.opts') -166.638 000.013 000.013: require('vim.keymap') -169.371 002.897 002.884: require('user.keys') -169.502 000.119 000.119: require('user.utils') -170.533 000.204 000.204: require('vim.treesitter.language') -170.557 000.628 000.424: require('vim.treesitter.query') -171.680 000.248 000.248: require('vim.treesitter.languagetree') -171.778 000.582 000.334: require('vim.treesitter') -172.145 001.311 000.729: require('nvim-treesitter.parsers') -172.312 000.156 000.156: require('nvim-treesitter.utils') -172.325 001.627 000.159: require('nvim-treesitter.ts_utils') -172.338 001.773 000.146: require('nvim-treesitter.tsrange') -172.464 000.118 000.118: require('nvim-treesitter.caching') -172.491 002.701 000.183: require('nvim-treesitter.query') -172.529 002.932 000.231: require('nvim-treesitter.configs') -173.041 000.132 000.132: require('nvim-treesitter.info') -173.216 000.164 000.164: require('nvim-treesitter.shell_command_selectors') -173.268 000.565 000.269: require('nvim-treesitter.install') -175.917 006.404 002.907: require('plugins.treesitter') -176.306 000.114 000.114: require('telescope._extensions') -176.317 000.241 000.127: require('telescope') -177.235 000.116 000.116: require('plenary.bit') -177.354 000.109 000.109: require('plenary.functional') -177.420 000.042 000.042: require('ffi') -177.448 000.503 000.236: require('plenary.path') -177.465 000.636 000.132: require('plenary.strings') -177.575 000.103 000.103: require('telescope.deprecated') -178.093 000.264 000.264: require('plenary.log') -178.141 000.407 000.143: require('telescope.log') -178.493 000.168 000.168: require('plenary.job') -178.606 000.102 000.102: require('telescope.state') -178.624 000.474 000.204: require('telescope.utils') -178.686 001.103 000.222: require('telescope.sorters') -178.829 000.116 000.116: require('vim.inspect') -183.415 006.783 004.825: require('telescope.config') -183.747 000.136 000.136: require('plenary.window.border') -183.861 000.105 000.105: require('plenary.window') -183.968 000.099 000.099: require('plenary.popup.utils') -183.979 000.548 000.209: require('plenary.popup') -184.103 000.118 000.118: require('telescope.pickers.scroller') -184.229 000.118 000.118: require('telescope.actions.state') -184.380 000.125 000.125: require('telescope.actions.utils') -184.639 000.118 000.118: require('telescope.actions.mt') -184.675 000.287 000.169: require('telescope.actions.set') -184.982 000.168 000.168: require('telescope.config.resolve') -184.991 000.308 000.140: require('telescope.pickers.entry_display') -188.186 003.189 003.189: require('telescope.from_entry') -188.658 012.331 000.856: require('telescope.actions') -189.833 000.104 000.104: require('plenary.tbl') -189.846 000.221 000.117: require('plenary.vararg.rotate') -189.850 000.336 000.115: require('plenary.vararg') -189.953 000.097 000.097: require('plenary.errors') -189.966 000.566 000.133: require('plenary.async.async') -190.083 000.112 000.112: require('plenary.async.structs') -190.129 000.946 000.268: require('plenary.async.control') -190.646 000.369 000.369: require('telescope.make_entry') -191.180 000.140 000.140: require('plenary.async.util') -191.187 000.266 000.127: require('plenary.async.tests') -191.194 000.394 000.128: require('plenary.async') -191.201 000.538 000.144: require('telescope.finders.async_static_finder') -191.579 000.103 000.103: require('plenary.class') -191.618 000.287 000.184: require('telescope._') -191.626 000.419 000.132: require('telescope.finders.async_oneshot_finder') -191.753 000.121 000.121: require('telescope.finders.async_job_finder') -191.772 001.632 000.186: require('telescope.finders') -192.418 000.276 000.276: require('telescope.debounce') -192.739 000.310 000.310: require('telescope.mappings') -192.912 000.159 000.159: require('telescope.pickers.highlights') -193.114 000.184 000.184: require('telescope.pickers.window') -193.492 000.143 000.143: require('telescope.algos.linked_list') -193.504 000.377 000.234: require('telescope.entry_manager') -193.647 000.136 000.136: require('telescope.pickers.multi') -193.701 001.920 000.478: require('telescope.pickers') -193.728 004.754 000.256: require('telescope.builtin.__lsp') -193.811 005.136 000.382: require('telescope.builtin') -194.635 000.620 000.620: require('fzf_lib') -194.666 000.844 000.224: require('telescope._extensions.fzf') -195.438 000.211 000.211: require('telescope._extensions.file_browser.utils') -195.615 000.646 000.435: require('telescope._extensions.file_browser.actions') -196.076 000.284 000.284: require('telescope._extensions.file_browser.make_entry') -196.338 000.248 000.248: require('plenary.scandir') -196.407 000.783 000.251: require('telescope._extensions.file_browser.finders') -196.575 000.155 000.155: require('telescope._extensions.file_browser.picker') -196.769 000.186 000.186: require('telescope._extensions.file_browser.config') -196.777 001.988 000.217: require('telescope._extensions.file_browser') -200.659 024.727 004.188: require('plugins.telescope') -202.453 000.105 000.105: require('notify.util.queue') -202.469 000.250 000.145: require('notify.util') -202.794 000.319 000.319: require('notify.config.highlights') -202.813 000.741 000.172: require('notify.config') -202.935 000.115 000.115: require('notify.stages') -203.061 000.118 000.118: require('notify.service.notification') -204.157 000.188 000.188: require('notify.animate.spring') -204.164 000.377 000.190: require('notify.animate') -204.187 001.118 000.741: require('notify.windows') -205.252 000.304 000.304: require('notify.service.buffer.highlights') -205.294 000.861 000.557: require('notify.service.buffer') -205.321 001.129 000.268: require('notify.service') -205.646 000.316 000.316: require('notify.stages.util') -205.726 003.817 000.281: require('notify') -205.988 000.255 000.255: require('nvim-tree.iterators.node-iterator') -206.135 004.408 000.336: require('nvim-tree.utils') -206.199 004.623 000.215: require('nvim-tree.events') -206.876 000.187 000.187: require('nvim-tree.log') -207.165 000.281 000.281: require('nvim-tree.git.utils') -207.444 000.271 000.271: require('nvim-tree.git.runner') -207.723 000.272 000.272: require('nvim-tree.watcher') -207.783 001.359 000.349: require('nvim-tree.git') -208.021 000.233 000.233: require('nvim-tree.explorer.watch') -208.211 000.184 000.184: require('nvim-tree.explorer.common') -208.676 000.283 000.283: require('nvim-tree.explorer.node-builders') -208.935 000.250 000.250: require('nvim-tree.explorer.sorters') -209.123 000.180 000.180: require('nvim-tree.explorer.filters') -210.141 000.643 000.643: require('nvim-tree.view') -210.197 001.053 000.410: require('nvim-tree.live-filter') -210.221 002.002 000.236: require('nvim-tree.explorer.explore') -210.563 000.333 000.333: require('nvim-tree.explorer.reload') -210.592 004.384 000.273: require('nvim-tree.explorer') -210.624 009.162 000.155: require('nvim-tree.core') -211.028 000.395 000.395: require('nvim-tree.diagnostics') -211.310 000.261 000.261: require('nvim-tree.renderer.components.padding') -211.478 000.155 000.155: require('nvim-tree.renderer.components.icons') -211.654 000.165 000.165: require('nvim-tree.renderer.components.full-name') -211.802 000.138 000.138: require('nvim-tree.renderer.help') -212.000 000.186 000.186: require('nvim-tree.renderer.components.git') -212.150 000.138 000.138: require('nvim-tree.renderer.builder') -212.256 000.097 000.097: require('nvim-tree.marks') -212.269 010.950 000.250: require('nvim-tree.renderer') -212.382 000.100 000.100: require('nvim-tree.actions.tree-modifiers.collapse-all') -212.475 000.086 000.086: require('nvim-tree.actions.root.dir-up') -212.642 000.161 000.161: require('nvim-tree.actions.root.change-dir') -212.762 000.103 000.103: require('nvim-tree.actions.reloaders.reloaders') -212.867 000.096 000.096: require('nvim-tree.actions.finders.find-file') -212.873 011.746 000.250: require('nvim-tree.lib') -212.983 000.104 000.104: require('nvim-tree.colors') -213.116 000.122 000.122: require('nvim-tree.legacy') -213.246 000.121 000.121: require('nvim-tree.actions.fs.copy-paste') -213.456 000.097 000.097: require('nvim-tree.actions.tree-modifiers.expand-all') -213.555 000.092 000.092: require('nvim-tree.actions.tree-modifiers.toggles') -213.672 000.101 000.101: require('nvim-tree.actions.fs.create-file') -213.773 000.093 000.093: require('nvim-tree.actions.fs.rename-file') -213.907 000.126 000.126: require('nvim-tree.actions.fs.trash') -214.014 000.099 000.099: require('nvim-tree.actions.fs.remove-file') -214.112 000.088 000.088: require('nvim-tree.actions.moves.parent') -214.206 000.087 000.087: require('nvim-tree.actions.moves.sibling') -214.300 000.085 000.085: require('nvim-tree.actions.moves.item') -214.412 000.094 000.094: require('nvim-tree.actions.finders.search-node') -214.504 000.085 000.085: require('nvim-tree.actions.node.run-command') -214.622 000.112 000.112: require('nvim-tree.actions.node.file-popup') -214.737 000.107 000.107: require('nvim-tree.actions.node.system-open') -214.844 000.096 000.096: require('nvim-tree.marks.bulk-move') -214.851 001.594 000.232: require('nvim-tree.actions.dispatch') -214.882 014.029 000.343: require('nvim-tree') -214.968 000.079 000.079: require('nvim-tree.config') -219.764 000.172 000.172: require('nvim-tree.actions') -219.902 000.121 000.121: require('nvim-tree.actions.node.open-file') -222.461 000.099 000.099: require('nvim-tree.marks.navigation') -222.473 000.311 000.212: require('nvim-tree.api') -222.495 000.457 000.146: require('nvim-tree.keymap') -223.418 000.406 000.406: require('nvim-web-devicons') -227.476 026.793 011.530: require('plugins.nvim-tree') -227.939 000.078 000.078: require('cmp.utils.debug') -228.150 000.119 000.119: require('cmp.utils.char') -228.164 000.216 000.097: require('cmp.utils.str') -228.297 000.080 000.080: require('cmp.utils.pattern') -228.572 000.086 000.086: require('cmp.utils.misc') -228.682 000.082 000.082: require('cmp.utils.buffer') -228.779 000.089 000.089: require('cmp.utils.api') -228.789 000.402 000.144: require('cmp.utils.keymap') -228.798 000.494 000.092: require('cmp.utils.feedkeys') -228.897 000.094 000.094: require('cmp.utils.async') -229.171 000.079 000.079: require('cmp.types.cmp') -229.374 000.195 000.195: require('cmp.types.lsp') -229.462 000.078 000.078: require('cmp.types.vim') -229.467 000.479 000.127: require('cmp.types') -229.547 000.075 000.075: require('cmp.utils.cache') -229.556 000.650 000.096: require('cmp.context') -229.836 000.091 000.091: require('cmp.config.mapping') -230.025 000.092 000.092: require('cmp.config.compare') -230.032 000.184 000.093: require('cmp.config.default') -230.055 000.397 000.121: require('cmp.config') -230.253 000.079 000.079: require('cmp.matcher') -230.263 000.203 000.124: require('cmp.entry') -230.279 000.718 000.118: require('cmp.source') -230.445 000.073 000.073: require('cmp.utils.event') -230.637 000.098 000.098: require('cmp.utils.window') -230.645 000.192 000.095: require('cmp.view.docs_view') -230.844 000.083 000.083: require('cmp.utils.autocmd') -230.864 000.214 000.132: require('cmp.view.custom_entries_view') -230.984 000.114 000.114: require('cmp.view.wildmenu_entries_view') -231.090 000.100 000.100: require('cmp.view.native_entries_view') -231.186 000.089 000.089: require('cmp.view.ghost_text_view') -231.201 000.917 000.134: require('cmp.view') -231.306 003.572 000.324: require('cmp.core') -231.568 000.085 000.085: require('cmp.config.sources') -231.651 000.073 000.073: require('cmp.config.window') -231.779 004.160 000.430: require('cmp') -232.189 000.115 000.115: require('symbols-outline.config') -232.195 000.202 000.087: require('symbols-outline.symbols') -232.290 000.090 000.090: require('symbols-outline.ui') -232.378 000.081 000.081: require('symbols-outline.utils.table') -232.464 000.079 000.079: require('symbols-outline.folding') -232.471 000.568 000.117: require('symbols-outline.parser') -232.587 000.111 000.111: require('symbols-outline.providers.init') -232.691 000.095 000.095: require('symbols-outline.writer') -232.784 000.085 000.085: require('symbols-outline.utils.init') -232.873 000.083 000.083: require('symbols-outline.view') -232.888 001.101 000.158: require('symbols-outline') -233.188 000.115 000.115: require('symbols-outline.preview') -233.304 000.102 000.102: require('lspkind') -235.323 007.835 002.357: require('plugins.cmp') -235.860 000.082 000.082: require('luasnip.session') -236.041 000.150 000.150: require('luasnip.util.util') -236.136 000.087 000.087: require('luasnip.util.types') -236.327 000.088 000.088: require('luasnip.util.ext_opts') -236.339 000.196 000.107: require('luasnip.nodes.util') -236.429 000.083 000.083: require('luasnip.util.events') -236.447 000.763 000.166: require('luasnip.nodes.node') -236.688 000.091 000.091: require('luasnip.util.extend_decorator') -236.702 000.250 000.159: require('luasnip.nodes.insertNode') -236.820 000.112 000.112: require('luasnip.nodes.textNode') -236.931 000.100 000.100: require('luasnip.util.mark') -237.726 000.693 000.693: require('luasnip.util._builtin_vars') -237.966 001.028 000.335: require('luasnip.util.environ') -238.085 000.109 000.109: require('luasnip.util.pattern_tokenizer') -238.174 000.082 000.082: require('luasnip.util.dict') -238.290 000.109 000.109: require('luasnip.session.snippet_collection') -238.453 002.910 000.358: require('luasnip.nodes.snippet') -238.661 000.089 000.089: require('luasnip.loaders._caches') -238.793 000.124 000.124: require('luasnip.util.path') -238.843 000.376 000.163: require('luasnip.loaders') -239.011 000.136 000.136: require('luasnip.nodes.functionNode') -239.175 000.155 000.155: require('luasnip.nodes.choiceNode') -239.350 000.168 000.168: require('luasnip.nodes.dynamicNode') -239.531 000.172 000.172: require('luasnip.nodes.restoreNode') -239.907 000.105 000.105: require('luasnip.util.parser.neovim_ast') -244.383 000.114 000.114: require('luasnip.util.directed_graph') -244.400 004.709 004.490: require('luasnip.util.parser.ast_utils') -244.621 000.093 000.093: require('luasnip.util.functions') -244.637 000.231 000.137: require('luasnip.util.parser.ast_parser') -244.838 000.195 000.195: require('luasnip.util.parser.neovim_parser') -244.947 000.100 000.100: require('luasnip.util.str') -244.961 005.375 000.140: require('luasnip.util.parser') -245.191 000.097 000.097: require('luasnip.extras.filetype_functions') -245.337 000.108 000.108: require('luasnip.extras') -245.452 000.104 000.104: require('luasnip.extras.fmt') -245.731 000.094 000.094: require('luasnip.extras.conditions') -245.825 000.086 000.086: require('luasnip.extras.conditions.show') -245.929 000.376 000.196: require('luasnip.extras.conditions.expand') -245.935 000.474 000.099: require('luasnip.extras.expand_conditions') -246.052 000.098 000.098: require('luasnip.nodes.absolute_indexer') -246.525 001.558 000.677: require('luasnip.config') -246.535 011.119 000.268: require('luasnip') -246.762 000.107 000.107: require('luasnip.loaders.util') -246.773 000.231 000.123: require('luasnip.loaders.from_lua') -257.015 021.680 010.330: require('plugins.luasnip') -257.416 000.148 000.148: require('colorizer/nvim') -257.761 000.336 000.336: require('colorizer/trie') -258.150 001.021 000.537: require('colorizer') -260.157 003.125 002.104: require('plugins.colorizer') -260.544 000.092 000.092: require('prettier.utils') -260.576 000.230 000.138: require('prettier.options') -261.266 000.252 000.252: require('null-ls.methods') -261.294 000.403 000.150: require('null-ls.utils') -261.696 000.393 000.393: require('vim.diagnostic') -261.719 000.934 000.138: require('null-ls.config') -261.911 000.085 000.085: require('null-ls.helpers.cache') -262.031 000.112 000.112: require('null-ls.helpers.diagnostics') -262.128 000.090 000.090: require('null-ls.helpers.formatter_factory') -262.354 000.097 000.097: require('null-ls.logger') -262.458 000.097 000.097: require('null-ls.state') -262.466 000.330 000.136: require('null-ls.helpers.generator_factory') -262.706 000.104 000.104: require('null-ls.helpers.command_resolver') -262.714 000.243 000.139: require('null-ls.helpers.make_builtin') -262.813 000.094 000.094: require('null-ls.helpers.range_formatting_args_factory') -262.818 001.093 000.140: require('null-ls.helpers') -263.054 000.110 000.110: require('null-ls.diagnostics') -263.072 000.249 000.140: require('null-ls.sources') -263.174 000.094 000.094: require('null-ls.builtins') -263.181 002.488 000.118: require('null-ls') -263.272 000.087 000.087: require('prettier.cli') -263.281 002.698 000.124: require('prettier.null-ls') -263.286 003.026 000.099: require('prettier') -263.480 003.310 000.284: require('plugins.prettier') -263.638 000.085 000.085: require('git') -263.731 000.085 000.085: require('git.config') -263.919 000.429 000.259: require('plugins.git') -264.223 000.091 000.091: require('gitsigns.async') -264.319 000.087 000.087: require('gitsigns.status') -264.570 000.102 000.102: require('gitsigns.debug') -264.680 000.103 000.103: require('gitsigns.util') -264.875 000.095 000.095: require('gitsigns.uv') -264.886 000.199 000.104: require('gitsigns.subprocess') -265.320 000.084 000.084: require('gitsigns.message') -265.350 000.271 000.187: require('gitsigns.config') -265.443 000.085 000.085: require('gitsigns.signs.base') -265.449 000.455 000.100: require('gitsigns.signs') -265.459 000.567 000.111: require('gitsigns.hunks') -265.475 001.150 000.180: require('gitsigns.git') -265.690 000.086 000.086: require('gitsigns.cache') -265.787 000.089 000.089: require('gitsigns.debounce') -265.902 000.104 000.104: require('gitsigns.diff') -265.927 000.446 000.166: require('gitsigns.manager') -266.057 000.123 000.123: require('gitsigns.highlight') -266.078 002.084 000.186: require('gitsigns') -267.416 000.116 000.116: require('gitsigns.signs.vimfn') -270.766 006.839 004.640: require('plugins.gitsigns') -271.212 000.113 000.113: require('neoscroll.config') -271.350 000.129 000.129: require('neoscroll.utils') -271.498 000.557 000.315: require('neoscroll') -272.077 001.288 000.731: require('plugins.neoscroll') -272.512 000.099 000.099: require('cmp_nvim_lsp.source') -272.524 000.218 000.119: require('cmp_nvim_lsp') -272.652 000.104 000.104: require('lspconfig') -272.803 000.103 000.103: require('lspconfig.server_configurations.pylsp') -273.275 000.126 000.126: require('mason-lspconfig.server_configurations.pylsp') -273.745 000.122 000.122: require('lspconfig.server_configurations.clangd') -276.108 000.139 000.139: require('lspconfig.server_configurations.sumneko_lua') -277.675 005.589 004.776: require('plugins.lsp') -278.035 000.091 000.091: require('nvim-autopairs._log') -278.171 000.127 000.127: require('nvim-autopairs.utils') -278.497 000.113 000.113: require('nvim-autopairs.conds') -278.513 000.231 000.118: require('nvim-autopairs.rule') -278.519 000.341 000.110: require('nvim-autopairs.rules.basic') -278.538 000.753 000.195: require('nvim-autopairs') -278.799 000.124 000.124: require('nvim-autopairs.fastwrap') -279.611 000.113 000.113: require('nvim-autopairs.ts-conds') -279.620 000.228 000.115: require('nvim-autopairs.rules.ts_basic') -279.826 000.200 000.200: require('vim.treesitter.highlighter') -280.905 000.097 000.097: require('nvim-autopairs.completion.handlers') -280.922 000.233 000.136: require('nvim-autopairs.completion.cmp') -280.942 003.254 001.715: require('plugins.autopairs') -281.197 000.170 000.170: require('null-ls.builtins.formatting.prettierd') -281.340 000.130 000.130: require('null-ls.builtins.formatting.stylua') -281.464 000.114 000.114: require('null-ls.builtins.formatting.shfmt') -282.162 000.143 000.143: require('null-ls.client') -282.214 001.266 000.709: require('plugins.null-ls') -282.292 000.070 000.070: require('plugins.web-devicons') -282.802 000.092 000.092: require('zen-mode.util') -282.855 000.247 000.155: require('zen-mode.config') -282.966 000.103 000.103: require('zen-mode.plugins') -282.979 000.533 000.183: require('zen-mode.view') -282.986 000.621 000.088: require('zen-mode') -283.173 000.874 000.253: require('plugins.zen-mode') -287.151 000.128 000.128: require('doom-one.utils') -287.264 000.102 000.102: require('doom-one.colors') -287.331 000.627 000.397: require('doom-one') -290.322 004.621 003.994: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -294.425 000.274 000.274: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/syntax/synload.vim -294.816 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -295.907 000.097 000.097: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/filetype.lua -297.029 000.941 000.941: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/filetype.vim -297.815 000.142 000.142: require('filetype') -297.879 005.229 003.717: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/syntax/syntax.vim -298.259 000.120 000.120: require('notify.stages.fade_in_slide_out') -298.326 015.143 005.173: require('plugins.colorscheme') -298.691 000.110 000.110: require('heirline.conditions') -298.831 000.132 000.132: require('heirline.utils') -299.166 000.096 000.096: require('heirline.highlights') -299.179 000.215 000.118: require('heirline.statusline') -299.187 000.326 000.112: require('heirline') -299.371 000.150 000.150: require('nvim-navic') -303.806 005.470 004.751: require('plugins.heirline') -303.907 212.153 003.916: sourcing /home/srdusr/.config/nvim/init.lua -303.930 009.156: sourcing vimrc file(s) -310.008 001.013 001.013: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/gzip.vim -310.171 000.069 000.069: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/health.vim -312.976 001.360 001.360: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -313.456 003.200 001.841: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/matchit.vim -313.996 000.416 000.416: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/matchparen.vim -314.186 000.098 000.098: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/netrwPlugin.vim -314.633 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -314.654 000.381 000.359: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/rplugin.vim -314.943 000.206 000.206: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/shada.vim -315.118 000.065 000.065: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/spellfile.vim -315.288 000.076 000.076: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/tarPlugin.vim -315.457 000.077 000.077: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/tohtml.vim -315.607 000.058 000.058: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/tutor.vim -316.360 000.662 000.662: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/zipPlugin.vim -316.667 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -318.168 000.110 000.110: require('leap') -318.278 000.098 000.098: require('leap.user') -319.303 000.239 000.239: require('fidget.log') -319.322 000.412 000.173: require('fidget') -319.506 000.161 000.161: require('fidget.spinners') -320.208 000.083 000.083: require('crates.time') -320.218 000.188 000.105: require('crates.types') -320.224 000.293 000.105: require('crates.semver') -322.178 001.869 001.869: require('crates.config') -322.338 000.150 000.150: require('crates.toml') -322.347 002.118 000.100: require('crates.state') -322.377 002.572 000.161: require('crates.util') -322.387 002.703 000.131: require('crates.actions') -322.651 000.158 000.158: require('crates.api') -322.747 000.087 000.087: require('crates.async') -322.866 000.111 000.111: require('crates.diagnostic') -322.973 000.099 000.099: require('crates.ui') -322.982 000.585 000.130: require('crates.core') -323.203 000.115 000.115: require('crates.popup.common') -323.330 000.120 000.120: require('crates.popup.crate') -323.493 000.156 000.156: require('crates.popup.dependencies') -323.641 000.141 000.141: require('crates.popup.features') -323.767 000.120 000.120: require('crates.popup.versions') -323.782 000.795 000.144: require('crates.popup') -323.792 004.221 000.138: require('crates') -326.311 000.126 000.126: require('flit') -327.474 000.352 000.352: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -329.406 012.594 007.114: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -330.298 000.101 000.101: sourcing /tmp/.mount_nvimR2tzXM/usr/share/nvim/runtime/plugin/man.lua -330.504 007.519: loading rtp plugins -332.487 000.094 000.094: require('Comment.config') -332.823 000.154 000.154: require('Comment.ft') -332.834 000.337 000.183: require('Comment.utils') -332.941 000.101 000.101: require('Comment.opfunc') -333.057 000.110 000.110: require('Comment.extra') -333.066 000.819 000.178: require('Comment.api') -333.277 001.114 000.295: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -333.611 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -334.338 000.474 000.474: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -335.127 000.166 000.166: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -335.741 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -337.566 001.228 001.228: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -338.086 000.071 000.071: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -338.745 000.364 000.364: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -339.403 000.124 000.124: require('cmp.utils.highlight') -340.132 000.980 000.857: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -340.342 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -340.664 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -341.139 000.166 000.166: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -341.769 000.216 000.216: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -342.490 000.105 000.105: require('nvim-treesitter.statusline') -342.682 000.183 000.183: require('nvim-treesitter.query_predicates') -342.691 000.420 000.133: require('nvim-treesitter') -343.748 001.561 001.141: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -344.321 000.355 000.355: require('treesitter-context') -344.331 000.398 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -344.847 000.224 000.224: require('nvim-treesitter-refactor') -345.250 000.657 000.433: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -345.614 000.107 000.107: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -346.078 000.081 000.081: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -346.409 000.094 000.094: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -346.893 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -347.172 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -347.536 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -348.137 000.122 000.122: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -348.678 000.334 000.334: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -349.400 000.409 000.409: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -349.681 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -349.964 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -350.883 011.327: loading packages -358.878 000.213 000.213: require('cmp_buffer.timer') -358.890 000.402 000.190: require('cmp_buffer.buffer') -358.900 000.598 000.196: require('cmp_buffer.source') -358.905 000.713 000.115: require('cmp_buffer') -358.968 000.854 000.141: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -359.394 000.207 000.207: require('cmp_cmdline') -359.450 000.329 000.122: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -359.739 000.121 000.121: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -360.111 000.152 000.152: require('cmp_path') -360.147 000.256 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -360.495 000.115 000.115: require('cmp_luasnip') -360.562 000.255 000.139: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -361.079 000.129 000.129: require('crates.src.common') -361.087 000.253 000.125: require('crates.src.cmp') -361.118 000.400 000.147: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -361.229 008.131: loading after plugins -361.260 000.032: inits 3 -361.265 000.004: reading ShaDa -362.333 000.166 000.166: require('luasnip.nodes.snippetProxy') -362.345 000.346 000.180: require('luasnip.loaders.from_snipmate') -362.573 000.178 000.178: require('luasnip.loaders.from_vscode') -362.688 000.899: opening buffers -362.975 000.288: BufEnter autocommands -362.984 000.009: editing files in windows -381.381 000.271 000.271: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.043 001.043: --- NVIM STARTING --- -026.961 025.918: event init -043.231 016.270: early init -044.963 001.731: locale set -050.449 005.486: init first window -060.516 010.067: inits 1 -060.543 000.027: window checked -060.553 000.010: parsing arguments -072.133 000.211 000.211: require('vim.shared') -072.677 000.264 000.264: require('vim._meta') -072.693 000.533 000.269: require('vim._editor') -072.701 000.912 000.167: require('vim._init_packages') -072.709 011.244: init lua interpreter -072.881 000.172: expanding arguments -074.675 001.794: inits 2 -076.051 001.377: init highlight -076.063 000.012: waiting for UI -078.078 002.014: done waiting for UI -078.108 000.031: init screen for UI -078.378 000.269: init default mappings -078.404 000.026: init default autocommands -092.890 004.928 004.928: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/ftplugin.vim -096.198 001.057 001.057: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/indent.vim -096.605 000.044 000.044: sourcing /usr/share/nvim/archlinux.vim -096.622 000.141 000.097: sourcing /etc/xdg/nvim/sysinit.vim -127.534 030.645 030.645: require('impatient') -128.665 001.116 001.116: require('impatient.profile') -128.797 000.102 000.102: require('user.utils') -132.193 000.229 000.229: require('packer.util') -132.253 000.551 000.321: require('packer') -133.318 000.590 000.590: require('packer.log') -133.331 000.837 000.247: require('packer.async') -133.617 000.159 000.159: require('packer.result') -133.626 000.288 000.129: require('packer.jobs') -133.643 001.336 000.211: require('packer.plugin_utils') -133.839 000.171 000.171: require('packer.snapshot') -135.606 000.339 000.339: require('mason-core.path') -135.631 000.714 000.375: require('mason.settings') -136.401 000.359 000.359: require('mason-core.functional') -136.746 000.185 000.185: require('mason-core.functional.data') -136.761 000.334 000.149: require('mason-core.functional.function') -136.951 000.156 000.156: require('mason-core.functional.relation') -137.141 000.165 000.165: require('mason-core.functional.logic') -137.181 001.542 000.528: require('mason-core.platform') -137.187 002.735 000.479: require('mason') -137.497 000.123 000.123: require('mason-core.functional.list') -137.543 000.320 000.197: require('mason.api.command') -137.872 000.183 000.183: require('mason-core.log') -137.907 000.357 000.173: require('mason-lspconfig') -138.030 000.114 000.114: require('mason-lspconfig.settings') -138.448 000.120 000.120: require('mason-core.notify') -138.466 000.352 000.232: require('mason-lspconfig.lspconfig_hook') -140.047 000.304 000.304: require('vim.lsp.log') -141.162 000.013 000.013: require('vim.F') -141.173 001.110 001.097: require('vim.lsp.protocol') -142.034 000.382 000.382: require('vim.lsp._snippet') -142.284 000.233 000.233: require('vim.highlight') -142.323 001.094 000.479: require('vim.lsp.util') -142.349 002.968 000.460: require('vim.lsp.handlers') -142.683 000.326 000.326: require('vim.lsp.rpc') -142.854 000.158 000.158: require('vim.lsp.sync') -143.082 000.218 000.218: require('vim.lsp.buf') -143.237 000.145 000.145: require('vim.lsp.diagnostic') -143.403 000.156 000.156: require('vim.lsp.codelens') -143.559 004.890 000.919: require('vim.lsp') -143.713 005.241 000.351: require('lspconfig.util') -144.107 000.098 000.098: require('mason-core.functional.table') -144.203 000.364 000.266: require('mason-lspconfig.mappings.server') -144.570 000.155 000.155: require('mason-core.async') -144.670 000.089 000.089: require('mason-core.async.uv') -144.682 000.364 000.121: require('mason-core.fs') -144.791 000.103 000.103: require('mason-core.optional') -144.894 000.094 000.094: require('mason-core.EventEmitter') -145.108 000.206 000.206: require('mason-registry.index') -145.131 000.918 000.151: require('mason-registry') -145.239 000.100 000.100: require('mason-lspconfig.server_config_extensions') -145.426 000.179 000.179: require('lspconfig.configs') -145.623 000.129 000.129: require('lspconfig.server_configurations.omnisharp') -145.826 000.106 000.106: require('mason-lspconfig.ensure_installed') -146.228 000.102 000.102: require('mason-core.result') -146.730 000.274 000.274: require('mason-core.process') -146.899 000.540 000.266: require('mason-core.spawn') -147.034 000.122 000.122: require('mason-core.receipt') -147.155 000.099 000.099: require('mason-core.functional.string') -147.193 000.955 000.193: require('mason-core.installer.context') -147.304 000.104 000.104: require('mason-core.installer.linker') -147.413 000.101 000.101: require('mason-core.async.control') -147.426 001.422 000.161: require('mason-core.installer') -147.611 000.179 000.179: require('mason-core.installer.handle') -148.197 000.135 000.135: require('mason-core.managers.powershell') -148.206 000.242 000.107: require('mason-core.fetch') -148.210 000.340 000.098: require('mason-core.managers.cargo.client') -148.458 000.124 000.124: require('mason-core.managers.std') -148.741 000.133 000.133: require('mason-core.providers') -148.771 000.305 000.172: require('mason-core.managers.github.client') -148.788 000.572 000.144: require('mason-core.managers.github') -148.923 001.187 000.275: require('mason-core.managers.cargo') -149.219 000.286 000.286: require('mason-core.managers.composer') -149.409 000.181 000.181: require('mason-core.managers.gem') -149.535 000.117 000.117: require('mason-core.managers.git') -149.716 000.172 000.172: require('mason-core.managers.go') -149.929 000.204 000.204: require('mason-core.managers.luarocks') -150.101 000.162 000.162: require('mason-core.managers.npm') -150.293 000.184 000.184: require('mason-core.managers.pip3') -150.312 002.680 000.188: require('mason-core.package.version-check') -150.328 004.472 000.191: require('mason-core.package') -150.478 000.124 000.124: require('mason-registry.python-lsp-server') -150.770 000.118 000.118: require('mason-registry.pyright') -150.952 000.155 000.155: require('mason-registry.clangd') -151.233 000.184 000.184: require('mason-registry.lua-language-server') -151.486 000.103 000.103: require('mason-core.functional.number') -151.547 000.300 000.197: require('mason-lspconfig.api.command') -151.635 020.307 001.980: require('user.pack') -155.156 003.512 003.512: require('user.opts') -155.382 000.018 000.018: require('vim.keymap') -157.605 002.435 002.417: require('user.keys') -157.739 000.124 000.124: require('user.utils') -158.592 000.168 000.168: require('vim.treesitter.language') -158.616 000.504 000.336: require('vim.treesitter.query') -159.663 000.203 000.203: require('vim.treesitter.languagetree') -159.738 000.497 000.294: require('vim.treesitter') -160.033 001.128 000.630: require('nvim-treesitter.parsers') -160.175 000.133 000.133: require('nvim-treesitter.utils') -160.187 001.457 000.197: require('nvim-treesitter.ts_utils') -160.208 001.585 000.127: require('nvim-treesitter.tsrange') -160.310 000.093 000.093: require('nvim-treesitter.caching') -160.331 002.337 000.155: require('nvim-treesitter.query') -160.365 002.537 000.200: require('nvim-treesitter.configs') -160.793 000.108 000.108: require('nvim-treesitter.info') -160.939 000.136 000.136: require('nvim-treesitter.shell_command_selectors') -160.984 000.471 000.227: require('nvim-treesitter.install') -163.052 005.302 002.294: require('plugins.treesitter') -163.375 000.095 000.095: require('telescope._extensions') -163.389 000.204 000.109: require('telescope') -164.142 000.097 000.097: require('plenary.bit') -164.241 000.091 000.091: require('plenary.functional') -164.297 000.035 000.035: require('ffi') -164.320 000.421 000.198: require('plenary.path') -164.334 000.533 000.112: require('plenary.strings') -164.428 000.088 000.088: require('telescope.deprecated') -164.818 000.167 000.167: require('plenary.log') -164.856 000.287 000.120: require('telescope.log') -165.144 000.140 000.140: require('plenary.job') -165.241 000.087 000.087: require('telescope.state') -165.258 000.391 000.164: require('telescope.utils') -165.310 000.874 000.197: require('telescope.sorters') -165.459 000.126 000.126: require('vim.inspect') -169.514 005.873 004.252: require('telescope.config') -169.787 000.111 000.111: require('plenary.window.border') -169.886 000.090 000.090: require('plenary.window') -169.980 000.086 000.086: require('plenary.popup.utils') -169.993 000.464 000.177: require('plenary.popup') -170.101 000.101 000.101: require('telescope.pickers.scroller') -170.207 000.098 000.098: require('telescope.actions.state') -170.340 000.105 000.105: require('telescope.actions.utils') -170.570 000.110 000.110: require('telescope.actions.mt') -170.603 000.255 000.145: require('telescope.actions.set') -170.832 000.120 000.120: require('telescope.config.resolve') -170.840 000.230 000.110: require('telescope.pickers.entry_display') -170.932 000.086 000.086: require('telescope.from_entry') -171.274 007.879 000.667: require('telescope.actions') -174.750 000.145 000.145: require('plenary.tbl') -174.768 000.287 000.142: require('plenary.vararg.rotate') -174.773 000.439 000.152: require('plenary.vararg') -174.882 000.104 000.104: require('plenary.errors') -174.900 000.707 000.163: require('plenary.async.async') -175.020 000.113 000.113: require('plenary.async.structs') -175.036 000.990 000.170: require('plenary.async.control') -175.532 000.355 000.355: require('telescope.make_entry') -176.139 000.133 000.133: require('plenary.async.util') -176.148 000.332 000.199: require('plenary.async.tests') -176.156 000.476 000.145: require('plenary.async') -176.163 000.614 000.138: require('telescope.finders.async_static_finder') -176.540 000.092 000.092: require('plenary.class') -176.574 000.285 000.193: require('telescope._') -176.582 000.413 000.128: require('telescope.finders.async_oneshot_finder') -176.695 000.107 000.107: require('telescope.finders.async_job_finder') -176.708 001.662 000.172: require('telescope.finders') -177.120 000.157 000.157: require('telescope.debounce') -177.449 000.318 000.318: require('telescope.mappings') -177.615 000.153 000.153: require('telescope.pickers.highlights') -177.738 000.113 000.113: require('telescope.pickers.window') -177.995 000.126 000.126: require('telescope.algos.linked_list') -178.006 000.260 000.134: require('telescope.entry_manager') -178.121 000.109 000.109: require('telescope.pickers.multi') -178.169 001.454 000.344: require('telescope.pickers') -178.192 004.365 000.258: require('telescope.builtin.__lsp') -178.241 006.958 002.593: require('telescope.builtin') -178.666 000.279 000.279: require('fzf_lib') -178.685 000.435 000.156: require('telescope._extensions.fzf') -179.273 000.225 000.225: require('telescope._extensions.file_browser.utils') -179.426 000.591 000.366: require('telescope._extensions.file_browser.actions') -179.793 000.210 000.210: require('telescope._extensions.file_browser.make_entry') -180.016 000.209 000.209: require('plenary.scandir') -180.074 000.639 000.219: require('telescope._extensions.file_browser.finders') -180.218 000.137 000.137: require('telescope._extensions.file_browser.picker') -180.381 000.154 000.154: require('telescope._extensions.file_browser.config') -180.388 001.685 000.164: require('telescope._extensions.file_browser') -183.844 020.781 003.620: require('plugins.telescope') -185.808 000.434 000.434: require('notify.util.queue') -185.830 000.576 000.142: require('notify.util') -186.234 000.382 000.382: require('notify.config.highlights') -186.258 001.134 000.176: require('notify.config') -186.480 000.215 000.215: require('notify.stages') -186.687 000.197 000.197: require('notify.service.notification') -187.324 000.158 000.158: require('notify.animate.spring') -187.331 000.330 000.171: require('notify.animate') -187.355 000.660 000.330: require('notify.windows') -188.206 000.362 000.362: require('notify.service.buffer.highlights') -188.229 000.640 000.278: require('notify.service.buffer') -188.246 000.886 000.246: require('notify.service') -188.568 000.316 000.316: require('notify.stages.util') -188.646 003.668 000.261: require('notify') -188.928 000.273 000.273: require('nvim-tree.iterators.node-iterator') -189.087 004.269 000.328: require('nvim-tree.utils') -189.126 004.438 000.169: require('nvim-tree.events') -190.485 000.198 000.198: require('nvim-tree.log') -190.863 000.366 000.366: require('nvim-tree.git.utils') -191.153 000.281 000.281: require('nvim-tree.git.runner') -191.441 000.280 000.280: require('nvim-tree.watcher') -191.486 001.945 000.820: require('nvim-tree.git') -191.845 000.352 000.352: require('nvim-tree.explorer.watch') -192.137 000.282 000.282: require('nvim-tree.explorer.common') -192.757 000.358 000.358: require('nvim-tree.explorer.node-builders') -193.068 000.300 000.300: require('nvim-tree.explorer.sorters') -193.296 000.218 000.218: require('nvim-tree.explorer.filters') -194.360 000.741 000.741: require('nvim-tree.view') -194.408 001.089 000.348: require('nvim-tree.live-filter') -194.433 002.286 000.321: require('nvim-tree.explorer.explore') -194.683 000.241 000.241: require('nvim-tree.explorer.reload') -194.694 005.561 000.454: require('nvim-tree.explorer') -194.703 010.116 000.117: require('nvim-tree.core') -194.823 000.112 000.112: require('nvim-tree.diagnostics') -194.931 000.098 000.098: require('nvim-tree.renderer.components.padding') -195.040 000.100 000.100: require('nvim-tree.renderer.components.icons') -195.155 000.108 000.108: require('nvim-tree.renderer.components.full-name') -195.254 000.091 000.091: require('nvim-tree.renderer.help') -195.382 000.120 000.120: require('nvim-tree.renderer.components.git') -195.520 000.131 000.131: require('nvim-tree.renderer.builder') -195.631 000.102 000.102: require('nvim-tree.marks') -195.644 011.233 000.256: require('nvim-tree.renderer') -195.763 000.104 000.104: require('nvim-tree.actions.tree-modifiers.collapse-all') -195.924 000.153 000.153: require('nvim-tree.actions.root.dir-up') -196.045 000.109 000.109: require('nvim-tree.actions.root.change-dir') -196.153 000.099 000.099: require('nvim-tree.actions.reloaders.reloaders') -196.260 000.098 000.098: require('nvim-tree.actions.finders.find-file') -196.266 012.029 000.233: require('nvim-tree.lib') -196.386 000.113 000.113: require('nvim-tree.colors') -196.527 000.129 000.129: require('nvim-tree.legacy') -196.668 000.130 000.130: require('nvim-tree.actions.fs.copy-paste') -196.889 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') -196.995 000.097 000.097: require('nvim-tree.actions.tree-modifiers.toggles') -197.119 000.106 000.106: require('nvim-tree.actions.fs.create-file') -197.224 000.095 000.095: require('nvim-tree.actions.fs.rename-file') -197.366 000.133 000.133: require('nvim-tree.actions.fs.trash') -197.481 000.106 000.106: require('nvim-tree.actions.fs.remove-file') -197.585 000.091 000.091: require('nvim-tree.actions.moves.parent') -197.683 000.090 000.090: require('nvim-tree.actions.moves.sibling') -197.782 000.089 000.089: require('nvim-tree.actions.moves.item') -197.899 000.096 000.096: require('nvim-tree.actions.finders.search-node') -197.995 000.088 000.088: require('nvim-tree.actions.node.run-command') -198.124 000.122 000.122: require('nvim-tree.actions.node.file-popup') -198.244 000.112 000.112: require('nvim-tree.actions.node.system-open') -198.359 000.102 000.102: require('nvim-tree.marks.bulk-move') -198.367 001.687 000.259: require('nvim-tree.actions.dispatch') -198.403 014.406 000.316: require('nvim-tree') -198.496 000.085 000.085: require('nvim-tree.config') -204.992 000.182 000.182: require('nvim-tree.actions') -205.140 000.126 000.126: require('nvim-tree.actions.node.open-file') -207.683 000.101 000.101: require('nvim-tree.marks.navigation') -207.696 000.298 000.197: require('nvim-tree.api') -207.718 000.447 000.149: require('nvim-tree.keymap') -208.756 000.411 000.411: require('nvim-web-devicons') -212.871 029.014 013.356: require('plugins.nvim-tree') -213.336 000.080 000.080: require('cmp.utils.debug') -213.546 000.118 000.118: require('cmp.utils.char') -213.561 000.215 000.097: require('cmp.utils.str') -213.695 000.082 000.082: require('cmp.utils.pattern') -213.971 000.088 000.088: require('cmp.utils.misc') -214.082 000.083 000.083: require('cmp.utils.buffer') -214.179 000.090 000.090: require('cmp.utils.api') -214.191 000.403 000.142: require('cmp.utils.keymap') -214.201 000.498 000.095: require('cmp.utils.feedkeys') -214.302 000.096 000.096: require('cmp.utils.async') -214.580 000.078 000.078: require('cmp.types.cmp') -214.695 000.107 000.107: require('cmp.types.lsp') -214.780 000.076 000.076: require('cmp.types.vim') -214.786 000.391 000.129: require('cmp.types') -214.869 000.078 000.078: require('cmp.utils.cache') -214.879 000.568 000.099: require('cmp.context') -215.161 000.093 000.093: require('cmp.config.mapping') -215.356 000.094 000.094: require('cmp.config.compare') -215.363 000.190 000.096: require('cmp.config.default') -215.387 000.405 000.123: require('cmp.config') -215.615 000.108 000.108: require('cmp.matcher') -215.627 000.235 000.127: require('cmp.entry') -215.644 000.761 000.120: require('cmp.source') -215.815 000.075 000.075: require('cmp.utils.event') -216.045 000.102 000.102: require('cmp.utils.window') -216.054 000.231 000.129: require('cmp.view.docs_view') -216.260 000.085 000.085: require('cmp.utils.autocmd') -216.280 000.220 000.136: require('cmp.view.custom_entries_view') -216.402 000.116 000.116: require('cmp.view.wildmenu_entries_view') -216.512 000.102 000.102: require('cmp.view.native_entries_view') -216.612 000.093 000.093: require('cmp.view.ghost_text_view') -216.627 000.977 000.140: require('cmp.view') -216.727 003.591 000.314: require('cmp.core') -216.996 000.086 000.086: require('cmp.config.sources') -217.083 000.077 000.077: require('cmp.config.window') -217.183 004.164 000.409: require('cmp') -217.594 000.114 000.114: require('symbols-outline.config') -217.601 000.202 000.088: require('symbols-outline.symbols') -217.698 000.091 000.091: require('symbols-outline.ui') -217.792 000.085 000.085: require('symbols-outline.utils.table') -217.880 000.080 000.080: require('symbols-outline.folding') -217.887 000.580 000.121: require('symbols-outline.parser') -217.977 000.084 000.084: require('symbols-outline.providers.init') -218.077 000.092 000.092: require('symbols-outline.writer') -218.171 000.086 000.086: require('symbols-outline.utils.init') -218.264 000.086 000.086: require('symbols-outline.view') -218.279 001.088 000.160: require('symbols-outline') -218.691 000.118 000.118: require('symbols-outline.preview') -218.812 000.104 000.104: require('lspkind') -220.706 007.822 002.348: require('plugins.cmp') -221.352 000.092 000.092: require('luasnip.session') -221.502 000.140 000.140: require('luasnip.util.util') -221.599 000.089 000.089: require('luasnip.util.types') -221.793 000.090 000.090: require('luasnip.util.ext_opts') -221.803 000.195 000.105: require('luasnip.nodes.util') -221.894 000.084 000.084: require('luasnip.util.events') -221.912 000.763 000.163: require('luasnip.nodes.node') -222.168 000.096 000.096: require('luasnip.util.extend_decorator') -222.181 000.262 000.166: require('luasnip.nodes.insertNode') -222.307 000.120 000.120: require('luasnip.nodes.textNode') -222.418 000.099 000.099: require('luasnip.util.mark') -223.192 000.643 000.643: require('luasnip.util._builtin_vars') -223.379 000.953 000.310: require('luasnip.util.environ') -223.499 000.109 000.109: require('luasnip.util.pattern_tokenizer') -223.594 000.087 000.087: require('luasnip.util.dict') -223.711 000.109 000.109: require('luasnip.session.snippet_collection') -223.821 002.865 000.362: require('luasnip.nodes.snippet') -224.031 000.091 000.091: require('luasnip.loaders._caches') -224.167 000.126 000.126: require('luasnip.util.path') -224.213 000.378 000.160: require('luasnip.loaders') -224.388 000.140 000.140: require('luasnip.nodes.functionNode') -224.610 000.212 000.212: require('luasnip.nodes.choiceNode') -224.779 000.159 000.159: require('luasnip.nodes.dynamicNode') -224.968 000.181 000.181: require('luasnip.nodes.restoreNode') -225.346 000.105 000.105: require('luasnip.util.parser.neovim_ast') -233.195 000.125 000.125: require('luasnip.util.directed_graph') -233.217 008.086 007.857: require('luasnip.util.parser.ast_utils') -233.446 000.094 000.094: require('luasnip.util.functions') -233.464 000.239 000.146: require('luasnip.util.parser.ast_parser') -233.689 000.219 000.219: require('luasnip.util.parser.neovim_parser') -233.794 000.096 000.096: require('luasnip.util.str') -233.809 008.786 000.146: require('luasnip.util.parser') -234.050 000.105 000.105: require('luasnip.extras.filetype_functions') -234.200 000.113 000.113: require('luasnip.extras') -234.320 000.107 000.107: require('luasnip.extras.fmt') -234.594 000.092 000.092: require('luasnip.extras.conditions') -234.694 000.092 000.092: require('luasnip.extras.conditions.show') -234.776 000.360 000.176: require('luasnip.extras.conditions.expand') -234.782 000.453 000.093: require('luasnip.extras.expand_conditions') -234.897 000.098 000.098: require('luasnip.nodes.absolute_indexer') -235.294 001.480 000.604: require('luasnip.config') -235.305 014.497 000.296: require('luasnip') -235.539 000.116 000.116: require('luasnip.loaders.util') -235.554 000.243 000.127: require('luasnip.loaders.from_lua') -245.331 024.612 009.873: require('plugins.luasnip') -245.726 000.140 000.140: require('colorizer/nvim') -246.100 000.364 000.364: require('colorizer/trie') -246.381 000.935 000.430: require('colorizer') -248.410 003.062 002.127: require('plugins.colorizer') -248.805 000.097 000.097: require('prettier.utils') -248.839 000.246 000.149: require('prettier.options') -249.540 000.251 000.251: require('null-ls.methods') -249.569 000.415 000.164: require('null-ls.utils') -250.110 000.531 000.531: require('vim.diagnostic') -250.137 001.080 000.134: require('null-ls.config') -250.367 000.126 000.126: require('null-ls.helpers.cache') -250.492 000.116 000.116: require('null-ls.helpers.diagnostics') -250.597 000.096 000.096: require('null-ls.helpers.formatter_factory') -250.826 000.090 000.090: require('null-ls.logger') -250.944 000.110 000.110: require('null-ls.state') -250.953 000.348 000.149: require('null-ls.helpers.generator_factory') -251.161 000.100 000.100: require('null-ls.helpers.command_resolver') -251.168 000.210 000.110: require('null-ls.helpers.make_builtin') -251.272 000.098 000.098: require('null-ls.helpers.range_formatting_args_factory') -251.278 001.133 000.140: require('null-ls.helpers') -251.507 000.109 000.109: require('null-ls.diagnostics') -251.525 000.241 000.133: require('null-ls.sources') -251.629 000.096 000.096: require('null-ls.builtins') -251.637 002.673 000.123: require('null-ls') -251.728 000.085 000.085: require('prettier.cli') -251.743 002.896 000.137: require('prettier.null-ls') -251.749 003.242 000.099: require('prettier') -251.975 003.552 000.310: require('plugins.prettier') -252.148 000.094 000.094: require('git') -252.245 000.088 000.088: require('git.config') -252.429 000.444 000.262: require('plugins.git') -252.769 000.090 000.090: require('gitsigns.async') -252.867 000.088 000.088: require('gitsigns.status') -253.122 000.104 000.104: require('gitsigns.debug') -253.235 000.105 000.105: require('gitsigns.util') -253.453 000.102 000.102: require('gitsigns.uv') -253.461 000.219 000.118: require('gitsigns.subprocess') -253.891 000.087 000.087: require('gitsigns.message') -253.924 000.269 000.182: require('gitsigns.config') -254.016 000.083 000.083: require('gitsigns.signs.base') -254.026 000.452 000.100: require('gitsigns.signs') -254.037 000.570 000.117: require('gitsigns.hunks') -254.055 001.180 000.183: require('gitsigns.git') -254.276 000.088 000.088: require('gitsigns.cache') -254.379 000.094 000.094: require('gitsigns.debounce') -254.474 000.083 000.083: require('gitsigns.diff') -254.498 000.438 000.173: require('gitsigns.manager') -254.617 000.112 000.112: require('gitsigns.highlight') -254.639 002.109 000.200: require('gitsigns') -256.417 000.122 000.122: require('gitsigns.signs.vimfn') -259.904 007.467 005.236: require('plugins.gitsigns') -260.396 000.130 000.130: require('neoscroll.config') -260.560 000.148 000.148: require('neoscroll.utils') -260.706 000.619 000.341: require('neoscroll') -261.286 001.353 000.734: require('plugins.neoscroll') -261.860 000.132 000.132: require('cmp_nvim_lsp.source') -261.870 000.260 000.128: require('cmp_nvim_lsp') -261.979 000.100 000.100: require('lspconfig') -262.138 000.110 000.110: require('lspconfig.server_configurations.pylsp') -263.176 000.134 000.134: require('mason-lspconfig.server_configurations.pylsp') -263.715 000.126 000.126: require('lspconfig.server_configurations.clangd') -266.127 000.137 000.137: require('lspconfig.server_configurations.sumneko_lua') -268.040 006.744 005.876: require('plugins.lsp') -268.421 000.092 000.092: require('nvim-autopairs._log') -268.547 000.116 000.116: require('nvim-autopairs.utils') -268.886 000.122 000.122: require('nvim-autopairs.conds') -268.901 000.238 000.117: require('nvim-autopairs.rule') -268.908 000.353 000.115: require('nvim-autopairs.rules.basic') -268.928 000.765 000.204: require('nvim-autopairs') -269.091 000.118 000.118: require('nvim-autopairs.fastwrap') -269.536 000.113 000.113: require('nvim-autopairs.ts-conds') -269.544 000.223 000.110: require('nvim-autopairs.rules.ts_basic') -269.838 000.287 000.287: require('vim.treesitter.highlighter') -270.982 000.100 000.100: require('nvim-autopairs.completion.handlers') -270.999 000.265 000.165: require('nvim-autopairs.completion.cmp') -271.095 003.041 001.383: require('plugins.autopairs') -271.352 000.160 000.160: require('null-ls.builtins.formatting.prettierd') -271.498 000.132 000.132: require('null-ls.builtins.formatting.stylua') -271.628 000.120 000.120: require('null-ls.builtins.formatting.shfmt') -272.425 000.150 000.150: require('null-ls.client') -272.480 001.375 000.812: require('plugins.null-ls') -272.605 000.117 000.117: require('plugins.web-devicons') -273.082 000.085 000.085: require('zen-mode.util') -273.143 000.242 000.156: require('zen-mode.config') -273.254 000.102 000.102: require('zen-mode.plugins') -273.266 000.498 000.155: require('zen-mode.view') -273.273 000.588 000.090: require('zen-mode') -273.394 000.780 000.192: require('plugins.zen-mode') -277.630 000.103 000.103: require('doom-one.utils') -277.748 000.107 000.107: require('doom-one.colors') -277.771 000.554 000.343: require('doom-one') -280.160 003.924 003.370: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -284.470 000.429 000.429: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/syntax/synload.vim -284.854 000.057 000.057: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -286.155 000.097 000.097: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/filetype.lua -287.708 001.307 001.307: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/filetype.vim -288.654 000.159 000.159: require('filetype') -288.722 006.279 004.229: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/syntax/syntax.vim -289.093 000.123 000.123: require('notify.stages.fade_in_slide_out') -289.163 015.758 005.432: require('plugins.colorscheme') -289.564 000.107 000.107: require('heirline.conditions') -289.734 000.161 000.161: require('heirline.utils') -290.092 000.106 000.106: require('heirline.highlights') -290.107 000.230 000.124: require('heirline.statusline') -290.116 000.343 000.113: require('heirline') -290.277 000.144 000.144: require('nvim-navic') -294.080 004.886 004.131: require('plugins.heirline') -294.131 197.439 003.091: sourcing /home/srdusr/.config/nvim/init.lua -294.152 012.183: sourcing vimrc file(s) -300.999 001.231 001.231: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/gzip.vim -301.170 000.083 000.083: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/health.vim -303.937 001.566 001.566: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -304.334 003.095 001.529: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/matchit.vim -304.837 000.399 000.399: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/matchparen.vim -304.986 000.080 000.080: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/netrwPlugin.vim -305.402 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -305.423 000.373 000.351: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/rplugin.vim -305.673 000.191 000.191: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/shada.vim -305.800 000.054 000.054: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/spellfile.vim -305.982 000.066 000.066: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/tarPlugin.vim -306.113 000.059 000.059: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/tohtml.vim -306.226 000.045 000.045: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/tutor.vim -307.067 000.774 000.774: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/zipPlugin.vim -307.380 000.042 000.042: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -308.763 000.121 000.121: require('leap') -308.878 000.104 000.104: require('leap.user') -309.975 000.272 000.272: require('fidget.log') -310.002 000.457 000.185: require('fidget') -310.191 000.166 000.166: require('fidget.spinners') -310.896 000.084 000.084: require('crates.time') -310.906 000.188 000.104: require('crates.types') -310.913 000.295 000.107: require('crates.semver') -311.567 000.555 000.555: require('crates.config') -311.730 000.152 000.152: require('crates.toml') -311.739 000.820 000.113: require('crates.state') -311.768 001.281 000.167: require('crates.util') -311.779 001.403 000.122: require('crates.actions') -312.020 000.135 000.135: require('crates.api') -312.116 000.088 000.088: require('crates.async') -312.237 000.113 000.113: require('crates.diagnostic') -312.346 000.100 000.100: require('crates.ui') -312.356 000.570 000.135: require('crates.core') -312.618 000.153 000.153: require('crates.popup.common') -312.746 000.119 000.119: require('crates.popup.crate') -312.910 000.156 000.156: require('crates.popup.dependencies') -313.066 000.149 000.149: require('crates.popup.features') -313.191 000.117 000.117: require('crates.popup.versions') -313.207 000.846 000.153: require('crates.popup') -313.219 002.958 000.138: require('crates') -315.735 000.129 000.129: require('flit') -317.318 000.531 000.531: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -319.108 011.586 007.120: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -319.995 000.147 000.147: sourcing /tmp/.mount_nvimVLH013/usr/share/nvim/runtime/plugin/man.lua -320.167 007.789: loading rtp plugins -322.158 000.099 000.099: require('Comment.config') -322.447 000.146 000.146: require('Comment.ft') -322.458 000.290 000.145: require('Comment.utils') -322.599 000.134 000.134: require('Comment.opfunc') -322.725 000.118 000.118: require('Comment.extra') -322.735 000.813 000.171: require('Comment.api') -322.954 001.139 000.326: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -323.291 000.158 000.158: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -324.024 000.483 000.483: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -324.817 000.180 000.180: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -325.418 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -327.193 001.172 001.172: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -327.706 000.070 000.070: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -328.353 000.360 000.360: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -329.118 000.220 000.220: require('cmp.utils.highlight') -329.852 001.085 000.865: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -330.062 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -330.378 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -330.844 000.162 000.162: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -331.468 000.218 000.218: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -332.173 000.101 000.101: require('nvim-treesitter.statusline') -332.300 000.118 000.118: require('nvim-treesitter.query_predicates') -332.308 000.351 000.132: require('nvim-treesitter') -333.454 001.579 001.228: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -333.944 000.268 000.268: require('treesitter-context') -333.955 000.310 000.042: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -334.371 000.118 000.118: require('nvim-treesitter-refactor') -334.721 000.504 000.386: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -335.094 000.113 000.113: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -335.520 000.078 000.078: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -335.878 000.124 000.124: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -336.362 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -336.642 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -336.993 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -337.588 000.123 000.123: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -338.134 000.336 000.336: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -338.813 000.369 000.369: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -339.095 000.029 000.029: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -339.395 000.046 000.046: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -340.528 011.443: loading packages -348.314 000.206 000.206: require('cmp_buffer.timer') -348.327 000.340 000.134: require('cmp_buffer.buffer') -348.337 000.457 000.117: require('cmp_buffer.source') -348.343 000.572 000.114: require('cmp_buffer') -348.401 000.707 000.135: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -348.870 000.246 000.246: require('cmp_cmdline') -348.908 000.350 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -349.163 000.098 000.098: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -349.657 000.228 000.228: require('cmp_path') -349.691 000.355 000.127: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -350.040 000.117 000.117: require('cmp_luasnip') -350.255 000.403 000.287: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -350.737 000.127 000.127: require('crates.src.common') -350.746 000.240 000.113: require('crates.src.cmp') -350.821 000.404 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -350.932 008.087: loading after plugins -350.963 000.031: inits 3 -350.967 000.004: reading ShaDa -352.058 000.150 000.150: require('luasnip.nodes.snippetProxy') -352.074 000.306 000.156: require('luasnip.loaders.from_snipmate') -352.294 000.131 000.131: require('luasnip.loaders.from_vscode') -352.403 000.999: opening buffers -352.662 000.259: BufEnter autocommands -352.673 000.010: editing files in windows -369.460 000.315 000.315: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.516 001.516: --- NVIM STARTING --- -033.656 032.141: event init -051.529 017.872: early init -053.321 001.793: locale set -059.035 005.713: init first window -069.448 010.413: inits 1 -069.480 000.032: window checked -069.489 000.010: parsing arguments -080.817 000.120 000.120: require('vim.shared') -081.054 000.107 000.107: require('vim._meta') -081.060 000.230 000.123: require('vim._editor') -081.063 000.411 000.060: require('vim._init_packages') -081.067 011.167: init lua interpreter -081.150 000.083: expanding arguments -082.914 001.764: inits 2 -084.297 001.383: init highlight -084.308 000.011: waiting for UI -088.458 004.150: done waiting for UI -088.528 000.070: init screen for UI -089.325 000.797: init default mappings -089.401 000.076: init default autocommands -106.695 005.211 005.211: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/ftplugin.vim -110.367 001.418 001.418: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/indent.vim -110.983 000.059 000.059: sourcing /usr/share/nvim/archlinux.vim -111.017 000.203 000.143: sourcing /etc/xdg/nvim/sysinit.vim -159.729 048.291 048.291: require('impatient') -160.916 001.154 001.154: require('impatient.profile') -161.056 000.115 000.115: require('user.utils') -165.487 000.310 000.310: require('packer.util') -165.566 000.733 000.422: require('packer') -166.934 000.794 000.794: require('packer.log') -166.948 001.012 000.218: require('packer.async') -167.476 000.374 000.374: require('packer.result') -167.498 000.542 000.168: require('packer.jobs') -167.514 001.881 000.327: require('packer.plugin_utils') -167.817 000.273 000.273: require('packer.snapshot') -169.313 000.194 000.194: require('mason-core.path') -169.342 000.424 000.230: require('mason.settings') -169.775 000.224 000.224: require('mason-core.functional') -170.181 000.122 000.122: require('mason-core.functional.data') -170.194 000.389 000.267: require('mason-core.functional.function') -170.421 000.189 000.189: require('mason-core.functional.relation') -170.615 000.169 000.169: require('mason-core.functional.logic') -170.677 001.325 000.355: require('mason-core.platform') -170.684 002.098 000.349: require('mason') -171.157 000.146 000.146: require('mason-core.functional.list') -171.216 000.487 000.341: require('mason.api.command') -171.551 000.187 000.187: require('mason-core.log') -171.563 000.338 000.151: require('mason-lspconfig') -171.686 000.116 000.116: require('mason-lspconfig.settings') -172.005 000.100 000.100: require('mason-core.notify') -172.021 000.254 000.154: require('mason-lspconfig.lspconfig_hook') -173.436 000.332 000.332: require('vim.lsp.log') -175.349 000.018 000.018: require('vim.F') -175.362 001.914 001.896: require('vim.lsp.protocol') -176.664 000.616 000.616: require('vim.lsp._snippet') -177.121 000.431 000.431: require('vim.highlight') -177.185 001.814 000.767: require('vim.lsp.util') -177.253 004.476 000.416: require('vim.lsp.handlers') -177.793 000.525 000.525: require('vim.lsp.rpc') -178.168 000.357 000.357: require('vim.lsp.sync') -178.616 000.432 000.432: require('vim.lsp.buf') -179.019 000.333 000.333: require('vim.lsp.diagnostic') -179.502 000.399 000.399: require('vim.lsp.codelens') -179.778 007.591 001.069: require('vim.lsp') -180.117 008.089 000.498: require('lspconfig.util') -180.682 000.163 000.163: require('mason-core.functional.table') -180.832 000.619 000.456: require('mason-lspconfig.mappings.server') -181.363 000.191 000.191: require('mason-core.async') -181.566 000.187 000.187: require('mason-core.async.uv') -181.592 000.576 000.199: require('mason-core.fs') -181.775 000.171 000.171: require('mason-core.optional') -181.933 000.145 000.145: require('mason-core.EventEmitter') -182.311 000.368 000.368: require('mason-registry.index') -182.352 001.507 000.247: require('mason-registry') -182.670 000.305 000.305: require('mason-lspconfig.server_config_extensions') -182.867 000.178 000.178: require('lspconfig.configs') -183.170 000.230 000.230: require('lspconfig.server_configurations.omnisharp') -183.726 000.167 000.167: require('mason-lspconfig.ensure_installed') -184.284 000.154 000.154: require('mason-core.result') -185.040 000.408 000.408: require('mason-core.process') -185.238 000.757 000.349: require('mason-core.spawn') -185.440 000.185 000.185: require('mason-core.receipt') -185.641 000.167 000.167: require('mason-core.functional.string') -185.691 001.395 000.286: require('mason-core.installer.context') -185.862 000.161 000.161: require('mason-core.installer.linker') -186.029 000.155 000.155: require('mason-core.async.control') -186.043 002.103 000.238: require('mason-core.installer') -186.253 000.197 000.197: require('mason-core.installer.handle') -187.145 000.169 000.169: require('mason-core.managers.powershell') -187.158 000.335 000.165: require('mason-core.fetch') -187.164 000.480 000.146: require('mason-core.managers.cargo.client') -187.599 000.197 000.197: require('mason-core.managers.std') -188.064 000.283 000.283: require('mason-core.providers') -188.109 000.497 000.214: require('mason-core.managers.github.client') -188.130 000.958 000.263: require('mason-core.managers.github') -188.313 001.835 000.396: require('mason-core.managers.cargo') -188.687 000.360 000.360: require('mason-core.managers.composer') -188.964 000.264 000.264: require('mason-core.managers.gem') -189.161 000.185 000.185: require('mason-core.managers.git') -189.542 000.369 000.369: require('mason-core.managers.go') -189.902 000.346 000.346: require('mason-core.managers.luarocks') -190.216 000.302 000.302: require('mason-core.managers.npm') -190.591 000.361 000.361: require('mason-core.managers.pip3') -190.622 004.337 000.316: require('mason-core.package.version-check') -190.650 006.910 000.273: require('mason-core.package') -190.945 000.247 000.247: require('mason-registry.python-lsp-server') -191.450 000.249 000.249: require('mason-registry.pyright') -191.843 000.336 000.336: require('mason-registry.clangd') -192.062 000.180 000.180: require('mason-registry.lua-language-server') -192.397 000.139 000.139: require('mason-core.functional.number') -192.474 000.396 000.257: require('mason-lspconfig.api.command') -192.686 028.315 002.723: require('user.pack') -197.945 005.244 005.244: require('user.opts') -198.202 000.016 000.016: require('vim.keymap') -201.245 003.273 003.256: require('user.keys') -201.453 000.182 000.182: require('user.utils') -202.815 000.295 000.295: require('vim.treesitter.language') -202.841 000.857 000.561: require('vim.treesitter.query') -204.360 000.363 000.363: require('vim.treesitter.languagetree') -204.478 000.820 000.457: require('vim.treesitter') -204.871 001.660 000.840: require('nvim-treesitter.parsers') -205.054 000.172 000.172: require('nvim-treesitter.utils') -205.069 002.083 000.251: require('nvim-treesitter.ts_utils') -205.083 002.233 000.150: require('nvim-treesitter.tsrange') -205.218 000.126 000.126: require('nvim-treesitter.caching') -205.248 003.428 000.212: require('nvim-treesitter.query') -205.289 003.707 000.279: require('nvim-treesitter.configs') -205.955 000.138 000.138: require('nvim-treesitter.info') -206.141 000.173 000.173: require('nvim-treesitter.shell_command_selectors') -206.199 000.605 000.294: require('nvim-treesitter.install') -209.367 007.900 003.588: require('plugins.treesitter') -209.871 000.162 000.162: require('telescope._extensions') -209.885 000.298 000.136: require('telescope') -210.851 000.120 000.120: require('plenary.bit') -210.976 000.115 000.115: require('plenary.functional') -211.047 000.050 000.050: require('ffi') -211.076 000.539 000.254: require('plenary.path') -211.099 000.682 000.143: require('plenary.strings') -211.211 000.106 000.106: require('telescope.deprecated') -211.705 000.221 000.221: require('plenary.log') -211.754 000.368 000.146: require('telescope.log') -212.118 000.181 000.181: require('plenary.job') -212.241 000.111 000.111: require('telescope.state') -212.260 000.497 000.205: require('telescope.utils') -212.323 001.104 000.239: require('telescope.sorters') -212.575 000.217 000.217: require('vim.inspect') -217.782 007.577 005.468: require('telescope.config') -218.130 000.145 000.145: require('plenary.window.border') -218.253 000.113 000.113: require('plenary.window') -218.368 000.106 000.106: require('plenary.popup.utils') -218.389 000.588 000.226: require('plenary.popup') -218.522 000.124 000.124: require('telescope.pickers.scroller') -218.654 000.123 000.123: require('telescope.actions.state') -218.814 000.134 000.134: require('telescope.actions.utils') -219.086 000.121 000.121: require('telescope.actions.mt') -219.137 000.315 000.194: require('telescope.actions.set') -219.432 000.155 000.155: require('telescope.config.resolve') -219.441 000.295 000.140: require('telescope.pickers.entry_display') -219.554 000.106 000.106: require('telescope.from_entry') -220.013 010.120 000.857: require('telescope.actions') -223.724 000.109 000.109: require('plenary.tbl') -223.743 000.248 000.139: require('plenary.vararg.rotate') -223.748 000.364 000.116: require('plenary.vararg') -223.875 000.120 000.120: require('plenary.errors') -223.896 000.652 000.167: require('plenary.async.async') -224.044 000.140 000.140: require('plenary.async.structs') -224.063 000.963 000.170: require('plenary.async.control') -224.644 000.414 000.414: require('telescope.make_entry') -225.219 000.150 000.150: require('plenary.async.util') -225.228 000.285 000.134: require('plenary.async.tests') -225.235 000.431 000.147: require('plenary.async') -225.243 000.580 000.149: require('telescope.finders.async_static_finder') -225.662 000.119 000.119: require('plenary.class') -225.708 000.317 000.198: require('telescope._') -225.717 000.467 000.150: require('telescope.finders.async_oneshot_finder') -225.886 000.162 000.162: require('telescope.finders.async_job_finder') -225.903 001.830 000.206: require('telescope.finders') -226.595 000.342 000.342: require('telescope.debounce') -226.924 000.315 000.315: require('telescope.mappings') -227.103 000.165 000.165: require('telescope.pickers.highlights') -227.250 000.135 000.135: require('telescope.pickers.window') -227.558 000.150 000.150: require('telescope.algos.linked_list') -227.570 000.312 000.162: require('telescope.entry_manager') -227.710 000.133 000.133: require('telescope.pickers.multi') -227.768 001.856 000.454: require('telescope.pickers') -227.795 004.914 000.265: require('telescope.builtin.__lsp') -227.886 007.862 002.948: require('telescope.builtin') -228.405 000.340 000.340: require('fzf_lib') -228.427 000.531 000.191: require('telescope._extensions.fzf') -229.080 000.232 000.232: require('telescope._extensions.file_browser.utils') -229.247 000.651 000.418: require('telescope._extensions.file_browser.actions') -229.680 000.244 000.244: require('telescope._extensions.file_browser.make_entry') -230.052 000.357 000.357: require('plenary.scandir') -230.122 000.865 000.264: require('telescope._extensions.file_browser.finders') -230.293 000.161 000.161: require('telescope._extensions.file_browser.picker') -230.481 000.179 000.179: require('telescope._extensions.file_browser.config') -230.489 002.041 000.185: require('telescope._extensions.file_browser') -234.415 025.026 004.175: require('plugins.telescope') -236.164 000.112 000.112: require('notify.util.queue') -236.176 000.255 000.143: require('notify.util') -236.506 000.324 000.324: require('notify.config.highlights') -236.521 000.753 000.174: require('notify.config') -236.644 000.116 000.116: require('notify.stages') -236.783 000.130 000.130: require('notify.service.notification') -237.441 000.398 000.398: require('notify.animate.spring') -237.448 000.510 000.112: require('notify.animate') -237.470 000.679 000.169: require('notify.windows') -238.243 000.264 000.264: require('notify.service.buffer.highlights') -238.277 000.561 000.297: require('notify.service.buffer') -238.295 000.820 000.259: require('notify.service') -238.873 000.572 000.572: require('notify.stages.util') -238.967 003.368 000.297: require('notify') -239.195 000.220 000.220: require('nvim-tree.iterators.node-iterator') -239.351 003.930 000.343: require('nvim-tree.utils') -239.390 004.107 000.177: require('nvim-tree.events') -240.152 000.209 000.209: require('nvim-tree.log') -240.486 000.324 000.324: require('nvim-tree.git.utils') -240.783 000.288 000.288: require('nvim-tree.git.runner') -241.059 000.268 000.268: require('nvim-tree.watcher') -241.097 001.472 000.383: require('nvim-tree.git') -241.351 000.247 000.247: require('nvim-tree.explorer.watch') -241.552 000.193 000.193: require('nvim-tree.explorer.common') -242.081 000.261 000.261: require('nvim-tree.explorer.node-builders') -242.349 000.258 000.258: require('nvim-tree.explorer.sorters') -242.545 000.187 000.187: require('nvim-tree.explorer.filters') -243.567 000.668 000.668: require('nvim-tree.view') -243.616 001.049 000.381: require('nvim-tree.live-filter') -243.636 002.075 000.320: require('nvim-tree.explorer.explore') -243.882 000.231 000.231: require('nvim-tree.explorer.reload') -243.905 004.508 000.289: require('nvim-tree.explorer') -243.947 008.785 000.169: require('nvim-tree.core') -244.226 000.272 000.272: require('nvim-tree.diagnostics') -244.485 000.217 000.217: require('nvim-tree.renderer.components.padding') -244.781 000.287 000.287: require('nvim-tree.renderer.components.icons') -245.031 000.242 000.242: require('nvim-tree.renderer.components.full-name') -245.217 000.178 000.178: require('nvim-tree.renderer.help') -245.348 000.123 000.123: require('nvim-tree.renderer.components.git') -245.483 000.127 000.127: require('nvim-tree.renderer.builder') -245.590 000.100 000.100: require('nvim-tree.marks') -245.604 010.585 000.254: require('nvim-tree.renderer') -245.722 000.105 000.105: require('nvim-tree.actions.tree-modifiers.collapse-all') -245.820 000.089 000.089: require('nvim-tree.actions.root.dir-up') -245.929 000.101 000.101: require('nvim-tree.actions.root.change-dir') -246.035 000.099 000.099: require('nvim-tree.actions.reloaders.reloaders') -246.141 000.097 000.097: require('nvim-tree.actions.finders.find-file') -246.147 011.317 000.240: require('nvim-tree.lib') -246.260 000.107 000.107: require('nvim-tree.colors') -246.419 000.148 000.148: require('nvim-tree.legacy') -246.556 000.126 000.126: require('nvim-tree.actions.fs.copy-paste') -246.776 000.102 000.102: require('nvim-tree.actions.tree-modifiers.expand-all') -246.881 000.096 000.096: require('nvim-tree.actions.tree-modifiers.toggles') -247.001 000.104 000.104: require('nvim-tree.actions.fs.create-file') -247.106 000.095 000.095: require('nvim-tree.actions.fs.rename-file') -247.241 000.127 000.127: require('nvim-tree.actions.fs.trash') -247.354 000.104 000.104: require('nvim-tree.actions.fs.remove-file') -247.460 000.095 000.095: require('nvim-tree.actions.moves.parent') -247.559 000.091 000.091: require('nvim-tree.actions.moves.sibling') -247.658 000.090 000.090: require('nvim-tree.actions.moves.item') -247.776 000.098 000.098: require('nvim-tree.actions.finders.search-node') -247.874 000.090 000.090: require('nvim-tree.actions.node.run-command') -247.998 000.117 000.117: require('nvim-tree.actions.node.file-popup') -248.120 000.114 000.114: require('nvim-tree.actions.node.system-open') -248.233 000.101 000.101: require('nvim-tree.marks.bulk-move') -248.240 001.673 000.248: require('nvim-tree.actions.dispatch') -248.273 013.710 000.339: require('nvim-tree') -248.361 000.081 000.081: require('nvim-tree.config') -252.911 000.165 000.165: require('nvim-tree.actions') -253.063 000.135 000.135: require('nvim-tree.actions.node.open-file') -255.633 000.096 000.096: require('nvim-tree.marks.navigation') -255.645 000.284 000.187: require('nvim-tree.api') -255.667 000.426 000.143: require('nvim-tree.keymap') -256.534 000.416 000.416: require('nvim-web-devicons') -260.717 026.287 011.353: require('plugins.nvim-tree') -261.160 000.076 000.076: require('cmp.utils.debug') -261.369 000.118 000.118: require('cmp.utils.char') -261.383 000.215 000.096: require('cmp.utils.str') -261.513 000.081 000.081: require('cmp.utils.pattern') -261.780 000.085 000.085: require('cmp.utils.misc') -261.888 000.080 000.080: require('cmp.utils.buffer') -261.986 000.091 000.091: require('cmp.utils.api') -261.996 000.396 000.139: require('cmp.utils.keymap') -262.005 000.485 000.089: require('cmp.utils.feedkeys') -262.103 000.093 000.093: require('cmp.utils.async') -262.370 000.075 000.075: require('cmp.types.cmp') -262.478 000.101 000.101: require('cmp.types.lsp') -262.557 000.072 000.072: require('cmp.types.vim') -262.562 000.371 000.123: require('cmp.types') -262.640 000.073 000.073: require('cmp.utils.cache') -262.649 000.538 000.094: require('cmp.context') -262.919 000.089 000.089: require('cmp.config.mapping') -263.148 000.130 000.130: require('cmp.config.compare') -263.155 000.225 000.095: require('cmp.config.default') -263.179 000.433 000.119: require('cmp.config') -263.376 000.078 000.078: require('cmp.matcher') -263.387 000.202 000.124: require('cmp.entry') -263.402 000.749 000.114: require('cmp.source') -263.567 000.074 000.074: require('cmp.utils.event') -263.755 000.096 000.096: require('cmp.utils.window') -263.762 000.188 000.092: require('cmp.view.docs_view') -263.959 000.082 000.082: require('cmp.utils.autocmd') -263.979 000.212 000.130: require('cmp.view.custom_entries_view') -264.097 000.112 000.112: require('cmp.view.wildmenu_entries_view') -264.203 000.099 000.099: require('cmp.view.native_entries_view') -264.297 000.088 000.088: require('cmp.view.ghost_text_view') -264.311 000.904 000.132: require('cmp.view') -264.375 003.409 000.269: require('cmp.core') -264.744 000.085 000.085: require('cmp.config.sources') -264.827 000.073 000.073: require('cmp.config.window') -264.928 004.072 000.505: require('cmp') -265.330 000.113 000.113: require('symbols-outline.config') -265.336 000.199 000.086: require('symbols-outline.symbols') -265.430 000.089 000.089: require('symbols-outline.ui') -265.519 000.080 000.080: require('symbols-outline.utils.table') -265.603 000.078 000.078: require('symbols-outline.folding') -265.610 000.562 000.116: require('symbols-outline.parser') -265.696 000.082 000.082: require('symbols-outline.providers.init') -265.793 000.090 000.090: require('symbols-outline.writer') -265.883 000.082 000.082: require('symbols-outline.utils.init') -265.969 000.081 000.081: require('symbols-outline.view') -265.984 001.049 000.152: require('symbols-outline') -266.221 000.108 000.108: require('symbols-outline.preview') -266.335 000.099 000.099: require('lspkind') -268.163 007.434 002.106: require('plugins.cmp') -268.689 000.080 000.080: require('luasnip.session') -268.813 000.116 000.116: require('luasnip.util.util') -268.899 000.078 000.078: require('luasnip.util.types') -269.097 000.088 000.088: require('luasnip.util.ext_opts') -269.110 000.205 000.117: require('luasnip.nodes.util') -269.201 000.084 000.084: require('luasnip.util.events') -269.217 000.702 000.139: require('luasnip.nodes.node') -269.487 000.093 000.093: require('luasnip.util.extend_decorator') -269.502 000.279 000.186: require('luasnip.nodes.insertNode') -269.621 000.112 000.112: require('luasnip.nodes.textNode') -269.746 000.113 000.113: require('luasnip.util.mark') -270.468 000.624 000.624: require('luasnip.util._builtin_vars') -270.701 000.947 000.323: require('luasnip.util.environ') -270.821 000.110 000.110: require('luasnip.util.pattern_tokenizer') -270.910 000.081 000.081: require('luasnip.util.dict') -271.025 000.108 000.108: require('luasnip.session.snippet_collection') -271.136 002.759 000.305: require('luasnip.nodes.snippet') -271.347 000.094 000.094: require('luasnip.loaders._caches') -271.481 000.125 000.125: require('luasnip.util.path') -271.527 000.376 000.157: require('luasnip.loaders') -271.696 000.134 000.134: require('luasnip.nodes.functionNode') -271.856 000.151 000.151: require('luasnip.nodes.choiceNode') -272.006 000.142 000.142: require('luasnip.nodes.dynamicNode') -272.148 000.135 000.135: require('luasnip.nodes.restoreNode') -272.518 000.102 000.102: require('luasnip.util.parser.neovim_ast') -277.366 000.109 000.109: require('luasnip.util.directed_graph') -277.386 005.086 004.876: require('luasnip.util.parser.ast_utils') -277.605 000.091 000.091: require('luasnip.util.functions') -277.622 000.229 000.138: require('luasnip.util.parser.ast_parser') -277.807 000.179 000.179: require('luasnip.util.parser.neovim_parser') -277.905 000.089 000.089: require('luasnip.util.str') -277.922 005.723 000.139: require('luasnip.util.parser') -278.153 000.099 000.099: require('luasnip.extras.filetype_functions') -278.301 000.105 000.105: require('luasnip.extras') -278.412 000.099 000.099: require('luasnip.extras.fmt') -278.683 000.093 000.093: require('luasnip.extras.conditions') -278.786 000.095 000.095: require('luasnip.extras.conditions.show') -278.865 000.359 000.171: require('luasnip.extras.conditions.expand') -278.871 000.451 000.092: require('luasnip.extras.expand_conditions') -278.975 000.093 000.093: require('luasnip.nodes.absolute_indexer') -279.390 001.462 000.614: require('luasnip.config') -279.402 011.147 000.263: require('luasnip') -279.624 000.108 000.108: require('luasnip.loaders.util') -279.635 000.226 000.118: require('luasnip.loaders.from_lua') -289.067 020.892 009.519: require('plugins.luasnip') -289.452 000.136 000.136: require('colorizer/nvim') -289.782 000.321 000.321: require('colorizer/trie') -290.185 001.012 000.555: require('colorizer') -292.084 003.001 001.990: require('plugins.colorizer') -292.454 000.089 000.089: require('prettier.utils') -292.509 000.246 000.157: require('prettier.options') -293.215 000.288 000.288: require('null-ls.methods') -293.243 000.430 000.142: require('null-ls.utils') -293.754 000.501 000.501: require('vim.diagnostic') -293.776 001.052 000.121: require('null-ls.config') -293.963 000.087 000.087: require('null-ls.helpers.cache') -294.084 000.114 000.114: require('null-ls.helpers.diagnostics') -294.186 000.095 000.095: require('null-ls.helpers.formatter_factory') -294.410 000.096 000.096: require('null-ls.logger') -294.513 000.097 000.097: require('null-ls.state') -294.521 000.327 000.134: require('null-ls.helpers.generator_factory') -294.724 000.097 000.097: require('null-ls.helpers.command_resolver') -294.730 000.204 000.107: require('null-ls.helpers.make_builtin') -294.829 000.092 000.092: require('null-ls.helpers.range_formatting_args_factory') -294.834 001.051 000.131: require('null-ls.helpers') -295.054 000.110 000.110: require('null-ls.diagnostics') -295.073 000.234 000.124: require('null-ls.sources') -295.200 000.120 000.120: require('null-ls.builtins') -295.208 002.576 000.120: require('null-ls') -295.303 000.089 000.089: require('prettier.cli') -295.311 002.795 000.130: require('prettier.null-ls') -295.317 003.142 000.101: require('prettier') -295.614 003.518 000.376: require('plugins.prettier') -295.778 000.087 000.087: require('git') -295.869 000.083 000.083: require('git.config') -296.051 000.427 000.257: require('plugins.git') -296.346 000.087 000.087: require('gitsigns.async') -296.470 000.116 000.116: require('gitsigns.status') -296.724 000.102 000.102: require('gitsigns.debug') -296.832 000.101 000.101: require('gitsigns.util') -297.026 000.097 000.097: require('gitsigns.uv') -297.033 000.193 000.097: require('gitsigns.subprocess') -297.443 000.081 000.081: require('gitsigns.message') -297.481 000.263 000.182: require('gitsigns.config') -297.571 000.081 000.081: require('gitsigns.signs.base') -297.580 000.440 000.096: require('gitsigns.signs') -297.590 000.551 000.111: require('gitsigns.hunks') -297.606 001.128 000.181: require('gitsigns.git') -297.823 000.089 000.089: require('gitsigns.cache') -297.917 000.085 000.085: require('gitsigns.debounce') -298.006 000.079 000.079: require('gitsigns.diff') -298.046 000.434 000.181: require('gitsigns.manager') -298.167 000.114 000.114: require('gitsigns.highlight') -298.191 002.069 000.190: require('gitsigns') -299.553 000.118 000.118: require('gitsigns.signs.vimfn') -303.457 007.398 005.211: require('plugins.gitsigns') -303.906 000.117 000.117: require('neoscroll.config') -304.012 000.098 000.098: require('neoscroll.utils') -304.153 000.527 000.311: require('neoscroll') -304.718 001.235 000.708: require('plugins.neoscroll') -305.359 000.117 000.117: require('cmp_nvim_lsp.source') -305.368 000.238 000.121: require('cmp_nvim_lsp') -305.471 000.094 000.094: require('lspconfig') -305.619 000.102 000.102: require('lspconfig.server_configurations.pylsp') -306.172 000.135 000.135: require('mason-lspconfig.server_configurations.pylsp') -306.826 000.124 000.124: require('lspconfig.server_configurations.clangd') -309.080 000.147 000.147: require('lspconfig.server_configurations.sumneko_lua') -310.977 006.198 005.360: require('plugins.lsp') -311.352 000.092 000.092: require('nvim-autopairs._log') -311.475 000.114 000.114: require('nvim-autopairs.utils') -311.812 000.117 000.117: require('nvim-autopairs.conds') -311.826 000.238 000.121: require('nvim-autopairs.rule') -311.832 000.349 000.111: require('nvim-autopairs.rules.basic') -311.849 000.751 000.196: require('nvim-autopairs') -312.003 000.113 000.113: require('nvim-autopairs.fastwrap') -312.421 000.112 000.112: require('nvim-autopairs.ts-conds') -312.431 000.221 000.109: require('nvim-autopairs.rules.ts_basic') -312.700 000.263 000.263: require('vim.treesitter.highlighter') -314.101 000.095 000.095: require('nvim-autopairs.completion.handlers') -314.115 000.225 000.131: require('nvim-autopairs.completion.cmp') -314.138 003.147 001.573: require('plugins.autopairs') -314.374 000.151 000.151: require('null-ls.builtins.formatting.prettierd') -314.513 000.127 000.127: require('null-ls.builtins.formatting.stylua') -314.641 000.118 000.118: require('null-ls.builtins.formatting.shfmt') -315.345 000.137 000.137: require('null-ls.client') -315.397 001.252 000.719: require('plugins.null-ls') -315.474 000.069 000.069: require('plugins.web-devicons') -315.940 000.085 000.085: require('zen-mode.util') -315.992 000.227 000.142: require('zen-mode.config') -316.102 000.102 000.102: require('zen-mode.plugins') -316.116 000.486 000.157: require('zen-mode.view') -316.122 000.574 000.088: require('zen-mode') -316.281 000.799 000.225: require('plugins.zen-mode') -320.456 000.097 000.097: require('doom-one.utils') -320.567 000.100 000.100: require('doom-one.colors') -320.585 000.524 000.327: require('doom-one') -323.260 004.203 003.679: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -327.935 000.432 000.432: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/syntax/synload.vim -328.319 000.058 000.058: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -329.449 000.081 000.081: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/filetype.lua -330.839 001.210 001.210: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/filetype.vim -331.709 000.151 000.151: require('filetype') -331.775 006.053 004.122: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/syntax/syntax.vim -332.203 000.132 000.132: require('notify.stages.fade_in_slide_out') -332.273 015.982 005.594: require('plugins.colorscheme') -332.627 000.101 000.101: require('heirline.conditions') -332.763 000.128 000.128: require('heirline.utils') -333.208 000.102 000.102: require('heirline.highlights') -333.225 000.266 000.165: require('heirline.statusline') -333.234 000.382 000.115: require('heirline') -333.479 000.145 000.145: require('nvim-navic') -337.983 005.700 004.945: require('plugins.heirline') -338.080 226.963 004.123: sourcing /home/srdusr/.config/nvim/init.lua -338.106 014.911: sourcing vimrc file(s) -344.869 001.236 001.236: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/gzip.vim -345.040 000.083 000.083: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/health.vim -347.760 001.522 001.522: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -348.120 003.012 001.490: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/matchit.vim -348.615 000.395 000.395: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/matchparen.vim -348.759 000.077 000.077: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/netrwPlugin.vim -349.156 000.021 000.021: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -349.177 000.355 000.335: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/rplugin.vim -349.437 000.202 000.202: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/shada.vim -349.565 000.051 000.051: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/spellfile.vim -349.698 000.061 000.061: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/tarPlugin.vim -349.842 000.059 000.059: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/tohtml.vim -349.953 000.044 000.044: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/tutor.vim -350.795 000.777 000.777: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/zipPlugin.vim -351.105 000.041 000.041: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -352.452 000.108 000.108: require('leap') -352.559 000.096 000.096: require('leap.user') -353.594 000.153 000.153: require('fidget.log') -353.614 000.336 000.183: require('fidget') -353.798 000.163 000.163: require('fidget.spinners') -354.519 000.083 000.083: require('crates.time') -354.529 000.187 000.104: require('crates.types') -354.535 000.324 000.137: require('crates.semver') -355.549 000.928 000.928: require('crates.config') -355.696 000.136 000.136: require('crates.toml') -355.705 001.165 000.101: require('crates.state') -355.734 001.653 000.164: require('crates.util') -355.745 001.773 000.120: require('crates.actions') -355.984 000.135 000.135: require('crates.api') -356.076 000.084 000.084: require('crates.async') -356.197 000.114 000.114: require('crates.diagnostic') -356.306 000.100 000.100: require('crates.ui') -356.315 000.565 000.131: require('crates.core') -356.577 000.119 000.119: require('crates.popup.common') -356.693 000.108 000.108: require('crates.popup.crate') -356.818 000.118 000.118: require('crates.popup.dependencies') -356.944 000.120 000.120: require('crates.popup.features') -357.090 000.139 000.139: require('crates.popup.versions') -357.105 000.785 000.181: require('crates.popup') -357.116 003.252 000.129: require('crates') -359.527 000.129 000.129: require('flit') -361.048 000.481 000.481: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -362.820 011.575 007.010: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -363.639 000.103 000.103: sourcing /tmp/.mount_nvimasWcQy/usr/share/nvim/runtime/plugin/man.lua -363.817 007.640: loading rtp plugins -365.782 000.090 000.090: require('Comment.config') -366.082 000.151 000.151: require('Comment.ft') -366.096 000.304 000.152: require('Comment.utils') -366.194 000.093 000.093: require('Comment.opfunc') -366.310 000.107 000.107: require('Comment.extra') -366.319 000.756 000.163: require('Comment.api') -366.577 001.092 000.336: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -366.917 000.160 000.160: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -367.640 000.471 000.471: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -368.424 000.164 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -369.031 000.040 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -370.342 000.746 000.746: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -370.983 000.071 000.071: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -371.641 000.367 000.367: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -372.257 000.107 000.107: require('cmp.utils.highlight') -372.987 000.938 000.832: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -373.224 000.031 000.031: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -373.539 000.077 000.077: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -374.009 000.164 000.164: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -374.629 000.219 000.219: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -375.338 000.115 000.115: require('nvim-treesitter.statusline') -375.464 000.117 000.117: require('nvim-treesitter.query_predicates') -375.474 000.357 000.126: require('nvim-treesitter') -376.453 001.417 001.060: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -376.942 000.263 000.263: require('treesitter-context') -376.952 000.307 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -377.454 000.210 000.210: require('nvim-treesitter-refactor') -377.754 000.545 000.334: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -378.110 000.101 000.101: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -378.536 000.079 000.079: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -378.858 000.092 000.092: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -379.339 000.027 000.027: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -379.616 000.043 000.043: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -379.994 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -380.621 000.154 000.154: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -381.162 000.334 000.334: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -381.844 000.375 000.375: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -382.121 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -382.398 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -383.393 011.428: loading packages -391.236 000.088 000.088: require('cmp_buffer.timer') -391.248 000.204 000.116: require('cmp_buffer.buffer') -391.254 000.334 000.131: require('cmp_buffer.source') -391.259 000.441 000.106: require('cmp_buffer') -391.311 000.572 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -391.700 000.173 000.173: require('cmp_cmdline') -391.737 000.276 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -392.010 000.120 000.120: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -392.387 000.148 000.148: require('cmp_path') -392.423 000.263 000.115: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -392.766 000.121 000.121: require('cmp_luasnip') -392.831 000.253 000.132: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -393.320 000.124 000.124: require('crates.src.common') -393.328 000.230 000.106: require('crates.src.cmp') -393.361 000.377 000.147: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -393.467 008.212: loading after plugins -393.498 000.031: inits 3 -393.511 000.013: reading ShaDa -394.567 000.129 000.129: require('luasnip.nodes.snippetProxy') -394.579 000.307 000.178: require('luasnip.loaders.from_snipmate') -394.757 000.132 000.132: require('luasnip.loaders.from_vscode') -394.798 000.848: opening buffers -395.013 000.215: BufEnter autocommands -395.022 000.009: editing files in windows -413.492 000.369 000.369: require('gitsigns.current_line_blame') - - -times in msec - clock self+sourced self: sourced script - clock elapsed: other lines - -001.166 001.166: --- NVIM STARTING --- -027.187 026.021: event init -043.463 016.277: early init -045.114 001.651: locale set -050.553 005.439: init first window -060.367 009.814: inits 1 -060.392 000.025: window checked -060.401 000.009: parsing arguments -071.979 000.270 000.270: require('vim.shared') -072.499 000.244 000.244: require('vim._meta') -072.512 000.510 000.265: require('vim._editor') -072.520 000.901 000.121: require('vim._init_packages') -072.528 011.226: init lua interpreter -072.695 000.168: expanding arguments -074.605 001.910: inits 2 -075.951 001.346: init highlight -075.960 000.008: waiting for UI -078.889 002.929: done waiting for UI -078.937 000.048: init screen for UI -079.445 000.509: init default mappings -079.501 000.056: init default autocommands -089.020 003.668 003.668: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/ftplugin.vim -090.838 000.805 000.805: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/indent.vim -091.074 000.026 000.026: sourcing /usr/share/nvim/archlinux.vim -091.086 000.081 000.056: sourcing /etc/xdg/nvim/sysinit.vim -122.373 031.096 031.096: require('impatient') -123.242 000.852 000.852: require('impatient.profile') -123.343 000.084 000.084: require('user.utils') -126.546 000.222 000.222: require('packer.util') -126.603 000.529 000.307: require('packer') -127.488 000.484 000.484: require('packer.log') -127.502 000.644 000.159: require('packer.async') -127.845 000.173 000.173: require('packer.result') -127.857 000.349 000.175: require('packer.jobs') -127.870 001.215 000.222: require('packer.plugin_utils') -128.108 000.215 000.215: require('packer.snapshot') -129.816 000.345 000.345: require('mason-core.path') -129.835 000.718 000.374: require('mason.settings') -130.385 000.176 000.176: require('mason-core.functional') -130.610 000.095 000.095: require('mason-core.functional.data') -130.620 000.209 000.114: require('mason-core.functional.function') -130.828 000.174 000.174: require('mason-core.functional.relation') -131.014 000.162 000.162: require('mason-core.functional.logic') -131.090 001.247 000.526: require('mason-core.platform') -131.096 002.410 000.444: require('mason') -131.452 000.179 000.179: require('mason-core.functional.list') -131.499 000.371 000.192: require('mason.api.command') -131.807 000.190 000.190: require('mason-core.log') -131.820 000.315 000.125: require('mason-lspconfig') -132.100 000.274 000.274: require('mason-lspconfig.settings') -132.437 000.137 000.137: require('mason-core.notify') -132.449 000.264 000.127: require('mason-lspconfig.lspconfig_hook') -133.730 000.240 000.240: require('vim.lsp.log') -134.969 000.015 000.015: require('vim.F') -134.977 001.237 001.222: require('vim.lsp.protocol') -135.583 000.263 000.263: require('vim.lsp._snippet') -135.782 000.190 000.190: require('vim.highlight') -135.819 000.834 000.382: require('vim.lsp.util') -135.858 002.624 000.313: require('vim.lsp.handlers') -136.128 000.261 000.261: require('vim.lsp.rpc') -136.427 000.288 000.288: require('vim.lsp.sync') -136.675 000.239 000.239: require('vim.lsp.buf') -136.870 000.186 000.186: require('vim.lsp.diagnostic') -137.068 000.189 000.189: require('vim.lsp.codelens') -137.214 004.570 000.782: require('vim.lsp') -137.285 004.831 000.261: require('lspconfig.util') -137.563 000.097 000.097: require('mason-core.functional.table') -137.676 000.369 000.271: require('mason-lspconfig.mappings.server') -138.007 000.115 000.115: require('mason-core.async') -138.102 000.082 000.082: require('mason-core.async.uv') -138.118 000.325 000.128: require('mason-core.fs') -138.226 000.102 000.102: require('mason-core.optional') -138.328 000.093 000.093: require('mason-core.EventEmitter') -138.566 000.203 000.203: require('mason-registry.index') -138.617 000.927 000.204: require('mason-registry') -138.725 000.099 000.099: require('mason-lspconfig.server_config_extensions') -138.848 000.116 000.116: require('lspconfig.configs') -139.015 000.112 000.112: require('lspconfig.server_configurations.omnisharp') -139.309 000.103 000.103: require('mason-lspconfig.ensure_installed') -139.675 000.095 000.095: require('mason-core.result') -140.212 000.269 000.269: require('mason-core.process') -140.287 000.479 000.210: require('mason-core.spawn') -140.452 000.120 000.120: require('mason-core.receipt') -140.568 000.099 000.099: require('mason-core.functional.string') -140.603 000.914 000.216: require('mason-core.installer.context') -140.789 000.179 000.179: require('mason-core.installer.linker') -141.000 000.203 000.203: require('mason-core.async.control') -141.010 001.571 000.179: require('mason-core.installer') -141.181 000.165 000.165: require('mason-core.installer.handle') -141.735 000.108 000.108: require('mason-core.managers.powershell') -141.743 000.214 000.106: require('mason-core.fetch') -141.747 000.308 000.094: require('mason-core.managers.cargo.client') -142.028 000.123 000.123: require('mason-core.managers.std') -142.277 000.095 000.095: require('mason-core.providers') -142.304 000.268 000.174: require('mason-core.managers.github.client') -142.320 000.568 000.176: require('mason-core.managers.github') -142.355 001.052 000.176: require('mason-core.managers.cargo') -142.694 000.333 000.333: require('mason-core.managers.composer') -142.868 000.165 000.165: require('mason-core.managers.gem') -142.988 000.113 000.113: require('mason-core.managers.git') -143.272 000.275 000.275: require('mason-core.managers.go') -143.467 000.187 000.187: require('mason-core.managers.luarocks') -143.622 000.148 000.148: require('mason-core.managers.npm') -143.805 000.175 000.175: require('mason-core.managers.pip3') -143.821 002.623 000.175: require('mason-core.package.version-check') -143.834 004.517 000.158: require('mason-core.package') -143.966 000.110 000.110: require('mason-registry.python-lsp-server') -144.227 000.138 000.138: require('mason-registry.pyright') -144.424 000.153 000.153: require('mason-registry.clangd') -144.565 000.117 000.117: require('mason-registry.lua-language-server') -144.795 000.103 000.103: require('mason-core.functional.number') -144.850 000.275 000.173: require('mason-lspconfig.api.command') -145.007 019.262 001.803: require('user.pack') -147.927 002.910 002.910: require('user.opts') -148.075 000.012 000.012: require('vim.keymap') -150.151 002.212 002.200: require('user.keys') -150.259 000.097 000.097: require('user.utils') -151.210 000.178 000.178: require('vim.treesitter.language') -151.234 000.616 000.438: require('vim.treesitter.query') -152.185 000.214 000.214: require('vim.treesitter.languagetree') -152.262 000.499 000.285: require('vim.treesitter') -152.560 001.098 000.599: require('nvim-treesitter.parsers') -152.707 000.139 000.139: require('nvim-treesitter.utils') -152.719 001.371 000.134: require('nvim-treesitter.ts_utils') -152.729 001.489 000.118: require('nvim-treesitter.tsrange') -152.835 000.099 000.099: require('nvim-treesitter.caching') -152.854 002.353 000.150: require('nvim-treesitter.query') -152.888 002.544 000.192: require('nvim-treesitter.configs') -153.395 000.108 000.108: require('nvim-treesitter.info') -153.538 000.133 000.133: require('nvim-treesitter.shell_command_selectors') -153.583 000.471 000.230: require('nvim-treesitter.install') -155.798 005.529 002.514: require('plugins.treesitter') -156.117 000.096 000.096: require('telescope._extensions') -156.127 000.198 000.102: require('telescope') -156.930 000.096 000.096: require('plenary.bit') -157.034 000.094 000.094: require('plenary.functional') -157.092 000.038 000.038: require('ffi') -157.115 000.434 000.205: require('plenary.path') -157.130 000.573 000.139: require('plenary.strings') -157.223 000.088 000.088: require('telescope.deprecated') -157.695 000.254 000.254: require('plenary.log') -157.734 000.376 000.122: require('telescope.log') -158.025 000.145 000.145: require('plenary.job') -158.124 000.090 000.090: require('telescope.state') -158.136 000.394 000.160: require('telescope.utils') -158.188 000.959 000.188: require('telescope.sorters') -158.308 000.092 000.092: require('vim.inspect') -162.575 006.185 004.473: require('telescope.config') -162.850 000.116 000.116: require('plenary.window.border') -162.947 000.089 000.089: require('plenary.window') -163.038 000.084 000.084: require('plenary.popup.utils') -163.049 000.461 000.172: require('plenary.popup') -163.154 000.099 000.099: require('telescope.pickers.scroller') -163.261 000.099 000.099: require('telescope.actions.state') -163.388 000.106 000.106: require('telescope.actions.utils') -163.621 000.111 000.111: require('telescope.actions.mt') -163.656 000.261 000.150: require('telescope.actions.set') -165.986 002.219 002.219: require('telescope.config.resolve') -165.997 002.334 000.115: require('telescope.pickers.entry_display') -166.096 000.093 000.093: require('telescope.from_entry') -166.555 010.422 000.784: require('telescope.actions') -167.643 000.124 000.124: require('plenary.tbl') -167.657 000.248 000.124: require('plenary.vararg.rotate') -167.661 000.355 000.107: require('plenary.vararg') -167.773 000.103 000.103: require('plenary.errors') -167.788 000.613 000.156: require('plenary.async.async') -167.945 000.151 000.151: require('plenary.async.structs') -167.960 000.925 000.161: require('plenary.async.control') -168.419 000.293 000.293: require('telescope.make_entry') -168.880 000.126 000.126: require('plenary.async.util') -168.887 000.232 000.106: require('plenary.async.tests') -168.896 000.356 000.123: require('plenary.async') -168.946 000.516 000.160: require('telescope.finders.async_static_finder') -169.301 000.098 000.098: require('plenary.class') -169.332 000.260 000.162: require('telescope._') -169.338 000.385 000.125: require('telescope.finders.async_oneshot_finder') -169.457 000.114 000.114: require('telescope.finders.async_job_finder') -169.470 001.502 000.194: require('telescope.finders') -169.923 000.177 000.177: require('telescope.debounce') -170.162 000.229 000.229: require('telescope.mappings') -170.314 000.141 000.141: require('telescope.pickers.highlights') -170.446 000.122 000.122: require('telescope.pickers.window') -170.707 000.129 000.129: require('telescope.algos.linked_list') -170.721 000.268 000.139: require('telescope.entry_manager') -170.832 000.106 000.106: require('telescope.pickers.multi') -170.877 001.400 000.358: require('telescope.pickers') -170.898 004.040 000.213: require('telescope.builtin.__lsp') -170.989 004.422 000.382: require('telescope.builtin') -171.481 000.293 000.293: require('fzf_lib') -171.496 000.453 000.160: require('telescope._extensions.fzf') -172.044 000.189 000.189: require('telescope._extensions.file_browser.utils') -172.214 000.572 000.383: require('telescope._extensions.file_browser.actions') -172.586 000.210 000.210: require('telescope._extensions.file_browser.make_entry') -172.827 000.226 000.226: require('plenary.scandir') -172.890 000.663 000.228: require('telescope._extensions.file_browser.finders') -173.027 000.130 000.130: require('telescope._extensions.file_browser.picker') -173.192 000.157 000.157: require('telescope._extensions.file_browser.config') -173.199 001.685 000.163: require('telescope._extensions.file_browser') -176.639 020.830 003.649: require('plugins.telescope') -178.295 000.102 000.102: require('notify.util.queue') -178.306 000.236 000.134: require('notify.util') -178.581 000.269 000.269: require('notify.config.highlights') -178.591 000.660 000.154: require('notify.config') -178.709 000.111 000.111: require('notify.stages') -178.824 000.108 000.108: require('notify.service.notification') -179.539 000.178 000.178: require('notify.animate.spring') -179.545 000.579 000.401: require('notify.animate') -179.565 000.734 000.155: require('notify.windows') -180.553 000.265 000.265: require('notify.service.buffer.highlights') -180.574 000.769 000.504: require('notify.service.buffer') -180.591 001.021 000.252: require('notify.service') -180.890 000.294 000.294: require('notify.stages.util') -180.979 003.209 000.281: require('notify') -181.191 000.203 000.203: require('nvim-tree.iterators.node-iterator') -181.361 003.793 000.381: require('nvim-tree.utils') -181.396 003.963 000.169: require('nvim-tree.events') -182.087 000.201 000.201: require('nvim-tree.log') -182.397 000.301 000.301: require('nvim-tree.git.utils') -182.665 000.260 000.260: require('nvim-tree.git.runner') -182.931 000.259 000.259: require('nvim-tree.watcher') -182.967 001.348 000.327: require('nvim-tree.git') -183.233 000.261 000.261: require('nvim-tree.explorer.watch') -183.433 000.192 000.192: require('nvim-tree.explorer.common') -183.931 000.211 000.211: require('nvim-tree.explorer.node-builders') -184.149 000.209 000.209: require('nvim-tree.explorer.sorters') -184.468 000.311 000.311: require('nvim-tree.explorer.filters') -185.435 000.688 000.688: require('nvim-tree.view') -185.471 000.983 000.295: require('nvim-tree.live-filter') -185.494 002.054 000.339: require('nvim-tree.explorer.explore') -185.853 000.349 000.349: require('nvim-tree.explorer.reload') -185.879 004.476 000.272: require('nvim-tree.explorer') -185.906 008.579 000.140: require('nvim-tree.core') -186.312 000.397 000.397: require('nvim-tree.diagnostics') -186.669 000.330 000.330: require('nvim-tree.renderer.components.padding') -187.013 000.332 000.332: require('nvim-tree.renderer.components.icons') -187.322 000.297 000.297: require('nvim-tree.renderer.components.full-name') -187.432 000.099 000.099: require('nvim-tree.renderer.help') -187.562 000.121 000.121: require('nvim-tree.renderer.components.git') -187.741 000.172 000.172: require('nvim-tree.renderer.builder') -187.852 000.103 000.103: require('nvim-tree.marks') -187.866 010.673 000.245: require('nvim-tree.renderer') -188.022 000.143 000.143: require('nvim-tree.actions.tree-modifiers.collapse-all') -188.119 000.089 000.089: require('nvim-tree.actions.root.dir-up') -188.228 000.101 000.101: require('nvim-tree.actions.root.change-dir') -188.333 000.098 000.098: require('nvim-tree.actions.reloaders.reloaders') -188.438 000.097 000.097: require('nvim-tree.actions.finders.find-file') -188.444 011.421 000.220: require('nvim-tree.lib') -188.579 000.129 000.129: require('nvim-tree.colors') -188.718 000.128 000.128: require('nvim-tree.legacy') -188.851 000.123 000.123: require('nvim-tree.actions.fs.copy-paste') -189.068 000.100 000.100: require('nvim-tree.actions.tree-modifiers.expand-all') -189.171 000.095 000.095: require('nvim-tree.actions.tree-modifiers.toggles') -189.291 000.104 000.104: require('nvim-tree.actions.fs.create-file') -189.393 000.094 000.094: require('nvim-tree.actions.fs.rename-file') -189.528 000.127 000.127: require('nvim-tree.actions.fs.trash') -189.640 000.104 000.104: require('nvim-tree.actions.fs.remove-file') -189.741 000.091 000.091: require('nvim-tree.actions.moves.parent') -189.837 000.088 000.088: require('nvim-tree.actions.moves.sibling') -189.934 000.088 000.088: require('nvim-tree.actions.moves.item') -190.048 000.095 000.095: require('nvim-tree.actions.finders.search-node') -190.143 000.088 000.088: require('nvim-tree.actions.node.run-command') -190.264 000.114 000.114: require('nvim-tree.actions.node.file-popup') -190.380 000.109 000.109: require('nvim-tree.actions.node.system-open') -190.483 000.092 000.092: require('nvim-tree.marks.bulk-move') -190.490 001.627 000.237: require('nvim-tree.actions.dispatch') -190.522 013.739 000.311: require('nvim-tree') -190.609 000.080 000.080: require('nvim-tree.config') -196.059 000.171 000.171: require('nvim-tree.actions') -196.198 000.121 000.121: require('nvim-tree.actions.node.open-file') -199.171 000.102 000.102: require('nvim-tree.marks.navigation') -199.183 000.314 000.212: require('nvim-tree.api') -199.204 000.481 000.166: require('nvim-tree.keymap') -200.107 000.425 000.425: require('nvim-web-devicons') -204.398 027.746 012.729: require('plugins.nvim-tree') -204.880 000.080 000.080: require('cmp.utils.debug') -205.095 000.122 000.122: require('cmp.utils.char') -205.108 000.219 000.097: require('cmp.utils.str') -205.241 000.083 000.083: require('cmp.utils.pattern') -205.521 000.089 000.089: require('cmp.utils.misc') -205.636 000.083 000.083: require('cmp.utils.buffer') -205.732 000.090 000.090: require('cmp.utils.api') -205.743 000.409 000.147: require('cmp.utils.keymap') -205.752 000.503 000.094: require('cmp.utils.feedkeys') -205.852 000.095 000.095: require('cmp.utils.async') -206.132 000.080 000.080: require('cmp.types.cmp') -206.247 000.108 000.108: require('cmp.types.lsp') -206.327 000.073 000.073: require('cmp.types.vim') -206.333 000.388 000.127: require('cmp.types') -206.414 000.077 000.077: require('cmp.utils.cache') -206.422 000.562 000.097: require('cmp.context') -206.706 000.093 000.093: require('cmp.config.mapping') -206.903 000.097 000.097: require('cmp.config.compare') -206.910 000.192 000.095: require('cmp.config.default') -206.931 000.406 000.120: require('cmp.config') -207.128 000.080 000.080: require('cmp.matcher') -207.139 000.203 000.123: require('cmp.entry') -207.154 000.728 000.119: require('cmp.source') -207.323 000.076 000.076: require('cmp.utils.event') -207.519 000.100 000.100: require('cmp.utils.window') -207.526 000.195 000.095: require('cmp.view.docs_view') -207.769 000.088 000.088: require('cmp.utils.autocmd') -207.788 000.257 000.169: require('cmp.view.custom_entries_view') -207.911 000.116 000.116: require('cmp.view.wildmenu_entries_view') -208.020 000.102 000.102: require('cmp.view.native_entries_view') -208.119 000.093 000.093: require('cmp.view.ghost_text_view') -208.133 000.974 000.135: require('cmp.view') -208.318 003.644 000.400: require('cmp.core') -208.756 000.088 000.088: require('cmp.config.sources') -208.843 000.076 000.076: require('cmp.config.window') -208.942 004.391 000.583: require('cmp') -209.357 000.117 000.117: require('symbols-outline.config') -209.363 000.206 000.088: require('symbols-outline.symbols') -209.459 000.091 000.091: require('symbols-outline.ui') -209.551 000.084 000.084: require('symbols-outline.utils.table') -209.638 000.080 000.080: require('symbols-outline.folding') -209.645 000.581 000.120: require('symbols-outline.parser') -209.752 000.102 000.102: require('symbols-outline.providers.init') -209.855 000.094 000.094: require('symbols-outline.writer') -210.025 000.163 000.163: require('symbols-outline.utils.init') -210.169 000.134 000.134: require('symbols-outline.view') -210.192 001.243 000.169: require('symbols-outline') -210.588 000.184 000.184: require('symbols-outline.preview') -210.781 000.169 000.169: require('lspkind') -213.134 008.723 002.736: require('plugins.cmp') -213.820 000.098 000.098: require('luasnip.session') -213.990 000.158 000.158: require('luasnip.util.util') -214.086 000.088 000.088: require('luasnip.util.types') -214.343 000.155 000.155: require('luasnip.util.ext_opts') -214.354 000.260 000.105: require('luasnip.nodes.util') -214.453 000.093 000.093: require('luasnip.util.events') -214.473 000.894 000.197: require('luasnip.nodes.node') -214.731 000.094 000.094: require('luasnip.util.extend_decorator') -214.742 000.263 000.170: require('luasnip.nodes.insertNode') -214.877 000.129 000.129: require('luasnip.nodes.textNode') -214.993 000.104 000.104: require('luasnip.util.mark') -215.771 000.671 000.671: require('luasnip.util._builtin_vars') -216.212 001.211 000.541: require('luasnip.util.environ') -216.360 000.136 000.136: require('luasnip.util.pattern_tokenizer') -216.466 000.098 000.098: require('luasnip.util.dict') -216.593 000.118 000.118: require('luasnip.session.snippet_collection') -216.719 003.299 000.345: require('luasnip.nodes.snippet') -216.944 000.097 000.097: require('luasnip.loaders._caches') -217.095 000.142 000.142: require('luasnip.util.path') -217.169 000.435 000.195: require('luasnip.loaders') -217.357 000.146 000.146: require('luasnip.nodes.functionNode') -217.530 000.164 000.164: require('luasnip.nodes.choiceNode') -217.792 000.254 000.254: require('luasnip.nodes.dynamicNode') -217.949 000.148 000.148: require('luasnip.nodes.restoreNode') -218.352 000.109 000.109: require('luasnip.util.parser.neovim_ast') -223.260 000.134 000.134: require('luasnip.util.directed_graph') -223.281 005.159 004.916: require('luasnip.util.parser.ast_utils') -223.529 000.095 000.095: require('luasnip.util.functions') -223.546 000.258 000.163: require('luasnip.util.parser.ast_parser') -223.732 000.180 000.180: require('luasnip.util.parser.neovim_parser') -223.840 000.099 000.099: require('luasnip.util.str') -223.855 005.838 000.143: require('luasnip.util.parser') -224.101 000.104 000.104: require('luasnip.extras.filetype_functions') -224.293 000.154 000.154: require('luasnip.extras') -224.422 000.116 000.116: require('luasnip.extras.fmt') -224.701 000.093 000.093: require('luasnip.extras.conditions') -224.798 000.090 000.090: require('luasnip.extras.conditions.show') -224.893 000.376 000.192: require('luasnip.extras.conditions.expand') -224.898 000.468 000.092: require('luasnip.extras.expand_conditions') -225.011 000.097 000.097: require('luasnip.nodes.absolute_indexer') -225.496 001.636 000.698: require('luasnip.config') -225.508 012.233 000.314: require('luasnip') -225.734 000.107 000.107: require('luasnip.loaders.util') -225.745 000.230 000.123: require('luasnip.loaders.from_lua') -235.485 022.331 009.867: require('plugins.luasnip') -235.888 000.140 000.140: require('colorizer/nvim') -236.179 000.283 000.283: require('colorizer/trie') -236.456 000.865 000.442: require('colorizer') -238.500 002.999 002.134: require('plugins.colorizer') -238.893 000.103 000.103: require('prettier.utils') -238.925 000.236 000.133: require('prettier.options') -239.606 000.249 000.249: require('null-ls.methods') -239.632 000.393 000.143: require('null-ls.utils') -240.035 000.393 000.393: require('vim.diagnostic') -240.061 000.919 000.133: require('null-ls.config') -240.292 000.128 000.128: require('null-ls.helpers.cache') -240.415 000.115 000.115: require('null-ls.helpers.diagnostics') -240.515 000.092 000.092: require('null-ls.helpers.formatter_factory') -240.745 000.093 000.093: require('null-ls.logger') -240.853 000.101 000.101: require('null-ls.state') -240.861 000.338 000.144: require('null-ls.helpers.generator_factory') -241.106 000.105 000.105: require('null-ls.helpers.command_resolver') -241.114 000.247 000.142: require('null-ls.helpers.make_builtin') -241.217 000.097 000.097: require('null-ls.helpers.range_formatting_args_factory') -241.222 001.154 000.136: require('null-ls.helpers') -241.450 000.109 000.109: require('null-ls.diagnostics') -241.469 000.242 000.133: require('null-ls.sources') -241.576 000.099 000.099: require('null-ls.builtins') -241.583 002.537 000.123: require('null-ls') -241.673 000.085 000.085: require('prettier.cli') -241.685 002.753 000.131: require('prettier.null-ls') -241.691 003.091 000.102: require('prettier') -241.932 003.420 000.329: require('plugins.prettier') -242.099 000.087 000.087: require('git') -242.192 000.086 000.086: require('git.config') -242.381 000.439 000.267: require('plugins.git') -242.683 000.087 000.087: require('gitsigns.async') -242.778 000.086 000.086: require('gitsigns.status') -243.043 000.113 000.113: require('gitsigns.debug') -243.155 000.104 000.104: require('gitsigns.util') -243.363 000.103 000.103: require('gitsigns.uv') -243.370 000.208 000.105: require('gitsigns.subprocess') -243.800 000.085 000.085: require('gitsigns.message') -243.829 000.265 000.180: require('gitsigns.config') -243.924 000.087 000.087: require('gitsigns.signs.base') -243.930 000.448 000.097: require('gitsigns.signs') -243.940 000.564 000.116: require('gitsigns.hunks') -243.957 001.172 000.183: require('gitsigns.git') -244.184 000.094 000.094: require('gitsigns.cache') -244.317 000.124 000.124: require('gitsigns.debounce') -244.447 000.118 000.118: require('gitsigns.diff') -244.474 000.512 000.175: require('gitsigns.manager') -244.595 000.114 000.114: require('gitsigns.highlight') -244.616 002.158 000.187: require('gitsigns') -246.131 000.119 000.119: require('gitsigns.signs.vimfn') -249.499 007.110 004.833: require('plugins.gitsigns') -250.010 000.145 000.145: require('neoscroll.config') -250.120 000.100 000.100: require('neoscroll.utils') -250.269 000.585 000.339: require('neoscroll') -250.951 001.424 000.839: require('plugins.neoscroll') -251.532 000.137 000.137: require('cmp_nvim_lsp.source') -251.541 000.261 000.124: require('cmp_nvim_lsp') -251.646 000.096 000.096: require('lspconfig') -251.801 000.106 000.106: require('lspconfig.server_configurations.pylsp') -252.546 000.133 000.133: require('mason-lspconfig.server_configurations.pylsp') -253.020 000.130 000.130: require('lspconfig.server_configurations.clangd') -255.194 000.144 000.144: require('lspconfig.server_configurations.sumneko_lua') -256.714 005.752 004.883: require('plugins.lsp') -257.091 000.095 000.095: require('nvim-autopairs._log') -257.217 000.118 000.118: require('nvim-autopairs.utils') -257.560 000.118 000.118: require('nvim-autopairs.conds') -257.571 000.235 000.117: require('nvim-autopairs.rule') -257.576 000.352 000.117: require('nvim-autopairs.rules.basic') -257.616 000.785 000.220: require('nvim-autopairs') -257.780 000.126 000.126: require('nvim-autopairs.fastwrap') -258.312 000.114 000.114: require('nvim-autopairs.ts-conds') -258.320 000.228 000.114: require('nvim-autopairs.rules.ts_basic') -258.516 000.191 000.191: require('vim.treesitter.highlighter') -259.622 000.099 000.099: require('nvim-autopairs.completion.handlers') -259.640 000.233 000.135: require('nvim-autopairs.completion.cmp') -259.725 002.999 001.436: require('plugins.autopairs') -259.983 000.163 000.163: require('null-ls.builtins.formatting.prettierd') -260.127 000.132 000.132: require('null-ls.builtins.formatting.stylua') -260.254 000.118 000.118: require('null-ls.builtins.formatting.shfmt') -261.035 000.165 000.165: require('null-ls.client') -261.085 001.350 000.772: require('plugins.null-ls') -261.176 000.083 000.083: require('plugins.web-devicons') -261.653 000.089 000.089: require('zen-mode.util') -261.708 000.234 000.146: require('zen-mode.config') -261.818 000.101 000.101: require('zen-mode.plugins') -261.828 000.494 000.159: require('zen-mode.view') -261.834 000.585 000.091: require('zen-mode') -261.952 000.768 000.183: require('plugins.zen-mode') -265.877 000.101 000.101: require('doom-one.utils') -265.993 000.105 000.105: require('doom-one.colors') -266.016 000.556 000.350: require('doom-one') -268.866 004.389 003.833: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/doom-one.nvim/colors/doom-one.lua -273.079 000.266 000.266: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/syntax/synload.vim -273.463 000.056 000.056: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/filetype.nvim/filetype.vim -274.554 000.072 000.072: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/filetype.lua -275.665 000.936 000.936: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/filetype.vim -276.444 000.148 000.148: require('filetype') -276.509 005.185 003.707: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/syntax/syntax.vim -276.885 000.118 000.118: require('notify.stages.fade_in_slide_out') -276.951 014.989 005.298: require('plugins.colorscheme') -277.329 000.105 000.105: require('heirline.conditions') -277.474 000.137 000.137: require('heirline.utils') -277.855 000.106 000.106: require('heirline.highlights') -277.866 000.231 000.125: require('heirline.statusline') -277.877 000.366 000.136: require('heirline') -278.045 000.151 000.151: require('nvim-navic') -283.536 006.576 005.817: require('plugins.heirline') -283.625 192.495 002.913: sourcing /home/srdusr/.config/nvim/init.lua -283.647 007.097: sourcing vimrc file(s) -289.725 000.972 000.972: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/gzip.vim -289.892 000.074 000.074: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/health.vim -292.712 001.361 001.361: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim -293.178 003.201 001.840: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/matchit.vim -293.713 000.413 000.413: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/matchparen.vim -293.903 000.098 000.098: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/netrwPlugin.vim -294.373 000.022 000.022: sourcing /home/srdusr/.local/share/nvim/rplugin.vim -294.395 000.406 000.384: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/rplugin.vim -294.701 000.216 000.216: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/shada.vim -294.870 000.065 000.065: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/spellfile.vim -295.044 000.076 000.076: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/tarPlugin.vim -295.214 000.076 000.076: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/tohtml.vim -295.366 000.060 000.060: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/tutor.vim -296.100 000.642 000.642: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/zipPlugin.vim -296.405 000.039 000.039: sourcing /usr/share/vim/vimfiles/plugin/fzf.vim -297.913 000.115 000.115: require('leap') -298.022 000.098 000.098: require('leap.user') -298.853 000.168 000.168: require('fidget.log') -298.872 000.340 000.171: require('fidget') -299.052 000.161 000.161: require('fidget.spinners') -299.766 000.084 000.084: require('crates.time') -299.775 000.201 000.117: require('crates.types') -299.784 000.311 000.111: require('crates.semver') -301.043 001.169 001.169: require('crates.config') -301.192 000.138 000.138: require('crates.toml') -301.201 001.411 000.104: require('crates.state') -301.229 001.884 000.162: require('crates.util') -301.239 002.008 000.124: require('crates.actions') -301.480 000.136 000.136: require('crates.api') -301.573 000.086 000.086: require('crates.async') -301.692 000.112 000.112: require('crates.diagnostic') -301.809 000.107 000.107: require('crates.ui') -301.832 000.587 000.146: require('crates.core') -302.060 000.116 000.116: require('crates.popup.common') -302.185 000.118 000.118: require('crates.popup.crate') -302.313 000.121 000.121: require('crates.popup.dependencies') -302.465 000.146 000.146: require('crates.popup.features') -302.594 000.122 000.122: require('crates.popup.versions') -302.609 000.772 000.149: require('crates.popup') -302.620 003.503 000.136: require('crates') -304.974 000.128 000.128: require('flit') -306.387 000.475 000.475: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -308.329 011.781 006.961: sourcing /home/srdusr/.config/nvim/plugin/packer_compiled.lua -309.214 000.102 000.102: sourcing /tmp/.mount_nvimStUbVt/usr/share/nvim/runtime/plugin/man.lua -309.420 007.552: loading rtp plugins -311.435 000.096 000.096: require('Comment.config') -311.706 000.148 000.148: require('Comment.ft') -311.719 000.274 000.127: require('Comment.utils') -311.822 000.096 000.096: require('Comment.opfunc') -311.970 000.141 000.141: require('Comment.extra') -311.979 000.792 000.185: require('Comment.api') -312.197 001.093 000.301: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/Comment.nvim/plugin/Comment.lua -312.523 000.157 000.157: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/FixCursorHold.nvim/plugin/fix_cursorhold_nvim.vim -313.243 000.471 000.471: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim -313.994 000.136 000.136: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/plugin/crates.vim -314.612 000.039 000.039: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/fzf/plugin/fzf.vim -315.726 000.547 000.547: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/leap.nvim/plugin/init.lua -316.233 000.068 000.068: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nightfox.nvim/plugin/nightfox.vim -316.875 000.352 000.352: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/numbers.vim/plugin/numbers.vim -317.512 000.129 000.129: require('cmp.utils.highlight') -318.136 000.856 000.727: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua -318.341 000.030 000.030: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu/plugin/code_action_menu.vim -318.657 000.076 000.076: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua/plugin/colorizer.vim -319.121 000.162 000.162: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-dap/plugin/dap.lua -319.741 000.217 000.217: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.lua -320.436 000.102 000.102: require('nvim-treesitter.statusline') -320.567 000.121 000.121: require('nvim-treesitter.query_predicates') -320.574 000.344 000.121: require('nvim-treesitter') -321.659 001.511 001.167: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.lua -322.146 000.270 000.270: require('treesitter-context') -322.156 000.310 000.040: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-context/plugin/treesitter-context.vim -322.556 000.118 000.118: require('nvim-treesitter-refactor') -322.763 000.354 000.236: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor/plugin/nvim-treesitter-refactor.vim -323.128 000.113 000.113: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim -323.559 000.080 000.080: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim -323.879 000.093 000.093: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/prettier.nvim/plugin/prettier.vim -324.390 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/startuptime.vim/plugin/startuptime.vim -324.671 000.044 000.044: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/plugin/symbols-outline.vim -325.019 000.062 000.062: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope-frecency.nvim/plugin/frecency.vim -325.607 000.118 000.118: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.lua -326.141 000.331 000.331: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-cool/plugin/cool.vim -326.812 000.368 000.368: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim -327.088 000.028 000.028: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim -327.367 000.045 000.045: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim -328.329 011.223: loading packages -335.502 000.176 000.176: require('cmp_buffer.timer') -335.514 000.295 000.119: require('cmp_buffer.buffer') -335.520 000.409 000.114: require('cmp_buffer.source') -335.525 000.520 000.112: require('cmp_buffer') -335.581 000.658 000.138: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua -335.976 000.174 000.174: require('cmp_cmdline') -336.013 000.278 000.104: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua -336.289 000.123 000.123: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua -336.665 000.148 000.148: require('cmp_path') -336.756 000.321 000.174: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua -337.099 000.116 000.116: require('cmp_luasnip') -337.166 000.250 000.134: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua -337.640 000.151 000.151: require('crates.src.common') -337.649 000.263 000.113: require('crates.src.cmp') -337.746 000.425 000.162: sourcing /home/srdusr/.local/share/nvim/site/pack/packer/start/crates.nvim/after/plugin/cmp_crates.lua -337.854 007.469: loading after plugins -337.884 000.030: inits 3 -337.896 000.012: reading ShaDa -338.812 000.160 000.160: require('luasnip.nodes.snippetProxy') -338.824 000.309 000.149: require('luasnip.loaders.from_snipmate') -338.996 000.126 000.126: require('luasnip.loaders.from_vscode') -339.035 000.703: opening buffers -339.348 000.313: BufEnter autocommands -339.357 000.009: editing files in windows -360.120 000.278 000.278: require('gitsigns.current_line_blame') -- cgit v1.2.3 From fd4c32fb3443b506b25210954c6e1967e32e02bf Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 22 Nov 2022 21:48:58 +0200 Subject: Added 'iamcco/markdown-preview.nvim' --- lua/user/pack.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index ffa1106..061a443 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -390,6 +390,11 @@ return packer.startup(function(use) -- [".md"] = "markdown", -- [".markdown"] = "markdown", -- [".mdown"] = "markdown", + use({ + "iamcco/markdown-preview.nvim", + run = function() vim.fn["mkdp#util#install"]() end, + }) + -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if PACKER_BOOTSTRAP then -- cgit v1.2.3 From 84c2819641cf3415ec1e96db3857019e5f99e1b0 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 22 Nov 2022 21:52:27 +0200 Subject: Added markdown-preview toggle keybinding --- lua/user/keys.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 5a17635..dd48b76 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -243,7 +243,8 @@ map("v", "", "`.``gvP``P") -- Hitting ESC when inside a terminal to get into normal mode --utils.map("t", "", [[]]) - +-- markdown-preview +map("n", "md", "MarkdownPreviewToggle") -- Search and replace -- cgit v1.2.3 From 8555d5d97f89bf92e634686b0fd37e2ff888c8d7 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 16 Dec 2022 22:26:24 +0200 Subject: Add README file --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..630b8e5 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +## Neovim -- cgit v1.2.3 From 9f277fa585b9dc09ca4c0862d6fe5154f9da92be Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 17 Dec 2022 20:19:32 +0200 Subject: Swapped keybindings for telescopes's find_files and hidden find_files --- lua/user/keys.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index dd48b76..b43cb87 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -313,7 +313,7 @@ map("n", "fh", "lua require('telescope.builtin').help_tags()") -- desc = "Search all files", -- Telescope find_files hidden=true --map("n", "fh", "lua require('telecsope.builtin').file_files hidden=true") -map("n", "fF", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) +map("n", "ff", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) --map("n", "fe", ":lua require('telescope.builtin').file_browser({cwd = '.'})") map("n", "fg", "lua require('telescope.builtin').live_grep()") map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()") @@ -505,7 +505,7 @@ vim.cmd([[ ---- Open the current file in the default program (on Mac this should just be just `open`) --keymap('n', 'x', ':!xdg-open %') -map("n", "ff", "lua require('telescope.builtin').find_files()") +map("n", "fF", "lua require('telescope.builtin').find_files()") --keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()") --keymap('n', 'k', ':nohlsearch') -- -- cgit v1.2.3 From cf591f6ce3dc5826c3b6b695ca393ab8764dcd24 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 19 Dec 2022 21:02:06 +0200 Subject: Changed binding for lua snippet to 'jk' --- snippets/lua.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/lua.lua b/snippets/lua.lua index eb46b67..523d2f4 100644 --- a/snippets/lua.lua +++ b/snippets/lua.lua @@ -194,7 +194,7 @@ local {} = {} ]], { i(1, ""), i(2, "") } ), - "jj" + "jk" ) --}}} -- Tutorial Snippets go here -- local myFirstSnippet = s("myFirstSnippet", { -- cgit v1.2.3 From 2f6cad7ff65fe0b20c03dce2a23a5188553529ee Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 19 Dec 2022 21:02:57 +0200 Subject: Changed quick escape binding to 'jj' --- lua/user/keys.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index b43cb87..2c07a5a 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -26,7 +26,7 @@ vim.g.mapleader = ";" --vim.g.maplocalleader = ";" -- "jj" to exit insert-mode -map("i", "jk", "") +map("i", "jj", "") map("n", "m", ":messages") map("n", "cd", ":cd %:p:h:pwd") -- cgit v1.2.3 From 7fc13a4ccc76dbd0c1a9b28121826439a65688ff Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 20 Dec 2022 22:14:20 +0200 Subject: Fixed leap plugin 's' not working by using '.add_default_mappings' --- lua/user/pack.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 061a443..ba309e6 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -350,7 +350,8 @@ return packer.startup(function(use) use({ "ggandor/leap.nvim", config = function() - require("leap").set_default_keymaps() + require('leap').add_default_mappings() + --require("leap").set_default_keymaps() --vim.keymap.set('n', '-', '(leap-forward)', {}) --vim.keymap.set('n', '_', '(leap-backward)', {}) end, -- cgit v1.2.3 From d4ff0d26cdded418e671e6713db8a64b3b80f249 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 21 Dec 2022 23:58:16 +0200 Subject: Allowed seeing .gitignore files by default --- lua/plugins/nvim-tree.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua index a1e10e0..df4e282 100644 --- a/lua/plugins/nvim-tree.lua +++ b/lua/plugins/nvim-tree.lua @@ -15,6 +15,11 @@ nvim_tree.setup({ enable = true, update_cwd = true, }, + git = { + enable = true, + ignore = false, + timeout = 500, +}, renderer = { root_folder_modifier = ":t", icons = { -- cgit v1.2.3 From e0e88514e750b873012be21168201e20f26d23d7 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 22 Dec 2022 19:25:22 +0200 Subject: Fixed macros not working --- lua/user/opts.lua | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 6da4234..57b2949 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -1,13 +1,24 @@ --[[ opts.lua ]] +-- " Load indent files, to automatically do language-dependent indenting. +--vim.cmd([[ +-- "filetype plugin indent on +--]]) +-- Let clipboard register be + vim.cmd([[ - "filetype plugin indent on " Load indent files, to automatically do language-dependent indenting. - "autocmd BufEnter * :syntax sync fromstart - "syntax enable let g:clipbrdDefaultReg = '+' - "set nocompatible - "autocmd FileType lua set comments=s1:---,m:--,ex:-- - nnoremap @ execute "noautocmd norm! " . v:count1 . "@" . getcharstr() " Fast macros without lazyredraw +]]) + +--vim.cmd([[ +-- "autocmd BufEnter * :syntax sync fromstart +-- "syntax enable +-- "set nocompatible +-- "autocmd FileType lua set comments=s1:---,m:--,ex:-- +--]]) + +-- Fast macros without lazyredraw +vim.cmd([[ + nnoremap @ execute "noautocmd norm! " . v:count1 . "@" . getcharstr() xnoremap @ :execute "noautocmd '<,'>norm! " . v:count1 . "@" . getcharstr() ]]) -- cgit v1.2.3 From 03a36e7dfd2bb6a094611aac88665db550f4266d Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 23 Dec 2022 23:33:13 +0200 Subject: Fixed find_notes function --- lua/plugins/telescope.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index f878b77..abf4e5e 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -329,7 +329,7 @@ function M.find_notes() prompt_title = " Find Notes", path_display = { "smart" }, search_dirs = { - "~/documents", + "~/documents/notes", }, --cwd = "~documents/notes", layout_strategy = "horizontal", -- cgit v1.2.3 From d8306aef0cdbdce0b735313175761aa41f607e3e Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 30 Dec 2022 23:40:08 +0200 Subject: Changed colorscheme to doom-one --- lua/plugins/colorscheme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 1f76a40..6b4e6f9 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,6 +1,6 @@ -- Colorscheme -- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "onedark" +local colorscheme = "doom-one" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then vim.notify("colorscheme " .. colorscheme .. " not found!") -- cgit v1.2.3 From 632d4a07db2ff45f27cbbebb97140ddc820372ab Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 30 Dec 2022 23:41:02 +0200 Subject: Added fugitive.vim --- lua/user/pack.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index ba309e6..2ab059e 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -371,7 +371,7 @@ return packer.startup(function(use) --use("tpope/vim-eunuch") -- Handy unix command inside Vim (Rename, Move etc.) use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) - --use("tpope/vim-fugitive") + use("tpope/vim-fugitive") --use("tpope/vim-surround") --use("tpope/vim-obsession") --use("tpope/vim-unimpaired") -- cgit v1.2.3 From 1de032d18af566d26b520062336c8374b3c7d7c2 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 30 Dec 2022 23:49:07 +0200 Subject: Add lazygit.nvim --- lua/user/pack.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 2ab059e..dc29c29 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -335,6 +335,7 @@ return packer.startup(function(use) use("windwp/nvim-autopairs") use("lewis6991/gitsigns.nvim") use("dinhhuy258/git.nvim") -- For git blame & browse + use("kdheepak/lazygit.nvim") use("kyazdani42/nvim-tree.lua") use("numToStr/Comment.nvim") --use("akinsho/toggleterm.nvim") -- cgit v1.2.3 From 9ad652c25110597cbf6b8c74e0f6ef8ef8c3dfff Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 30 Dec 2022 23:54:31 +0200 Subject: Add toggleterm.nvim --- lua/user/pack.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index dc29c29..e2d1cb1 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -338,7 +338,7 @@ return packer.startup(function(use) use("kdheepak/lazygit.nvim") use("kyazdani42/nvim-tree.lua") use("numToStr/Comment.nvim") - --use("akinsho/toggleterm.nvim") + use("akinsho/toggleterm.nvim") --use("godlygeek/tabular") --use("Vonr/align.nvim") --use("junegunn/vim-easy-align") -- cgit v1.2.3 From 06946963c7b82ee7c22916bb5a8fb3e6876054bd Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 30 Dec 2022 23:58:05 +0200 Subject: Add lazygit keybinding --- lua/user/keys.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 2c07a5a..371be28 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -89,6 +89,22 @@ map("n", "tc", ":lua require('user.utils').toggle_completion()") --vim.api.nvim_set_keymap('n', 'qr', ':lua require("plugins.telescope").reload()', { noremap = true, silent = true }) +---- Terminal +--if is_available "toggleterm.nvim" then +-- local toggle_term_cmd = astronvim.toggle_term_cmd +map("n", "gg", ":LazyGit") +-- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } +-- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } +-- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } +-- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } +-- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } +-- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } +-- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } +-- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } +--end +-- --Easier split navigations, just ctrl-j instead of ctrl-w then j map("n", "", "") map("n", "", "") @@ -616,6 +632,8 @@ vim.cmd([[ ---- Terminal --if is_available "toggleterm.nvim" then -- local toggle_term_cmd = astronvim.toggle_term_cmd +--" setup mapping to call :LazyGit +--map.gg :LazyGit -- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } -- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } -- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } -- cgit v1.2.3 From b8d05e6e9c48f291ffecf79bd04e5ad21d6b3229 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 30 Dec 2022 23:59:01 +0200 Subject: Add toggleterm keybinding --- lua/user/keys.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 371be28..af17f6a 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -93,6 +93,8 @@ map("n", "tc", ":lua require('user.utils').toggle_completion()") --if is_available "toggleterm.nvim" then -- local toggle_term_cmd = astronvim.toggle_term_cmd map("n", "gg", ":LazyGit") +map("n", "tt", ":ToggleTerm") + -- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } -- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } -- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } -- cgit v1.2.3 From 6cf88e0a25d1da50df409fe8a130a7d945dad163 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 2 Jan 2023 21:22:58 +0200 Subject: Add toggleterm config --- lua/plugins/toggleterm.lua | 90 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 lua/plugins/toggleterm.lua diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..912729a --- /dev/null +++ b/lua/plugins/toggleterm.lua @@ -0,0 +1,90 @@ +local status_ok, toggleterm = pcall(require, "toggleterm") +if not status_ok then + return +end + +toggleterm.setup({ + size = function(term) + if term.direction == "horizontal" then + return 12 + elseif term.direction == "vertical" then + return vim.o.columns * 0.3 + end + end, + --size = 20, + open_mapping = [[to]], + hide_numbers = true, + shade_filetypes = {}, + shade_terminals = false, + shading_factor = 1, + start_in_insert = true, + insert_mappings = true, + persist_size = true, + direction = "float", + --direction = "vertical", + --direction = "horizontal", + close_on_exit = true, + shell = vim.o.shell, + highlights = { + -- highlights which map to a highlight group name and a table of it's values + -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split + Normal = { + background = "#000000", + }, + }, + float_opts = { + width = 70, + height = 15, + winblend = 3, + border = "curved", + --winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, +}) + +function _G.set_terminal_keymaps() + local opts = { noremap = true } + --local opts = {buffer = 0} + vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "jj", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) +end + +vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") + +local Terminal = require("toggleterm.terminal").Terminal +local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + +function _LAZYGIT_TOGGLE() + lazygit:toggle() +end + +local node = Terminal:new({ cmd = "node", hidden = true }) + +function _NODE_TOGGLE() + node:toggle() +end + +local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) + +function _NCDU_TOGGLE() + ncdu:toggle() +end + +local htop = Terminal:new({ cmd = "htop", hidden = true }) + +function _HTOP_TOGGLE() + htop:toggle() +end + +local python = Terminal:new({ cmd = "python", hidden = true }) + +function _PYTHON_TOGGLE() + python:toggle() +end -- cgit v1.2.3 From 094c189fb200498d998cca7c2559a4f6f019c7b7 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 2 Jan 2023 21:29:27 +0200 Subject: Fixed toggleterm keybinding --- lua/user/keys.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index af17f6a..85836e0 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -93,7 +93,7 @@ map("n", "tc", ":lua require('user.utils').toggle_completion()") --if is_available "toggleterm.nvim" then -- local toggle_term_cmd = astronvim.toggle_term_cmd map("n", "gg", ":LazyGit") -map("n", "tt", ":ToggleTerm") +map("n", "tt", "ToggleTerm") -- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } -- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } -- cgit v1.2.3 From 1619f62ec1f7355b2c4b3f0f99de67c9f6897078 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 2 Jan 2023 21:30:05 +0200 Subject: Add toggleterm plugin to startup --- init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.lua b/init.lua index f74ec11..49397d4 100644 --- a/init.lua +++ b/init.lua @@ -83,8 +83,8 @@ local modules = { "plugins.zen-mode", "plugins.colorscheme", "plugins.heirline", + "plugins.toggleterm", --"plugins.dap", - --"plugins.toggleterm", --"plugins.floatterm", } -- cgit v1.2.3 From e6ca9a511738fef502818cbd098a03d26b22690a Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 2 Jan 2023 21:45:39 +0200 Subject: Add fugitive keybindings --- lua/user/keys.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 85836e0..1aa5124 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -95,6 +95,25 @@ map("n", "tc", ":lua require('user.utils').toggle_completion()") map("n", "gg", ":LazyGit") map("n", "tt", "ToggleTerm") +---- Fugitive git bindings +map("n", "ga", ":Git add %:p") +--map("n", "gs", ":Gstatus") +map("n", "gc", ":Gcommit -v -q") +map("n", "gt", ":Gcommit -v -q %:p") +--map("n", "gd", ":Gdiff") +map("n", "ge", ":Gedit") +--map("n", "gr", ":Gread") +map("n", "gw", ":Gwrite") +map("n", "gl", ":silent! Glog:bot copen") +--map("n", "gp", ":Ggrep") +--map("n", "gp", ":Git push") +--map("n", "gb", ":Gblame") +map("n", "gm", ":Gmove") +--map("n", "gb", ":Git branch") +--map("n", "go", ":Git checkout") +--map("n", "gps", ":Dispatch! git push") +--map("n", "gpl", ":Dispatch! git pull") + -- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } -- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } -- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } -- cgit v1.2.3 From c90574581745bc4c2cc58a455d2b7469d29e7a7e Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 4 Jan 2023 22:05:19 +0200 Subject: Add quick find config for picom.conf --- lua/plugins/telescope.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index abf4e5e..d4a54fa 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -296,6 +296,7 @@ function M.find_configs() "~/.config/alacritty", "~/.config/bspwm", "~/.config/sxhkd", + "~/.config/picom", }, -- cwd = "~/.config/nvim/", file_ignore_patterns = { -- cgit v1.2.3 From c8c2ef6314368bb20dff530582aba85169ab024f Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 8 Jan 2023 23:28:55 +0200 Subject: Allowed searching of gitignore private notes --- lua/plugins/telescope.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index d4a54fa..000ac48 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -315,7 +315,7 @@ end function M.grep_notes() local opts = {} - opts.hidden = true + opts.hidden = false opts.search_dirs = { "~/documents/notes/", } @@ -327,9 +327,11 @@ end function M.find_notes() require("telescope.builtin").find_files { + hidden = false, prompt_title = " Find Notes", path_display = { "smart" }, search_dirs = { + "~/documents/notes/private/", "~/documents/notes", }, --cwd = "~documents/notes", -- cgit v1.2.3 From b06c6316ee3ac674e32eacf6355710b78ae6b587 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 11 Jan 2023 21:37:54 +0200 Subject: Add how to find mappings/default mappings --- lua/plugins/nvim-tree.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua index df4e282..c950357 100644 --- a/lua/plugins/nvim-tree.lua +++ b/lua/plugins/nvim-tree.lua @@ -10,6 +10,9 @@ end local tree_cb = nvim_tree_config.nvim_tree_callback +-- To see mappings `g?` on nvim-tree +-- To see default mappings `:nvim-tree-default-mappings` + nvim_tree.setup({ update_focused_file = { enable = true, -- cgit v1.2.3 From a3edd3dd308ad0fb16f276fd57b1745a87ec886f Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 11 Jan 2023 21:39:10 +0200 Subject: Comment out text width setting --- lua/user/opts.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 57b2949..ce12c8c 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -118,7 +118,7 @@ vim.opt.backup = false -- vim.opt.backupskip = { "/tmp/*", "/private/tmp/*" } -- -- Format -vim.opt.textwidth = 80 -- +--vim.opt.textwidth = 80 -- vim.cmd([[let &t_Cs = "\e[4:3m"]]) -- Undercurl vim.cmd([[let &t_Ce = "\e[4:0m"]]) -- vim.opt.path:append({ "**" }) -- Finding files - Search down into subfolder -- cgit v1.2.3 From 8ed23db46c1f0a09000b6f13b61c43c561388ee4 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 19 Jan 2023 23:56:53 +0200 Subject: Add wezterm to config find function --- lua/plugins/telescope.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 000ac48..c4aca35 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -294,6 +294,7 @@ function M.find_configs() "~/.config/tmux", "~/.config/X11", "~/.config/alacritty", + "~/.config/wezterm", "~/.config/bspwm", "~/.config/sxhkd", "~/.config/picom", -- cgit v1.2.3 From 12c283e9ebb12c4455776d003ca596be67a8eb99 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 19 Jan 2023 23:57:36 +0200 Subject: Add zsh own icon --- lua/plugins/web-devicons.lua | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lua/plugins/web-devicons.lua b/lua/plugins/web-devicons.lua index b8396bc..2f68275 100644 --- a/lua/plugins/web-devicons.lua +++ b/lua/plugins/web-devicons.lua @@ -1,12 +1,17 @@ -local status, icons = pcall(require, "nvim-web-devicons") -if (not status) then return end - -icons.setup { - -- your personnal icons can go here (to override) - -- DevIcon will be appended to `name` +--local status, icons = pcall(require, "nvim-web-devicons") +--if (not status) then return end +--icons.setup { +require'nvim-web-devicons'.setup { override = { + zsh = { + icon = "", + color = "#428850", + cterm_color = "65", + name = "Zsh" + }; + color_icons = true; }, -- globally enable default icons (default to false) -- will get overriden by `get_icons` option - default = true + --default = true } -- cgit v1.2.3 From 1838ff15d899d7e2b654c1a0fa45c7a794e4fd1c Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 19 Jan 2023 23:58:05 +0200 Subject: Changed colorscheme --- lua/plugins/colorscheme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 6b4e6f9..1f76a40 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,6 +1,6 @@ -- Colorscheme -- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "doom-one" +local colorscheme = "onedark" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then vim.notify("colorscheme " .. colorscheme .. " not found!") -- cgit v1.2.3 From 2b8ba0d04cc4055b67498279a8104154d50e7a17 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 26 Jan 2023 23:06:28 +0200 Subject: Update setup requirement --- lua/plugins/heirline.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua index c05844b..03b2a47 100644 --- a/lua/plugins/heirline.lua +++ b/lua/plugins/heirline.lua @@ -1175,7 +1175,12 @@ local TabLine = { TabPages, } -require("heirline").setup(StatusLine, WinBar, TabLine) +require("heirline").setup({ + statusline = StatusLine, + winbar = WinBar, + tabline = TabLine, + --statuscolumn = StatusColumn +}) -- Yep, with heirline we're driving manual! --vim.cmd([[au FileType * if index(['wipe', 'delete', 'unload'], &bufhidden) >= 0 | set nobuflisted | endif]]) -- cgit v1.2.3 From 69d21080dece41cc67dc988b8aa44dde880b7631 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 26 Jan 2023 23:08:30 +0200 Subject: Replaced christoomey/vim-tmux-navigator with numToStr/Navigator.nvim --- lua/user/pack.lua | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index e2d1cb1..43b7a36 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -44,7 +44,7 @@ return packer.startup(function(use) use("wbthomason/packer.nvim") -- Have packer manage itself use("lewis6991/impatient.nvim") - use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins + use("nvim-lua/plenary.nvim") -- Useful lua functions used by lots of plugins --use("jose-elias-alvarez/null-ls.nvim") -- lsp @@ -329,7 +329,7 @@ return packer.startup(function(use) -- Utilities use("nathom/filetype.nvim") - use("christoomey/vim-tmux-navigator") + --use("christoomey/vim-tmux-navigator") use("preservim/vimux") use("myusuf3/numbers.vim") use("windwp/nvim-autopairs") @@ -368,6 +368,21 @@ return packer.startup(function(use) --use("rmagatti/session-lens") --use("ahmedkhalf/project.nvim") --use("aserowy/tmux.nvim") + --use({ + -- "aserowy/tmux.nvim", + -- config = function() return require("tmux").setup() { + -- copy_sync = { + -- enable = false, + -- }, + -- } + -- end, + --}) + use({ + 'numToStr/Navigator.nvim', + config = function() + require('Navigator').setup() + end, + }) --use("wakatime/vim-wakatime") --use("tpope/vim-eunuch") -- Handy unix command inside Vim (Rename, Move etc.) -- cgit v1.2.3 From b929bdf9a36df09c1900d2dd56bf61e2f45679fa Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 26 Jan 2023 23:10:06 +0200 Subject: Add alternative mappings for jumping to next match on line and repeating last command | Navigator plugin keymappings --- lua/user/keys.lua | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 1aa5124..712835a 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -21,9 +21,15 @@ local term_opts = { noremap = true, silent = false } --------------- Standard Operations --------------- + -- Semi-colon as leader key vim.g.mapleader = ";" ---vim.g.maplocalleader = ";" + +-- Jump to next match on line using `.` instead of `;` NOTE: commented out in favour of "ggandor/flit.nvim" +--map("n", ".", ";") + +-- Repeat last command using `` instead of `.` NOTE: commented out in favour of "ggandor/flit.nvim" +--map("n", "", ".") -- "jj" to exit insert-mode map("i", "jj", "") @@ -127,10 +133,34 @@ map("n", "gm", ":Gmove") --end -- --Easier split navigations, just ctrl-j instead of ctrl-w then j -map("n", "", "") -map("n", "", "") -map("n", "", "") -map("n", "", "") +--map("n", "", "") +--map("n", "", "") +--map("n", "", "") +--map("n", "", "") + +-- Tmux navigation (aserowy/tmux.nvim) +--map("n", "", ":lua require'tmux'.move_left()") +--map("n", "", ":lua require'tmux'.move_bottom()") +--map("n", "", ":lua require'tmux'.move_top()") +--map("n", "", ":lua require'tmux'.move_right()") +map('n', '', 'NavigatorLeft') +map('n', '', 'NavigatorRight') +map('n', '', 'NavigatorUp') +map('n', '', 'NavigatorDown') + +-- set line wrap +map("n", "", function() + local wrap_status = vim.api.nvim_exec("set wrap ?", true) + + if wrap_status == "nowrap" then + vim.api.nvim_command("set wrap linebreak") + print("Wrap enabled") + else + vim.api.nvim_command("set wrap nowrap") + print("Wrap disabled") + end +end, { silent = true }) + -- Combine buffers list with buffer name map("n", "b", ":buffers:buffer") -- cgit v1.2.3 From 46a341402c26156cebeb13329df4bd9db2fa44b2 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 28 Jan 2023 15:45:40 +0200 Subject: Set re=0 option to fix exceeding redraw limit --- lua/user/opts.lua | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index ce12c8c..13e9c1c 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -18,6 +18,7 @@ vim.cmd([[ -- Fast macros without lazyredraw vim.cmd([[ + set re=0 nnoremap @ execute "noautocmd norm! " . v:count1 . "@" . getcharstr() xnoremap @ :execute "noautocmd '<,'>norm! " . v:count1 . "@" . getcharstr() ]]) @@ -237,12 +238,12 @@ vim.cmd([[ " Only show in insert mode ]]) -- Line Return -vim.cmd([[ " Return to the same line when we reopen a file - augroup line_return - au! - au BufReadPost * - \ if line("'\"") > 0 && line("'\"") <= line("$") | - \ execute 'normal! g`"zvzz' | - \ endif - augroup END -]]) +--vim.cmd([[ " Return to the same line when we reopen a file +-- augroup line_return +-- au! +-- au BufReadPost * +-- \ if line("'\"") > 0 && line("'\"") <= line("$") | +-- \ execute 'normal! g`"zvzz' | +-- \ endif +-- augroup END +--]]) -- cgit v1.2.3 From 842a44a7440110839d3de56fa33dd05f6c7655e0 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 28 Jan 2023 15:47:52 +0200 Subject: Fixed autocmd highlight issue by 'highlight = { enable = false, },' --- lua/plugins/treesitter.lua | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index b081ca3..7f481d3 100644 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -1,16 +1,6 @@ -local status, treesitter = pcall(require, "nvim-treesitter.configs") -if (not status) then return end +require'nvim-treesitter.configs'.setup { + -- A list of parser names, or "all" (the four listed parsers should always be installed) -treesitter.setup { - highlight = { - enable = true, - disable = {}, - }, - indent = { - enable = true, - disable = {}, - --disable = { "python", "css" } - }, ensure_installed = { "c", "bash", @@ -19,13 +9,20 @@ treesitter.setup { }, --ensure_installed = "all", -- one of "all" or a list of languages --ignore_install = { "" }, -- List of parsers to ignore installing + sync_install = false, + auto_install = true, + highlight = { + enable = false, + disable = {}, + }, + indent = { + enable = true, + disable = {}, + --disable = { "python", "css" } + }, autotag = { enable = true, }, - efactor = { - highlight_definitions = { enable = true }, - highlight_current_scope = { enable = true } - } } --vim.opt.foldmethod = "expr" --vim.opt.foldexpr = "nvim_treesitter#foldexpr()" -- cgit v1.2.3 From 700e836d41f1b75f243e7d8d9ebed24b91ac51ca Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 31 Jan 2023 23:16:00 +0200 Subject: Clean config --- lua/user/keys.lua | 784 ++++++++++++++++-------------------------------------- 1 file changed, 222 insertions(+), 562 deletions(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 712835a..f01a0c5 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -1,27 +1,18 @@ --[[ key.lua ]] --- Shorten function name ---local keymap = vim.api.nvim_set_keymap -local keymap = vim.keymap - ---local function new_desc(d) --- return { desc = d } ---end --- ---local d = new_desc ---local opts = { noremap = true, silent = true } +------------- Shorten Function Names -------------- +local keymap = vim.keymap +local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.noremap = true + keymap.set(mode, l, r, opts) +end local term_opts = { noremap = true, silent = false } - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.noremap = true - keymap.set(mode, l, r, opts) - end --------------- Standard Operations --------------- - -- Semi-colon as leader key vim.g.mapleader = ";" @@ -34,190 +25,39 @@ vim.g.mapleader = ";" -- "jj" to exit insert-mode map("i", "jj", "") -map("n", "m", ":messages") -map("n", "cd", ":cd %:p:h:pwd") --- Print last error message or use these commands | v:errmsgv | :statusmsg | :h execute() | ---nnoremap x :put =trim(execute(input(':', '', 'command'))) --- Press x, then enter your command, such as 5mess and press . The last five message lines will be added to the current buffer. --- useful to copy error message when vim start - --- save quickly ---map("n", ";w", ":w", d("Save buffer")) - ---map("n", "so", ":luafile %") - ---vim.cmd([[ ---let $my_vimrc = $localappdata.'/nvim/init.lua' ---nnoremap so :source $my_vimrc ---]]) - --- Toggle between folds ---utils.map("n", "", "&foldlevel ? 'zM' : 'zR'", { expr = true }) - --- Move to the next and previous item in the quickfixlist ---utils.map("n", "]c", "cnext") ---utils.map("n", "[c", "cprevious") - --- Use space to toggle fold ---utils.map("n", "", "za") - --- Hitting ESC when inside a terminal to get into normal mode ---utils.map("t", "", [[]]) - --- select last change ---nnoremap gV `[v`] - ---map("n", "", function() --- notify.dismiss() --- vim.cmd.noh() ---end) - ---"nnore fast [e]dit and [s]ourcing .[v]imrc ---nnoremap ev :edit $MYVIMRC ---"fast macro ---nnoremap @ set lazyredraw execute 'noautocmd norm! ' . v:count1 . '@' . getcharstr() set nolazyredraw ---xnoremap @ :set lazyredraw execute "noautocmd '<,'>norm! " . v:count1 . "@" . getcharstr() set nolazyredraw - ---map("n", "", ":runtime! /lua/plugins/*.lua | :runtime! /lua/user/*.lua | :luafile ~/.config/nvim/init.lua", print ("Nvim reloaded")) ---map("n", "", ":lua require('init').unload_lua_namespace()", print ("Nvim reloaded")) ---map("n", "", "luafile ~/.config/nvim/init.lua", vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO)) ---map("n", "", "luafile ~/.config/nvim/init.lua | :lua require("notify")("completion off")") ---map("n", "", "luafile ~/.config/nvim/init.lua", vim.api.nvim_echo({{'first chunk and ', 'None'}, {'second chunk to echo', 'None'}}, false, {})) ---map("n", "", "luafile ~/.config/nvim/init.lua", print ("Nvim config loading...")) ---map("n", "", "luafile ~/.config/nvim/init.lua | :echo ('hello') | ") +-- Reload nvim config map("n", "", "luafile ~/.config/nvim/init.lua | :echom ('Nvim config loading...') | :sl! | echo ('')") -map("n", "u", ":echo '' | redraw") --clear messages ---map("n", "", "luafile ~/.config/nvim/init.lua") ---vim.api.nvim_set_keymap("n", "", "lua ReloadConfig()", { noremap = true, silent = false }) - -map("n", "tc", ":lua require('user.utils').toggle_completion()") --- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO) - ---vim.api.nvim_set_keymap('n', 'qr', ':lua require("plugins.telescope").reload()', { noremap = true, silent = true }) - ----- Terminal ---if is_available "toggleterm.nvim" then --- local toggle_term_cmd = astronvim.toggle_term_cmd -map("n", "gg", ":LazyGit") -map("n", "tt", "ToggleTerm") - ----- Fugitive git bindings -map("n", "ga", ":Git add %:p") ---map("n", "gs", ":Gstatus") -map("n", "gc", ":Gcommit -v -q") -map("n", "gt", ":Gcommit -v -q %:p") ---map("n", "gd", ":Gdiff") -map("n", "ge", ":Gedit") ---map("n", "gr", ":Gread") -map("n", "gw", ":Gwrite") -map("n", "gl", ":silent! Glog:bot copen") ---map("n", "gp", ":Ggrep") ---map("n", "gp", ":Git push") ---map("n", "gb", ":Gblame") -map("n", "gm", ":Gmove") ---map("n", "gb", ":Git branch") ---map("n", "go", ":Git checkout") ---map("n", "gps", ":Dispatch! git push") ---map("n", "gpl", ":Dispatch! git pull") - --- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } --- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } --- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } --- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } --- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } --- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } --- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } --- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } ---end --- ---Easier split navigations, just ctrl-j instead of ctrl-w then j ---map("n", "", "") ---map("n", "", "") ---map("n", "", "") ---map("n", "", "") - --- Tmux navigation (aserowy/tmux.nvim) ---map("n", "", ":lua require'tmux'.move_left()") ---map("n", "", ":lua require'tmux'.move_bottom()") ---map("n", "", ":lua require'tmux'.move_top()") ---map("n", "", ":lua require'tmux'.move_right()") -map('n', '', 'NavigatorLeft') -map('n', '', 'NavigatorRight') -map('n', '', 'NavigatorUp') -map('n', '', 'NavigatorDown') - --- set line wrap -map("n", "", function() - local wrap_status = vim.api.nvim_exec("set wrap ?", true) - - if wrap_status == "nowrap" then - vim.api.nvim_command("set wrap linebreak") - print("Wrap enabled") - else - vim.api.nvim_command("set wrap nowrap") - print("Wrap disabled") - end -end, { silent = true }) +--------------- Extended Operations --------------- -- Combine buffers list with buffer name map("n", "b", ":buffers:buffer") ---map("n", "b", ":ls:b") --- Map buffer next, prev and delete to +-- Buffer confirmation +map("n", "y", ":BufferPick") + +-- Map buffer next, prev and delete to +(n/p/d) respectively map("n", "n", ":bn") map("n", "p", ":bp") map("n", "d", ":bd") --- Disable default completion. -map('i', '', '') -map('i', '', '') - --- Set alt + j/k to switch lines of texts or simply move them -map("n", "", ':let save_a=@a"add"ap:let @a=save_a') -map("n", "", ':let save_a=@a"add"ap:let @a=save_a') +-- List marks +map("n", "m", ":marks") -map("i", "", "") - -map("n", "", "!clear") - -map("n", "y", ":BufferPick") - -vim.cmd([[ - inoremap - inoremap - inoremap - inoremap -]]) - -vim.cmd([[ - cnoremap - cnoremap - cnoremap - cnoremap -]]) - ---vim.cmd([[ --- cnoremap --- cnoremap --- cnoremap --- cnoremap ---]]) +-- Toggle set number +map("n", "$", ":NumbersToggle") +map("n", "%", ":NumbersOnOff") -vim.cmd([[ - snoremap - snoremap - snoremap - snoremap -]]) +-- Easier split navigations, just ctrl-j instead of ctrl-w then j +--map("n", "", "") +--map("n", "", "") +--map("n", "", "") +--map("n", "", "") --- move block easily -map("n", "<", "<<", term_opts) -map("n", ">", ">>", term_opts) -map("x", "<", "", ">gv", term_opts) +-- Split window +map("n", "h", ":split") +map("n", "v", ":vsplit") +map("n", "c", "c") -- Resize Panes map("n", "+", ":resize +5") @@ -226,13 +66,33 @@ map("n", "<", ":vertical resize +5") map("n", ">", ":vertical resize -5") map("n", "=", "=") --- New tab +-- Map Alt+(h/j/k/l) in insert mode to move directional +map("i", "", "") +map("i", "", "") +map("i", "", "") +map("i", "", "") + +-- Map Alt+(h/j/k/l) in command mode to move directional +map("c", "", "") +map("c", "", "") +map("c", "", "") +map("c", "", "") + +-- Map Alt+(h/j/k/l) in selection mode to move directional +map("s", "", "") +map("s", "", "") +map("s", "", "") +map("s", "", "") + +-- Create tab, edit and move between them +map("n", "n", ":tabnew") map("n", "e", ":tabedit") +map("n", "[", ":tabprev") +map("n", "]", ":tabnext") --- create tab like window -map("n", "h", ":tabprevious") -map("n", "l", ":tabnext") -map("n", "n", ":tabnew") +-- "Zoom" a split window into a tab and/or close it +--map("n", ",", ":tabnew %") +--map("n", ".", ":tabclose") -- Vim TABs map("n", "1", "1gt") @@ -246,192 +106,85 @@ map("n", "8", "8gt") map("n", "9", "9gt") map("n", "0", "10gt") --- Split window -map("n", "h", ":split") -map("n", "v", ":vsplit") -map("n", "c", "c") +-- Move to the next and previous item in the quickfixlist +--map("n", "]c", "cnext") +--map("n", "[c", "cprevious") --- Toggle set number -map("n", "$", ":NumbersToggle") -map("n", "%", ":NumbersOnOff") +-- Hitting ESC when inside a terminal to get into normal mode +--map("t", "", [[]]) --- Change mode to executable -map("n", "x", ":!chmod +x %") +-- Move block (indentation) easily +map("n", "<", "<<", term_opts) +map("n", ">", ">>", term_opts) +map("x", "<", "", ">gv", term_opts) --- Paste without replace clipboard -map("v", "p", '"_dP') +-- Set alt+(j/k) to switch lines of texts or simply move them +map("n", "", ':let save_a=@a"add"ap:let @a=save_a') +map("n", "", ':let save_a=@a"add"ap:let @a=save_a') --- Paste end of line ---map("n", ",", "$p") ---vim.cmd([[ --- nmap , $p ---]]) +-- Search and replace +map("v", "sr", 'y:%s/"//gc') --- Select entire buffer ---map("v", "", "ggG") +-- Map delete to Ctrl+l +map("i", "", "") --- Delete without changing the registers ---map('n', 'x', '"_x') +-- Clear screen +map("n", "", "!clear") --- Select all text in current buffer ---map('n', 'a', ':keepjumps normal! ggVG') +-- Change file to an executable +map("n", "x", ":!chmod +x %") + +-- Paste without replace clipboard +map("v", "p", '"_dP') -- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in -- visual mode to select text to swap with map("v", "", "`.``gvP``P") --- Keep Visual mode selection when indenting text ---utils.map("x", ">", ">gv") ---utils.map("x", "<", "u", ":echo '' | redraw") --- Make visual pasting a word to not update the unnamed register --- Thus, allowing us to repeatedly paste the word. {"_ : black-hole register} ---utils.map("v", "p", [["_dP]]) +-- Change Working Directory to current project +map("n", "cd", ":cd %:p:h:pwd") --- Whole-word search ---utils.map("n", "/", ":/\\<\\>", { silent = false }) +-- Open the current file in the default program (on Mac this should just be just `open`) +map('n', 'o', ':!xdg-open %') --- EasyAlign keybindings --- 'vipga' starts interactive EasyAlign in visual mode --- 'gaip' starts interactive EasyAlign for text/motion object ---utils.map({ "n", "x" }, "ga", "(EasyAlign)") ---utils.map({ "n", "x" }, "ga", "(LiveEasyAlign)") +-- Unsets the 'last search pattern' register by hitting return +map("n", "", "!silent :noh") --- Set a mark when moving more than 5 lines upwards/downards --- this will populate the jumplist enabling us to jump back with Ctrl-O ---utils.map("n", "k", [[(v:count > 5 ? "m'" . v:count : "") . 'k']], { expr = true }) ---utils.map("n", "j", [[(v:count > 5 ? "m'" . v:count : "") . 'j']], { expr = true }) +-- Toggle completion +map("n", "tc", ":lua require('user.utils').toggle_completion()") --- Zoom toggle a buffer in a new tab ---utils.map("n", "z", function() --- require("tt.helper").zoomToggleNewTab() ---end, { desc = "Zoom toggle a buffer in a new tab" }) +-- Disable default completion. +map('i', '', '') +map('i', '', '') --- Hitting ESC when inside a terminal to get into normal mode ---utils.map("t", "", [[]]) +-- Set line wrap +map("n", "", function() + local wrap_status = vim.api.nvim_exec("set wrap ?", true) --- markdown-preview -map("n", "md", "MarkdownPreviewToggle") + if wrap_status == "nowrap" then + vim.api.nvim_command("set wrap linebreak") + print("Wrap enabled") + else + vim.api.nvim_command("set wrap nowrap") + print("Wrap disabled") + end +end, { silent = true }) +-- Toggle between folds +--utils.map("n", "", "&foldlevel ? 'zM' : 'zR'", { expr = true }) --- Search and replace -map("v", "sr", 'y:%s/"//gc') ---vnoremap ; :call Get_visual_selection() --- ---function! Get_visual_selection() --- " Why is this not a built-in Vim script function?! --- let [lnum1, col1] = getpos("'<")[1:2] --- let [lnum2, col2] = getpos("'>")[1:2] --- let lines = getline(lnum1, lnum2) --- let lines[-1] = lines[-1][: col2 - (&selection == 'inclusive' ? 1 : 2)] --- let lines[0] = lines[0][col1 - 1:] --- let selection = join(lines,'\n') --- let change = input('Change the selection with: ') --- execute ":%s/".selection."/".change."/g" ---endfunction -vim.cmd([[ -let s:hidden_all = 0 -function! ToggleHiddenAll() - if s:hidden_all == 0 - let s:hidden_all = 1 - set noshowmode - set noruler - set laststatus=0 - set noshowcmd - else - let s:hidden_all = 0 - set showmode - set ruler - set laststatus=2 - set showcmd - endif -endfunction -nnoremap :call ToggleHiddenAll() -]]) +-- Use space to toggle fold +--utils.map("n", "", "za") +-- Make a copy of current file vim.cmd([[ map s :up \| saveas! %:p:r-=strftime("%y.%m.%d-%H:%M")-bak.=expand("%:e") \| 3sleep \| e # ]]) --- Execute this file ---map("n", "x", ":call scripts#save_and_exec()", print("save & exec")) -vim.cmd([[ - " Execute this file - nnoremap x :call scripts#save_and_exec()\|:echom "save & exec . . ." - -]]) - --------------- FZF -------------- -map("n", "fz", "lua require('fzf-lua').files()") - --------------- Telescope -------------- ---Telescope find_files cwd=.. -map("n", "fc", "lua require('telescope.builtin').commands()") -map("n", "cf", "Telescope changed_files") -map("n", "fk", "lua require('telescope.builtin').keymaps()") -map("n", "fh", "lua require('telescope.builtin').help_tags()") ---map( --- "n", --- "ft", --- "lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))") - --- maps.n["fF"] = { --- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, --- desc = "Search all files", --- Telescope find_files hidden=true ---map("n", "fh", "lua require('telecsope.builtin').file_files hidden=true") -map("n", "ff", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) ---map("n", "fe", ":lua require('telescope.builtin').file_browser({cwd = '.'})") -map("n", "fg", "lua require('telescope.builtin').live_grep()") -map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()") -map("n", "fd", "lua require('telescope.builtin').diagnostics()") -map("n", "fp", "Telescope pickers") - --- find notes -map("n", "fn", [[lua require'plugins.telescope'.find_notes()]]) --- search notes -map("n", "fgn", [[lua require'plugins.telescope'.grep_notes()]]) --- Find files in config dirs -map("n", "f.", [[lua require'plugins.telescope'.find_configs()]]) ---map("n", "fz", ":FZF") ---map("t", [[]], [[]]) ---map("n", "ff", ":NvimTreeToggle", {}) -map("n", "f", ":NvimTreeToggle", {}) --- This avoids crashing fzf menu running in TERMINAL MODE (:q if you do) --- Find files in config dirs ---key_map("n", "e", ":lua require('plugins.telescope').find_configs()", opts) ---map("n", "f.", "lua require('plugins.telescope').find_configs({})") ---map("n", "ft", "lua require('plugins.telescope').file_explorer({})") ---map("n", "fd", "lua require('plugins.telescope').find_notes({})") -map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})") --- registers picker -map("n", "r", "lua require('telescope.builtin').registers({})") --- find files including gitignored ---keymap( --- "n", --- "fg", --- "lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})") --- open available commands & run it ---map("n", "fc", "lua require('telescope.builtin').commands({results_title='Commands Results'})") - --------------- Autopairs -------------- -Toggle_autopairs = function() - local ok, autopairs = pcall(require, "nvim-autopairs") - if ok then - if autopairs.state.disabled then - autopairs.enable() - print("autopairs on") - else - autopairs.disable() - print("autopairs off") - end - else - print("autopairs not available") - end -end -map("n", "ww", ":lua Toggle_autopairs()", term_opts) - --------------- Functions -------------- -- Toggle transparency vim.cmd([[ let t:is_transparent = 0 @@ -464,9 +217,27 @@ vim.cmd([[ command! ZoomToggle call s:ZoomToggle() ]]) map("n", "z", ":ZoomToggle") --- "Zoom" a split window into a tab and/or close it ---keymap('n', ',', ':tabnew %') ---keymap('n', '.', ':tabclose') + +-- Toggle statusline +vim.cmd([[ +let s:hidden_all = 0 +function! ToggleHiddenAll() + if s:hidden_all == 0 + let s:hidden_all = 1 + set noshowmode + set noruler + set laststatus=0 + set noshowcmd + else + let s:hidden_all = 0 + set showmode + set ruler + set laststatus=2 + set showcmd + endif +endfunction +nnoremap :call ToggleHiddenAll() +]]) -- Open last closed buffer vim.cmd([[ @@ -492,6 +263,100 @@ vim.cmd([[ ]]) map("n", "", ":call OpenLastClosed() ") + +---------------- Plugin Operations ---------------- +-- Packer +map("n", "pc", "PackerCompile") +map("n", "pi", "PackerInstall") +map("n", "ps", "PackerSync") +map("n", "pS", "PackerStatus") +map("n", "pu", "PackerUpdate") + +-- Tmux navigation (aserowy/tmux.nvim) +map('n', '', 'NavigatorLeft') +map('n', '', 'NavigatorRight') +map('n', '', 'NavigatorUp') +map('n', '', 'NavigatorDown') + +-- ToggleTerm +--map("n", "tt", "ToggleTerm") + +-- LazyGit +map("n", "gg", ":LazyGit") + +-- Fugitive git bindings +map("n", "ga", ":Git add %:p") +--map("n", "gs", ":Gstatus") +map("n", "gc", ":Gcommit -v -q") +map("n", "gt", ":Gcommit -v -q %:p") +--map("n", "gd", ":Gdiff") +map("n", "ge", ":Gedit") +--map("n", "gr", ":Gread") +map("n", "gw", ":Gwrite") +map("n", "gl", ":silent! Glog:bot copen") +--map("n", "gp", ":Ggrep") +--map("n", "gp", ":Git push") +--map("n", "gb", ":Gblame") +map("n", "gm", ":Gmove") +--map("n", "gb", ":Git branch") +--map("n", "go", ":Git checkout") +--map("n", "gps", ":Dispatch! git push") +--map("n", "gpl", ":Dispatch! git pull") +-- map[""] = { "ToggleTerm", desc = "Toggle terminal" } +-- map["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- map["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } +-- map["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } +-- map["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } +-- map["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } +-- map["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } +-- map["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } +-- map["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } +-- map["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } +--end + +-- Telescope +map("n", "ff", function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end) -- find all files +map("n", "fF", "lua require('telescope.builtin').find_files()") -- find files with hidden option +map("n", "fb", "lua require('telescope.builtin').current_buffer_fuzzy_find()") +map("n", "fc", "lua require('telescope.builtin').commands()") +map("n", "fg", "lua require('telescope.builtin').live_grep()") +map("n", "fp", "Telescope pickers") +map("n", "fr", "lua require('telescope.builtin').registers({})") -- registers picker +map("n", "cf", "Telescope changed_files") +map("n", "fd", "lua require('telescope.builtin').diagnostics()") +map("n", "fh", "lua require('telescope.builtin').help_tags()") +map("n", "fk", "lua require('telescope.builtin').keymaps()") +map("n", "fn", [[lua require'plugins.telescope'.find_notes()]]) -- find notes +map("n", "fgn", [[lua require'plugins.telescope'.grep_notes()]]) -- search notes +map("n", "f.", [[lua require'plugins.telescope'.find_configs()]]) -- find configs +map("n", "fm", "lua require('telescope').extensions.media_files.media_files({})") -- find media files + +-- FZF +map("n", "fz", "lua require('fzf-lua').files()") + +-- Nvim-tree +map("n", "f", ":NvimTreeToggle", {}) + +-- Markdown-preview +map("n", "md", "MarkdownPreviewToggle") + +-- Autopairs +Toggle_autopairs = function() + local ok, autopairs = pcall(require, "nvim-autopairs") + if ok then + if autopairs.state.disabled then + autopairs.enable() + print("autopairs on") + else + autopairs.disable() + print("autopairs off") + end + else + print("autopairs not available") + end +end +map("n", "ww", ":lua Toggle_autopairs()", term_opts) + -- Tabularize vim.cmd([[ vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" @@ -500,6 +365,7 @@ vim.cmd([[ "vnoremap ii mc0f-20i`cdt=j ]]) +-- EasyAlign vim.cmd([[ " Start interactive EasyAlign in visual mode (e.g. vipga) xmap ga (EasyAlign) @@ -512,209 +378,3 @@ vim.cmd([[ nnoremap 21A d21\| imap a ]]) ---:'<,'>EasyAlign /--/ ---EasyAlign /--/ ---:'<,'>Tabularize /-- - ---map("n", ",", ":hide") ---map("n", ".", ":unhide") - ---" Clean trailing whitespace ---nnoremap ww mz:%s/\s\+$//:let @/=''`z - --- Save with root permission (not working for now) ---vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {}) - --- Copy and Paste with and ---keymap('n', ' p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'') --- Use command :Vb for Visual Block or since is used for Copy ---command! Vb normal! --- Map to save/edit a root permission/read-only file, only works in --- traditional vim and not neovim ---keymap('c', 'w!! %!sudo tee > /dev/null') ---" Copying text to the system clipboard. ---" ---" For some reason Vim no longer wants to talk to the OS X pasteboard through "*. ---" Computers are bullshit. ---function! g:FuckingCopyTheTextPlease() --- let old_z = @z --- normal! gv"zy --- call system('pbcopy', @z) --- let @z = old_z ---endfunction ---noremap p :silent! set paste"*p:set nopaste ---" noremap p mz:r!pbpaste`z ---vnoremap y :call g:FuckingCopyTheTextPlease() - ---" Indent/dedent/autoindent what you just pasted. ---nnoremap > V`]< ---nnoremap > V`]> ---nnoremap =- V`]= - ---" Keep the cursor in place while joining lines ---nnoremap J mzJ`z - ---" Toggle [i]nvisible characters ---nnoremap i :set list! --- ---" Unfuck my screen ---nnoremap U :syntax sync fromstart:redraw! - ---" Ranger ---nnoremap r :silent !ranger %:h:redraw! ---nnoremap R :silent !ranger:redraw! --- ---" Insert Mode Completion {{{ --- ---inoremap ---inoremap ---inoremap ----- Open the current file in the default program (on Mac this should just be just `open`) ---keymap('n', 'x', ':!xdg-open %') - -map("n", "fF", "lua require('telescope.builtin').find_files()") ---keymap("n", "ff", "lua require('telescope.builtin').find_files cwd=..()") ---keymap('n', 'k', ':nohlsearch') --- ---"This unsets the "last search pattern" register by hitting return -vim.cmd([[ - nnoremap :noh -]]) - ---keymap('n', 'Q', ':bufdo bdelete') --- ----- Allow gf to open non-existent files ---keymap('', 'gf', ':edit ') --- ----- Reselect visual selection after indenting ---keymap('v', '<', '', '>gv') --- ----- Maintain the cursor position when yanking a visual selection ----- http://ddrscott.github.io/blog/2016/yank-without-jank/ ---keymap('v', 'y', 'myy`y') ---keymap('v', 'Y', 'myY`y') ---keymap("n", "", ":q") ---keymap("n", "", ":qa!") - ---" Sort lines ---nnoremap s vip:!sort ---vnoremap s :!sort --- ---" Tabs ---nnoremap ( :tabprev ---nnoremap ) :tabnext --- ---" Wrap ---nnoremap W :set wrap! - ---set foldlevelstart=0 --- ---" Space to toggle folds. ---nnoremap za ---vnoremap za ---" Make zO recursively open whatever fold we're in, even if it's partially open. ---nnoremap zO zczO - --- Packer ---maps.n["pc"] = { "PackerCompile", desc = "Packer Compile" } ---maps.n["pi"] = { "PackerInstall", desc = "Packer Install" } ---maps.n["ps"] = { "PackerSync", desc = "Packer Sync" } ---maps.n["pS"] = { "PackerStatus", desc = "Packer Status" } ---maps.n["pu"] = { "PackerUpdate", desc = "Packer Update" } --- NeoTree ---if is_available "neo-tree.nvim" then --- keymaps.n["e"] = { "Neotree toggle", desc = "Toggle Explorer" } --- keymaps.n["o"] = { "Neotree focus", desc = "Focus Explorer" } ---end --- Alpha ---if is_available "alpha-nvim" then maps.n["d"] = { "Alpha", desc = "Alpha Dashboard" } end - --- Package Manager --- TODO: v2 rework these key bindings to be more general ---if is_available "mason.nvim" then maps.n["lI"] = { "Mason", desc = "LSP installer" } end --- Telescope ---if is_available "telescope.nvim" then --- maps.n["fw"] = { function() require("telescope.builtin").live_grep() end, desc = "Search words" } --- maps.n["fW"] = { --- function() --- require("telescope.builtin").live_grep { --- additional_args = function(args) return vim.list_extend(args, { "--hidden", "--no-ignore" }) end, --- } --- end, --- desc = "Search words in all files", --- } --- maps.n["gt"] = { function() require("telescope.builtin").git_status() end, desc = "Git status" } --- maps.n["gb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } --- maps.n["gc"] = { function() require("telescope.builtin").git_commits() end, desc = "Git commits" } --- maps.n["ff"] = { function() require("telescope.builtin").find_files() end, desc = "Search files" } --- maps.n["fF"] = { --- function() require("telescope.builtin").find_files { hidden = true, no_ignore = true } end, --- desc = "Search all files", --- } --- maps.n["fb"] = { function() require("telescope.builtin").buffers() end, desc = "Search buffers" } --- maps.n["fh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } --- maps.n["fm"] = { function() require("telescope.builtin").marks() end, desc = "Search marks" } --- maps.n["fo"] = { function() require("telescope.builtin").oldfiles() end, desc = "Search history" } --- maps.n["fc"] = --- { function() require("telescope.builtin").grep_string() end, desc = "Search for word under cursor" } --- maps.n["sb"] = { function() require("telescope.builtin").git_branches() end, desc = "Git branches" } --- maps.n["sh"] = { function() require("telescope.builtin").help_tags() end, desc = "Search help" } --- maps.n["sm"] = { function() require("telescope.builtin").man_pages() end, desc = "Search man" } --- maps.n["sn"] = --- { function() require("telescope").extensions.notify.notify() end, desc = "Search notifications" } --- maps.n["sr"] = { function() require("telescope.builtin").registers() end, desc = "Search registers" } --- maps.n["sk"] = { function() require("telescope.builtin").keymaps() end, desc = "Search keymaps" } --- maps.n["sc"] = { function() require("telescope.builtin").commands() end, desc = "Search commands" } --- maps.n["ls"] = { --- function() --- local aerial_avail, _ = pcall(require, "aerial") --- if aerial_avail then --- require("telescope").extensions.aerial.aerial() --- else --- require("telescope.builtin").lsp_document_symbols() --- end --- end, --- desc = "Search symbols", --- } --- maps.n["lR"] = { function() require("telescope.builtin").lsp_references() end, desc = "Search references" } ---end --- ----- Terminal ---if is_available "toggleterm.nvim" then --- local toggle_term_cmd = astronvim.toggle_term_cmd ---" setup mapping to call :LazyGit ---map.gg :LazyGit --- maps.n[""] = { "ToggleTerm", desc = "Toggle terminal" } --- maps.n["gg"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tn"] = { function() toggle_term_cmd "node" end, desc = "ToggleTerm node" } --- maps.n["tu"] = { function() toggle_term_cmd "ncdu" end, desc = "ToggleTerm NCDU" } --- maps.n["tt"] = { function() toggle_term_cmd "htop" end, desc = "ToggleTerm htop" } --- maps.n["tp"] = { function() toggle_term_cmd "python" end, desc = "ToggleTerm python" } --- maps.n["tl"] = { function() toggle_term_cmd "lazygit" end, desc = "ToggleTerm lazygit" } --- maps.n["tf"] = { "ToggleTerm direction=float", desc = "ToggleTerm float" } --- maps.n["th"] = { "ToggleTerm size=10 direction=horizontal", desc = "ToggleTerm horizontal split" } --- maps.n["tv"] = { "ToggleTerm size=80 direction=vertical", desc = "ToggleTerm vertical split" } ---end --- ----- Stay in indent mode ---maps.v["<"] = { ""] = { ">gv", desc = "indent line" } --- ----- Improved Terminal Mappings ---maps.t[""] = { "", desc = "Terminal normal mode" } ---maps.t["jk"] = { "", desc = "Terminal normal mode" } ---maps.t[""] = { "h", desc = "Terminal left window navigation" } ---maps.t[""] = { "j", desc = "Terminal down window navigation" } ---maps.t[""] = { "k", desc = "Terminal up window navigation" } ---maps.t[""] = { "l", desc = "Terminal right window naviation" } --- LSP Installer ---if is_available "mason-lspconfig.nvim" then maps.n["li"] = { "LspInfo", desc = "LSP information" } end - --- ALE: toggle _ALE activity ---keymap('n', 'a',[[:ALEToggle]]) - ---keymap('n', 'cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})') --- ":lua require('neogen').generate()") ---keymap("n", "ww", ":set wrap!") --- -- cgit v1.2.3 From e0a74d3369c7b61d92f8eb3986b1bd65041920e8 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 31 Jan 2023 23:17:57 +0200 Subject: Change ToggleDiagnosticsOpenFloat() mapping to to --- lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 4c5cf70..7ad4f14 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -426,7 +426,7 @@ function! ToggleDiagnosticsOpenFloat() augroup END endif endfunction -nnoremap o :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." +nnoremap to :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." ]]) --vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( -- cgit v1.2.3 From 80046a93cc494c0bb2b860d98f161c57bdd3d429 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 31 Jan 2023 23:19:00 +0200 Subject: Change open_mapping to tt --- lua/plugins/toggleterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua index 912729a..0c3c45f 100644 --- a/lua/plugins/toggleterm.lua +++ b/lua/plugins/toggleterm.lua @@ -12,7 +12,7 @@ toggleterm.setup({ end end, --size = 20, - open_mapping = [[to]], + open_mapping = [[tt]], hide_numbers = true, shade_filetypes = {}, shade_terminals = false, -- cgit v1.2.3 From 4ba9ff24fcf6fdd881901e94792c27db707c13a8 Mon Sep 17 00:00:00 2001 From: srdusr Date: Tue, 31 Jan 2023 23:23:19 +0200 Subject: Clean config | TODO: Clean config more --- lua/plugins/lsp.lua | 306 +--------------------------------------------------- 1 file changed, 2 insertions(+), 304 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 7ad4f14..900121f 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -71,31 +71,6 @@ function _G.toggle_diagnostics() end end ---map('n', 'm', ':call v:lua.toggle_diagnostics()') - ---vim.g.diagnostics_active = true ---function _G.toggle_diagnostics() --- if vim.g.diagnostics_active then --- vim.g.diagnostics_active = false --- vim.lsp.diagnostic.clear(0) --- vim.cmd([[exe "normal ii\x"]]) --- vim.lsp.handlers["textDocument/publishDiagnostics"] = function() end --- else --- vim.g.diagnostics_active = true --- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( --- vim.lsp.diagnostic.on_publish_diagnostics, { --- virtual_text = true, --- signs = true, --- underline = true, --- update_in_insert = false, --- } --- ) --- end ---end --- ---map("n", "i", ":call v:lua.toggle_diagnostics()") - - -- Set some key bindings conditional on server capabilities if client.server_capabilities.documentFormattingProvider then map("n", "f", vim.lsp.buf.format, { desc = "format code" }) @@ -136,73 +111,6 @@ if client.server_capabilities.document_highlight then }) end ---For diagnostics for specific cursor position ---vim.api.nvim_create_autocmd("CursorHold", { --- buffer = bufnr, --- callback = function() --- local opts = { --- focusable = false, --- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, --- border = 'rounded', --- source = 'always', --- prefix = ' ', --- scope = 'cursor', --- } --- vim.diagnostic.open_float(nil, opts) --- end ---}) - -- Diagnostic position --- vim.api.nvim_create_autocmd("CursorHold", { --- buffer = bufnr, --- callback = function() --- local float_opts = { --- focusable = false, --- close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, --- border = "rounded", --- source = "always", -- show source in diagnostic popup window --- prefix = " ", --- } --- --- if not vim.b.diagnostics_pos then --- vim.b.diagnostics_pos = { nil, nil } --- end --- --- local cursor_pos = vim.api.nvim_win_get_cursor(0) --- if --- (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) --- and #vim.diagnostic.get() > 0 --- then --- vim.diagnostic.open_float(nil, float_opts) --- end --- --- vim.b.diagnostics_pos = cursor_pos --- end, --- }) - - -- The below command will highlight the current variable and its usages in the buffer. --- if client.server_capabilities.documentHighlightProvider then --- vim.cmd([[ --- hi! link LspReferenceRead Visual --- hi! link LspReferenceText Visual --- hi! link LspReferenceWrite Visual --- augroup lsp_document_highlight --- autocmd! * --- autocmd CursorHold lua vim.lsp.buf.document_highlight() --- autocmd CursorHoldI lua vim.lsp.buf.document_highlight() --- autocmd CursorMoved lua vim.lsp.buf.clear_references() --- augroup END --- ]]) --- end --- - -- Only highlight if compatible with the language --- if client.resolved_capabilities.document_highlight then --- vim.cmd('augroup LspHighlight') --- vim.cmd('autocmd!') --- vim.cmd('autocmd CursorHold lua vim.lsp.buf.document_highlight()') --- vim.cmd('autocmd CursorMoved lua vim.lsp.buf.clear_references()') --- vim.cmd('augroup END') --- end - if vim.g.logging_level == "debug" then local msg = string.format("Language server %s started!", client.name) vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) @@ -348,59 +256,6 @@ vim.diagnostic.config({ update_in_insert = false, -- default to false severity_sort = false, -- default to false }) --- Show line diagnostics automatically in hover window ---vim.o.updatetime = 250 ---vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] ---vim.cmd ([[ noremap a :autocmd! CursorHold,CursorHoldI ]]) - ---vim.cmd [[ noremap a :autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] ---local diagnostics_active = true ---local toggle_diagnostics = function() --- diagnostics_active = not diagnostics_active --- if diagnostics_active then --- vim.o.updatetime = 250 --- vim.cmd ([[autocmd! CursorHold,CursorHoldI ]]) --- --vim.diagnostic.open_float(nil, {focus=false}) --- else --- vim.o.updatetime = 250 --- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] --- --vim.diagnostic.hide() --- --vim.diagnostic.disable() --- end ---end ---vim.keymap.set("n", "a", toggle_diagnostics) - ---function LspDiagnosticsFocus() --- vim.api.nvim_command('set eventignore=WinLeave') --- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') --- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) ---end ---vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) - --vim.o.updatetime = 250 - --- vim.o.updatetime = 250 -----vim.o.updatetime = 250 -----vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,})]] -----local diagnostics_active = true ---local toggle_diagnostics = function() --- --diagnostics_active = not diagnostics_active --- --if diagnostics_active then --- --if vim.diagnostic.open_float() == true then --- if vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] ---, true) then --- vim.api.nvim_exec([[autocmd! CursorHold,CursorHoldI ]] ---, true) --- else --- vim.o.updatetime = 250 --- vim.api.nvim_exec([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]], true) --- end ---end ---vim.keymap.set("n", "a", toggle_diagnostics) --- ---vim.api.nvim_create_autocmd('CursorHold', { --- vim.diagnostic.open_float(nil, {focus=false}) --- ---}) vim.o.updatetime = 250 vim.cmd[[ @@ -429,49 +284,6 @@ endfunction nnoremap to :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." ]]) ---vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( --- vim.lsp.handlers.hover, { --- signs = true, --- underline = false, --- virtual_text = false, --- show_diagnostic_autocmds = {'InsertLeave', 'TextChanged'}, --- diagnostic_delay = 500 --- }) ---vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float(0, {scope="cursor", close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}})]] - ---function LspDiagnosticsFocus() --- vim.api.nvim_command('set eventignore=WinLeave') --- vim.api.nvim_command('autocmd CursorMoved ++once set eventignore=""') --- vim.diagnostic.open_float(nil, {focusable = false, scope = 'line', close_events = {"CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre", "WinLeave"}}) ---end ---vim.api.nvim_set_keymap('', 'a', 'lua LspDiagnosticsFocus()', {silent = true}) - ---local diagnostics_active = true ---map('n', 'a', function() --- diagnostics_active = not diagnostics_active --- if diagnostics_active then --- vim.diagnostic.show() --- else --- vim.diagnostic.hide() --- end ---end) - --- Global config for diagnostic ---vim.diagnostic.config({ --- underline = false, --- virtual_text = false, --- signs = true, --- severity_sort = true, --- float = { --- focusable = true, -- --- style = "minimal", -- --- --border = "rounded", --- border = "shadow", --- source = "always", --- header = "", --- prefix = "", --- }, ---}) vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { underline = true, @@ -487,125 +299,11 @@ vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) ---local signs = { Error = " ", Warn = " ", Info = "􀅴 ", Hint = " " } ---local signs = { Error = "✘", Warn = "▲", Info = "🛈 ", Hint = "⚑" } -local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } +--local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } +local signs = { Error = " ", Warn = "▲", Info = "􀅳", Hint = "⚑" } for type, icon in pairs(signs) do local hl = "DiagnosticSign" .. type vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) end ----- Location information about the last message printed. The format is ----- `(did print, buffer number, line number)`. ---local last_echo = { false, -1, -1 } --- ----- The timer used for displaying a diagnostic in the commandline. ---local echo_timer = nil --- ----- The timer after which to display a diagnostic in the commandline. ---local echo_timeout = 250 --- ----- The highlight group to use for warning messages. ---local warning_hlgroup = 'WarningMsg' --- ----- The highlight group to use for error messages. ---local error_hlgroup = 'ErrorMsg' --- ----- If the first diagnostic line has fewer than this many characters, also add ----- the second line to it. ---local short_line_limit = 20 --- ----- Shows the current line's diagnostics in a floating window. ---function show_line_diagnostics() --- vim --- .lsp --- .diagnostic --- .show_line_diagnostics({ severity_limit = 'Warning' }, vim.fn.bufnr('')) ---end --- ----- Prints the first diagnostic for the current line. ---function echo_diagnostic() --- if echo_timer then --- echo_timer:stop() --- end --- --- echo_timer = vim.defer_fn( --- function() --- local line = vim.fn.line('.') - 1 --- local bufnr = vim.api.nvim_win_get_buf(0) --- --- if last_echo[1] and last_echo[2] == bufnr and last_echo[3] == line then --- return --- end --- --- local diags = vim --- .lsp --- .diagnostic --- .get_line_diagnostics(bufnr, line, { severity_limit = 'Warning' }) --- --- if #diags == 0 then --- -- If we previously echo'd a message, clear it out by echoing an empty --- -- message. --- if last_echo[1] then --- last_echo = { false, -1, -1 } --- --- vim.api.nvim_command('echo ""') --- end --- --- return --- end --- --- last_echo = { true, bufnr, line } --- --- local diag = diags[1] --- local width = vim.api.nvim_get_option('columns') - 15 --- local lines = vim.split(diag.message, "\n") --- local message = lines[1] --- local trimmed = false --- --- if #lines > 1 and #message <= short_line_limit then --- message = message .. ' ' .. lines[2] --- end --- --- if width > 0 and #message >= width then --- message = message:sub(1, width) .. '...' --- end --- --- local kind = 'warning' --- local hlgroup = warning_hlgroup --- --- if diag.severity == vim.lsp.protocol.DiagnosticSeverity.Error then --- kind = 'error' --- hlgroup = error_hlgroup --- end --- --- local chunks = { --- { kind .. ': ', hlgroup }, --- { message } --- } --- --- vim.api.nvim_echo(chunks, false, {}) --- end, --- echo_timeout --- ) ---end ---vim.cmd([[ --- autocmd CursorMoved * :lua echo_diagnostic() ---]]) --- Highlight line number instead of having icons in sign column - --- See the properties of the signs with sign list. - ---vim.cmd [[ --- highlight! DiagnosticLineNrError guibg=#51202A guifg=#FF0000 gui=bold --- highlight! DiagnosticLineNrWarn guibg=#51412A guifg=#FFA500 gui=bold --- highlight! DiagnosticLineNrInfo guibg=#1E535D guifg=#00FFFF gui=bold --- highlight! DiagnosticLineNrHint guibg=#1E205D guifg=#0000FF gui=bold --- --- sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl=DiagnosticLineNrError --- sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl=DiagnosticLineNrWarn --- sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl=DiagnosticLineNrInfo --- sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl=DiagnosticLineNrHint ---]] - -- cgit v1.2.3 From b794a3a524567e0597c8565f043f3156720c318b Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 1 Feb 2023 23:53:42 +0200 Subject: Commented out 'last search pattern' --- lua/user/keys.lua | 81 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 60 insertions(+), 21 deletions(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index f01a0c5..46333e1 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -91,8 +91,8 @@ map("n", "[", ":tabprev") map("n", "]", ":tabnext") -- "Zoom" a split window into a tab and/or close it ---map("n", ",", ":tabnew %") ---map("n", ".", ":tabclose") +map("n", ",", ":tabnew %") +map("n", ".", ":tabclose") -- Vim TABs map("n", "1", "1gt") @@ -152,7 +152,7 @@ map("n", "cd", ":cd %:p:h:pwd") map('n', 'o', ':!xdg-open %') -- Unsets the 'last search pattern' register by hitting return -map("n", "", "!silent :noh") +--map("n", "", "!silent :noh") -- Toggle completion map("n", "tc", ":lua require('user.utils').toggle_completion()") @@ -263,6 +263,45 @@ vim.cmd([[ ]]) map("n", "", ":call OpenLastClosed() ") +-- Function to quickly open/hide terminal window inside vim +-- Terminal operation when +-- 1. terminal is open in split window, it closes the window (terminal still +-- running) +-- 2. terminal open in buffer, it moves window into split window +-- 3. no termial instance running then it opens new terminal instance in split +-- window +local function Term() + local terminal_buffer_number = vim.fn.bufnr("term://") + local terminal_window_number = vim.fn.bufwinnr("term://") + local window_count = vim.fn.winnr("$") + + if terminal_window_number > 0 and window_count > 1 then + vim.fn.execute(terminal_window_number .. "wincmd c") + elseif terminal_buffer_number > 0 and terminal_buffer_number ~= vim.fn.bufnr("%") then + vim.fn.execute("sb " .. terminal_buffer_number) + elseif terminal_buffer_number == vim.fn.bufnr("%") then + vim.fn.execute("bprevious | sb " .. terminal_buffer_number .. " | wincmd p") + else + vim.fn.execute("sp term://zsh") + end +end + +vim.api.nvim_create_user_command("Term", Term, { + desc = "Open terminal window", +}) + +map("n", "g", vim.cmd.Term) +map("t", "g", "") + +--map("n", "",function +----local window_id = +-- local Toggle_float = vim.api.nvim_win_get_config() +--if vim.api.nvim_win_get_config(window_id).relative ~= '' then +-- vim.api.nvim_command("nvim_win_close()") +-- -- window with this window_id is floating +--end +--end +--) ---------------- Plugin Operations ---------------- -- Packer @@ -358,23 +397,23 @@ end map("n", "ww", ":lua Toggle_autopairs()", term_opts) -- Tabularize -vim.cmd([[ - vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" - nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" - "nnoremap i mc40A 080lDgelD`cP - "vnoremap ii mc0f-20i`cdt=j -]]) +--vim.cmd([[ +-- vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" +-- nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" +-- "nnoremap i mc40A 080lDgelD`cP +-- "vnoremap ii mc0f-20i`cdt=j +--]]) -- EasyAlign -vim.cmd([[ - " Start interactive EasyAlign in visual mode (e.g. vipga) - xmap ga (EasyAlign) - " Start interactive EasyAlign for a motion/text object (e.g. gaip) - nmap ga (EasyAlign) - if !exists('g:easy_align_delimiters') - let g:easy_align_delimiters = {} - endif - let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } - nnoremap 21A d21\| - imap a -]]) +--vim.cmd([[ +-- " Start interactive EasyAlign in visual mode (e.g. vipga) +-- xmap ga (EasyAlign) +-- " Start interactive EasyAlign for a motion/text object (e.g. gaip) +-- nmap ga (EasyAlign) +-- if !exists('g:easy_align_delimiters') +-- let g:easy_align_delimiters = {} +-- endif +-- let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } +-- nnoremap 21A d21\| +-- imap a +--]]) -- cgit v1.2.3 From be198bd99c7f986eb7200d22ed95d271cad9a842 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 1 Feb 2023 23:54:35 +0200 Subject: Moved timelenght option to opts.lua --- lua/plugins/lsp.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 900121f..924db87 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -257,7 +257,6 @@ vim.diagnostic.config({ severity_sort = false, -- default to false }) -vim.o.updatetime = 250 vim.cmd[[ augroup OpenFloat autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) -- cgit v1.2.3 From af196d57f5c9665f0ec60414ab076c2113303e4a Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 1 Feb 2023 23:54:58 +0200 Subject: Moved timelength option to opts.lua --- lua/user/opts.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 13e9c1c..90fe0f2 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -25,6 +25,7 @@ vim.cmd([[ -- Environment --vim.opt.shell = "zsh" -- +vim.o.updatetime = 250 vim.o.shell = "/bin/zsh" vim.scriptencoding = "utf-8" -- vim.opt.encoding = "utf-8" -- -- cgit v1.2.3 From 65cb0bb85d5d581addd6acdbd3a8ce77c761cfa5 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 1 Feb 2023 23:56:16 +0200 Subject: Add anchor = 'NE' option to local win --- lua/plugins/modify-blend.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lua/plugins/modify-blend.lua b/lua/plugins/modify-blend.lua index 7c48815..404050f 100644 --- a/lua/plugins/modify-blend.lua +++ b/lua/plugins/modify-blend.lua @@ -2,9 +2,12 @@ local ui = vim.api.nvim_list_uis()[1] local bufnr = vim.api.nvim_create_buf(false, true) local win = vim.api.nvim_open_win(bufnr, true, { - relative = "editor", + --relative = "editor", + --relative = "win", + relative = "cursor", width = ui.width, height = ui.height, + anchor = "NE", row = 10, col = 10, style = "minimal", -- cgit v1.2.3 From 0dbf78a934ccd849fa6d114390fee84e00674656 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 1 Feb 2023 23:57:57 +0200 Subject: Changed relative option = 'cursor' in local win function --- lua/plugins/modify-blend.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/lua/plugins/modify-blend.lua b/lua/plugins/modify-blend.lua index 404050f..3bdd256 100644 --- a/lua/plugins/modify-blend.lua +++ b/lua/plugins/modify-blend.lua @@ -3,7 +3,6 @@ local ui = vim.api.nvim_list_uis()[1] local bufnr = vim.api.nvim_create_buf(false, true) local win = vim.api.nvim_open_win(bufnr, true, { --relative = "editor", - --relative = "win", relative = "cursor", width = ui.width, height = ui.height, -- cgit v1.2.3 From d8cd56aa7ef29a4dd118582faae06085da514e43 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 1 Feb 2023 23:59:13 +0200 Subject: Add max_jobs option --- lua/user/pack.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 43b7a36..1a37d8b 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -15,7 +15,7 @@ if fn.empty(fn.glob(install_path)) > 0 then vim.cmd([[packadd packer.nvim]]) end --- Autocommand that reloads neovim whenever you save the plugins.lua file +-- Autocommand that reloads neovim whenever you save this file vim.cmd([[ augroup packer_user_config autocmd! @@ -29,9 +29,10 @@ if not status_ok then return end --- Have packer use a popup window +-- Have packer use a popup window and set a maximum number of jobs packer.init({ auto_reload_compiled = true, + max_jobs = 90, display = { open_fn = function() return require("packer.util").float({ border = "rounded" }) -- cgit v1.2.3 From 60b49d4ecaa4710c98a525f22dfa2e253f7bd637 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 4 Feb 2023 23:45:09 +0200 Subject: Commented out plugins.modify-blend --- init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/init.lua b/init.lua index 49397d4..7204976 100644 --- a/init.lua +++ b/init.lua @@ -84,6 +84,7 @@ local modules = { "plugins.colorscheme", "plugins.heirline", "plugins.toggleterm", + --"plugins.modify-blend", --"plugins.dap", --"plugins.floatterm", } -- cgit v1.2.3 From 72f02989f4c6906fb1b6e76640d9f803903c9501 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 4 Feb 2023 23:46:32 +0200 Subject: Changed packer keybindings to then Capital P and whatever corresponding key needed --- lua/user/keys.lua | 53 +++++++---------------------------------------------- 1 file changed, 7 insertions(+), 46 deletions(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 46333e1..8feee85 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -91,8 +91,8 @@ map("n", "[", ":tabprev") map("n", "]", ":tabnext") -- "Zoom" a split window into a tab and/or close it -map("n", ",", ":tabnew %") -map("n", ".", ":tabclose") +--map("n", ",", ":tabnew %") +--map("n", ".", ":tabclose") -- Vim TABs map("n", "1", "1gt") @@ -263,53 +263,14 @@ vim.cmd([[ ]]) map("n", "", ":call OpenLastClosed() ") --- Function to quickly open/hide terminal window inside vim --- Terminal operation when --- 1. terminal is open in split window, it closes the window (terminal still --- running) --- 2. terminal open in buffer, it moves window into split window --- 3. no termial instance running then it opens new terminal instance in split --- window -local function Term() - local terminal_buffer_number = vim.fn.bufnr("term://") - local terminal_window_number = vim.fn.bufwinnr("term://") - local window_count = vim.fn.winnr("$") - - if terminal_window_number > 0 and window_count > 1 then - vim.fn.execute(terminal_window_number .. "wincmd c") - elseif terminal_buffer_number > 0 and terminal_buffer_number ~= vim.fn.bufnr("%") then - vim.fn.execute("sb " .. terminal_buffer_number) - elseif terminal_buffer_number == vim.fn.bufnr("%") then - vim.fn.execute("bprevious | sb " .. terminal_buffer_number .. " | wincmd p") - else - vim.fn.execute("sp term://zsh") - end -end - -vim.api.nvim_create_user_command("Term", Term, { - desc = "Open terminal window", -}) - -map("n", "g", vim.cmd.Term) -map("t", "g", "") - ---map("n", "",function -----local window_id = --- local Toggle_float = vim.api.nvim_win_get_config() ---if vim.api.nvim_win_get_config(window_id).relative ~= '' then --- vim.api.nvim_command("nvim_win_close()") --- -- window with this window_id is floating ---end ---end ---) ---------------- Plugin Operations ---------------- -- Packer -map("n", "pc", "PackerCompile") -map("n", "pi", "PackerInstall") -map("n", "ps", "PackerSync") -map("n", "pS", "PackerStatus") -map("n", "pu", "PackerUpdate") +map("n", "Pc", "PackerCompile") +map("n", "Pi", "PackerInstall") +map("n", "Ps", "PackerSync") +map("n", "PS", "PackerStatus") +map("n", "Pu", "PackerUpdate") -- Tmux navigation (aserowy/tmux.nvim) map('n', '', 'NavigatorLeft') -- cgit v1.2.3 From 6f8eb12b1e7a8fb02ce008b46ca031f1b439b7e3 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 4 Feb 2023 23:47:43 +0200 Subject: Changed colorscheme to nightfly --- lua/plugins/colorscheme.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 1f76a40..0ee4364 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,6 +1,6 @@ -- Colorscheme -- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one -local colorscheme = "onedark" +local colorscheme = "nightfly" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then vim.notify("colorscheme " .. colorscheme .. " not found!") @@ -37,3 +37,27 @@ au WinLeave * setl winhl=WinSeparator:WinSeparator require("notify").setup({ background_colour = "#000000", }) +-- let g:terminal_color_0 = '#2e3436' +-- let g:terminal_color_1 = '#cc0000' +-- let g:terminal_color_2 = '#4e9a06' +-- let g:terminal_color_3 = '#c4a000' +-- let g:terminal_color_4 = '#3465a4' +-- let g:terminal_color_5 = '#75507b' +-- let g:terminal_color_6 = '#0b939b' +-- let g:terminal_color_7 = '#d3d7cf' +-- let g:terminal_color_8 = '#555753' +-- let g:terminal_color_9 = '#ef2929' +-- let g:terminal_color_10 = '#8ae234' +-- let g:terminal_color_11 = '#fce94f' +-- let g:terminal_color_12 = '#729fcf' +-- let g:terminal_color_13 = '#ad7fa8' +-- let g:terminal_color_14 = '#00f5e9' +-- let g:terminal_color_15 = '#eeeeec' +-- +-- set background=dark +-- execute "silent! colorscheme base16-eighties" +-- highlight Comment guifg=#585858 +-- highlight Normal guifg=#999999 +-- "highlight TabLine guifg=#333333 guibg=#777777 +-- "highlight TabLineSel guifg=#FA7F7F +-- highlight MatchParen gui=bold guibg=black guifg=limegreen -- cgit v1.2.3 From ebabdd83b32782fbb52d372c6f5a0120150a368b Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 4 Feb 2023 23:50:54 +0200 Subject: Commented out various lines --- lua/plugins/modify-blend.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lua/plugins/modify-blend.lua b/lua/plugins/modify-blend.lua index 3bdd256..1b2c6d5 100644 --- a/lua/plugins/modify-blend.lua +++ b/lua/plugins/modify-blend.lua @@ -1,15 +1,16 @@ local ui = vim.api.nvim_list_uis()[1] -local bufnr = vim.api.nvim_create_buf(false, true) +local bufnr = vim.api.nvim_create_buf(true, true) local win = vim.api.nvim_open_win(bufnr, true, { - --relative = "editor", - relative = "cursor", + relative = "editor", + --relative = "cursor", width = ui.width, height = ui.height, anchor = "NE", row = 10, col = 10, style = "minimal", + zindex = 50, }) vim.api.nvim_win_set_option(win, "winblend", 1) -- cgit v1.2.3 From f752e3b2d81c099948617669f3ad50da85fc84e7 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 4 Feb 2023 23:51:19 +0200 Subject: Changed relative option = 'cursor' in local win function --- lua/plugins/modify-blend.lua | 58 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/lua/plugins/modify-blend.lua b/lua/plugins/modify-blend.lua index 1b2c6d5..4cb2bdd 100644 --- a/lua/plugins/modify-blend.lua +++ b/lua/plugins/modify-blend.lua @@ -2,8 +2,8 @@ local ui = vim.api.nvim_list_uis()[1] local bufnr = vim.api.nvim_create_buf(true, true) local win = vim.api.nvim_open_win(bufnr, true, { - relative = "editor", - --relative = "cursor", + --relative = "editor", + relative = "cursor", width = ui.width, height = ui.height, anchor = "NE", @@ -14,30 +14,30 @@ local win = vim.api.nvim_open_win(bufnr, true, { }) vim.api.nvim_win_set_option(win, "winblend", 1) - -local blend_start = 15 -local offset = 1 - -CANCEL = false -local timer = vim.loop.new_timer() -timer:start( - 0, - 50, - vim.schedule_wrap(function() - blend_start = blend_start + offset - - if blend_start > 90 then - offset = -1 - elseif blend_start < 10 then - offset = 1 - end - - if CANCEL or not vim.api.nvim_win_is_valid(win) then - timer:close() - timer:stop() - return - end - - vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start)) - end) -) +-- +--local blend_start = 15 +--local offset = 1 +-- +--CANCEL = false +--local timer = vim.loop.new_timer() +--timer:start( +-- 0, +-- 50, +-- vim.schedule_wrap(function() +-- blend_start = blend_start + offset +-- +-- if blend_start > 90 then +-- offset = -1 +-- elseif blend_start < 10 then +-- offset = 1 +-- end +-- +-- if CANCEL or not vim.api.nvim_win_is_valid(win) then +-- timer:close() +-- timer:stop() +-- return +-- end +-- +-- vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start)) +-- end) +--) -- cgit v1.2.3 From 39fb25fe21e7417021262e51fbb01d8c0c218158 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 4 Feb 2023 23:52:16 +0200 Subject: Enable plugins.modify-blend --- init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 7204976..5c49c80 100644 --- a/init.lua +++ b/init.lua @@ -84,7 +84,7 @@ local modules = { "plugins.colorscheme", "plugins.heirline", "plugins.toggleterm", - --"plugins.modify-blend", + "plugins.modify-blend", --"plugins.dap", --"plugins.floatterm", } -- cgit v1.2.3 From 2b2c3a49cf7bb4f3dbeb47adb660a34fd8c1c2ba Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:48:03 +0200 Subject: Changed expected_ver to 0.9.0 --- init.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index 5c49c80..a769292 100644 --- a/init.lua +++ b/init.lua @@ -40,7 +40,7 @@ end -- Check if we have the latest stable version of nvim local utils = require("user.utils") -local expected_ver = "0.8.0" +local expected_ver = "0.9.0" local nvim_ver = utils.get_nvim_version() if nvim_ver ~= expected_ver then @@ -80,11 +80,12 @@ local modules = { "plugins.autopairs", "plugins.null-ls", "plugins.web-devicons", + "plugins.navic", "plugins.zen-mode", "plugins.colorscheme", "plugins.heirline", "plugins.toggleterm", - "plugins.modify-blend", + --"plugins.modify-blend", --"plugins.dap", --"plugins.floatterm", } -- cgit v1.2.3 From fe8ad820545b949b53730a8427a89074dacea500 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:48:59 +0200 Subject: Commented out Navic from statusline --- lua/plugins/heirline.lua | 155 ++++++++++++++++++++++++++++------------------- 1 file changed, 92 insertions(+), 63 deletions(-) diff --git a/lua/plugins/heirline.lua b/lua/plugins/heirline.lua index 03b2a47..47ffe18 100644 --- a/lua/plugins/heirline.lua +++ b/lua/plugins/heirline.lua @@ -123,69 +123,98 @@ local LSPActive = { hl = { fg = colors.lightgray, bold = false }, } --- Navic local Navic = { - condition = require("nvim-navic").is_available, - static = { - -- create a type highlight map - type_hl = { - File = "Directory", - Module = "Include", - Namespace = "TSNamespace", - Package = "Include", - Class = "Struct", - Method = "Method", - Property = "TSProperty", - Field = "TSField", - Constructor = "TSConstructor ", - Enum = "TSField", - Interface = "Type", - Function = "Function", - Variable = "TSVariable", - Constant = "Constant", - String = "String", - Number = "Number", - Boolean = "Boolean", - Array = "TSField", - Object = "Type", - Key = "TSKeyword", - Null = "Comment", - EnumMember = "TSField", - Struct = "Struct", - Event = "Keyword", - Operator = "Operator", - TypeParameter = "Type", - }, - }, - init = function(self) - local data = require("nvim-navic").get_data() or {} - local children = {} - -- create a child for each level - for i, d in ipairs(data) do - local child = { - { - provider = d.icon, - hl = self.type_hl[d.type], - }, - { - provider = d.name, - -- highlight icon only or location name as well - -- hl = self.type_hl[d.type], - }, - } - -- add a separator only if needed - if #data > 1 and i < #data then - table.insert(child, { - provider = " > ", - hl = { fg = colors.white }, - }) - end - table.insert(children, child) - end - -- instantiate the new child, overwriting the previous one - self[1] = self:new(children, 1) - end, - hl = { fg = colors.white }, + condition = require("nvim-navic").is_available, + static = { + -- create a type highlight map + type_hl = { + File = "Directory", + Module = "@include", + Namespace = "@namespace", + Package = "@include", + Class = "@structure", + Method = "@method", + Property = "@property", + Field = "@field", + Constructor = "@constructor", + Enum = "@field", + Interface = "@type", + Function = "@function", + Variable = "@variable", + Constant = "@constant", + String = "@string", + Number = "@number", + Boolean = "@boolean", + Array = "@field", + Object = "@type", + Key = "@keyword", + Null = "@comment", + EnumMember = "@field", + Struct = "@structure", + Event = "@keyword", + Operator = "@operator", + TypeParameter = "@type", + }, + -- bit operation dark magic, see below... + enc = function(line, col, winnr) + return bit.bor(bit.lshift(line, 16), bit.lshift(col, 6), winnr) + end, + -- line: 16 bit (65535); col: 10 bit (1023); winnr: 6 bit (63) + dec = function(c) + local line = bit.rshift(c, 16) + local col = bit.band(bit.rshift(c, 6), 1023) + local winnr = bit.band(c, 63) + return line, col, winnr + end + }, + init = function(self) + local data = require("nvim-navic").get_data() or {} + local children = {} + -- create a child for each level + for i, d in ipairs(data) do + -- encode line and column numbers into a single integer + local pos = self.enc(d.scope.start.line, d.scope.start.character, self.winnr) + local child = { + { + provider = d.icon, + hl = self.type_hl[d.type], + }, + { + -- escape `%`s (elixir) and buggy default separators + provider = d.name:gsub("%%", "%%%%"):gsub("%s*->%s*", ''), + -- highlight icon only or location name as well + -- hl = self.type_hl[d.type], + + on_click = { + -- pass the encoded position through minwid + minwid = pos, + callback = function(_, minwid) + -- decode + local line, col, winnr = self.dec(minwid) + vim.api.nvim_win_set_cursor(vim.fn.win_getid(winnr), {line, col}) + end, + name = "heirline_navic", + }, + }, + } + -- add a separator only if needed + if #data > 1 and i < #data then + table.insert(child, { + provider = " > ", + hl = { fg = 'bright_fg' }, + }) + end + table.insert(children, child) + end + -- instantiate the new child, overwriting the previous one + self.child = self:new(children, 1) + end, + -- evaluate the children containing navic components + provider = function(self) + return self.child:eval() + end, + hl = { fg = colors.white }, + update = 'CursorMoved' } -- Diagnostics @@ -723,7 +752,7 @@ local left = { } local middle = { { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, - { Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, + --{ Navic, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, { DAPMessages, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, { Align, hl = { bg = utils.get_highlight("statusline").bg, force = true } }, } -- cgit v1.2.3 From ef68af709d810e5040076ea8e2f34c88c3761f69 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:49:54 +0200 Subject: Commented out pyright and vim-language-server --- lua/plugins/lsp.lua | 54 ++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 924db87..ac3cd64 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -148,14 +148,14 @@ else vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) end --- if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } --- else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) --- end +--if utils.executable('pyright') then +-- lspconfig.pyright.setup{ +-- on_attach = custom_attach, +-- capabilities = capabilities +-- } +--else +-- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) +--end if utils.executable("clangd") then lspconfig.clangd.setup({ @@ -171,25 +171,25 @@ else end -- set up vim-language-server -if utils.executable("vim-language-server") then - lspconfig.vimls.setup({ - on_attach = custom_attach, - flags = { - debounce_text_changes = 500, - }, - capabilities = capabilities, - }) -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) -end - --- set up bash-language-server -if utils.executable("bash-language-server") then - lspconfig.bashls.setup({ - on_attach = custom_attach, - capabilities = capabilities, - }) -end +--if utils.executable("vim-language-server") then +-- lspconfig.vimls.setup({ +-- on_attach = custom_attach, +-- flags = { +-- debounce_text_changes = 500, +-- }, +-- capabilities = capabilities, +-- }) +--else +-- vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) +--end +-- +---- set up bash-language-server +--if utils.executable("bash-language-server") then +-- lspconfig.bashls.setup({ +-- on_attach = custom_attach, +-- capabilities = capabilities, +-- }) +--end if utils.executable("lua-language-server") then lspconfig.sumneko_lua.setup({ -- cgit v1.2.3 From 0bfa4b530a194230568525cdcfa28bca7ab11686 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:51:20 +0200 Subject: Update on ensure_installed (vim-language-server and pylsp) --- lua/plugins/mason.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua index c0fdca6..a28551b 100644 --- a/lua/plugins/mason.lua +++ b/lua/plugins/mason.lua @@ -2,13 +2,21 @@ local status, mason = pcall(require, "mason") if (not status) then return end local status2, lspconfig = pcall(require, "mason-lspconfig") if (not status2) then return end +local status3, lspconfig = pcall(require, "lspconfig") +if (not status3) then return end mason.setup({ }) lspconfig.setup { - ensure_installed = { "sumneko_lua" }, + ensure_installed = { + "pylsp", + "pyright", + "clangd", + "sumneko_lua", + "vim-language-server", + } } local keymap = vim.api.nvim_set_keymap local opts = { noremap = true } -- cgit v1.2.3 From 7442ba93b0f2b4b096681740d03ae24fb1298121 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:52:42 +0200 Subject: Update find_configs function with ~/.config/kitty --- lua/plugins/telescope.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index c4aca35..8acec81 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -294,6 +294,7 @@ function M.find_configs() "~/.config/tmux", "~/.config/X11", "~/.config/alacritty", + "~/.config/kitty", "~/.config/wezterm", "~/.config/bspwm", "~/.config/sxhkd", -- cgit v1.2.3 From 74c1c0ec047bfa4fc34e24d53577415a4743fa43 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:53:35 +0200 Subject: New autocmd to stop annoying commenting on new lines --- lua/user/opts.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lua/user/opts.lua b/lua/user/opts.lua index 90fe0f2..468b7af 100644 --- a/lua/user/opts.lua +++ b/lua/user/opts.lua @@ -23,6 +23,14 @@ vim.cmd([[ xnoremap @ :execute "noautocmd '<,'>norm! " . v:count1 . "@" . getcharstr() ]]) +-- Stop annoying auto commenting on new lines +vim.cmd [[ + augroup annoying + au! + au BufEnter * set fo-=c fo-=r fo-=o + augroup end +]] + -- Environment --vim.opt.shell = "zsh" -- vim.o.updatetime = 250 -- cgit v1.2.3 From 3ae6b7da1d916931cd5fdf3ce302169f724d33c1 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:53:56 +0200 Subject: Clean config --- lua/user/pack.lua | 440 ++++++++++++++++-------------------------------------- 1 file changed, 126 insertions(+), 314 deletions(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 1a37d8b..39b5d29 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -1,5 +1,7 @@ local fn = vim.fn +-------------------------------------------------- + -- Automatically install packer local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(install_path)) > 0 then @@ -15,6 +17,8 @@ if fn.empty(fn.glob(install_path)) > 0 then vim.cmd([[packadd packer.nvim]]) end +-------------------------------------------------- + -- Autocommand that reloads neovim whenever you save this file vim.cmd([[ augroup packer_user_config @@ -23,16 +27,20 @@ vim.cmd([[ augroup end ]]) +-------------------------------------------------- + -- Use a protected call so we don't error out on first use local status_ok, packer = pcall(require, "packer") if not status_ok then return end +-------------------------------------------------- + -- Have packer use a popup window and set a maximum number of jobs packer.init({ auto_reload_compiled = true, - max_jobs = 90, + --max_jobs = 90, display = { open_fn = function() return require("packer.util").float({ border = "rounded" }) @@ -40,142 +48,43 @@ packer.init({ }, }) --- Install your plugins here +-------------------------------------------------- + +-- Install plugins here return packer.startup(function(use) + -- Defaults use("wbthomason/packer.nvim") -- Have packer manage itself - - use("lewis6991/impatient.nvim") use("nvim-lua/plenary.nvim") -- Useful lua functions used by lots of plugins - --use("jose-elias-alvarez/null-ls.nvim") - - -- lsp - use { - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim", - "neovim/nvim-lspconfig", - } - require("mason").setup() - local mason_lspconfig = require("mason-lspconfig") - mason_lspconfig.setup({ - ensure_installed = { - "pylsp", - "pyright", - "clangd", - --"vim-language-server", - --"bash-language-server", - --"lua-language-server", - "sumneko_lua", - } - }) - use({ "j-hui/fidget.nvim", - config = function() - require("fidget").setup() - end - }) - --use({ "folke/trouble.nvim", - -- config = function() - -- require("trouble").setup({ position = "right", }) - -- end - --}) - --use({ - --"folke/trouble.nvim", - --requires = "kyazdani42/nvim-web-devicons", - --config = function() - -- require("trouble").setup({ - -- --postion = "top", - -- postion = "right", - -- -- your configuration comes here - -- -- or leave it empty to use the default settings - -- -- refer to the configuration section below - -- }) - --end, - --}) - - --use({ - -- "https://git.sr.ht/~whynothugo/lsp_lines.nvim", -- See also: https://github.com/Maan2003/lsp_lines.nvim - -- config = function() - -- require("lsp_lines").setup() - - -- -- disable virtual_text since it's redundant due to lsp_lines. - -- vim.diagnostic.config({ - -- virtual_text = false, - -- }) - -- end, - --}) - use { "simrat39/symbols-outline.nvim", - config = function() - require("symbols-outline").setup({ - auto_close = true, - }) - end - } - use "antoinemadec/FixCursorHold.nvim" - use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } - --use("folke/lsp-colors.nvim") - use "mfussenegger/nvim-lint" - use "weilbith/nvim-code-action-menu" - use "simrat39/rust-tools.nvim" - use { "saecki/crates.nvim", - requires = { "nvim-lua/plenary.nvim" }, - config = function() - require("crates").setup() - end, - } - --use "lvimuser/lsp-inlayhints.nvim" -- rust-tools already provides this feature, but gopls doesn't - - -- null-ls - --use({ "jose-elias-alvarez/null-ls.nvim", - -- config = function() - -- require("null-ls").setup({ - -- sources = { - -- require("null-ls").builtins.diagnostics.checkmake, -- https://github.com/mrtazz/checkmake - -- } - -- }) - -- end - --}) - use({ - "jose-elias-alvarez/null-ls.nvim", + use("lewis6991/impatient.nvim") -- Faster loading/startup times + + -- Tree-sitter + use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) -- For language parsing, examples: highlighting, folding, jumping, refactoring... + use("nvim-treesitter/nvim-treesitter-refactor") -- Refactor module for nvim-treesitter + + -- lsp + use("williamboman/mason.nvim") -- Package manager to install and manage LSP servers, DAP servers, linters and formatters + use("williamboman/mason-lspconfig.nvim") -- Bridges mason.nvim with nvim-lspconfig to help use them together + use("neovim/nvim-lspconfig") -- Collection of LSP configs + --use { + -- "williamboman/mason.nvim", -- Package manager to install and manage LSP servers, DAP servers, linters and formatters + -- "williamboman/mason-lspconfig.nvim", -- Bridges mason.nvim with nvim-lspconfig to help use them together + -- "neovim/nvim-lspconfig", -- Collection of LSP configs + --} + + -- Debugger + use("mfussenegger/nvim-dap") -- Debug Adapter Protocol client implementation for Neovim + + -- Linters/Formatters + use({ + "jose-elias-alvarez/null-ls.nvim", -- Provides LSP: linters, formatters, diagnostics, code actions and etc... config = function() require("null-ls").setup() end, requires = { "nvim-lua/plenary.nvim" }, }) - use({ - "SmiteshP/nvim-navic", - requires = "neovim/nvim-lspconfig", - }) - - -- nvimlsp plugins - --use({ - -- "williamboman/mason.nvim", - -- config = function() - -- require("mason").setup() - -- require("mason-lspconfig").setup({ - -- ensure_installed = { "sumneko_lua", "clangd", "rust_analyzer" }, - -- }) - -- end, - --}) - --use("williamboman/mason.nvim") - --use("williamboman/mason-lspconfig.nvim") - --use("neovim/nvim-lspconfig") - --use("williamboman/nvim-lsp-installer") - --use("glepnir/lspsaga.nvim") - --use("nvim-lua/lsp-status.nvim") - --use({ - -- "glepnir/lspsaga.nvim", - -- branch = "main", - -- config = function() - -- local saga = require("lspsaga") - -- saga.init_lsp_saga({ - -- -- your configuration - -- }) - -- end, - --}) - -- use("nvim-lua/popup.nvim") - --use("SmiteshP/nvim-gps") - -- autocomplete plugins - use("hrsh7th/nvim-cmp") + -- Completion + use("hrsh7th/nvim-cmp") use("hrsh7th/cmp-nvim-lsp") use("hrsh7th/cmp-buffer") use("hrsh7th/cmp-path") @@ -188,99 +97,64 @@ return packer.startup(function(use) use("hrsh7th/cmp-nvim-lsp-signature-help") use("onsails/lspkind-nvim") - -- snippets - --use("L3MON4D3/LuaSnip") --snippet engine - use("L3MON4D3/LuaSnip") - use("rafamadriz/friendly-snippets") -- a bunch of snippets to use - --use("github/copilot.vim") - --use({ - --"zbirenbaum/copilot.lua", - --event = { "VimEnter" }, - --config = function() - --vim.defer_fn(function() - --require("plugins.copilot") - --end, 100) - --end, - --}) - --use({ - --"zbirenbaum/copilot-cmp", - --module = "copilot_cmp", - --}) + -- Snippets + use("L3MON4D3/LuaSnip") -- Snippet engine + use("rafamadriz/friendly-snippets") -- Collection of snippets to use - -- treesitter plugins - use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) --folding, jumping, refactoring... - use("nvim-treesitter/nvim-treesitter-refactor") - use("nvim-treesitter/nvim-treesitter-context") - --use({ - -- "danymat/neogen", - -- config = function() - -- require("neogen").setup({ snippet_engine = "luasnip" }) - -- end, - -- requires = "nvim-treesitter/nvim-treesitter", - --}) - --use({ "junegunn/fzf", run = ":call fzf#install()" }) - use('ibhagwan/fzf-lua') - -- telescope plugins + -- Git + use("dinhhuy258/git.nvim") -- For git blame & browse + use("kdheepak/lazygit.nvim") + use("lewis6991/gitsigns.nvim") + + -- File explorer/fuzzy finder + use("kyazdani42/nvim-tree.lua") + use('ibhagwan/fzf-lua') -- Fuzzy finder use("nvim-telescope/telescope.nvim") use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) - use("tami5/sqlite.lua") - --use("nvim-telescope/telescope-frecency.nvim") use("nvim-telescope/telescope-ui-select.nvim") use("nvim-telescope/telescope-media-files.nvim") use("nvim-telescope/telescope-file-browser.nvim") - -- search emoji and other symbols - use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) + use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) -- Search emoji(s) and other symbols use("axkirillov/telescope-changed-files") - --use({ - --"princejoogie/dir-telescope.nvim", - --requires = {"nvim-telescope/telescope.nvim"}, - --config = function() - -- require("dir-telescope").setup({ - -- hidden = true, - -- respect_gitignore = true, - -- }) - --end, - --}) + + -- UX + use({ + 'numToStr/Navigator.nvim', -- Navigate between Tmux and Nvim + config = function() + require('Navigator').setup() + end, + }) + use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) -- Handy unix commands inside Vim (Rename, Move etc.) + use("tpope/vim-fugitive") + --use("tpope/vim-surround") + --use("tpope/vim-obsession") + --use("tpope/vim-unimpaired") + --use("vimpostor/vim-tpipeline") + use("nathom/filetype.nvim") + use("myusuf3/numbers.vim") + use("windwp/nvim-autopairs") + use("numToStr/Comment.nvim") + use("akinsho/toggleterm.nvim") + use("tweekmonster/startuptime.vim") + use({ + "ggandor/leap.nvim", + config = function() + require('leap').add_default_mappings() + --require("leap").set_default_keymaps() + --vim.keymap.set('n', '-', '(leap-forward)', {}) + --vim.keymap.set('n', '_', '(leap-backward)', {}) + end, + }) + use({ "ggandor/flit.nvim", + config = function() + require("flit").setup() + end, + }) + use("folke/which-key.nvim") + use("folke/zen-mode.nvim") + use("romainl/vim-cool") + use "antoinemadec/FixCursorHold.nvim" use("airblade/vim-rooter") - -- statusline plugins - --use("nvim-lualine/lualine.nvim") - --use({ - -- "nvim-lualine/lualine.nvim", - -- requires = { "kyazdani42/nvim-web-devicons", opt = true }, - --}) - --use({ - -- "folke/trouble.nvim", - -- requires = "kyazdani42/nvim-web-devicons", - -- config = function() - -- require("trouble").setup({ - -- -- your configuration comes here - -- -- or leave it empty to use the default settings - -- -- refer to the configuration section below - -- }) - -- end, - --}) - use("rebelot/heirline.nvim") - --use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" }) - --use("itchyny/lightline.vim") - -- debug plugins - --use("puremourning/vimspector") - use("mfussenegger/nvim-dap") - use("rcarriga/nvim-dap-ui") - --use({ - -- "rcarriga/neotest", - -- requires = { - -- "nvim-lua/plenary.nvim", - -- "nvim-treesitter/nvim-treesitter", - -- "antoinemadec/FixCursorHold.nvim", - -- "rcarriga/neotest-python", - -- "rcarriga/neotest-vim-test", - -- "rcarriga/neotest-plenary", - -- "vim-test/vim-test", - -- }, - -- config = function() - -- require("plugins.neotest") - -- end, - --}) --use("vim-test/vim-test") --use({ -- "rcarriga/vim-ultest", @@ -290,128 +164,66 @@ return packer.startup(function(use) -- require("plugins.ultest") -- end, --}) - -- UI - use("karb94/neoscroll.nvim") - use("folke/which-key.nvim") - use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client - use("norcalli/nvim-colorizer.lua") - use("folke/zen-mode.nvim") - use("romainl/vim-cool") - --use("p00f/nvim-ts-rainbow") - --use("goolord/alpha-nvim") - --use("feline-nvim/feline.nvim") - --use({ "fgheng/winbar.nvim" }) - --use("vim-airline/vim-airline") - --use("kdheepak/tabline.nvim") - -- use({ - -- "kdheepak/tabline.nvim", - -- config = function() - -- require("tabline").setup({ enable = false }) - -- end, - -- requires = { "hoob3rt/lualine.nvim", "kyazdani42/nvim-web-devicons" }, - -- notification plugin - use("rcarriga/nvim-notify") - --use("lukas-reineke/indent-blankline.nvim") - use("kyazdani42/nvim-web-devicons") + -- Colorschemes use("gruvbox-community/gruvbox") use("srcery-colors/srcery-vim") use("tomasr/molokai") use("ayu-theme/ayu-vim") - --use("sjl/badwolf") use("joshdick/onedark.vim") use("everblush/everblush.nvim") use("EdenEast/nightfox.nvim") use("bluz71/vim-nightfly-guicolors") - --use({ "shaunsingh/oxocarbon.nvim", run = "./install.sh" }) use("jacoborus/tender.vim") use("sainnhe/sonokai") use("NTBBloodbath/doom-one.nvim") - -- Utilities - use("nathom/filetype.nvim") - --use("christoomey/vim-tmux-navigator") - use("preservim/vimux") - use("myusuf3/numbers.vim") - use("windwp/nvim-autopairs") - use("lewis6991/gitsigns.nvim") - use("dinhhuy258/git.nvim") -- For git blame & browse - use("kdheepak/lazygit.nvim") - use("kyazdani42/nvim-tree.lua") - use("numToStr/Comment.nvim") - use("akinsho/toggleterm.nvim") - --use("godlygeek/tabular") - --use("Vonr/align.nvim") - --use("junegunn/vim-easy-align") - --use("dstein64/vim-startuptime") - use("tweekmonster/startuptime.vim") - -- use("luukvbaal/stabilize.nvim") - --use("rhysd/clever-f.vim") - --use("ggandor/lightspeed.nvim") -- use 'cl' and 'cc' instead of 's' and 'S' respectively - --use("ggandor/leap.nvim") - use({ - "ggandor/leap.nvim", - config = function() - require('leap').add_default_mappings() - --require("leap").set_default_keymaps() - --vim.keymap.set('n', '-', '(leap-forward)', {}) - --vim.keymap.set('n', '_', '(leap-backward)', {}) - end, - }) - use({ "ggandor/flit.nvim", + -- UI + use("kyazdani42/nvim-web-devicons") + --use("goolord/alpha-nvim") + use("rcarriga/nvim-notify") -- Notification plugin + use("karb94/neoscroll.nvim") + use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client + use("norcalli/nvim-colorizer.lua") + use({ "j-hui/fidget.nvim", -- UI to show nvim-lsp progress config = function() - require("flit").setup() - end, + require("fidget").setup() + end }) - - --use("Shatur/neovim-session-manager") - --use("rmagatti/auto-session") - --use("rmagatti/session-lens") - --use("ahmedkhalf/project.nvim") - --use("aserowy/tmux.nvim") - --use({ - -- "aserowy/tmux.nvim", - -- config = function() return require("tmux").setup() { - -- copy_sync = { - -- enable = false, - -- }, - -- } - -- end, - --}) + use("rcarriga/nvim-dap-ui") + use { "simrat39/symbols-outline.nvim", + config = function() + require("symbols-outline").setup({ + auto_close = true, + }) + end + } + use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } use({ - 'numToStr/Navigator.nvim', + "SmiteshP/nvim-navic", -- Statusline/Winbar component that uses LSP to show current code context + requires = "neovim/nvim-lspconfig", + }) + use({ + 'rebelot/heirline.nvim', -- Statusline that is highly configurable + requires = 'kyazdani42/nvim-web-devicons', + event = 'VimEnter', + }) + + -- Language specific tools + use "simrat39/rust-tools.nvim" + use { "saecki/crates.nvim", + requires = { "nvim-lua/plenary.nvim" }, config = function() - require('Navigator').setup() + require("crates").setup() end, - }) - --use("wakatime/vim-wakatime") - --use("tpope/vim-eunuch") - -- Handy unix command inside Vim (Rename, Move etc.) - use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) - use("tpope/vim-fugitive") - --use("tpope/vim-surround") - --use("tpope/vim-obsession") - --use("tpope/vim-unimpaired") - --use("voldikss/vim-floaterm") - --use("vimpostor/vim-tpipeline") - --use({ - -- "vimwiki/vimwiki", - -- config = function() - -- vim.g.vimwiki_list = { - -- { - -- path = "~/", - -- syntax = "markdown", - -- ext = ".md", - -- }, - -- } - -- vim.g.vimwiki_ext2syntax = { - -- [".md"] = "markdown", - -- [".markdown"] = "markdown", - -- [".mdown"] = "markdown", + } use({ - "iamcco/markdown-preview.nvim", + "iamcco/markdown-preview.nvim", -- Markdown Preview run = function() vim.fn["mkdp#util#install"]() end, }) + use {"ellisonleao/glow.nvim", config = function() require("glow").setup() end} -- Markdown Preview + +-------------------------------------------------- -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins -- cgit v1.2.3 From fb5b5f0a7cede3bbf3204cf01ae6e69b213bd4ed Mon Sep 17 00:00:00 2001 From: srdusr Date: Sun, 5 Feb 2023 23:55:57 +0200 Subject: Add navic.lua --- lua/plugins/navic.lua | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lua/plugins/navic.lua diff --git a/lua/plugins/navic.lua b/lua/plugins/navic.lua new file mode 100644 index 0000000..a58240a --- /dev/null +++ b/lua/plugins/navic.lua @@ -0,0 +1,46 @@ +local navic = require("nvim-navic") +local on_attach = function(client, bufnr) + if client.server_capabilities.documentSymbolProvider then + navic.attach(client, bufnr) + end +end + +require("lspconfig").clangd.setup { + on_attach = on_attach +} + +navic.setup { + icons = { + File = " ", + Module = " ", + Namespace = " ", + Package = " ", + Class = " ", + Method = " ", + Property = " ", + Field = " ", + Constructor = " ", + Enum = "練", + Interface = "練", + Function = " ", + Variable = " ", + Constant = " ", + String = " ", + Number = " ", + Boolean = "◩ ", + Array = " ", + Object = " ", + Key = " ", + Null = "ﳠ ", + EnumMember = " ", + Struct = " ", + Event = " ", + Operator = " ", + TypeParameter = " ", + }, + highlight = false, + separator = " > ", + depth_limit = 0, + depth_limit_indicator = "..", + safe_output = true +} -- cgit v1.2.3 From b9776df54065eaee475eae20583a627f9279d7eb Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 6 Feb 2023 21:49:57 +0200 Subject: Commented out to investigate saving more than one file outcome --- autoload/scripts.vim | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/autoload/scripts.vim b/autoload/scripts.vim index 5c695d3..77bd813 100644 --- a/autoload/scripts.vim +++ b/autoload/scripts.vim @@ -1,15 +1,15 @@ -if !exists('*scripts#save_and_exec') - function! scripts#save_and_exec() abort - if &filetype == 'vim' - :silent! write - :source % - elseif &filetype == 'lua' - :silent! write - :luafile % - endif - - return - endfunction -endif +"if !exists('*scripts#save_and_exec') +" function! scripts#save_and_exec() abort +" if &filetype == 'vim' +" :silent! write +" :source % +" elseif &filetype == 'lua' +" :silent! write +" :luafile % +" endif +" +" return +" endfunction +"endif -- cgit v1.2.3 From f4bec25a913ebebf12876c8c013de3b2373801b5 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 6 Feb 2023 21:50:38 +0200 Subject: Clean config and removed unwanted colorschemes --- lua/plugins/colorscheme.lua | 72 +++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index 0ee4364..346bc4a 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -1,5 +1,6 @@ -- Colorscheme --- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one +-- Available colorschemes: +-- [[ nightfly ayu onedark doom-one ]] local colorscheme = "nightfly" local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) if not status_ok then @@ -11,53 +12,54 @@ vim.api.nvim_command("syntax on") vim.api.nvim_command("highlight Normal guibg=none") vim.api.nvim_command("highlight SignColumn guibg=none") vim.api.nvim_command("highlight TabLine guibg=#333842 gui=bold") ---vim.api.nvim_command("highlight TabLine guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineSel guibg=none guifg=none gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=#333842 guifg=#d6d3ea gui=bold") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight TabLineSel guibg=#bd93f9 gui=bold") vim.api.nvim_command("highlight Title guibg=none gui=bold") ---vim.api.nvim_command("highlight WinSeparator guibg=none gui=bold") vim.api.nvim_command("highlight TabLineSel guibg=#333842 gui=bold") vim.api.nvim_command("highlight TabLineFill guibg=none gui=bold") vim.api.nvim_command("highlight WinBar guibg=none gui=bold") vim.api.nvim_command("highlight NormalFloat guibg=none") +--vim.api.nvim_command("highlight TabLineSel guibg=none guifg=none gui=bold") +--vim.api.nvim_command("highlight TabLineNC guibg=none gui=bold") +--vim.api.nvim_command("highlight StatusLine guibg=#333842 gui=bold") +--vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") +--vim.api.nvim_command("highlight WinSeparator guibg=none gui=bold") --vim.api.nvim_command("highlight MsgSeparator guibg=none") --vim.api.nvim_command("highlight PmenuSel guibg=none") --vim.api.nvim_command("highlight winblend guibg=none") ---vim.api.nvim_command("highlight StatusLine guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none gui=bold") ---vim.api.nvim_command("highlight StatusLineNC guibg=none ctermfg=Cyan guifg=#80a0ff gui=bold") + +-- Set different window separator colorscheme vim.cmd[[ au WinEnter * setl winhl=WinSeparator:WinSeparatorA au WinLeave * setl winhl=WinSeparator:WinSeparator ]] + require("notify").setup({ background_colour = "#000000", }) --- let g:terminal_color_0 = '#2e3436' --- let g:terminal_color_1 = '#cc0000' --- let g:terminal_color_2 = '#4e9a06' --- let g:terminal_color_3 = '#c4a000' --- let g:terminal_color_4 = '#3465a4' --- let g:terminal_color_5 = '#75507b' --- let g:terminal_color_6 = '#0b939b' --- let g:terminal_color_7 = '#d3d7cf' --- let g:terminal_color_8 = '#555753' --- let g:terminal_color_9 = '#ef2929' --- let g:terminal_color_10 = '#8ae234' --- let g:terminal_color_11 = '#fce94f' --- let g:terminal_color_12 = '#729fcf' --- let g:terminal_color_13 = '#ad7fa8' --- let g:terminal_color_14 = '#00f5e9' --- let g:terminal_color_15 = '#eeeeec' + +-- Custom colorscheme +--vim.cmd([[ +-- let g:terminal_color_0 = '#2e3436' +-- let g:terminal_color_1 = '#cc0000' +-- let g:terminal_color_2 = '#4e9a06' +-- let g:terminal_color_3 = '#c4a000' +-- let g:terminal_color_4 = '#3465a4' +-- let g:terminal_color_5 = '#75507b' +-- let g:terminal_color_6 = '#0b939b' +-- let g:terminal_color_7 = '#d3d7cf' +-- let g:terminal_color_8 = '#555753' +-- let g:terminal_color_9 = '#ef2929' +-- let g:terminal_color_10 = '#8ae234' +-- let g:terminal_color_11 = '#fce94f' +-- let g:terminal_color_12 = '#729fcf' +-- let g:terminal_color_13 = '#ad7fa8' +-- let g:terminal_color_14 = '#00f5e9' +-- let g:terminal_color_15 = '#eeeeec' -- --- set background=dark --- execute "silent! colorscheme base16-eighties" --- highlight Comment guifg=#585858 --- highlight Normal guifg=#999999 --- "highlight TabLine guifg=#333333 guibg=#777777 --- "highlight TabLineSel guifg=#FA7F7F --- highlight MatchParen gui=bold guibg=black guifg=limegreen +-- set background=dark +-- execute "silent! colorscheme base16-eighties" +-- highlight Comment guifg=#585858 +-- highlight Normal guifg=#999999 +-- "highlight TabLine guifg=#333333 guibg=#777777 +-- "highlight TabLineSel guifg=#FA7F7F +-- highlight MatchParen gui=bold guibg=black guifg=limegreen +--]]) -- cgit v1.2.3 From 9f89388acae734e65cc91164e66375849b512f74 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 6 Feb 2023 21:50:55 +0200 Subject: Clean config --- lua/plugins/lsp.lua | 177 ++++++++++++++++++++++++++-------------------------- 1 file changed, 88 insertions(+), 89 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index ac3cd64..83f3d97 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -4,62 +4,50 @@ local keymap = vim.keymap local utils = require("user.utils") -local custom_attach = function(client, bufnr) - -- Enable completion triggered by - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') ---vim.lsp.protocol.CompletionItemKind = {} - -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true +-- Use an on_attach function to only map the following keys +-- after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + -- Enable completion triggered by + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Mappings + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true opts.noremap = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end ---map("n", "gd", "Lspsaga lsp_finder") -- Press "o" to open the reference location ---map("n", "gp", "Lspsaga peek_definition") --- --map("n", "gd", vim.lsp.buf.definition, { desc = "go to definition" }) - map("n", "", vim.lsp.buf.definition) --- map("n", "K", vim.lsp.buf.hover) --- map("n", "", vim.lsp.buf.signature_help) --- map("n", "rn", vim.lsp.buf.rename, { desc = "varialble rename" }) --- map("n", "gr", vim.lsp.buf.references, { desc = "show references" }) --- map("n", "[d", vim.diagnostic.goto_prev, { desc = "previous diagnostic" }) --- map("n", "]d", vim.diagnostic.goto_next, { desc = "next diagnostic" }) - map("n", "q", function() - vim.diagnostic.setqflist({ open = true }) - end, { desc = "put diagnostic to qf" }) --- --map.('n', 'q', vim.diagnostic.setloclist) --- map("n", "ga", vim.lsp.buf.code_action, { desc = "LSP code action" }) --- map("n", "wa", vim.lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) --- map("n", "wr", vim.lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) --- map("n", "wl", function() --- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) --- end, { desc = "list workspace folder" }) --- map("n", "gs", "vim.lsp.buf.document_symbol()") --- map("n", "gw", "vim.lsp.buf.workspace_symbol()", { desc = "list workspace folder" }) --- --map("n", "gs", ":lua vim.lsp.buf.document_symbol()") --- map("n", "gt", ":lua vim.lsp.buf.type_definition()") --- map("n", "gD", ":lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. --- map("n", "gi", ":lua vim.lsp.buf.implementation()") - map("n", "go", ":lua vim.diagnostic.open_float()") --- map("n", "gk", "Lspsaga diagnostic_jump_prev") --- map("n", "gj", "Lspsaga diagnostic_jump_next") ---vim.api.nvim_set_keymap('n', 'dd', 'lua vim.diagnostic.setloclist()', { noremap = true, silent = true }) - --nnoremap("gI", vim.lsp.buf.incoming_calls, opts) - -- - --nnoremap("cs", vim.lsp.buf.document_symbol, opts) - --nnoremap("cw", vim.lsp.buf.workspace_symbol, opts) - --nnoremap("rf", vim.lsp.buf.formatting, opts) - --require("which-key").register { - -- ["rf"] = "lsp: format buffer", - -- ["ca"] = "lsp: code action", - -- ["gd"] = "lsp: go to type definition", - -- ["gr"] = "lsp: references", - -- ["gi"] = "lsp: implementation", - -- ["gI"] = "lsp: incoming calls", - --} ---end + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + + map("n", "K", vim.lsp.buf.hover) + map("n", "gd", vim.lsp.buf.definition) + map("n", "gi", vim.lsp.buf.implementation) + map("n", "gr", vim.lsp.buf.references) + map("n", "gD", vim.lsp.buf.declaration()) -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. + map("n", "k", vim.lsp.buf.signature_help) + map("n", "gt", vim.lsp.buf.type_definition()) + map("n", "gn", vim.lsp.buf.rename) + map("n", "ga", vim.lsp.buf.code_action) + map("n", "gf", vim.lsp.buf.formatting) + map("n", "go", vim.diagnostic.open_float()) + map("n", "[d", vim.diagnostic.goto_prev) + map("n", "]d", vim.diagnostic.goto_next) + map("n", "gs", vim.lsp.buf.document_symbol()) + map("n", "gw", vim.lsp.buf.workspace_symbol()) + map("n", "wa", vim.lsp.buf.add_workspace_folder) + map("n", "wr", vim.lsp.buf.remove_workspace_folder) + map("n", "wl", function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end) + --map("n", "q", function() + -- vim.diagnostic.setqflist({ open = true }) + --end) + --map.('n', 'q', vim.diagnostic.setloclist) + --map("n", "gk", "Lspsaga diagnostic_jump_prev") + --map("n", "gj", "Lspsaga diagnostic_jump_next") +end + +-- Toggle diagnostics visibility vim.g.diagnostics_visible = true function _G.toggle_diagnostics() if vim.g.diagnostics_visible then @@ -82,9 +70,19 @@ end map("n", "ra", "RustHoverAction") end +-- this part is telling Neovim to use the lsp server +--local servers = { 'pyright', 'tsserver', 'jdtls' } +--for _, lsp in pairs(servers) do +-- require('lspconfig')[lsp].setup { +-- on_attach = on_attach, +-- flags = { +-- debounce_text_changes = 150, +-- } +-- } +--end -- Highlight symbol under cursor --- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands. +-- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands.) if client.server_capabilities.document_highlight then vim.cmd [[ @@ -148,14 +146,14 @@ else vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Server?" }) end ---if utils.executable('pyright') then --- lspconfig.pyright.setup{ --- on_attach = custom_attach, --- capabilities = capabilities --- } ---else --- vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) ---end +if utils.executable('pyright') then + lspconfig.pyright.setup{ + on_attach = custom_attach, + capabilities = capabilities + } +else + vim.notify("pyright not found!", vim.log.levels.WARN, {title = 'Server?'}) +end if utils.executable("clangd") then lspconfig.clangd.setup({ @@ -170,26 +168,26 @@ else vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Server?" }) end --- set up vim-language-server ---if utils.executable("vim-language-server") then --- lspconfig.vimls.setup({ --- on_attach = custom_attach, --- flags = { --- debounce_text_changes = 500, --- }, --- capabilities = capabilities, --- }) ---else --- vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) ---end --- ----- set up bash-language-server ---if utils.executable("bash-language-server") then --- lspconfig.bashls.setup({ --- on_attach = custom_attach, --- capabilities = capabilities, --- }) ---end +-- Set up vim-language-server +if utils.executable("vim-language-server") then + lspconfig.vimls.setup({ + on_attach = custom_attach, + flags = { + debounce_text_changes = 500, + }, + capabilities = capabilities, + }) +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Server?" }) +end + +-- Set up bash-language-server +if utils.executable("bash-language-server") then + lspconfig.bashls.setup({ + on_attach = custom_attach, + capabilities = capabilities, + }) +end if utils.executable("lua-language-server") then lspconfig.sumneko_lua.setup({ @@ -239,10 +237,6 @@ require("lspconfig").rust_analyzer.setup{ } end ---vim.diagnostic.config({ --- virtual_text = false, --- underline = true, ---}) vim.diagnostic.config({ underline = false, signs = true, @@ -263,6 +257,7 @@ augroup OpenFloat augroup END ]] + vim.cmd([[ function! ToggleDiagnosticsOpenFloat() " Switch the toggle variable @@ -298,11 +293,15 @@ vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) +-- this is for diagnositcs signs on the line number column +-- use this to beautify the plain E W signs to more fun ones +-- !important nerdfonts needs to be setup for this to work in your terminal --local signs = { Error = "✘", Warn = "▲", Info = "􀅳", Hint = "⚑" } local signs = { Error = " ", Warn = "▲", Info = "􀅳", Hint = "⚑" } for type, icon in pairs(signs) do local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) + --vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) end -- cgit v1.2.3 From e8a2775c5b2ac8041c7024672128bf8dcc2ecda5 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 6 Feb 2023 21:51:14 +0200 Subject: Clean config --- lua/plugins/telescope.lua | 50 ++++++++++++++--------------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 8acec81..9459a3e 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -1,28 +1,15 @@ local M = {} -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return -end - - ---local actions = require("telescope.actions") ---local builtin = require("telescope.builtin") - ---local themes = require("telescope.themes") ---local utils = require("telescope.utils") +-- Shorten function names local actions = require("telescope.actions") ---local action_state = require("telescope.actions.state") ---local layout_actions = require("telescope.actions.layout") - -telescope.load_extension("fzf") ---telescope.load_extension("file_browser") -require("telescope").load_extension "file_browser" -require('telescope').load_extension('changed_files') ---require("telescope").load_extension("file_browser") local fb_actions = require("telescope").extensions.file_browser.actions ---telescope.load_extension('media_files') +local builtin = require("telescope.builtin") +local themes = require("telescope.themes") +local utils = require("telescope.utils") +local action_state = require("telescope.actions.state") +local layout_actions = require("telescope.actions.layout") + -telescope.setup({ +require('telescope').setup({ defaults = { vimgrep_arguments = { "rg", @@ -260,26 +247,19 @@ telescope.setup({ --end, }, }, - }, - --["ui-select"] = { -- mostly code actions - -- initial_mode = "normal", - -- prompt_prefix = " ", - -- results_title = '', - -- layout_strategy = "bottom_pane", - -- sorting_strategy = "ascending", - -- layout_config = { bottom_pane = { height = 8 } }, - --}, - ["ui-select"] = { - require("telescope.themes").get_dropdown({}), }, }, }) -------------------------------------------------------------------------------- --- have to be loaded after telescope config ---require("telescope").load_extension("ui-select") -- use telescope for selections like code actions -telescope.load_extension("ui-select") +-- Load extensions: +-- have to be loaded after telescope setup/config +require('telescope').load_extension('fzf') +require('telescope').load_extension('ui-select') +require("telescope").load_extension("file_browser") +require('telescope').load_extension('changed_files') +require('telescope').load_extension('media_files') function M.find_configs() require("telescope.builtin").find_files { -- cgit v1.2.3 From 2118a38dc050e0b9cba2f80199b7c0d9798c6828 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 6 Feb 2023 21:51:53 +0200 Subject: Removed unwanted plugins --- lua/user/pack.lua | 133 ++++++++++++++++++++++++++---------------------------- 1 file changed, 64 insertions(+), 69 deletions(-) diff --git a/lua/user/pack.lua b/lua/user/pack.lua index 39b5d29..918ab41 100644 --- a/lua/user/pack.lua +++ b/lua/user/pack.lua @@ -13,7 +13,7 @@ if fn.empty(fn.glob(install_path)) > 0 then "https://github.com/wbthomason/packer.nvim", install_path, }) - print("Installing packer close and reopen Neovim...") + print("Installing packer, please close and reopen Neovim...") vim.cmd([[packadd packer.nvim]]) end @@ -53,7 +53,7 @@ packer.init({ -- Install plugins here return packer.startup(function(use) -- Defaults - use("wbthomason/packer.nvim") -- Have packer manage itself + use("wbthomason/packer.nvim") -- Have packer manage itself (package manager) use("nvim-lua/plenary.nvim") -- Useful lua functions used by lots of plugins use("lewis6991/impatient.nvim") -- Faster loading/startup times @@ -65,14 +65,10 @@ return packer.startup(function(use) use("williamboman/mason.nvim") -- Package manager to install and manage LSP servers, DAP servers, linters and formatters use("williamboman/mason-lspconfig.nvim") -- Bridges mason.nvim with nvim-lspconfig to help use them together use("neovim/nvim-lspconfig") -- Collection of LSP configs - --use { - -- "williamboman/mason.nvim", -- Package manager to install and manage LSP servers, DAP servers, linters and formatters - -- "williamboman/mason-lspconfig.nvim", -- Bridges mason.nvim with nvim-lspconfig to help use them together - -- "neovim/nvim-lspconfig", -- Collection of LSP configs - --} -- Debugger use("mfussenegger/nvim-dap") -- Debug Adapter Protocol client implementation for Neovim + use("rcarriga/nvim-dap-ui") -- UI for nvim-dap -- Linters/Formatters use({ @@ -84,38 +80,38 @@ return packer.startup(function(use) }) -- Completion - use("hrsh7th/nvim-cmp") - use("hrsh7th/cmp-nvim-lsp") - use("hrsh7th/cmp-buffer") - use("hrsh7th/cmp-path") - use("hrsh7th/cmp-cmdline") - use("petertriho/cmp-git") - use("tamago324/cmp-zsh") - use("f3fora/cmp-spell") - use("hrsh7th/cmp-calc") - use("saadparwaiz1/cmp_luasnip") - use("hrsh7th/cmp-nvim-lsp-signature-help") - use("onsails/lspkind-nvim") + use("hrsh7th/nvim-cmp") -- Completion engine plugin + use("hrsh7th/cmp-nvim-lsp") -- Completion source for nvim-lsp + use("hrsh7th/cmp-buffer") -- Completion source for content of current buffer + use("hrsh7th/cmp-path") -- Completion source for paths + use("hrsh7th/cmp-cmdline") -- Completion source for command-line + use("petertriho/cmp-git") -- Completion source for git + use("tamago324/cmp-zsh") -- Completion source for zsh + use("f3fora/cmp-spell") -- Completion source for spell-checking + use("hrsh7th/cmp-calc") -- Completion source for math calculation + use("saadparwaiz1/cmp_luasnip") -- Completion source for snippets, specifically for luasnip + use("hrsh7th/cmp-nvim-lsp-signature-help") -- Completion source for displaying function signatures with the current parameter emphasized -- Snippets use("L3MON4D3/LuaSnip") -- Snippet engine use("rafamadriz/friendly-snippets") -- Collection of snippets to use -- Git + use("tpope/vim-fugitive") -- use("dinhhuy258/git.nvim") -- For git blame & browse - use("kdheepak/lazygit.nvim") - use("lewis6991/gitsigns.nvim") + use("kdheepak/lazygit.nvim") -- Terminal UI for git commands + use("lewis6991/gitsigns.nvim") -- Git decorations -- File explorer/fuzzy finder - use("kyazdani42/nvim-tree.lua") + use("kyazdani42/nvim-tree.lua") -- File explorer use('ibhagwan/fzf-lua') -- Fuzzy finder - use("nvim-telescope/telescope.nvim") - use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) - use("nvim-telescope/telescope-ui-select.nvim") - use("nvim-telescope/telescope-media-files.nvim") - use("nvim-telescope/telescope-file-browser.nvim") + use("nvim-telescope/telescope.nvim") -- Fuzzy finder with lots of features/extendabilities + use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) -- Support fzf syntax/algorithm + use("nvim-telescope/telescope-ui-select.nvim") -- + use("nvim-telescope/telescope-media-files.nvim") -- + use("nvim-telescope/telescope-file-browser.nvim") -- use({ "nvim-telescope/telescope-symbols.nvim", after = "telescope.nvim" }) -- Search emoji(s) and other symbols - use("axkirillov/telescope-changed-files") + use("axkirillov/telescope-changed-files") -- -- UX use({ @@ -125,19 +121,18 @@ return packer.startup(function(use) end, }) use({ "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }) -- Handy unix commands inside Vim (Rename, Move etc.) - use("tpope/vim-fugitive") - --use("tpope/vim-surround") - --use("tpope/vim-obsession") - --use("tpope/vim-unimpaired") - --use("vimpostor/vim-tpipeline") - use("nathom/filetype.nvim") - use("myusuf3/numbers.vim") - use("windwp/nvim-autopairs") - use("numToStr/Comment.nvim") - use("akinsho/toggleterm.nvim") - use("tweekmonster/startuptime.vim") + --use("tpope/vim-surround") -- + --use("tpope/vim-obsession") -- + --use("tpope/vim-unimpaired") -- + --use("vimpostor/vim-tpipeline") -- + use("nathom/filetype.nvim") -- + use("myusuf3/numbers.vim") -- + use("windwp/nvim-autopairs") -- + use("numToStr/Comment.nvim") -- + use("akinsho/toggleterm.nvim") -- + use("tweekmonster/startuptime.vim") -- use({ - "ggandor/leap.nvim", + "ggandor/leap.nvim", -- config = function() require('leap').add_default_mappings() --require("leap").set_default_keymaps() @@ -145,19 +140,19 @@ return packer.startup(function(use) --vim.keymap.set('n', '_', '(leap-backward)', {}) end, }) - use({ "ggandor/flit.nvim", + use({ "ggandor/flit.nvim", -- config = function() require("flit").setup() end, }) - use("folke/which-key.nvim") - use("folke/zen-mode.nvim") - use("romainl/vim-cool") - use "antoinemadec/FixCursorHold.nvim" - use("airblade/vim-rooter") - --use("vim-test/vim-test") + use("folke/which-key.nvim") -- + use("folke/zen-mode.nvim") -- + use("romainl/vim-cool") -- + use "antoinemadec/FixCursorHold.nvim" -- + use("airblade/vim-rooter") -- + --use("vim-test/vim-test") -- --use({ - -- "rcarriga/vim-ultest", + -- "rcarriga/vim-ultest", -- -- requires = { "vim-test/vim-test" }, -- run = ":UpdateRemotePlugins", -- config = function() @@ -166,39 +161,34 @@ return packer.startup(function(use) --}) -- Colorschemes - use("gruvbox-community/gruvbox") - use("srcery-colors/srcery-vim") - use("tomasr/molokai") + use("bluz71/vim-nightfly-guicolors") use("ayu-theme/ayu-vim") use("joshdick/onedark.vim") - use("everblush/everblush.nvim") - use("EdenEast/nightfox.nvim") - use("bluz71/vim-nightfly-guicolors") - use("jacoborus/tender.vim") - use("sainnhe/sonokai") use("NTBBloodbath/doom-one.nvim") -- UI - use("kyazdani42/nvim-web-devicons") - --use("goolord/alpha-nvim") + use("kyazdani42/nvim-web-devicons") -- + use("onsails/lspkind-nvim") -- + --use("goolord/alpha-nvim") -- use("rcarriga/nvim-notify") -- Notification plugin - use("karb94/neoscroll.nvim") + use("karb94/neoscroll.nvim") -- Faster/smooth scrolling use("MunifTanjim/prettier.nvim") -- Prettier plugin for Neovim's built-in LSP client - use("norcalli/nvim-colorizer.lua") + use("norcalli/nvim-colorizer.lua") -- use({ "j-hui/fidget.nvim", -- UI to show nvim-lsp progress config = function() require("fidget").setup() end }) - use("rcarriga/nvim-dap-ui") - use { "simrat39/symbols-outline.nvim", + use { "simrat39/symbols-outline.nvim", -- config = function() require("symbols-outline").setup({ auto_close = true, }) end } - use { "kosayoda/nvim-lightbulb", requires = { "antoinemadec/FixCursorHold.nvim" } } + use({ "kosayoda/nvim-lightbulb", -- + requires = "antoinemadec/FixCursorHold.nvim", + }) use({ "SmiteshP/nvim-navic", -- Statusline/Winbar component that uses LSP to show current code context requires = "neovim/nvim-lspconfig", @@ -210,18 +200,23 @@ return packer.startup(function(use) }) -- Language specific tools - use "simrat39/rust-tools.nvim" - use { "saecki/crates.nvim", + use("simrat39/rust-tools.nvim") -- Rust tooling ecosystem + use({ "saecki/crates.nvim", -- requires = { "nvim-lua/plenary.nvim" }, config = function() require("crates").setup() end, - } + }) + --use({ + -- "iamcco/markdown-preview.nvim", -- Markdown Preview + -- run = function() vim.fn["mkdp#util#install"]() end, + --}) use({ - "iamcco/markdown-preview.nvim", -- Markdown Preview - run = function() vim.fn["mkdp#util#install"]() end, + "ellisonleao/glow.nvim", -- Markdown Preview + config = function() + require("glow").setup() + end }) - use {"ellisonleao/glow.nvim", config = function() require("glow").setup() end} -- Markdown Preview -------------------------------------------------- -- cgit v1.2.3 From fb91ce48ba6887dc1fd896b020735c8d5cda107c Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 6 Feb 2023 21:52:40 +0200 Subject: Changed markdown preview binding for glow plugin instead --- lua/user/keys.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index 8feee85..d3b3949 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -338,7 +338,8 @@ map("n", "fz", "lua require('fzf-lua').files()") map("n", "f", ":NvimTreeToggle", {}) -- Markdown-preview -map("n", "md", "MarkdownPreviewToggle") +map("n", "md", ":Glow") +--map("n", "md", "MarkdownPreviewToggle") -- Autopairs Toggle_autopairs = function() -- cgit v1.2.3 From ea073e2f436a25bc0f5b8879982a2555fd37b3c3 Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 6 Feb 2023 21:53:16 +0200 Subject: Clean config --- lua/plugins/mason.lua | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua index a28551b..f2ec631 100644 --- a/lua/plugins/mason.lua +++ b/lua/plugins/mason.lua @@ -1,23 +1,19 @@ -local status, mason = pcall(require, "mason") -if (not status) then return end -local status2, lspconfig = pcall(require, "mason-lspconfig") -if (not status2) then return end -local status3, lspconfig = pcall(require, "lspconfig") -if (not status3) then return end +-- Setup mason so it can manage external tooling +require('mason').setup() -mason.setup({ +-- Ensure the servers above are installed +require("mason-lspconfig").setup({ + ensure_installed = { + "pylsp", + "pyright", + "clangd", + "sumneko_lua", + "vim-language-server", + } }) -lspconfig.setup { - ensure_installed = { - "pylsp", - "pyright", - "clangd", - "sumneko_lua", - "vim-language-server", - } -} + local keymap = vim.api.nvim_set_keymap local opts = { noremap = true } -- cgit v1.2.3 From 6ad23b537b6890cd4c9a002df81736c10ff10d55 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:40:04 +0200 Subject: Removed scripts.vim --- autoload/scripts.vim | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 autoload/scripts.vim diff --git a/autoload/scripts.vim b/autoload/scripts.vim deleted file mode 100644 index 77bd813..0000000 --- a/autoload/scripts.vim +++ /dev/null @@ -1,15 +0,0 @@ -"if !exists('*scripts#save_and_exec') -" function! scripts#save_and_exec() abort -" if &filetype == 'vim' -" :silent! write -" :source % -" elseif &filetype == 'lua' -" :silent! write -" :luafile % -" endif -" -" return -" endfunction -"endif - - -- cgit v1.2.3 From 235f4e52ef2de0f5dfc17188f3a5446918860029 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:40:44 +0200 Subject: Add utils.vim --- autoload/utils.vim | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 autoload/utils.vim diff --git a/autoload/utils.vim b/autoload/utils.vim new file mode 100644 index 0000000..d4a1298 --- /dev/null +++ b/autoload/utils.vim @@ -0,0 +1,106 @@ +" Toggle Zoom +function! utils#ZoomToggle() + if exists('t:zoomed') && t:zoomed + execute t:zoom_winrestcmd + let t:zoomed = 0 + else + let t:zoom_winrestcmd = winrestcmd() + resize + vertical resize + let t:zoomed = 1 + endif +endfunction +"command! ZoomToggle call ZoomToggle() + + +"------------------------------------------------- + +" Toggle DiagnosticsOpenFloat +augroup OpenFloat + autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) + +augroup END + +function! utils#ToggleDiagnosticsOpenFloat() + " Switch the toggle variable + let g:DiagnosticsOpenFloat = !get(g:, 'DiagnosticsOpenFloat', 1) + + " Reset group + augroup OpenFloat + autocmd! + augroup END + + " Enable if toggled on + if g:DiagnosticsOpenFloat + augroup OpenFloat + autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) + "autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled...") + augroup END + endif +endfunction +"command! ToggleDiagonsticsOpenFloat call ToggleDiagnosticsOpenFloat() + + +"------------------------------------------------- + +" Toggle transparency +let t:is_transparent = 0 +function! utils#Toggle_transparent_background() + if t:is_transparent == 0 + hi Normal guibg=#111111 ctermbg=black + let t:is_transparent = 1 + else + hi Normal guibg=NONE ctermbg=NONE + let t:is_transparent = 0 + endif +endfunction +"nnoremap tb :call Toggle_transparent_background() + + +"------------------------------------------------- + +" Toggle statusline +let s:hidden_all = 0 +function! ToggleHiddenAll() + if s:hidden_all == 0 + let s:hidden_all = 1 + set noshowmode + set noruler + set laststatus=0 + set noshowcmd + else + let s:hidden_all = 0 + set showmode + set ruler + set laststatus=2 + set showcmd + endif +endfunction +"nnoremap :call ToggleHiddenAll() + + +"------------------------------------------------- + +" Open last closed buffer +function! OpenLastClosed() + let last_buf = bufname('#') + if empty(last_buf) + echo "No recently closed buffer found" + return + endif + let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ") + if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n') + return + endif + if result ==# 't' + execute 'tabnew' + elseif result ==# 'v' + execute "vsplit" + elseif result ==# 's' + execute "split" + endif + execute 'b ' . last_buf +endfunction + + +"------------------------------------------------- -- cgit v1.2.3 From dab62dec0675d3acbe06875941a86f745e0b907a Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:41:55 +0200 Subject: Moved all functions to utils.vim --- lua/user/keys.lua | 114 +++--------------------------------------------------- 1 file changed, 6 insertions(+), 108 deletions(-) diff --git a/lua/user/keys.lua b/lua/user/keys.lua index d3b3949..d92b642 100644 --- a/lua/user/keys.lua +++ b/lua/user/keys.lua @@ -1,6 +1,6 @@ --[[ key.lua ]] - +local utils = require("user.utils") ------------- Shorten Function Names -------------- local keymap = vim.keymap local map = function(mode, l, r, opts) @@ -186,82 +186,16 @@ vim.cmd([[ ]]) -- Toggle transparency -vim.cmd([[ - let t:is_transparent = 0 - function! Toggle_transparent_background() - if t:is_transparent == 0 - hi Normal guibg=#111111 ctermbg=black - let t:is_transparent = 1 - else - hi Normal guibg=NONE ctermbg=NONE - let t:is_transparent = 0 - endif - endfunction - nnoremap tb :call Toggle_transparent_background() -]]) ---keymap('n', 'tb', ':Toggle_transparent_background') +map('n', 'tb', ':call utils#Toggle_transparent_background()') -- Toggle zoom -vim.cmd([[ - function! s:ZoomToggle() abort - if exists('t:zoomed') && t:zoomed - execute t:zoom_winrestcmd - let t:zoomed = 0 - else - let t:zoom_winrestcmd = winrestcmd() - resize - vertical resize - let t:zoomed = 1 - endif - endfunction - command! ZoomToggle call s:ZoomToggle() - ]]) -map("n", "z", ":ZoomToggle") +map("n", "z", ":call utils#ZoomToggle()") -- Toggle statusline -vim.cmd([[ -let s:hidden_all = 0 -function! ToggleHiddenAll() - if s:hidden_all == 0 - let s:hidden_all = 1 - set noshowmode - set noruler - set laststatus=0 - set noshowcmd - else - let s:hidden_all = 0 - set showmode - set ruler - set laststatus=2 - set showcmd - endif -endfunction -nnoremap :call ToggleHiddenAll() -]]) +map('n', '', ':call ToggleHiddenAll()') -- Open last closed buffer -vim.cmd([[ - function! OpenLastClosed() - let last_buf = bufname('#') - if empty(last_buf) - echo "No recently closed buffer found" - return - endif - let result = input("Open ". last_buf . " in (n)ormal (v)split, (t)ab or (s)plit ? (n/v/t/s) : ") - if empty(result) || (result !=# 'v' && result !=# 't' && result !=# 's' && result !=# 'n') - return - endif - if result ==# 't' - execute 'tabnew' - elseif result ==# 'v' - execute "vsplit" - elseif result ==# 's' - execute "split" - endif - execute 'b ' . last_buf - endfunction - ]]) -map("n", "", ":call OpenLastClosed() ") +map("n", "", ":call OpenLastClosed()") ---------------- Plugin Operations ---------------- @@ -342,40 +276,4 @@ map("n", "md", ":Glow") --map("n", "md", "MarkdownPreviewToggle") -- Autopairs -Toggle_autopairs = function() - local ok, autopairs = pcall(require, "nvim-autopairs") - if ok then - if autopairs.state.disabled then - autopairs.enable() - print("autopairs on") - else - autopairs.disable() - print("autopairs off") - end - else - print("autopairs not available") - end -end -map("n", "ww", ":lua Toggle_autopairs()", term_opts) - --- Tabularize ---vim.cmd([[ --- vnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" --- nnoremap mm ':Tabularize /^\s*\S.*\zs' . split(&commentstring, '%s')[0] . "" --- "nnoremap i mc40A 080lDgelD`cP --- "vnoremap ii mc0f-20i`cdt=j ---]]) - --- EasyAlign ---vim.cmd([[ --- " Start interactive EasyAlign in visual mode (e.g. vipga) --- xmap ga (EasyAlign) --- " Start interactive EasyAlign for a motion/text object (e.g. gaip) --- nmap ga (EasyAlign) --- if !exists('g:easy_align_delimiters') --- let g:easy_align_delimiters = {} --- endif --- let g:easy_align_delimiters['--'] = { 'pattern': '--', 'ignore_groups': ['String'] } --- nnoremap 21A d21\| --- imap a ---]]) +map("n", "ww", "lua require('user.utils').Toggle_autopairs()") -- cgit v1.2.3 From 6f30ffdb0a3e33a375faea6b452d97744dfe3c81 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:50:40 +0200 Subject: Moved mason configuration to lsp.lua --- lua/plugins/mason.lua | 65 --------------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 lua/plugins/mason.lua diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua deleted file mode 100644 index f2ec631..0000000 --- a/lua/plugins/mason.lua +++ /dev/null @@ -1,65 +0,0 @@ --- Setup mason so it can manage external tooling -require('mason').setup() - --- Ensure the servers above are installed - -require("mason-lspconfig").setup({ - ensure_installed = { - "pylsp", - "pyright", - "clangd", - "sumneko_lua", - "vim-language-server", - } -}) - - -local keymap = vim.api.nvim_set_keymap -local opts = { noremap = true } - - -keymap('n', 'gd', ':lua vim.lsp.buf.definition()', opts) -keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', opts) -keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.document_symbol()', opts) -keymap('n', 'gw', ':lua vim.lsp.buf.workspace_symbol()', opts) -keymap('n', 'gr', ':lua vim.lsp.buf.references()', opts) -keymap('n', 'gt', ':lua vim.lsp.buf.type_definition()', opts) -keymap('n', 'K', ':lua vim.lsp.buf.hover()', opts) -keymap('n', '', ':lua vim.lsp.buf.signature_help()', opts) -keymap('n', 'af', ':lua vim.lsp.buf.code_action()', opts) -keymap('n', 'rn', ':lua vim.lsp.buf.rename()', opts) - - - ---local mason = require("mason") --- ---local options = { --- ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim --- --- ui = { --- icons = { --- package_pending = " ", --- package_installed = " ", --- package_uninstalled = " ﮊ", --- }, --- --- keymaps = { --- toggle_server_expand = "", --- install_server = "i", --- update_server = "u", --- check_server_version = "c", --- update_all_servers = "U", --- check_outdated_servers = "C", --- uninstall_server = "X", --- cancel_installation = "", --- }, --- }, --- --- max_concurrent_installers = 10, ---} --- --- --- ---mason.setup(options) - -- cgit v1.2.3 From 81bbcac239dbe292981b3ea068659add75ed2952 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:51:09 +0200 Subject: Moved mason configuration to lsp.lua and moved functions to utils.vim --- lua/plugins/lsp.lua | 236 ++++++++++++++++++++++++++-------------------------- 1 file changed, 118 insertions(+), 118 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 83f3d97..2d3944a 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -1,16 +1,46 @@ - +-- Shorten Function Names local fn = vim.fn local keymap = vim.keymap - local utils = require("user.utils") --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer + +-- Setup mason so it can manage external tooling +require('mason').setup() + +-- Mason-lspconfig +require("mason-lspconfig").setup({ + ensure_installed = { + "clangd", + "sumneko_lua", + "pylsp", + "pyright", + }, + ui = { + icons = { + package_pending = " ", + package_installed = " ", + package_uninstalled = " ﮊ", + }, + keymaps = { + toggle_server_expand = "", + install_server = "i", + update_server = "u", + check_server_version = "c", + update_all_servers = "U", + check_outdated_servers = "C", + uninstall_server = "X", + cancel_installation = "", + }, + }, + max_concurrent_installers = 10, +}) + +-- Use an on_attach function to only map the following keys after the language server attaches to the current buffer local on_attach = function(client, bufnr) - -- Enable completion triggered by - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + -- Enable completion triggered by + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - -- Mappings + -- Shorten function names for mappings local map = function(mode, l, r, opts) opts = opts or {} opts.silent = true @@ -19,23 +49,26 @@ local on_attach = function(client, bufnr) keymap.set(mode, l, r, opts) end - map("n", "K", vim.lsp.buf.hover) - map("n", "gd", vim.lsp.buf.definition) - map("n", "gi", vim.lsp.buf.implementation) - map("n", "gr", vim.lsp.buf.references) - map("n", "gD", vim.lsp.buf.declaration()) -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. - map("n", "k", vim.lsp.buf.signature_help) - map("n", "gt", vim.lsp.buf.type_definition()) - map("n", "gn", vim.lsp.buf.rename) - map("n", "ga", vim.lsp.buf.code_action) - map("n", "gf", vim.lsp.buf.formatting) - map("n", "go", vim.diagnostic.open_float()) - map("n", "[d", vim.diagnostic.goto_prev) - map("n", "]d", vim.diagnostic.goto_next) - map("n", "gs", vim.lsp.buf.document_symbol()) - map("n", "gw", vim.lsp.buf.workspace_symbol()) - map("n", "wa", vim.lsp.buf.add_workspace_folder) - map("n", "wr", vim.lsp.buf.remove_workspace_folder) + local term_opts = { noremap = true, silent = false } + -- Mappings + map("n", "K", "lua vim.lsp.buf.hover()") + map("n", "gd", "lua vim.lsp.buf.definition()") + map("n", "gi", "lua vim.lsp.buf.implementation()") + map("n", "gr", "lua vim.lsp.buf.references()") + map("n", "gD", "lua vim.lsp.buf.declaration()") -- most lsp servers don't implement textDocument/Declaration, so gD is useless for now. + map("n", "k", "lua vim.lsp.buf.signature_help()") + map("n", "gt", "lua vim.lsp.buf.type_definition()") + map("n", "gn", "lua vim.lsp.buf.rename()") + map("n", "ga", "lua vim.lsp.buf.code_action()") + map("n", "gf", "lua vim.lsp.buf.formatting()") + --map("n", "go", "lua vim.diagnostic.open_float()") + map("n", "go", ":call utils#ToggleDiagnosticsOpenFloat() | :echom ('Toggle Diagnostics Float open/close...') | :sl! | echo ('')") + map("n", "[d", "lua vim.diagnostic.goto_prev()") + map("n", "]d", "lua vim.diagnostic.goto_next()") + map("n", "gs", "lua vim.lsp.buf.document_symbol()") + map("n", "gw", "lua vim.lsp.buf.workspace_symbol()") + map("n", "wa", "lua vim.lsp.buf.add_workspace_folder()") + map("n", "wr", "lua vim.lsp.buf.remove_workspace_folder()") map("n", "wl", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end) @@ -45,76 +78,76 @@ local on_attach = function(client, bufnr) --map.('n', 'q', vim.diagnostic.setloclist) --map("n", "gk", "Lspsaga diagnostic_jump_prev") --map("n", "gj", "Lspsaga diagnostic_jump_next") -end - --- Toggle diagnostics visibility -vim.g.diagnostics_visible = true -function _G.toggle_diagnostics() - if vim.g.diagnostics_visible then - vim.g.diagnostics_visible = false - vim.diagnostic.disable() - else - vim.g.diagnostics_visible = true - vim.diagnostic.enable() - end -end - -- Set some key bindings conditional on server capabilities + -- Set some key bindings conditional on server capabilities if client.server_capabilities.documentFormattingProvider then - map("n", "f", vim.lsp.buf.format, { desc = "format code" }) + map("n", "f", vim.lsp.buf.format) end - -- add rust specific keymappings + -- Add rust specific keymappings if client.name == "rust_analyzer" then map("n", "rr", "RustRunnables") map("n", "ra", "RustHoverAction") end --- this part is telling Neovim to use the lsp server ---local servers = { 'pyright', 'tsserver', 'jdtls' } ---for _, lsp in pairs(servers) do --- require('lspconfig')[lsp].setup { --- on_attach = on_attach, --- flags = { --- debounce_text_changes = 150, --- } --- } ---end --- Highlight symbol under cursor - --- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands.) - -if client.server_capabilities.document_highlight then - vim.cmd [[ - hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow - hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow - hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow - ]] - vim.api.nvim_create_augroup('lsp_document_highlight', { - clear = false - }) - vim.api.nvim_clear_autocmds({ - buffer = bufnr, - group = 'lsp_document_highlight', - }) - vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { - group = 'lsp_document_highlight', - buffer = bufnr, - callback = vim.lsp.buf.document_highlight, - }) - vim.api.nvim_create_autocmd('CursorMoved', { - group = 'lsp_document_highlight', - buffer = bufnr, - callback = vim.lsp.buf.clear_references, - }) -end + -- this part is telling Neovim to use the lsp server + --local servers = { 'pyright', 'tsserver', 'jdtls' } + --for _, lsp in pairs(servers) do + -- require('lspconfig')[lsp].setup { + -- on_attach = on_attach, + -- flags = { + -- debounce_text_changes = 150, + -- } + -- } + --end + + -- Add the following to your on_attach (this allows checking server capabilities to avoid calling invalid commands.) + -- Highlight symbol under cursor + if client.server_capabilities.document_highlight then + vim.cmd [[ + hi! LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow + hi! LspReferenceText cterm=bold ctermbg=red guibg=LightYellow + hi! LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow + ]] + vim.api.nvim_create_augroup('lsp_document_highlight', { + clear = false + }) + vim.api.nvim_clear_autocmds({ + buffer = bufnr, + group = 'lsp_document_highlight', + }) + vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { + group = 'lsp_document_highlight', + buffer = bufnr, + callback = vim.lsp.buf.document_highlight, + }) + vim.api.nvim_create_autocmd('CursorMoved', { + group = 'lsp_document_highlight', + buffer = bufnr, + callback = vim.lsp.buf.clear_references, + }) + end if vim.g.logging_level == "debug" then local msg = string.format("Language server %s started!", client.name) vim.notify(msg, vim.log.levels.DEBUG, { title = "Server?" }) end --- suppress error messages from lang servers + end + +-- Toggle diagnostics visibility +vim.g.diagnostics_visible = true +function _G.toggle_diagnostics() + if vim.g.diagnostics_visible then + vim.g.diagnostics_visible = false + vim.diagnostic.disable() + else + vim.g.diagnostics_visible = true + vim.diagnostic.enable() + end +end + +-- Suppress error messages from lang servers vim.lsp.set_log_level("debug") local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) @@ -148,7 +181,7 @@ end if utils.executable('pyright') then lspconfig.pyright.setup{ - on_attach = custom_attach, + on_attach = on_attach, capabilities = capabilities } else @@ -157,7 +190,7 @@ end if utils.executable("clangd") then lspconfig.clangd.setup({ - on_attach = custom_attach, + on_attach = on_attach, capabilities = capabilities, filetypes = { "c", "cpp", "cc" }, flags = { @@ -171,7 +204,7 @@ end -- Set up vim-language-server if utils.executable("vim-language-server") then lspconfig.vimls.setup({ - on_attach = custom_attach, + on_attach = on_attach, flags = { debounce_text_changes = 500, }, @@ -184,14 +217,14 @@ end -- Set up bash-language-server if utils.executable("bash-language-server") then lspconfig.bashls.setup({ - on_attach = custom_attach, + on_attach = on_attach, capabilities = capabilities, }) end if utils.executable("lua-language-server") then lspconfig.sumneko_lua.setup({ - on_attach = custom_attach, + on_attach = on_attach, settings = { Lua = { runtime = { @@ -221,7 +254,7 @@ end if utils.executable("rust-language-server") then require("lspconfig").rust_analyzer.setup{ cmd = { "rustup", "run", "nightly", "rust-analyzer" }, - on_attach = custom_attach, + on_attach = on_attach, flags = { debounce_text_changes = 500, }, @@ -251,46 +284,13 @@ vim.diagnostic.config({ severity_sort = false, -- default to false }) -vim.cmd[[ -augroup OpenFloat - autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) - -augroup END -]] - -vim.cmd([[ -function! ToggleDiagnosticsOpenFloat() - " Switch the toggle variable - let g:DiagnosticsOpenFloat = !get(g:, 'DiagnosticsOpenFloat', 1) - - " Reset group - augroup OpenFloat - autocmd! - augroup END - - " Enable if toggled on - if g:DiagnosticsOpenFloat - augroup OpenFloat - autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focusable = false,}) print ("vim.diagnostic.open_float enabled...") - augroup END - endif -endfunction -nnoremap to :call ToggleDiagnosticsOpenFloat()\|:echom "vim.diagnostic.open_float disabled . . ." -]]) - - vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { underline = true, virtual_text = false, signs = true, update_in_insert = false, }) - ---vim.lsp.buf.definition vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - ---vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }) - vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }) -- this is for diagnositcs signs on the line number column -- cgit v1.2.3 From a402cca67eebb01da7e91b06e65900ca809c0c39 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:51:47 +0200 Subject: Clean config --- init.lua | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/init.lua b/init.lua index a769292..622e5e9 100644 --- a/init.lua +++ b/init.lua @@ -26,28 +26,18 @@ -- -------------------------------------------------------------------------- -- --- Initialize config with this one liner in the terminal +-- Initialize config with this one liner in the terminal (use in commandline) --nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit' --- See startup time +-- See startup time (use in commandline) --nvim --startuptime startup.log -c exit && tail -100 startup.log --- Load impatient +-- Load impatient (Faster loading times) local impatient_ok, impatient = pcall(require, "impatient") if impatient_ok then impatient.enable_profile() end --- Check if we have the latest stable version of nvim -local utils = require("user.utils") -local expected_ver = "0.9.0" -local nvim_ver = utils.get_nvim_version() - -if nvim_ver ~= expected_ver then - local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) -vim.api.nvim_err_writeln(msg) - return -end -- Schedule reading shadafile to improve the startup time vim.opt.shadafile = "NONE" @@ -90,12 +80,26 @@ local modules = { --"plugins.floatterm", } + -- Refresh module cache for k, v in pairs(modules) do package.loaded[v] = nil require(v) end + +-- Check if we have the latest stable version of nvim +local utils = require("user.utils") +local expected_ver = "0.9.0" +local nvim_ver = utils.get_nvim_version() + +if nvim_ver ~= expected_ver then + local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) +vim.api.nvim_err_writeln(msg) + return +end + + -- Snippets vim.g.snippets = "luasnip" @@ -130,11 +134,3 @@ for _, plugin in ipairs(builtins) do end vim.g.do_filetype_nvim = 1 vim.g.did_load_filetypes = 0 - ---vim.cmd[[ ---if maparg('', 'n') ==# '' --- nnoremap :set lz!:nohlsearch=has('diff')?'diffupdate':'':set lz! ---endif]] ---vim.cmd[[autocmd VimEnter * set nolazyredraw lazyredraw]] ---vim.cmd[[autocmd VimEnter * redraw!]] - -- cgit v1.2.3 From f43667c658c2eb63194e0c5345c33da7ebf32444 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:53:03 +0200 Subject: Clean config --- lua/user/utils.lua | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/lua/user/utils.lua b/lua/user/utils.lua index bfb5faa..08dba6f 100644 --- a/lua/user/utils.lua +++ b/lua/user/utils.lua @@ -1,7 +1,7 @@ -local fn = vim.fn - local M = {} +--- Shorten Function Names +local fn = vim.fn function M.executable(name) if fn.executable(name) > 0 then return true @@ -10,7 +10,10 @@ function M.executable(name) return false end ---- check whether a feature exists in Nvim + +-------------------------------------------------- + +--- Check whether a feature exists in Nvim --- @feat: string --- the feature name, like `nvim-0.7` or `unix`. --- return: bool @@ -22,6 +25,9 @@ M.has = function(feat) return false end + +-------------------------------------------------- + --- Create a dir if it does not exist function M.may_create_dir(dir) local res = fn.isdirectory(dir) @@ -31,6 +37,10 @@ function M.may_create_dir(dir) end end + +-------------------------------------------------- + +--- Unload lua namespace M['unload_lua_namespace'] = function(prefix) local prefix_with_dot = prefix .. '.' for key, value in pairs(package.loaded) do @@ -40,7 +50,10 @@ M['unload_lua_namespace'] = function(prefix) end end --- toggle cmp completion + +-------------------------------------------------- + +--- Toggle cmp completion vim.g.cmp_toggle_flag = false -- initialize local normal_buftype = function() return vim.api.nvim_buf_get_option(0, "buftype") ~= "prompt" @@ -69,6 +82,10 @@ M.toggle_completion = function() end end + +-------------------------------------------------- + +--- Make sure using latest neovim version function M.get_nvim_version() local actual_ver = vim.version() @@ -82,4 +99,26 @@ function M.add_pack(name) return status end + +-------------------------------------------------- + +--- Toggle autopairs on/off (requires "windwp/nvim-autopairs") +function M.Toggle_autopairs() + local ok, autopairs = pcall(require, "nvim-autopairs") + if ok then + if autopairs.state.disabled then + autopairs.enable() + print("autopairs on") + else + autopairs.disable() + print("autopairs off") + end + else + print("autopairs not available") + end +end + return M + + +-------------------------------------------------- -- cgit v1.2.3 From d1c7fff02586ee447d8c36d47c037436a6f25f80 Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 9 Feb 2023 13:54:53 +0200 Subject: Commented out all lines :TODO Move all functions to either utils.vim or utils.lua --- lua/user/mods.lua | 184 +++++++++++++++++++++++++++--------------------------- 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/lua/user/mods.lua b/lua/user/mods.lua index ec77173..c36d9e2 100644 --- a/lua/user/mods.lua +++ b/lua/user/mods.lua @@ -26,98 +26,98 @@ -- endif --]]) -vim.cmd([[ - let g:fzf_history_dir = '~/.local/share/fzf-history' - map z :FZF - map a :Files - map l :Lines - map L :BLines - map B :Buffers - map h :History: - nnoremap g :Rg - "nnoremap t :Tags - nnoremap m :Marks - " This is the default extra key bindings - let g:fzf_action = { - \ 'ctrl-t': 'tab split', - \ 'ctrl-x': 'split', - \ 'ctrl-y': 'vsplit' } - let g:fzf_tags_command = 'ctags -R' - " Border color - let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } - let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' - let $FZF_DEFAULT_COMMAND="rg --files --hidden" - " Customize fzf colors to match your color scheme - let g:fzf_colors = - \ { 'fg': ['fg', 'Normal'], - \ 'bg': ['bg', 'Normal'], - \ 'hl': ['fg', 'Comment'], - \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], - \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], - \ 'hl+': ['fg', 'Statement'], - \ 'info': ['fg', 'PreProc'], - \ 'border': ['fg', 'Ignore'], - \ 'prompt': ['fg', 'Conditional'], - \ 'pointer': ['fg', 'Exception'], - \ 'marker': ['fg', 'Keyword'], - \ 'spinner': ['fg', 'Label'], - \ 'header': ['fg', 'Comment'] } - " Get Files - command! -bang -nargs=? -complete=dir Files - \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) - " Get text in files with Rg - command! -bang -nargs=* Rg - \ call fzf#vim#grep( - \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, - \ fzf#vim#with_preview(), 0) - " Ripgrep advanced - function! RipgrepFzf(query, fullscreen) - let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' - let initial_command = printf(command_fmt, shellescape(a:query)) - let reload_command = printf(command_fmt, '{q}') - let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} - call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) - endfunction - command! -nargs=* -bang RG call RipgrepFzf(, 0) - " Git grep - command! -bang -nargs=* GGrep - \ call fzf#vim#grep( - \ 'git grep --line-number '.shellescape(), 0, - \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) - command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) -]]) - -vim.cmd([[ - " Enable mouse scrollback - set mouse=a - tnoremap - tnoremap - function! ClearTerminal() - set scrollback=1 - let &g:scrollback=1 - echo &scrollback - call feedkeys("\i") - call feedkeys("clear\") - call feedkeys("\\") - call feedkeys("\i") - sleep 100m - let &scrollback=s:scroll_value - endfunction -]]) - -vim.cmd([[ - " :Rename {newname} - function! RenameFile() - let old_name = expand('%') - let new_name = input('New file name: ', expand('%'), 'file') - if new_name != '' && new_name != old_name - exec ':saveas ' . new_name - exec ':silent !rm ' . old_name - redraw! - endif - endfunction - map re :call RenameFile() -]]) +--vim.cmd([[ +-- let g:fzf_history_dir = '~/.local/share/fzf-history' +-- map z :FZF +-- map a :Files +-- map l :Lines +-- map L :BLines +-- map B :Buffers +-- map h :History: +-- nnoremap g :Rg +-- "nnoremap t :Tags +-- nnoremap m :Marks +-- " This is the default extra key bindings +-- let g:fzf_action = { +-- \ 'ctrl-t': 'tab split', +-- \ 'ctrl-x': 'split', +-- \ 'ctrl-y': 'vsplit' } +-- let g:fzf_tags_command = 'ctags -R' +-- " Border color +-- let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } +-- let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' +-- let $FZF_DEFAULT_COMMAND="rg --files --hidden" +-- " Customize fzf colors to match your color scheme +-- let g:fzf_colors = +-- \ { 'fg': ['fg', 'Normal'], +-- \ 'bg': ['bg', 'Normal'], +-- \ 'hl': ['fg', 'Comment'], +-- \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], +-- \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], +-- \ 'hl+': ['fg', 'Statement'], +-- \ 'info': ['fg', 'PreProc'], +-- \ 'border': ['fg', 'Ignore'], +-- \ 'prompt': ['fg', 'Conditional'], +-- \ 'pointer': ['fg', 'Exception'], +-- \ 'marker': ['fg', 'Keyword'], +-- \ 'spinner': ['fg', 'Label'], +-- \ 'header': ['fg', 'Comment'] } +-- " Get Files +-- command! -bang -nargs=? -complete=dir Files +-- \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) +-- " Get text in files with Rg +-- command! -bang -nargs=* Rg +-- \ call fzf#vim#grep( +-- \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, +-- \ fzf#vim#with_preview(), 0) +-- " Ripgrep advanced +-- function! RipgrepFzf(query, fullscreen) +-- let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' +-- let initial_command = printf(command_fmt, shellescape(a:query)) +-- let reload_command = printf(command_fmt, '{q}') +-- let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} +-- call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) +-- endfunction +-- command! -nargs=* -bang RG call RipgrepFzf(, 0) +-- " Git grep +-- command! -bang -nargs=* GGrep +-- \ call fzf#vim#grep( +-- \ 'git grep --line-number '.shellescape(), 0, +-- \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) +-- command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) +--]]) +-- +--vim.cmd([[ +-- " Enable mouse scrollback +-- set mouse=a +-- tnoremap +-- tnoremap +-- function! ClearTerminal() +-- set scrollback=1 +-- let &g:scrollback=1 +-- echo &scrollback +-- call feedkeys("\i") +-- call feedkeys("clear\") +-- call feedkeys("\\") +-- call feedkeys("\i") +-- sleep 100m +-- let &scrollback=s:scroll_value +-- endfunction +--]]) +-- +--vim.cmd([[ +-- " :Rename {newname} +-- function! RenameFile() +-- let old_name = expand('%') +-- let new_name = input('New file name: ', expand('%'), 'file') +-- if new_name != '' && new_name != old_name +-- exec ':saveas ' . new_name +-- exec ':silent !rm ' . old_name +-- redraw! +-- endif +-- endfunction +-- map re :call RenameFile() +--]]) --vim.cmd([[ -- " Markdown Settings -- cgit v1.2.3 From f9e9b589580af90d9d22156471d663465fa48f59 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 10 Feb 2023 10:51:40 +0200 Subject: Removed Unload lua namespace function --- lua/user/utils.lua | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/lua/user/utils.lua b/lua/user/utils.lua index 08dba6f..07867a4 100644 --- a/lua/user/utils.lua +++ b/lua/user/utils.lua @@ -38,19 +38,6 @@ function M.may_create_dir(dir) end --------------------------------------------------- - ---- Unload lua namespace -M['unload_lua_namespace'] = function(prefix) - local prefix_with_dot = prefix .. '.' - for key, value in pairs(package.loaded) do - if key == prefix or key:sub(1, #prefix_with_dot) == prefix_with_dot then - package.loaded[key] = nil - end - end -end - - -------------------------------------------------- --- Toggle cmp completion -- cgit v1.2.3 From f76f2c4bbc1ddde4b5c0882863060e4c58a11733 Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 10 Feb 2023 10:53:23 +0200 Subject: Un-commented all lines, TODO: Figure out desired settings, until then this module will not be used --- lua/plugins/modify-blend.lua | 58 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/lua/plugins/modify-blend.lua b/lua/plugins/modify-blend.lua index 4cb2bdd..1b2c6d5 100644 --- a/lua/plugins/modify-blend.lua +++ b/lua/plugins/modify-blend.lua @@ -2,8 +2,8 @@ local ui = vim.api.nvim_list_uis()[1] local bufnr = vim.api.nvim_create_buf(true, true) local win = vim.api.nvim_open_win(bufnr, true, { - --relative = "editor", - relative = "cursor", + relative = "editor", + --relative = "cursor", width = ui.width, height = ui.height, anchor = "NE", @@ -14,30 +14,30 @@ local win = vim.api.nvim_open_win(bufnr, true, { }) vim.api.nvim_win_set_option(win, "winblend", 1) --- ---local blend_start = 15 ---local offset = 1 --- ---CANCEL = false ---local timer = vim.loop.new_timer() ---timer:start( --- 0, --- 50, --- vim.schedule_wrap(function() --- blend_start = blend_start + offset --- --- if blend_start > 90 then --- offset = -1 --- elseif blend_start < 10 then --- offset = 1 --- end --- --- if CANCEL or not vim.api.nvim_win_is_valid(win) then --- timer:close() --- timer:stop() --- return --- end --- --- vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start)) --- end) ---) + +local blend_start = 15 +local offset = 1 + +CANCEL = false +local timer = vim.loop.new_timer() +timer:start( + 0, + 50, + vim.schedule_wrap(function() + blend_start = blend_start + offset + + if blend_start > 90 then + offset = -1 + elseif blend_start < 10 then + offset = 1 + end + + if CANCEL or not vim.api.nvim_win_is_valid(win) then + timer:close() + timer:stop() + return + end + + vim.cmd([[highlight NormalFloat blend=]] .. tostring(blend_start)) + end) +) -- cgit v1.2.3