refactor(nvim): use nvim-environments

This commit is contained in:
Price Hiller 2022-08-02 00:46:11 -05:00
parent a45ac83c57
commit dd6db425a1
67 changed files with 4753 additions and 0 deletions

View File

@ -0,0 +1,3 @@
local file_loc = vim.fn.expand('%:p:h')
vim.opt.makeprg = 'docker build ' .. file_loc

View File

@ -0,0 +1 @@
vim.opt.filetype = 'gitcommit'

View File

@ -0,0 +1 @@
vim.opt_local.list = false

View File

@ -0,0 +1 @@
vim.opt.filetype = 'yaml'

View File

@ -0,0 +1,4 @@
local opt = vim.opt
opt.tabstop = 2
opt.shiftwidth = 2

View File

@ -0,0 +1,9 @@
vim.keymap.set('n', '<leader>fr', '<Plug>RestNvim', {
buffer = true,
})
vim.keymap.set('n', '<leader>fp', '<Plug>RestNvimPreview', {
buffer = true,
})
vim.keymap.set('n', '<leader>fl', '<Plug>RestNvimLast', {
buffer = true,
})

View File

@ -0,0 +1,2 @@
vim.opt.expandtab = false
vim.opt_local.expandtab = false

View File

@ -0,0 +1,5 @@
local opt = vim.opt
opt.tabstop = 2
opt.shiftwidth = 2
opt.textwidth = 0

View File

@ -0,0 +1,6 @@
vim.keymap.set('n', '<leader>fge', ':Neorg gtd edit<CR>', {
buffer = true,
})
vim.keymap.set('n', '<ledaer>fgv', ':Neorg gtd views<CR>', {
buffer = true,
})

View File

@ -0,0 +1,35 @@
vim.keymap.set('n', '<leader>fr', ':RustRunnables<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fd', ':RustDebuggables<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fp', ':RustParentModule<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fJ', ':RustJoinLines<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fh', ':RustHoverActions<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fH', ':RustHoverRange<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fi', ':RustToggleInlayHints<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fm', ':RustExpandMacro<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fc', ':RustOpenCargo<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fk', ':RustMoveItemUp<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fj', ':RustMoveItemDown<CR>', {
buffer = true,
})
vim.opt.foldmethod = 'syntax'

View File

@ -0,0 +1,2 @@
vim.opt.expandtab = false
vim.opt_local.expandtab = false

View File

@ -0,0 +1,13 @@
vim.keymap.set('n', '<leader>fe', '<Plug>(sqls-execute-query)', {
buffer = true,
})
vim.keymap.set('v', '<leader>fe', '<Plug>(sqls-execute-query)', {
buffer = true,
})
vim.keymap.set('n', '<leader>fsd', ':SqlsSwitchDatabase<CR>', {
buffer = true,
})
vim.keymap.set('n', '<leader>fsc', ':SqlsSwitchConnection<CR>', {
buffer = true,
})

View File

@ -0,0 +1,4 @@
local opt_local = vim.opt_local
opt_local.tabstop = 2
opt_local.shiftwidth = 2

View File

@ -0,0 +1,4 @@
local opt_local = vim.opt_local
opt_local.tabstop = 2
opt_local.shiftwidth = 2

View File

@ -0,0 +1,4 @@
local opt_local = vim.opt_local
opt_local.tabstop = 2
opt_local.shiftwidth = 2

View File

@ -0,0 +1,3 @@
vim.opt.expandtab = false
vim.opt_local.expandtab = false
vim.opt.tabstop = 4

View File

@ -0,0 +1,2 @@
au BufRead,BufNewFile *.cf set ft=cf3

View File

@ -0,0 +1,221 @@
" Vim file plugin
" This is my first attempt at a ftplugin file. Feel free to send me
" corrections or improvements. I'll give you a credit.
"
" USAGE
" There is already a vim file that uses 'cf' as a file extension. You can use
" cf3 for your cf3 file extensions or identify via your vimrc file:
" au BufRead,BufNewFile *.cf set ft=cf3
" Check to see if DisableCF3Ftplugin is defined
" If you only want the syntax plugin add "let g:DisableCF3Ftplugin=1" in
" ~/.vimrc
if exists("g:DisableCF3Ftplugin")
finish
endif
" Only do this when not done yet for this buffer
if exists("b:loaded_CFE3Ftplugin")
finish
endif
let b:loaded_CFE3Ftplugin = 1
let s:install_dir = expand('<sfile>:p:h:h')
" =============== Keyword Abbreviations ===============
" enable keyword abbreviations with by adding
" "let g:EnableCFE3KeywordAbbreviations=1" to your vimrc
" Convenience function ToggleCFE3KeywordAbbreviations
" mapped to ,i by default to toggle abbreviations on or off
"
function! EnableCFE3KeywordAbbreviations()
iab <buffer> = =>
iab <buffer> ba bundle agent
iab <buffer> bc bundle common
iab <buffer> bu bundle
iab <buffer> cano canonify( "<C-R>=Eatchar('\s')<CR>
iab <buffer> cla classes:
iab <buffer> comma commands:
iab <buffer> comme comment => "<C-R>=Eatchar('\s')<CR>
iab <buffer> exp expression => <C-R>=Eatchar('\s')<CR>
iab <buffer> fil files:
iab <buffer> han handle => "<C-R>=Eatchar('\s')<CR>
iab <buffer> ifv ifvarclass => <C-R>=Eatchar('\s')<CR>
iab <buffer> met methods:
iab <buffer> pro processes:
iab <buffer> rep reports:
iab <buffer> sli slist => {
iab <buffer> str string => "<C-R>=Eatchar('\s')<CR>
iab <buffer> sysw ${sys.workdir}
iab <buffer> ub usebundle =>
iab <buffer> var vars:
endfunction
function! DisableCFE3KeywordAbbreviations()
iunab <buffer> =
iunab <buffer> ba
iunab <buffer> bc
iunab <buffer> bu
iunab <buffer> cano
iunab <buffer> cla
iunab <buffer> comma
iunab <buffer> comme
iunab <buffer> exp
iunab <buffer> fil
iunab <buffer> han
iunab <buffer> ifv
iunab <buffer> met
iunab <buffer> pro
iunab <buffer> rep
iunab <buffer> sli
iunab <buffer> str
iunab <buffer> sysw
iunab <buffer> ub
iunab <buffer> var
endfunction
" Default abbreviations off
" to disable let g:EnableCFE3KeywordAbbreviations=1 in ~/.vimrc
if exists('g:EnableCFE3KeywordAbbreviations')
call EnableCFE3KeywordAbbreviations()
endif
function! ToggleCFE3KeywordAbbreviations()
if !exists('b:EnableCFE3KeywordAbbreviations')
let b:EnableCFE3KeywordAbbreviations=1
call EnableCFE3KeywordAbbreviations()
else
unlet b:EnableCFE3KeywordAbbreviations
call DisableCFE3KeywordAbbreviations()
endif
endfunction
function! EnableCFE3PermissionFix()
" On Save set the permissions of the edited file so others can't access
:autocmd BufWritePost *.cf silent !chmod g-w,o-rwx %
endfunction
" Default permission fix off
" To enable permission fixing in your main .vimrc
" let g:EnableCFE3PermissionFix=1
if exists('g:EnableCFE3PermissionFix')
call EnableCFE3PermissionFix()
endif
" maps
" Toggle KeywordAbbreviations
nnoremap <buffer> ,i :call ToggleCFE3KeywordAbbreviations()<CR>
" Wrap WORD in double quotes
nnoremap <buffer> ,q dE<ESC>i"<ESC>pa"<ESC>
" Insert blank promise
nnoremap <buffer> ,p o""<CR><TAB>handle => "",<CR>comment => ""<ESC>
" quote list items
vnoremap <buffer> ,q :s/^\s*\(.*\)\s*$/"\1",/g<CR>
" Function to align groups of => assignment lines.
" Credit to 'Scripting the Vim editor, Part 2: User-defined functions'
" by Damian Conway
" http://www.ibm.com/developerworks/linux/library/l-vim-script-2/index.html
if !exists("*CF3AlignAssignments")
function CF3AlignAssignments (AOP)
"Patterns needed to locate assignment operators...
if a:AOP == 'vars'
let ASSIGN_OP = '\(string\|int\|real\|data\|slist\|ilist\|rlist\|expression\|and\|or\|not\|volume\)*\s\+=>'
else
let ASSIGN_OP = '=>'
endif
let ASSIGN_LINE = '^\(.\{-}\)\s*\(' . ASSIGN_OP . '\)'
"Locate block of code to be considered (same indentation, no blanks)
let indent_pat = '^' . matchstr(getline('.'), '^\s*') . '\S'
let firstline = search('^\%('. indent_pat . '\)\@!','bnW') + 1
let lastline = search('^\%('. indent_pat . '\)\@!', 'nW') - 1
if lastline < 0
let lastline = line('$')
endif
"Find the column at which the operators should be aligned...
let max_align_col = 0
let max_op_width = 0
for linetext in getline(firstline, lastline)
"Does this line have an assignment in it?
let left_width = match(linetext, '\s*' . ASSIGN_OP)
"If so, track the maximal assignment column and operator width...
if left_width >= 0
let max_align_col = max([max_align_col, left_width])
let op_width = strlen(matchstr(linetext, ASSIGN_OP))
let max_op_width = max([max_op_width, op_width+1])
endif
endfor
"Code needed to reformat lines so as to align operators...
let FORMATTER = '\=printf("%-*s%*s", max_align_col, submatch(1),
\ max_op_width, submatch(2))'
" Reformat lines with operators aligned in the appropriate column...
for linenum in range(firstline, lastline)
let oldline = getline(linenum)
let newline = substitute(oldline, ASSIGN_LINE, FORMATTER, "")
call setline(linenum, newline)
endfor
endfunction
endif
nnoremap <buffer> <silent> ,= :call CF3AlignAssignments("null")<CR>
nnoremap <buffer> <silent> <ESC>= :call CF3AlignAssignments("vars")<CR>
" For pasting code snippets
function! Pastefile( FILE )
let arg_file = s:install_dir."/snippets/".a:FILE
let @" = join( readfile( arg_file ), "\n" )
put
return ""
endfunction
nnoremap <buffer> ,k :call Pastefile("template.cf")<CR>kdd
nnoremap <buffer> ,s :call Pastefile("stdlib.cf")<CR>kdd
" TODO
" Indents
" CREDITS
" Neil Watson <neil@watson-wilson.ca>
" Other Cfengine information: http://watson-wilson.ca/cfengine/
"
" CHANGES
" Wednesday January 09 2013
" Operator alignment now works for just '=>' with ',=' or 'string, stlist ,etc
" and => ' with '<ESC>='
"
" Wednesday October 05 2011
" - Added comment and handle abbs. Assumes you have the Eatchar and Getchar
" functions.
" - Can now wrap words and lists in quotes.
" - Insert blank promises (,p)
" - Insert blank testing skeleton (,k)
"
" CHANGES
" Monday November 21 2011
" - IAB's for string, slist and usebundle.
" CHANGES
" Fri Apr 27 2012
" Added function to align assigment operators
" vim_cf3 files (https://github.com/neilhwatson/vim_cf3)
" Copyright (C) 2011 Neil H. Watson <neil@watson-wilson.ca>
"
" This program is free software: you can redistribute it and/or modify it under
" the terms of the GNU General Public License as published by the Free Software
" Foundation, either version 3 of the License, or (at your option) any later
" version.
"
" This program is distributed in the hope that it will be useful, but WITHOUT ANY
" WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
" PARTICULAR PURPOSE. See the GNU General Public License for more details.
"
" You should have received a copy of the GNU General Public License along with
" this program. If not, see <http://www.gnu.org/licenses/>.

View File

@ -0,0 +1,5 @@
local loaded, impatient = pcall(require, 'impatient')
if loaded then
impatient.enable_profile()
end
require('main')

View File

@ -0,0 +1,50 @@
local M = {}
M.setup = function()
-- NOTE: Highlight text yanked
vim.api.nvim_create_autocmd("TextYankPost", {
callback = function()
vim.highlight.on_yank()
end,
})
-- NOTE: Remove trailing whitespace on save
vim.api.nvim_create_autocmd("BufWritePre", {
command = "%s/\\s\\+$//e",
})
-- -- NOTE: Handles scenarios in which the filetype isn't detected on load
-- vim.api.nvim_create_autocmd('BufReadPost', {
-- pattern = '*',
-- callback = function()
-- local opt_ft = vim.opt_local.ft:get()
-- if opt_ft == nil or opt_ft == '' then
-- vim.cmd('filetype detect')
-- end
-- end,
-- })
-- NOTE: Local cursorline
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "*",
callback = function()
vim.opt_local.cursorline = true
end,
})
vim.api.nvim_create_autocmd("WinEnter", {
pattern = "*",
callback = function()
vim.opt_local.cursorline = true
end,
})
vim.api.nvim_create_autocmd("WinLeave", {
pattern = "*",
callback = function()
vim.opt_local.cursorline = false
end,
})
end
return M

View File

@ -0,0 +1,25 @@
local M = {}
M.setup = function()
local disabled_built_ins = {
'gzip',
'zip',
'zipPlugin',
'tar',
'tarPlugin',
'getscript',
'getscriptPlugin',
'vimball',
'vimballPlugin',
'2html_plugin',
'logipat',
'rrhelper',
'spellfile_plugin',
'matchit',
}
for _, plugin in pairs(disabled_built_ins) do
vim.g['loaded_' .. plugin] = 1
end
end
return M

View File

@ -0,0 +1,9 @@
local g = vim.g
local M = {}
M.setup = function()
-- g.python3_host_prog = ("(%s)/.pyenv/shims/python3"):format(os.getenv("HOME"))
end
return M

View File

@ -0,0 +1,7 @@
require('core.disabled').setup()
require('core.options').setup()
require('core.mappings').setup()
require('core.globals').setup()
require('core.autocmds').setup()
require('core.lsp').setup()
-- require('core.winbar').setup()

View File

@ -0,0 +1,52 @@
local M = {}
M.setup = function()
local function lspSymbol(name, icon, linehlbg)
local hl = 'DiagnosticSign' .. name
local linehl = 'DiagnosticSignLineHl' .. name
vim.api.nvim_set_hl(0, linehl, {
bg = linehlbg,
})
vim.fn.sign_define(hl, { text = icon, numhl = hl, texthl = hl, linehl = linehl })
end
lspSymbol('Error', '', '#2d202a')
lspSymbol('Warn', '', '#2e2a2d')
lspSymbol('Info', '', '#192b38')
lspSymbol('Hint', '', '#1a2b32')
local border = {
{ '', 'FloatBorder' },
{ '', 'FloatBorder' },
{ '', 'FloatBorder' },
{ '', 'FloatBorder' },
{ '', 'FloatBorder' },
{ '', 'FloatBorder' },
{ '', 'FloatBorder' },
{ '', 'FloatBorder' },
}
local orig_util_open_floating_preview = vim.lsp.util.open_floating_preview
function vim.lsp.util.open_floating_preview(contents, syntax, opts, ...)
opts = opts or {}
opts.border = opts.border or border
return orig_util_open_floating_preview(contents, syntax, opts, ...)
end
vim.diagnostic.config({
virtual_text = false,
severity_sort = true,
underline = true,
update_in_insert = false,
float = {
focusable = false,
style = 'minimal',
border = 'rounded',
source = 'always',
header = '',
prefix = '',
},
})
end
return M

View File

@ -0,0 +1,55 @@
local M = {}
M.setup = function()
-- set mapleader to space
vim.g.mapleader = " "
-- Get rid of highlight after search
vim.keymap.set("n", "<esc>", ":noh<CR>")
-- Spell Checking
vim.keymap.set("n", "<leader>st", ":set spell!<CR>")
-- Better split movement
vim.keymap.set("n", "<C-l>", "<C-w>l")
vim.keymap.set("n", "<C-h>", "<C-w>h")
vim.keymap.set("n", "<C-k>", "<C-w>k")
vim.keymap.set("n", "<C-j>", "<C-w>j")
-- Better split closing
vim.keymap.set("n", "<C-x>", "<C-w>c")
-- Set current focused file as cwd
vim.keymap.set("n", "<leader>cd", ":cd %:p:h<CR>")
-- Toggle showing diagnostics
local diagnostics_active = true
vim.keymap.set("n", "<leader>lh", function()
diagnostics_active = not diagnostics_active
if diagnostics_active then
vim.diagnostic.enable()
else
vim.diagnostic.disable()
end
end, { desc = "Toggle Diagnostics" })
-- Toggle showing command bar
vim.keymap.set("n", "<leader>cl", function()
local current_cmdheight = vim.opt.cmdheight:get()
if current_cmdheight > 0 then
vim.opt.cmdheight = 0
else
vim.opt.cmdheight = 1
end
end, { desc = "Toggle Cmdline" })
-- Toggle relativenumber
vim.keymap.set("n", "<leader>sn", function()
vim.opt.relativenumber = not vim.opt.relativenumber:get()
end, { desc = "Toggle Relativenumber" })
-- Sudo Write
vim.keymap.set("c", "w!!", "w !sudo tee > /dev/null %")
end
return M

View File

@ -0,0 +1,124 @@
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
vim.cmd("highlight Normal guibg=none")
-- Enable system clipboard
opt.clipboard = "unnamedplus"
-- Set mouse support for any mode
opt.mouse = "a"
-- Allow hidden
opt.hidden = true
-- Useful defaults for tab, indentation, etc.
opt.tabstop = 4
opt.shiftwidth = 4
opt.smartindent = true
opt.breakindent = true
opt.expandtab = true
opt.smarttab = true
-- Search settings
opt.hlsearch = true
opt.incsearch = true
opt.ignorecase = true
opt.smartcase = 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
opt.updatetime = 250
opt.signcolumn = "yes"
-- Enable persistent undo
opt.undodir = vim.fn.stdpath("cache") .. "/undo"
opt.undofile = true
-- Better folding
opt.foldexpr = "nvim_treesitter#foldexpr()"
opt.foldmethod = "expr"
opt.fillchars = { fold = " " }
opt.foldlevel = 20
-- Concealment for nicer rendering
opt.conceallevel = 2
opt.concealcursor = "ic"
-- Lazy Redraw to Speed Up Macros
opt.lazyredraw = true
-- Spell Settings
opt.spelllang = { "en_us" }
-- Better completion experience
opt.completeopt = "menuone,noselect"
-- Set max text width
opt.textwidth = 120
-- Make statusline global
opt.laststatus = 3
-- Set listcharacters
opt.list = true
opt.listchars:append("tab:-->")
opt.listchars:append("lead:·")
opt.listchars:append("trail:·")
opt.listchars:append("extends:◣")
opt.listchars:append("precedes:◢")
opt.listchars:append("nbsp:○")
-- Set fillchars
vim.opt.fillchars:append({
horiz = "",
horizup = "",
horizdown = "",
vert = "",
vertleft = "",
vertright = "",
verthoriz = "",
})
-- Remove end of boundry '~'
opt.fillchars:append("eob: ")
-- Allow vim to get settings from file
opt.modeline = true
opt.modelines = 5
-- Set command bar height to hide when not in use
opt.cmdheight = 0
-- WARN: Disable swap files.
-- WARN: This is potentially VERY dangerous.
-- WARN: For my use case, this is intended
opt.swapfile = false
end
return M

