diff --git a/tree/.config/nvim/coc-settings.json b/tree/.config/nvim/coc-settings.json deleted file mode 100644 index cd33666..0000000 --- a/tree/.config/nvim/coc-settings.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "suggest.noselect": true, - "languageserver": { - "rust": { - "command": "rust-analyzer", - "filetypes": ["rust"], - "rootPatterns": ["Cargo.toml"] - }, - "python": { - "command": "pylsp", - "args": [ - "-vv", - "--log-file", - "/tmp/lsp_python.log" - ], - "trace.server": "verbose", - "filetypes": [ - "python" - ], - "settings": { - "pyls": { - "enable": true, - "trace": { - "server": "verbose" - }, - "commandPath": "", - "configurationSources": [ - "pycodestyle" - ], - "plugins": { - "jedi_completion": { - "enabled": true - }, - "jedi_hover": { - "enabled": true - }, - "jedi_references": { - "enabled": true - }, - "jedi_signature_help": { - "enabled": true - }, - "jedi_symbols": { - "enabled": true, - "all_scopes": true - }, - "mccabe": { - "enabled": true, - "threshold": 15 - }, - "preload": { - "enabled": true - }, - "pycodestyle": { - "enabled": true - }, - "pydocstyle": { - "enabled": false, - "match": "(?!test_).*\\.py", - "matchDir": "[^\\.].*" - }, - "pyflakes": { - "enabled": true - }, - "rope_completion": { - "enabled": true - }, - "yapf": { - "enabled": true - } - } - } - } - } - } -} diff --git a/tree/.config/nvim/init.lua b/tree/.config/nvim/init.lua new file mode 100644 index 0000000..c4c88ea --- /dev/null +++ b/tree/.config/nvim/init.lua @@ -0,0 +1,141 @@ +vim.g.mapleader = " " +vim.g.localleader = "\\" + +require('plugins') +require('vars') +require('opts') +require('keys') +require('theme') +require('statusline') + +-- Mason Setup +require("mason").setup({ + ui = { + icons = { + package_installed = "", + package_pending = "", + package_uninstalled = "", + }, + } +}) +require("mason-lspconfig").setup() + +local rt = require("rust-tools") + +rt.setup({ + server = { + on_attach = function(_, bufnr) + -- Hover actions + vim.keymap.set("n", "", rt.hover_actions.hover_actions, { buffer = bufnr }) + -- Code action groups + vim.keymap.set("n", "a", rt.code_action_group.code_action_group, { buffer = bufnr }) + end, + }, +}) + + +-- -- LSP Diagnostics Options Setup +-- local sign = function(opts) +-- vim.fn.sign_define(opts.name, { +-- texthl = opts.name, +-- text = opts.text, +-- numhl = '' +-- }) +-- end +-- +-- sign({name = 'DiagnosticSignError', text = ''}) +-- sign({name = 'DiagnosticSignWarn', text = ''}) +-- sign({name = 'DiagnosticSignHint', text = ''}) +-- sign({name = 'DiagnosticSignInfo', text = ''}) +-- +-- vim.diagnostic.config({ +-- virtual_text = false, +-- signs = true, +-- update_in_insert = true, +-- underline = true, +-- severity_sort = false, +-- float = { +-- border = 'rounded', +-- source = 'always', +-- header = '', +-- prefix = '', +-- }, +-- }) +-- +-- vim.cmd([[ +-- set signcolumn=yes +-- autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false }) +-- ]]) + +-- Format file on save +vim.cmd [[autocmd BufWritePre * lua vim.lsp.buf.format()]] + +-- Completion Plugin Setup +local cmp = require'cmp' +cmp.setup({ + -- Enable LSP snippets + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) + end, + }, + mapping = { + [''] = cmp.mapping.select_prev_item(), + [''] = cmp.mapping.select_next_item(), + -- Add tab support + [''] = cmp.mapping.select_prev_item(), + [''] = cmp.mapping.select_next_item(), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Insert, + select = true, + }) + }, + -- Installed sources: + sources = { + { name = 'path' }, -- file paths + { name = 'nvim_lsp', keyword_length = 3 }, -- from language server + { name = 'nvim_lsp_signature_help'}, -- display function signatures with current parameter emphasized + { name = 'nvim_lua', keyword_length = 2 }, -- complete neovim's Lua runtime API such vim.lsp.* + { name = 'buffer', keyword_length = 2 }, -- source current buffer + { name = 'vsnip', keyword_length = 2 }, -- nvim-cmp source for vim-vsnip + { name = 'calc'}, -- source for math calculation + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + formatting = { + fields = {'menu', 'abbr', 'kind'}, + format = function(entry, item) + local menu_icon ={ + nvim_lsp = 'λ', + vsnip = '⋗', + buffer = 'Ω', + path = '🖫', + } + item.menu = menu_icon[entry.source.name] + return item + end, + }, +}) + + +-- Treesitter Plugin Setup +require('nvim-treesitter.configs').setup { + ensure_installed = { "lua", "rust", "toml" }, + auto_install = true, + highlight = { + enable = true, + additional_vim_regex_highlighting=false, + }, + ident = { enable = true }, + rainbow = { + enable = true, + extended_mode = true, + max_file_lines = nil, + } +} diff --git a/tree/.config/nvim/init.vim.tpl b/tree/.config/nvim/init.vim.tpl deleted file mode 100644 index b9e1c06..0000000 --- a/tree/.config/nvim/init.vim.tpl +++ /dev/null @@ -1,220 +0,0 @@ -runtime! archlinux.vim - -if empty(glob('~/.local/share/nvim/site/autoload/plug.vim')) - silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs - \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - autocmd VimEnter * PlugInstall --sync | source $MYVIMRC -endif - -" plugins -call plug#begin('~/.local/share/nvim/plugged') -Plug 'easymotion/vim-easymotion' -Plug 'roxma/vim-hug-neovim-rpc' -Plug 'roxma/nvim-yarp' -Plug 'airblade/vim-rooter' -"Plug 'junegunn/fzf' -Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } -Plug 'neutaaaaan/iosvkem' -Plug 'vimwiki/vimwiki' - -" fuzzy finder -Plug 'nvim-lua/plenary.nvim' -Plug 'nvim-telescope/telescope.nvim', { 'branch': '0.1.x' } - -" themes -Plug 'chriskempson/base16-vim' - -" gui stuff -Plug 'itchyny/lightline.vim' -Plug 'machakann/vim-highlightedyank' -Plug 'terryma/vim-smooth-scroll' - -" Language support -Plug 'neoclide/coc.nvim', {'branch': 'release'} -Plug 'rust-lang/rust.vim' -Plug 'cespare/vim-toml' -Plug 'dag/vim-fish' - -Plug 'rhysd/vim-grammarous' -Plug 'tpope/vim-fugitive' -Plug 'airblade/vim-gitgutter' -call plug#end() - -set nocompatible -set backspace=indent,eol,start -set tabstop=4 -set shiftwidth=4 -set noet -set directory=~/.vim/tmp - -" preview substitute (%s/a/b) -set inccommand=nosplit - -" use unicode -set encoding=utf-8 - -" show whitespace -set listchars=nbsp:¬,trail:·,precedes:«,extends:▸,tab:»\ -set list - -" highlight column 80 -"highlight ColorColumn ctermbg=darkgray -highlight ColorColumn ctermbg=16 -set colorcolumn=100 - -" colors and themes -set background = "dark" - -if !has('gui_running') - set t_Co=256 -endif -if (match($TERM, "-256color") != -1) && (match($TERM, "screen-256color") == -1) - " screen does not (yet) support truecolor - set termguicolors -endif -let base16colorspace=256 - -{% if light %} -colorscheme base16-gruvbox-light-hard -{% else %} -colorscheme base16-gruvbox-dark-hard -{% end %} - -" brighter comments -call Base16hi("Comment", g:base16_gui09, "", g:base16_cterm09, "", "", "") - -" Lightline -let g:lightline = { - \ 'active': { - \ 'left': [ [ 'mode', 'paste' ], - \ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ] - \ }, - \ 'component_function': { - \ 'filename': 'LightlineFilename', - \ 'cocstatus': 'coc#status' - \ }, - \ } -function! LightlineFilename() - return expand('%:t') !=# '' ? @% : '[No Name]' -endfunction - -" Use auocmd to force lightline update. -autocmd User CocStatusChange,CocDiagnosticChange call lightline#update() - -" vimwiki -let g:vimwiki_list = [{'path': '~/wiki/text/', 'path_html': '~/wiki/html/'}] - -" misc -set mouse=a - -set history=50 -set ruler - -set wildmode=longest,full -set wildmenu - -set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg - -set number -set relativenumber -set clipboard+=unnamedplus - -" No arrow keys --- force yourself to use the home row -nnoremap -nnoremap -nnoremap -nnoremap -inoremap -inoremap -inoremap -inoremap - -syntax enable -filetype plugin indent on - -" Handlebars -> HTML -autocmd BufNewFile,BufRead *.hbs set syntax=html - -" Config template files -autocmd BufNewFile,BufRead *.vim.tpl set syntax=vim -autocmd BufNewFile,BufRead *.yml.tpl set syntax=yaml -autocmd BufNewFile,BufRead *.toml.tpl set syntax=toml -autocmd BufNewFile,BufRead *.fish.tpl set syntax=fish - -" Rust syntax highlighting for rust-ish files -autocmd BufNewFile,BufRead *.ron set syntax=rust -autocmd BufNewFile,BufRead *.lalrpop set syntax=rust -autocmd BufNewFile,BufRead *.pest set syntax=rust - -" Word-wrapping for relevant files -autocmd BufNewFile,BufRead *.tex set linebreak -autocmd BufNewFile,BufRead *.wiki set linebreak - -" rust-stuff -let g:rustfmt_autosave = 1 -let g:rustfmt_emit_files = 1 -let g:rustfmt_fail_silently = 0 -let g:rust_clip_command = 'xclip -selection clipboard' - -" === FISH CONFIGURATION === " -" Use fish for compiling fish-files -autocmd FileType fish compiler fish -" Code block folding -"autocmd FileType fish setlocal foldmethod=expr -" === ================== === " - -" === KEY BINDINGS === " -" Map to space -let mapleader = " " - -" Fuzzy file search -nnoremap ff Telescope find_files -nnoremap fs Telescope grep_string initial_mode=normal -nnoremap fg Telescope live_grep -nnoremap fb Telescope buffers -nnoremap fh Telescope help_tags - -" Clear highlights -noremap h :noh - -" trigger vim-rooter -noremap :Rooter -let g:rooter_manual_only = 1 - -" Toggle between begin -nnoremap - -" Managing tabs -nnoremap n :tabe:Telescope find-files -nnoremap gt -nnoremap gT - -" undo-redo -nnoremap U :redo - -" language server shortcuts -nmap a (coc-codeaction-selected) -nmap r (coc-rename) -"nmap cl (coc-codelens-action) -nmap d :CocList diagnostics -nmap c :CocList commands -nmap s :CocList -I symbols -nmap o :CocOutline -imap coc#pum#visible() ? coc#pum#confirm() : "\" -imap - \ coc#pum#visible() ? coc#pum#next(1) : - \ coc#refresh() -imap coc#pum#visible() ? coc#pum#prev(1) : "\" - -" grammarous -nmap gc :GrammarousCheck -nmap gq (grammarous-close-info-window) (grammarous-reset) -nmap gn (grammarous-move-to-next-error) (grammarous-open-info-window) -nmap gN (grammarous-move-to-previous-error) (grammarous-open-info-window) - -" vim-smooth-scroll hotkey overrides -noremap :call smooth_scroll#up(&scroll, 0, 3) -noremap :call smooth_scroll#down(&scroll, 0, 3) -noremap :call smooth_scroll#up(&scroll*2, 0, 4) -noremap :call smooth_scroll#down(&scroll*2, 0, 4) -" ==================== " diff --git a/tree/.config/nvim/lua/keys.lua b/tree/.config/nvim/lua/keys.lua new file mode 100644 index 0000000..24a65b9 --- /dev/null +++ b/tree/.config/nvim/lua/keys.lua @@ -0,0 +1,7 @@ +local builtin = require('telescope.builtin') +vim.keymap.set('n', 'ff', builtin.find_files, {}) +vim.keymap.set('n', 'fg', builtin.live_grep, {}) +vim.keymap.set('n', 'fb', builtin.buffers, {}) +vim.keymap.set('n', 'fh', builtin.help_tags, {}) +vim.keymap.set('n', 'fs', builtin.treesitter, {}) -- find symbols +vim.keymap.set('n', 'U', ":redo", {}) -- find symbols diff --git a/tree/.config/nvim/lua/opts.lua b/tree/.config/nvim/lua/opts.lua new file mode 100644 index 0000000..cd2e9e4 --- /dev/null +++ b/tree/.config/nvim/lua/opts.lua @@ -0,0 +1,52 @@ +local opt = vim.opt + +-- Use system clipboard +vim.opt.clipboard="unnamedplus" + +-- [[ Context ]] +opt.colorcolumn = '100' -- str: Show col for max line length +opt.number = true -- bool: Show line numbers +opt.relativenumber = true -- bool: Show relative line numbers +opt.scrolloff = 4 -- int: Min num lines of context +opt.signcolumn = "yes" -- str: Show the sign column + +-- [[ Filetypes ]] +opt.encoding = 'utf8' -- str: String encoding to use +opt.fileencoding = 'utf8' -- str: File encoding to use + +-- [[ Theme ]] +opt.syntax = "ON" -- str: Allow syntax highlighting +opt.termguicolors = true -- bool: If term supports ui color then enable + +-- [[ Search ]] +opt.ignorecase = true -- bool: Ignore case in search patterns +opt.smartcase = true -- bool: Override ignorecase if search contains capitals +opt.incsearch = true -- bool: Use incremental search +opt.hlsearch = false -- bool: Highlight search matches + +-- [[ Whitespace ]] +-- opt.expandtab = true -- bool: Use spaces instead of tabs +opt.shiftwidth = 4 -- num: Size of an indent +opt.softtabstop = 4 -- num: Number of spaces tabs count for in insert mode +opt.tabstop = 4 -- num: Number of spaces tabs count for + +-- [[ Splits ]] +opt.splitright = true -- bool: Place new window to right of current one +opt.splitbelow = true -- bool: Place new window below the current one + +--Set completeopt to have a better completion experience +-- :help completeopt +-- menuone: popup even when there's only one match +-- noinsert: Do not insert text until a selection is made +-- noselect: Do not select, force to select one from the menu +-- shortness: avoid showing extra messages when using completion +-- updatetime: set updatetime for CursorHold +vim.opt.completeopt = {'menuone', 'noselect', 'noinsert'} +vim.opt.shortmess = vim.opt.shortmess + { c = true} +vim.api.nvim_set_option('updatetime', 300) + + +-- Uncomment to enable treesitter folding by default +--vim.wo.foldmethod = 'expr' +--vim.wo.foldexpr = 'nvim_treesitter#foldexpr()' + diff --git a/tree/.config/nvim/lua/plugins.lua b/tree/.config/nvim/lua/plugins.lua new file mode 100644 index 0000000..fc25613 --- /dev/null +++ b/tree/.config/nvim/lua/plugins.lua @@ -0,0 +1,116 @@ +-- vim.cmd([[ +-- augroup packer_user_config +-- autocmd! +-- autocmd BufWritePost plugins.lua source | PackerCompile +-- augroup end +-- ]]) + +return require('packer').startup(function(use) + -- Packer can manage itself + use 'wbthomason/packer.nvim' + + -- Simple plugins can be specified as strings + use 'rstacruz/vim-closer' + + -- Lazy loading: + -- Load on specific commands + use {'tpope/vim-dispatch', opt = true, cmd = {'Dispatch', 'Make', 'Focus', 'Start'}} + + -- Load on an autocommand event + use {'andymass/vim-matchup', event = 'VimEnter'} + + -- Load on a combination of conditions: specific filetypes or commands + -- Also run code after load (see the "config" key) + use { + 'w0rp/ale', + ft = {'sh', 'zsh', 'bash', 'c', 'cpp', 'cmake', 'html', 'markdown', 'racket', 'vim', 'tex'}, + cmd = 'ALEEnable', + config = 'vim.cmd[[ALEEnable]]' + } + + -- Plugins can have dependencies on other plugins + use { + 'haorenW1025/completion-nvim', + opt = true, + requires = {{'hrsh7th/vim-vsnip', opt = true}, {'hrsh7th/vim-vsnip-integ', opt = true}} + } + + -- Plugins can also depend on rocks from luarocks.org: + --use { + -- 'my/supercoolplugin', + -- rocks = {'lpeg', {'lua-cjson', version = '2.1.0'}} + --} + + -- You can specify rocks in isolation + use_rocks 'penlight' + use_rocks {'lua-resty-http', 'lpeg'} + + -- Local plugins can be included + --use '~/projects/personal/hover.nvim' + + -- Plugins can have post-install/update hooks + use {'iamcco/markdown-preview.nvim', run = 'cd app && yarn install', cmd = 'MarkdownPreview'} + + -- Post-install/update hook with neovim command + use 'nvim-treesitter/nvim-treesitter' + + -- Post-install/update hook with call of vimscript function with argument + use { 'glacambre/firenvim', run = function() vim.fn['firenvim#install'](0) end } + + -- Use specific branch, dependency and run lua file after load + --use { + -- 'glepnir/galaxyline.nvim', branch = 'main', config = function() require'statusline' end, + -- requires = {'kyazdani42/nvim-web-devicons'} + --} + + -- Use dependency and run lua function after load + --use { + -- 'lewis6991/gitsigns.nvim', requires = { 'nvim-lua/plenary.nvim' }, + -- config = function() require('gitsigns').setup() end + --} + + -- You can specify multiple plugins in a single call + use {'tjdevries/colorbuddy.vim', {'nvim-treesitter/nvim-treesitter', opt = true}} + + -- You can alias plugin names + use {'dracula/vim', as = 'dracula'} + + -- example plugins above + -- my stuff below + use 'ellisonleao/gruvbox.nvim' + use 'danilamihailov/beacon.nvim' + + -- language server stuff + use 'williamboman/mason.nvim' + use 'williamboman/mason-lspconfig.nvim' + use 'neovim/nvim-lspconfig' + use 'simrat39/rust-tools.nvim' + use 'WhoIsSethDaniel/lualine-lsp-progress.nvim' + + -- Completion framework: + use 'hrsh7th/nvim-cmp' + + -- LSP completion source: + use 'hrsh7th/cmp-nvim-lsp' + + -- Useful completion sources: + use 'hrsh7th/cmp-nvim-lua' + use 'hrsh7th/cmp-nvim-lsp-signature-help' + use 'hrsh7th/cmp-vsnip' + use 'hrsh7th/cmp-path' + use 'hrsh7th/cmp-buffer' + use 'hrsh7th/vim-vsnip' + + -- telescope + use "nvim-lua/plenary.nvim" + use { + 'nvim-telescope/telescope.nvim', branch = '0.1.x', + requires = { {'nvim-lua/plenary.nvim'} } + } + + -- status line + use { + 'nvim-lualine/lualine.nvim', + requires = { 'nvim-tree/nvim-web-devicons', opt = true } + } +end) diff --git a/tree/.config/nvim/lua/statusline.lua b/tree/.config/nvim/lua/statusline.lua new file mode 100644 index 0000000..0fcd5c3 --- /dev/null +++ b/tree/.config/nvim/lua/statusline.lua @@ -0,0 +1,43 @@ +require('lualine').setup { + options = { + icons_enabled = true, + theme = 'auto', + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = false, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + } + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = {'filename'}, + lualine_x = {{ + 'lsp_progress', + timer = { progress_enddelay = 20, spinner = 20, lsp_client_name_enddelay = 20 }, + }}, + lualine_y = {'encoding', 'fileformat', 'filetype'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {'location'}, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + winbar = {}, + inactive_winbar = {}, + extensions = {} +} diff --git a/tree/.config/nvim/lua/theme.lua b/tree/.config/nvim/lua/theme.lua new file mode 100644 index 0000000..056952f --- /dev/null +++ b/tree/.config/nvim/lua/theme.lua @@ -0,0 +1,30 @@ +-- setup must be called before loading the colorscheme +-- Default options: +require("gruvbox").setup({ + terminal_colors = true, -- add neovim terminal colors + undercurl = true, + underline = true, + bold = true, + italic = { + strings = true, + emphasis = true, + comments = true, + operators = false, + folds = true, + }, + strikethrough = true, + invert_selection = false, + invert_signs = false, + invert_tabline = false, + invert_intend_guides = false, + inverse = true, -- invert background for search, diffs, statuslines and errors + contrast = "", -- can be "hard", "soft" or empty string + palette_overrides = {}, + overrides = {}, + dim_inactive = false, + transparent_mode = false, +}) + +vim.o.background = "dark" -- or "light" for light mode + +vim.cmd([[colorscheme gruvbox]]) diff --git a/tree/.config/nvim/lua/vars.lua b/tree/.config/nvim/lua/vars.lua new file mode 100644 index 0000000..d26c2c9 --- /dev/null +++ b/tree/.config/nvim/lua/vars.lua @@ -0,0 +1,4 @@ +local g = vim.g + +g.t_co = 256 +g.background = "dark" diff --git a/tree/.config/nvim/plugin/packer_compiled.lua b/tree/.config/nvim/plugin/packer_compiled.lua new file mode 100644 index 0000000..8efd481 --- /dev/null +++ b/tree/.config/nvim/plugin/packer_compiled.lua @@ -0,0 +1,338 @@ +-- 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/hulthe/.cache/nvim/packer_hererocks/2.1.1694285958/share/lua/5.1/?.lua;/home/hulthe/.cache/nvim/packer_hererocks/2.1.1694285958/share/lua/5.1/?/init.lua;/home/hulthe/.cache/nvim/packer_hererocks/2.1.1694285958/lib/luarocks/rocks-5.1/?.lua;/home/hulthe/.cache/nvim/packer_hererocks/2.1.1694285958/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/hulthe/.cache/nvim/packer_hererocks/2.1.1694285958/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 = { + ale = { + commands = { "ALEEnable" }, + config = { "vim.cmd[[ALEEnable]]" }, + loaded = false, + needs_bufread = true, + only_cond = false, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/opt/ale", + url = "https://github.com/w0rp/ale" + }, + ["beacon.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/beacon.nvim", + url = "https://github.com/danilamihailov/beacon.nvim" + }, + ["cmp-buffer"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/cmp-buffer", + url = "https://github.com/hrsh7th/cmp-buffer" + }, + ["cmp-nvim-lsp"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + url = "https://github.com/hrsh7th/cmp-nvim-lsp" + }, + ["cmp-nvim-lsp-signature-help"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help", + url = "https://github.com/hrsh7th/cmp-nvim-lsp-signature-help" + }, + ["cmp-nvim-lua"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua", + url = "https://github.com/hrsh7th/cmp-nvim-lua" + }, + ["cmp-path"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/cmp-path", + url = "https://github.com/hrsh7th/cmp-path" + }, + ["cmp-vsnip"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/cmp-vsnip", + url = "https://github.com/hrsh7th/cmp-vsnip" + }, + ["colorbuddy.vim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/colorbuddy.vim", + url = "https://github.com/tjdevries/colorbuddy.vim" + }, + ["completion-nvim"] = { + after = { "vim-vsnip-integ" }, + loaded = false, + needs_bufread = false, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/opt/completion-nvim", + url = "https://github.com/haorenW1025/completion-nvim" + }, + dracula = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/dracula", + url = "https://github.com/dracula/vim" + }, + firenvim = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/firenvim", + url = "https://github.com/glacambre/firenvim" + }, + ["gruvbox.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/gruvbox.nvim", + url = "https://github.com/ellisonleao/gruvbox.nvim" + }, + ["lualine-lsp-progress.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/lualine-lsp-progress.nvim", + url = "https://github.com/WhoIsSethDaniel/lualine-lsp-progress.nvim" + }, + ["lualine.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/lualine.nvim", + url = "https://github.com/nvim-lualine/lualine.nvim" + }, + ["markdown-preview.nvim"] = { + commands = { "MarkdownPreview" }, + loaded = false, + needs_bufread = false, + only_cond = false, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/opt/markdown-preview.nvim", + url = "https://github.com/iamcco/markdown-preview.nvim" + }, + ["mason-lspconfig.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + url = "https://github.com/williamboman/mason-lspconfig.nvim" + }, + ["mason.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/mason.nvim", + url = "https://github.com/williamboman/mason.nvim" + }, + ["nvim-cmp"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/nvim-cmp", + url = "https://github.com/hrsh7th/nvim-cmp" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-treesitter"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["nvim-web-devicons"] = { + loaded = false, + needs_bufread = false, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/opt/nvim-web-devicons", + url = "https://github.com/nvim-tree/nvim-web-devicons" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + ["plenary.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/plenary.nvim", + url = "https://github.com/nvim-lua/plenary.nvim" + }, + ["rust-tools.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/rust-tools.nvim", + url = "https://github.com/simrat39/rust-tools.nvim" + }, + ["telescope.nvim"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/telescope.nvim", + url = "https://github.com/nvim-telescope/telescope.nvim" + }, + ["vim-closer"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/vim-closer", + url = "https://github.com/rstacruz/vim-closer" + }, + ["vim-dispatch"] = { + commands = { "Dispatch", "Make", "Focus", "Start" }, + loaded = false, + needs_bufread = false, + only_cond = false, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/opt/vim-dispatch", + url = "https://github.com/tpope/vim-dispatch" + }, + ["vim-matchup"] = { + after_files = { "/home/hulthe/.local/share/nvim/site/pack/packer/opt/vim-matchup/after/plugin/matchit.vim" }, + loaded = false, + needs_bufread = true, + only_cond = false, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/opt/vim-matchup", + url = "https://github.com/andymass/vim-matchup" + }, + ["vim-vsnip"] = { + loaded = true, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/start/vim-vsnip", + url = "https://github.com/hrsh7th/vim-vsnip" + }, + ["vim-vsnip-integ"] = { + after_files = { "/home/hulthe/.local/share/nvim/site/pack/packer/opt/vim-vsnip-integ/after/plugin/vsnip_integ.vim" }, + load_after = { + ["completion-nvim"] = true + }, + loaded = false, + needs_bufread = false, + path = "/home/hulthe/.local/share/nvim/site/pack/packer/opt/vim-vsnip-integ", + url = "https://github.com/hrsh7th/vim-vsnip-integ" + } +} + +time([[Defining packer_plugins]], false) + +-- Command lazy-loads +time([[Defining lazy-load commands]], true) +pcall(vim.api.nvim_create_user_command, 'MarkdownPreview', function(cmdargs) + require('packer.load')({'markdown-preview.nvim'}, { cmd = 'MarkdownPreview', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'markdown-preview.nvim'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('MarkdownPreview ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'Dispatch', function(cmdargs) + require('packer.load')({'vim-dispatch'}, { cmd = 'Dispatch', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dispatch'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('Dispatch ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'Make', function(cmdargs) + require('packer.load')({'vim-dispatch'}, { cmd = 'Make', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dispatch'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('Make ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'Focus', function(cmdargs) + require('packer.load')({'vim-dispatch'}, { cmd = 'Focus', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dispatch'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('Focus ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'Start', function(cmdargs) + require('packer.load')({'vim-dispatch'}, { cmd = 'Start', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'vim-dispatch'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('Start ', 'cmdline') + end}) +pcall(vim.api.nvim_create_user_command, 'ALEEnable', function(cmdargs) + require('packer.load')({'ale'}, { cmd = 'ALEEnable', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) + end, + {nargs = '*', range = true, bang = true, complete = function() + require('packer.load')({'ale'}, {}, _G.packer_plugins) + return vim.fn.getcompletion('ALEEnable ', 'cmdline') + end}) +time([[Defining lazy-load commands]], false) + +vim.cmd [[augroup packer_load_aucmds]] +vim.cmd [[au!]] + -- Filetype lazy-loads +time([[Defining lazy-load filetype autocommands]], true) +vim.cmd [[au FileType cmake ++once lua require("packer.load")({'ale'}, { ft = "cmake" }, _G.packer_plugins)]] +vim.cmd [[au FileType html ++once lua require("packer.load")({'ale'}, { ft = "html" }, _G.packer_plugins)]] +vim.cmd [[au FileType markdown ++once lua require("packer.load")({'ale'}, { ft = "markdown" }, _G.packer_plugins)]] +vim.cmd [[au FileType racket ++once lua require("packer.load")({'ale'}, { ft = "racket" }, _G.packer_plugins)]] +vim.cmd [[au FileType tex ++once lua require("packer.load")({'ale'}, { ft = "tex" }, _G.packer_plugins)]] +vim.cmd [[au FileType vim ++once lua require("packer.load")({'ale'}, { ft = "vim" }, _G.packer_plugins)]] +vim.cmd [[au FileType c ++once lua require("packer.load")({'ale'}, { ft = "c" }, _G.packer_plugins)]] +vim.cmd [[au FileType sh ++once lua require("packer.load")({'ale'}, { ft = "sh" }, _G.packer_plugins)]] +vim.cmd [[au FileType zsh ++once lua require("packer.load")({'ale'}, { ft = "zsh" }, _G.packer_plugins)]] +vim.cmd [[au FileType bash ++once lua require("packer.load")({'ale'}, { ft = "bash" }, _G.packer_plugins)]] +vim.cmd [[au FileType cpp ++once lua require("packer.load")({'ale'}, { ft = "cpp" }, _G.packer_plugins)]] +time([[Defining lazy-load filetype autocommands]], false) + -- Event lazy-loads +time([[Defining lazy-load event autocommands]], true) +vim.cmd [[au VimEnter * ++once lua require("packer.load")({'vim-matchup'}, { event = "VimEnter *" }, _G.packer_plugins)]] +time([[Defining lazy-load event autocommands]], false) +vim.cmd("augroup END") + +_G._packer.inside_compile = false +if _G._packer.needs_bufread == true then + vim.cmd("doautocmd BufRead") +end +_G._packer.needs_bufread = false + +if should_profile then save_profiles() end + +end) + +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