From 0e1bf5aad478a4030f31acd8bbea874b71e42f43 Mon Sep 17 00:00:00 2001 From: Ian Griffin Date: Fri, 30 Sep 2022 20:06:55 +0800 Subject: [PATCH] initial commit --- COPYING | 4 + README.md | 44 ++++++ init.lua | 37 +++++ lua/binds.lua | 26 ++++ lua/conftool.lua | 37 +++++ lua/defs.lua | 8 ++ lua/filetypes.lua | 26 ++++ lua/ide.lua | 161 ++++++++++++++++++++++ lua/misc.lua | 70 ++++++++++ lua/ui.lua | 67 +++++++++ plugin/packer_compiled.lua | 272 +++++++++++++++++++++++++++++++++++++ 11 files changed, 752 insertions(+) create mode 100644 COPYING create mode 100644 README.md create mode 100644 init.lua create mode 100644 lua/binds.lua create mode 100644 lua/conftool.lua create mode 100644 lua/defs.lua create mode 100644 lua/filetypes.lua create mode 100644 lua/ide.lua create mode 100644 lua/misc.lua create mode 100644 lua/ui.lua create mode 100644 plugin/packer_compiled.lua diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..662cfe1 --- /dev/null +++ b/COPYING @@ -0,0 +1,4 @@ +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without any warranty. diff --git a/README.md b/README.md new file mode 100644 index 0000000..5a3b001 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +Neovim Config +============= + +## What is this? +These are my personal configuration for neovim. + +## How to use this config? +This Configuration works best in GNU/Linux platform. Other systems are also supported, but they see less testing, so expect more bugs. +Supported Systems: +- MS Windows, preferably running on MSYS2 Environment (Running on MS Windows directly is untested) +- Android, on Termux +- Theoretically it runs on MacOS and BSDs, but it’s untested, as I don’t have access to any MacOS/BSD system (yet) + +### Neovim Version +This configuration can only be used with Neovim version 0.5 and up + +### External Dependencies +Some plugins require python extensions for neovim + +#### Language Servers + + +### Installation +1. Download/Clone this git repo to ```$HOME/.config/nvim``` +```sh +mkdir -p $HOME/.config +git clone "https://gitlab.com/telosama/neovim-config.git" $HOME/.config/nvim +``` +3. Start Neovim , then do this command: +``` +:PackerSync +:PackerCompile +:COQdeps +``` +And Done! + +## Philosophy +- Just to keep it as simple as possible +- It's a text editor, not an IDE, so just keep simple plugins to help text editing. +- These are not rules, they are more of a suggestion/guideline + +## Support/Contribution +As can be seen, the author of this repo is a beginner in english and programming, especially in Lua & Git. +So, any constructive help, criticism, contributions are very welcome. diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..e11bafe --- /dev/null +++ b/init.lua @@ -0,0 +1,37 @@ + ---------------------------------------- + -- -- + -- init.lua -- -- + ---------------------------------------- + +-- +-- Packer, a use-package like package manager +-- + +-- Bootstrap +local fn = vim.fn +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}) +end + +packer = require 'packer' +packer.reset() +packer.init() +local pk_use = packer.use + +pk_use 'wbthomason/packer.nvim' + +if Packer_bootstrap then + packer.sync() +end + +-- +-- Load other files +-- +require 'ide' -- Tree Sitter Settings +require 'ui' -- User Interface +require 'defs' -- Default files/folders +require 'binds' -- Keybindings and commands +require 'misc' + + diff --git a/lua/binds.lua b/lua/binds.lua new file mode 100644 index 0000000..6f00728 --- /dev/null +++ b/lua/binds.lua @@ -0,0 +1,26 @@ +-- +-- Configuration Tools +-- +local ct = require('conftool') +local defs = require('defs') + +-- +-- Maps +-- +-- select all +ct.map('n', '', 'ggVG') +--[[ +-- spawn terminal +ct.map('n', '', ':!' .. defs.external_term .. ' . &') +-- spwan file manager +ct.map('n', '', ':!' .. defs.external_filemgr .. ' . &') +]] +-- spellchecking +ct.map('n', '', ':set spell!') + +-- +-- Commands +-- +ct.defcmd('Xrdb', '!xrdb %') +ct.defcmd('ExTerm', '!' .. defs.external_term .. '&') +ct.defcmd('ExFileMgr', '!' .. defs.external_filemgr .. '&') diff --git a/lua/conftool.lua b/lua/conftool.lua new file mode 100644 index 0000000..864a925 --- /dev/null +++ b/lua/conftool.lua @@ -0,0 +1,37 @@ +local conftool = {} + +function conftool.set(...) + for _,a in ipairs{...} do + if type(a) == "string" then + vim.opt[a] = true; + elseif type(a) == "table" then + local val = false + if #a == 2 then val = a[2] + elseif #a == 1 then val = true end + vim.opt[ a[1] ] = val + end + end +end + +function conftool.augroup(name, ...) + vim.cmd('augroup ' .. name) + vim.cmd('autocmd!') + for _, autocmd in ipairs{...} do + vim.cmd('autocmd ' .. table.concat(autocmd, ' ')) + end + vim.cmd('augroup END') +end + +function conftool.map(mode, keyseq, argcmd, argopts) + local opts = {noremap = true} + if argopts then opts = vim.tbl_extend('force', defopts, opts) end + vim.api.nvim_set_keymap(mode, keyseq, argcmd, opts) +end + +function conftool.defcmd(cmd, repl, attr, redef) + if not redef then redef = '' end + if not attr then attr = '' end + vim.cmd('command' .. redef .. ' ' .. cmd .. ' ' .. attr .. ' ' .. repl) +end + +return conftool diff --git a/lua/defs.lua b/lua/defs.lua new file mode 100644 index 0000000..7d69ee6 --- /dev/null +++ b/lua/defs.lua @@ -0,0 +1,8 @@ +return { + -- Yes, I use the Mate desktop environment + template_dir = '~/templates', + external_term = 'mate-terminal', + external_filemgr = 'caja', + external_pdfviewer = 'atril', + lsp_path = vim.env.HOME .. '/.local/share/lsp_servers' +} diff --git a/lua/filetypes.lua b/lua/filetypes.lua new file mode 100644 index 0000000..464f8b5 --- /dev/null +++ b/lua/filetypes.lua @@ -0,0 +1,26 @@ +-- +-- Configuration Tools +-- +local ct = require('conftool') +local defs = require('defaults') +-- +-- Templates +-- +ct.augroup('templates', + {'BufNewFile', '*.c', '0r', defs.template_dir .. '/c_stdio.c'}, + {'BufNewFile', '*.cpp', '0r', defs.template_dir .. '/cpp_iostream.cpp'}, + {'BufNewFile', '*.html', '0r', defs.template_dir .. '/html.html'}, + {'BufNewFile', '*.html', '0r', defs.template_dir .. '/html.html'}, + {'BufNewFile', '*.py', '0r', defs.template_dir .. '/py.py'}, + {'BufNewFile', '*.sh', '0r', defs.template_dir .. '/sh.sh'} +) + +-- +-- FileType based Settings +-- +ct.augroup('filetypeSettings', + {'FileType', 'python', 'setlocal', 'tabstop=4 shiftwidth=4 expandtab'}, + {'FileType', 'html', 'setlocal', 'tabstop=2 shiftwidth=2 expandtab'}, + {'FileType', 'javascript', 'setlocal', 'tabstop=2 shiftwidth=2 expandtab'}, + {'FileType', 'vue', 'setlocal', 'tabstop=2 shiftwidth=2 expandtab'} +) diff --git a/lua/ide.lua b/lua/ide.lua new file mode 100644 index 0000000..ff5a62d --- /dev/null +++ b/lua/ide.lua @@ -0,0 +1,161 @@ +-- +-- IDE-like features +-- + +-- Load required tools +local pk_use = require 'packer'.use +local ct = require 'conftool' + + +-- +-- Tree Sitter +-- +pk_use { + 'nvim-treesitter/nvim-treesitter', + run = ':TSUpdate', + config = function() + require('nvim-treesitter.configs').setup{ + ensure_installed = { + "bash", + "bibtex", + "c", + "cpp", + "css", + "go", + "html", + "javascript", + "json", + "latex", + "python", + "typescript", + "vim", + }, + sync_install = false, + highlight = { + enable = true, + } + } + end +} + +-- +-- Autocompletion +-- +pk_use { + 'ms-jpq/coq_nvim', + branch = 'coq', + config = function() + vim.cmd([[autocmd VimEnter * COQnow]]) + end +} +pk_use { + 'ms-jpq/coq.artifacts', + branch = 'artifacts' +} + +-- +-- Language Configurations +-- +pk_use 'ap/vim-css-color' +-- close tags in html languages +pk_use { + 'alvan/closetag.vim', + ft = {"html", "vue"} +} +pk_use { + 'fatih/vim-go', + ft = 'go' +} +pk_use { + 'lervag/vimtex', + ft = 'tex', + config = function() + local defs = require 'defaults' + vim.g.vimtex_view_general_viewer = defs.external_pdfviewer + vim.g.vimtex_compiler_latexmk_engines = { _ = '-xelatex'} + vim.g.vimtex_compiler_progname = 'nvim' + end +} + + +-- +-- Language Server +-- + +-- Basic commands +pk_use 'nanotee/nvim-lsp-basics' + +-- Language Server Installer +pk_use { + 'williamboman/mason.nvim', + config = function() + require('mason').setup() + end +} +pk_use { + 'williamboman/mason-lspconfig.nvim', + requires = { + 'williamboman/mason.nvim', + 'ms-jpq/coq_nvim' + }, + config = function() + local masonlsp = require 'mason-lspconfig' + masonlsp.setup { + ensure_installed = { + "sumneko_lua", + "gopls", + "vimls" + } + } + masonlsp.setup_handlers { + function(server_name) + require('lspconfig')[server_name].setup(require('coq').lsp_ensure_capabilities { + on_attach = function(client, bufnr) + local basics = require('lsp_basics') + basics.make_lsp_commands(client, bufnr) + basics.make_lsp_mappings(client, bufnr) + end + }) + end + } + end +} + +pk_use {'neovim/nvim-lspconfig'} + +-- +-- Show code diagnostics in a separate buffer window +-- +pk_use { + 'folke/trouble.nvim', + config = function() + require('trouble').setup { + icons = false, + fold_open = "v", + fold_closed = ">", + signs = { + error = "E:", + warning = "W:", + hint = "H:", + information = "I:" + }, + use_diagnostic_signs = false + } + + require('conftool').map('n', '', ':TroubleToggle') + end +} + +-- +-- Debugger Adapter Protocol +-- +--[[ +pk_use { + 'mfussenegger/nvim-dap', + config = function() + local dap = require('dap') + + end +} +--]] + diff --git a/lua/misc.lua b/lua/misc.lua new file mode 100644 index 0000000..add8984 --- /dev/null +++ b/lua/misc.lua @@ -0,0 +1,70 @@ +local ct = require('conftool') +local pk_use = require('packer').use + +-- +-- Encoding +-- +ct.set({'encoding', 'utf-8'}, {'fileencoding', 'utf-8'}) + +-- +-- Search +-- +ct.set('wildmenu', 'incsearch', 'hlsearch') +vim.opt.backspace = 'indent,eol,start' + +-- +-- Folds +-- +ct.augroup('AutoSaveFolds', { + 'BufWinLeave,BufLeave,BufWritePost', + '?*', 'nested silent!', + 'mkview!' + },{ + 'BufWinEnter', '?*', 'silent!', 'loadview' + } +) + +-- +-- Spell Checking +-- +ct.set({'spelllang', {'en', 'cjk', 'id'}}) +ct.set({'spellsuggest', {'best', 5}}) + +-- +-- Focus Mode +-- +pk_use { + 'junegunn/goyo.vim', + cmd = 'Goyo' +} + +-- +-- Multi-cursor +-- +pk_use { + 'mg979/vim-visual-multi', + keys = {"", ""} +} + +-- +-- Netrw built-in file manager +-- +vim.g.netrw_liststyle = 3 -- tree style display +vim.g.netrw_banner = 0 -- no banner needed +vim.g.netrw_browse_split = 4 +vim.g.netrw_winsize = 15 -- small window size +vim.g.netrw_chgwin = 1 + +-- +-- EtC. +-- +vim.opt.compatible = false +vim.opt.autowrite = true +-- auto cd to the current file's location +vim.cmd('autocmd BufEnter * silent! lcd %:p:h') +-- highlighting for other langs in markdown docs +vim.g.markdown_fenced_languages = {'html', 'vim', 'python', 'c', 'bash=sh'} +-- auto close delimiters (eg. parentheses, brackets) +pk_use 'Raimondi/delimitMate' + + diff --git a/lua/ui.lua b/lua/ui.lua new file mode 100644 index 0000000..e391a73 --- /dev/null +++ b/lua/ui.lua @@ -0,0 +1,67 @@ +local pk_use = require 'packer'.use +local ct = require 'conftool' + +-- +-- Theme +-- +vim.cmd('syntax on') +--[[ +pk_use { + 'ellisonleao/gruvbox.nvim', + config = function() + require('conftool').set({'background', "light"}) + require('gruvbox').setup({ + italic = true, + bold = true, + contrast = "hard" + }) + vim.cmd [[colo gruvbox]] +-- end +--} +--]] +pk_use { + 'Th3Whit3Wolf/one-nvim', + config = function() + require('conftool').set({'background', "light"}) + vim.cmd [[colorscheme one-nvim]] + end +} + +-- +-- Indentation +-- +vim.cmd('filetype plugin indent on') +ct.set('autoindent', 'smartindent', 'cindent') +ct.set({'tabstop', 5}, {'shiftwidth', 5}) + +-- +-- Indent indicators +-- +vim.opt.list = true +vim.cmd([[set lcs=tab:\|\ ]]) +pk_use { + 'Yggdroot/indentLine', + setup = function() + vim.g.indentLine_char = '|' + vim.g.indentLine_setConceal = 0 + end +} + +-- +-- EtC. +-- +ct.set('ruler', 'showcmd', 'cursorline', 'number', 'termguicolors', 'title') +ct.set( + {'signcolumn', 'yes:1'}, + {'laststatus', 1}, + {'background', 'light'}, + {'conceallevel', 0}, + {'textwidth', 0}, + {'wrapmargin', 0}, + {'laststatus', 1} +) + +-- dont show line number in terminal window +vim.cmd('autocmd TermOpen * setlocal nonu') +-- turn on mouse +vim.opt.mouse = 'a' diff --git a/plugin/packer_compiled.lua b/plugin/packer_compiled.lua new file mode 100644 index 0000000..a15163e --- /dev/null +++ b/plugin/packer_compiled.lua @@ -0,0 +1,272 @@ +-- 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/iang/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/iang/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/iang/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/iang/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/iang/.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 = { + ["closetag.vim"] = { + loaded = false, + needs_bufread = true, + only_cond = false, + path = "/home/iang/.local/share/nvim/site/pack/packer/opt/closetag.vim", + url = "https://github.com/alvan/closetag.vim" + }, + ["coq.artifacts"] = { + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/coq.artifacts", + url = "https://github.com/ms-jpq/coq.artifacts" + }, + coq_nvim = { + config = { "\27LJ\2\n=\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\30autocmd VimEnter * COQnow\bcmd\bvim\0" }, + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/coq_nvim", + url = "https://github.com/ms-jpq/coq_nvim" + }, + delimitMate = { + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/delimitMate", + url = "https://github.com/Raimondi/delimitMate" + }, + ["goyo.vim"] = { + commands = { "Goyo" }, + loaded = false, + needs_bufread = false, + only_cond = false, + path = "/home/iang/.local/share/nvim/site/pack/packer/opt/goyo.vim", + url = "https://github.com/junegunn/goyo.vim" + }, + indentLine = { + after_files = { "/home/iang/.local/share/nvim/site/pack/packer/opt/indentLine/after/plugin/indentLine.vim" }, + loaded = true, + needs_bufread = false, + path = "/home/iang/.local/share/nvim/site/pack/packer/opt/indentLine", + url = "https://github.com/Yggdroot/indentLine" + }, + ["mason-lspconfig.nvim"] = { + config = { "\27LJ\2\nn\0\2\a\0\4\0\f6\2\0\0'\4\1\0B\2\2\0029\3\2\2\18\5\0\0\18\6\1\0B\3\3\0019\3\3\2\18\5\0\0\18\6\1\0B\3\3\1K\0\1\0\22make_lsp_mappings\22make_lsp_commands\15lsp_basics\frequire\1\1\1\a\0\b\0\0156\1\0\0'\3\1\0B\1\2\0028\1\0\0019\1\2\0016\3\0\0'\5\3\0B\3\2\0029\3\4\0035\5\6\0003\6\5\0=\6\a\5B\3\2\0A\1\0\1K\0\1\0\14on_attach\1\0\0\0\28lsp_ensure_capabilities\bcoq\nsetup\14lspconfig\frequire\1\1\0\5\0\b\0\0146\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\3B\1\2\0019\1\6\0004\3\3\0003\4\a\0>\4\1\3B\1\2\1K\0\1\0\0\19setup_handlers\21ensure_installed\1\0\0\1\4\0\0\16sumneko_lua\ngopls\nvimls\nsetup\20mason-lspconfig\frequire\0" }, + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + url = "https://github.com/williamboman/mason-lspconfig.nvim" + }, + ["mason.nvim"] = { + config = { "\27LJ\2\n3\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\nmason\frequire\0" }, + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/mason.nvim", + url = "https://github.com/williamboman/mason.nvim" + }, + ["nvim-lsp-basics"] = { + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/nvim-lsp-basics", + url = "https://github.com/nanotee/nvim-lsp-basics" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-treesitter"] = { + config = { "\27LJ\2\n\1\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\14highlight\1\0\1\venable\2\21ensure_installed\1\0\1\17sync_install\1\1\14\0\0\tbash\vbibtex\6c\bcpp\bcss\ago\thtml\15javascript\tjson\nlatex\vpython\15typescript\bvim\nsetup\28nvim-treesitter.configs\frequire\0" }, + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["one-nvim"] = { + config = { "\27LJ\2\nz\0\0\3\0\a\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\0016\0\4\0009\0\5\0'\2\6\0B\0\2\1K\0\1\0\25colorscheme one-nvim\bcmd\bvim\1\3\0\0\15background\nlight\bset\rconftool\frequire\0" }, + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/one-nvim", + url = "https://github.com/Th3Whit3Wolf/one-nvim" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + ["trouble.nvim"] = { + config = { "\27LJ\2\n\1\0\0\5\0\v\0\0176\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\0016\0\0\0'\2\6\0B\0\2\0029\0\a\0'\2\b\0'\3\t\0'\4\n\0B\0\4\1K\0\1\0\23:TroubleToggle\f\6n\bmap\rconftool\nsigns\1\0\4\nerror\aE:\thint\aH:\16information\aI:\fwarning\aW:\1\0\4\nicons\1\25use_diagnostic_signs\1\16fold_closed\6>\14fold_open\6v\nsetup\ftrouble\frequire\0" }, + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/trouble.nvim", + url = "https://github.com/folke/trouble.nvim" + }, + ["vim-css-color"] = { + loaded = true, + path = "/home/iang/.local/share/nvim/site/pack/packer/start/vim-css-color", + url = "https://github.com/ap/vim-css-color" + }, + ["vim-go"] = { + loaded = false, + needs_bufread = true, + only_cond = false, + path = "/home/iang/.local/share/nvim/site/pack/packer/opt/vim-go", + url = "https://github.com/fatih/vim-go" + }, + ["vim-visual-multi"] = { + keys = { { "", "" }, { "", "" } }, + loaded = false, + needs_bufread = false, + only_cond = false, + path = "/home/iang/.local/share/nvim/site/pack/packer/opt/vim-visual-multi", + url = "https://github.com/mg979/vim-visual-multi" + }, + vimtex = { + config = { "\27LJ\2\n\1\0\0\3\0\n\0\0166\0\0\0'\2\1\0B\0\2\0026\1\2\0009\1\3\0019\2\5\0=\2\4\0016\1\2\0009\1\3\0015\2\a\0=\2\6\0016\1\2\0009\1\3\1'\2\t\0=\2\b\1K\0\1\0\tnvim\29vimtex_compiler_progname\1\0\1\6_\r-xelatex$vimtex_compiler_latexmk_engines\23external_pdfviewer\31vimtex_view_general_viewer\6g\bvim\rdefaults\frequire\0" }, + loaded = false, + needs_bufread = true, + only_cond = false, + path = "/home/iang/.local/share/nvim/site/pack/packer/opt/vimtex", + url = "https://github.com/lervag/vimtex" + } +} + +time([[Defining packer_plugins]], false) +-- Setup for: indentLine +time([[Setup for indentLine]], true) +try_loadstring("\27LJ\2\nY\0\0\2\0\5\0\t6\0\0\0009\0\1\0'\1\3\0=\1\2\0006\0\0\0009\0\1\0)\1\0\0=\1\4\0K\0\1\0\26indentLine_setConceal\6|\20indentLine_char\6g\bvim\0", "setup", "indentLine") +time([[Setup for indentLine]], false) +time([[packadd for indentLine]], true) +vim.cmd [[packadd indentLine]] +time([[packadd for indentLine]], false) +-- Config for: nvim-treesitter +time([[Config for nvim-treesitter]], true) +try_loadstring("\27LJ\2\n\1\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\14highlight\1\0\1\venable\2\21ensure_installed\1\0\1\17sync_install\1\1\14\0\0\tbash\vbibtex\6c\bcpp\bcss\ago\thtml\15javascript\tjson\nlatex\vpython\15typescript\bvim\nsetup\28nvim-treesitter.configs\frequire\0", "config", "nvim-treesitter") +time([[Config for nvim-treesitter]], false) +-- Config for: mason.nvim +time([[Config for mason.nvim]], true) +try_loadstring("\27LJ\2\n3\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\nmason\frequire\0", "config", "mason.nvim") +time([[Config for mason.nvim]], false) +-- Config for: one-nvim +time([[Config for one-nvim]], true) +try_loadstring("\27LJ\2\nz\0\0\3\0\a\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\0016\0\4\0009\0\5\0'\2\6\0B\0\2\1K\0\1\0\25colorscheme one-nvim\bcmd\bvim\1\3\0\0\15background\nlight\bset\rconftool\frequire\0", "config", "one-nvim") +time([[Config for one-nvim]], false) +-- Config for: coq_nvim +time([[Config for coq_nvim]], true) +try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\30autocmd VimEnter * COQnow\bcmd\bvim\0", "config", "coq_nvim") +time([[Config for coq_nvim]], false) +-- Config for: mason-lspconfig.nvim +time([[Config for mason-lspconfig.nvim]], true) +try_loadstring("\27LJ\2\nn\0\2\a\0\4\0\f6\2\0\0'\4\1\0B\2\2\0029\3\2\2\18\5\0\0\18\6\1\0B\3\3\0019\3\3\2\18\5\0\0\18\6\1\0B\3\3\1K\0\1\0\22make_lsp_mappings\22make_lsp_commands\15lsp_basics\frequire\1\1\1\a\0\b\0\0156\1\0\0'\3\1\0B\1\2\0028\1\0\0019\1\2\0016\3\0\0'\5\3\0B\3\2\0029\3\4\0035\5\6\0003\6\5\0=\6\a\5B\3\2\0A\1\0\1K\0\1\0\14on_attach\1\0\0\0\28lsp_ensure_capabilities\bcoq\nsetup\14lspconfig\frequire\1\1\0\5\0\b\0\0146\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\3B\1\2\0019\1\6\0004\3\3\0003\4\a\0>\4\1\3B\1\2\1K\0\1\0\0\19setup_handlers\21ensure_installed\1\0\0\1\4\0\0\16sumneko_lua\ngopls\nvimls\nsetup\20mason-lspconfig\frequire\0", "config", "mason-lspconfig.nvim") +time([[Config for mason-lspconfig.nvim]], false) +-- Config for: trouble.nvim +time([[Config for trouble.nvim]], true) +try_loadstring("\27LJ\2\n\1\0\0\5\0\v\0\0176\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\0016\0\0\0'\2\6\0B\0\2\0029\0\a\0'\2\b\0'\3\t\0'\4\n\0B\0\4\1K\0\1\0\23:TroubleToggle\f\6n\bmap\rconftool\nsigns\1\0\4\nerror\aE:\thint\aH:\16information\aI:\fwarning\aW:\1\0\4\nicons\1\25use_diagnostic_signs\1\16fold_closed\6>\14fold_open\6v\nsetup\ftrouble\frequire\0", "config", "trouble.nvim") +time([[Config for trouble.nvim]], false) + +-- Command lazy-loads +time([[Defining lazy-load commands]], true) +pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file Goyo lua require("packer.load")({'goyo.vim'}, { cmd = "Goyo", l1 = , l2 = , bang = , args = , mods = "" }, _G.packer_plugins)]]) +time([[Defining lazy-load commands]], false) + +-- Keymap lazy-loads +time([[Defining lazy-load keymaps]], true) +vim.cmd [[noremap lua require("packer.load")({'vim-visual-multi'}, { keys = "C-Down>", prefix = "" }, _G.packer_plugins)]] +vim.cmd [[noremap lua require("packer.load")({'vim-visual-multi'}, { keys = "C-Up>", prefix = "" }, _G.packer_plugins)]] +time([[Defining lazy-load keymaps]], false) + +vim.cmd [[augroup packer_load_aucmds]] +vim.cmd [[au!]] + -- Filetype lazy-loads +time([[Defining lazy-load filetype autocommands]], true) +vim.cmd [[au FileType tex ++once lua require("packer.load")({'vimtex'}, { ft = "tex" }, _G.packer_plugins)]] +vim.cmd [[au FileType go ++once lua require("packer.load")({'vim-go'}, { ft = "go" }, _G.packer_plugins)]] +vim.cmd [[au FileType vue ++once lua require("packer.load")({'closetag.vim'}, { ft = "vue" }, _G.packer_plugins)]] +vim.cmd [[au FileType html ++once lua require("packer.load")({'closetag.vim'}, { ft = "html" }, _G.packer_plugins)]] +time([[Defining lazy-load filetype autocommands]], false) +vim.cmd("augroup END") +vim.cmd [[augroup filetypedetect]] +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vim-go/ftdetect/gofiletype.vim]], true) +vim.cmd [[source /home/iang/.local/share/nvim/site/pack/packer/opt/vim-go/ftdetect/gofiletype.vim]] +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vim-go/ftdetect/gofiletype.vim]], false) +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/cls.vim]], true) +vim.cmd [[source /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/cls.vim]] +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/cls.vim]], false) +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim]], true) +vim.cmd [[source /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim]] +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim]], false) +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tikz.vim]], true) +vim.cmd [[source /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tikz.vim]] +time([[Sourcing ftdetect script at: /home/iang/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tikz.vim]], false) +vim.cmd("augroup END") + +_G._packer.inside_compile = false +if _G._packer.needs_bufread == true then + vim.cmd("doautocmd BufRead") +end +_G._packer.needs_bufread = false + +if should_profile then save_profiles() end + +end) + +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