View File

@ -0,0 +1 @@
require('core.theme').setup()

View File

@ -0,0 +1,20 @@
local M = {}
local util = require("utils.funcs")
M.setup = function()
vim.g.tokyonight_style = "night"
vim.g.tokyonight_transparent = true
vim.g.tokyonight_transparent_sidebar = true
local colorscheme_name = "kanagawa"
local loaded, _ = pcall(vim.cmd, "colorscheme " .. colorscheme_name)
if not loaded then
vim.notify('Colorscheme "' .. colorscheme_name .. '" could not be loaded!', vim.lsp.log_levels.WARN, {
title = "Colorscheme",
})
end
-- vim.api.nvim_set_hl(0, "SpecialKey", { fg = "#61AFEF" })
end
return M

View File

@ -0,0 +1,23 @@
local M = {}
M.winbar = function()
local win_number = '[' .. vim.api.nvim_win_get_number(0) .. ']'
local ignore_fts = {
'neo-tree',
'dashboard',
}
for _, ft in ipairs(ignore_fts) do
if ft == vim.bo.filetype then
return win_number
end
end
return win_number .. ' %f'
end
M.setup = function()
-- Winbar
vim.opt.winbar = "%{%v:lua.require('core.winbar').winbar()%}"
end
return M

View File

@ -0,0 +1,16 @@
-- INFO: Primary loading, where most things are loaded in
--
-- INFO: All modules/dirs that are going to be loaded
-- INFO: SHOULD have a init.lua file associated with them.
-- INFO: init.lua is responsible for loading all configuration
-- INFO: related to that directory.
require('core.init')
require('plugins.init')
-- INFO: Post load, for things that need to setup keybindings etc after the fact
--
-- NOTE: All postload modules should be independent of each other, they shouldn't
-- NOTE: rely on each other's load order. That type of logic should be shifted
-- NOTE: into non-postload regions then handled in postload modules.
require('plugins.postload')
require('core.postload')

View File

