Massively cleaned up nvim

This commit is contained in:
Price Hiller 2022-01-10 09:55:15 -06:00
parent 1c8e6de3a6
commit a51f4b5649
60 changed files with 1517 additions and 21 deletions

6
.config/nvim-old/init.lua Executable file
View File

@ -0,0 +1,6 @@
-- sourcing config files.
require("packerstrap")
require("plugins")
require("settings")
require("maps")
require("theme")

View File

@ -1,15 +1,5 @@
local lsp_installer = require("nvim-lsp-installer")
lsp_installer.on_server_ready(function(server)
local border = {
{ "🭽", "FloatBorder" },
{ "", "FloatBorder" },
{ "🭾", "FloatBorder" },
{ "", "FloatBorder" },
{ "🭿", "FloatBorder" },
{ "", "FloatBorder" },
{ "🭼", "FloatBorder" },
{ "", "FloatBorder" },
}
local handlers = {
["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = border }),
["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = border }),
@ -43,7 +33,6 @@ lsp_installer.on_server_ready(function(server)
-- codelldb_path, liblldb_path)
-- },
tools = {
hover_actions = { auto_focus = true },
},
}

View File

@ -18,6 +18,9 @@ return require("packer").startup({
function()
use({ "wbthomason/packer.nvim" })
-- Performance boost on startup
use({ "lewis6991/impatient.nvim" })
-- Color schemes.
use({ "folke/tokyonight.nvim" })
use({ "bluz71/vim-nightfly-guicolors" })
@ -511,7 +514,7 @@ return require("packer").startup({
})
use({
"neomake/neomake"
"neomake/neomake",
})
-- Bootstrap packer if not installed, sync packages

View File

@ -6,7 +6,6 @@ end
-- dap-ui configurations
require("dapui").setup({})
dap.defaults.fallback.terminal_win_cmd = 'ToggleTerm'
vim.fn.sign_define('DapBreakpoint', {text='', texthl='DiagnosticSignError', linehl='', numhl=''})
vim.fn.sign_define('DapBreakpointCondition', {text='', texthl='DiagnosticSignWarn', linehl='', numhl=''})
vim.fn.sign_define('DapLogPoint', {text='', texthl='DiagnosticSignInfo', linehl='', numhl=''})

View File

@ -1,6 +1 @@
-- sourcing config files.
require("packerstrap")
require("plugins")
require("settings")
require("maps")
require("theme")
require("main")

3
.config/nvim/lua/core/init.lua Executable file
View File

@ -0,0 +1,3 @@
require("core.options").setup()
require("core.mappings").setup()
require("core.theme").setup()

View File

@ -0,0 +1,13 @@
local utils = require("utils.init")
local map = utils.map
local M = {}
M.setup = function()
-- set mapleader to space
vim.g.mapleader = " "
-- Get rid of highlight after search
map("n", "<esc>", ":noh<CR>")
end
return M

View File

@ -0,0 +1,66 @@
local opt = vim.opt
local M = {}
M.setup = function()
-- Number settings
opt.number = true
opt.numberwidth = 2
opt.relativenumber = true
-- Scroll Offset
opt.scrolloff = 3
-- Disable showmode
opt.showmode = false
-- Set truecolor support
opt.termguicolors = true
-- Enable system clipboard
opt.clipboard = "unnamedplus"
-- Set mouse support for any mode
opt.mouse = "a"
-- Allow hidden
opt.hidden = true
-- Useful defaults for tab, indentionation, etc.
opt.tabstop = 4
opt.shiftwidth = 4
opt.smartindent = true
opt.smartcase = true
opt.expandtab = true
opt.smarttab = true
-- Search settings
opt.hlsearch = true
opt.incsearch = true
opt.ignorecase = true
-- Better backspaces
opt.backspace = "indent,eol,start"
-- Make new splits vertical
opt.splitright = true
-- Show line & column num of cursor
opt.ruler = true
-- Set timeouts
opt.ttimeoutlen = 20
opt.timeoutlen = 1000
-- Enable persistent undo
opt.undofile = true
-- Better folding
opt.foldmethod = "expr"
opt.foldexpr = "nvim_treesitter#foldexpr()"
opt.foldtext = "getline(v:foldstart).'...'.trim(getline(v:foldend))"
opt.foldnestmax = 3
opt.foldminlines = 1
end
return M

11
.config/nvim/lua/core/theme.lua Executable file
View File

@ -0,0 +1,11 @@
local M = {}
M.setup = function()
vim.g.tokyonight_style = "night"
vim.g.tokyonight_transparent = true
vim.g.tokyonight_transparent_sidebar = true
vim.cmd("colorscheme tokyonight")
end
return M

6
.config/nvim/lua/main.lua Executable file
View File

@ -0,0 +1,6 @@
-- All modules/dirs that are going to be loaded
-- SHOULD have a init.lua file associated with them.
-- init.lua is responsible for loading all configuration
-- related to that directory.
require("core.init")
require("plugins.init")

View File

@ -0,0 +1,3 @@
require("neoclip").setup({
enable_persistant_history = true,
})

View File

@ -0,0 +1,44 @@
local nvim_tree = require("nvim-tree")
nvim_tree.setup({
auto_close = false,
open_on_tab = false,
update_cwd = true,
hijack_netrw = true,
update_to_buf_dir = {
enable = true,
auto_open = true,
},
diagnostics = {
enable = true,
icons = {
hint = "",
info = "",
warning = "",
error = "",
},
},
git = {
enable = true,
ignore = false,
timeout = 500,
},
filters = {
custom = {
".git",
"node_modules",
".cache",
"__pycache__",
},
},
view = {
width = "15%",
side = "left",
auto_resize = true,
mappings = {
list = {
{ key = "<C-h>", cb = require("nvim-tree.config").nvim_tree_callback("toggle_dotfiles") },
},
},
},
})

View File

@ -0,0 +1,20 @@
require("stabilize").setup({
-- stabilize window even when current cursor position will be hidden behind new window
force = true,
-- set context mark to register on force event which can be jumped to with '<forcemark>
forcemark = nil,
-- do not manage windows matching these file/buftypes
ignore = {
filetype = { "packer", "Dashboard", "Trouble", "TelescopePrompt" },
buftype = {
"packer",
"Dashboard",
"terminal",
"quickfix",
"loclist",
"LspInstall"
},
},
-- comma-separated list of autocmds that wil trigger the plugins window restore function
nested = nil,
})

View File

@ -0,0 +1,7 @@
-- Load Animations
require("wlanimation")
-- Load a line (these include setup)
require("wlsample.bubble2")
-- In the future I may want to implement
-- my own, for now much too lazy for that

View File

@ -0,0 +1,18 @@
local bufferline = require("bufferline")
bufferline.setup({
options = {
numbers = function(opts)
return string.format("%s", opts.id)
end,
diagnostics = "nvim_lsp",
offsets = {
{
filetype = "NvimTree",
text = "File Explorer",
highlight = "Directory",
text_align = "left",
},
},
},
})

View File

@ -0,0 +1 @@
map("n", "<leader>ls", ":SymbolsOutline<CR>")

View File

@ -0,0 +1,8 @@
-- Alias for vim.g
local g = vim.g
-- Run COQ on open
g.coq_settings = {
auto_start = "shut-up"
}

View File

@ -0,0 +1,9 @@
local fn = vim.fn
require("dapui").setup({})
fn.sign_define('DapBreakpoint', {text='', texthl='DiagnosticSignError', linehl='', numhl=''})
fn.sign_define('DapBreakpointCondition', {text='', texthl='DiagnosticSignWarn', linehl='', numhl=''})
fn.sign_define('DapLogPoint', {text='', texthl='DiagnosticSignInfo', linehl='', numhl=''})
fn.sign_define('DapStopped', {text='', texthl='DiagnosticSignWarn', linehl='', numhl=''})
fn.sign_define('DapBreakpointReject', {text='' , texthl='DiagnosticSignHint', linehl='', numhl=''})

View File

@ -0,0 +1,34 @@
local g = vim.g
local fn = vim.fn
local plugins_count = fn.len(fn.globpath("~/.local/share/nvim/site/pack/packer/start", "*", 0, 1))
g.dashboard_disable_statusline = 1
g.dashboard_default_executive = "telescope"
g.dashboard_custom_header = {
" ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗",
" ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║",
" ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║",
" ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║",
" ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║",
" ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝",
}
g.dashboard_custom_section = {
a = { description = { " Find File" }, command = "Telescope find_files" },
b = { description = { " Find directory" }, command = "Telescope find_directories" },
c = { description = { " Recents" }, command = "Telescope oldfiles" },
d = { description = { " Find Word" }, command = "Telescope live_grep" },
e = { description = { "洛 New File" }, command = "DashboardNewFile" },
f = { description = { " Bookmarks" }, command = "Telescope marks" },
g = { description = { " Load Last Session" }, command = "SessionLoad" },
}
g.dashboard_custom_footer = {
"Loaded " .. plugins_count .. " plugins!  ",
}
-- Disable statusline and cursorline in dashboard.
vim.cmd('autocmd BufEnter * if &ft is "dashboard" | set laststatus=0 | else | set laststatus=2 | endif')
vim.cmd('autocmd BufEnter * if &ft is "dashboard" | set nocursorline | endif')

View File

@ -0,0 +1,18 @@
local colors = require("tokyonight.colors").setup()
require("scrollbar").setup({
handle = {
color = colors.bg_highlight,
},
marks = {
Search = { color = colors.orange },
Error = { color = colors.error },
Warn = { color = colors.warning },
Info = { color = colors.info },
Hint = { color = colors.hint },
Misc = { color = colors.purple },
},
handlers = {
diagnostic = true,
search = true,
},
})

View File

@ -0,0 +1,18 @@
local treesitter = require("nvim-tree.configs")
treesitter.setup({
highlight = {
enable = true,
additional_vim_regex_highlighting = true,
disable = {
-- Ansible support reasons
"ansible.yaml",
},
},
matchup = {
enable = true,
},
autotag = {
enable = true,
},
})

View File

@ -0,0 +1,17 @@
local g = vim.g
g.indent_blankline_char = ""
g.space_char_blankline = " "
-- Disable indent-blankline on these pages.
g.indent_blankline_filetype_exclude = {
"help",
"terminal",
"dashboard",
"packer",
"lsp-installer",
"lspinfo",
}
g.indent_blankline_buftype_exclude = { "terminal" }
g.indent_blankline_show_trailing_blankline_indent = false
g.indent_blankline_show_first_indent_level = true

View File

@ -0,0 +1,54 @@
local lsp_installer = require("nvim-lsp-installer")
lsp_installer.on_server_ready(function(server)
local opts = {
-- Coq configuration, ensure coq actual has capabilties shown
capabilities = require("coq").lsp_ensure_capabilities(vim.lsp.protocol.make_client_capabilities()),
}
-- In the scenario we're using rust it makes more sense to use rust-tools
-- see: https://github.com/williamboman/nvim-lsp-installer/wiki/Rust
--
-- NOTE: Requires rust_analyzer
if server.name == "rust_analyzer" then
-- Dap installation, required vscode and the following extension to be installed:
-- https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
--
-- locate it with `find ~/ -name `
-- local extension_path = "/Users/pricehiller/.vscode/extensions/vadimcn.vscode-lldb-1.6.10/"
-- local codelldb_path = extension_path .. 'adapter/codelldb'
-- local liblldb_path = extension_path .. 'lldb/lib/liblldb.dylib'
local rustopts = {
server = vim.tbl_deep_extend("force", server:get_default_options(), opts, {}),
-- dap = {
-- adapter = require('rust-tools.dap').get_codelldb_adapter(
-- codelldb_path, liblldb_path)
-- },
tools = {
hover_actions = { auto_focus = true },
},
}
require("rust-tools").setup(rustopts)
server:attach_buffers()
else
-- I use ansible a lot, define exceptions for servers that can use
-- server:setup & vim.cmd at the bottom here
if server.name == "ansiblels" then
opts.settings = {
ansible = {
ansible = {
path = "ansible",
},
ansibleLint = {
enabled = true,
path = "ansible-lint",
},
python = {
interpreterPath = "python3",
},
},
}
end
server:setup(opts)
vim.cmd([[ do User LspAttachBuffers ]])
end
end)

View File

@ -0,0 +1,15 @@
local function lspSymbol(name, icon)
local hl = "DiagnosticSign" .. name
vim.fn.sign_define(hl, { text = icon, numhl = hl, texthl = hl })
end
lspSymbol("Error", "")
lspSymbol("Warn", "")
lspSymbol("Info", "")
lspSymbol("Hint", "")
vim.o.updatetime = 100
vim.cmd([[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]])
vim.diagnostic.config({
virtual_text = false,
})

View File

@ -0,0 +1,3 @@
local colorizer = require("colorizer")
colorizer.setup({})
vim.cmd("ColorizerAttachToBuffer")

View File

@ -0,0 +1,36 @@
local present, lualine = pcall(require, "lualine")
if not present then
return
end
local left_pad = ""
local right_pad = ""
lualine.setup {
options = {
icons_enabled = true,
theme = "auto",
component_separators = "|",
section_separators = { left = left_pad, right = right_pad},
disabled_filetypes = {},
always_divide_middle = true,
},
sections = {
lualine_a = {"mode"},
lualine_b = {"branch", "diff", "diagnostics"},
lualine_c = {"filename"},
lualine_x = {"encoding", "fileformat", "filetype"},
lualine_y = {"progress"},
lualine_z = {"location"}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {"filename"},
lualine_x = {"location"},
lualine_y = {},
lualine_z = {}
},
tabline = {},
extensions = { "fugitive", "fzf" }
}

View File

@ -0,0 +1,19 @@
local telescope = require("telescope")
telescope.setup({
extensions = {
media_files = {
filetypes = { "png", "webp", "jpg", "jpeg" },
find_cmd = "rg",
},
fzf = {
fuzzy = true,
override_generic_sorter = true,
override_file_sorter = true,
case_mode = "smart_case",
},
},
})
telescope.load_extension("media_files")
telescope.load_extension("find_directories")
telescope.load_extension("fzf")

View File

@ -0,0 +1 @@
require("todo-comments").setup({})

View File

@ -0,0 +1,7 @@
local g = vim.g
g.tokyonight_style = "night"
g.tokyonight_transparent = true
g.tokyonight_transparent_sidebar = true
vim.cmd("colorscheme tokyonight")

View File

@ -0,0 +1,18 @@
local nvim_treesitter = require("nvim-treesitter.configs")
nvim_treesitter.setup {
highlight = {
enable = true,
additional_vim_regex_highlighting = true,
disable = { "yaml" },
},
matchup = {
enable = true,
},
-- indent = {
-- disable = { 'yaml' }
-- },
autotag = {
enable = true
}
}

View File

@ -0,0 +1,3 @@
require("plugins.packerstrap")
require("plugins.plugins")
require("plugins.mappings")

View File

@ -0,0 +1,70 @@
local utils = require("utils.init")
local map = utils.map
-- Filetree toggle
map("n", "<leader>nt", ":NvimTreeToggle<CR>")
-- Telescope mappings
map("n", "<Leader>tw", ":Telescope live_grep<CR>")
map("n", "<Leader>gs", ":Telescope git_status<CR>")
map("n", "<Leader>gc", ":Telescope git_commits<CR>")
map("n", "<Leader>gb", ":Telescope git_branches<CR>")
map("n", "<Leader>tf", ":Telescope find_files find_command=rg,--follow,--hidden,--files<CR>")
map("n", "<Leader>td", ":Telescope find_directories<CR>")
map("n", "<Leader>tb", ":Telescope buffers<CR>")
map("n", "<Leader>th", ":Telescope help_tags<CR>")
map("n", "<Leader>to", ":Telescope oldfiles<CR>")
map("n", "<Leader>tt", ":Telescope treesitter<CR>")
map("n", "<leader>tc", ":Telescope neoclip default<CR>")
map("n", "<leader>tr", ":Telescope registers<CR>")
-- Lsp Mappings
map("n", "<leader>lD", ":lua vim.lsp.buf.declaration()<CR>")
map("n", "<leader>ld", ":lua require('goto-preview').goto_preview_definition()<CR>")
map("n", "<leader>k", ":lua vim.lsp.buf.hover()<CR>")
map("n", "<leader>li", ":lua require('goto-preview').goto_preview_implementation()<CR>")
map("n", "<C-k>", ":lua vim.lsp.buf.signature_help()<CR>")
map("n", "<leader>la", ":lua vim.lsp.buf.add_workspace_folder()<CR>")
map("n", "<leader>lx", ":lua vim.lsp.buf.remove_workspace_folder()<CR>")
map("n", "<leader>ll", ":lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>")
map("n", "<leader>lT", ":lua vim.lsp.buf.type_definition()<CR>")
map("n", "<leader>ln", ":lua vim.lsp.buf.rename()<CR>")
map("n", "<leader>lc", ":CodeActionMenu<CR>")
map("n", "<leader>lr", ":lua vim.lsp.buf.references()<CR>")
map("n", "<leader>lf", ":lua vim.lsp.buf.formatting()<CR>")
map("n", "[", ":lua vim.diagnostic.goto_prev()<CR>")
map("n", "]", ":lua vim.diagnostic.goto_next()<CR>")
map("n", "<leader>lq", ":Telescope diagnostics bufnr=0<CR>")
-- Formatter
map("n", "<leader>fr", ":Neoformat<CR>")
-- Command Line
map("n", "<CR>", "<cmd>FineCmdline<CR>")
-- DAP Mappings
map("n", "<leader>dR", ':lua require("dap").continue()<CR>')
map("n", "<leader>de", ':lua require("dap").terminate()<CR>')
map("n", "<leader>db", ':lua require("dap").toggle_breakpoint()<CR>')
map("n", "<leader>dr", ":lua require(\"dap\").set_breakpoint(vim.fn.input('Breakpoint condition: '))<CR>")
map("n", "<leader>dp", ":lua require(\"dap\").set_breakpoint(nil, nil, vim.fn.input('Log point message: '))<CR>")
map("n", "<F5>", ':lua require("dap").step_over()<CR>')
map("n", "<F6>", ':lua require("dap").step_into()<CR>')
map("n", "<F7>", ':lua require("dap").step_out()<CR>')
map("n", "<leader>dB", ':lua require("dap").step_back()<CR>')
map("n", "<leader>dc", ':lua require("dap").run_to_cursor()<CR>')
map("n", "<leader>do", ':lua require("dap").repl.open()<CR>')
map("n", "<leader>dt", ':lua require("dapui").toggle()<CR>')
map("n", "<leader>dl", ':lua require("dap").run_last()<CR>')
-- Comments
map("n", "<leader>/", ":CommentToggle<CR>")
map("v", "<leader>/", ":'<,'>CommentToggle<CR>")
-- Code Outline
map("n", "<leader>ls", ":SymbolsOutline<CR>")
-- Bufferline mappings
map("n", "<S-Tab>", ":BufferLineCyclePrev<CR>")
map("n", "<Tab>", ":BufferLineCycleNext<CR>")
map("n", "<leader>bc", ":lua require('utils.init').close_buffer()<CR>")

View File

@ -0,0 +1,10 @@
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
if packer_bootstrap then
require('packer').sync()
end

View File

@ -0,0 +1,339 @@
return require("packer").startup({
function(use)
use({ "wbthomason/packer.nvim" })
-- Performance boost on startup
-- keep at top of plugins
use({ "lewis6991/impatient.nvim" })
-- Commonly used library
use({
"nvim-lua/plenary.nvim",
})
-- Color schemes
use({ "folke/tokyonight.nvim" })
-- Icons for folders, files, etc.
use({
"kyazdani42/nvim-web-devicons",
event = "BufEnter",
})
-- File Explorer Tree
use({
"kyazdani42/nvim-tree.lua",
cmd = {
"NvimTreeOpen",
"NvimTreeFocus",
"NvimTreeToggle",
},
requires = "kyazdani42/nvim-web-devicons",
config = function()
require("plugins.configs._nvim-tree")
end,
})
-- Tab Line at top of editor
use({
"akinsho/nvim-bufferline.lua",
after = "nvim-web-devicons",
requires = { "nvim-web-devicons" },
config = function()
require("plugins.configs.bufferline")
end,
})
-- Statusline.
use({
"nvim-lualine/lualine.nvim",
after = "nvim-bufferline.lua",
config = function()
require("plugins.configs.statusline")
end,
})
-- Indentation Guides
use({
"lukas-reineke/indent-blankline.nvim",
event = "BufEnter",
config = function()
require("plugins.configs.indent-blankline")
end,
})
-- Treesitter
use({
"nvim-treesitter/nvim-treesitter",
run = ":TSUpdate",
event = "BufEnter",
config = function()
require("plugins.configs.treesitter")
end,
})
-- Highlight given color codes
use({
"norcalli/nvim-colorizer.lua",
event = "BufEnter",
config = function()
require("plugins.configs.nvim-colorizer")
end,
})
-- Dashboard when no file is given to nvim
use({
"glepnir/dashboard-nvim",
setup = function()
require("plugins.configs.dashboard-nvim")
end,
})
-- Telescope
use({
"nvim-telescope/telescope-fzf-native.nvim",
run = "make",
})
use({
"nvim-telescope/telescope-media-files.nvim",
"nvim-telescope/telescope.nvim",
requires = {
{
"nvim-lua/plenary.lua",
},
{
"nvim-telescope/telescope-fzf-native.nvim",
opt = true,
run = "make",
},
{
"artart222/telescope_find_directories",
},
},
config = function()
require("plugins.configs.telescope-nvim")
end,
})
-- LSP, LSP Installer
use({
"neovim/nvim-lspconfig",
event = "BufEnter",
config = function()
require("plugins.configs.lspconfig")
end,
})
use({
"williamboman/nvim-lsp-installer",
after = "nvim-lspconfig",
config = function()
require("plugins.configs.lsp")
end,
})
-- Better LSP Handling for Rust
use({
"simrat39/rust-tools.nvim",
after = "nvim-lspconfig",
config = function()
require("rust-tools").setup({})
end,
})
-- Autopairs
use({
"windwp/nvim-autopairs",
after = "coq_nvim",
config = function()
require("nvim-autopairs").setup()
end,
})
-- Completion Engine
use({
"ms-jpq/coq_nvim",
config = function()
require("plugins.configs.coq")
end,
requires = {
"ms-jpq/coq.artifacts",
"ms-jpq/coq.thirdparty",
},
})
-- Show code outline
use({
"simrat39/symbols-outline.nvim",
cmd = { "SymbolsOutline", "SymbolsOutlineOpen", "SymbolsOutlineClose" },
})
-- DAP, debugger
use({
"mfussenegger/nvim-dap",
event = "BufRead",
})
-- Allows more Dap providers to be installed easily
use({
"Pocco81/DAPInstall.nvim",
after = "nvim-dap",
})
-- Fancy ui for dap
use({
"rcarriga/nvim-dap-ui",
after = "DAPInstall.nvim",
config = function()
require("plugins.configs.dap")
end,
})
-- Floating Command Line
use({
"VonHeikemen/fine-cmdline.nvim",
requires = {
{ "MunifTanjim/nui.nvim" },
},
})
-- Easy align, better than piping out to !column -t
use({
"junegunn/vim-easy-align",
cmd = { "EasyAlign" },
})
-- Code formatting
use({
"sbdchd/neoformat",
cmd = "Neoformat",
})
use({
"anuvyklack/pretty-fold.nvim",
config = function()
require("pretty-fold").setup({})
require("pretty-fold.preview").setup_keybinding()
end
})
-- Stabalize closing buffers
use({
"luukvbaal/stabilize.nvim",
config = function()
require("plugins.configs._stabilize")
end,
})
-- Git signs
use({
"lewis6991/gitsigns.nvim",
event = "BufRead",
config = function()
require("gitsigns").setup({})
end,
})
-- Highlight certain comments, TODO, BUG, etc.
use({
"folke/todo-comments.nvim",
event = "BufEnter",
config = function()
require("todo-comments").setup({})
end,
})
-- Show possible key bindings during typing
use({
"folke/which-key.nvim",
config = function()
require("which-key").setup()
end,
})
-- Create full path if not existing on write
use({
"jghauser/mkdir.nvim",
cmd = "new",
config = function()
require("mkdir")
end,
})
-- Text commenting
use({
"terrortylor/nvim-comment",
cmd = "CommentToggle",
config = function()
require("nvim_comment").setup()
end,
})
-- Expands usage of % operator
use({ "andymass/vim-matchup" })
-- Move selections with alt+movement key
use({
"matze/vim-move",
})
-- Register support in telescope with persistent save
use({
"AckslD/nvim-neoclip.lua",
requires = {
{ "tami5/sqlite.lua", module = "sqlite" },
{ "nvim-telescope/telescope.nvim" },
},
config = function()
require("plugins.configs._neoclip")
end,
})
-- Markdown Previewer
use({
"iamcco/markdown-preview.nvim",
run = "cd app && npm install",
ft = { "markdown" },
cmd = "MardownPreview",
})
-- Allows manipulation of surrounding characters
use({
"tpope/vim-surround",
})
-- Ansible Syntax Highlighting
use({
"pearofducks/ansible-vim",
})
-- Better search display
use({
"kevinhwang91/nvim-hlslens",
module = "hlslens",
keys = "/",
})
-- Lsp Diags on scrollbar
use({
requires = {
"kevinhwang91/nvim-hlslens",
"folke/tokyonight.nvim",
},
after = "nvim-hlslens",
"petertriho/nvim-scrollbar",
config = function()
require("plugins.configs.diag-scrollbar")
end,
})
end,
config = {
display = {
open_fn = function()
return require("packer.util").float({ border = "double" })
end,
},
},
})

126
.config/nvim/lua/utils/init.lua Executable file
View File

@ -0,0 +1,126 @@
local U = {}
U.map = function(mode, lhs, rhs, opts)
local options = { noremap = true }
if opts then
options = vim.tbl_extend("force", options, opts)
end
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
end
U.close_buffer = function(force)
-- Yanked from NvChad, thanks to them. This saves
-- a lot of pain
-- This is a modification of a NeoVim plugin from
-- Author: ojroques - Olivier Roques
-- Src: https://github.com/ojroques/nvim-bufdel
-- Options
local opts = {
next = "cycle", -- how to retrieve the next buffer
quit = false, -- exit when last buffer is deleted
--TODO make this a chadrc flag/option
}
-- ----------------
-- Helper functions
-- ----------------
-- Switch to buffer 'buf' on each window from list 'windows'
local function switch_buffer(windows, buf)
local cur_win = vim.fn.winnr()
for _, winid in ipairs(windows) do
vim.cmd(string.format("%d wincmd w", vim.fn.win_id2win(winid)))
vim.cmd(string.format("buffer %d", buf))
end
vim.cmd(string.format("%d wincmd w", cur_win)) -- return to original window
end
-- Select the first buffer with a number greater than given buffer
local function get_next_buf(buf)
local next = vim.fn.bufnr("#")
if opts.next == "alternate" and vim.fn.buflisted(next) == 1 then
return next
end
for i = 0, vim.fn.bufnr("$") - 1 do
next = (buf + i) % vim.fn.bufnr("$") + 1 -- will loop back to 1
if vim.fn.buflisted(next) == 1 then
return next
end
end
end
-- ----------------
-- End helper functions
-- ----------------
local buf = vim.fn.bufnr()
if vim.fn.buflisted(buf) == 0 then -- exit if buffer number is invalid
vim.cmd("close")
return
end
if #vim.fn.getbufinfo({ buflisted = 1 }) < 2 then
if opts.quit then
-- exit when there is only one buffer left
if force then
vim.cmd("qall!")
else
vim.cmd("confirm qall")
end
return
end
local chad_term, _ = pcall(function()
return vim.api.nvim_buf_get_var(buf, "term_type")
end)
if chad_term then
-- Must be a window type
vim.cmd(string.format("setlocal nobl", buf))
vim.cmd("enew")
return
end
-- don't exit and create a new empty buffer
vim.cmd("enew")
vim.cmd("bp")
end
local next_buf = get_next_buf(buf)
local windows = vim.fn.getbufinfo(buf)[1].windows
-- force deletion of terminal buffers to avoid the prompt
if force or vim.fn.getbufvar(buf, "&buftype") == "terminal" then
local chad_term, type = pcall(function()
return vim.api.nvim_buf_get_var(buf, "term_type")
end)
-- TODO this scope is error prone, make resilient
if chad_term then
if type == "wind" then
-- hide from bufferline
vim.cmd(string.format("%d bufdo setlocal nobl", buf))
-- swtich to another buff
-- TODO switch to next bufffer, this works too
vim.cmd("BufferLineCycleNext")
else
local cur_win = vim.fn.winnr()
-- we can close this window
vim.cmd(string.format("%d wincmd c", cur_win))
return
end
else
switch_buffer(windows, next_buf)
vim.cmd(string.format("bd! %d", buf))
end
else
switch_buffer(windows, next_buf)
vim.cmd(string.format("silent! confirm bd %d", buf))
end
-- revert buffer switches if user has canceled deletion
if vim.fn.buflisted(buf) == 1 then
switch_buffer(windows, buf)
end
end
return U

View File

@ -0,0 +1,507 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
_G._packer = _G._packer or {}
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/Users/pricehiller/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/Users/pricehiller/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/Users/pricehiller/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/Users/pricehiller/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/Users/pricehiller/.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 = {
["DAPInstall.nvim"] = {
after = { "nvim-dap-ui" },
load_after = {
["nvim-dap"] = true
},
loaded = false,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/DAPInstall.nvim",
url = "https://github.com/Pocco81/DAPInstall.nvim"
},
["ansible-vim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/ansible-vim",
url = "https://github.com/pearofducks/ansible-vim"
},
["coq.artifacts"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/coq.artifacts",
url = "https://github.com/ms-jpq/coq.artifacts"
},
["coq.thirdparty"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/coq.thirdparty",
url = "https://github.com/ms-jpq/coq.thirdparty"
},
coq_nvim = {
after = { "nvim-autopairs" },
loaded = true,
only_config = true
},
["dashboard-nvim"] = {
loaded = true,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/dashboard-nvim",
url = "https://github.com/glepnir/dashboard-nvim"
},
["fine-cmdline.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/fine-cmdline.nvim",
url = "https://github.com/VonHeikemen/fine-cmdline.nvim"
},
["gitsigns.nvim"] = {
config = { "\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rgitsigns\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/gitsigns.nvim",
url = "https://github.com/lewis6991/gitsigns.nvim"
},
["impatient.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/impatient.nvim",
url = "https://github.com/lewis6991/impatient.nvim"
},
["indent-blankline.nvim"] = {
config = { "\27LJ\2\n@\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0%plugins.configs.indent-blankline\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/indent-blankline.nvim",
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
},
["lualine.nvim"] = {
config = { "\27LJ\2\n:\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\31plugins.configs.statusline\frequire\0" },
load_after = {
["nvim-bufferline.lua"] = true
},
loaded = false,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["markdown-preview.nvim"] = {
commands = { "MardownPreview" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/markdown-preview.nvim",
url = "https://github.com/iamcco/markdown-preview.nvim"
},
["mkdir.nvim"] = {
commands = { "new" },
config = { "\27LJ\2\n%\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\nmkdir\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/mkdir.nvim",
url = "https://github.com/jghauser/mkdir.nvim"
},
neoformat = {
commands = { "Neoformat" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/neoformat",
url = "https://github.com/sbdchd/neoformat"
},
["nui.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nui.nvim",
url = "https://github.com/MunifTanjim/nui.nvim"
},
["nvim-autopairs"] = {
config = { "\27LJ\2\n<\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\19nvim-autopairs\frequire\0" },
load_after = {},
loaded = true,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-autopairs",
url = "https://github.com/windwp/nvim-autopairs"
},
["nvim-bufferline.lua"] = {
after = { "lualine.nvim" },
config = { "\27LJ\2\n:\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\31plugins.configs.bufferline\frequire\0" },
load_after = {
["nvim-web-devicons"] = true
},
loaded = false,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-bufferline.lua",
url = "https://github.com/akinsho/nvim-bufferline.lua"
},
["nvim-colorizer.lua"] = {
config = { "\27LJ\2\n>\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0#plugins.configs.nvim-colorizer\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-colorizer.lua",
url = "https://github.com/norcalli/nvim-colorizer.lua"
},
["nvim-comment"] = {
commands = { "CommentToggle" },
config = { "\27LJ\2\n:\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\17nvim_comment\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-comment",
url = "https://github.com/terrortylor/nvim-comment"
},
["nvim-dap"] = {
after = { "DAPInstall.nvim" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-dap",
url = "https://github.com/mfussenegger/nvim-dap"
},
["nvim-dap-ui"] = {
config = { "\27LJ\2\n3\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\24plugins.configs.dap\frequire\0" },
load_after = {
["DAPInstall.nvim"] = true
},
loaded = false,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-dap-ui",
url = "https://github.com/rcarriga/nvim-dap-ui"
},
["nvim-hlslens"] = {
after = { "nvim-scrollbar" },
keys = { { "", "/" } },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-hlslens",
url = "https://github.com/kevinhwang91/nvim-hlslens"
},
["nvim-lsp-installer"] = {
config = { "\27LJ\2\n3\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\24plugins.configs.lsp\frequire\0" },
load_after = {
["nvim-lspconfig"] = true
},
loaded = false,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-lsp-installer",
url = "https://github.com/williamboman/nvim-lsp-installer"
},
["nvim-lspconfig"] = {
after = { "nvim-lsp-installer", "rust-tools.nvim" },
config = { "\27LJ\2\n9\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\30plugins.configs.lspconfig\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-neoclip.lua"] = {
config = { "\27LJ\2\n8\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\29plugins.configs._neoclip\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-neoclip.lua",
url = "https://github.com/AckslD/nvim-neoclip.lua"
},
["nvim-scrollbar"] = {
config = { "\27LJ\2\n>\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0#plugins.configs.diag-scrollbar\frequire\0" },
load_after = {
["nvim-hlslens"] = true
},
loaded = false,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-scrollbar",
url = "https://github.com/petertriho/nvim-scrollbar"
},
["nvim-tree.lua"] = {
commands = { "NvimTreeOpen", "NvimTreeFocus", "NvimTreeToggle" },
config = { "\27LJ\2\n:\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\31plugins.configs._nvim-tree\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-tree.lua",
url = "https://github.com/kyazdani42/nvim-tree.lua"
},
["nvim-treesitter"] = {
config = { "\27LJ\2\n:\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\31plugins.configs.treesitter\frequire\0" },
loaded = false,
needs_bufread = true,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-web-devicons"] = {
after = { "nvim-bufferline.lua" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-web-devicons",
url = "https://github.com/kyazdani42/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["plenary.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["pretty-fold.nvim"] = {
config = { "\27LJ\2\nv\0\0\3\0\5\0\f6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\0016\0\0\0'\2\3\0B\0\2\0029\0\4\0B\0\1\1K\0\1\0\21setup_keybinding\24pretty-fold.preview\nsetup\16pretty-fold\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/pretty-fold.nvim",
url = "https://github.com/anuvyklack/pretty-fold.nvim"
},
["rust-tools.nvim"] = {
config = { "\27LJ\2\n<\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\15rust-tools\frequire\0" },
load_after = {
["nvim-lspconfig"] = true
},
loaded = false,
needs_bufread = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/rust-tools.nvim",
url = "https://github.com/simrat39/rust-tools.nvim"
},
["sqlite.lua"] = {
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/sqlite.lua",
url = "https://github.com/tami5/sqlite.lua"
},
["stabilize.nvim"] = {
config = { "\27LJ\2\n:\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\31plugins.configs._stabilize\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/stabilize.nvim",
url = "https://github.com/luukvbaal/stabilize.nvim"
},
["symbols-outline.nvim"] = {
commands = { "SymbolsOutline", "SymbolsOutlineOpen", "SymbolsOutlineClose" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/symbols-outline.nvim",
url = "https://github.com/simrat39/symbols-outline.nvim"
},
["telescope-fzf-native.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.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 = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/telescope-media-files.nvim",
url = "https://github.com/nvim-telescope/telescope-media-files.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["todo-comments.nvim"] = {
config = { "\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18todo-comments\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/todo-comments.nvim",
url = "https://github.com/folke/todo-comments.nvim"
},
["tokyonight.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/tokyonight.nvim",
url = "https://github.com/folke/tokyonight.nvim"
},
["vim-easy-align"] = {
commands = { "EasyAlign" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/vim-easy-align",
url = "https://github.com/junegunn/vim-easy-align"
},
["vim-matchup"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-matchup",
url = "https://github.com/andymass/vim-matchup"
},
["vim-move"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-move",
url = "https://github.com/matze/vim-move"
},
["vim-surround"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-surround",
url = "https://github.com/tpope/vim-surround"
},
["which-key.nvim"] = {
config = { "\27LJ\2\n7\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\14which-key\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/which-key.nvim",
url = "https://github.com/folke/which-key.nvim"
}
}
time([[Defining packer_plugins]], false)
local module_lazy_loads = {
["^hlslens"] = "nvim-hlslens",
["^sqlite"] = "sqlite.lua"
}
local lazy_load_called = {['packer.load'] = true}
local function lazy_load_module(module_name)
local to_load = {}
if lazy_load_called[module_name] then return nil end
lazy_load_called[module_name] = true
for module_pat, plugin_name in pairs(module_lazy_loads) do
if not _G.packer_plugins[plugin_name].loaded and string.match(module_name, module_pat) then
to_load[#to_load + 1] = plugin_name
end
end
if #to_load > 0 then
require('packer.load')(to_load, {module = module_name}, _G.packer_plugins)
local loaded_mod = package.loaded[module_name]
if loaded_mod then
return function(modname) return loaded_mod end
end
end
end
if not vim.g.packer_custom_loader_enabled then
table.insert(package.loaders, 1, lazy_load_module)
vim.g.packer_custom_loader_enabled = true
end
-- Setup for: dashboard-nvim
time([[Setup for dashboard-nvim]], true)
try_loadstring("\27LJ\2\n>\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0#plugins.configs.dashboard-nvim\frequire\0", "setup", "dashboard-nvim")
time([[Setup for dashboard-nvim]], false)
time([[packadd for dashboard-nvim]], true)
vim.cmd [[packadd dashboard-nvim]]
time([[packadd for dashboard-nvim]], false)
-- Config for: nvim-neoclip.lua
time([[Config for nvim-neoclip.lua]], true)
try_loadstring("\27LJ\2\n8\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\29plugins.configs._neoclip\frequire\0", "config", "nvim-neoclip.lua")
time([[Config for nvim-neoclip.lua]], false)
-- Config for: coq_nvim
time([[Config for coq_nvim]], true)
try_loadstring("\27LJ\2\n3\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\24plugins.configs.coq\frequire\0", "config", "coq_nvim")
time([[Config for coq_nvim]], false)
-- Config for: pretty-fold.nvim
time([[Config for pretty-fold.nvim]], true)
try_loadstring("\27LJ\2\nv\0\0\3\0\5\0\f6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\0016\0\0\0'\2\3\0B\0\2\0029\0\4\0B\0\1\1K\0\1\0\21setup_keybinding\24pretty-fold.preview\nsetup\16pretty-fold\frequire\0", "config", "pretty-fold.nvim")
time([[Config for pretty-fold.nvim]], false)
-- Config for: which-key.nvim
time([[Config for which-key.nvim]], true)
try_loadstring("\27LJ\2\n7\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\14which-key\frequire\0", "config", "which-key.nvim")
time([[Config for which-key.nvim]], false)
-- Config for: stabilize.nvim
time([[Config for stabilize.nvim]], true)
try_loadstring("\27LJ\2\n:\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\31plugins.configs._stabilize\frequire\0", "config", "stabilize.nvim")
time([[Config for stabilize.nvim]], false)
-- Load plugins in order defined by `after`
time([[Sequenced loading]], true)
vim.cmd [[ packadd nvim-autopairs ]]
-- Config for: nvim-autopairs
try_loadstring("\27LJ\2\n<\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\19nvim-autopairs\frequire\0", "config", "nvim-autopairs")
time([[Sequenced loading]], false)
-- Command lazy-loads
time([[Defining lazy-load commands]], true)
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file NvimTreeFocus lua require("packer.load")({'nvim-tree.lua'}, { cmd = "NvimTreeFocus", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file NvimTreeToggle lua require("packer.load")({'nvim-tree.lua'}, { cmd = "NvimTreeToggle", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file MardownPreview lua require("packer.load")({'markdown-preview.nvim'}, { cmd = "MardownPreview", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file EasyAlign lua require("packer.load")({'vim-easy-align'}, { cmd = "EasyAlign", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file Neoformat lua require("packer.load")({'neoformat'}, { cmd = "Neoformat", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file new lua require("packer.load")({'mkdir.nvim'}, { cmd = "new", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file SymbolsOutlineOpen lua require("packer.load")({'symbols-outline.nvim'}, { cmd = "SymbolsOutlineOpen", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file SymbolsOutlineClose lua require("packer.load")({'symbols-outline.nvim'}, { cmd = "SymbolsOutlineClose", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file CommentToggle lua require("packer.load")({'nvim-comment'}, { cmd = "CommentToggle", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file SymbolsOutline lua require("packer.load")({'symbols-outline.nvim'}, { cmd = "SymbolsOutline", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file NvimTreeOpen lua require("packer.load")({'nvim-tree.lua'}, { cmd = "NvimTreeOpen", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
time([[Defining lazy-load commands]], false)
-- Keymap lazy-loads
time([[Defining lazy-load keymaps]], true)
vim.cmd [[noremap <silent> / <cmd>lua require("packer.load")({'nvim-hlslens'}, { keys = "/", prefix = "" }, _G.packer_plugins)<cr>]]
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 markdown ++once lua require("packer.load")({'markdown-preview.nvim'}, { ft = "markdown" }, _G.packer_plugins)]]
time([[Defining lazy-load filetype autocommands]], false)
-- Event lazy-loads
time([[Defining lazy-load event autocommands]], true)
vim.cmd [[au BufEnter * ++once lua require("packer.load")({'nvim-colorizer.lua', 'todo-comments.nvim', 'nvim-web-devicons', 'nvim-treesitter', 'indent-blankline.nvim', 'nvim-lspconfig'}, { event = "BufEnter *" }, _G.packer_plugins)]]
vim.cmd [[au BufRead * ++once lua require("packer.load")({'nvim-dap', 'gitsigns.nvim'}, { event = "BufRead *" }, _G.packer_plugins)]]
time([[Defining lazy-load event autocommands]], false)
vim.cmd("augroup END")
if should_profile then save_profiles() end
end)
if not no_errors then
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end