@ -0,0 +1,938 @@
-- 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 = {
LuaSnip = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["alpha-nvim"] = {
config = { "\27LJ\2\n5\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\26plugins.configs.alpha\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/alpha-nvim",
url = "https://github.com/goolord/alpha-nvim"
},
["ansible-vim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/ansible-vim",
url = "https://github.com/pearofducks/ansible-vim"
},
["cmp-calc"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-calc",
url = "https://github.com/hrsh7th/cmp-calc"
},
["cmp-cmdline"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
url = "https://github.com/hrsh7th/cmp-cmdline"
},
["cmp-cmdline-history"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-cmdline-history",
url = "https://github.com/dmitmel/cmp-cmdline-history"
},
["cmp-conventionalcommits"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-conventionalcommits",
url = "https://github.com/davidsierradz/cmp-conventionalcommits"
},
["cmp-emoji"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-emoji",
url = "https://github.com/hrsh7th/cmp-emoji"
},
["cmp-fuzzy-buffer"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-fuzzy-buffer",
url = "https://github.com/tzachar/cmp-fuzzy-buffer"
},
["cmp-fuzzy-path"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-fuzzy-path",
url = "https://github.com/tzachar/cmp-fuzzy-path"
},
["cmp-npm"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-npm",
url = "https://github.com/David-Kunz/cmp-npm"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-nvim-lsp-document-symbol"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-document-symbol",
url = "https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol"
},
["cmp-path"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
["cmp-rg"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-rg",
url = "https://github.com/lukas-reineke/cmp-rg"
},
["cmp-zsh"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp-zsh",
url = "https://github.com/tamago324/cmp-zsh"
},
cmp_luasnip = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["crates.nvim"] = {
after_files = { "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/crates.nvim/after/plugin/cmp_crates.lua" },
config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vcrates\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/crates.nvim",
url = "https://github.com/saecki/crates.nvim"
},
["csharpls-extended-lsp.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/csharpls-extended-lsp.nvim",
url = "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim"
},
["diffview.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/diffview.nvim",
url = "https://github.com/sindrets/diffview.nvim"
},
["editorconfig.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/editorconfig.nvim",
url = "https://github.com/gpanders/editorconfig.nvim"
},
["fidget.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.fidget-spinner\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/fidget.nvim",
url = "https://github.com/j-hui/fidget.nvim"
},
["friendly-snippets"] = {
config = { "\27LJ\2\nM\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\14lazy_load luasnip.loaders.from_vscode\frequire\0" },
load_after = {},
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/friendly-snippets",
url = "https://github.com/rafamadriz/friendly-snippets"
},
["fuzzy.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/fuzzy.nvim",
url = "https://github.com/tzachar/fuzzy.nvim"
},
["gitsigns.nvim"] = {
config = { "\27LJ\2\n|\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\1K\0\1\0\28current_line_blame_opts\1\0\1\ndelay\3\0\1\0\1\23current_line_blame\2\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"
},
["hop.nvim"] = {
config = { "\27LJ\2\nU\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\tkeys\28etovxqpdygfblzhckisuran\nsetup\bhop\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/hop.nvim",
url = "https://github.com/phaazon/hop.nvim"
},
["hydra.nvim"] = {
config = { "\27LJ\2\n5\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\26plugins.configs.hydra\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/hydra.nvim",
url = "https://github.com/anuvyklack/hydra.nvim"
},
["impatient.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/impatient.nvim",
url = "https://github.com/lewis6991/impatient.nvim"
},
["inc-rename.nvim.git"] = {
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\15inc_rename\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/inc-rename.nvim.git",
url = "https://github.com/smjonas/inc-rename.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"
},
["kanagawa.nvim"] = {
config = { "\27LJ\2\nµ\5\0\0\a\0#\0@6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\0026\1\3\0009\1\4\0019\1\5\1\18\3\1\0009\1\6\0015\4\a\0B\1\3\0016\1\0\0'\3\b\0B\1\2\0029\1\2\0015\3\t\0005\4\14\0005\5\f\0009\6\n\0009\6\v\6=\6\r\5=\5\15\0045\5\18\0009\6\16\0009\6\17\6=\6\19\0059\6\n\0009\6\v\6=\6\r\5=\5\20\0045\5\22\0009\6\n\0009\6\21\6=\6\r\5=\5\23\0045\5\25\0009\6\16\0009\6\24\6=\6\19\0059\6\n\0009\6\26\6=\6\r\5=\5\27\0045\5\29\0009\6\16\0009\6\28\6=\6\19\0059\6\n\0009\6\30\6=\6\r\5=\5\31\0045\5 \0009\6\16\0009\6\17\6=\6\19\0059\6\n\0009\6\v\6=\6\r\5=\5!\4=\4\"\3B\1\2\1K\0\1\0\14overrides\27NeogitCommitViewHeader\1\0\0\27NeogitDiffAddHighlight\badd\1\0\0\nadded\30NeogitDiffDeleteHighlight\vdelete\1\0\0\fremoved\31NeogitDiffContextHighlight\1\0\0\vchange\30NeogitHunkHeaderHighlight\afg\1\0\0\fchanged\bgit\21NeogitHunkHeader\1\0\0\abg\1\0\0\ttext\tdiff\1\0\3\17globalStatus\2\17dim_inactive\2\16transparent\2\rkanagawa\1\0\a\14vertright\b┣\nhoriz\bâ”<EFBFBD>\14horizdown\b┳\14verthoriz\bâ•‹\rvertleft\b┨\fhorizup\bâ”»\tvert\b┃\vappend\14fillchars\bopt\bvim\nsetup\20kanagawa.colors\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/kanagawa.nvim",
url = "https://github.com/rebelot/kanagawa.nvim"
},
["keymap-layer.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/keymap-layer.nvim",
url = "https://github.com/anuvyklack/keymap-layer.nvim"
},
["lsp_lines.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\14lsp_lines\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/lsp_lines.nvim",
url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim"
},
["lsp_signature.nvim"] = {
config = { "\27LJ\2\n~\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\4\20floating_window\1\15toggle_key\n<M-x>\16hint_prefix\5\16hint_enable\2\nsetup\18lsp_signature\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/lsp_signature.nvim",
url = "https://github.com/ray-x/lsp_signature.nvim"
},
["lua-dev.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/lua-dev.nvim",
url = "https://github.com/folke/lua-dev.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"] = {
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"
},
["mason-lspconfig.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
url = "https://github.com/williamboman/mason-lspconfig.nvim"
},
["mason.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/mason.nvim",
url = "https://github.com/williamboman/mason.nvim"
},
["mini.nvim"] = {
config = { "\27LJ\2\nÆ\1\0\0\4\0\a\0\0156\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\2\0005\2\5\0005\3\4\0=\3\6\2B\0\2\1K\0\1\0\rmappings\1\0\0\1\0\a\vdelete\ads\19update_n_lines\5\tfind\5\14find_left\5\14highlight\5\freplace\acs\badd\ags\18mini.surround\nsetup\20mini.cursorword\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/mini.nvim",
url = "https://github.com/echasnovski/mini.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"
},
["neo-tree.nvim"] = {
config = { "\27LJ\2\n7\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\28plugins.configs.neotree\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/neo-tree.nvim",
url = "https://github.com/nvim-neo-tree/neo-tree.nvim"
},
neoformat = {
commands = { "Neoformat" },
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.neoformat\frequire\0" },
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"
},
neogen = {
config = { "\27LJ\2\nR\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\19snippet_engine\fluasnip\nsetup\vneogen\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/neogen",
url = "https://github.com/danymat/neogen"
},
neogit = {
config = { "\27LJ\2\nz\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\1K\0\1\0\17integrations\1\0\1\rdiffview\2\1\0\1 disable_commit_confirmation\2\nsetup\vneogit\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/neogit",
url = "https://github.com/TimUntersberger/neogit"
},
neorg = {
config = { "\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27plugins.configs._neorg\frequire\0" },
load_after = {},
loaded = true,
needs_bufread = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/neorg",
url = "https://github.com/nvim-neorg/neorg"
},
["neorg-telescope"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/neorg-telescope",
url = "https://github.com/nvim-neorg/neorg-telescope"
},
["neoscroll.nvim"] = {
config = { "\27LJ\2\nW\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\20easing_function\rcircular\nsetup\14neoscroll\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/neoscroll.nvim",
url = "https://github.com/karb94/neoscroll.nvim"
},
["nightfox.nvim"] = {
config = { "\27LJ\2\nk\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\foptions\1\0\0\1\0\2\17dim_inactive\2\16transparent\2\nsetup\rnightfox\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nightfox.nvim",
url = "https://github.com/EdenEast/nightfox.nvim"
},
["nui.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nui.nvim",
url = "https://github.com/MunifTanjim/nui.nvim"
},
["null-ls.nvim"] = {
config = { "\27LJ\2\n7\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\28plugins.configs.null_ls\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/null-ls.nvim",
url = "https://github.com/jose-elias-alvarez/null-ls.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" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/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-cmp"] = {
config = { "\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25plugins.configs._cmp\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-code-action-menu"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-code-action-menu",
url = "https://github.com/weilbith/nvim-code-action-menu"
},
["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 = { "nvim-dap-python", "nvim-dap-ui", "nvim-dap-virtual-text" },
config = { "\27LJ\2\ne\0\0\3\0\4\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\0\0'\2\3\0B\0\2\1K\0\1\0\25plugins.configs._dap\18load_launchjs\19dap.ext.vscode\frequire\0" },
load_after = {},
loaded = true,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-dap",
url = "https://github.com/mfussenegger/nvim-dap"
},
["nvim-dap-python"] = {
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.python-dap\frequire\0" },
load_after = {},
loaded = true,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-dap-python",
url = "https://github.com/mfussenegger/nvim-dap-python"
},
["nvim-dap-ui"] = {
config = { "\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27plugins.configs.dap-ui\frequire\0" },
load_after = {},
loaded = true,
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-dap-virtual-text"] = {
config = { "\27LJ\2\nG\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\26nvim-dap-virtual-text\frequire\0" },
load_after = {},
loaded = true,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-dap-virtual-text",
url = "https://github.com/theHamsta/nvim-dap-virtual-text"
},
["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-keymap-amend"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-keymap-amend",
url = "https://github.com/anuvyklack/nvim-keymap-amend"
},
["nvim-lastplace"] = {
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\30lastplace_ignore_filetype\1\6\0\0\14gitcommit\14gitrebase\bsvn\rhgcommit\rfugitive\29lastplace_ignore_buftype\1\0\1\25lastplace_open_folds\2\1\4\0\0\rquickfix\vnofile\thelp\nsetup\19nvim-lastplace\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-lastplace",
url = "https://github.com/ethanholz/nvim-lastplace"
},
["nvim-lspconfig"] = {
config = { "\27LJ\2\nW\0\0\3\0\4\0\n6\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\1K\0\1\0\24plugins.configs.lsp\nsetup\nmason\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/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-notify"] = {
after = { "nvim-dap" },
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-notify\frequire\0" },
loaded = true,
only_config = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-notify",
url = "https://github.com/rcarriga/nvim-notify"
},
["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-treesitter"] = {
after = { "nvim-treesitter-textobjects", "neorg" },
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 = true,
only_config = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-treesitter-textobjects"] = {
config = { "\27LJ\2\nì\4\0\0\6\0\20\0\0236\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\18\0005\3\6\0005\4\3\0005\5\4\0=\5\5\4=\4\a\0035\4\b\0005\5\t\0=\5\n\0045\5\v\0=\5\f\0045\5\r\0=\5\14\0045\5\15\0=\5\16\4=\4\17\3=\3\19\2B\0\2\1K\0\1\0\16textobjects\1\0\0\tmove\22goto_previous_end\1\0\3\b[ce\17@class.outer\b[fe\20@function.outer\b[bs\17@block.outer\24goto_previous_start\1\0\3\b[fs\20@function.outer\b[bs\17@block.outer\b[cs\17@class.outer\18goto_next_end\1\0\3\b]be\17@block.outer\b]fe\20@function.outer\b]ce\17@class.outer\20goto_next_start\1\0\3\b]bs\17@block.outer\b]fs\20@function.outer\b]cs\17@class.outer\1\0\2\venable\2\14set_jumps\2\vselect\1\0\0\fkeymaps\1\0\6\aif\20@function.inner\aab\17@block.outer\aib\17@block.inner\aic\17@class.inner\aaf\20@function.outer\aac\17@class.outer\1\0\2\venable\2\14lookahead\2\nsetup\28nvim-treesitter.configs\frequire\0" },
load_after = {},
loaded = true,
needs_bufread = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/nvim-treesitter-textobjects",
url = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects"
},
["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"
},
["nvim-yati"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/nvim-yati",
url = "https://github.com/yioneko/nvim-yati"
},
["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"
},
["presence.nvim"] = {
config = { "\27LJ\2\nb\0\0\4\0\4\0\b6\0\0\0'\2\1\0B\0\2\2\18\2\0\0009\0\2\0005\3\3\0B\0\3\1K\0\1\0\1\0\1\22neovim_image_text\19How do I exit?\nsetup\rpresence\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/presence.nvim",
url = "https://github.com/andweeb/presence.nvim"
},
["pretty-fold.nvim"] = {
config = { "\27LJ\2\nL\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\14fill_char\6 \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"
},
["refactoring.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/refactoring.nvim",
url = "https://github.com/ThePrimeagen/refactoring.nvim"
},
["rest.nvim"] = {
config = { "\27LJ\2\nU\0\0\4\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\3\0B\1\2\1K\0\1\0\1\0\1\26skip_ssl_verification\2\nsetup\14rest-nvim\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/rest.nvim",
url = "https://github.com/NTBBloodbath/rest.nvim"
},
["rust-tools.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/rust-tools.nvim",
url = "https://github.com/simrat39/rust-tools.nvim"
},
["sqlite.lua"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/sqlite.lua",
url = "https://github.com/tami5/sqlite.lua"
},
["sqls.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/sqls.nvim",
url = "https://github.com/nanotee/sqls.nvim"
},
["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" },
config = { "\27LJ\2\n\1\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0|hi FocusedSymbol term=italic,bold cterm=italic ctermbg=yellow ctermfg=darkblue gui=bold,italic guibg=none guifg=#59D0FF\bcmd\bvim\0" },
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-file-browser.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/telescope-file-browser.nvim",
url = "https://github.com/nvim-telescope/telescope-file-browser.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-smart-history.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/telescope-smart-history.nvim",
url = "https://github.com/nvim-telescope/telescope-smart-history.nvim"
},
["telescope-ui-select.nvim"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/telescope-ui-select.nvim",
url = "https://github.com/nvim-telescope/telescope-ui-select.nvim"
},
["telescope.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.telescope-nvim\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
telescope_find_directories = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/telescope_find_directories",
url = "https://github.com/artart222/telescope_find_directories"
},
["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"
},
["trouble.nvim"] = {
commands = { "Trouble", "TroubleClose", "TroubleToggle", "TroubleRefresh" },
config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\ftrouble\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/trouble.nvim",
url = "https://github.com/folke/trouble.nvim"
},
undotree = {
commands = { "UndotreeToggle" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/undotree",
url = "https://github.com/mbbill/undotree"
},
["vim-log-highlighting"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-log-highlighting",
url = "https://github.com/MTDL9/vim-log-highlighting"
},
["vim-move"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-move",
url = "https://github.com/matze/vim-move"
},
["vim-startuptime"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-startuptime",
url = "https://github.com/dstein64/vim-startuptime"
},
["vim-visual-multi"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-visual-multi",
url = "https://github.com/mg979/vim-visual-multi"
},
["vim-vsnip"] = {
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/vim-vsnip",
url = "https://github.com/hrsh7th/vim-vsnip"
},
["which-key.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\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"
},
["workspaces.nvim"] = {
config = { "\27LJ\2\n]\0\0\5\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\3B\1\2\1K\0\1\0\nhooks\1\0\0\1\0\1\topen\fNeotree\nsetup\15workspaces\frequire\0" },
loaded = true,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/start/workspaces.nvim",
url = "https://github.com/natecraddock/workspaces.nvim"
},
["zen-mode.nvim"] = {
commands = { "ZenMode" },
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\rzen-mode\frequire\0" },
loaded = false,
needs_bufread = false,
only_cond = false,
path = "/Users/pricehiller/.local/share/nvim/site/pack/packer/opt/zen-mode.nvim",
url = "https://github.com/folke/zen-mode.nvim"
}
}
time([[Defining packer_plugins]], false)
local module_lazy_loads = {
["^hlslens"] = "nvim-hlslens"
}
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: markdown-preview.nvim
time([[Setup for markdown-preview.nvim]], true)
try_loadstring("\27LJ\2\n=\0\0\2\0\4\0\0056\0\0\0009\0\1\0005\1\3\0=\1\2\0K\0\1\0\1\2\0\0\rmarkdown\19mkdp_filetypes\6g\bvim\0", "setup", "markdown-preview.nvim")
time([[Setup for markdown-preview.nvim]], false)
-- Setup for: undotree
time([[Setup for undotree]], true)
try_loadstring("\27LJ\2\n7\0\0\2\0\3\0\0056\0\0\0009\0\1\0)\1\3\0=\1\2\0K\0\1\0\26undotree_WindowLayout\6g\bvim\0", "setup", "undotree")
time([[Setup for undotree]], false)
-- Config for: neo-tree.nvim
time([[Config for neo-tree.nvim]], true)
try_loadstring("\27LJ\2\n7\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\28plugins.configs.neotree\frequire\0", "config", "neo-tree.nvim")
time([[Config for neo-tree.nvim]], false)
-- Config for: kanagawa.nvim
time([[Config for kanagawa.nvim]], true)
try_loadstring("\27LJ\2\nµ\5\0\0\a\0#\0@6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\0026\1\3\0009\1\4\0019\1\5\1\18\3\1\0009\1\6\0015\4\a\0B\1\3\0016\1\0\0'\3\b\0B\1\2\0029\1\2\0015\3\t\0005\4\14\0005\5\f\0009\6\n\0009\6\v\6=\6\r\5=\5\15\0045\5\18\0009\6\16\0009\6\17\6=\6\19\0059\6\n\0009\6\v\6=\6\r\5=\5\20\0045\5\22\0009\6\n\0009\6\21\6=\6\r\5=\5\23\0045\5\25\0009\6\16\0009\6\24\6=\6\19\0059\6\n\0009\6\26\6=\6\r\5=\5\27\0045\5\29\0009\6\16\0009\6\28\6=\6\19\0059\6\n\0009\6\30\6=\6\r\5=\5\31\0045\5 \0009\6\16\0009\6\17\6=\6\19\0059\6\n\0009\6\v\6=\6\r\5=\5!\4=\4\"\3B\1\2\1K\0\1\0\14overrides\27NeogitCommitViewHeader\1\0\0\27NeogitDiffAddHighlight\badd\1\0\0\nadded\30NeogitDiffDeleteHighlight\vdelete\1\0\0\fremoved\31NeogitDiffContextHighlight\1\0\0\vchange\30NeogitHunkHeaderHighlight\afg\1\0\0\fchanged\bgit\21NeogitHunkHeader\1\0\0\abg\1\0\0\ttext\tdiff\1\0\3\17globalStatus\2\17dim_inactive\2\16transparent\2\rkanagawa\1\0\a\14vertright\b┣\nhoriz\bâ”<EFBFBD>\14horizdown\b┳\14verthoriz\bâ•‹\rvertleft\b┨\fhorizup\bâ”»\tvert\b┃\vappend\14fillchars\bopt\bvim\nsetup\20kanagawa.colors\frequire\0", "config", "kanagawa.nvim")
time([[Config for kanagawa.nvim]], false)
-- Config for: which-key.nvim
time([[Config for which-key.nvim]], true)
try_loadstring("\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\14which-key\frequire\0", "config", "which-key.nvim")
time([[Config for which-key.nvim]], false)
-- Config for: telescope.nvim
time([[Config for telescope.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.telescope-nvim\frequire\0", "config", "telescope.nvim")
time([[Config for telescope.nvim]], false)
-- Config for: alpha-nvim
time([[Config for alpha-nvim]], true)
try_loadstring("\27LJ\2\n5\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\26plugins.configs.alpha\frequire\0", "config", "alpha-nvim")
time([[Config for alpha-nvim]], false)
-- Config for: rest.nvim
time([[Config for rest.nvim]], true)
try_loadstring("\27LJ\2\nU\0\0\4\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\3\0B\1\2\1K\0\1\0\1\0\1\26skip_ssl_verification\2\nsetup\14rest-nvim\frequire\0", "config", "rest.nvim")
time([[Config for rest.nvim]], false)
-- Config for: null-ls.nvim
time([[Config for null-ls.nvim]], true)
try_loadstring("\27LJ\2\n7\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\28plugins.configs.null_ls\frequire\0", "config", "null-ls.nvim")
time([[Config for null-ls.nvim]], false)
-- Config for: inc-rename.nvim.git
time([[Config for inc-rename.nvim.git]], true)
try_loadstring("\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\15inc_rename\frequire\0", "config", "inc-rename.nvim.git")
time([[Config for inc-rename.nvim.git]], false)
-- Config for: pretty-fold.nvim
time([[Config for pretty-fold.nvim]], true)
try_loadstring("\27LJ\2\nL\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\14fill_char\6 \nsetup\16pretty-fold\frequire\0", "config", "pretty-fold.nvim")
time([[Config for pretty-fold.nvim]], false)
-- Config for: neogen
time([[Config for neogen]], true)
try_loadstring("\27LJ\2\nR\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\19snippet_engine\fluasnip\nsetup\vneogen\frequire\0", "config", "neogen")
time([[Config for neogen]], false)
-- Config for: nvim-lastplace
time([[Config for nvim-lastplace]], 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\30lastplace_ignore_filetype\1\6\0\0\14gitcommit\14gitrebase\bsvn\rhgcommit\rfugitive\29lastplace_ignore_buftype\1\0\1\25lastplace_open_folds\2\1\4\0\0\rquickfix\vnofile\thelp\nsetup\19nvim-lastplace\frequire\0", "config", "nvim-lastplace")
time([[Config for nvim-lastplace]], false)
-- Config for: hydra.nvim
time([[Config for hydra.nvim]], true)
try_loadstring("\27LJ\2\n5\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\26plugins.configs.hydra\frequire\0", "config", "hydra.nvim")
time([[Config for hydra.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: neoscroll.nvim
time([[Config for neoscroll.nvim]], true)
try_loadstring("\27LJ\2\nW\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\20easing_function\rcircular\nsetup\14neoscroll\frequire\0", "config", "neoscroll.nvim")
time([[Config for neoscroll.nvim]], false)
-- Config for: hop.nvim
time([[Config for hop.nvim]], true)
try_loadstring("\27LJ\2\nU\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\tkeys\28etovxqpdygfblzhckisuran\nsetup\bhop\frequire\0", "config", "hop.nvim")
time([[Config for hop.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)
-- Config for: nvim-treesitter
time([[Config for nvim-treesitter]], 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.treesitter\frequire\0", "config", "nvim-treesitter")
time([[Config for nvim-treesitter]], false)
-- Config for: nightfox.nvim
time([[Config for nightfox.nvim]], true)
try_loadstring("\27LJ\2\nk\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\foptions\1\0\0\1\0\2\17dim_inactive\2\16transparent\2\nsetup\rnightfox\frequire\0", "config", "nightfox.nvim")
time([[Config for nightfox.nvim]], false)
-- Config for: lsp_signature.nvim
time([[Config for lsp_signature.nvim]], true)
try_loadstring("\27LJ\2\n~\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\4\20floating_window\1\15toggle_key\n<M-x>\16hint_prefix\5\16hint_enable\2\nsetup\18lsp_signature\frequire\0", "config", "lsp_signature.nvim")
time([[Config for lsp_signature.nvim]], false)
-- Config for: presence.nvim
time([[Config for presence.nvim]], true)
try_loadstring("\27LJ\2\nb\0\0\4\0\4\0\b6\0\0\0'\2\1\0B\0\2\2\18\2\0\0009\0\2\0005\3\3\0B\0\3\1K\0\1\0\1\0\1\22neovim_image_text\19How do I exit?\nsetup\rpresence\frequire\0", "config", "presence.nvim")
time([[Config for presence.nvim]], false)
-- Config for: fidget.nvim
time([[Config for fidget.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.fidget-spinner\frequire\0", "config", "fidget.nvim")
time([[Config for fidget.nvim]], false)
-- Config for: nvim-notify
time([[Config for nvim-notify]], 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.nvim-notify\frequire\0", "config", "nvim-notify")
time([[Config for nvim-notify]], false)
-- Config for: nvim-autopairs
time([[Config for nvim-autopairs]], true)
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([[Config for nvim-autopairs]], false)
-- Config for: neogit
time([[Config for neogit]], true)
try_loadstring("\27LJ\2\nz\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0005\3\4\0=\3\5\2B\0\2\1K\0\1\0\17integrations\1\0\1\rdiffview\2\1\0\1 disable_commit_confirmation\2\nsetup\vneogit\frequire\0", "config", "neogit")
time([[Config for neogit]], false)
-- Config for: nvim-lspconfig
time([[Config for nvim-lspconfig]], true)
try_loadstring("\27LJ\2\nW\0\0\3\0\4\0\n6\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\1K\0\1\0\24plugins.configs.lsp\nsetup\nmason\frequire\0", "config", "nvim-lspconfig")
time([[Config for nvim-lspconfig]], false)
-- Config for: lsp_lines.nvim
time([[Config for lsp_lines.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\14lsp_lines\frequire\0", "config", "lsp_lines.nvim")
time([[Config for lsp_lines.nvim]], false)
-- Config for: mini.nvim
time([[Config for mini.nvim]], true)
try_loadstring("\27LJ\2\nÆ\1\0\0\4\0\a\0\0156\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\2\0005\2\5\0005\3\4\0=\3\6\2B\0\2\1K\0\1\0\rmappings\1\0\0\1\0\a\vdelete\ads\19update_n_lines\5\tfind\5\14find_left\5\14highlight\5\freplace\acs\badd\ags\18mini.surround\nsetup\20mini.cursorword\frequire\0", "config", "mini.nvim")
time([[Config for mini.nvim]], false)
-- Config for: nvim-cmp
time([[Config for nvim-cmp]], true)
try_loadstring("\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25plugins.configs._cmp\frequire\0", "config", "nvim-cmp")
time([[Config for nvim-cmp]], false)
-- Config for: workspaces.nvim
time([[Config for workspaces.nvim]], true)
try_loadstring("\27LJ\2\n]\0\0\5\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\1\2\0005\3\4\0005\4\3\0=\4\5\3B\1\2\1K\0\1\0\nhooks\1\0\0\1\0\1\topen\fNeotree\nsetup\15workspaces\frequire\0", "config", "workspaces.nvim")
time([[Config for workspaces.nvim]], false)
-- Load plugins in order defined by `after`
time([[Sequenced loading]], true)
vim.cmd [[ packadd neorg ]]
-- Config for: neorg
try_loadstring("\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27plugins.configs._neorg\frequire\0", "config", "neorg")
vim.cmd [[ packadd nvim-treesitter-textobjects ]]
-- Config for: nvim-treesitter-textobjects
try_loadstring("\27LJ\2\nì\4\0\0\6\0\20\0\0236\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\18\0005\3\6\0005\4\3\0005\5\4\0=\5\5\4=\4\a\0035\4\b\0005\5\t\0=\5\n\0045\5\v\0=\5\f\0045\5\r\0=\5\14\0045\5\15\0=\5\16\4=\4\17\3=\3\19\2B\0\2\1K\0\1\0\16textobjects\1\0\0\tmove\22goto_previous_end\1\0\3\b[ce\17@class.outer\b[fe\20@function.outer\b[bs\17@block.outer\24goto_previous_start\1\0\3\b[fs\20@function.outer\b[bs\17@block.outer\b[cs\17@class.outer\18goto_next_end\1\0\3\b]be\17@block.outer\b]fe\20@function.outer\b]ce\17@class.outer\20goto_next_start\1\0\3\b]bs\17@block.outer\b]fs\20@function.outer\b]cs\17@class.outer\1\0\2\venable\2\14set_jumps\2\vselect\1\0\0\fkeymaps\1\0\6\aif\20@function.inner\aab\17@block.outer\aib\17@block.inner\aic\17@class.inner\aaf\20@function.outer\aac\17@class.outer\1\0\2\venable\2\14lookahead\2\nsetup\28nvim-treesitter.configs\frequire\0", "config", "nvim-treesitter-textobjects")
vim.cmd [[ packadd tokyonight.nvim ]]
vim.cmd [[ packadd LuaSnip ]]
vim.cmd [[ packadd nvim-dap ]]
-- Config for: nvim-dap
try_loadstring("\27LJ\2\ne\0\0\3\0\4\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\0\0'\2\3\0B\0\2\1K\0\1\0\25plugins.configs._dap\18load_launchjs\19dap.ext.vscode\frequire\0", "config", "nvim-dap")
vim.cmd [[ packadd nvim-dap-virtual-text ]]
-- Config for: nvim-dap-virtual-text
try_loadstring("\27LJ\2\nG\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\26nvim-dap-virtual-text\frequire\0", "config", "nvim-dap-virtual-text")
vim.cmd [[ packadd nvim-dap-python ]]
-- Config for: nvim-dap-python
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.python-dap\frequire\0", "config", "nvim-dap-python")
vim.cmd [[ packadd nvim-dap-ui ]]
-- Config for: nvim-dap-ui
try_loadstring("\27LJ\2\n6\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\27plugins.configs.dap-ui\frequire\0", "config", "nvim-dap-ui")
time([[Sequenced loading]], false)
-- Command lazy-loads
time([[Defining lazy-load commands]], true)
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file ZenMode lua require("packer.load")({'zen-mode.nvim'}, { cmd = "ZenMode", 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 UndotreeToggle lua require("packer.load")({'undotree'}, { cmd = "UndotreeToggle", 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 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 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 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 Trouble lua require("packer.load")({'trouble.nvim'}, { cmd = "Trouble", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file TroubleClose lua require("packer.load")({'trouble.nvim'}, { cmd = "TroubleClose", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file TroubleToggle lua require("packer.load")({'trouble.nvim'}, { cmd = "TroubleToggle", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args>, mods = "<mods>" }, _G.packer_plugins)]])
pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file TroubleRefresh lua require("packer.load")({'trouble.nvim'}, { cmd = "TroubleRefresh", 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.api.nvim_set_keymap("", "/", "<cmd>lua require('packer.load')({'nvim-hlslens'}, { keys = '/', prefix = '' }, _G.packer_plugins)<cr>", { noremap = true, silent = true })
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 BufRead * ++once lua require("packer.load")({'gitsigns.nvim'}, { event = "BufRead *" }, _G.packer_plugins)]]
vim.cmd [[au BufRead Cargo.toml ++once lua require("packer.load")({'crates.nvim'}, { event = "BufRead Cargo.toml" }, _G.packer_plugins)]]
vim.cmd [[au BufEnter * ++once lua require("packer.load")({'indent-blankline.nvim', 'friendly-snippets', 'nvim-colorizer.lua', 'nvim-web-devicons', 'todo-comments.nvim'}, { event = "BufEnter *" }, _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
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

View File

@ -0,0 +1,31 @@
vim.api.nvim_create_autocmd('BufWritePre', {
pattern = '*',
callback = function()
local filetype = vim.bo.filetype
local neoformat_types = { 'sh' }
local ignore_types = { 'sql' }
for _, ig_type in ipairs(ignore_types) do
if filetype == ig_type then
return
end
end
for _, nf_type in ipairs(neoformat_types) do
if filetype == nf_type then
vim.cmd('Neoformat')
return
end
end
vim.cmd('lua vim.lsp.buf.format({})')
end,
})
vim.api.nvim_create_autocmd('BufWritePost', {
pattern = '**/nvim/lua/plugins/plugins.lua',
callback = function()
vim.notify('Compiling Packer')
require('packer').compile()
end,
})

View File

@ -0,0 +1,240 @@
local cmp = require('cmp')
local types = require('cmp.types')
local str = require('cmp.utils.str')
local compare = cmp.config.compare
local luasnip = require('luasnip')
local kind_icons = {
Text = '',
Method = '',
Function = '',
Constructor = '',
Field = '',
Variable = '',
Class = '',
Interface = '',
Module = '',
Property = '',
Unit = '',
Value = '',
Enum = '',
Keyword = '',
Snippet = '',
Color = '',
File = '',
Reference = '',
Folder = '',
EnumMember = '',
Constant = '',
Struct = '',
Event = '',
Operator = '',
TypeParameter = '',
}
-- Load Snippets
require('luasnip.loaders.from_vscode').lazy_load()
local border = {
{ '', 'CmpBorder' },
{ '', 'CmpBorder' },
{ '', 'CmpBorder' },
{ '', 'CmpBorder' },
{ '', 'CmpBorder' },
{ '', 'CmpBorder' },
{ '', 'CmpBorder' },
{ '', 'CmpBorder' },
}
cmp.setup({
formatting = {
fields = {
cmp.ItemField.Kind,
cmp.ItemField.Abbr,
cmp.ItemField.Menu,
},
format = function(entry, vim_item)
-- Get the full snippet (and only keep first line)
local word = entry:get_insert_text()
if entry.completion_item.insertTextFormat == types.lsp.InsertTextFormat.Snippet then
word = vim.lsp.util.parse_snippet(word)
end
word = str.oneline(word)
-- concatenates the string
local max = 50
if string.len(word) >= max then
local before = string.sub(word, 1, math.floor((max - 3) / 2))
word = before .. '...'
end
if entry.completion_item.insertTextFormat == types.lsp.InsertTextFormat.Snippet
and string.sub(vim_item.abbr, -1, -1) == '~'
then
word = word .. '~'
end
vim_item.abbr = word
-- Kind icons
vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
-- Source
vim_item.menu = ({
fuzzy_buffer = '[Buffer]',
nvim_lsp = '[Lsp]',
luasnip = '[LuaSnip]',
path = '[Path]',
calc = '[Calculator]',
neorg = '[Neorg]',
emoji = '[Emoji]',
zsh = '[Zsh]',
crates = '[Crates]',
cmdline_history = '[Cmd History]',
rg = '[Ripgrep]',
npm = '[Npm],',
conventionalcommits = '[Commit]',
})[entry.source.name]
return vim_item
end,
},
window = {
documentation = {
border = border,
},
completion = {
border = border,
},
},
experimental = {
ghost_text = true,
native_menu = false,
},
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
end,
},
mapping = {
['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
['<C-y>'] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
['<C-e>'] = cmp.mapping({
i = cmp.mapping.abort(),
c = cmp.mapping.close(),
}),
['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
['<C-Tab>'] = cmp.mapping(function(fallback)
if luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<C-S-Tab>'] = cmp.mapping(function(fallback)
if luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
},
sources = cmp.config.sources({
{ name = 'nvim_lsp', priority = 10 },
{ name = 'luasnip', priority = 9 }, -- For luasnip users.
{ name = 'fuzzy_buffer', priority = 8 },
{ name = 'rg', priority = 7 },
{ name = 'path', priority = 6 },
{ name = 'zsh', priority = 5 },
{ name = 'emoji', keyword_length = 2 },
{ name = 'neorg' },
{ name = 'calc' },
{ name = 'npm', keyword_length = 2 },
{
name = 'dictionary',
keyword_length = 2,
},
}),
sorting = {
comparators = {
compare.score,
compare.offset,
compare.recently_used,
compare.exact,
require('cmp_fuzzy_buffer.compare'),
compare.kind,
compare.sort_text,
compare.length,
compare.order,
},
},
})
-- Git Commit Completions
cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{ name = 'conventionalcommits', priority = 20 },
}),
})
cmp.setup.filetype('NeogitCommitMesssage', {
sources = cmp.config.sources({
{ name = 'conventionalcommits', priority = 20 },
}),
})
cmp.setup.filetype('toml', {
sources = cmp.config.sources({
{ name = 'crates' },
}),
})
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline('/', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'fuzzy_buffer' },
{ name = 'cmdline_history' },
}),
})
cmp.setup.cmdline('?', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'fuzzy_buffer' },
{ name = 'cmdline_history' },
}),
})
cmp.setup.cmdline('@', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'fuzzy_buffer' },
{ name = 'cmdline_history' },
}),
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' },
{ name = 'cmdline' },
{ name = 'cmdline_history' },
}),
})

View File

@ -0,0 +1,67 @@
local dap = require('dap')
local async = require('plenary.async')
--- Gets a path for a given program in the environment
---@param program @The string of a program in the PATH
---@return @The full path to the program if found, or nil if not
local function get_program_path(program)
local home = os.getenv('HOME')
local program_path = home .. '/.local/share/nvim/mason/packages/' .. program .. '/' .. program
return program_path
end
local lldb_path = get_program_path('lldb-vscode')
-- Adapaters
dap.adapters.lldb = {
type = 'executable',
command = lldb_path,
name = 'lldb',
}
dap.adapters.coreclr = {
type = 'executable',
command = get_program_path('netcoredbg'),
args = { '--interpreter=vscode' },
}
-- configurations
dap.configurations.cpp = {
{
name = 'Launch',
type = 'lldb',
request = 'launch',
program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end,
cwd = '${workspaceFolder}',
stopOnEntry = false,
targetArchitecture = 'arm64',
args = {},
-- if you change `runInTerminal` to true, you might need to change the yama/ptrace_scope setting:
--
-- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
--
-- Otherwise you might get the following error:
--
-- Error on launch: Failed to attach to the target process
--
-- But you should be aware of the implications:
-- https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html
runInTerminal = false,
},
}
dap.configurations.c = dap.configurations.cpp
dap.configurations.rust = dap.configurations.cpp
dap.configurations.cs = {
{
type = 'coreclr',
name = 'launch - netcoredbg',
request = 'launch',
program = function()
return vim.fn.input('Path to dll: ', vim.fn.getcwd() .. '/bin/Debug/', 'file')
end,
},
}

View File

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

View File

@ -0,0 +1,50 @@
local neorg = require('neorg')
neorg.setup({
load = {
['core.defaults'] = {},
['core.norg.concealer'] = {},
['core.norg.esupports.metagen'] = {
config = {
type = 'auto',
},
},
['core.integrations.nvim-cmp'] = {
config = {},
},
['core.norg.completion'] = {
config = {
engine = 'nvim-cmp',
},
},
['core.keybinds'] = {
config = {
default_keybinds = true,
-- norg_leader = "-"
},
},
['core.norg.dirman'] = {
config = {
workspaces = {
default = '~/.notes', -- Format: <name_of_workspace> = <path_to_workspace_root>
},
autochdir = true, -- Automatically change the directory to the current workspace's root every time
index = 'index.norg', -- The name of the main (root) .norg file
last_workspace = vim.fn.stdpath('cache') .. '/neorg_last_workspace.txt', -- The location to write and read the workspace cache file
},
},
['core.integrations.telescope'] = {},
['core.norg.qol.toc'] = {},
['core.gtd.base'] = {
config = {
workspace = 'default',
},
},
['core.gtd.ui'] = {
config = {},
},
['core.gtd.helpers'] = {
config = {},
},
},
})

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,134 @@
local alpha = require('alpha')
local startify = require('alpha.themes.startify')
local dashboard = require('alpha.themes.dashboard')
-- Set header
local header = {
type = 'text',
val = {
' ',
' ',
' ',
' ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ ',
' ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ',
' ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ',
' ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ',
' ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ',
' ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ ',
' ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ',
' ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ',
' ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ',
' ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ',
' ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ',
' ',
},
opts = {
position = 'center',
hl = 'Function',
},
}
-- Subheader, plugin count
local get_plugins = function()
local num_plugins_loaded = #vim.fn.globpath(vim.fn.stdpath('data') .. '/site/pack/packer/start', '*', 0, 1)
local num_plugins_total = #vim.tbl_keys(packer_plugins)
if num_plugins_total <= 1 then
return num_plugins_loaded .. ' / ' .. num_plugins_total .. ' plugin  loaded'
else
return num_plugins_loaded .. ' / ' .. num_plugins_total .. ' plugins  loaded'
end
end
local plugin_count = {
type = 'text',
val = {
get_plugins(),
},
opts = {
hl = 'Comment',
position = 'center',
},
}
-- Menu
local button = function(sc, txt, keybind)
local sc_ = sc:gsub('%s', ''):gsub('SPC', '<leader>')
local opts = {
position = 'center',
text = txt,
shortcut = sc,
cursor = 4,
width = 30,
align_shortcut = 'right',
hl_shortcut = 'Number',
hl = 'Function',
}
if keybind then
opts.keymap = { 'n', sc_, keybind, { noremap = true, silent = true } }
end
return {
type = 'button',
val = txt,
on_press = function()
local key = vim.api.nvim_replace_termcodes(sc_, true, false, true)
vim.api.nvim_feedkeys(key, 'normal', false)
end,
opts = opts,
}
end
-- Set menu
local buttons = {
type = 'group',
val = {
button('e', ' New File', ':ene <BAR> startinsert <CR>'),
button('f', ' Find File', ':Telescope find_files<CR>'),
button('r', ' Recent', ':Telescope oldfiles<CR>'),
button('s', ' Settings', ':e ~/.config/nvim/<CR>'),
button('u', ' Update Plugins', ':PackerSync<CR>'),
button('q', ' Quit', ':qa<CR>'),
},
opts = {
spacing = 0,
},
}
-- Footer 2, fortune
local fortune = {
type = 'text',
val = require('alpha.fortune')(),
opts = {
position = 'center',
hl = 'Comment',
},
}
local padding = function()
return { type = 'padding', val = 4 }
end
local opts = {
layout = {
padding(),
header,
padding(),
plugin_count,
padding(),
buttons,
padding(),
fortune,
},
opts = {
margin = 5,
},
}
-- Send config to alpha
alpha.setup(opts)
vim.api.nvim_create_autocmd('FileType', {
pattern = 'alpha',
callback = function()
vim.opt_local.cursorline = false
end,
})

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,10 @@
-- Alias for vim.g
local g = vim.g
-- Run COQ on open
g.coq_settings = {
auto_start = 'shut-up',
limits = {
completion_manual_timeout = 2000,
},
}

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,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,10 @@
local fidget = require('fidget')
fidget.setup({
text = {
spinner = 'dots',
},
window = {
blend = 0,
},
})

View File

@ -0,0 +1,18 @@
local nvim_tree = require('nvim-tree.configs')
nvim_tree.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,117 @@
local hydra = require('hydra')
-- Side Scroll
hydra({
name = 'Side scroll',
config = {
{
position = 'bottom-right',
border = 'rounded',
},
},
mode = 'n',
body = 'z',
heads = {
{ 'h', '5zh' },
{ 'l', '5zl', { desc = '←/→' } },
{ 'H', 'zH' },
{ 'L', 'zL', { desc = 'half screen ←/→' } },
},
})
-- Git Integration
local gitsigns = require('gitsigns')
local hint = [[
_J_: next hunk _s_: stage hunk _d_: show deleted _b_: blame line
_K_: prev hunk _u_: undo stage hunk _p_: preview hunk _B_: blame show full
^ ^ _S_: stage buffer ^ ^ _/_: show base file
^
^ ^ _<Enter>_: Neogit _q_: exit
]]
hydra({
hint = hint,
config = {
color = 'pink',
invoke_on_body = true,
hint = {
position = 'bottom-right',
border = 'rounded',
},
on_enter = function()
vim.bo.modifiable = false
gitsigns.toggle_signs(true)
gitsigns.toggle_linehl(true)
end,
on_exit = function()
gitsigns.toggle_signs(false)
gitsigns.toggle_linehl(false)
gitsigns.toggle_deleted(false)
end,
},
mode = { 'n', 'x' },
body = '<leader>G',
heads = {
{
'J',
function()
if vim.wo.diff then
return ']c'
end
vim.schedule(function()
gitsigns.next_hunk()
end)
return '<Ignore>'
end,
{ expr = true },
},
{
'K',
function()
if vim.wo.diff then
return '[c'
end
vim.schedule(function()
gitsigns.prev_hunk()
end)
return '<Ignore>'
end,
{ expr = true },
},
{ 's', ':Gitsigns stage_hunk<CR>', { silent = true } },
{ 'u', gitsigns.undo_stage_hunk },
{ 'S', gitsigns.stage_buffer },
{ 'p', gitsigns.preview_hunk },
{ 'd', gitsigns.toggle_deleted, { nowait = true } },
{ 'b', gitsigns.blame_line },
{
'B',
function()
gitsigns.blame_line({ full = true })
end,
},
{ '/', gitsigns.show, { exit = true } }, -- show the base of the file
{ '<Enter>', '<cmd>Neogit<CR>', { exit = true } },
{ 'q', nil, { exit = true, nowait = true } },
},
})
-- Hydra to repeat expanding windows
hydra({
name = 'Window Sizing',
mode = 'n',
body = '<C-w>',
config = {
{
position = 'bottom-right',
border = 'rounded',
},
},
heads = {
{ '<', '2<C-w><' },
{ '>', '2<C-w>>', { desc = '←/→' } },
{ '+', '2<C-w>+' },
{ '-', '2<C-w>-', { desc = '↑/↓' } },
},
})

View File

@ -0,0 +1,25 @@
local g = vim.g
g.indent_blankline_char = ''
g.indent_blankline_context_char = ''
-- Disable indent-blankline on these pages.
g.indent_blankline_filetype_exclude = {
'help',
'terminal',
'alpha',
'packer',
'lsp-installer',
'lspinfo',
'mason.nvim',
}
g.indent_blankline_buftype_exclude = { 'terminal' }
g.indent_blankline_show_trailing_blankline_indent = false
g.indent_blankline_show_first_indent_level = true
require('indent_blankline').setup({
-- space_char_blankline = " ",
show_current_context = true,
show_current_context_start = true,
})

View File

@ -0,0 +1,187 @@
local mason_lspconfig = require("mason-lspconfig")
local lspconfig = require("lspconfig")
local async = require("plenary.async")
-- NOTE: Keep this near top
mason_lspconfig.setup({
automatic_installation = true,
})
local function on_attach(client, bufnr)
-- Set autocommands conditional on server_capabilities
async.run(function()
vim.notify
.async("Attached server " .. client.name, "info", {
title = "Lsp Attach",
}).events
.close()
end)
end
local lsp_capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities())
local opts = {
capabilities = lsp_capabilities,
on_attach = on_attach,
}
-- INFO: RUST LSP
-- 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
--
-- 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 = os.getenv("HOME") .. "/.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 = opts,
dap = {
adapter = require("rust-tools.dap").get_codelldb_adapter(codelldb_path, liblldb_path),
},
tools = {
hover_actions = { auto_focus = true },
crate_graph = {
backend = "svg",
output = "Rust-Crate-Graph-" .. os.time() .. ".svg",
},
},
}
require("rust-tools").setup(rustopts)
-- NOTE: ANSIBLE LSP
-- I use ansible a lot, define exceptions for servers that can use
-- server:setup & vim.cmd at the bottom here
lspconfig.ansiblels.setup({
opts,
settings = {
ansible = {
ansible = {
useFullyQualifiedCollectionNames = true,
path = "ansible",
},
ansibleLint = {
enabled = true,
path = "ansible-lint",
},
python = {
interpreterPath = "python3",
},
completion = {
provideRedirectModules = false,
},
},
},
})
-- NOTE: LUA LSP
local luadev = require("lua-dev").setup({
lspconfig = opts,
})
lspconfig.sumneko_lua.setup(luadev)
-- NOTE: SQL LSP
lspconfig.sqls.setup({
on_attach = function(client, bufnr)
require("sqls").on_attach(client, bufnr)
on_attach(client, bufnr)
end,
})
-- NOTE: PYTHON LSP
lspconfig.pylsp.setup({
filetypes = { "python" },
settings = {
formatCommand = { "black" },
pylsp = {
plugins = {
jedi_completion = {
include_params = true,
fuzzy = true,
eager = true,
},
jedi_signature_help = { enabled = true },
pyflakes = { enabled = true },
pycodestyle = {
enabled = true,
ignore = { "E501", "E231", "W503", "E731" },
maxLineLength = 120,
},
mypy = { enabled = true },
yapf = { enabled = true },
rope_completion = {
enabled = true,
eager = true,
},
},
},
},
capabilities = lsp_capabilities,
on_attach = on_attach,
})
lspconfig.yamlls.setup({
settings = {
yaml = {
schemas = {
["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
["https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json"] = {
"/azure-pipeline*.y*l",
"/*.azure",
},
["https://raw.githubusercontent.com/docker/cli/master/cli/compose/schema/data/config_schema_v3.10.json"] = "/docker-compose.y*l",
["https://gitlab.com/gitlab-org/gitlab/-/raw/master/app/assets/javascripts/editor/schema/ci.json"] = "/.gitlab-ci.yml",
["https://json.schemastore.org/travis.json"] = "/.travis.y*l",
["https://raw.githubusercontent.com/ansible-community/schemas/main/f/ansible-inventory.json"] = {
"/inventories/*/*.y*l",
"/inventory/*.y*l",
},
["https://raw.githubusercontent.com/ansible-community/schemas/main/f/ansible-vars.json"] = {
"playbooks/vars/*.y*l",
"vars/*.y*l",
"defaults/*.y*l",
"host_vars/*.y*l",
"group_vars/*.y*l",
},
},
},
},
capabilities = lsp_capabilities,
on_attach = on_attach,
})
lspconfig.csharp_ls.setup({
handlers = {
["textDocument/definition"] = require("csharpls_extended").handler,
},
capabilities = lsp_capabilities,
on_attach = on_attach,
})
lspconfig.bashls.setup({})
-- NOTE: GENERIC LSP SERVERS
for _, server in ipairs({
"clangd",
"cmake",
"dockerls",
"eslint",
"html",
"jdtls",
"kotlin_language_server",
"terraformls",
"tflint",
"tsserver",
"vimls",
"vuels",
"tsserver",
"jsonls",
"pyright",
}) do
lspconfig[server].setup(opts)
end

View File

@ -0,0 +1,8 @@
vim.cmd([[
let g:neoformat_python_black = {
\ 'exe': 'black',
\ 'stdin': 1,
\ 'args': ['-q', '-'],
\ }
let g:neoformat_enabled_python = ['black']
]])

View File

@ -0,0 +1,14 @@
local neotree = require('neo-tree')
vim.g.neo_tree_remove_legacy_commands = 1
neotree.setup({
filesystem = {
use_libuv_file_watcher = true,
},
window = {
mappings = {
['/'] = 'noop',
['/'] = {},
},
},
})

View File

@ -0,0 +1,17 @@
local null_ls = require('null-ls')
null_ls.setup({
sources = {
null_ls.builtins.formatting.shfmt.with({
extra_args = { '-i 4' },
}),
null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.code_actions.shellcheck,
null_ls.builtins.diagnostics.hadolint,
null_ls.builtins.diagnostics.ansiblelint,
null_ls.builtins.code_actions.refactoring,
null_ls.builtins.formatting.black,
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.prettier,
},
})

View File

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

View File

@ -0,0 +1,34 @@
require('notify').setup({
-- Animation style (see below for details)
stages = 'fade_in_slide_out',
-- Function called when a new window is opened, use for changing win settings/config
on_open = nil,
-- Function called when a window is closed
on_close = nil,
-- Render function for notifications. See notify-render()
render = 'default',
-- Default timeout for notifications
timeout = 5000,
-- For stages that change opacity this is treated as the highlight behind the window
-- Set this to either a highlight group, an RGB hex value e.g. "#000000" or a function returning an RGB code for dynamic values
background_colour = '#000000',
-- Minimum width for notification windows
minimum_width = 50,
-- Icons for the different levels
icons = {
ERROR = '',
WARN = '',
INFO = '',
DEBUG = '',
TRACE = '',
},
})
vim.notify = require('notify')

View File

@ -0,0 +1,3 @@
local dap_python = require('dap-python')
dap_python.setup('~/.venvs/debugpy/bin/python')
dap_python.test_runner = 'pytest'

View File

@ -0,0 +1,137 @@
local present, lualine = pcall(require, 'lualine')
if not present then
return
end
-- Thanks to rockyzhang24 (github.com/rockyzhang24)
local function simplifiedMode(str)
return '' .. (str == 'V-LINE' and 'VL' or (str == 'V-BLOCK' and 'VB' or str:sub(1, 1)))
end
-- For location, show total lines
local function customLocation(str)
return string.gsub(str, '%w+', '%1' .. '/%%L', 1)
end
-- For progress, add a fancy icon
local function customProgress(str)
return '' .. str
end
-- For filename, show the filename and the filesize
local function fileNameAndSize(str)
-- For doc, only show filename
if string.find(str, '.*/doc/.*%.txt') then
str = vim.fn.expand('%:t')
end
local size = require('lualine.components.filesize')()
return size == '' and str or str .. ' [' .. size .. ']'
end
local function show_macro_recording()
local recording_register = vim.fn.reg_recording()
if recording_register == '' then
return ''
else
return 'Recording @' .. recording_register
end
end
lualine.setup({
options = {
icons_enabled = true,
theme = 'auto',
-- component_separators = { left = '', right = '' },
-- section_separators = { left = '', right = '' },
-- component_separators = { left = '', right = '' },
-- section_separators = { left = '', right = '' },
component_separators = { left = '', right = '' },
section_separators = { left = '', right = '' },
disabled_filetypes = {},
always_divide_middle = true,
globalstatus = true, -- requires neovim 0.7 or highter
},
sections = {
-- Left
lualine_a = {
{
'mode',
fmt = simplifiedMode,
},
},
lualine_b = {
{
'branch',
icon = '',
},
{
'diff',
symbols = { added = '+', modified = '~', removed = '-' },
-- symbols = { added = ' ', modified = ' ', removed = ' ' },
},
{
'diagnostics',
sources = { 'nvim_diagnostic' },
-- symbols = { error = ' ', warn = ' ', info = ' ', hint = ' ' },
symbols = { error = '', warn = '', info = '', hint = '' },
},
{
show_macro_recording,
},
},
lualine_c = {
{
'filename',
path = 3,
symbols = {
modified = '[+]',
readonly = '[]',
unnamed = '[No Name]',
},
fmt = fileNameAndSize,
},
},
-- Right
lualine_x = {
'encoding',
'fileformat',
'filetype',
},
lualine_y = {
{
'location',
fmt = customLocation,
},
},
lualine_z = {
{
'progress',
fmt = customProgress,
},
},
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = { 'filename' },
lualine_x = {
{
'location',
fmt = customLocation,
},
},
lualine_y = {},
lualine_z = {},
},
tabline = {},
extensions = {
'aerial',
'fugitive',
'nvim-tree',
'neo-tree',
'quickfix',
'toggleterm',
},
})

View File

@ -0,0 +1,90 @@
local telescope = require("telescope")
local actions = require("telescope.actions")
telescope.setup({
pickers = {
find_files = {
find_command = {
"fd",
},
hidden = true,
},
},
defaults = {
vimgrep_arguments = {
"rg",
"--color=never",
"--no-heading",
"--with-filename",
"--line-number",
"--column",
"--no-ignore-exclude",
"--hidden",
"--smart-case",
},
history = {
path = "~/.local/share/nvim/databases/telescope_history.sqlite3",
limit = 1000,
},
mappings = {
i = {
["<C-s>"] = actions.cycle_history_next,
["<C-a>"] = actions.cycle_history_prev,
},
},
prompt_prefix = "",
selection_caret = " ",
entry_prefix = " ",
initial_mode = "insert",
selection_strategy = "reset",
sorting_strategy = "ascending",
layout_strategy = "flex",
layout_config = {
vertical = {
prompt_position = "top",
width = 0.90,
height = 0.98,
preview_height = 0.65,
},
horizontal = {
prompt_position = "top",
width = 0.90,
height = 0.98,
preview_width = 0.70,
},
flex = {
flip_cloumns = 120,
},
},
file_sorter = require("telescope.sorters").get_fuzzy_file,
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
path_display = { "truncate" },
winblend = 0,
border = {},
borderchars = { "", "", "", "", "", "", "", "" },
color_devicons = true,
use_less = true,
set_env = { ["COLORTERM"] = "truecolor" },
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker,
},
extensions = {
media_files = {
filetypes = { "png", "webp", "jpg", "jpeg" },
find_cmd = "rg",
},
["ui-select"] = {
require("telescope.themes").get_dropdown(),
},
},
})
telescope.load_extension("media_files")
telescope.load_extension("find_directories")
telescope.load_extension("file_browser")
telescope.load_extension("notify")
telescope.load_extension("fzf")
telescope.load_extension("ui-select")
telescope.load_extension("smart_history")

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,21 @@
local nvim_treesitter = require('nvim-treesitter.configs')
nvim_treesitter.setup({
ensure_installed = {
'norg',
},
highlight = {
enable = true,
additional_vim_regex_highlighting = true,
disable = { 'yaml' },
},
matchup = {
enable = true,
},
autotag = {
enable = true,
},
yati = {
enable = true,
},
})

View File

@ -0,0 +1,5 @@
require('plugins.plugins')
local found, _ = pcall(require, 'packer_compiled')
if not found then
vim.notify('Unable to locate packer_compiled!')
end

View File

@ -0,0 +1,162 @@
local loaded = pcall(require, "plenary.async")
if not loaded then
return
end
-- Telescope mappings
vim.keymap.set("n", "<Leader>tw", ":Telescope live_grep<CR>")
vim.keymap.set("n", "<Leader>tgs", ":Telescope git_status<CR>")
vim.keymap.set("n", "<Leader>tgc", ":Telescope git_commits<CR>")
vim.keymap.set("n", "<Leader>tgb", ":Telescope git_branches<CR>")
vim.keymap.set("n", "<Leader>tf", ":Telescope find_files<CR>")
vim.keymap.set("n", "<Leader>td", ":Telescope find_directories<CR>")
vim.keymap.set("n", "<Leader>tb", ":Telescope buffers<CR>")
vim.keymap.set("n", "<Leader>th", ":Telescope help_tags<CR>")
vim.keymap.set("n", "<Leader>to", ":Telescope oldfiles<CR>")
vim.keymap.set("n", "<leader>tc", ":Telescope neoclip default<CR>")
vim.keymap.set("n", "<leader>tr", ":Telescope registers<CR>")
vim.keymap.set("n", "<leader>tt", ":Telescope file_browser<CR>")
vim.keymap.set("n", "<leader>ts", ":Telescope spell_suggest<CR>")
vim.keymap.set("n", "<leader>tl", ":Telescope resume<CR>")
vim.keymap.set("n", "<leader>tT", ":TodoTelescope<CR>")
-- Lsp Mappings
vim.keymap.set("n", "<leader>lD", ":lua vim.lsp.buf.declaration()<CR>")
vim.keymap.set("n", "<leader>ld", ":lua vim.lsp.buf.definition()<CR>")
vim.keymap.set("n", "<leader>k", ":lua vim.lsp.buf.hover()<CR>")
vim.keymap.set("n", "<leader>K", ":lua vim.lsp.buf.signature_help()<CR>")
vim.keymap.set("n", "<leader>li", ":lua vim.lsp.buf.implementation()<CR>")
vim.keymap.set("n", "<leader>la", ":lua vim.lsp.buf.add_workspace_folder()<CR>")
vim.keymap.set("n", "<leader>lx", ":lua vim.lsp.buf.remove_workspace_folder()<CR>")
vim.keymap.set("n", "<leader>ll", ":lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>")
vim.keymap.set("n", "<leader>ln", ":IncRename ")
vim.keymap.set("n", "<leader>lc", ":CodeActionMenu<CR>")
vim.keymap.set("n", "<leader>lr", ":lua vim.lsp.buf.references()<CR>")
vim.keymap.set("n", "<leader>lR", function()
vim.diagnostic.reset()
vim.cmd(":LspRestart<CR>")
end)
vim.keymap.set("n", "<leader>ls", ":lua vim.diagnostic.open_float(nil, {focus=false, scope='cursor'})<CR>")
vim.keymap.set("n", "<leader>lf", ":lua vim.lsp.buf.format({ async = true })<CR>")
vim.keymap.set("n", "[l", ":lua vim.diagnostic.goto_prev()<CR>")
vim.keymap.set("n", "]l", ":lua vim.diagnostic.goto_next()<CR>")
vim.keymap.set("n", "<leader>lq", ":Telescope diagnostics bufnr=0<CR>")
vim.keymap.set("n", "<leader>lt", function()
local virtual_lines_enabled = not vim.diagnostic.config().virtual_lines
vim.diagnostic.config({ virtual_lines = virtual_lines_enabled, virtual_text = not virtual_lines_enabled })
end, {
desc = "Toggle LSP Diag Style",
})
-- Trouble mappings
vim.keymap.set("n", "<leader>lT", ":TroubleToggle<CR>")
-- Formatter
vim.keymap.set("n", "<leader>nf", ":Neoformat<CR>")
-- DAP Mappings
vim.keymap.set("n", "<leader>dR", ':lua require("dap").continue()<CR>')
vim.keymap.set("n", "<leader>de", ':lua require("dap").terminate()<CR>')
vim.keymap.set("n", "<leader>db", ':lua require("dap").toggle_breakpoint()<CR>')
vim.keymap.set("n", "<leader>dr", ":lua require(\"dap\").set_breakpoint(vim.fn.input('Breakpoint condition: '))<CR>")
vim.keymap.set(
"n",
"<leader>dp",
":lua require(\"dap\").set_breakpoint(nil, nil, vim.fn.input('Log point message: '))<CR>"
)
vim.keymap.set("n", "<F5>", ':lua require("dap").step_over()<CR>')
vim.keymap.set("n", "<F6>", ':lua require("dap").step_into()<CR>')
vim.keymap.set("n", "<F7>", ':lua require("dap").step_out()<CR>')
vim.keymap.set("n", "<leader>dB", ':lua require("dap").step_back()<CR>')
vim.keymap.set("n", "<leader>dc", ':lua require("dap").run_to_cursor()<CR>')
vim.keymap.set("n", "<leader>do", ':lua require("dap").repl.open()<CR>')
vim.keymap.set("n", "<leader>dt", ':lua require("dapui").toggle()<CR>')
vim.keymap.set("n", "<leader>dl", ':lua require("dap").run_last()<CR>')
-- Comments
vim.keymap.set("n", "<leader>/", ":CommentToggle<CR>")
vim.keymap.set("v", "<leader>/", ":'<,'>CommentToggle<CR>")
-- Code Outline
vim.keymap.set("n", "<leader>co", ":SymbolsOutline<CR>")
-- Bufferline mappings
vim.keymap.set("n", "<A-a>", ":BufferLineCyclePrev<CR>")
vim.keymap.set("n", "<A-s>", ":BufferLineCycleNext<CR>")
vim.keymap.set("n", "<A-x>", ":lua require('utils.funcs').close_buffer()<CR>")
-- Vim Notify Mappings
vim.keymap.set("n", "<leader>nv", ":lua require('telescope').extensions.notify.notify()<CR>")
vim.keymap.set("n", "<leader>nd", ":lua require('notify').dismiss()<CR>")
-- Whichkey Mappings
vim.keymap.set("n", "<leader>ww", ":WhichKey<CR>")
vim.keymap.set("n", "<leader>wk", ":Telescope keymaps<CR>")
vim.keymap.set("n", "<leader>wc", ":Telescope commands<CR>")
-- Neogen Mappings
vim.keymap.set("n", "<leader>ng", ":Neogen<CR>")
-- Nvim Tree Mappings
vim.keymap.set("n", "<leader>nt", ":Neotree show toggle focus<cr>")
-- Plenary Mappings
vim.keymap.set("n", "<leader>pt", "<Plug>PlenaryTestFile", {})
-- Zenmode Mappings
vim.keymap.set("n", "<leader>zm", ":ZenMode<CR>")
-- Neogit Mappings
vim.keymap.set("n", "<leader>gg", ":Neogit<CR>")
-- Gitsigns Mappings
vim.keymap.set("n", "]g", "<cmd>Gitsigns next_hunk<CR>")
vim.keymap.set("n", "[g", "<cmd>Gitsigns prev_hunk<CR>")
vim.keymap.set("n", "<leader>gs", "<cmd>Gitsigns stage_hunk<CR>")
vim.keymap.set("n", "<leader>gr", "<cmd>Gitsigns reset_hunk<CR>")
vim.keymap.set("n", "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<CR>")
-- Packer Mappings
local packer = require("packer")
local packer_sync = function()
vim.notify("Syncing packer.", "info", {
title = "Packer",
})
local snap_shot_time = tostring(os.date("!%Y-%m-%dT%TZ"))
packer.snapshot(snap_shot_time)
packer.sync()
end
local packer_compile = function()
vim.notify("Compiling packer.", "info", {
title = "Packer",
})
packer.compile()
end
vim.keymap.set("n", "<leader>ps", packer_sync, {
desc = "PackerSync",
})
vim.keymap.set("n", "<leader>pc", packer_compile, {
desc = "PackerCompile",
})
-- Undotree mappings
vim.keymap.set("n", "<leader>ut", ":UndotreeToggle<CR>")
-- Hop Mappings
local hop = require("hop")
vim.keymap.set("", "f", function()
hop.hint_char1({
current_line_only = false,
})
end)
vim.keymap.set("", ";l", "<cmd>HopLineStart<CR>")
vim.keymap.set("", ";s", "<cmd>HopPattern<CR>")
vim.keymap.set("", ";;", "<cmd>HopWord<CR>")
vim.keymap.set("", ";a", "<cmd>HopAnywhere<CR>")
vim.keymap.set("", ";v", "<cmd>HopVertical<CR>")

View File

@ -0,0 +1,797 @@
local fn = vim.fn
local utils = require("utils.funcs")
-- Packer strap, install packer automatically and configure plugins
-- See the end of this file for how the variable `packer_strap` gets used
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
PACKER_STRAP = fn.system({
"git",
"clone",
"--depth",
"1",
"https://github.com/wbthomason/packer.nvim",
install_path,
})
-- Update the runtime so packer can be used
vim.o.runtimepath = vim.fn.stdpath("data") .. "/site/pack/*/start/*," .. vim.o.runtimepath
end
local packer = require("packer")
packer.init({
max_jobs = 20,
})
return packer.startup({
function(use)
-- Performance boost on startup
-- keep at top of plugins
use({ "lewis6991/impatient.nvim" })
-- Packer Itself
use({ "wbthomason/packer.nvim" })
-- Commonly used library
use({
"nvim-lua/plenary.nvim",
})
-- Nvim Notify
use({
"rcarriga/nvim-notify",
config = function()
require("plugins.configs.nvim-notify")
end,
})
-- Color schemes
use({ "folke/tokyonight.nvim" })
use({
"EdenEast/nightfox.nvim",
config = function()
require("nightfox").setup({
options = {
transparent = true,
dim_inactive = true,
},
})
end,
})
use({
"rebelot/kanagawa.nvim",
config = function()
local colors = require("kanagawa.colors").setup({})
vim.opt.fillchars:append({
horiz = "",
horizup = "",
horizdown = "",
vert = "",
vertleft = "",
vertright = "",
verthoriz = "",
})
require("kanagawa").setup({
transparent = true,
dim_inactive = true,
globalStatus = true,
overrides = {
NeogitHunkHeader = { bg = colors.diff.text },
NeogitHunkHeaderHighlight = { fg = colors.git.changed, bg = colors.diff.text },
NeogitDiffContextHighlight = { bg = colors.diff.change },
NeogitDiffDeleteHighlight = { fg = colors.git.removed, bg = colors.diff.delete },
NeogitDiffAddHighlight = { fg = colors.git.added, bg = colors.diff.add },
NeogitCommitViewHeader = { fg = colors.git.changed, bg = colors.diff.text },
},
})
end,
})
-- Icons for folders, files, etc.
use({
"kyazdani42/nvim-web-devicons",
event = "BufEnter",
})
-- 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",
"tokyonight.nvim",
},
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",
config = function()
require("plugins.configs.treesitter")
end,
})
use({
"nvim-treesitter/nvim-treesitter-textobjects",
after = "nvim-treesitter",
config = function()
require("nvim-treesitter.configs").setup({
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["af"] = "@function.outer",
["if"] = "@function.inner",
["ac"] = "@class.outer",
["ic"] = "@class.inner",
["ib"] = "@block.inner",
["ab"] = "@block.outer",
},
},
move = {
enable = true,
set_jumps = true,
goto_next_start = {
["]fs"] = "@function.outer",
["]cs"] = "@class.outer",
["]bs"] = "@block.outer",
},
goto_next_end = {
["]fe"] = "@function.outer",
["]ce"] = "@class.outer",
["]be"] = "@block.outer",
},
goto_previous_start = {
["[fs"] = "@function.outer",
["[cs"] = "@class.outer",
["[bs"] = "@block.outer",
},
goto_previous_end = {
["[fe"] = "@function.outer",
["[ce"] = "@class.outer",
["[bs"] = "@block.outer",
},
},
},
})
end,
})
-- Better treesitter indentations
-- NOTE: Remove this once treesitter gets up to par
-- NOTE: this is just a placeholder until it is.
use({
"yioneko/nvim-yati",
requires = "nvim-treesitter/nvim-treesitter",
})
-- 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({
"goolord/alpha-nvim",
requires = { "kyazdani42/nvim-web-devicons" },
config = function()
require("plugins.configs.alpha")
end,
})
-- Telescope Extensions
use({
"nvim-telescope/telescope-fzf-native.nvim",
run = "make",
})
use({
"nvim-telescope/telescope-media-files.nvim",
"nvim-telescope/telescope-file-browser.nvim",
"artart222/telescope_find_directories",
"nvim-telescope/telescope-ui-select.nvim",
{ "nvim-telescope/telescope-smart-history.nvim", requires = "tami5/sqlite.lua" },
})
-- Telescope
use({
"nvim-telescope/telescope.nvim",
config = function()
require("plugins.configs.telescope-nvim")
end,
})
-- File Tree
use({
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
requires = {
"kyazdani42/nvim-web-devicons",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
},
config = function()
require("plugins.configs.neotree")
end,
})
-- Workspaces
use({
"natecraddock/workspaces.nvim",
config = function()
local workspaces = require("workspaces")
workspaces.setup({
hooks = {
open = "Neotree",
},
})
end,
})
-- Lspconfig
use({
"neovim/nvim-lspconfig",
requires = {
"folke/lua-dev.nvim",
"Decodetalkers/csharpls-extended-lsp.nvim",
"williamboman/mason-lspconfig.nvim",
"williamboman/mason.nvim",
},
config = function()
require("mason").setup({})
require("plugins.configs.lsp")
end,
})
-- Incremental rename, easier to view renames
use({
"https://github.com/smjonas/inc-rename.nvim.git",
config = function()
require("inc_rename").setup({})
end,
})
-- Show lsp diags at bottom
use({
"folke/trouble.nvim",
config = function()
require("trouble").setup()
end,
cmd = {
"Trouble",
"TroubleClose",
"TroubleToggle",
"TroubleRefresh",
},
})
-- Better LSP Virtual Text Lines
use({
"https://git.sr.ht/~whynothugo/lsp_lines.nvim",
config = function()
require("lsp_lines").setup()
end,
})
-- Sql support
use({
"nanotee/sqls.nvim",
})
-- Display LSP Progress
use({
"j-hui/fidget.nvim",
config = function()
require("plugins.configs.fidget-spinner")
end,
-- after = "nvim-lspconfig"
})
-- Display Lsp Signature
use({
"ray-x/lsp_signature.nvim",
config = function()
require("lsp_signature").setup({
hint_prefix = "",
hint_enable = true,
floating_window = false,
toggle_key = "<M-x>",
})
end,
})
-- Code Action Menu, prettier ui for LSP code actions
require("packer").use({
"weilbith/nvim-code-action-menu",
})
-- Lsp From Null LS
use({
"jose-elias-alvarez/null-ls.nvim",
config = function()
require("plugins.configs.null_ls")
end,
})
-- Better LSP Handling for Rust
use({
"simrat39/rust-tools.nvim",
})
-- Autopairs
use({
"windwp/nvim-autopairs",
config = function()
require("nvim-autopairs").setup()
end,
})
-- Snippets
use({
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
requires = {
"L3MON4D3/LuaSnip",
"https://github.com/saadparwaiz1/cmp_luasnip",
},
after = "LuaSnip",
event = "BufEnter",
})
-- Code completion
use({
"hrsh7th/nvim-cmp",
requires = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/cmp-emoji",
"hrsh7th/vim-vsnip",
"hrsh7th/cmp-nvim-lsp-document-symbol",
"hrsh7th/cmp-calc",
"davidsierradz/cmp-conventionalcommits",
"tamago324/cmp-zsh",
"dmitmel/cmp-cmdline-history",
"David-Kunz/cmp-npm",
"lukas-reineke/cmp-rg",
},
config = function()
require("plugins.configs._cmp")
end,
})
use({
"tzachar/cmp-fuzzy-buffer",
requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" },
})
use({ "tzachar/cmp-fuzzy-path", requires = { "hrsh7th/nvim-cmp", "tzachar/fuzzy.nvim" } })
use({
"saecki/crates.nvim",
event = { "BufRead Cargo.toml" },
requires = { { "nvim-lua/plenary.nvim" } },
config = function()
require("crates").setup()
end,
})
-- Show code outline
use({
"simrat39/symbols-outline.nvim",
cmd = { "SymbolsOutline", "SymbolsOutlineOpen", "SymbolsOutlineClose" },
config = function()
-- TODO: Clean this up and use the `nvim.api.nvim_set_hl` api
vim.cmd(
[[hi FocusedSymbol term=italic,bold cterm=italic ctermbg=yellow ctermfg=darkblue gui=bold,italic guibg=none guifg=#59D0FF]]
)
end,
})
-- DAP, debugger
use({
"mfussenegger/nvim-dap",
config = function()
require("dap.ext.vscode").load_launchjs()
require("plugins.configs._dap")
end,
after = "nvim-notify",
})
-- Python debugger, dapinstall does not play nice with debugpy
use({
"mfussenegger/nvim-dap-python",
after = "nvim-dap",
config = function()
require("plugins.configs.python-dap")
end,
})
-- Virtual Text for DAP
use({
"theHamsta/nvim-dap-virtual-text",
after = "nvim-dap",
config = function()
require("nvim-dap-virtual-text").setup({})
end,
})
-- Fancy ui for dap
use({
"rcarriga/nvim-dap-ui",
after = "nvim-dap",
config = function()
require("plugins.configs.dap-ui")
end,
})
-- Code formatting
use({
"sbdchd/neoformat",
cmd = "Neoformat",
config = function()
require("plugins.configs.neoformat")
end,
})
use({
"anuvyklack/pretty-fold.nvim",
requires = "anuvyklack/nvim-keymap-amend",
config = function()
require("pretty-fold").setup({
fill_char = " ",
})
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({
current_line_blame = true,
current_line_blame_opts = {
delay = 0,
},
})
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,
})
-- 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",
setup = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" },
})
-- Better Git integration
use({
"TimUntersberger/neogit",
config = function()
require("neogit").setup({
disable_commit_confirmation = true,
integrations = {
diffview = true,
},
})
end,
requires = {
"sindrets/diffview.nvim",
},
})
-- Ansible Syntax Highlighting
use({
"pearofducks/ansible-vim",
})
-- Better search display
use({
"kevinhwang91/nvim-hlslens",
module = "hlslens",
keys = "/",
})
-- Lsp Diags on scrollbar
use({
"petertriho/nvim-scrollbar",
requires = {
"kevinhwang91/nvim-hlslens",
"folke/tokyonight.nvim",
},
after = "nvim-hlslens",
config = function()
require("plugins.configs.diag-scrollbar")
end,
})
-- Discord Rich Presence
use({
"andweeb/presence.nvim",
config = function()
require("presence"):setup({
neovim_image_text = "How do I exit?",
})
end,
})
-- Note Taking
use({
"nvim-neorg/neorg",
config = function()
require("plugins.configs._neorg")
end,
requires = {
"nvim-lua/plenary.nvim",
"nvim-neorg/neorg-telescope",
},
after = "nvim-treesitter",
})
-- Log Syntax Highlighting
use({
"MTDL9/vim-log-highlighting",
})
-- Lots of small modules pulled into
-- one git repository
use({
"echasnovski/mini.nvim",
config = function()
-- Underline matching words to word undor cursor
require("mini.cursorword").setup({})
-- Surround operators
require("mini.surround").setup({
mappings = {
add = "gs",
delete = "ds",
find = "",
find_left = "",
highlight = "",
replace = "cs",
update_n_lines = "",
},
})
end,
})
-- Smoother Scrolling
use({
"karb94/neoscroll.nvim",
config = function()
require("neoscroll").setup({
easing_function = "circular",
})
end,
})
-- Generate function/class/etc annotations
use({
"danymat/neogen",
requires = "nvim-treesitter/nvim-treesitter",
config = function()
require("neogen").setup({
snippet_engine = "luasnip",
})
end,
})
-- Center code, make it visually prettier
use({
"folke/zen-mode.nvim",
config = function()
require("zen-mode").setup({})
end,
cmd = "ZenMode",
})
-- Multiple cursor/multiple visual selection support
use({
"mg979/vim-visual-multi",
})
-- Editorconfig support
use({
"gpanders/editorconfig.nvim",
})
-- Maintain last cursor position in files
use({
"ethanholz/nvim-lastplace",
config = function()
require("nvim-lastplace").setup({
lastplace_ignore_buftype = { "quickfix", "nofile", "help" },
lastplace_ignore_filetype = { "gitcommit", "gitrebase", "svn", "hgcommit", "fugitive" },
lastplace_open_folds = true,
})
end,
})
-- Diagnose startup time
use({ "dstein64/vim-startuptime" })
-- More codeactions
use({
"ThePrimeagen/refactoring.nvim",
requires = {
{ "nvim-lua/plenary.nvim" },
{ "nvim-treesitter/nvim-treesitter" },
},
})
-- Http Request Support
use({
"NTBBloodbath/rest.nvim",
requires = {
"https://github.com/nvim-lua/plenary.nvim",
},
config = function()
local rest_nvim = require("rest-nvim")
rest_nvim.setup({
-- This is a dev plugin, makes life easier
skip_ssl_verification = true,
})
end,
})
-- Undotree, similar to git branch history
use({
"mbbill/undotree",
cmd = "UndotreeToggle",
setup = function()
vim.g.undotree_WindowLayout = 3
end,
})
-- Allows repeating actions and more
use({
"anuvyklack/hydra.nvim",
requires = {
"anuvyklack/keymap-layer.nvim",
"lewis6991/gitsigns.nvim",
},
config = function()
require("plugins.configs.hydra")
end,
})
-- Faster motions
use({
"phaazon/hop.nvim",
config = function()
-- you can configure Hop the way you like here; see :h hop-config
require("hop").setup({ keys = "etovxqpdygfblzhckisuran" })
end,
})
-- Leave at end!!!
-- Install and deploy packer plugins
-- automatically
if PACKER_STRAP then
vim.notify("Syncing packer from bootstrap")
function _G.NotifyRestartNeeded()
local notify_available, _ = require("notify")
local message = "Neovim Restart Required to Finish Installation!"
if notify_available then
vim.notify(message, vim.lsp.log_levels.WARN, {
title = "Packer Strap",
keep = function()
return true
end,
})
else
vim.notify(message)
end
end
vim.api.nvim_exec(
[[
autocmd User PackerCompileDone lua NotifyRestartNeeded()
]],
false
)
require("packer").sync()
end
end,
config = {
display = {
open_fn = function()
return require("packer.util").float({ border = "double" })
end,
},
compile_path = vim.fn.stdpath("config") .. "/lua/packer_compiled.lua",
},
})

View File

@ -0,0 +1,4 @@
-- Anything that needs to be loaded LAST
-- needs to required here
require('plugins.mappings')
require('plugins.autocmds')

View File

@ -0,0 +1,154 @@
local U = {}
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
U.rgbToHex = function(rgb)
return string.format('#%06x', rgb)
end
U.hexToRgb = function(hex_str)
local hex = '[abcdef0-9][abcdef0-9]'
local pat = '^#(' .. hex .. ')(' .. hex .. ')(' .. hex .. ')$'
hex_str = string.lower(hex_str)
assert(string.find(hex_str, pat) ~= nil, 'hex_to_rgb: invalid hex_str: ' .. tostring(hex_str))
local r, g, b = string.match(hex_str, pat)
return { tonumber(r, 16), tonumber(g, 16), tonumber(b, 16) }
end
U.blend = function(fg, bg, alpha)
bg = U.hexToRgb(bg)
fg = U.hexToRgb(fg)
local blendChannel = function(i)
local ret = (alpha * fg[i] + ((1 - alpha) * bg[i]))
return math.floor(math.min(math.max(0, ret), 255) + 0.5)
end
return string.format('#%02X%02X%02X', blendChannel(1), blendChannel(2), blendChannel(3))
end
U.darken = function(hex, amount, bg)
return U.blend(hex, bg or '#000000', math.abs(amount))
end
U.lighten = function(hex, amount, fg)
return U.blend(hex, fg or '#ffffff', math.abs(amount))
end
return U

View File

@ -0,0 +1,61 @@
metalpoint
rotoscope
Vassari
Giorgio
Kathe
Kollwitz's
volumetric
gumwater
Vergine
delle
Rocce
Conte
Vija
Celmin's
photorealistic
unmoving
Vinci's
da
Oilstick
Dubuffet's
Elisabetta
Sirani
de
Mattise
redrawings
Eckstein's
Kentridge
Spiegelman's
Maus
Marjane
Satrapi
limewater
Faiyum
secco
buon
Pozzo
Fra
Scrovegni
Bodhisattiva
Giornata
Encaustic
Gesso
arabic
Photomontage
photomontage
Linocut
linocut
burin
Drypoint
Mezzotint
drypoint
planographic
obscura
Afocal
Grande
Jatte
Gogh
Pollick
Gogh's
fauv
dimensionality

View File

@ -0,0 +1,626 @@
" vim:foldmethod=marker
" Vim syntax file
" Language: Cfengine version 3
" Maintainer: Neil Watson <neil@watson-wilson.ca>
" Last Change: Jun 02 2018
" Location:
"
" TODO:
" - would be great to know current promise type
"
" This is my first attempt at a syntax file. Feel free to send me corrections
" or improvements. I'll give you a credit.
"
" USAGE
" There is already a vim file that uses 'cf' as a file extension. You can use
" cf3 for your cf3 file extensions or identify via your vimrc file:
" au BufRead,BufNewFile *.cf set ft=cf3
"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600 " {{{
syntax clear
elseif exists ("b:current_syntax")
finish
endif
syn case ignore
syn match cf3BundleParams /(\w\+\(,\s*\w\+\)*)/hs=s+1,he=e-1 contained
syn match cf3BundleName /\s\+\w\+\s*/ contained nextgroup=cf3BundleParams
syn keyword cf3BundleTypes agent common server knowledge monitor edit_line contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BundleTypes edit_xml contained nextgroup=cf3BundleName skipwhite
syn match cf3Bundle /^\s*bundle\s\+/ nextgroup=Cf3BundleTypes skipwhite
syn keyword cf3BodyTypes action classes contain acl changes contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes copy_from delete depth_search contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes edit_defaults file_select password contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes link_from perms rename tcp_ip contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes package_method process_count package_module contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes process_select service_method contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes mount volume printfile match_value contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes association select_region delete_select contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes insert_select location edit_field replace_with contained nextgroup=cf3BundleName skipwhite
syn keyword cf3BodyTypes common database_server environment_resources contained nextgroup=cf3BundleName skipwhite
syn match cf3Body /^\s*body\s\+/ nextgroup=Cf3BodyTypes skipwhite
syn match cf3BodyControl /^\s*body\s\+\(common\|agent\|server\)\s\+control/
syn match cf3BodyControl /^\s*body\s\+\(monitor\|runagent\)\s\+control/
syn match cf3BodyControl /^\s*body\s\+\(executor\|knowledge\|hub\)\s\+control/
syn match cf3BodyControl /^\s*body\s\+\(reporter\|file\)\s\+control/
syn match cf3Action /\<\(vars\|classes\|reports\|meta\|users\):/
syn match cf3Action /\<\(commands\|databases\|files\|interfaces\|methods\|packages\|storage\):/
syn match cf3Action /\<\(access\|measurements\|roles\|topics\|occurrences\|defaults\):/
syn match cf3Action /\<\(control\|guest_environments\|outputs\|processes\|services\|things\):/
syn match cf3Action /\<\(delete_lines\|field_edits\|insert_lines\|replace_patterns\):/
syn match cf3Class /[^ "\t:#]\+::/
syn region cf3ClassBlock start=/\[%CFEngine/ end=/%\]/ contains=Cf3Class
syn keyword TODO todo TODO FIXME TBD NOTE contained
syn match cf3Comment /#.*/ contains=TODO
syn match cf3Identifier /=>/
" Escape sequences in regexes
syn match cf3Esc /\\\\[sSdD+][\+\*]*/ contained
" Array indexes contained in []. Does not seems to be working.
syn region cf3Array start=/\(\\\)\@<!\[/ end=/\]/ contained contains=cf3Var
" Variables wrapped in {} or ()
syn region cf3Var start=/[$@][{(]/ end=/[})]/ contains=cf3Var,cf3Array
syn region cf3String start=/\z\("\|'\)/ skip=/\(\\\)\@<!\(\\\\\)*\\\z1/ end=/\z1/ contains=cf3Var,cf3Esc,cf3Array
syn keyword cf3Type string int real slist ilist rlist data
" The following list may be automatically generated using
" tools/extract_cf3BuiltIns.sh
" Last update: 2018/06/02 - git tag 0d9d2ce30b91cb0a3d09d2b8b517b39e876dc7f3
syn keyword cf3BuiltIns access accessedbefore accumulated active_directory additional-resources contained
syn keyword cf3BuiltIns adjusting-schedules adopting-cfengine agility ago alerts-custom-actions alerts-notifications contained
syn keyword cf3BuiltIns all-types and application-management architecture-design augments authoring-policy-tools-and-workflow contained
syn keyword cf3BuiltIns backup-and-restore basic-file-directory best-practices bodies browsing-host-information build-deploy-manage-audit contained
syn keyword cf3BuiltIns bundles bundles-best-practices bundlesmatching bundlestate callstack_callers callstack_promisers contained
syn keyword cf3BuiltIns canonify canonifyuniquely cf-agent cfe_internal cfe_internal-CFE_cfengine cfe_internal-core contained
syn keyword cf3BuiltIns cfe_internal-enterprise cfe_internal-update cfe_internal-update-cfe_internal_dc_workflow cfe_internal-update-cfe_internal_local_git_remote cfe_internal-update-cfe_internal_update_from_repository cfe_internal-update-lib contained
syn keyword cf3BuiltIns cfe_internal-update-systemd_units cfe_internal-update-update_bins cfe_internal-update-update_policy cfe_internal-update-update_processes cfengine-administration cf-execd contained
syn keyword cf3BuiltIns cf-hub cf-key cf-monitord cf-net cf-promises cf-runagent contained
syn keyword cf3BuiltIns cf-serverd changedbefore changelog-core changelog-enterprise changelog-masterfiles-policy-framework change-management contained
syn keyword cf3BuiltIns changes changes-api-usage cheatsheet checking-status classes classes contained
syn keyword cf3BuiltIns classesmatching classify classmatch cloud-computing command-line-reports commands contained
syn keyword cf3BuiltIns commands-scripts-execution common-attributes-include common-body-attributes-include common_next_steps components concat contained
syn keyword cf3BuiltIns connection const content-driven-policy controlling-frequency controls controls-cf_agent contained
syn keyword cf3BuiltIns controls-cf_execd controls-cf-hub controls-cf_monitord controls-cf_runagent controls-cf_serverd controls-def contained
syn keyword cf3BuiltIns controls-def_inputs controls-reports controls-update_def controls-update_def_inputs countclassesmatching countlinesmatching contained
syn keyword cf3BuiltIns custom-https-certificate custom_inventory custom-ldap-port custom-ldaps-certificate database databases contained
syn keyword cf3BuiltIns data_expand data_readstringarray data_readstringarrayidx data_regextract datastate data_sysctlvalues contained
syn keyword cf3BuiltIns debugging-mission-portal def defaults delete_lines devops difference contained
syn keyword cf3BuiltIns directory-structure dirname diskfree distributed-scheduling distribute-files-from-a-central-location edit contained
syn keyword cf3BuiltIns edit_line edit_xml enable-plain-http enterprise enterprise-api enterprise-api-examples contained
syn keyword cf3BuiltIns enterprise-api-ref enterprise-cfengine-guide enterprise-license enterprise-report-collection enterprise-report-filtering escape contained
syn keyword cf3BuiltIns eval every example_aborting_execution example_change_detection example_copy_single_files example_create_filedir contained
syn keyword cf3BuiltIns example_diskfree example_edit_motd example_edit_name_resolution example_enable_service example_find_mac_addr example_install_package contained
syn keyword cf3BuiltIns example_mount_nfs example_ntp example_process_kill example_process_restart examples example-snippets contained
syn keyword cf3BuiltIns example_ssh_keys example_sudoers example_updating_from_central_hub execresult expandrange external_data contained
syn keyword cf3BuiltIns faq fhs field_edits file_comparison file-content file_control_promises contained
syn keyword cf3BuiltIns fileexists file_hash file_permissions files filesexist filesize contained
syn keyword cf3BuiltIns filestat files-tutorial file-template filter findfiles findprocesses contained
syn keyword cf3BuiltIns find-public-key-for-host-sha fix-trust-after-ip-change fix-undefined-body-error format functions general contained
syn keyword cf3BuiltIns general-installation getclassmetatags getenv getfields getgid getindices contained
syn keyword cf3BuiltIns getuid getuserinfo getusers getvalues getvariablemetatags glossary contained
syn keyword cf3BuiltIns glossary grep groupexists guest_environments guide hash contained
syn keyword cf3BuiltIns hashmatch hash_to_int hierarchies high-availability host host2ip contained
syn keyword cf3BuiltIns hostinnetgroup hostrange hosts-health hostsseen hostswithclass hub_administration contained
syn keyword cf3BuiltIns hubknowledge ifelse include-install-bootstrap-configure-summary index insert_lines installation-and-configuration contained
syn keyword cf3BuiltIns installation-community installation-enterprise installation-enterprise-free installation-enterprise-free-aws-rhel installation-enterprise-generic-tarball installation-enterprise-vagrant contained
syn keyword cf3BuiltIns installation-guide install-get-started intersection introduction inventory inventory contained
syn keyword cf3BuiltIns inventory-any inventory-debian inventory-freebsd inventory-generic inventory-linux inventory-lsb contained
syn keyword cf3BuiltIns inventory-macos inventory-os inventory-redhat inventory-suse inventory-windows ip2host contained
syn keyword cf3BuiltIns iprange irange isdir isexecutable isgreaterthan isipinsubnet contained
syn keyword cf3BuiltIns islessthan islink isnewerthan isplain isvariable iteration contained
syn keyword cf3BuiltIns itil join json-yaml-support-in-cfengine known-issues language-concepts lastnode contained
syn keyword cf3BuiltIns laterthan latest-release ldap-api ldaparray ldaplist ldapvalue contained
syn keyword cf3BuiltIns learn legal length lib lib-autorun lib-bundles contained
syn keyword cf3BuiltIns lib-cfe_internal lib-cfe_internal_hub lib-cfengine_enterprise_hub_ha lib-commands lib-common lib-databases contained
syn keyword cf3BuiltIns lib-edit_xml lib-event lib-examples lib-feature lib-files lib-guest_environments contained
syn keyword cf3BuiltIns lib-monitor lib-packages lib-paths lib-processes lib-reports lib-services contained
syn keyword cf3BuiltIns lib-stdlib lib-storage lib-testing lib-users lib-vcs line_editing contained
syn keyword cf3BuiltIns lookup-license-info loops lsdir macros makerule managing-settings contained
syn keyword cf3BuiltIns managing-users-and-roles manual-execution maparray mapdata maplist masterfiles-policy-framework contained
syn keyword cf3BuiltIns masterfiles_policy_framework_upgrade match max mean measurements mergedata contained
syn keyword cf3BuiltIns meta methods min modularity mon monitoring contained
syn keyword cf3BuiltIns monitoring-reporting mustache-templating namespaces network network_connections networking contained
syn keyword cf3BuiltIns nfs_and_containers none normal-ordering not now nth contained
syn keyword cf3BuiltIns on open-nebula or orchestration output-email package_bundles contained
syn keyword cf3BuiltIns package_modules packages packages-deprecated packagesmatching packageupdatesmatching parseintarray contained
syn keyword cf3BuiltIns parsejson parserealarray parsestringarray parsestringarrayidx parseyaml pattern-matching-and-referencing contained
syn keyword cf3BuiltIns peerleader peerleaders peers policy-deployment policy-framework policy-layers-abstraction contained
syn keyword cf3BuiltIns policy-style pre-installation-checklist processes processexists product promise-patterns contained
syn keyword cf3BuiltIns promises promises promises-available-in-cfengine promise-types putty-quick-start-guide query contained
syn keyword cf3BuiltIns randomint readcsv readdata readenvfile readfile readintarray contained
syn keyword cf3BuiltIns readintlist readjson readrealarray readreallist readstringarray readstringarrayidx contained
syn keyword cf3BuiltIns readstringlist readtcp readyaml reference regarray regcmp contained
syn keyword cf3BuiltIns regenerate-self-signed-cert regex_replace regextract registryvalue regldap regline contained
syn keyword cf3BuiltIns reglist reinstall remoteclassesmatching remotescalar replace_patterns reporting contained
syn keyword cf3BuiltIns reporting reporting-architecture reporting_ui report_inventory_remediate_sec_vulnerabilities reports reset-admin-creds contained
syn keyword cf3BuiltIns returnszero reverse roles rrange search secure-bootstrap contained
syn keyword cf3BuiltIns security-overview selectservers services services services-autorun services-main contained
syn keyword cf3BuiltIns settings show-classes-and-vars shuffle software-adminstration some sort contained
syn keyword cf3BuiltIns special-topics special-variables splayclass splitstring sql-queries sql-queries-enterprise-api contained
syn keyword cf3BuiltIns sql-schema status-settings stigs storage storejson strcmp contained
syn keyword cf3BuiltIns strftime string_downcase string_head string_length string_mustache string_reverse contained
syn keyword cf3BuiltIns string_split string_tail string_upcase sublist sum supported-platforms contained
syn keyword cf3BuiltIns sys sysctlvalue system-administration system-file system-information system-security contained
syn keyword cf3BuiltIns tags teamwork testing-policies this timing-counting-measuring translatepath contained
syn keyword cf3BuiltIns tutorials unable-to-log-in-mission-portal uninstall-reinstall unique update upgrading contained
syn keyword cf3BuiltIns url_get usemodule userexists user-interface user-management users contained
syn keyword cf3BuiltIns users users-rbac variables variables variablesmatching variablesmatching_as_data contained
syn keyword cf3BuiltIns variance vars version-control vi-quick-start-guide what-did-cfengine-change what-is-promise-locking contained
syn keyword cf3BuiltIns whatsnew why-are-files-not-being-distributed why-are-remote-agents-not-updating windows-registry contained
" The following list may be automatically generated using
" tools/extract_cf3evolve_freelib.sh
" Last update: 2018/06/02 - git tag d9d8bc814a70b64f5fb0fca0104f9802c4a7d88b
syn keyword cf3Evolve_freelib by_command by_command contain_efl_command contain_efl_command efl_command contained
syn keyword cf3Evolve_freelib efl_command efl_copy_files efl_copy_files efl_cpf efl_cpf efl_delete_files contained
syn keyword cf3Evolve_freelib efl_delete_files efl_delta_reporting efl_delta_reporting efl_disable_service efl_disable_service efl_dump_strings contained
syn keyword cf3Evolve_freelib efl_dump_strings efl_edit_template efl_edit_template efl_empty efl_empty efl_enable_service contained
syn keyword cf3Evolve_freelib efl_enable_service efl_file_perms efl_file_perms efl_kill_process efl_kill_process efl_kill_process contained
syn keyword cf3Evolve_freelib efl_kill_process efl_lastseen efl_lastseen efl_link efl_link efl_mon_cfengine contained
syn keyword cf3Evolve_freelib efl_mon_cfengine efl_notseen efl_notseen efl_packages efl_packages efl_packages_new contained
syn keyword cf3Evolve_freelib efl_packages_new efl_packages_via_cmd efl_packages_via_cmd efl_process_count efl_process_count efl_rcs_pull contained
syn keyword cf3Evolve_freelib efl_rcs_pull efl_recurse_and_exclude efl_recurse_and_exclude efl_rkn efl_rkn efl_server_csv contained
syn keyword cf3Evolve_freelib efl_server_csv efl_server_json efl_server_json efl_service efl_service efl_service_recurse contained
syn keyword cf3Evolve_freelib efl_service_recurse efl_source_type efl_source_type efl_start_service efl_start_service efl_sysctl_conf_file contained
syn keyword cf3Evolve_freelib efl_sysctl_conf_file efl_sysctl_live efl_sysctl_live efl_test_classes efl_test_classes efl_test_count contained
syn keyword cf3Evolve_freelib efl_test_count efl_test_vars efl_test_vars el_efl_sysctl_conf_file el_efl_sysctl_conf_file name_age_negate contained
syn keyword cf3Evolve_freelib name_age_negate negate_by_name negate_by_name contained
" The following list may be automatically generated using
" tools/extract_cf3Stdlib.sh
" Last update: 2018/06/02 - git tag 9ff3f394a2b0435549ce17e595edb295a92e53b7
syn keyword cf3Stdlib INI_section access_generic after all all_changes contained
syn keyword cf3Stdlib alpinelinux always any_count append_groups_starting append_if_no_line append_if_no_lines contained
syn keyword cf3Stdlib append_to_line_end append_user_field append_users_starting apt apt_get apt_get contained
syn keyword cf3Stdlib apt_get_permissive apt_get_release autorun backup_local_cp backup_timestamp before contained
syn keyword cf3Stdlib bg bigger_than bootstart brew bundles_common by_name contained
syn keyword cf3Stdlib by_owner by_pid cat cf2_if_else cfe_internal_cleanup_agent_reports cfe_internal_common contained
syn keyword cf3Stdlib cfe_internal_database_cleanup_consumer_status cfe_internal_database_cleanup_diagnostics cfe_internal_database_cleanup_promise_log cfe_internal_database_cleanup_reports cfe_internal_database_partitioning cfe_internal_hub_common contained
syn keyword cf3Stdlib cfe_internal_hub_maintain cfe_internal_postgresql_maintenance cfe_internal_postgresql_vacuum cfengine_enterprise_hub_ha check_range classes_generic contained
syn keyword cf3Stdlib classic_services cmd_repair cmerge col collect_vars comment contained
syn keyword cf3Stdlib comment_lines_containing comment_lines_matching common_knowledge contains_literal_string control converge contained
syn keyword cf3Stdlib copyfrom_sync create_solaris_admin_file cronjob daemonize darwin_knowledge days_old contained
syn keyword cf3Stdlib days_older_than debian_knowledge delete_lines_matching detect_all_change detect_all_change_using detect_content contained
syn keyword cf3Stdlib detect_content_using diff diff_noupdate diff_results dir_sync dirs contained
syn keyword cf3Stdlib disable dpkg_version emerge empty enumerate event_cancel_events contained
syn keyword cf3Stdlib event_debug_handler event_handle event_install_handler event_register event_usage_example ex_list contained
syn keyword cf3Stdlib exclude exclude_procs expand_template feature feature_cancel feature_test contained
syn keyword cf3Stdlib file_copy file_empty file_hardlink file_link file_make file_make_mog contained
syn keyword cf3Stdlib file_make_mustache file_make_mustache_with_perms file_mustache file_mustache_jsonstring file_tidy fileinfo contained
syn keyword cf3Stdlib files_common filetype_older_than filetypes_older_than force_deps freebsd freebsd_portmaster contained
syn keyword cf3Stdlib freebsd_ports fstab_option_editor fstab_options generic git git_add contained
syn keyword cf3Stdlib git_checkout git_checkout_new_branch git_clean git_commit git_init git_stash contained
syn keyword cf3Stdlib git_stash_and_clean hashed_password head head_n if_elapsed if_elapsed_day contained
syn keyword cf3Stdlib if_else if_notkept if_ok if_ok_cancel if_repaired ifwin_bg contained
syn keyword cf3Stdlib immediate in_dir in_dir_shell in_dir_shell_and_silent in_shell in_shell_and_silent contained
syn keyword cf3Stdlib in_shell_bg include_base insert_before_if_no_line insert_file insert_ini_section insert_lines contained
syn keyword cf3Stdlib ips jail kept_successful_command kvm line line_match_value contained
syn keyword cf3Stdlib lines_present linkchildren linkfrom ln_s local_cp local_dcp contained
syn keyword cf3Stdlib local_mysql local_postgresql log_repaired log_verbose logrotate m contained
syn keyword cf3Stdlib maintain_key_values manage_variable_values_ini measure_performance measure_promise_time min_free_space mo contained
syn keyword cf3Stdlib mog msi_explicit msi_implicit name_age nfs nfs_p contained
syn keyword cf3Stdlib nimclient no_backup no_backup_cp no_backup_dcp no_backup_rcp noupdate contained
syn keyword cf3Stdlib npm npm_g npm_knowledge ntfs og older_than contained
syn keyword cf3Stdlib opencsw owner package_absent package_latest package_module_knowledge package_present contained
syn keyword cf3Stdlib package_specific package_specific_absent package_specific_latest package_specific_present packages_common pacman contained
syn keyword cf3Stdlib paths perms_cp perms_dcp pip pip_knowledge pkg contained
syn keyword cf3Stdlib pkgsrc plain plaintext_password policy prepend_if_no_line probabilistic_usebundle contained
syn keyword cf3Stdlib process_kill prunedir prunetree quoted_var recurse recurse_ignore contained
syn keyword cf3Stdlib recurse_with_base redhat_knowledge redhat_no_locking_knowledge regex_replace remote_cp remote_dcp contained
syn keyword cf3Stdlib replace_line_end replace_or_add resolvconf resolvconf_o results rm_rf contained
syn keyword cf3Stdlib rm_rf_depth rotate rpm_filebased rpm_knowledge rpm_version run_ifdefined contained
syn keyword cf3Stdlib sample_rate scan_changing_file scan_log scoped_classes_generic secure_cp seed_cp contained
syn keyword cf3Stdlib services_common set_colon_field set_config_values set_config_values_matching set_line_based set_quoted_values contained
syn keyword cf3Stdlib set_user_field set_variable_values set_variable_values_ini setuid setuid_gid_umask setuid_sh contained
syn keyword cf3Stdlib setuid_umask setuidgid_dir setuidgid_sh silent silent_in_dir single_value contained
syn keyword cf3Stdlib size_range slackpkg smartos smartos_pkg_add solaris solaris_install contained
syn keyword cf3Stdlib solaris_knowledge standard_services standard_services start state_repaired std_defs contained
syn keyword cf3Stdlib stdlib_common strict suse_knowledge symlinked_to sync_cp system_owned contained
syn keyword cf3Stdlib testing_generic_report testing_junit_report testing_ok testing_ok_if testing_skip testing_tap_bailout contained
syn keyword cf3Stdlib testing_tap_report testing_todo testing_usage_example tidy to u_kept_successful_command contained
syn keyword cf3Stdlib uncomment uncomment_lines_containing uncomment_lines_matching unmount url_ping value contained
syn keyword cf3Stdlib vcs_common warn_lines_matching warn_only windows_feature xml_insert_tree xml_insert_tree_nopath contained
syn keyword cf3Stdlib xml_set_attribute xml_set_value yum yum yum_group yum_rpm contained
syn keyword cf3Stdlib yum_rpm_enable_repo yum_rpm_permissive zypper zypper contained
"syn match cf3Function /\w\+[,;(\>]/ contains=cf3BuiltIns,cf3Stdlib
syn match cf3Function /\<\w\+[,;()]/ contains=cf3BuiltIns,cf3Stdlib,cf3Evolve_freelib
syn keyword cf3ControlAttr bundlesequence cache_system_functions goal_categories contained
syn keyword cf3ControlAttr ignore_missing_bundles ignore_missing_inputs inputs contained
syn keyword cf3ControlAttr version lastseenexpireafter output_prefix domain contained
syn keyword cf3ControlAttr require_comments host_licenses_paid site_classes contained
syn keyword cf3ControlAttr syslog_host syslog_port fips_mode protocol_version contained
syn keyword cf3ControlAttr package_module contained
syn keyword cf3MethodAttr usebundle useresult inherit contained
syn keyword cf3CommonAttr action classes if unless ifvarclass handle depends_on comment policy with meta contained
syn keyword cf3ClassesAttr and dist expression not or persistence scope select_class xor contained
syn keyword cf3CommandsAttr args contain module contained
syn keyword cf3ProcessesAttr process_count process_select contained
syn keyword cf3ProcessesAttr process_stop restart_class signals contained
syn keyword cf3PackagesAttr package_architectures package_method package_policy contained
syn keyword cf3PackagesAttr package_select package_version package_module contained
syn keyword cf3GuestEnvAttr environment_host environment_interface contained
syn keyword cf3GuestEnvAttr environment_resources environment_state contained
syn keyword cf3GuestEnvAttr environment_type contained
syn keyword cf3TopicsAttr association synonyms generalizations contained
syn keyword cf3ServicesAttr service_policy service_dependencies service_method contained
syn keyword cf3DatabasesAttr database_server database_type contained
syn keyword cf3DatabasesAttr database_operation database_columns contained
syn keyword cf3DatabasesAttr database_rows registry_exclude contained
syn keyword cf3DefaultsAttr if_match_regex contained
syn keyword cf3StorageAttr mount volume contained
syn keyword cf3FilesAttr acl changes copy_from create delete depth_search contained
syn keyword cf3FilesAttr edit_defaults edit_line edit_template edit_xml file_select contained
syn keyword cf3FilesAttr link_from move_obstructions pathtype perms contained
syn keyword cf3FilesAttr rename repository template_method template_data touch transformer contained
syn keyword cf3AccessAttr admit_ips admit_hostnames admit_keys admit deny deny_ips deny_hostnames deny_keys maproot contained
syn keyword cf3AccessAttr ifencrypted resource_type contained
syn keyword cf3MeasurementsAttr stream_type data_type history_type contained
syn keyword cf3MeasurementsAttr units match_value contained
syn keyword cf3ReportsAttr friend_pattern intermittency lastseen contained
syn keyword cf3ReportsAttr printfile report_to_file showstate contained
syn keyword cf3ReportsAttr bundle_return_value_index contained
" Bodies
syn keyword cf3EditLineAttr replace_with edit_field whitespace_policy location contained
syn keyword cf3EditLineAttr insert_select insert_type expand_scalars not_matching contained
syn keyword cf3EditLineAttr delete_select select_region contained
syn keyword cf3EditFieldAttr allow_blank_fields extend_fields field_operation contained
syn keyword cf3EditFieldAttr field_separator field_value select_field contained
syn keyword cf3EditFieldAttr start_fields_from_zero value_separator contained
syn keyword cf3ReplaceWithAttr occurrences replace_value contained
syn keyword cf3SelectRegionAttr include_start_delimiter include_end_delimiter contained
syn keyword cf3SelectRegionAttr select_start select_end contained
syn keyword cf3ProcCountAttr in_range_define match_range out_of_range_define contained
syn keyword cf3ProcSelectAttr command pid ppid pgid priority process_owner contained
syn keyword cf3ProcSelectAttr process_result rsize status stime_range ttime_range contained
syn keyword cf3ProcSelectAttr tty threads vsize contained
syn keyword cf3EditDefAttr edit_backup empty_file_before_editing max_file_size recognize_join contained
syn keyword cf3LocationAttr before_after first_last select_line_matching contained
syn keyword cf3BodyFileSelectAttr leaf_name path_name search_mode search_size search_owners contained
syn keyword cf3BodyFileSelectAttr search_groups search_bsdflags ctime mtime atime contained
syn keyword cf3BodyFileSelectAttr exec_regex exec_program file_types issymlinkto file_result contained
syn keyword cf3BodyClassesAttr promise_repaired repair_failed repair_denied contained
syn keyword cf3BodyClassesAttr repair_timeout promise_kept cancel_kept cancel_repaired contained
syn keyword cf3BodyClassesAttr cancel_notkept kept_returncodes repaired_returncodes contained
syn keyword cf3BodyClassesAttr failed_returncodes persist_time scope timer_policy contained
syn keyword cf3BodyLinkFromAttr copy_patterns link_children link_type source contained
syn keyword cf3BodyLinkFromAttr when_linking_children when_no_source contained
syn keyword cf3BodyPermsAttr bsdflags groups mode owners rxdirs contained
syn keyword cf3BodyACLAttr aces acl_directory_inherit acl_method acl_type specify_inherit_aces contained
syn keyword cf3BodyDepthSearchAttr depth exclude_dirs include_basedir include_dirs contained
syn keyword cf3BodyDepthSearchAttr rmdeadlinks traverse_links xdev contained
syn keyword cf3BodyDeleteAttr dirlinks rmdirs contained
syn keyword cf3BodyRenameAttr disable disable_mode disable_suffix newname rotate contained
syn keyword cf3BodyChangesAttr hash report_changes update_hashes report_diffs contained
syn keyword cf3BodyPackageModuleAttr default_options query_installed_ifelapsed contained
syn keyword cf3BodyPackageModuleAttr query_updates_ifelapsed contained
syn keyword cf3BodyPackageMethodAttr package_add_command package_arch_regex contained
syn keyword cf3BodyPackageMethodAttr package_changes package_delete_command contained
syn keyword cf3BodyPackageMethodAttr package_delete_convention package_file_repositories contained
syn keyword cf3BodyPackageMethodAttr package_installed_regex package_list_arch_regex contained
syn keyword cf3BodyPackageMethodAttr package_list_command package_list_name_regex contained
syn keyword cf3BodyPackageMethodAttr package_list_update_command package_list_update_ifelapsed contained
syn keyword cf3BodyPackageMethodAttr package_list_version_regex package_name_convention contained
syn keyword cf3BodyPackageMethodAttr package_name_regex package_noverify_regex contained
syn keyword cf3BodyPackageMethodAttr package_noverify_returncode package_patch_arch_regex contained
syn keyword cf3BodyPackageMethodAttr package_patch_command package_patch_installed_regex contained
syn keyword cf3BodyPackageMethodAttr package_patch_list_command package_patch_name_regex contained
syn keyword cf3BodyPackageMethodAttr package_patch_version_regex package_update_command contained
syn keyword cf3BodyPackageMethodAttr package_verify_command package_version_regex contained
syn keyword cf3BodyPackageMethodAttr package_version_less_command package_version_equal_command contained
syn keyword cf3BodyPackageMethodAttr package_multiline_start contained
syn keyword cf3BodyActionAttr action_policy ifelapsed expireafter log_string contained
syn keyword cf3BodyActionAttr log_level log_kept log_priority log_repaired contained
syn keyword cf3BodyActionAttr log_failed value_kept value_repaired value_notkept contained
syn keyword cf3BodyActionAttr audit background report_level contained
syn keyword cf3BodyActionAttr measurement_class contained
syn keyword cf3BodyContainAttr useshell umask exec_owner exec_group exec_timeout contained
syn keyword cf3BodyContainAttr chdir chroot preview no_output contained
syn keyword cf3BodyCopyFromAttr source servers collapse_destination_dir contained
syn keyword cf3BodyCopyFromAttr compare copy_backup encrypt check_root contained
syn keyword cf3BodyCopyFromAttr copylink_patterns copy_size findertype contained
syn keyword cf3BodyCopyFromAttr linkcopy_patterns link_type force_update contained
syn keyword cf3BodyCopyFromAttr force_ipv4 portnumber preserve protocol_version purge contained
syn keyword cf3BodyCopyFromAttr stealth timeout trustkey type_check verify contained
syn keyword cf3BodyVolumeAttr check_foreign freespace sensible_size contained
syn keyword cf3BodyVolumeAttr sensible_count scan_arrivals contained
syn keyword cf3BodyMountAttr edit_fstab mount_type mount_source contained
syn keyword cf3BodyMountAttr mount_server mount_options unmount contained
syn keyword cf3BodyServiceMethodAttr service_type service_args contained
syn keyword cf3BodyServiceMethodAttr service_autostart_policy service_dependence_chain contained
syn keyword cf3BodyDatabaseServerAttr db_server_owner db_server_password contained
syn keyword cf3BodyDatabaseServerAttr db_server_host db_server_type contained
syn keyword cf3BodyDatabaseServerAttr db_server_connection_db contained
syn keyword cf3BodyEnvResourcesAttr env_cpus env_memory env_disk contained
syn keyword cf3BodyEnvResourcesAttr env_baseline env_spec_file env_spec contained
syn keyword cf3BodyMatchValueAttr select_line_matching select_line_number contained
syn keyword cf3BodyMatchValueAttr extraction_regex track_growing_file contained
syn keyword cf3BodyServiceMethodAttr service_type service_args service_bundle contained
syn keyword cf3BodyServiceMethodAttr service_autostart_policy service_dependence_chain contained
syn keyword cf3BodyEnvInterfaceAttr env_addresses env_name env_network contained
syn keyword cf3BodyServerControlAttr allowallconnects allowconnects allowlegacyconnects contained
syn keyword cf3BodyServerControlAttr allowusers auditing bindtointerface contained
syn keyword cf3BodyServerControlAttr cfruncommand denybadclocks denyconnects contained
syn keyword cf3BodyServerControlAttr dynamicaddresses hostnamekeys keycacheTTL contained
syn keyword cf3BodyServerControlAttr logallconnections logencryptedtransfers contained
syn keyword cf3BodyServerControlAttr maxconnections port serverfacility contained
syn keyword cf3BodyServerControlAttr skipverify trustkeysfrom contained
syn keyword cf3BodyAgentControlAttr abortclasses abortbundleclasses addclasses contained
syn keyword cf3BodyAgentControlAttr agentaccess agentfacility alwaysvalidate contained
syn keyword cf3BodyAgentControlAttr auditing binarypaddingchar bindtointerface contained
syn keyword cf3BodyAgentControlAttr hashupdates childlibpath checksum_alert_time contained
syn keyword cf3BodyAgentControlAttr defaultcopytype dryrun editbinaryfilesize contained
syn keyword cf3BodyAgentControlAttr editfilesize environment exclamation expireafter contained
syn keyword cf3BodyAgentControlAttr files_single_copy files_auto_define hostnamekeys contained
syn keyword cf3BodyAgentControlAttr ifelapsed inform intermittency max_children contained
syn keyword cf3BodyAgentControlAttr maxconnections mountfilesystems nonalphanumfiles contained
syn keyword cf3BodyAgentControlAttr repchar refresh_processes default_repository contained
syn keyword cf3BodyAgentControlAttr secureinput sensiblecount sensiblesize contained
syn keyword cf3BodyAgentControlAttr skipidentify suspiciousnames syslog verbose contained
syn keyword cf3BodyAgentControlAttr track_value timezone default_timeout contained
syn keyword cf3BodyExecutorControlAttr splaytime mailfrom mailsubject mailto smtpserver contained
syn keyword cf3BodyExecutorControlAttr mailmaxlines schedule executorfacility contained
syn keyword cf3BodyExecutorControlAttr exec_command contained
syn keyword cf3BodyEditDefsAttr edit_backup empty_file_before_editing contained
syn keyword cf3BodyEditDefsAttr max_file_size recognize_join inherit contained
syn keyword cf3BodyDeleteSelectAttr delete_if_startwith_from_list contained
syn keyword cf3BodyDeleteSelectAttr delete_if_not_startwith_from_list contained
syn keyword cf3BodyDeleteSelectAttr delete_if_match_from_list contained
syn keyword cf3BodyDeleteSelectAttr delete_if_not_match_from_list contained
syn keyword cf3BodyDeleteSelectAttr delete_if_contains_from_list contained
syn keyword cf3BodyDeleteSelectAttr delete_if_not_contains_from_list contained
syn keyword cf3BodyInsertSelectAttr insert_if_startwith_from_list contained
syn keyword cf3BodyInsertSelectAttr insert_if_not_startwith_from_list contained
syn keyword cf3BodyInsertSelectAttr insert_if_match_from_list contained
syn keyword cf3BodyInsertSelectAttr insert_if_not_match_from_list contained
syn keyword cf3BodyInsertSelectAttr insert_if_contains_from_list contained
syn keyword cf3BodyInsertSelectAttr insert_if_not_contains_from_list contained
syn keyword cf3BodyMonitorControlAttr forgetrate monitorfacility histograms contained
syn keyword cf3BodyMonitorControlAttr tcpdump tcpdumpcommand contained
syn keyword cf3BodyPrintfileAttr file_to_print number_of_lines contained
syn cluster cf3AttrCluster contains=cf3CommonAttr,cf3ClassesAttr,cf3Identifier,
syn cluster cf3AttrCluster add=cf3ProcessesAttr,cf3FilesAttr,cf3ReportsAttr
syn cluster cf3AttrCluster add=cf3PackagesAttr,cf3GuestEnvAttr,cf3TopicsAttr
syn cluster cf3AttrCluster add=cf3StorageAttr,cf3AccessAttr,cf3MeasurementsAttr
syn cluster cf3AttrCluster add=cf3EditLineAttr,cf3EditFieldAttr,cf3ReplaceWithAttr
syn cluster cf3AttrCluster add=cf3SelectRegionAttr,cf3ProcCountAttr,cf3ProcSelectAttr
syn cluster cf3AttrCluster add=cf3EditDefAttr,cf3LocationAttr,cf3CommandsAttr,cf3BodyFileSelectAttr
syn cluster cf3AttrCluster add=cf3ControlAttr,cf3MethodAttr,cf3BodyClassesAttr
syn cluster cf3AttrCluster add=cf3ServicesAttr,cf3DatabasesAttr,cf3DefaultsAttr
syn cluster cf3AttrCluster add=cf3BodyLinkFromAttr,cf3BodyPermsAttr,cf3BodyACLAttr
syn cluster cf3AttrCluster add=cf3BodyDepthSearchAttr,cf3BodyDeleteAttr,cf3BodyRenameAttr
syn cluster cf3AttrCluster add=cf3BodyChangesAttr,cf3BodyPackageMethodAttr,cf3BodyActionAttr
syn cluster cf3AttrCluster add=cf3BodyPackageModuleAttr
syn cluster cf3AttrCluster add=cf3BodyContainAttr,cf3BodyCopyFromAttr,cf3BodyVolumeAttr
syn cluster cf3AttrCluster add=cf3BodyMountAttr,cf3BodyServiceMethodAttr,cf3BodyDatabaseServerAttr
syn cluster cf3AttrCluster add=cf3BodyEnvResourcesAttr,cf3BodyMatchValueAttr,cf3BodyServiceMethodAttr
syn cluster cf3AttrCluster add=cf3BodyEnvInterfaceAttr,cf3BodyServerControlAttr,cf3BodyEditDefsAttr
syn cluster cf3AttrCluster add=cf3BodyAgentControlAttr,cf3BodyExecutorControlAttr
syn cluster cf3AttrCluster add=cf3BodyDeleteSelectAttr,cf3BodyInsertSelectAttr
syn cluster cf3AttrCluster add=cf3BodyMonitorControlAttr,cf3BodyPrintfileAttr
syn match cf3Attributes /\w\+\s*=>/ contains=@cf3AttrCluster
" }}}
if version >= 508 || !exists("did_cfg_syn_inits") " {{{
if version < 508
let did_cfg_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
hi cf3Context ctermfg=DarkGreen
hi cf3Arrows ctermfg=DarkCyan
hi cf3Type ctermfg=Magenta
hi Identifier ctermfg=Blue
hi Function ctermfg=DarkGreen
hi Library ctermfg=DarkGrey
hi cf3ClassBlock ctermfg=Yellow
HiLink cf3Bundle Statement
HiLink cf3BundleTypes Statement
HiLink cf3BundleName Function
HiLink cf3BundleParams Identifier
HiLink cf3Body Statement
HiLink cf3BodyTypes Statement
HiLink cf3Comment Comment
HiLink cf3BodyControl Statement
HiLink cf3BodyControlTypes Statement
HiLink cf3BodyControlName Statement
HiLink cf3Action Underlined
HiLink cf3Class cf3Context
HiLink cf3String String
HiLink cf3BuiltIns Function
HiLink cf3Evolve_freelib Function
HiLink cf3Stdlib Library
HiLink cf3Identifier cf3Arrows
HiLink cf3Esc Special
HiLink cf3Array Special
HiLink cf3Var Identifier
HiLink cf3Type cf3Type
HiLink cf3CommonAttr Statement
HiLink cf3ClassesAttr Statement
HiLink cf3CommandsAttr Statement
HiLink cf3ProcessesAttr Statement
HiLink cf3FilesAttr Statement
HiLink cf3MethodAttr cf3Type
HiLink cf3PackagesAttr Statement
HiLink cf3ControlAttr Statement
HiLink cf3GuestEnvAttr Statement
HiLink cf3TopicsAttr Statement
HiLink cf3ServicesAttr Statement
HiLink cf3DatabasesAttr Statement
HiLink cf3DefaultsAttr Statement
HiLink cf3StorageAttr Statement
HiLink cf3AccessAttr Statement
HiLink cf3MeasurementsAttr Statement
HiLink cf3ReportsAttr Statement
HiLink cf3EditLineAttr Statement
HiLink cf3EditFieldAttr Statement
HiLink cf3ReplaceWithAttr Statement
HiLink cf3SelectRegionAttr Statement
HiLink cf3ProcCountAttr Statement
HiLink cf3ProcSelectAttr Statement
HiLink cf3EditDefAttr Statement
HiLink cf3LocationAttr Statement
HiLink cf3BodyFileSelectAttr Statement
HiLink cf3BodyClassesAttr Statement
HiLink cf3BodyLinkFromAttr Statement
HiLink cf3BodyPermsAttr Statement
HiLink cf3BodyACLAttr Statement
HiLink cf3BodyDepthSearchAttr Statement
HiLink cf3BodyDeleteAttr Statement
HiLink cf3BodyRenameAttr Statement
HiLink cf3BodyChangesAttr Statement
HiLink cf3BodyPackageMethodAttr Statement
HiLink cf3BodyPackageModuleAttr Statement
HiLink cf3BodyActionAttr Statement
HiLink cf3BodyContainAttr Statement
HiLink cf3BodyCopyFromAttr Statement
HiLink cf3BodyVolumeAttr Statement
HiLink cf3BodyMountAttr Statement
HiLink cf3BodyServiceMethodAttr Statement
HiLink cf3BodyDatabaseServerAttr Statement
HiLink cf3BodyEnvResourcesAttr Statement
HiLink cf3BodyMatchValueAttr Statement
HiLink cf3BodyServiceMethodAttr Statement
HiLink cf3BodyEnvInterfaceAttr Statement
HiLink cf3BodyServerControlAttr Statement
HiLink cf3BodyAgentControlAttr Statement
HiLink cf3BodyExecutorControlAttr Statement
HiLink cf3BodyEditDefsAttr Statement
HiLink cf3BodyInsertSelectAttr Statement
HiLink cf3BodyDeleteSelectAttr Statement
HiLink cf3BodyMonitorControlAttr Statement
HiLink cf3BodyPrintfileAttr Statement
delcommand HiLink
endif
let b:current_syntax = "cf3"
" }}}
" Folding {{{
function! CF3Folds()
let line = getline(v:lnum)
" Don't include blank lines in previous fold {{{
if line =~? '\v^\s*$'
return '-1'
endif
" }}}
" Don't include comments in the previous fold {{{
if line =~? '\v^\s*#.*$'
return '-1'
endif
" }}}
" Fold bodies/bundles {{{
let body_types = [
\"^bundle",
\"^body"
\ ]
for type in body_types
if line =~ type
return ">1"
endif
endfor
" }}}
" Fold promises {{{
let promise_types = [
\"meta:",
\"vars:",
\"defaults:",
\"classes:",
\"users:",
\"files:",
\"packages:",
\"guest_environments:",
\"methods:",
\"processes:",
\"services:",
\"commands:",
\"storage:",
\"databases:",
\"access:",
\"roles:",
\"measurements:",
\"reports:",
\ ]
for promise_type in promise_types
if line =~ promise_type
return ">2"
endif
endfor
" }}}
" TODO:
" - fold lists
" - include trailing }'s in fdl 1
" If nothing matches, keep the previous foldlevel
return '='
endfunction
setlocal foldmethod=expr
setlocal foldexpr=CF3Folds()
" }}}
" CREDITS
" Neil Watson <neil@watson-wilson.ca>
" Aleksey Tsalolikhin
" John Coleman of Yale U
" Matt Lesko
" Ivan Pesin
" Zach Himsel
"
" vim_cf3 files (https://github.com/neilhwatson/vim_cf3)
" Copyright (C) 2011 Neil H. Watson <neil@watson-wilson.ca>
"
" This program is free software: you can redistribute it and/or modify it under
" the terms of the GNU General Public License as published by the Free Software
" Foundation, either version 3 of the License, or (at your option) any later
" version.
"
" This program is distributed in the hope that it will be useful, but WITHOUT ANY
" WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
" PARTICULAR PURPOSE. See the GNU General Public License for more details.
"
" You should have received a copy of the GNU General Public License along with
" this program. If not, see <http://www.gnu.org/licenses/>.