diff options
31 files changed, 1225 insertions, 2702 deletions
diff --git a/.vim/UltiSnips/dockerfile.snippets b/.vim/UltiSnips/dockerfile.snippets index 304a00a..c8d7502 100644 --- a/.vim/UltiSnips/dockerfile.snippets +++ b/.vim/UltiSnips/dockerfile.snippets @@ -1,7 +1,7 @@ # vim: ft=snippets: -snippet skel "skeleton" b -#syntax=docker/dockerfile:1-experimental +snippet FROM:skel "skeleton" b +#syntax=docker/dockerfile:1.2 FROM docker.io/library/alpine:3${1} $0 @@ -9,24 +9,23 @@ $0 #vim: ft=Dockerfile: endsnippet -snippet from:buildpl "FROM --platform=$BUILDPLATFORM" +snippet FROM:alpine "FROM --platform=$BUILDPLATFORM" FROM --platform=$BUILDPLATFORM docker.io/library/alpine:3${1} AS base ARG TARGETPLATFORM RUN apk -U add --no-cache $0 endsnippet -snippet from:final "FROM scratch AS final" +snippet FROM:final "FROM scratch AS final" FROM scratch AS final COPY --from=build /out/* / endsnippet -snippet run "RUN" b -RUN --mount=type=bind,target=. \ - --mount=type=cache,target=/root/.cache \ +snippet RUN "RUN" b +RUN --mount=target=. \ + --mount=target=${1:/root/.cache},type=cache \ ${0} endsnippet -snippet xx "tonistiigi/xx" b +snippet FROM:xx "tonistiigi/xx" b FROM --platform=$BUILDPLATFORM docker.io/tonistiigi/xx:${1:golang} AS xx -${0}COPY --from=xx / / endsnippet diff --git a/.vim/UltiSnips/tex.snippets b/.vim/UltiSnips/tex.snippets index bc92b06..de9a974 100644 --- a/.vim/UltiSnips/tex.snippets +++ b/.vim/UltiSnips/tex.snippets @@ -1,18 +1,3 @@ -snippet \begin "begin{} .. end{}" bA -\begin{$1}$2 -$0 -\end{$1} -endsnippet - -snippet $$ "math env $$" wA -$${1}$ $0 -endsnippet -snippet \[ "math block \[" iA -\[ - ${1:${VISUAL}} -.\] $0 -endsnippet - snippet frac "\\frac" iA \\frac{$1}{$2}$0 endsnippet @@ -30,7 +15,7 @@ snippet -> "\to" wA \to endsnippet -snippet latex "\documentclass{report}" +snippet report "\documentclass{report}" \documentclass{report} \usepackage[a4paper,margin=30truemm]{geometry} \usepackage{polyglossia} @@ -41,10 +26,9 @@ snippet latex "\documentclass{report}" \title{$1} \author{Robert Günzler} -\date{`!v strftime('%Y-%m-%d')`} +\date{\today} \begin{document} -\title{awesome title} $0 diff --git a/.vim/colors/misc.vim b/.vim/colors/misc.vim deleted file mode 100644 index 6583470..0000000 --- a/.vim/colors/misc.vim +++ /dev/null @@ -1,36 +0,0 @@ -" SignColumn should match background -hi! clear SignColumn - -" nvim-treesitter/nvim-treesitter {{{ -hi! link TSPunctDelimiter Delimiter -hi! link TSPunctBracket Delimiter -hi! link TSPunctSpecial Special -hi! link TSConstant Constant -hi! link TSConstBuiltin Constant -hi! link TSConstMacro Macro -hi! link TSString String -hi! link TSStringRegex String -hi! link TSStringEscape SpecialChar -hi! link TSCharacter Character -hi! link TSNumber Number -hi! link TSBoolean Boolean -hi! link TSFloat Float -hi! link TSFunction Function -hi! link TSFuncBuiltin Function -hi! link TSFuncMacro Macro -hi! link TSParameter Identifier -hi! link TSMethod Function -hi! link TSField Typedef -hi! link TSProperty Typedef -hi! link TSConstructor Define -hi! link TSConditional Conditional -hi! link TSRepeat Repeat -hi! link TSLabel Label -hi! link TSOperator Operator -hi! link TSKeyword Keyword -hi! link TSException Exception -hi! link TSType Type -hi! link TSTypeBuiltin Type -hi! link TSStructure Structure -hi! link TSInclude Include -" }}} diff --git a/.vim/colors/nihoncolors.vim b/.vim/colors/nihoncolors.vim deleted file mode 100644 index 1919466..0000000 --- a/.vim/colors/nihoncolors.vim +++ /dev/null @@ -1,1258 +0,0 @@ -" Theme: nihoncolors -" Author: robertgzr <r@gnzler.io> -" License: MIT -" Source: http://git.sr.ht/~robertgzr/nihoncolors/ -" -" A lot of this is based on Nikyle Nguyen's PaperColor theme: -" http://github.com/NLKNguyen/papercolor-theme - -hi clear -syntax reset -let g:colors_name = "nihoncolors" - -let s:transparent_background = 0 -if exists("g:nihoncolors_transparent_background") - let s:transparent_background = g:nihoncolors_transparent_background -endif - -" palette -let color00 = '#1c1c1c' -let color01 = '#e03c8a' -let color02 = '#90b44b' -let color03 = '#caad5f' -let color04 = '#58b2dc' -let color05 = '#828282' -let color06 = '#e3916e' -let color07 = '#bdc0ba' -let color08 = '#535953' -let color09 = '#86c166' -let color10 = '#ddd23b' -let color11 = '#b28fce' -let color12 = '#ffb11b' -let color13 = '#66bab7' -let color14 = '#77969a' -let color15 = '#fffffb' - -" set color variables {{{ - -let s:ft_bold = " cterm=bold gui=bold " -let s:ft_none = " cterm=none gui=none " -let s:ft_reverse = " cterm=reverse gui=reverse " -let s:ft_italic = " cterm=italic gui=italic " -let s:ft_italic_bold = " cterm=italic,bold gui=italic,bold " - -" we don't care about cterm -fun! s:create_color_variables(color_name, rich_color) - let {'s:fg_' . a:color_name} = ' guifg=' . a:rich_color . ' ' - let {'s:bg_' . a:color_name} = ' guibg=' . a:rich_color . ' ' -endfun - -call s:create_color_variables('background', color00) -call s:create_color_variables('foreground', color07) -call s:create_color_variables('nontext', color08) -call s:create_color_variables('negative', color01) -call s:create_color_variables('positive', color02) -call s:create_color_variables('highlight', color15) -call s:create_color_variables('comment', color05) -call s:create_color_variables('neutral', color04) -" TODO get rid of this -call s:create_color_variables('navy', color06) " storageclass -call s:create_color_variables('olive', color03) " string -call s:create_color_variables('red', color09) " import / try/catch -call s:create_color_variables('pink', color10) " statement, type -call s:create_color_variables('purple', color11) " if / conditional -call s:create_color_variables('accent', color12) -call s:create_color_variables('orange', color13) " number -call s:create_color_variables('blue', color14) " other keyword -call s:create_color_variables('aqua', color14) -call s:create_color_variables('green', color13) -call s:create_color_variables('wine', color11) - -call s:create_color_variables('cursor_fg', color00) -call s:create_color_variables('cursor_bg', color15) - -call s:create_color_variables('cursorline', color00) -call s:create_color_variables('cursorcolumn', color05) -call s:create_color_variables('cursorlinenr_fg', color13) -call s:create_color_variables('cursorlinenr_bg', color00) - -call s:create_color_variables('popupmenu_fg', color03) -call s:create_color_variables('popupmenu_bg', color00) - -call s:create_color_variables('search_fg', color00) -call s:create_color_variables('search_bg', color15) - -call s:create_color_variables('todo_fg', color05) -call s:create_color_variables('todo_bg', color00) - -call s:create_color_variables('error_fg', color01) -call s:create_color_variables('error_bg', color00) - -call s:create_color_variables('matchparen_fg', color00) -call s:create_color_variables('matchparen_bg', color05) - -call s:create_color_variables('visual_fg', color08) -call s:create_color_variables('visual_bg', color07) - -call s:create_color_variables('vertsplit_fg', color15) -call s:create_color_variables('vertsplit_bg', color00) - -call s:create_color_variables('statusline_active_fg', color15) -call s:create_color_variables('statusline_active_bg', color00) -call s:create_color_variables('statusline_inactive_fg', color07) -call s:create_color_variables('statusline_inactive_bg', color08) - -call s:create_color_variables('linenumber_fg', color08) -call s:create_color_variables('linenumber_bg', color00) - -call s:create_color_variables('transparent', 'none') -call s:create_color_variables('folded_fg', color11) -call s:create_color_variables('folded_bg', color00) - -call s:create_color_variables('wildmenu_fg', color00) -call s:create_color_variables('wildmenu_bg', color08) - -call s:create_color_variables('tabline_bg', color00) -call s:create_color_variables('tabline_active_fg', color07) -call s:create_color_variables('tabline_active_bg', color00) -call s:create_color_variables('tabline_inactive_fg', color07) -call s:create_color_variables('tabline_inactive_bg', color08) - -call s:create_color_variables('buftabline_bg', color00) -call s:create_color_variables('buftabline_current_fg', color07) -call s:create_color_variables('buftabline_current_bg', color05) -call s:create_color_variables('buftabline_active_fg', color07) -call s:create_color_variables('buftabline_active_bg', color12) -call s:create_color_variables('buftabline_inactive_fg', color07) -call s:create_color_variables('buftabline_inactive_bg', color00) - -call s:create_color_variables('diffadd_fg', color02) -call s:create_color_variables('diffadd_bg', color00) -call s:create_color_variables('diffdelete_fg', color01) -call s:create_color_variables('diffdelete_bg', color00) -call s:create_color_variables('difftext_fg', color10) -call s:create_color_variables('difftext_bg', color00) -call s:create_color_variables('diffchange_fg', color04) -call s:create_color_variables('diffchange_bg', color00) - -call s:create_color_variables('spellbad', color04) -call s:create_color_variables('spellcap', color05) -call s:create_color_variables('spellrare', color06) -call s:create_color_variables('spelllocal', color01) -" }}} - -if s:transparent_background - exec 'hi Normal' . s:fg_foreground - " Switching between dark & light variant through `set background` - " NOTE: Handle background switching right after `Normal` group because of - " God-know-why reason. Not doing this way had caused issue before - set background=dark - exec 'hi NonText' . s:fg_nontext - exec 'hi LineNr' . s:fg_linenumber_fg - exec 'hi Conceal' . s:fg_linenumber_fg - exec 'hi VertSplit' . s:fg_vertsplit_fg . s:ft_none - " TODO check this out.... - exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_transparent . s:ft_none -else - exec 'hi Normal' . s:fg_foreground . s:bg_background - set background=dark - exec 'hi EndOfBuffer' . s:fg_cursor_fg . s:ft_none - exec 'hi NonText' . s:fg_nontext . s:bg_background - exec 'hi LineNr' . s:fg_linenumber_fg . s:bg_linenumber_bg - exec 'hi Conceal' . s:fg_linenumber_fg . s:bg_linenumber_bg - exec 'hi VertSplit' . s:fg_vertsplit_bg . s:bg_vertsplit_fg - " TODO here too ^ - exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_background . s:ft_none -endif - -exec 'hi Cursor' . s:fg_cursor_fg . s:bg_cursor_bg -exec 'hi SpecialKey' . s:fg_nontext -exec 'hi Search' . s:fg_search_fg . s:bg_search_bg -exec 'hi StatusLine' . s:fg_statusline_active_bg . s:bg_statusline_active_fg -exec 'hi StatusLineNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg -exec 'hi StatusLineTerm' . s:fg_statusline_active_bg . s:bg_statusline_active_fg -exec 'hi StatusLineTermNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg - -exec 'hi Visual' . s:fg_visual_fg . s:bg_visual_bg -exec 'hi Directory' . s:fg_blue -exec 'hi ModeMsg' . s:fg_olive -exec 'hi MoreMsg' . s:fg_olive -exec 'hi Question' . s:fg_olive -exec 'hi WarningMsg' . s:fg_pink -exec 'hi MatchParen' . s:fg_matchparen_fg . s:bg_matchparen_bg -exec 'hi Folded' . s:fg_folded_fg . s:bg_folded_bg -exec 'hi WildMenu' . s:fg_wildmenu_fg . s:bg_wildmenu_bg . s:ft_bold - -if version >= 700 - exec 'hi CursorLine' . s:bg_cursorline . s:ft_none - exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg . s:ft_none - exec 'hi CursorColumn' . s:bg_cursorcolumn . s:ft_none - exec 'hi PMenu' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none - exec 'hi PMenuSel' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_reverse - if s:transparent_background - exec 'hi SignColumn' . s:bg_transparent . s:ft_none - else - exec 'hi SignColumn' . s:fg_green . s:bg_background . s:ft_none - endif -end -if version >= 703 - exec 'hi ColorColumn' . ' guibg=#292929 ' . s:ft_none -end - -exec 'hi TabLine' . s:fg_tabline_inactive_fg . s:bg_tabline_inactive_bg . s:ft_none -exec 'hi TabLineFill' . s:fg_tabline_bg . s:bg_tabline_bg . s:ft_none -exec 'hi TabLineSel' . s:fg_tabline_active_fg . s:bg_tabline_active_bg . s:ft_none - -exec 'hi BufTabLineCurrent' . s:fg_buftabline_current_fg . s:bg_buftabline_current_bg . s:ft_none -exec 'hi BufTabLineActive' . s:fg_buftabline_active_fg . s:bg_buftabline_active_bg . s:ft_none -exec 'hi BufTabLineHidden' . s:fg_buftabline_inactive_fg . s:bg_buftabline_inactive_bg . s:ft_none -exec 'hi BufTabLineFill' . s:bg_buftabline_bg . s:ft_none - -" --- Standard Group Highlighting {{{ - -exec 'hi Comment' . s:fg_comment . s:ft_italic - -exec 'hi Constant' . s:fg_orange -exec 'hi String' . s:fg_olive -exec 'hi Character' . s:fg_olive -exec 'hi Number' . s:fg_orange -exec 'hi Boolean' . s:fg_green . s:ft_bold -exec 'hi Float' . s:fg_orange - -exec 'hi Identifier' . s:fg_navy -exec 'hi Function' . s:fg_foreground - -exec 'hi Statement' . s:fg_pink . s:ft_none -exec 'hi Conditional' . s:fg_purple . s:ft_bold -exec 'hi Repeat' . s:fg_purple . s:ft_bold -exec 'hi Label' . s:fg_blue -exec 'hi Operator' . s:fg_aqua . s:ft_none -exec 'hi Keyword' . s:fg_blue -exec 'hi Exception' . s:fg_red - -exec 'hi PreProc' . s:fg_blue -exec 'hi Include' . s:fg_red -exec 'hi Define' . s:fg_blue -exec 'hi Macro' . s:fg_blue -exec 'hi PreCondit' . s:fg_aqua - -exec 'hi Type' . s:fg_pink . s:ft_bold -exec 'hi StorageClass' . s:fg_navy . s:ft_bold -exec 'hi Structure' . s:fg_blue . s:ft_bold -exec 'hi Typedef' . s:fg_pink . s:ft_bold - -exec 'hi Special' . s:fg_foreground -exec 'hi SpecialChar' . s:fg_foreground -exec 'hi Tag' . s:fg_green -exec 'hi Delimiter' . s:fg_aqua -exec 'hi SpecialComment' . s:fg_comment . s:ft_bold -exec 'hi Debug' . s:fg_orange - -exec 'hi Error' . s:fg_error_fg . s:bg_error_bg -exec 'hi Todo' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold - -exec 'hi Title' . s:fg_comment -exec 'hi Global' . s:fg_blue - -" --- end of Standard Group Highlighting }}} - -" --- Language Highlighting {{{ - -" VimL Highlighting -exec 'hi vimCommand' . s:fg_pink -exec 'hi vimVar' . s:fg_navy -exec 'hi vimFuncKey' . s:fg_pink -exec 'hi vimFunction' . s:fg_blue . s:ft_bold -exec 'hi vimNotFunc' . s:fg_pink -exec 'hi vimMap' . s:fg_red -exec 'hi vimAutoEvent' . s:fg_aqua . s:ft_bold -exec 'hi vimMapModKey' . s:fg_aqua -exec 'hi vimFuncName' . s:fg_purple -exec 'hi vimIsCommand' . s:fg_foreground -exec 'hi vimFuncVar' . s:fg_aqua -exec 'hi vimLet' . s:fg_red -exec 'hi vimContinue' . s:fg_aqua -exec 'hi vimMapRhsExtend' . s:fg_foreground -exec 'hi vimCommentTitle' . s:fg_comment . s:ft_italic_bold -exec 'hi vimBracket' . s:fg_aqua -exec 'hi vimParenSep' . s:fg_aqua -exec 'hi vimNotation' . s:fg_aqua -exec 'hi vimOper' . s:fg_foreground -exec 'hi vimOperParen' . s:fg_foreground -exec 'hi vimSynType' . s:fg_purple -exec 'hi vimSynReg' . s:fg_pink . s:ft_none -exec 'hi vimSynRegion' . s:fg_foreground -exec 'hi vimSynMtchGrp' . s:fg_pink -exec 'hi vimSynNextgroup' . s:fg_pink -exec 'hi vimSynKeyRegion' . s:fg_green -exec 'hi vimSynRegOpt' . s:fg_blue -exec 'hi vimSynMtchOpt' . s:fg_blue -exec 'hi vimSynContains' . s:fg_pink -exec 'hi vimGroupName' . s:fg_foreground -exec 'hi vimGroupList' . s:fg_foreground -exec 'hi vimHiGroup' . s:fg_foreground -exec 'hi vimGroup' . s:fg_navy . s:ft_bold -exec 'hi vimOnlyOption' . s:fg_blue - -" Makefile Highlighting -exec 'hi makeIdent' . s:fg_blue -exec 'hi makeSpecTarget' . s:fg_olive -exec 'hi makeTarget' . s:fg_red -exec 'hi makeStatement' . s:fg_aqua . s:ft_bold -exec 'hi makeCommands' . s:fg_foreground -exec 'hi makeSpecial' . s:fg_orange . s:ft_bold - -" CMake Highlighting (Builtin) -exec 'hi cmakeStatement' . s:fg_blue -exec 'hi cmakeArguments' . s:fg_foreground -exec 'hi cmakeVariableValue' . s:fg_pink - -" CMake Highlighting (Plugin: https://github.com/pboettch/vim-cmake-syntax) -exec 'hi cmakeCommand' . s:fg_blue -exec 'hi cmakeCommandConditional' . s:fg_purple . s:ft_bold -exec 'hi cmakeKWset' . s:fg_orange -exec 'hi cmakeKWvariable_watch' . s:fg_orange -exec 'hi cmakeKWif' . s:fg_orange -exec 'hi cmakeArguments' . s:fg_foreground -exec 'hi cmakeKWproject' . s:fg_pink -exec 'hi cmakeGeneratorExpressions' . s:fg_orange -exec 'hi cmakeGeneratorExpression' . s:fg_aqua -exec 'hi cmakeVariable' . s:fg_pink -exec 'hi cmakeProperty' . s:fg_aqua -exec 'hi cmakeKWforeach' . s:fg_aqua -exec 'hi cmakeKWunset' . s:fg_aqua -exec 'hi cmakeKWmacro' . s:fg_aqua -exec 'hi cmakeKWget_property' . s:fg_aqua -exec 'hi cmakeKWset_tests_properties' . s:fg_aqua -exec 'hi cmakeKWmessage' . s:fg_aqua -exec 'hi cmakeKWinstall_targets' . s:fg_orange -exec 'hi cmakeKWsource_group' . s:fg_orange -exec 'hi cmakeKWfind_package' . s:fg_aqua -exec 'hi cmakeKWstring' . s:fg_olive -exec 'hi cmakeKWinstall' . s:fg_aqua -exec 'hi cmakeKWtarget_sources' . s:fg_orange - -" C Highlighting -exec 'hi cType' . s:fg_pink . s:ft_bold -exec 'hi cFormat' . s:fg_olive -exec 'hi cStorageClass' . s:fg_navy . s:ft_bold - -exec 'hi cBoolean' . s:fg_green . s:ft_bold -exec 'hi cCharacter' . s:fg_olive -exec 'hi cConstant' . s:fg_green . s:ft_bold -exec 'hi cConditional' . s:fg_purple . s:ft_bold -exec 'hi cSpecial' . s:fg_olive . s:ft_bold -exec 'hi cDefine' . s:fg_blue -exec 'hi cNumber' . s:fg_orange -exec 'hi cPreCondit' . s:fg_aqua -exec 'hi cRepeat' . s:fg_purple . s:ft_bold -exec 'hi cLabel' . s:fg_aqua -" exec 'hi cAnsiFunction' . s:fg_aqua . s:ft_bold -" exec 'hi cAnsiName' . s:fg_pink -exec 'hi cDelimiter' . s:fg_blue -" exec 'hi cBraces' . s:fg_foreground -" exec 'hi cIdentifier' . s:fg_blue . s:bg_pink -" exec 'hi cSemiColon' . s:bg_blue -exec 'hi cOperator' . s:fg_aqua -" exec 'hi cStatement' . s:fg_pink -" exec 'hi cTodo' . s:fg_comment . s:ft_bold -" exec 'hi cStructure' . s:fg_blue . s:ft_bold -exec 'hi cCustomParen' . s:fg_foreground -" exec 'hi cCustomFunc' . s:fg_foreground -" exec 'hi cUserFunction' . s:fg_blue . s:ft_bold -exec 'hi cOctalZero' . s:fg_purple . s:ft_bold -exec 'hi cFunction' . s:fg_blue -" exec 'hi cFunction' . s:fg_foreground - -" CPP highlighting -exec 'hi cppBoolean' . s:fg_green . s:ft_bold -exec 'hi cppSTLnamespace' . s:fg_purple -exec 'hi cppSTLexception' . s:fg_pink -exec 'hi cppSTLfunctional' . s:fg_foreground . s:ft_bold -exec 'hi cppSTLiterator' . s:fg_foreground . s:ft_bold -exec 'hi cppExceptions' . s:fg_red -exec 'hi cppStatement' . s:fg_blue -exec 'hi cppStorageClass' . s:fg_navy . s:ft_bold -exec 'hi cppAccess' . s:fg_orange . s:ft_bold -" exec 'hi cppSTL' . s:fg_blue -" highlight standard library -exec 'hi cppSTLconstant' . s:fg_green . s:ft_bold -exec 'hi cppSTLtype' . s:fg_pink . s:ft_bold -exec 'hi cppSTLfunction' . s:fg_blue -exec 'hi cppSTLios' . s:fg_olive . s:ft_bold -" DON'T highlight standard library -" exec 'hi cppSTLconstant' . s:fg_foreground -" exec 'hi cppSTLtype' . s:fg_foreground -" exec 'hi cppSTLfunction' . s:fg_foreground -" exec 'hi cppSTLios' . s:fg_foreground - -" Rust highlighting -exec 'hi rustKeyword' . s:fg_pink -exec 'hi rustModPath' . s:fg_blue -exec 'hi rustModPathSep' . s:fg_blue -exec 'hi rustLifetime' . s:fg_purple -exec 'hi rustStructure' . s:fg_aqua . s:ft_bold -exec 'hi rustAttribute' . s:fg_aqua . s:ft_bold -exec 'hi rustPanic' . s:fg_olive . s:ft_bold -exec 'hi rustTrait' . s:fg_blue . s:ft_bold -exec 'hi rustEnum' . s:fg_green . s:ft_bold -exec 'hi rustEnumVariant' . s:fg_green -exec 'hi rustSelf' . s:fg_orange -exec 'hi rustSigil' . s:fg_aqua . s:ft_bold -exec 'hi rustOperator' . s:fg_aqua . s:ft_bold -exec 'hi rustMacro' . s:fg_olive . s:ft_bold -exec 'hi rustMacroVariable' . s:fg_olive -exec 'hi rustAssert' . s:fg_olive . s:ft_bold -exec 'hi rustConditional' . s:fg_purple . s:ft_bold - -" Lex highlighting -exec 'hi lexCFunctions' . s:fg_foreground -exec 'hi lexAbbrv' . s:fg_purple -exec 'hi lexAbbrvRegExp' . s:fg_aqua -exec 'hi lexAbbrvComment' . s:fg_comment -exec 'hi lexBrace' . s:fg_navy -exec 'hi lexPat' . s:fg_aqua -exec 'hi lexPatComment' . s:fg_comment -exec 'hi lexPatTag' . s:fg_orange -" exec 'hi lexPatBlock' . s:fg_foreground . s:ft_bold -exec 'hi lexSlashQuote' . s:fg_foreground -exec 'hi lexSep' . s:fg_foreground -exec 'hi lexStartState' . s:fg_orange -exec 'hi lexPatTagZone' . s:fg_olive . s:ft_bold -exec 'hi lexMorePat' . s:fg_olive . s:ft_bold -exec 'hi lexOptions' . s:fg_olive . s:ft_bold -exec 'hi lexPatString' . s:fg_olive - -" Yacc highlighting -exec 'hi yaccNonterminal' . s:fg_navy -exec 'hi yaccDelim' . s:fg_orange -exec 'hi yaccInitKey' . s:fg_aqua -exec 'hi yaccInit' . s:fg_navy -exec 'hi yaccKey' . s:fg_purple -exec 'hi yaccVar' . s:fg_aqua - -" NASM highlighting -exec 'hi nasmStdInstruction' . s:fg_navy -exec 'hi nasmGen08Register' . s:fg_aqua -exec 'hi nasmGen16Register' . s:fg_aqua -exec 'hi nasmGen32Register' . s:fg_aqua -exec 'hi nasmGen64Register' . s:fg_aqua -exec 'hi nasmHexNumber' . s:fg_purple -exec 'hi nasmStorage' . s:fg_aqua . s:ft_bold -exec 'hi nasmLabel' . s:fg_pink -exec 'hi nasmDirective' . s:fg_blue . s:ft_bold -exec 'hi nasmLocalLabel' . s:fg_orange - -" GAS highlighting -exec 'hi gasSymbol' . s:fg_pink -exec 'hi gasDirective' . s:fg_blue . s:ft_bold -exec 'hi gasOpcode_386_Base' . s:fg_navy -exec 'hi gasDecimalNumber' . s:fg_purple -exec 'hi gasSymbolRef' . s:fg_pink -exec 'hi gasRegisterX86' . s:fg_blue -exec 'hi gasOpcode_P6_Base' . s:fg_navy -exec 'hi gasDirectiveStore' . s:fg_foreground . s:ft_bold - -" MIPS highlighting -exec 'hi mipsInstruction' . s:fg_pink -exec 'hi mipsRegister' . s:fg_navy -exec 'hi mipsLabel' . s:fg_aqua . s:ft_bold -exec 'hi mipsDirective' . s:fg_purple . s:ft_bold - -" Shell/Bash highlighting -exec 'hi bashStatement' . s:fg_foreground . s:ft_bold -exec 'hi shDerefVar' . s:fg_aqua . s:ft_bold -exec 'hi shDerefSimple' . s:fg_aqua -exec 'hi shFunction' . s:fg_orange . s:ft_bold -exec 'hi shStatement' . s:fg_foreground -exec 'hi shLoop' . s:fg_purple . s:ft_bold -exec 'hi shQuote' . s:fg_olive -exec 'hi shCaseEsac' . s:fg_aqua . s:ft_bold -exec 'hi shSnglCase' . s:fg_purple . s:ft_none -exec 'hi shFunctionOne' . s:fg_navy -exec 'hi shCase' . s:fg_navy -exec 'hi shSetList' . s:fg_navy -" @see Dockerfile Highlighting section for more sh* - -" PowerShell Highlighting -exec 'hi ps1Type' . s:fg_green . s:ft_bold -exec 'hi ps1Variable' . s:fg_navy -exec 'hi ps1Boolean' . s:fg_navy . s:ft_bold -exec 'hi ps1FunctionInvocation' . s:fg_pink -exec 'hi ps1FunctionDeclaration' . s:fg_pink -exec 'hi ps1Keyword' . s:fg_blue . s:ft_bold -exec 'hi ps1Exception' . s:fg_red -exec 'hi ps1Operator' . s:fg_aqua . s:ft_bold -exec 'hi ps1CommentDoc' . s:fg_purple -exec 'hi ps1CDocParam' . s:fg_orange - -" HTML Highlighting -exec 'hi htmlTitle' . s:fg_green . s:ft_bold -exec 'hi htmlH1' . s:fg_green . s:ft_bold -exec 'hi htmlH2' . s:fg_aqua . s:ft_bold -exec 'hi htmlH3' . s:fg_purple . s:ft_bold -exec 'hi htmlH4' . s:fg_orange . s:ft_bold -exec 'hi htmlTag' . s:fg_comment -exec 'hi htmlTagName' . s:fg_wine -exec 'hi htmlArg' . s:fg_pink -exec 'hi htmlEndTag' . s:fg_comment -exec 'hi htmlString' . s:fg_blue -exec 'hi htmlScriptTag' . s:fg_comment -exec 'hi htmlBold' . s:fg_foreground . s:ft_bold -exec 'hi htmlItalic' . s:fg_comment . s:ft_italic -exec 'hi htmlBoldItalic' . s:fg_navy . s:ft_italic_bold -" exec 'hi htmlLink' . s:fg_blue . s:ft_bold -exec 'hi htmlTagN' . s:fg_wine . s:ft_bold -exec 'hi htmlSpecialTagName' . s:fg_wine -exec 'hi htmlComment' . s:fg_comment . s:ft_italic -exec 'hi htmlCommentPart' . s:fg_comment . s:ft_italic - -" CSS Highlighting -exec 'hi cssIdentifier' . s:fg_pink -exec 'hi cssPositioningProp' . s:fg_foreground -exec 'hi cssNoise' . s:fg_foreground -exec 'hi cssBoxProp' . s:fg_foreground -exec 'hi cssTableAttr' . s:fg_purple -exec 'hi cssPositioningAttr' . s:fg_navy -exec 'hi cssValueLength' . s:fg_orange -exec 'hi cssFunctionName' . s:fg_blue -exec 'hi cssUnitDecorators' . s:fg_aqua -exec 'hi cssColor' . s:fg_blue . s:ft_bold -exec 'hi cssBraces' . s:fg_pink -exec 'hi cssBackgroundProp' . s:fg_foreground -exec 'hi cssTextProp' . s:fg_foreground -exec 'hi cssDimensionProp' . s:fg_foreground -exec 'hi cssClassName' . s:fg_pink - -" Markdown Highlighting -exec 'hi markdownHeadingRule' . s:fg_pink . s:ft_bold -exec 'hi markdownH1' . s:fg_pink . s:ft_bold -exec 'hi markdownH2' . s:fg_orange . s:ft_bold -exec 'hi markdownBlockquote' . s:fg_pink -exec 'hi markdownCodeBlock' . s:fg_olive -exec 'hi markdownCode' . s:fg_olive -exec 'hi markdownLink' . s:fg_blue . s:ft_bold -exec 'hi markdownUrl' . s:fg_blue -exec 'hi markdownLinkText' . s:fg_pink -exec 'hi markdownLinkTextDelimiter' . s:fg_purple -exec 'hi markdownLinkDelimiter' . s:fg_purple -exec 'hi markdownCodeDelimiter' . s:fg_blue - -exec 'hi mkdCode' . s:fg_olive -exec 'hi mkdLink' . s:fg_blue . s:ft_bold -exec 'hi mkdURL' . s:fg_comment -exec 'hi mkdString' . s:fg_foreground -exec 'hi mkdBlockQuote' . s:fg_pink -exec 'hi mkdLinkTitle' . s:fg_pink -exec 'hi mkdDelimiter' . s:fg_aqua -exec 'hi mkdRule' . s:fg_pink - -" reStructuredText Highlighting -exec 'hi rstSections' . s:fg_pink . s:ft_bold -exec 'hi rstDelimiter' . s:fg_pink . s:ft_bold -exec 'hi rstExplicitMarkup' . s:fg_pink . s:ft_bold -exec 'hi rstDirective' . s:fg_blue -exec 'hi rstHyperlinkTarget' . s:fg_green -exec 'hi rstExDirective' . s:fg_foreground -exec 'hi rstInlineLiteral' . s:fg_olive -exec 'hi rstInterpretedTextOrHyperlinkReference' . s:fg_blue - -" Python Highlighting -exec 'hi pythonImport' . s:fg_pink . s:ft_bold -exec 'hi pythonExceptions' . s:fg_red -exec 'hi pythonException' . s:fg_purple . s:ft_bold -exec 'hi pythonInclude' . s:fg_red -exec 'hi pythonStatement' . s:fg_pink -exec 'hi pythonConditional' . s:fg_purple . s:ft_bold -exec 'hi pythonRepeat' . s:fg_purple . s:ft_bold -exec 'hi pythonFunction' . s:fg_aqua . s:ft_bold -exec 'hi pythonPreCondit' . s:fg_purple -exec 'hi pythonExClass' . s:fg_orange -exec 'hi pythonOperator' . s:fg_purple . s:ft_bold -exec 'hi pythonBuiltin' . s:fg_foreground -exec 'hi pythonDecorator' . s:fg_orange - -exec 'hi pythonString' . s:fg_olive -exec 'hi pythonEscape' . s:fg_olive . s:ft_bold -exec 'hi pythonStrFormatting' . s:fg_olive . s:ft_bold - -exec 'hi pythonBoolean' . s:fg_green . s:ft_bold -exec 'hi pythonBytesEscape' . s:fg_olive . s:ft_bold -exec 'hi pythonDottedName' . s:fg_purple -exec 'hi pythonStrFormat' . s:fg_foreground - -exec 'hi pythonBuiltinFunc' . s:fg_blue -exec 'hi pythonBuiltinObj' . s:fg_red -" exec 'hi pythonBuiltinFunc' . s:fg_foreground -" exec 'hi pythonBuiltinObj' . s:fg_foreground - -" Java Highlighting -exec 'hi javaExternal' . s:fg_pink -exec 'hi javaAnnotation' . s:fg_orange -exec 'hi javaTypedef' . s:fg_aqua -exec 'hi javaClassDecl' . s:fg_aqua . s:ft_bold -exec 'hi javaScopeDecl' . s:fg_blue . s:ft_bold -exec 'hi javaStorageClass' . s:fg_navy . s:ft_bold -exec 'hi javaBoolean' . s:fg_green . s:ft_bold -exec 'hi javaConstant' . s:fg_blue -exec 'hi javaCommentTitle' . s:fg_wine -exec 'hi javaDocTags' . s:fg_aqua -exec 'hi javaDocComment' . s:fg_comment -exec 'hi javaDocParam' . s:fg_foreground -exec 'hi javaStatement' . s:fg_pink - -" JavaScript Highlighting -exec 'hi javaScriptBraces' . s:fg_blue -exec 'hi javaScriptParens' . s:fg_blue -exec 'hi javaScriptIdentifier' . s:fg_pink -exec 'hi javaScriptFunction' . s:fg_blue . s:ft_bold -exec 'hi javaScriptConditional' . s:fg_purple . s:ft_bold -exec 'hi javaScriptRepeat' . s:fg_purple . s:ft_bold -exec 'hi javaScriptBoolean' . s:fg_green . s:ft_bold -exec 'hi javaScriptNumber' . s:fg_orange -exec 'hi javaScriptMember' . s:fg_navy -exec 'hi javaScriptReserved' . s:fg_navy -exec 'hi javascriptNull' . s:fg_comment . s:ft_bold -exec 'hi javascriptGlobal' . s:fg_foreground -exec 'hi javascriptStatement' . s:fg_pink -exec 'hi javaScriptMessage' . s:fg_foreground -exec 'hi javaScriptMember' . s:fg_foreground - -" TypeScript Highlighting -exec 'hi typescriptDecorators' . s:fg_orange -exec 'hi typescriptLabel' . s:fg_purple . s:ft_bold - -" @target https://github.com/pangloss/vim-javascript -exec 'hi jsImport' . s:fg_pink . s:ft_bold -exec 'hi jsExport' . s:fg_pink . s:ft_bold -exec 'hi jsModuleAs' . s:fg_pink . s:ft_bold -exec 'hi jsFrom' . s:fg_pink . s:ft_bold -exec 'hi jsExportDefault' . s:fg_pink . s:ft_bold -exec 'hi jsFuncParens' . s:fg_blue -exec 'hi jsFuncBraces' . s:fg_blue -exec 'hi jsParens' . s:fg_blue -exec 'hi jsBraces' . s:fg_blue -exec 'hi jsNoise' . s:fg_blue - -" Jsx Highlighting -" @target https://github.com/MaxMEllon/vim-jsx-pretty -exec 'hi jsxTagName' . s:fg_wine -exec 'hi jsxComponentName' . s:fg_wine -exec 'hi jsxAttrib' . s:fg_pink -exec 'hi jsxEqual' . s:fg_comment -exec 'hi jsxString' . s:fg_blue -exec 'hi jsxCloseTag' . s:fg_comment -exec 'hi jsxCloseString' . s:fg_comment -exec 'hi jsxDot' . s:fg_wine -exec 'hi jsxNamespace' . s:fg_wine -exec 'hi jsxPunct' . s:fg_comment - -" Json Highlighting -" @target https://github.com/elzr/vim-json -exec 'hi jsonKeyword' . s:fg_blue -exec 'hi jsonString' . s:fg_olive -exec 'hi jsonQuote' . s:fg_comment -exec 'hi jsonNoise' . s:fg_foreground -exec 'hi jsonKeywordMatch' . s:fg_foreground -exec 'hi jsonBraces' . s:fg_foreground -exec 'hi jsonNumber' . s:fg_orange -exec 'hi jsonNull' . s:fg_purple . s:ft_bold -exec 'hi jsonBoolean' . s:fg_green . s:ft_bold -exec 'hi jsonCommentError' . s:fg_pink . s:bg_background - -" Go Highlighting -exec 'hi goDirective' . s:fg_red -exec 'hi goDeclaration' . s:fg_blue . s:ft_bold -exec 'hi goStatement' . s:fg_pink -exec 'hi goConditional' . s:fg_purple . s:ft_bold -exec 'hi goConstants' . s:fg_orange -exec 'hi goFunction' . s:fg_orange -" exec 'hi goTodo' . s:fg_comment . s:ft_bold -exec 'hi goDeclType' . s:fg_blue -exec 'hi goBuiltins' . s:fg_purple - -" Systemtap Highlighting -" exec 'hi stapBlock' . s:fg_comment . s:ft_none -exec 'hi stapComment' . s:fg_comment . s:ft_none -exec 'hi stapProbe' . s:fg_aqua . s:ft_bold -exec 'hi stapStat' . s:fg_navy . s:ft_bold -exec 'hi stapFunc' . s:fg_foreground -exec 'hi stapString' . s:fg_olive -exec 'hi stapTarget' . s:fg_navy -exec 'hi stapStatement' . s:fg_pink -exec 'hi stapType' . s:fg_pink . s:ft_bold -exec 'hi stapSharpBang' . s:fg_comment -exec 'hi stapDeclaration' . s:fg_pink -exec 'hi stapCMacro' . s:fg_blue - -" DTrace Highlighting -exec 'hi dtraceProbe' . s:fg_blue -exec 'hi dtracePredicate' . s:fg_purple . s:ft_bold -exec 'hi dtraceComment' . s:fg_comment -exec 'hi dtraceFunction' . s:fg_foreground -exec 'hi dtraceAggregatingFunction' . s:fg_blue . s:ft_bold -exec 'hi dtraceStatement' . s:fg_navy . s:ft_bold -exec 'hi dtraceIdentifier' . s:fg_pink -exec 'hi dtraceOption' . s:fg_pink -exec 'hi dtraceConstant' . s:fg_orange -exec 'hi dtraceType' . s:fg_pink . s:ft_bold - -" PlantUML Highlighting -exec 'hi plantumlPreProc' . s:fg_orange . s:ft_bold -exec 'hi plantumlDirectedOrVerticalArrowRL' . s:fg_pink -exec 'hi plantumlDirectedOrVerticalArrowLR' . s:fg_pink -exec 'hi plantumlString' . s:fg_olive -exec 'hi plantumlActivityThing' . s:fg_purple -exec 'hi plantumlText' . s:fg_navy -exec 'hi plantumlClassPublic' . s:fg_olive . s:ft_bold -exec 'hi plantumlClassPrivate' . s:fg_red -exec 'hi plantumlColonLine' . s:fg_orange -exec 'hi plantumlClass' . s:fg_navy -exec 'hi plantumlHorizontalArrow' . s:fg_pink -exec 'hi plantumlTypeKeyword' . s:fg_blue . s:ft_bold -exec 'hi plantumlKeyword' . s:fg_pink . s:ft_bold - -exec 'hi plantumlType' . s:fg_blue . s:ft_bold -exec 'hi plantumlBlock' . s:fg_pink . s:ft_bold -exec 'hi plantumlPreposition' . s:fg_orange -exec 'hi plantumlLayout' . s:fg_blue . s:ft_bold -exec 'hi plantumlNote' . s:fg_orange -exec 'hi plantumlLifecycle' . s:fg_aqua -exec 'hi plantumlParticipant' . s:fg_foreground . s:ft_bold - - -" Haskell Highlighting -exec 'hi haskellType' . s:fg_aqua . s:ft_bold -exec 'hi haskellIdentifier' . s:fg_orange . s:ft_bold -exec 'hi haskellOperators' . s:fg_pink -exec 'hi haskellWhere' . s:fg_foreground . s:ft_bold -exec 'hi haskellDelimiter' . s:fg_aqua -exec 'hi haskellImportKeywords' . s:fg_pink -exec 'hi haskellStatement' . s:fg_purple . s:ft_bold - - -" SQL/MySQL Highlighting -exec 'hi sqlStatement' . s:fg_pink . s:ft_bold -exec 'hi sqlType' . s:fg_blue . s:ft_bold -exec 'hi sqlKeyword' . s:fg_pink -exec 'hi sqlOperator' . s:fg_aqua -exec 'hi sqlSpecial' . s:fg_green . s:ft_bold - -exec 'hi mysqlVariable' . s:fg_olive . s:ft_bold -exec 'hi mysqlType' . s:fg_blue . s:ft_bold -exec 'hi mysqlKeyword' . s:fg_pink -exec 'hi mysqlOperator' . s:fg_aqua -exec 'hi mysqlSpecial' . s:fg_green . s:ft_bold - - -" Octave/MATLAB Highlighting -exec 'hi octaveVariable' . s:fg_foreground -exec 'hi octaveDelimiter' . s:fg_pink -exec 'hi octaveQueryVar' . s:fg_foreground -exec 'hi octaveSemicolon' . s:fg_purple -exec 'hi octaveFunction' . s:fg_navy -exec 'hi octaveSetVar' . s:fg_blue -exec 'hi octaveUserVar' . s:fg_foreground -exec 'hi octaveArithmeticOperator' . s:fg_aqua -exec 'hi octaveBeginKeyword' . s:fg_purple . s:ft_bold -exec 'hi octaveElseKeyword' . s:fg_purple . s:ft_bold -exec 'hi octaveEndKeyword' . s:fg_purple . s:ft_bold -exec 'hi octaveStatement' . s:fg_pink - -" Ruby Highlighting -exec 'hi rubyModule' . s:fg_navy . s:ft_bold -exec 'hi rubyClass' . s:fg_pink . s:ft_bold -exec 'hi rubyPseudoVariable' . s:fg_comment . s:ft_bold -exec 'hi rubyKeyword' . s:fg_pink -exec 'hi rubyInstanceVariable' . s:fg_purple -exec 'hi rubyFunction' . s:fg_foreground . s:ft_bold -exec 'hi rubyDefine' . s:fg_pink -exec 'hi rubySymbol' . s:fg_aqua -exec 'hi rubyConstant' . s:fg_blue -exec 'hi rubyAccess' . s:fg_navy -exec 'hi rubyAttribute' . s:fg_green -exec 'hi rubyInclude' . s:fg_red -exec 'hi rubyLocalVariableOrMethod' . s:fg_orange -exec 'hi rubyCurlyBlock' . s:fg_foreground -exec 'hi rubyCurlyBlockDelimiter' . s:fg_aqua -exec 'hi rubyArrayDelimiter' . s:fg_aqua -exec 'hi rubyStringDelimiter' . s:fg_olive -exec 'hi rubyInterpolationDelimiter' . s:fg_orange -exec 'hi rubyConditional' . s:fg_purple . s:ft_bold -exec 'hi rubyRepeat' . s:fg_purple . s:ft_bold -exec 'hi rubyControl' . s:fg_purple . s:ft_bold -exec 'hi rubyException' . s:fg_purple . s:ft_bold -exec 'hi rubyExceptional' . s:fg_purple . s:ft_bold -exec 'hi rubyBoolean' . s:fg_green . s:ft_bold - -" Fortran Highlighting -exec 'hi fortranUnitHeader' . s:fg_blue . s:ft_bold -exec 'hi fortranIntrinsic' . s:fg_blue . s:bg_background . s:ft_none -exec 'hi fortranType' . s:fg_pink . s:ft_bold -exec 'hi fortranTypeOb' . s:fg_pink . s:ft_bold -exec 'hi fortranStructure' . s:fg_aqua -exec 'hi fortranStorageClass' . s:fg_navy . s:ft_bold -exec 'hi fortranStorageClassR' . s:fg_navy . s:ft_bold -exec 'hi fortranKeyword' . s:fg_pink -exec 'hi fortranReadWrite' . s:fg_aqua . s:ft_bold -exec 'hi fortranIO' . s:fg_navy -exec 'hi fortranOperator' . s:fg_aqua . s:ft_bold -exec 'hi fortranCall' . s:fg_aqua . s:ft_bold -exec 'hi fortranContinueMark' . s:fg_green - -" ALGOL Highlighting (Plugin: https://github.com/sterpe/vim-algol68) -exec 'hi algol68Statement' . s:fg_blue . s:ft_bold -exec 'hi algol68Operator' . s:fg_aqua . s:ft_bold -exec 'hi algol68PreProc' . s:fg_green -exec 'hi algol68Function' . s:fg_blue - -" R Highlighting -exec 'hi rType' . s:fg_blue -exec 'hi rArrow' . s:fg_pink -exec 'hi rDollar' . s:fg_blue - -" XXD Highlighting -exec 'hi xxdAddress' . s:fg_navy -exec 'hi xxdSep' . s:fg_pink -exec 'hi xxdAscii' . s:fg_pink -exec 'hi xxdDot' . s:fg_aqua - -" PHP Highlighting -exec 'hi phpIdentifier' . s:fg_foreground -exec 'hi phpVarSelector' . s:fg_pink -exec 'hi phpKeyword' . s:fg_blue -exec 'hi phpRepeat' . s:fg_purple . s:ft_bold -exec 'hi phpConditional' . s:fg_purple . s:ft_bold -exec 'hi phpStatement' . s:fg_pink -exec 'hi phpAssignByRef' . s:fg_aqua . s:ft_bold -exec 'hi phpSpecialFunction' . s:fg_blue -exec 'hi phpFunctions' . s:fg_blue -exec 'hi phpComparison' . s:fg_aqua -exec 'hi phpBackslashSequences' . s:fg_olive . s:ft_bold -exec 'hi phpMemberSelector' . s:fg_blue -exec 'hi phpStorageClass' . s:fg_purple . s:ft_bold -exec 'hi phpDefine' . s:fg_navy -exec 'hi phpIntVar' . s:fg_navy . s:ft_bold - -" Perl Highlighting -exec 'hi perlFiledescRead' . s:fg_green -exec 'hi perlMatchStartEnd' . s:fg_pink -exec 'hi perlStatementFlow' . s:fg_pink -exec 'hi perlStatementStorage' . s:fg_pink -exec 'hi perlFunction' . s:fg_pink . s:ft_bold -exec 'hi perlMethod' . s:fg_foreground -exec 'hi perlStatementFiledesc' . s:fg_orange -exec 'hi perlVarPlain' . s:fg_navy -exec 'hi perlSharpBang' . s:fg_comment -exec 'hi perlStatementInclude' . s:fg_aqua . s:ft_bold -exec 'hi perlStatementScalar' . s:fg_purple -exec 'hi perlSubName' . s:fg_aqua . s:ft_bold -exec 'hi perlSpecialString' . s:fg_olive . s:ft_bold - -" Pascal Highlighting -exec 'hi pascalType' . s:fg_pink . s:ft_bold -exec 'hi pascalStatement' . s:fg_blue . s:ft_bold -exec 'hi pascalPredefined' . s:fg_pink -exec 'hi pascalFunction' . s:fg_foreground -exec 'hi pascalStruct' . s:fg_navy . s:ft_bold -exec 'hi pascalOperator' . s:fg_aqua . s:ft_bold -exec 'hi pascalPreProc' . s:fg_green -exec 'hi pascalAcces' . s:fg_navy . s:ft_bold - -" Lua Highlighting -exec 'hi luaFunc' . s:fg_foreground -exec 'hi luaIn' . s:fg_blue . s:ft_bold -exec 'hi luaFunction' . s:fg_pink -exec 'hi luaStatement' . s:fg_blue -exec 'hi luaRepeat' . s:fg_blue . s:ft_bold -exec 'hi luaCondStart' . s:fg_purple . s:ft_bold -exec 'hi luaTable' . s:fg_aqua . s:ft_bold -exec 'hi luaConstant' . s:fg_green . s:ft_bold -exec 'hi luaElse' . s:fg_purple . s:ft_bold -exec 'hi luaCondElseif' . s:fg_purple . s:ft_bold -exec 'hi luaCond' . s:fg_purple . s:ft_bold -exec 'hi luaCondEnd' . s:fg_purple - -" Clojure highlighting: -exec 'hi clojureConstant' . s:fg_blue -exec 'hi clojureBoolean' . s:fg_orange -exec 'hi clojureCharacter' . s:fg_olive -exec 'hi clojureKeyword' . s:fg_pink -exec 'hi clojureNumber' . s:fg_orange -exec 'hi clojureString' . s:fg_olive -exec 'hi clojureRegexp' . s:fg_purple -exec 'hi clojureRegexpEscape' . s:fg_pink -exec 'hi clojureParen' . s:fg_aqua -exec 'hi clojureVariable' . s:fg_olive -exec 'hi clojureCond' . s:fg_blue -exec 'hi clojureDefine' . s:fg_blue . s:ft_bold -exec 'hi clojureException' . s:fg_red -exec 'hi clojureFunc' . s:fg_navy -exec 'hi clojureMacro' . s:fg_blue -exec 'hi clojureRepeat' . s:fg_blue -exec 'hi clojureSpecial' . s:fg_blue . s:ft_bold -exec 'hi clojureQuote' . s:fg_blue -exec 'hi clojureUnquote' . s:fg_blue -exec 'hi clojureMeta' . s:fg_blue -exec 'hi clojureDeref' . s:fg_blue -exec 'hi clojureAnonArg' . s:fg_blue -exec 'hi clojureRepeat' . s:fg_blue -exec 'hi clojureDispatch' . s:fg_aqua - -" Dockerfile Highlighting -" @target https://github.com/docker/docker/tree/master/contrib/syntax/vim -exec 'hi dockerfileKeyword' . s:fg_blue -exec 'hi shDerefVar' . s:fg_purple . s:ft_bold -exec 'hi shOperator' . s:fg_aqua -exec 'hi shOption' . s:fg_navy -exec 'hi shLine' . s:fg_foreground -exec 'hi shWrapLineOperator' . s:fg_pink - -" NGINX Highlighting -" @target https://github.com/evanmiller/nginx-vim-syntax -exec 'hi ngxDirectiveBlock' . s:fg_pink . s:ft_bold -exec 'hi ngxDirective' . s:fg_blue . s:ft_none -exec 'hi ngxDirectiveImportant' . s:fg_blue . s:ft_bold -exec 'hi ngxString' . s:fg_olive -exec 'hi ngxVariableString' . s:fg_purple -exec 'hi ngxVariable' . s:fg_purple . s:ft_none - -" Yaml Highlighting -exec 'hi yamlBlockMappingKey' . s:fg_blue -exec 'hi yamlKeyValueDelimiter' . s:fg_pink -exec 'hi yamlBlockCollectionItemStart' . s:fg_pink - -" Qt QML Highlighting -exec 'hi qmlObjectLiteralType' . s:fg_pink -exec 'hi qmlReserved' . s:fg_purple -exec 'hi qmlBindingProperty' . s:fg_navy -exec 'hi qmlType' . s:fg_navy - -" Dosini Highlighting -exec 'hi dosiniHeader' . s:fg_pink -exec 'hi dosiniLabel' . s:fg_blue - -" Mail highlighting -exec 'hi mailHeaderKey' . s:fg_blue -exec 'hi mailHeaderEmail' . s:fg_purple -exec 'hi mailSubject' . s:fg_pink -exec 'hi mailHeader' . s:fg_comment -exec 'hi mailURL' . s:fg_aqua -exec 'hi mailEmail' . s:fg_purple -exec 'hi mailQuoted1' . s:fg_olive -exec 'hi mailQuoted2' . s:fg_navy - -" XML Highlighting -exec 'hi xmlProcessingDelim' . s:fg_pink -exec 'hi xmlString' . s:fg_olive -exec 'hi xmlEqual' . s:fg_orange -exec 'hi xmlAttrib' . s:fg_navy -exec 'hi xmlAttribPunct' . s:fg_pink -exec 'hi xmlTag' . s:fg_blue -exec 'hi xmlTagName' . s:fg_blue -exec 'hi xmlEndTag' . s:fg_blue -exec 'hi xmlNamespace' . s:fg_orange - -" Exlixir Highlighting -" @target https://github.com/elixir-lang/vim-elixir -exec 'hi elixirAlias' . s:fg_blue . s:ft_bold -exec 'hi elixirAtom' . s:fg_navy -exec 'hi elixirVariable' . s:fg_navy -exec 'hi elixirUnusedVariable' . s:fg_foreground . s:ft_bold -exec 'hi elixirInclude' . s:fg_purple -exec 'hi elixirStringDelimiter' . s:fg_olive -exec 'hi elixirKeyword' . s:fg_purple . s:ft_bold -exec 'hi elixirFunctionDeclaration' . s:fg_aqua . s:ft_bold -exec 'hi elixirBlockDefinition' . s:fg_pink -exec 'hi elixirDefine' . s:fg_pink -exec 'hi elixirStructDefine' . s:fg_pink -exec 'hi elixirPrivateDefine' . s:fg_pink -exec 'hi elixirModuleDefine' . s:fg_pink -exec 'hi elixirProtocolDefine' . s:fg_pink -exec 'hi elixirImplDefine' . s:fg_pink -exec 'hi elixirModuleDeclaration' . s:fg_aqua . s:ft_bold -exec 'hi elixirDocString' . s:fg_olive -exec 'hi elixirDocTest' . s:fg_green . s:ft_bold - -" Erlang Highlighting -exec 'hi erlangBIF' . s:fg_purple . s:ft_bold -exec 'hi erlangBracket' . s:fg_pink -exec 'hi erlangLocalFuncCall' . s:fg_foreground -exec 'hi erlangVariable' . s:fg_foreground -exec 'hi erlangAtom' . s:fg_navy -exec 'hi erlangAttribute' . s:fg_blue . s:ft_bold -exec 'hi erlangRecordDef' . s:fg_blue . s:ft_bold -exec 'hi erlangRecord' . s:fg_blue -exec 'hi erlangRightArrow' . s:fg_blue . s:ft_bold -exec 'hi erlangStringModifier' . s:fg_olive . s:ft_bold -exec 'hi erlangInclude' . s:fg_blue . s:ft_bold -exec 'hi erlangKeyword' . s:fg_pink -exec 'hi erlangGlobalFuncCall' . s:fg_foreground - -" Cucumber Highlighting -exec 'hi cucumberFeature' . s:fg_blue . s:ft_bold -exec 'hi cucumberBackground' . s:fg_pink . s:ft_bold -exec 'hi cucumberScenario' . s:fg_pink . s:ft_bold -exec 'hi cucumberGiven' . s:fg_orange -exec 'hi cucumberGivenAnd' . s:fg_blue -exec 'hi cucumberThen' . s:fg_orange -exec 'hi cucumberThenAnd' . s:fg_blue -exec 'hi cucumberWhen' . s:fg_purple . s:ft_bold -exec 'hi cucumberScenarioOutline' . s:fg_pink . s:ft_bold -exec 'hi cucumberExamples' . s:fg_aqua -exec 'hi cucumberTags' . s:fg_aqua -exec 'hi cucumberPlaceholder' . s:fg_aqua - -" Ada Highlighting -exec 'hi adaInc' . s:fg_aqua . s:ft_bold -exec 'hi adaSpecial' . s:fg_aqua . s:ft_bold -exec 'hi adaKeyword' . s:fg_pink -exec 'hi adaBegin' . s:fg_pink -exec 'hi adaEnd' . s:fg_pink -exec 'hi adaTypedef' . s:fg_navy . s:ft_bold -exec 'hi adaAssignment' . s:fg_aqua . s:ft_bold -exec 'hi adaAttribute' . s:fg_green - -" COBOL Highlighting -exec 'hi cobolMarker' . s:fg_comment . s:bg_cursorline -exec 'hi cobolLine' . s:fg_foreground -exec 'hi cobolReserved' . s:fg_blue -exec 'hi cobolDivision' . s:fg_pink . s:ft_bold -exec 'hi cobolDivisionName' . s:fg_pink . s:ft_bold -exec 'hi cobolSection' . s:fg_navy . s:ft_bold -exec 'hi cobolSectionName' . s:fg_navy . s:ft_bold -exec 'hi cobolParagraph' . s:fg_purple -exec 'hi cobolParagraphName' . s:fg_purple -exec 'hi cobolDeclA' . s:fg_purple -exec 'hi cobolDecl' . s:fg_green -exec 'hi cobolCALLs' . s:fg_aqua . s:ft_bold -exec 'hi cobolEXECs' . s:fg_aqua . s:ft_bold - -" GNU sed highlighting -exec 'hi sedST' . s:fg_purple . s:ft_bold -exec 'hi sedFlag' . s:fg_purple . s:ft_bold -exec 'hi sedRegexp47' . s:fg_pink -exec 'hi sedRegexpMeta' . s:fg_blue . s:ft_bold -exec 'hi sedReplacement47' . s:fg_olive -exec 'hi sedReplaceMeta' . s:fg_orange . s:ft_bold -exec 'hi sedAddress' . s:fg_pink -exec 'hi sedFunction' . s:fg_aqua . s:ft_bold -exec 'hi sedBranch' . s:fg_green . s:ft_bold -exec 'hi sedLabel' . s:fg_green . s:ft_bold - -" GNU awk highlighting -exec 'hi awkPatterns' . s:fg_pink . s:ft_bold -exec 'hi awkSearch' . s:fg_pink -exec 'hi awkRegExp' . s:fg_blue . s:ft_bold -exec 'hi awkCharClass' . s:fg_blue . s:ft_bold -exec 'hi awkFieldVars' . s:fg_green . s:ft_bold -exec 'hi awkStatement' . s:fg_blue . s:ft_bold -exec 'hi awkFunction' . s:fg_blue -exec 'hi awkVariables' . s:fg_green . s:ft_bold -exec 'hi awkArrayElement' . s:fg_orange -exec 'hi awkOperator' . s:fg_foreground -exec 'hi awkBoolLogic' . s:fg_foreground -exec 'hi awkExpression' . s:fg_foreground -exec 'hi awkSpecialPrintf' . s:fg_olive . s:ft_bold - -" Elm highlighting -exec 'hi elmImport' . s:fg_navy -exec 'hi elmAlias' . s:fg_aqua -exec 'hi elmType' . s:fg_pink -exec 'hi elmOperator' . s:fg_aqua . s:ft_bold -exec 'hi elmBraces' . s:fg_aqua . s:ft_bold -exec 'hi elmTypedef' . s:fg_blue . s:ft_bold -exec 'hi elmTopLevelDecl' . s:fg_green . s:ft_bold - -" Purescript highlighting -exec 'hi purescriptModuleKeyword' . s:fg_navy -exec 'hi purescriptImportKeyword' . s:fg_navy -exec 'hi purescriptModuleName' . s:fg_pink -exec 'hi purescriptOperator' . s:fg_aqua . s:ft_bold -exec 'hi purescriptType' . s:fg_pink -exec 'hi purescriptTypeVar' . s:fg_navy -exec 'hi purescriptStructure' . s:fg_blue . s:ft_bold -exec 'hi purescriptLet' . s:fg_blue . s:ft_bold -exec 'hi purescriptFunction' . s:fg_green . s:ft_bold -exec 'hi purescriptDelimiter' . s:fg_aqua . s:ft_bold -exec 'hi purescriptStatement' . s:fg_purple . s:ft_bold -exec 'hi purescriptConstructor' . s:fg_pink -exec 'hi purescriptWhere' . s:fg_purple . s:ft_bold - -" F# highlighting -exec 'hi fsharpTypeName' . s:fg_pink -exec 'hi fsharpCoreClass' . s:fg_pink -exec 'hi fsharpType' . s:fg_pink -exec 'hi fsharpKeyword' . s:fg_blue . s:ft_bold -exec 'hi fsharpOperator' . s:fg_aqua . s:ft_bold -exec 'hi fsharpBoolean' . s:fg_green . s:ft_bold -exec 'hi fsharpFormat' . s:fg_foreground -exec 'hi fsharpLinq' . s:fg_blue -exec 'hi fsharpKeyChar' . s:fg_aqua . s:ft_bold -exec 'hi fsharpOption' . s:fg_orange -exec 'hi fsharpCoreMethod' . s:fg_purple -exec 'hi fsharpAttrib' . s:fg_orange -exec 'hi fsharpModifier' . s:fg_aqua -exec 'hi fsharpOpen' . s:fg_red - -" ASN.1 highlighting -exec 'hi asnExternal' . s:fg_green . s:ft_bold -exec 'hi asnTagModifier' . s:fg_purple -exec 'hi asnBraces' . s:fg_aqua . s:ft_bold -exec 'hi asnDefinition' . s:fg_foreground -exec 'hi asnStructure' . s:fg_blue -exec 'hi asnType' . s:fg_pink -exec 'hi asnTypeInfo' . s:fg_aqua . s:ft_bold -exec 'hi asnFieldOption' . s:fg_purple - -" -- end of Language Highlighting }}} - -" --- Plugin Highlighting {{{ - -" Plugin: Netrw -exec 'hi netrwVersion' . s:fg_red -exec 'hi netrwList' . s:fg_pink -exec 'hi netrwHidePat' . s:fg_olive -exec 'hi netrwQuickHelp' . s:fg_blue -exec 'hi netrwHelpCmd' . s:fg_blue -exec 'hi netrwDir' . s:fg_aqua . s:ft_bold -exec 'hi netrwClassify' . s:fg_pink -exec 'hi netrwExe' . s:fg_green -exec 'hi netrwSuffixes' . s:fg_comment -exec 'hi netrwTreeBar' . s:fg_linenumber_fg - -" Plugin: NERDTree -exec 'hi NERDTreeUp' . s:fg_comment -exec 'hi NERDTreeHelpCommand' . s:fg_pink -exec 'hi NERDTreeHelpTitle' . s:fg_blue . s:ft_bold -exec 'hi NERDTreeHelpKey' . s:fg_pink -exec 'hi NERDTreeHelp' . s:fg_foreground -exec 'hi NERDTreeToggleOff' . s:fg_red -exec 'hi NERDTreeToggleOn' . s:fg_green -exec 'hi NERDTreeDir' . s:fg_blue . s:ft_bold -exec 'hi NERDTreeDirSlash' . s:fg_pink -exec 'hi NERDTreeFile' . s:fg_foreground -exec 'hi NERDTreeExecFile' . s:fg_green -exec 'hi NERDTreeOpenable' . s:fg_aqua . s:ft_bold -exec 'hi NERDTreeClosable' . s:fg_pink - -" Plugin: Tagbar -exec 'hi TagbarHelpTitle' . s:fg_blue . s:ft_bold -exec 'hi TagbarHelp' . s:fg_foreground -exec 'hi TagbarKind' . s:fg_pink -exec 'hi TagbarSignature' . s:fg_aqua - -" Plugin: Vimdiff -exec 'hi DiffAdd' . s:fg_diffadd_fg . s:bg_diffadd_bg . s:ft_none -exec 'hi DiffChange' . s:fg_diffchange_fg . s:bg_diffchange_bg . s:ft_none -exec 'hi DiffDelete' . s:fg_diffdelete_fg . s:bg_diffdelete_bg . s:ft_none -exec 'hi DiffText' . s:fg_difftext_fg . s:bg_difftext_bg . s:ft_none - -" Plugin: Spell Checking -exec 'hi SpellBad' . s:fg_foreground . s:bg_spellbad -exec 'hi SpellCap' . s:fg_foreground . s:bg_spellcap -exec 'hi SpellRare' . s:fg_foreground . s:bg_spellrare -exec 'hi SpellLocal' . s:fg_foreground . s:bg_spelllocal - -" Plugin: Indent Guides -exec 'hi IndentGuidesOdd' . s:bg_background -exec 'hi IndentGuidesEven' . s:bg_cursorline - -" Plugin: Startify -exec 'hi StartifyFile' . s:fg_blue . s:ft_bold -exec 'hi StartifyNumber' . s:fg_orange -exec 'hi StartifyHeader' . s:fg_comment -exec 'hi StartifySection' . s:fg_pink -exec 'hi StartifyPath' . s:fg_foreground -exec 'hi StartifySlash' . s:fg_navy -exec 'hi StartifyBracket' . s:fg_aqua -exec 'hi StartifySpecial' . s:fg_aqua - -" Plugin: Signify -exec 'hi SignifyLineChange' . s:fg_diffchange_fg -exec 'hi SignifySignChange' . s:fg_diffchange_fg -exec 'hi SignifyLineAdd' . s:fg_diffadd_fg -exec 'hi SignifySignAdd' . s:fg_diffadd_fg -exec 'hi SignifyLineDelete' . s:fg_diffdelete_fg -exec 'hi SignifySignDelete' . s:fg_diffdelete_fg - -" Plugin: Treesitter -hi! link TSPunctDelimiter Delimiter -hi! link TSPunctBracket Delimiter -hi! link TSPunctSpecial Special -hi! link TSConstant Constant -hi! link TSConstBuiltin Constant -hi! link TSConstMacro Macro -hi! link TSString String -hi! link TSStringRegex String -hi! link TSStringEscape SpecialChar -hi! link TSCharacter Character -hi! link TSNumber Number -hi! link TSBoolean Boolean -hi! link TSFloat Float -hi! link TSFunction Function -hi! link TSFuncBuiltin Function -hi! link TSFuncMacro Macro -hi! link TSParameter Identifier -hi! link TSMethod Function -hi! link TSField Typedef -hi! link TSProperty Typedef -hi! link TSConstructor Define -hi! link TSConditional Conditional -hi! link TSRepeat Repeat -hi! link TSLabel Label -hi! link TSOperator Operator -hi! link TSKeyword Keyword -hi! link TSException Exception -hi! link TSType Type -hi! link TSTypeBuiltin Type -hi! link TSStructure Structure -hi! link TSInclude Include - -" -- end of Plugin Highlighting }}} - -" Git commit message -exec 'hi gitcommitSummary' . s:fg_blue -exec 'hi gitcommitHeader' . s:fg_green . s:ft_bold -exec 'hi gitcommitSelectedType' . s:fg_blue -exec 'hi gitcommitSelectedFile' . s:fg_pink -exec 'hi gitcommitUntrackedFile' . s:fg_diffdelete_fg -exec 'hi gitcommitBranch' . s:fg_aqua . s:ft_bold -exec 'hi gitcommitDiscardedType' . s:fg_diffdelete_fg -exec 'hi gitcommitDiff' . s:fg_comment - -exec 'hi diffFile' . s:fg_blue -exec 'hi diffSubname' . s:fg_comment -exec 'hi diffIndexLine' . s:fg_comment -exec 'hi diffAdded' . s:fg_diffadd_fg -exec 'hi diffRemoved' . s:fg_diffdelete_fg -exec 'hi diffLine' . s:fg_orange -exec 'hi diffBDiffer' . s:fg_orange -exec 'hi diffNewFile' . s:fg_comment - -" Neovim terminal colors https://neovim.io/doc/user/nvim_terminal_emulator.html#nvim-terminal-emulator-configuration -let g:terminal_color_0 = color00[0] -let g:terminal_color_1 = color01[0] -let g:terminal_color_2 = color02[0] -let g:terminal_color_3 = color03[0] -let g:terminal_color_4 = color04[0] -let g:terminal_color_5 = color05[0] -let g:terminal_color_6 = color06[0] -let g:terminal_color_7 = color07[0] -let g:terminal_color_8 = color08[0] -let g:terminal_color_9 = color09[0] -let g:terminal_color_10 = color10[0] -let g:terminal_color_11 = color11[0] -let g:terminal_color_12 = color12[0] -let g:terminal_color_13 = color13[0] -let g:terminal_color_14 = color14[0] -let g:terminal_color_15 = color15[0] - -" Vim 8's :terminal buffer ANSI colors -if has('terminal') - let g:terminal_ansi_colors = [color00[0], color01[0], color02[0], color03[0], - \ color04[0], color05[0], color06[0], color07[0], color08[0], color09[0], - \ color10[0], color11[0], color12[0], color13[0], color14[0], color15[0]] -endif - -" vim: fdm=marker ff=unix diff --git a/.vim/init.lua b/.vim/init.lua index 600a76b..d56d1c7 100644 --- a/.vim/init.lua +++ b/.vim/init.lua @@ -15,7 +15,7 @@ opt.clipboard:prepend { 'unnamedplus' } opt.cmdheight = 1 opt.colorcolumn = {80} -- depends on 'textwidth' opt.complete = '.,w,b,u' -opt.completeopt = 'menuone,noinsert,noselect' +opt.completeopt = 'menuone,noselect' opt.concealcursor = '' opt.conceallevel = 2 opt.cursorline = true @@ -72,46 +72,61 @@ nnoremap { 'gB', function() cmd [[ bprevious ]] end } -- terminal tnoremap { '<esc>', [[ <c-\><c-n> ]] } tnoremap { '<leader>qq', [[ <c-\><c-n> :bdelete!<cr> ]] } +vnoremap { 'T', function() cmd [[ retab! | call feedkeys("\<esc>") ]] end } -nnoremap { 'gf', function() require('misc').open_under_cursor('open') end } -nnoremap { 'gF', function() require('misc').open_under_cursor() end } -nnoremap { 'gx', function() require('misc').open_under_cursor('url-launcher') end } +nnoremap { 'gf', function() require('misc').file_under_cursor(function(s) vim.cmd('edit ' .. s) end) end } +nnoremap { 'gF', function() require('misc').open_under_cursor() end } +nnoremap { 'gx', function() require('misc').open_under_cursor('url-launcher') end } nnoremap { 'gGw', function() require('misc').word_under_cursor(function(s) require('telescope.builtin.files').grep_string({ search = s }) end) end } nnoremap { 'gGe', function() require('misc').expr_under_cursor(function(s) require('telescope.builtin.files').grep_string({ search = s }) end) end } nnoremap { 'gGf', function() require('misc').file_under_cursor(function(s) require('telescope.builtin.files').grep_string({ search = s }) end) end } -nnoremap { 'gs', function() require('misc').word_under_cursor(function(s) vim.fn.feedkeys(':%s/' .. s .. '//g'); cmd [[ call feedkeys("\<left>\<left>") ]] end) end } - -nnoremap { '<leader>gg', function() require('neogit').open({ kind = "split" }) end } -nnoremap { 'gm', function() cmd [[ GitMessenger ]] end } -vnoremap { 'T', function() cmd [[ retab! | call feedkeys("\<esc>") ]] end } +nnoremap { 'gs', function() require('misc').word_under_cursor(function(s) vim.fn.feedkeys(':%s/' .. s .. '//g'); cmd [[ call feedkeys("\<left>\<left>") ]] end) end } -- }}} local u = require('utils') -- AUTO GROUPS -- {{{ u.augroup2 { - yank_highlight = {{ 'TextYankPost', '*', [[ silent! lua require("vim.highlight").on_yank() ]] }}, + yank_highlight = {{'TextYankPost', '*', [[ silent! lua require("vim.highlight").on_yank() ]]}}, obvious_active_win = { - { 'WinEnter', '*', 'set cul' }, - { 'WinLeave', '*', 'set nocul' } + {'WinEnter', '*', 'set cul'}, + {'WinLeave', '*', 'set nocul'} + }, + c_makeprg = {{'BufRead', '*.c', [[ set makeprg=ninja\ -C\ build ]]}}, + open_qf = {{'QuickFixCmdPost', '*', [[ :clist ]]}}, + -- packer_auto_compile = {{'BufWritePost', 'plugins.lua', [[ source <afile> | PackerCompile ]]}}, + commentstring = { + {'FileType', 'i3config', [[ setlocal commentstring=#\ %s ]]}, + {'FileType', 'jsonc', [[ setlocal commentstring=//\ %s ]]}, }, - c_makeprg = {{'BufRead', '*.c', [[ set makeprg=ninja\ -C\ build ]] }}, } -- }}} -- USER COMMANDS -- {{{ -u.def('BalenaDiagnosticsFold', [[ call balena_diagnostics_fold#apply() ]]) -u.def('SortLine', [[ call setline(".", join(sort(split(getline("."), " ")), " ")) ]]) +cmd [[ command! BalenaDiagnosticsFold call balena_diagnostics_fold#apply() ]] +cmd [[ command! -range SortLine <line1>,<line2>lua require('misc').sort_line() ]] +cmd [[ command! -nargs=1 Make lua require('job').make({<f-args>}) ]] -- }}} -- STATUS LINE -- {{{ +require('spinner').setup { + spinner = {'⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'}, + interval = 120, -- spinner frame rate in ms +} statusline = function() local sl = '' -- left sl = sl .. statusline_color(vim.fn.mode()) sl = sl .. [[ ⢷ %<%F %-m %-r ]] -- right - sl = sl .. [[ %= %l:%v %y ]] + sl = sl .. [[ %= ]] -- spacer + + local lsp_spinner = require('spinner').status(vim.fn.bufnr()) + local lsp_diagnostics = statusline_lsp_diagnostics(vim.fn.bufnr()) + + sl = sl .. lsp_spinner .. ' ' + sl = sl .. lsp_diagnostics + sl = sl .. [[ %l:%v %y ]] return sl end statusline_color = function(mode) @@ -128,6 +143,20 @@ statusline_color = function(mode) -- return '%{g:actual_curwin==win_getid()?'.. hi ..':%#StatusLineNC#}' return hi end +statusline_lsp_diagnostics = function(bufnr) + -- Error, Warning, Information, Hint + local error_num = vim.lsp.diagnostic.get_count(bufnr, 'Error') + local warn_num = vim.lsp.diagnostic.get_count(bufnr, 'Warning') + + local s = '' + if error_num > 0 then + s = s .. vim.fn.sign_getdefined('LspDiagnosticsSignError')[1].text .. error_num + end + if warn_num > 0 then + s = s .. vim.fn.sign_getdefined('LspDiagnosticsSignWarning')[1].text .. warn_num + end + return s +end -- }}} -- source .nvimrc if it exists @@ -135,3 +164,9 @@ local local_vimrc = vim.fn.getcwd()..'/.nvimrc' if vim.loop.fs_stat(local_vimrc) then cmd('source ' .. local_vimrc) end + +-- configure :grep to use ripgrep if it's available +if vim.fn.executable('rg') then + vim.opt.grepprg = 'rg --vimgrep --smart-case --hidden' + vim.opt.grepformat = '%f:%l:%c:%m' +end diff --git a/.vim/lua/color_palette.lua b/.vim/lua/color_palette.lua new file mode 100644 index 0000000..f30e97e --- /dev/null +++ b/.vim/lua/color_palette.lua @@ -0,0 +1,32 @@ +return { + normal = { + black = '#080808', -- 00 + red = '#cb1b45', -- 01 + green = '#227d51', -- 02 + yellow = '#f7d94c', -- 03 + blue = '#005caf', -- 04 + magenta = '#986db2', -- 05 + cyan = '#33a6b8', -- 06 + white = '#bdc0ba', -- 07 + }, + bright = { + black = '#0c0c0c', -- 08 + red = '#db4d6d', -- 09 + green = '#5dac81', -- 11 + yellow = '#fad689', -- 12 + blue = '#7b90d2', -- 13 + magenta = '#b28fce', -- 14 + cyan = '#a5dee4', -- 15 + white = '#fffffb', -- 16 + }, + dim = { + black = '#080808', + red = '#9f353a', + green = '#0f4c3a', + yellow = '#6c6024', + blue = '#113285', + magenta = '#4a225d', + cyan = '#0d5661', + white = '#4f4f48', + }, +} diff --git a/.vim/lua/color_palette.lua.in b/.vim/lua/color_palette.lua.in new file mode 100644 index 0000000..4d3fe52 --- /dev/null +++ b/.vim/lua/color_palette.lua.in @@ -0,0 +1,32 @@ +return { + normal = { + black = '{{ .normal_black }}', + red = '{{ .normal_red }}', + green = '{{ .normal_green }}', + yellow = '{{ .normal_yellow }}', + blue = '{{ .normal_blue }}', + magenta = '{{ .normal_magenta }}', + cyan = '{{ .normal_cyan }}', + white = '{{ .normal_white }}', + }, + bright = { + black = '{{ .bright_black }}', + red = '{{ .bright_red }}', + green = '{{ .bright_green }}', + yellow = '{{ .bright_yellow }}', + blue = '{{ .bright_blue }}', + magenta = '{{ .bright_magenta }}', + cyan = '{{ .bright_cyan }}', + white = '{{ .bright_white }}', + }, + dim = { + black = '{{ .dim_black }}', + red = '{{ .dim_red }}', + green = '{{ .dim_green }}', + yellow = '{{ .dim_yellow }}', + blue = '{{ .dim_blue }}', + magenta = '{{ .dim_magenta }}', + cyan = '{{ .dim_cyan }}', + white = '{{ .dim_white }}', + }, +} diff --git a/.vim/lua/colors.lua b/.vim/lua/colors.lua index ac6109f..32af6b2 100644 --- a/.vim/lua/colors.lua +++ b/.vim/lua/colors.lua @@ -1,207 +1,149 @@ - local lush = require('lush') local hsl = lush.hsl - -local p = { - normal = { - black = '#080808', -- 00 - red = '#cb1b45', -- 01 - green = '#227d51', -- 02 - yellow = '#f7d94c', -- 03 - blue = '#005caf', -- 04 - magenta = '#986db2', -- 05 - cyan = '#33a6b8', -- 06 - white = '#bdc0ba', -- 07 - }, - bright = { - black = '#0c0c0c', -- 08 - red = '#db4d6d', -- 09 - green = '#5dac81', -- 11 - yellow = '#fad689', -- 12 - blue = '#7b90d2', -- 13 - magenta = '#b28fce', -- 14 - cyan = '#a5dee4', -- 15 - white = '#fffffb', -- 16 - }, - dim = { - black = '#080808', - red = '#9f353a', - green = '#0f4c3a', - yellow = '#6c6024', - blue = '#113285', - magenta = '#4a225d', - cyan = '#0d5661', - white = '#4f4f48', - }, -} - --- terminal buffer colors {{{ --- TODO just let it use the default, for now... --- let g:terminal_color_0 = color00[0] --- let g:terminal_color_1 = color01[0] --- let g:terminal_color_2 = color02[0] --- let g:terminal_color_3 = color03[0] --- let g:terminal_color_4 = color04[0] --- let g:terminal_color_5 = color05[0] --- let g:terminal_color_6 = color06[0] --- let g:terminal_color_7 = color07[0] --- let g:terminal_color_8 = color08[0] --- let g:terminal_color_9 = color09[0] --- let g:terminal_color_10 = color10[0] --- let g:terminal_color_11 = color11[0] --- let g:terminal_color_12 = color12[0] --- let g:terminal_color_13 = color13[0] --- let g:terminal_color_14 = color14[0] --- let g:terminal_color_15 = color15[0] --- }}} +local p = require('color_palette') return lush(function() - return { - None { fg = 'none', bg = 'none', gui = 'none' }, - Underlined { gui = 'underline' }, -- (preferred) text that stands out, HTML links + return { Bold { gui = 'bold' }, Italic { gui = 'italic' }, + None { fg = 'none', bg = 'none', gui = 'none' }, Reverse { gui = 'reverse' }, + Underlined { gui = 'underline' }, -- (preferred) text that stands out, HTML links ColorColumn { bg = hsl(p.dim.white).darken(40) }, -- used for the columns set with 'colorcolumn' Conceal { gui = 'none' }, -- placeholder characters substituted for concealed text (see 'conceallevel') Cursor { Reverse }, -- character under the cursor - lCursor { Cursor }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') CursorIM { Cursor }, -- like Cursor, but used when in IME mode |CursorIM| + TermCursor { Cursor }, -- cursor in a focused terminal + TermCursorNC { Cursor }, -- cursor in an unfocused terminal + lCursor { Cursor }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') CursorColumn { ColorColumn }, -- Screen-column at the cursor, when 'cursorcolumn' is set. CursorLine { ColorColumn }, -- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set. - -- Directory { }, -- directory names (and other special names in listings) + CursorLineNr { Cursor }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. DiffAdd { fg = hsl(p.bright.black), bg = hsl(p.bright.green) }, -- diff mode: Added line |diff.txt| - DiffChange { fg = hsl(p.bright.black), bg = hsl(p.bright.cyan) }, -- diff mode: Changed line |diff.txt| + DiffChange { fg = hsl(p.bright.black), bg = hsl(p.bright.cyan).darken(20) }, -- diff mode: Changed line |diff.txt| DiffDelete { fg = hsl(p.bright.black), bg = hsl(p.bright.red) }, -- diff mode: Deleted line |diff.txt| - DiffText { fg = hsl(p.normal.white) }, -- diff mode: Changed text within a changed line |diff.txt| + DiffText { DiffChange }, -- diff mode: Changed text within a changed line |diff.txt| + -- Directory { }, -- directory names (and other special names in listings) EndOfBuffer { fg = hsl(p.bright.blue) }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|. - TermCursor { Cursor }, -- cursor in a focused terminal - TermCursorNC { Cursor }, -- cursor in an unfocused terminal ErrorMsg { Bold, fg = hsl(p.bright.white), bg = hsl(p.dim.red) }, -- error messages on the command line - VertSplit { fg = hsl(p.dim.white), bg = 'none' }, -- the column separating vertically split windows Folded { fg = hsl(p.bright.magenta), bg = 'none' }, -- line used for closed folds FoldColumn { Folded }, -- 'foldcolumn' - SignColumn { gui = 'none' }, -- column where |signs| are displayed Search { Bold, fg = hsl(p.normal.black), bg = hsl(p.bright.white) }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out. IncSearch { Search }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c" - Substitute { fg = hsl(p.normal.blue) }, -- |:substitute| replacement text highlighting LineNr { fg = hsl(p.dim.white) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. - CursorLineNr { Cursor }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. MatchParen { fg = hsl(p.bright.white), bg = hsl(p.dim.black), gui = 'underline' }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt| ModeMsg { fg = hsl(p.normal.yellow) }, -- 'showmode' message (e.g., "-- INSERT -- ") + MoreMsg { fg = hsl(p.normal.cyan) }, -- |more-prompt| -- MsgArea { }, -- Area for messages and cmdline -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display' - MoreMsg { ModeMsg }, -- |more-prompt| NonText { EndOfBuffer }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|. Normal { fg = hsl(p.bright.white) }, -- normal text - NormalFloat { Normal, bg = hsl(p.normal.black).lighten(6) }, -- Normal text in floating windows. + NormalFloat { Normal, bg = hsl(p.dim.white) }, -- Normal text in floating windows. NormalNC { Normal }, -- normal text in non-current windows Pmenu { NormalFloat }, -- Popup menu: normal item. - PmenuSel { Pmenu, gui = 'reverse' }, -- Popup menu: selected item. PmenuSbar { bg = 'none' }, -- Popup menu: scrollbar. + PmenuSel { Pmenu, gui = 'reverse' }, -- Popup menu: selected item. PmenuThumb { bg = hsl(p.bright.white) }, -- Popup menu: Thumb of the scrollbar. Question { fg = hsl(p.normal.green) }, -- |hit-enter| prompt and yes/no questions -- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there. + SignColumn { gui = 'none' }, -- column where |signs| are displayed SpecialKey { fg = hsl(p.dim.white) }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace| SpellBad Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise. SpellCap Word that should start with a capital. |spell| Combined with the highlighting used otherwise. SpellLocal Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise. -- SpellRare { }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise. StatusLine { fg = hsl(p.bright.white), bg = 'none', gui = 'bold' }, -- status line of current window StatusLineNC { StatusLine, gui = 'none' }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window. + Substitute { fg = hsl(p.normal.blue) }, -- |:substitute| replacement text highlighting TabLine { fg = hsl(p.dim.white) }, -- tab pages line, not active tab page label TabLineFill { StatusLineNC }, -- tab pages line, where there are no labels TabLineSel { fg = hsl(p.bright.white), gui = 'bold' }, -- tab pages line, active tab page label Title { fg = hsl(p.bright.blue) }, -- titles for output from ":set all", ":autocmd" etc. + VertSplit { fg = hsl(p.dim.white), bg = 'none' }, -- the column separating vertically split windows Visual { fg = hsl(p.bright.white), bg = hsl(p.normal.magenta) }, -- Visual mode selection VisualNOS { Visual }, -- Visual mode selection when vim is "Not Owning the Selection". WarningMsg { fg = hsl(p.normal.yellow) }, -- warning messages Whitespace { fg = hsl(p.dim.white) }, -- "nbsp", "space", "tab" and "trail" in 'listchars' WildMenu { bg = hsl(p.bright.black) }, -- current match in 'wildmenu' completion + Boolean { fg = hsl(p.bright.red).lighten(20) }, -- a boolean constant: TRUE, false String { fg = hsl(p.normal.yellow) }, -- a string constant: "this is a string" Character { String }, -- a character constant: 'c', '\n' - Number { fg = hsl(p.bright.red).lighten(20) }, -- a number constant: 234, 0xff + Number { Boolean }, -- a number constant: 234, 0xff Float { Number }, -- a floating point constant: 2.3e10 - Boolean { Number }, -- a boolean constant: TRUE, false - Constant { Normal, gui = 'bold' }, -- (preferred) any constant - Identifier { Normal }, -- (preferred) any variable name - Function { Normal }, -- function name (also: methods for classes) Comment { Italic, fg = hsl(p.dim.white).lighten(30) }, - + Macro { fg = hsl(p.normal.cyan) }, -- same as Define + Constant { gui = 'bold' }, -- (preferred) any constant + Special { fg = hsl(p.normal.yellow) }, -- (preferred) any special symbol + SpecialComment { fg = hsl(p.bright.cyan), gui = 'italic' }, -- special things inside a comment Statement { fg = hsl(p.bright.blue) }, -- (preferred) any statement - Keyword { Statement }, -- any other keyword + Keyword { fg = hsl(p.normal.green) }, -- any other keyword + Tag { Special, gui = 'underline' }, -- you can use CTRL-] on this + Type { fg = hsl(p.bright.green) }, -- (preferred) int, long, char, etc. Conditional { Keyword }, -- if, then, else, endif, switch, etc. - Repeat { Keyword }, -- for, do, while, etc. + Define { Macro }, -- preprocessor #define + Delimiter { Special }, -- character that needs attention + Exception { Keyword }, -- try, catch, throw + Function { Normal }, -- function name (also: methods for classes) + Identifier { Normal }, -- (preferred) any variable name + Include { Macro }, -- preprocessor #include Label { Keyword }, -- case, default, etc. Operator { Keyword }, -- "sizeof", "+", "*", etc. - Exception { Keyword }, -- try, catch, throw - - PreProc { fg = hsl(p.normal.cyan) }, -- (preferred) generic Preprocessor - Include { PreProc }, -- preprocessor #include - Define { PreProc }, -- preprocessor #define - Macro { PreProc }, -- same as Define - PreCondit { PreProc }, -- preprocessor #if, #else, #endif, etc. - - Type { fg = hsl(p.bright.green) }, -- (preferred) int, long, char, etc. + PreCondit { Macro }, -- preprocessor #if, #else, #endif, etc. + PreProc { Macro }, -- (preferred) generic Preprocessor + Repeat { Keyword }, -- for, do, while, etc. + SpecialChar { Special }, -- special character in a constant + Typedef { Type }, -- A typedef StorageClass { Type }, -- static, register, volatile, etc. Structure { Type }, -- struct, union, enum, etc. - Typedef { Type }, -- A typedef - Special { fg = hsl(p.normal.yellow) }, -- (preferred) any special symbol - SpecialChar { Special }, -- special character in a constant - Tag { Special, gui = 'underline' }, -- you can use CTRL-] on this - Delimiter { Special }, -- character that needs attention - SpecialComment { fg = hsl(p.bright.cyan), gui = 'italic' }, -- special things inside a comment Debug { Special }, -- debugging statements - - -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore| Error { Bold, fg = hsl(p.normal.red) }, -- (preferred) any erroneous construct + Ignore { None }, -- (preferred) left blank, hidden |hl-Ignore| Todo { Bold, fg = hsl(p.bright.yellow) }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX -- Lang specific {{{ - -- C {{{2 - cType { Type, gui = 'bold' }, - -- cFormat {}, - -- cStorageClass { Bold }, - - cBoolean { Boolean, gui = 'bold' }, + -- C {{{ + -- cAnsiFunction { Bold }, + -- cAnsiName {}, + -- cBraces {}, -- cCharacter {}, - cConstant { Constant, gui = 'bold' }, -- cConditional { Bold }, - cSpecial { Bold }, + -- cCustomFunc {}, + -- cCustomParen {}, -- cDefine {}, + -- cDelimiter {}, + -- cFormat {}, + -- cFunction {}, + -- cIdentifier {}, + -- cLabel { fg = hsl(p.dim.black), bg = hsl(p.dim.red) }, -- cNumber {}, + -- cOctalZero { Bold }, + -- cOperator {}, -- cPreCondit {}, -- cRepeat {}, - -- cLabel { fg = hsl(p.dim.black), bg = hsl(p.dim.red) }, - -- cAnsiFunction { Bold }, - -- cAnsiName {}, - -- cDelimiter {}, - -- cBraces {}, - -- cIdentifier {}, -- cSemiColon {}, - -- cOperator {}, -- cStatement {}, + -- cStorageClass { Bold }, -- cTodo { Bold }, - cStructure { Bold }, - -- cCustomParen {}, - -- cCustomFunc {}, -- cUserFunction { Function, gui = 'bold' }, - -- cOctalZero { Bold }, - -- cFunction {}, - -- }}}2 + cBoolean { Boolean, gui = 'bold' }, + cConstant { Constant, gui = 'bold' }, + cSpecial { Bold }, + cStructure { Bold }, + cType { Type, gui = 'bold' }, + -- }}} - -- Markdown {{{2 + -- Markdown {{{ -- mkdCode { markdownCode }, + mkdBlockQuote { Comment }, + mkdDelimiter { Delimiter }, + mkdHeading { Title }, mkdID { Constant }, - mkdURL { Tag }, mkdLink { Tag }, mkdLinkTitle { bg = hsl('#ff0000') }, - mkdDelimiter { Delimiter }, - mkdBlockQuote { Comment }, mkdListItem { Number }, - mkdHeading { Title }, - -- 2}}} + mkdURL { Tag }, + -- }}} -- }}} -- LSP {{{ @@ -215,9 +157,9 @@ return lush(function() LspDiagnosticsVirtualTextWarning { fg = LspDiagnosticsWarning.fg.darken(60) }, LspDiagnosticsSignWarning { LspDiagnosticsWarning }, - LspDiagnosticsInformation { fg = hsl(p.normal.blue).lighten(20) }, -- used for "Information" diagnostics + LspDiagnosticsInformation { MoreMsg }, -- used for "Information" diagnostics LspDiagnosticsFloatingInformation { LspDiagnosticsInformation }, - LspDiagnosticsVirtualTextInformation { fg = LspDiagnosticsInformation.fg.darken(30) }, + LspDiagnosticsVirtualTextInformation { fg = LspDiagnosticsInformation.fg.darken(20) }, LspDiagnosticsSignInformation { LspDiagnosticsInformation }, LspDiagnosticsHint { fg = hsl(p.normal.white) }, -- used for "Hint" diagnostics @@ -231,7 +173,7 @@ return lush(function() -- }}} -- TreeSitter {{{ - -- TSError { }, -- For syntax/parser errors. + TSError { Error }, -- For syntax/parser errors. -- TSPunctDelimiter { }, -- For delimiters ie: `.` -- TSPunctBracket { }, -- For brackets and parens. -- TSPunctSpecial { }, -- For special punctutation that does not fall in the catagories before. @@ -281,14 +223,18 @@ return lush(function() IndentGuidesOdd { bg = hsl(p.bright.black) }, IndentGuidesEven { bg = hsl(p.dim.white).darken(40) }, + IndentBlanklineChar { fg = hsl(p.dim.white), gui = 'nocombine'}, + + -- signify {{{ SignifyLineChange { DiffChange }, SignifyLineAdd { DiffAdd }, SignifyLineDelete { DiffDelete }, SignifySignChange { fg = SignifyLineChange.bg }, SignifySignAdd { fg = SignifyLineAdd.bg }, SignifySignDelete { fg = SignifyLineDelete.bg }, + -- }}} - -- git + -- git {{{ gitcommitSummary { Bold }, -- gitcommitHeader { Bold }, -- gitcommitSelectedType {}, @@ -305,13 +251,34 @@ return lush(function() -- diffLine {}, -- diffBDiffer {}, -- diffNewFile {}, + -- }}} - -- git-messenger + -- git-messenger {{{ gitmessengerPopupNormal { CursorLine }, gitmessengerHeader { Statement }, gitmessengerHash { Special }, gitmessengerHistory { Title }, gitmessengerEmail { Comment }, + -- }}} + + -- nvim-lightbulb {{{ + LightBulbFloatWin { LspDiagnosticsFloatingHint }, + LightBulbVirtualText { LspDiagnosticsVirtualTextHint }, + -- }}} + + CompeDocumentation { NormalFloat }, + + -- startify {{{ + StartifyBracket { fg = hsl(p.bright.blue) }, + StartifyFile { fg = hsl(p.normal.red), gui = 'bold' }, + StartifyNumber { fg = hsl(p.bright.blue).darken(20) }, + StartifyPath { fg = hsl(p.normal.green).lighten(10) }, + StartifySlash { fg = hsl(p.normal.white) }, + StartifySection { fg = hsl(p.bright.yellow) }, + StartifySpecial { fg = hsl(p.normal.red) }, + StartifyHeader { fg = hsl(p.dim.white) }, + StartifyFooter { fg = hsl(p.dim.white) }, + -- }}} -- Plugin configs END }}} @@ -320,7 +287,5 @@ return lush(function() StatusLineCommand { StatusLine }, StatusLineVisual { Visual }, StatusLineReplace { StatusLine }, - } + } end) - --- vi:nowrap diff --git a/.vim/lua/colors.lua.in b/.vim/lua/colors.lua.in deleted file mode 100644 index caafa52..0000000 --- a/.vim/lua/colors.lua.in +++ /dev/null @@ -1,298 +0,0 @@ - -local lush = require('lush') -local hsl = lush.hsl - -local palette = { - normal = { - black = '{{ .normal_black }}', - red = '{{ .normal_red }}', - green = '{{ .normal_green }}', - yellow = '{{ .normal_yellow }}', - blue = '{{ .normal_blue }}', - magenta = '{{ .normal_magenta }}', - cyan = '{{ .normal_cyan }}', - white = '{{ .normal_white }}', - }, - bright = { - black = '{{ .bright_black }}', - red = '{{ .bright_red }}', - green = '{{ .bright_green }}', - yellow = '{{ .bright_yellow }}', - blue = '{{ .bright_blue }}', - magenta = '{{ .bright_magenta }}', - cyan = '{{ .bright_cyan }}', - white = '{{ .bright_white }}', - }, - dim = { - black = '{{ .dim_black }}', - red = '{{ .dim_red }}', - green = '{{ .dim_green }}', - yellow = '{{ .dim_yellow }}', - blue = '{{ .dim_blue }}', - magenta = '{{ .dim_magenta }}', - cyan = '{{ .dim_cyan }}', - white = '{{ .dim_white }}', - }, -} - --- terminal buffer colors {{{ --- TODO just let it use the default, for now... --- let g:terminal_color_0 = color00[0] --- let g:terminal_color_1 = color01[0] --- let g:terminal_color_2 = color02[0] --- let g:terminal_color_3 = color03[0] --- let g:terminal_color_4 = color04[0] --- let g:terminal_color_5 = color05[0] --- let g:terminal_color_6 = color06[0] --- let g:terminal_color_7 = color07[0] --- let g:terminal_color_8 = color08[0] --- let g:terminal_color_9 = color09[0] --- let g:terminal_color_10 = color10[0] --- let g:terminal_color_11 = color11[0] --- let g:terminal_color_12 = color12[0] --- let g:terminal_color_13 = color13[0] --- let g:terminal_color_14 = color14[0] --- let g:terminal_color_15 = color15[0] --- }}} - -return lush(function() - return { - Underlined { gui = 'underline' }, -- (preferred) text that stands out, HTML links - Bold { gui = 'bold' }, - Italic { gui = 'italic' }, - Reverse { gui = 'reverse' }, - - ColorColumn { bg = hsl(p.dim.white).darken(40) }, -- used for the columns set with 'colorcolumn' - -- Conceal { }, -- placeholder characters substituted for concealed text (see 'conceallevel') - Cursor { Reverse }, -- character under the cursor - lCursor { Cursor }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') - CursorIM { Cursor }, -- like Cursor, but used when in IME mode |CursorIM| - CursorColumn { ColorColumn }, -- Screen-column at the cursor, when 'cursorcolumn' is set. - CursorLine { ColorColumn }, -- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set. - -- Directory { }, -- directory names (and other special names in listings) - DiffAdd { fg = hsl(p.bright.green) }, -- diff mode: Added line |diff.txt| - DiffChange { fg = hsl(p.bright.cyan) }, -- diff mode: Changed line |diff.txt| - DiffDelete { fg = hsl(p.bright.red) }, -- diff mode: Deleted line |diff.txt| - DiffText { fg = hsl(p.normal.white) }, -- diff mode: Changed text within a changed line |diff.txt| - EndOfBuffer { fg = hsl(p.bright.blue) }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|. - TermCursor { Cursor }, -- cursor in a focused terminal - TermCursorNC { Cursor }, -- cursor in an unfocused terminal - ErrorMsg { Bold, fg = hsl(p.bright.white), bg = hsl(p.dim.red) }, -- error messages on the command line - VertSplit { fg = hsl(p.dim.magenta), bg = 'none' }, -- the column separating vertically split windows - Folded { fg = hsl(p.bright.magenta), bg = 'none' }, -- line used for closed folds - FoldColumn { Folded }, -- 'foldcolumn' - SignColumn { gui = 'none' }, -- column where |signs| are displayed - Search { Bold, fg = hsl(p.normal.black), bg = hsl(p.bright.white) }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out. - IncSearch { Search }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c" - Substitute { fg = hsl(p.normal.blue) }, -- |:substitute| replacement text highlighting - LineNr { fg = hsl(p.dim.white) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. - CursorLineNr { Cursor }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. - MatchParen { fg = hsl(p.bright.white), bg = hsl(p.dim.black) }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt| - ModeMsg { fg = hsl(p.normal.yellow) }, -- 'showmode' message (e.g., "-- INSERT -- ") - -- MsgArea { }, -- Area for messages and cmdline - -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display' - -- MoreMsg { }, -- |more-prompt| - NonText { EndOfBuffer }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|. - Normal { fg = hsl(p.bright.white) }, -- normal text - NormalFloat { Normal }, -- Normal text in floating windows. - NormalNC { Normal }, -- normal text in non-current windows - Pmenu { fg = hsl(p.bright.yellow), bg = hsl(p.normal.black) }, -- Popup menu: normal item. - PmenuSel { Pmenu, gui = 'reverse' }, -- Popup menu: selected item. - PmenuSbar { bg = 'none' }, -- Popup menu: scrollbar. - PmenuThumb { bg = hsl(p.bright.white) }, -- Popup menu: Thumb of the scrollbar. - -- Question { }, -- |hit-enter| prompt and yes/no questions - -- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there. - -- SpecialKey { }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace| SpellBad Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise. SpellCap Word that should start with a capital. |spell| Combined with the highlighting used otherwise. SpellLocal Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise. - -- SpellRare { }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise. - StatusLine { fg = hsl(p.normal.white), bg = hsl(p.normal.black) }, -- status line of current window - StatusLineNC { fg = hsl(p.dim.white) }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window. - TabLine { StatusLine }, -- tab pages line, not active tab page label - TabLineFill { gui = 'none' }, -- tab pages line, where there are no labels - -- TabLineSel { }, -- tab pages line, active tab page label - -- Title { }, -- titles for output from ":set all", ":autocmd" etc. - Visual { fg = hsl(p.bright.white), bg = hsl(p.normal.magenta) }, -- Visual mode selection - VisualNOS { Visual }, -- Visual mode selection when vim is "Not Owning the Selection". - WarningMsg { fg = hsl(p.normal.yellow) }, -- warning messages - Whitespace { fg = hsl(p.dim.white) }, -- "nbsp", "space", "tab" and "trail" in 'listchars' - WildMenu { bg = hsl(p.bright.black) }, -- current match in 'wildmenu' completion - - Constant { fg = hsl(p.bright.yellow).darken(50) }, -- (preferred) any constant - String { fg = hsl(p.normal.yellow) }, -- a string constant: "this is a string" - Character { String }, -- a character constant: 'c', '\n' - Number { fg = hsl(p.normal.cyan) }, -- a number constant: 234, 0xff - Float { Number }, -- a floating point constant: 2.3e10 - Boolean { Number }, -- a boolean constant: TRUE, false - - Identifier { fg = hsl(p.bright.magenta) }, -- (preferred) any variable name - Function { Identifier }, -- function name (also: methods for classes) - Comment { Italic, fg = hsl(p.dim.white).lighten(30) }, - - Statement { fg = hsl(p.normal.green) }, -- (preferred) any statement - Keyword { fg = hsl(p.bright.blue) }, -- any other keyword - Conditional { Keyword }, -- if, then, else, endif, switch, etc. - Repeat { Keyword }, -- for, do, while, etc. - Label { Keyword }, -- case, default, etc. - Operator { Keyword }, -- "sizeof", "+", "*", etc. - Exception { Keyword }, -- try, catch, throw - - PreProc { fg = hsl(p.normal.cyan) }, -- (preferred) generic Preprocessor - Include { PreProc }, -- preprocessor #include - Define { PreProc }, -- preprocessor #define - Macro { PreProc }, -- same as Define - PreCondit { PreProc }, -- preprocessor #if, #else, #endif, etc. - - Type { fg = hsl(p.bright.green) }, -- (preferred) int, long, char, etc. - StorageClass { Type }, -- static, register, volatile, etc. - Structure { Type }, -- struct, union, enum, etc. - Typedef { Type }, -- A typedef - - Special { fg = hsl(p.normal.yellow) }, -- (preferred) any special symbol - SpecialChar { Special }, -- special character in a constant - Tag { Special }, -- you can use CTRL-] on this - Delimiter { Special }, -- character that needs attention - SpecialComment { Special }, -- special things inside a comment - Debug { Special }, -- debugging statements - - -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore| - Error { Bold, fg = hsl(p.normal.red) }, -- (preferred) any erroneous construct - Todo { Italic, fg = hsl(p.normal.black), bg = hsl(p.bright.yellow) }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX - - -- Lang specific {{{ - -- C - cType { Type, gui = 'bold' }, - -- cFormat {}, - -- cStorageClass { Bold }, - - cBoolean { Boolean, gui = 'bold' }, - -- cCharacter {}, - cConstant { Constant, gui = 'bold' }, - -- cConditional { Bold }, - cSpecial { Bold }, - -- cDefine {}, - -- cNumber {}, - -- cPreCondit {}, - -- cRepeat {}, - -- cLabel { fg = hsl(p.dim.black), bg = hsl(p.dim.red) }, - -- cAnsiFunction { Bold }, - -- cAnsiName {}, - -- cDelimiter {}, - -- cBraces {}, - -- cIdentifier {}, - -- cSemiColon {}, - -- cOperator {}, - -- cStatement {}, - -- cTodo { Bold }, - cStructure { Bold }, - -- cCustomParen {}, - -- cCustomFunc {}, - -- cUserFunction { Function, gui = 'bold' }, - -- cOctalZero { Bold }, - -- cFunction {}, - -- }}} - - -- LSP {{{ - LspDiagnosticsError { Error }, -- used for "Error" diagnostics - LspDiagnosticsFloatingError { LspDiagnosticsError }, - LspDiagnosticsVirtualTextError { fg = LspDiagnosticsError.fg.darken(40) }, - LspDiagnosticsSignError { LspDiagnosticsError }, - - LspDiagnosticsWarning { WarningMsg }, -- used for "Warning" diagnostics - LspDiagnosticsFloatingWarning { LspDiagnosticsWarning }, - LspDiagnosticsVirtualTextWarning { fg = LspDiagnosticsWarning.fg.darken(60) }, - LspDiagnosticsSignWarning { LspDiagnosticsWarning }, - - LspDiagnosticsInformation { fg = hsl(p.normal.blue).lighten(20) }, -- used for "Information" diagnostics - LspDiagnosticsFloatingInformation { LspDiagnosticsInformation }, - LspDiagnosticsVirtualTextInformation { fg = LspDiagnosticsInformation.fg.darken(30) }, - LspDiagnosticsSignInformation { LspDiagnosticsInformation }, - - LspDiagnosticsHint { fg = hsl(p.normal.green) }, -- used for "Hint" diagnostics - LspDiagnosticsFloatingHint { LspDiagnosticsHint }, - LspDiagnosticsVirtualTextHint { fg = LspDiagnosticsHint.fg.darken(40) }, - LspDiagnosticsSignHint { LspDiagnosticsHint }, - - -- LspReferenceText { }, -- used for highlighting "text" references - -- LspReferenceRead { }, -- used for highlighting "read" references - -- LspReferenceWrite { }, -- used for highlighting "write" references - -- }}} - - -- TreeSitter {{{ - -- TSError { }, -- For syntax/parser errors. - -- TSPunctDelimiter { }, -- For delimiters ie: `.` - -- TSPunctBracket { }, -- For brackets and parens. - -- TSPunctSpecial { }, -- For special punctutation that does not fall in the catagories before. - -- TSConstant { }, -- For constants - -- TSConstBuiltin { }, -- For constant that are built in the language: `nil` in Lua. - -- TSConstMacro { }, -- For constants that are defined by macros: `NULL` in C. - -- TSString { }, -- For strings. - -- TSStringRegex { }, -- For regexes. - -- TSStringEscape { }, -- For escape characters within a string. - -- TSCharacter { }, -- For characters. - -- TSNumber { }, -- For integers. - -- TSBoolean { }, -- For booleans. - -- TSFloat { }, -- For floats. - -- TSFunction { }, -- For function (calls and definitions). - -- TSFuncBuiltin { }, -- For builtin functions: `table.insert` in Lua. - -- TSFuncMacro { }, -- For macro defined fuctions (calls and definitions): each `macro_rules` in Rust. - -- TSParameter { }, -- For parameters of a function. - -- TSParameterReference { }, -- For references to parameters of a function. - -- TSMethod { }, -- For method calls and definitions. - -- TSField { }, -- For fields. - -- TSProperty { }, -- Same as `TSField`. - -- TSConstructor { }, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors. - -- TSConditional { }, -- For keywords related to conditionnals. - -- TSRepeat { }, -- For keywords related to loops. - -- TSLabel { }, -- For labels: `label:` in C and `:label:` in Lua. - -- TSOperator { }, -- For any operator: `+`, but also `->` and `*` in C. - -- TSKeyword { }, -- For keywords that don't fall in previous categories. - -- TSKeywordFunction { }, -- For keywords used to define a fuction. - -- TSException { }, -- For exception related keywords. - -- TSType { }, -- For types. - -- TSTypeBuiltin { }, -- For builtin types (you guessed it, right ?). - -- TSNamespace { }, -- For identifiers referring to modules and namespaces. - -- TSInclude { }, -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua. - -- TSAnnotation { }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information. - -- TSText { }, -- For strings considered text in a markup language. - -- TSStrong { }, -- For text to be represented with strong. - -- TSEmphasis { }, -- For text to be represented with emphasis. - -- TSUnderline { }, -- For text to be represented with an underline. - -- TSTitle { }, -- Text that is part of a title. - -- TSLiteral { }, -- Literal text. - -- TSURI { }, -- Any URI like a link or email. - -- TSVariable { }, -- Any variable name that does not have another highlight. - -- TSVariableBuiltin { }, -- Variable names that are defined by the languages, like `this` or `self`. - -- }}} - - -- Plugin configs {{{ - IndentGuidesOdd { bg = hsl(p.bright.black) }, - IndentGuidesEven { bg = hsl(p.dim.white).darken(40) }, - - SignifyLineChange { DiffChange }, - SignifySignChange { SignifyLineChange }, - SignifyLineAdd { DiffAdd }, - SignifySignAdd { SignifyLineAdd }, - SignifyLineDelete { DiffDelete }, - SignifySignDelete { SignifyLineDelete }, - - -- git - gitcommitSummary { Bold }, - -- gitcommitHeader { Bold }, - -- gitcommitSelectedType {}, - -- gitcommitSelectedFile {}, - -- gitcommitUntrackedFile {}, - -- gitcommitBranch {}, - -- gitcommitDiscardedType {}, - gitcommitDiff { fg = hsl(p.dim.white) }, - diffFile { fg = hsl(p.bright.yellow) }, - diffSubname { diffFile }, - diffIndexLine { diffFile }, - diffAdded { DiffAdd }, - diffRemoved { DiffDelete }, - -- diffLine {}, - -- diffBDiffer {}, - -- diffNewFile {}, - -- }}} - } -end) - --- vi:nowrap diff --git a/.vim/lua/job.lua b/.vim/lua/job.lua new file mode 100644 index 0000000..a3591e5 --- /dev/null +++ b/.vim/lua/job.lua @@ -0,0 +1,45 @@ + +local M = {} + +function M.jobstart(cmd) + local output = {} + + local function on_event(job_id, data, event) + if event == 'stdout' or event == 'stderr' then + if data then + vim.list_extend(output, data) + end + end + if event == 'exit' then + vim.fn.setqflist({}, ' ', { + title = cmd, + lines = output, + }) + vim.api.nvim_command('doautocmd QuickFixCmdPost') + end + end + + local job_id = require('spinner.job').jobstart(cmd, { + on_stdout = on_event, + on_stderr = on_event, + on_exit = on_event, + stdout_buffered = true, + stderr_buffered = true, + }) + return job_id +end + +function M.make(args) + local args = args or {} + local makeprg = vim.opt.makeprg:get() + local cmd = vim.split(vim.fn.expandcmd(makeprg), ' ') + table.foreach(args, function(_, v) table.insert(cmd, v) end) + return M.jobstart(cmd) +end + +function M.sh(cmd) + local cmd = {vim.env.SHELL, '-c', cmd} + return M.jobstart(cmd) +end + +return M diff --git a/.vim/lua/lsp.lua b/.vim/lua/lsp.lua new file mode 100644 index 0000000..0e5f736 --- /dev/null +++ b/.vim/lua/lsp.lua @@ -0,0 +1,168 @@ +local lsp = require('lspconfig') +local nnoremap = require('astronauta.keymap').nnoremap +local spinner_lsp= require('spinner.lsp') + +local my_attach = function(client, bufnr) + spinner_lsp.on_attach(client, bufnr) + + -- lsp mappings + nnoremap { 'K' , vim.lsp.buf.hover } + nnoremap { '<C-]>' , vim.lsp.buf.definition } + nnoremap { 'gd' , vim.lsp.buf.definition } + nnoremap { 'grr' , vim.lsp.buf.rename } + nnoremap { '<c-h>' , vim.lsp.buf.signature_help } + nnoremap { ']d' , vim.lsp.diagnostic.goto_next } + nnoremap { '[d' , vim.lsp.diagnostic.goto_prev } + + nnoremap { '<leader>f' , vim.lsp.buf.formatting } + -- nnoremap { 'g0', vim.lsp.buf.document_symbol } + nnoremap { 'gR' , vim.lsp.buf.references } + nnoremap { 'gW' , vim.lsp.buf.workspace_symbol } + nnoremap { 'gD' , vim.lsp.buf.declaration } + nnoremap { 'gT' , vim.lsp.buf.type_definition } + nnoremap { 'gI' , vim.lsp.buf.implementation } + + -- nnoremap <silent> ;s <cmd> lua vim.lsp.buf.signature_help()<CR> + nnoremap { '<leader>d' , vim.lsp.diagnostic.show_line_diagnostics } + + require('utils').augroup2 { + lsp_user = { + {'BufWritePre' , '*' , 'lua vim.lsp.buf.formatting_seq_sync(nil, 1000)'}, + {'BufWritePre' , '*.go' , 'lua vim.lsp.buf.code_action({ only = {"source.organizeImports"} })'}, + {'CursorHold' , '*' , 'lua vim.lsp.diagnostic.show_line_diagnostics()'}, + } + } +end + +local setup = function() + local caps = vim.lsp.protocol.make_client_capabilities() + -- enable lsp-based snippets + caps.textDocument.completion.completionItem.snippetSupport = true + caps.textDocument.completion.completionItem.resolveSupport = { + properties = { + 'documentation', + 'detail', + 'additionalTextEdits', + } + } + + spinner_lsp.setup() + spinner_lsp.init_capabilities(caps) + + -- handler overwrites + -- configure builtin diagnositics + vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( -- {{{ + vim.lsp.diagnostic.on_publish_diagnostics, { + virtual_text = false, + signs = true, + underline = true, + update_in_insert = false, + } + ) + -- }}} + + -- overwrite codeAction handler to not ask for confirmation if only a single + -- action is given + vim.lsp.handlers["textDocument/codeAction"] = function(_, _, actions) -- {{{ + if actions == nil or vim.tbl_isempty(actions) then + -- skip printing 'no code actions available' + return + end + + local action_cosen + if #actions == 1 then + action_chosen = actions[1] + else + local option_strings = {"Code Actions:"} + for i, action in ipairs(actions) do + local title = action.title:gsub('\r\n', '\\r\\n') + title = title:gsub('\n', '\\n') + table.insert(option_strings, string.format("%d. %s", i, title)) + end + + local choice = vim.fn.inputlist(option_strings) + if choice < 1 or choice > #actions then + return + end + action_chosen = actions[choice] + end + + if action_chosen.edit or type(action_chosen.command) == "table" then + if action_chosen.edit then + vim.lsp.util.apply_workspace_edit(action_chosen.edit) + end + if type(action_chosen.command) == "table" then + vim.lsp.buf.execute_command(action_chosen.command) + end + else + vim.lsp.buf.execute_command(action_chosen) + end + end + -- }}} + + vim.fn.sign_define("LspDiagnosticsSignError", {text="⚡", numhl="Error"}) + vim.fn.sign_define("LspDiagnosticsSignWarning", {text="⯈", numhl="Warning"}) + vim.fn.sign_define("LspDiagnosticsSignInformation", {text="ℹ"}) + vim.fn.sign_define("LspDiagnosticsSignHint", {text="🞶"}) + + -- lsp.ccls.setup { + -- on_attach = my_attach, + -- capabilities = caps, + -- } + + lsp.gopls.setup { + on_attach = my_attach, + capabilities = caps, + settings = { + gopls = { + -- analyses = { + -- composites = false + -- }, + codelenses = { + test = true, + tidy = true, + }, + gofumpt = true, + } + } + } + + lsp.sumneko_lua.setup { + on_attach = my_attach, + capabilities = caps, + cmd = { 'lua-language-server' }; + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + }, + diagnostics = { + globals = {'vim'}, + }, + workspace = { + library = { + [vim.fn.expand('$VIMRUNTIME/lua')] = true, + [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + } + } + } + } + } + + lsp.rust_analyzer.setup { + on_attach = my_attach, + capabilities = caps, + cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'rust-analyzer' }, + } + + lsp.zls.setup { + on_attach = my_attach, + capabilities = caps, + } + +end + +return { + my_attach = my_attach, + setup = setup +} diff --git a/.vim/lua/misc.lua b/.vim/lua/misc.lua index 4f2b9dc..0067efb 100644 --- a/.vim/lua/misc.lua +++ b/.vim/lua/misc.lua @@ -31,4 +31,30 @@ function M.open_under_cursor(cmd) end) end +function get_visual_selection() + pos1 = vim.fn.getpos("'<") + ln1, col1 = pos1[2], pos1[3] + pos2 = vim.fn.getpos("'>") + ln2, col2 = pos2[2], pos2[3] + lines = vim.fn.getline(ln1, ln2) + if vim.opt.selection:get() == 'inclusive' then + lines[#lines] = lines[#lines]:sub(1,col2) + else + lines[#lines] = lines[#lines]:sub(1,col2-1) + end + lines[1] = lines[1]:sub(col1) + return pos1, pos2, lines +end + +function M.sort_line() + local fn = vim.fn + pos1, pos2, lines = get_visual_selection() + for i=1, #lines do + local ln = pos1[2] + (i-1) + local line = fn.join(fn.sort(fn.split(lines[i], " "))) + line = fn.substitute(fn.getline(ln), lines[i], line, "") + vim.fn.setline(ln, line) + end +end + return M diff --git a/.vim/lua/plugins.lua b/.vim/lua/plugins.lua index f5f9a37..cb8bdb1 100644 --- a/.vim/lua/plugins.lua +++ b/.vim/lua/plugins.lua @@ -1,14 +1,22 @@ +-- vim: foldenable -- load by calling `lua require('plugins')` from your init.vim local g = vim.g local u = require('utils') --- local install_path = fn.stdpath('data') .. '/site/pack/packer/opt/packer.nvim' --- if vim.fn.empty(vim.fn.glob(install_path)) > 0 then --- vim.fn.system({ 'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path }) --- vim.api.nvim_command 'packadd packer.nvim' --- end +-- force packer into a system directory +local sysdata = vim.fn.stdpath('data_dirs')[1] -function disable_distribution_plugins() +local install_path = sysdata .. '/site/pack/packer/start/packer.nvim' +if vim.fn.empty(vim.fn.glob(install_path)) > 0 then + vim.fn.system({ 'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path }) + vim.api.nvim_command 'packadd packer.nvim' +end + +if not vim.fn.filewritable(vim.fn.stdpath('cache')) == 2 then + return +end + +function disable_distribution_plugins() --{{{ g.loaded_gzip = 1 g.loaded_tar = 1 g.loaded_tarPlugin = 1 @@ -27,12 +35,9 @@ function disable_distribution_plugins() g.loaded_netrwPlugin = 1 g.loaded_netrwSettings = 1 g.loaded_netrwFileHandlers = 1 -end - --- enable to bootstrap packer from ~/.local/share/nvim/site/pack/packer/opt/packer.nvim --- vim.cmd [[packadd packer.nvim]] +end -- }}} -return require'packer'.startup(function() +return require('packer').startup({function() -- disable built-in plugins disable_distribution_plugins() @@ -40,119 +45,388 @@ return require'packer'.startup(function() use {'wbthomason/packer.nvim'} -- git status in the sign column - use {'mhinz/vim-signify', - config = "require('plugins._signify')" - } + use {'mhinz/vim-signify', -- {{{ + config = function() + local nnoremap = require('astronauta.keymap').nnoremap + + vim.g.signify_sign_change = '~' + + nnoremap { ']h', function() vim.fn['sy#jump#next_hunk'](1) end } + nnoremap { '[h', function() vim.fn['sy#jump#prev_hunk'](1) end } + end} -- }}} use {'tpope/vim-commentary'} -- auto-comment using `gcc` - use {'cohama/lexima.vim'} -- auto-close parens, brackets, etc. + + use {'windwp/nvim-autopairs', + config = function() + require('nvim-autopairs').setup() + end} + use {'tpope/vim-surround'} -- edit surroundings in pairs - -- use {'neomake/neomake'} -- async job runner - use {'sbdchd/neoformat'} -- async code formatter + use {'justinmk/vim-dirvish'} -- folder browser - use {'justinmk/vim-sneak', - config = "vim.g['sneak#label'] = true" - } + + use {'ggandor/lightspeed.nvim'} + + use {'jose-elias-alvarez/null-ls.nvim', -- {{{ + requires = {'nvim-lua/plenary.nvim'}, + config = function() + local nls = require('null-ls') + nls.config { + sources = { + nls.builtins.formatting.clang_format, -- c* + nls.builtins.formatting.gofumpt, -- go + nls.builtins.formatting.json_tool, -- json + nls.builtins.formatting.rustfmt, -- rust + nls.builtins.formatting.shfmt, -- *sh + nls.builtins.formatting.yapf, -- python + nls.builtins.diagnostics.shellcheck, -- *sh + } + } + + require('lspconfig')['null-ls'].setup { + on_attach = require('lsp').my_attach + } + end} -- }}} use {'neovim/nvim-lspconfig', - requires = { - {'kosayoda/nvim-lightbulb', config = "require('plugins._lightbulb')"}, - }, - config = "require('plugins._lsp')" - } + requires = {'~/devel/projects/spinner.nvim'}, + config = function() + require('lsp').setup() + end} + + use {'kosayoda/nvim-lightbulb', -- {{{ + config = function() + require('nvim-lightbulb').update_lightbulb { + sign = { + enabled = true, + priority = 10, + }, + float = { + enabled = true, + text = ' ', + win_opts = {}, + }, + virtual_text = { + enabled = false, + text = ' ', + }, + status_text = { + enabled = false, + } + } + + vim.fn.sign_define('LightBulbSign', {text="⚐", texthl="LightBulbVirtualText"}) - use {'nvim-treesitter/nvim-treesitter', + require('utils').augroup2 { + lightbulb = { + {'CursorHold', '*', "lua require('nvim-lightbulb').update_lightbulb()"} + } + } + end} -- }}} + + use {'nvim-treesitter/nvim-treesitter', -- {{{ + run = ':TSUpdate', requires = { 'nvim-treesitter/completion-treesitter', 'nvim-treesitter/nvim-treesitter-refactor', }, - config = "require('plugins._treesitter')", - run = ':TSUpdate', - } + config = function() + require('nvim-treesitter.configs').setup { + ensure_installed = { + "bash", + "c", + "c_sharp", + "css", + "dockerfile", + "html", + "go", "gomod", + "javascript", + "ledger", + "lua", + "rust", + "typescript", + }, + highlight = { + enable = false, + }, + indent = { + enable = true, + }, + refactor = { + navigation = { + enable = true, + keymaps = { + goto_definition = "<c-]>", + }, + }, + smart_rename = { + enable = true, + keymaps = { + smart_rename = "grr", + }, + }, + }, + } + end} -- }}} - use {'nvim-lua/completion-nvim', - requires = {'steelsojka/completion-buffers'}, - config = "require('plugins._completion')", - } + use {'hrsh7th/nvim-compe', -- {{{ + -- requires nvim-autopairs + config = function() + require('compe').setup { + enabled = true, + autocomplete = true, + preselect = 'enable', + documentation = { + border = 'single', + }, + source = { + path = true, + buffer = true, + tags = true, + nvim_lsp = true, + nvim_lua = true, + orgmode = true, + ultisnips = true, + } + } - -- use {'hrsh7th/nvim-compe', - -- config = "require('plugins._compe')", - -- } + vim.cmd [[ + inoremap <silent><expr> <c-space> compe#complete() + inoremap <silent><expr> <c-e> compe#close('<c-e>') + ]] + + require('nvim-autopairs.completion.compe').setup { + map_cr = true, + map_complete = true, + } + end} -- }}} - use {'nvim-telescope/telescope.nvim', + use {'nvim-telescope/telescope.nvim', --- {{{ requires = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim', -- telescope plugins: 'nvim-telescope/telescope-fzf-writer.nvim', }, - config = "require('plugins._telescope')" - } + config = function() + local nnoremap = require('astronauta.keymap').nnoremap + + require('telescope').setup{ + defaults = { + -- initial_mode = 'input', + prompt_prefix = '> ', + selection_caret = '* ', + + sorting_strategy = 'ascending', + + preview_title = '', + layout_strategy = 'bottom_pane', + layout_config = { + preview_cutoff = 1, + height = 20, + }, + border = true, + borderchars = { + 'z', + prompt = { '─', ' ', ' ', ' ', '─', '─', ' ', ' ' }, + results = { ' ' }, + -- results = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' }, + preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, + + -- "center" + -- { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, + -- prompt = {'─', '│', ' ', '│', '┌', '┐', '│', '│'}, + -- results = {'─', '│', '─', '│', '├', '┤', '┘', '└'}, + -- preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, + }, + + 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, + + extensions = { + fzf_writer = { + use_highlighter = true, + minimum_grep_characters = 4, + shorten_path = true, + } + } + } + } + + nnoremap { ';q', require('telescope.builtin').quickfix } + nnoremap { ';c', require('telescope.builtin').loclist } + + nnoremap { ';g', require('telescope').extensions.fzf_writer.staged_grep } + nnoremap { ';f', require('telescope.builtin').fd } + nnoremap { ';l', require('telescope.builtin').current_buffer_fuzzy_find } + nnoremap { ';w', require('telescope.builtin').file_browser } + nnoremap { ';b', require('telescope.builtin').buffers } + nnoremap { ';t', require('telescope.builtin').tags } + nnoremap { ';h', require('telescope.builtin').command_history } + nnoremap { ';H', require('telescope.builtin').help_tags } + nnoremap { ';c', require('telescope.builtin').commands } + + nnoremap { ';v', function() + require('telescope.builtin').find_files({ + prompt_title = 'vimrc', + previewer = false, + cwd = vim.fn.stdpath('config'), + }) + end } + + -- LSP stuff + nnoremap { ';a', require('telescope.builtin').lsp_code_actions } + nnoremap { ';0', require('telescope.builtin').lsp_document_symbols } + nnoremap { ';r', require('telescope.builtin').lsp_references } + end} -- }}} -- polyfill for some missing stuff use {'tjdevries/astronauta.nvim'} -- snippets - use {'SirVer/ultisnips', + use {'SirVer/ultisnips', -- {{{ requires = {'honza/vim-snippets'}, - config = "require('plugins._ultisnips')" - } + config = function() + vim.g.UltiSnipsJumpForwardTrigger = "<tab>" + vim.g.UltiSnipsJumpBackwardTrigger = "<s-tab>" + end} -- }}} + + -- use {'L3MON4D3/LuaSnip', + -- config = "require('plugins._ultisnips')", + -- } use {'junegunn/vim-easy-align'} - use {'editorconfig/editorconfig-vim', - config = "require('plugins._editorconfig')" - } - -- use {'tpope/vim-sleuth'} -- detect indentation - use {'nathanaelkane/vim-indent-guides', - disable = true, - config = "require('plugins._indent-guides')" - } + use {'editorconfig/editorconfig-vim', -- {{{ + config = function() + require('utils').augroup2 { + editorconfig = { + { 'FileType', 'gitcommit', 'let b:EditorConfig_disable = 1' }, + } + } + end} -- }}} - use {'tpope/vim-repeat'} -- extend '.' to plugins - use {'michaeljsmith/vim-indent-object'} -- adds indentation text-objects - use {'kshenoy/vim-signature', disable = true} -- toggle, display and navigate marks - use {'norcalli/nvim-colorizer.lua', - config = "require('plugins._colorizer')" - } + use {'lukas-reineke/indent-blankline.nvim', + config = function() + vim.g.indent_blankline_char = '▏' + end} - use {'rhysd/git-messenger.vim', - config = "require('plugins._git-messenger')" - } + use {'tpope/vim-repeat'} -- extend '.' to plugins + use {'michaeljsmith/vim-indent-object'} -- indentation text-objects + use {'kshenoy/vim-signature', disable = true} -- toggle, display and navigate marks + use {'norcalli/nvim-colorizer.lua', -- {{{ + config = function() + require('colorizer').setup(nil, { + name = true; + RRGGBB = true; + RRGGBBAA = false; + rgb_fn = true; + hsl_fn = true; + mode = 'background'; + }) + end} -- }}} - use {'TimUntersberger/neogit'} + use {'rhysd/git-messenger.vim', -- {{{ + config = function() + -- vim.g.git_messenger_include_diff = false + vim.g.git_messenger_always_into_popup = true + vim.g.git_messenger_close_on_cursor_moved = true + vim.g.git_messenger_no_default_mappings = true + end} -- }}} + -- use {'TimUntersberger/neogit', + -- config = "require('astronauta.keymap').nnoremap { '<leader>gg', function() require('neogit').open({ kind = 'split' }) end }" + -- } + + use {'liuchengxu/vista.vim'} use {'rhysd/conflict-marker.vim', disable = true} - -- use {'liuchengxu/vista.vim'} -- sidebar populated by lsp, ctags, etc. use {'kassio/neoterm', disable = true} -- zettelkasten via neuron - -- NOTE: needs telescope.nvim and plenary.nvim - use {'oberblastmeister/neuron.nvim', + use {'oberblastmeister/neuron.nvim', -- {{{ branch = 'unstable', requires = {'nvim-telescope/telescope.nvim'}, - config = "require('.plugins._neuron')" - } + config = function() + require('neuron').setup { + virtual_titles = true, + mappings = true, + run = nil, + neuron_dir = "~/.zk", + leader = "gz", + } + + vim.cmd [[ command! NeuronServe lua require('neuron').rib {address = "127.0.0.1:8200", verbose = true} ]] + vim.cmd [[ command! NeuronZettels lua require('neuron.telescope').find_zettels {insert = false} ]] + vim.cmd [[ command! NeuronZettelsInsert lua require('neuron.telescope').find_zettels {insert = true} ]] + vim.cmd [[ command! NeuronTags lua require('neuron.telescope').find_tags() ]] + end} -- }}} + + use {'kristijanhusak/orgmode.nvim', -- {{{ + config = function() + local nnoremap = require('astronauta.keymap').nnoremap + + require('orgmode').setup { + org_agenda_files = {'$HOME/.zk/.orgmode/*.org'}, + org_default_notes_file = '$HOME/.zk/.orgmode/todo.org', + } + + local pickers = require('telescope.pickers') + local finders = require('telescope.finders') + + nnoremap { ';o', function() + pickers.new(opts, { + prompt_title = 'Orgmode', + finder = finders.new_table(require('orgmode.config'):get_all_files()), + }):find() + end } + + vim.cmd [[ command! Orgmode lua require('orgmode').action('agenda.prompt') ]] + vim.cmd [[ command! OrgmodeCapture lua require('orgmode').action('capture.refile') ]] + vim.cmd [[ command! OrgmodeInsert lua require('orgmode').action('org_mappings.insert_heading_respect_content') ]] + vim.cmd [[ command! OrgmodeTodoCycle lua require('orgmode').action('org_mappings.todo_next_state') ]] + vim.cmd [[ command! OrgmodeTag lua require('orgmode').action('org_mappings.set_tags') ]] + vim.cmd [[ command! OrgmodeArchive lua require('orgmode').action('org_mappings.toggle_archive_tag') ]] + end} -- }}} -- languages -- NOTE: these should only be loaded when they are required... -- use {'rhysd/vim-grammarous', -- ft = {'markdown', 'latex', 'tex'} -- } - use {'lervag/vimtex', + use {'lervag/vimtex', -- {{{ ft = {'latex', 'tex'}, - config = "require('plugins._vimtex')" - } - use {'plasticboy/vim-markdown', + config = function() + vim.g.tex_flavor = 'latex' + vim.g.vimtex_compiler_enabled = 0 + vim.g.vimtex_compiler_method = 'tectonic' + vim.g.vimtex_compiler_tectonic = "{'executable': 'tectonic'}" + vim.g.vimtex_view_method = 'zathura' + -- vim.g.vimtex_view_zathura_check_libsynctex = false + -- vim.g.vimtex_view_use_temp_files = true + -- vim.g.vimtex_view_forward_search_on_start = false + end} -- }}} + + use {'plasticboy/vim-markdown', -- {{{ ft = {'markdown'}, - config = "require('plugins._markdown')" - } - use {'masukomi/vim-markdown-folding', - ft = {'markdown'} - } - use {'jjo/vim-cue', - ft = {'cue'} - } + config = function() + vim.g.vim_markdown_folding_disabled = true + vim.g.vim_markdown_math = true + vim.g.vim_markdown_frontmatter = true + vim.g.vim_markdown_json_frontmatter = true + vim.g.vim_markdown_toml_frontmatter = true + vim.g.vim_markdown_yaml_frontmatter = true + -- vim.g.vim_markdown_folding_level = 2 + vim.g.vim_markdown_strikethrough = true + vim.g.vim_markdown_auto_insert_bullets = true + vim.g.vim_markdown_new_list_item_indent = false + vim.g.vim_markdown_conceal = true + vim.g.vim_markdown_conceal_code_blocks = true + end} -- }}} + + use {'masukomi/vim-markdown-folding', ft = {'markdown'}} + use {'jjo/vim-cue', ft = {'cue'}} use {'gentoo/gentoo-syntax'} -- multi-language support with lazy loading @@ -160,22 +434,53 @@ return require'packer'.startup(function() g.polyglot_disabled = { 'autoindent' } use {'sheerun/vim-polyglot'} - -- minimal ux - use {'junegunn/goyo.vim', - cmd = 'Goyo', - config = "require('plugins._goyo')" - } - use {'junegunn/limelight.vim', - cmd = 'Limelight', - config = "require('plugins._limelight')" - } + use {'folke/zen-mode.nvim', -- {{{ + config = function() + require('zen-mode').setup { + window = { + backdrop = 1, + width = 0.3, + -- height = 1, + options = { + number = false, + list = false, + }, + }, + plugins = { + options = { + enabled = true, + ruler = false, + showcmd = false, + }, + twilight = { enabled = true }, + } + } + end} -- }}} - use {'rktjmp/lush.nvim',} - -- config="require('colors')"} + use {'folke/twilight.nvim', -- {{{ + config = function() + require('twilight').setup { + context = 15, + dimming = { + alpha = 0.3, + color = { 'Normal', '#ffffff' }, + }, + } + end} -- }}} - -- vim config debugging - use {'dstein64/vim-startuptime', disable = true} + use {'mhinz/vim-startify', -- {{{ + config = function() + require('utils').augroup2 { + startify = {{ 'FileType', 'startify', [[ IndentBlanklineDisable ]] }} + } + end} -- }}} + + use {'rktjmp/lush.nvim'} -- local use {'~/devel/upstream/github.com/knsh14/vim-github-link'} -end) + +end, +config = { + package_root = require('packer.util').join_paths(sysdata, 'site', 'pack'), +}}) diff --git a/.vim/lua/plugins/_colorizer.lua b/.vim/lua/plugins/_colorizer.lua deleted file mode 100644 index 7b6f678..0000000 --- a/.vim/lua/plugins/_colorizer.lua +++ /dev/null @@ -1,8 +0,0 @@ -require('colorizer').setup(nil, { - name = true; - RRGGBB = true; - RRGGBBAA = false; - rgb_fn = true; - hsl_fn = true; - mode = 'background'; -}) diff --git a/.vim/lua/plugins/_completion.lua b/.vim/lua/plugins/_completion.lua deleted file mode 100644 index 5497c4b..0000000 --- a/.vim/lua/plugins/_completion.lua +++ /dev/null @@ -1,53 +0,0 @@ -local g = vim.g -local u = require('utils') -local inoremap = require('astronauta.keymap').inoremap - -g.completion_enable_auto_popup = true -g.completion_enable_auto_signature = true -g.completion_enable_auto_paren = false -g.completion_enable_auto_hover = true -g.completion_trigger_on_delete = true -g.completion_confirm_key = '<cr>' -g.completion_enable_snippet = 'UltiSnips' --- g.completion_matching_ignore_case = false -g.completion_matching_smart_case = true -g.completion_matching_strategy_list = {'exact', 'substring', 'fuzzy', 'all'} -g.completion_sorting = 'length' -- or: alphabet, none - -g.completion_auto_change_source = true -g.completion_chain_complete_list = { - {complete_items = {'lsp', 'snippet', 'path', 'buffers', 'ts'}}, - -- {mode = '<c-p>'}, - -- {mode = '<c-n>'}, - {mode = 'file'}, - {mode = 'spel'}, -} - -u.augroup2 { - completion_user = {{'BufEnter', '*', 'lua require("completion").on_attach()'}} -} - -inoremap { '<tab>', require('completion').smart_tab} -inoremap { '<s-tab>', require('completion').smart_s_tab } -inoremap { '<c-j>', require('completion.source').nextCompletion } -inoremap { '<c-k>', require('completion.source').prevCompletion } - --- inoremap { '<c-n>', function() --- if vim.fn.pumvisible() == 1 then --- vim.api.nvim_feedkeys('<c-n>') --- else --- require('completion').triggerCompletion() --- end --- end } - --- inoremap { '<c-p>', function() --- if vim.fn.pumvisible() == 1 then --- vim.api.nvim_feedkeys('<c-p>') --- else --- require('completion').triggerCompletion() --- end --- end } - --- require('utils').map('i', '<C-n>', 'pumvisible() ? "\\<C-n>" : completion#trigger_completion()', { expr = true }) --- require('utils').map('i', '<C-p>', 'pumvisible() ? "\\<C-p>" : completion#trigger_completion()', { expr = true }) - diff --git a/.vim/lua/plugins/_git-messenger.lua b/.vim/lua/plugins/_git-messenger.lua deleted file mode 100644 index dceadeb..0000000 --- a/.vim/lua/plugins/_git-messenger.lua +++ /dev/null @@ -1,4 +0,0 @@ --- vim.g.git_messenger_include_diff = false -vim.g.git_messenger_always_into_popup = true -vim.g.git_messenger_close_on_cursor_moved = true -vim.g.git_messenger_no_default_mappings = true diff --git a/.vim/lua/plugins/_goyo.lua b/.vim/lua/plugins/_goyo.lua deleted file mode 100644 index 538712d..0000000 --- a/.vim/lua/plugins/_goyo.lua +++ /dev/null @@ -1,12 +0,0 @@ -vim.g.goyo_width = 120 -vim.g.goyo_height = 90 -vim.g.goyo_linenr = false - -require('utils').augroup2 { - goyo_hooks = { - {'User', 'GoyoEnter', 'set laststatus=0 scrolloff=999'}, - {'User', 'GoyoEnter', 'Limelight'}, - {'User', 'GoyoLeave', 'set laststatus=2 scrolloff=5'}, - {'User', 'GoyoLeave', 'Limelight!'}, - } -} diff --git a/.vim/lua/plugins/_indent-guides.lua b/.vim/lua/plugins/_indent-guides.lua deleted file mode 100644 index eb3c4aa..0000000 --- a/.vim/lua/plugins/_indent-guides.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.g.indent_guides_enable_on_vim_startup = false -vim.g.indent_guides_start_level = 2 -vim.g.indent_guides_color_change_percent = 2 -vim.g.indent_guides_guide_size = 1 diff --git a/.vim/lua/plugins/_lightbulb.lua b/.vim/lua/plugins/_lightbulb.lua deleted file mode 100644 index cc3f941..0000000 --- a/.vim/lua/plugins/_lightbulb.lua +++ /dev/null @@ -1,19 +0,0 @@ - -require('nvim-lightbulb').update_lightbulb { - sign = { - enabled = true, - priority = 10, - }, - float = { - enabled = true, - text = '', - win_opts = {}, - }, - virtual_test = { - enabled = false - } -} - -require('utils').augroup('lightbulb', { - {'CursorHold,CursorHoldI', '*', "lua require'nvim-lightbulb'.update_lightbulb()"} -}) diff --git a/.vim/lua/plugins/_limelight.lua b/.vim/lua/plugins/_limelight.lua deleted file mode 100644 index b77fdfc..0000000 --- a/.vim/lua/plugins/_limelight.lua +++ /dev/null @@ -1,7 +0,0 @@ -vim.g.limelight_conceal_ctermfg = 'gray' -vim.g.limelight_conceal_ctermbg = 'none' -vim.g.limelight_conceal_guifg = '#828282' -vim.g.limelight_conceal_guibg = 'none' -vim.g.limelight_default_coefficient = 0.5 -vim.g.limelight_paragraph_span = 1 -vim.g.limelight_priority = -1 diff --git a/.vim/lua/plugins/_lsp.lua b/.vim/lua/plugins/_lsp.lua deleted file mode 100644 index 39a10b9..0000000 --- a/.vim/lua/plugins/_lsp.lua +++ /dev/null @@ -1,176 +0,0 @@ --- lsp config - -local lsp = require('lspconfig') -local util = require('lspconfig.util') -local u = require('utils') -local nnoremap = require('astronauta.keymap').nnoremap - -local M = {} -local my_attach = function(client) - -- attach completion - require 'completion'.on_attach(client) - - -- lsp mappings - nnoremap { 'K' , vim.lsp.buf.hover } - nnoremap { '<C-]>' , vim.lsp.buf.definition } - nnoremap { 'gd' , vim.lsp.buf.definition } - nnoremap { 'grr' , vim.lsp.buf.rename } - nnoremap { '<c-h>' , vim.lsp.buf.signature_help } - nnoremap { ']d' , vim.lsp.diagnostic.goto_next } - nnoremap { '[d' , vim.lsp.diagnostic.goto_prev } - - nnoremap { '<leader>f' , vim.lsp.buf.formatting } - -- nnoremap { 'g0', vim.lsp.buf.document_symbol } - nnoremap { 'gR' , vim.lsp.buf.references } - nnoremap { 'gW' , vim.lsp.buf.workspace_symbol } - nnoremap { 'gD' , vim.lsp.buf.declaration } - nnoremap { 'gT' , vim.lsp.buf.type_definition } - nnoremap { 'gI' , vim.lsp.buf.implementation } - - -- nnoremap <silent> ;s <cmd> lua vim.lsp.buf.signature_help()<CR> - nnoremap { '<leader>d' , vim.lsp.diagnostic.show_line_diagnostics } - - u.augroup2 { - lsp_user = { - {'BufWritePre' , '*' , 'lua vim.lsp.buf.formatting_sync(nil, 1000)'}, - {'BufWritePre' , '*.go' , 'lua vim.lsp.buf.code_action({ source = { organizeImports = true } })'}, - -- {'CursorHold' , '*' , 'lua vim.lsp.diagnostic.show_line_diagnostics()'}, - } - } -end - --- handler overwrites --- configure builtin diagnositcs -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( -- {{{ - vim.lsp.diagnostic.on_publish_diagnostics, { - virtual_text = false, - signs = true, - underline = true, - update_in_insert = false, - } -) --- }}} - --- overwrite codeAction handler to not ask for confirmation if only a single --- action is given -vim.lsp.handlers["textDocument/codeAction"] = function(_, _, actions) -- {{{ - if actions == nil or vim.tbl_isempty(actions) then - -- skip printing 'no code actions available' - return - end - - local action_cosen - if #actions == 1 then - action_chosen = actions[1] - else - local option_strings = {"Code Actions:"} - for i, action in ipairs(actions) do - local title = action.title:gsub('\r\n', '\\r\\n') - title = title:gsub('\n', '\\n') - table.insert(option_strings, string.format("%d. %s", i, title)) - end - - local choice = vim.fn.inputlist(option_strings) - if choice < 1 or choice > #actions then - return - end - action_chosen = actions[choice] - end - - if action_chosen.edit or type(action_chosen.command) == "table" then - if action_chosen.edit then - vim.lsp.util.apply_workspace_edit(action_chosen.edit) - end - if type(action_chosen.command) == "table" then - vim.lsp.buf.execute_command(action_chosen.command) - end - else - vim.lsp.buf.execute_command(action_chosen) - end -end --- }}} - --- configure signs {{{ -vim.fn.sign_define("LspDiagnosticsSignError", {text="⚡", numhl="Error"}) -vim.fn.sign_define("LspDiagnosticsSignWarning", {text="⯈", numhl="Warning"}) -vim.fn.sign_define("LspDiagnosticsSignInformation", {text="≈"}) -vim.fn.sign_define("LspDiagnosticsSignHint", {text="🞶"}) --- }}} - --- lsp.ccls.setup{ --- on_attach = my_attach, --- } - -lsp.gopls.setup{ - on_attach = my_attach, - -- root_dir = util.root_pattern('go.mod', '.git'), - settings = { - gopls = { - -- analyses = { - -- composites = false - -- }, - codelenses = { - test = true, - tidy = true, - }, - gofumpt = true, - } - } -} - -lsp.sumneko_lua.setup{ - on_attach = my_attach; - cmd = { 'lua-language-server' }; - settings = { - Lua = { - runtime = { - version = 'LuaJIT', - }, - diagnostics = { - globals = {'vim'}, - }, - workspace = { - library = { - [vim.fn.expand('$VIMRUNTIME/lua')] = true, - [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, - } - } - } - } -} - -lsp.rust_analyzer.setup{ - on_attach = my_attach, - cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'rust-analyzer' }, -} - -lsp.efm.setup{ - on_attach = my_attach, - root_dir = util.root_pattern('.git', '.editorconfig'), - init_options = { documentFormatting = true }, - -- filetypes = { "sh", "c" }, - settings = { - -- rootMarkers = {".git/"}, - languages = { - sh = { - { - lintCommand = 'shellcheck -f gcc -x', - lintSource = 'shellcheck', - lintFormats = { - '%f:%l:%c: %trror: %m', - '%f:%l:%c: %tarning: %m', - '%f:%l:%c: %tote: %m', - }, - formatCommand = 'shfmt -ci -s -bn', - formatStdin = true, - } - } - } - } -} - -lsp.zls.setup{ - on_attach = my_attach -} - -return M diff --git a/.vim/lua/plugins/_markdown.lua b/.vim/lua/plugins/_markdown.lua deleted file mode 100644 index e02e160..0000000 --- a/.vim/lua/plugins/_markdown.lua +++ /dev/null @@ -1,12 +0,0 @@ -vim.g.vim_markdown_folding_disabled = true -vim.g.vim_markdown_math = true -vim.g.vim_markdown_frontmatter = true -vim.g.vim_markdown_json_frontmatter = true -vim.g.vim_markdown_toml_frontmatter = true -vim.g.vim_markdown_yaml_frontmatter = true --- vim.g.vim_markdown_folding_level = 2 -vim.g.vim_markdown_strikethrough = true -vim.g.vim_markdown_auto_insert_bullets = true -vim.g.vim_markdown_new_list_item_indent = false -vim.g.vim_markdown_conceal = true -vim.g.vim_markdown_conceal_code_blocks = true diff --git a/.vim/lua/plugins/_neuron.lua b/.vim/lua/plugins/_neuron.lua deleted file mode 100644 index d99a13f..0000000 --- a/.vim/lua/plugins/_neuron.lua +++ /dev/null @@ -1,15 +0,0 @@ - -local def = require('utils').def - -require('neuron').setup { - virtual_titles = true, - mappings = true, - run = nil, - neuron_dir = "~/.zk", - leader = "gz", -} - -def("NeuronServe", [[ lua require('neuron').rib {address = "127.0.0.1:8200", verbose = true} ]]) -def("NeuronZettels", [[ lua require('neuron/telescope').find_zettels {insert = false} ]]) -def("NeuronZettelsInsert", [[ lua require('neuron/telescope').find_zettels {insert = true} ]]) -def("NeuronTags", [[ lua require('neuron/telescope').find_tags() ]]) diff --git a/.vim/lua/plugins/_signify.lua b/.vim/lua/plugins/_signify.lua deleted file mode 100644 index 41ced80..0000000 --- a/.vim/lua/plugins/_signify.lua +++ /dev/null @@ -1,10 +0,0 @@ -local def = require('utils').def -local nnoremap = require('astronauta.keymap').nnoremap - -vim.g.signify_sign_change = '~' - -nnoremap { ']h', function() vim.fn['sy#jump#next_hunk'](1) end } -nnoremap { '[h', function() vim.fn['sy#jump#prev_hunk'](1) end } - -def("SignifyNextHunk", [[ call sy#jump#next_hunk(1) ]]) -def("SignifyPrevHunk", [[ call sy#jump#prev_hunk(1) ]]) diff --git a/.vim/lua/plugins/_telescope.lua b/.vim/lua/plugins/_telescope.lua deleted file mode 100644 index 44931fa..0000000 --- a/.vim/lua/plugins/_telescope.lua +++ /dev/null @@ -1,114 +0,0 @@ --- telescope.nvim et al config - -local nnoremap = require('astronauta.keymap').nnoremap - -local M = {} - --- TELESCOPE config -- {{{ -require('telescope').setup{ - defaults = { - initial_mode = 'normal', - prompt_prefix = '> ', - selection_caret = '* ', - - -- copied from dropdown theme - sorting_strategy = 'ascending', - layout_strategy = 'center', - results_title = false, - preview_title = 'P', - preview_cutoff = 1, - width = 0.88, - results_height = 15, - borderchars = { - { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, - prompt = {'─', '│', ' ', '│', '┌', '┐', '│', '│'}, - results = {'─', '│', '─', '│', '├', '┤', '┘', '└'}, - preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, - }, - - 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, - - extensions = { - fzf_writer = { - use_highlighter = true, - minimum_grep_characters = 4, - shorten_path = true, - } - } - } -} --- }}} - --- MAPPINGS -- {{{ - -nnoremap { ';g', function() - require('telescope').extensions.fzf_writer.staged_grep() -end } - -nnoremap { ';w', function() - require('telescope.builtin').find_files({ - prompt_title = 'workspace', - previewer = false, - cwd = vim.lsp.buf.list_workspace_folders()[1] or require('lspconfig.util').root_pattern('.git')(vim.fn.expand('%:p')), - }) -end } - -nnoremap { ';q', function() - local ids = vim.fn.getqflist({winid = 1}) - if ids and not (ids.winid == 0) then - vim.api.nvim_win_close(ids.winid, true) - end - require('telescope.builtin').quickfix() -end } - -nnoremap { ';l', function() - local ids = vim.fn.getloclist(0, {winid = 1}) - if ids and not (ids.winid == 0) then - vim.api.nvim_win_close(ids.winid, true) - end - require('telescope.builtin').loclist() -end } - -nnoremap { ';f', function() - require('telescope.builtin').fd() -end } - -nnoremap { ';b', function() - require('telescope.builtin').buffers() -end } - -nnoremap { ';t', function() - require('telescope.builtin').tags() -end } - -nnoremap { ';h', function() - require('telescope.builtin').command_history() -end } - -nnoremap { ';c', function() - require('telescope.builtin').commands() -end } - --- LSP stuff - -nnoremap { 'gA', function() - require('telescope.builtin').lsp_code_actions() -end } - -nnoremap { 'gA', function() - require('telescope.builtin').lsp_code_actions() -end } - -nnoremap { 'g0', function() - require('telescope.builtin').lsp_document_symbols() -end } - -nnoremap { 'gr', function() - require('telescope.builtin').lsp_references() -end } - --- }}} - -return M diff --git a/.vim/lua/plugins/_treesitter.lua b/.vim/lua/plugins/_treesitter.lua deleted file mode 100644 index c5225bc..0000000 --- a/.vim/lua/plugins/_treesitter.lua +++ /dev/null @@ -1,24 +0,0 @@ - -require('nvim-treesitter.configs').setup { - ensure_installed = { "c", "c_sharp", "lua", "bash" }, - highlight = { - enable = false, - }, - indent = { - enable = true, - }, - refactor = { - navigation = { - enable = true, - keymaps = { - goto_definition = "<c-]>", - }, - }, - smart_rename = { - enable = true, - keymaps = { - smart_rename = "grr", - }, - }, - }, -} diff --git a/.vim/lua/plugins/_ultisnips.lua b/.vim/lua/plugins/_ultisnips.lua deleted file mode 100644 index cd077d2..0000000 --- a/.vim/lua/plugins/_ultisnips.lua +++ /dev/null @@ -1,4 +0,0 @@ --- vim.g.UltiSnipsListSnippets = "<c-tab>" -vim.g.UltiSnipsExpandTrigger = vim.g.completion_confirm_key -vim.g.UltiSnipsJumpForwardTrigger = "<c-n>" -vim.g.UltiSnipsJumpBackwardTrigger = "<c-p>" diff --git a/.vim/lua/plugins/_vimtex.lua b/.vim/lua/plugins/_vimtex.lua deleted file mode 100644 index 2a3d550..0000000 --- a/.vim/lua/plugins/_vimtex.lua +++ /dev/null @@ -1,8 +0,0 @@ -vim.g.tex_flavor = 'latex' -vim.g.vimtex_compiler_enabled = 1 -vim.g.vimtex_compiler_method = 'tectonic' -vim.g.vimtex_compiler_tectonic = "{'executable': 'tectonic'}" -vim.g.vimtex_view_method = 'zathura' --- vim.g.vimtex_view_zathura_check_libsynctex = false --- vim.g.vimtex_view_use_temp_files = true --- vim.g.vimtex_view_forward_search_on_start = false diff --git a/.vim/lua/utils.lua b/.vim/lua/utils.lua index 1141e8d..b0edacd 100644 --- a/.vim/lua/utils.lua +++ b/.vim/lua/utils.lua @@ -2,30 +2,6 @@ local M = {} --- crutch until https://github.com/neovim/neovim/pull/13479 -M.opt = function(scope, key, val) - local scopes = {o = vim.o, b = vim.bo, w = vim.wo} - if not ( scope and key and val ) then return end - scopes[scope][key] = val - if scope ~= 'o' then scopes['o'][key] = val end -end - -M.map = function(mode, lhs, rhs, opts) - if not ( mode and lhs and rhs ) then return end - local o = {noremap = true, silent = true} - if opts then o = vim.tbl_extend('force', o, opts) end - vim.api.nvim_set_keymap(mode, lhs, rhs, o) -end - -M.augroup = function(name, autocmds) - if not ( name and autocmds ) then return end - vim.cmd('augroup ' .. name) - vim.cmd('autocmd!') - for _, au in ipairs(autocmds) do - vim.cmd('autocmd ' .. table.concat(au, ' ')) - end - vim.cmd('augroup END') -end M.augroup2 = function(tbl) for name, autocmds in pairs(tbl) do vim.cmd('augroup ' .. name) @@ -37,9 +13,4 @@ M.augroup2 = function(tbl) end end -M.def = function(name, cmd, ...) - local opts = table.concat((... or {}), ' ') - vim.cmd('command! ' .. opts .. ' ' .. name .. ' ' .. cmd) -end - return M diff --git a/.vim/plugin/packer_compiled.lua b/.vim/plugin/packer_compiled.lua new file mode 100644 index 0000000..ab3d8c9 --- /dev/null +++ b/.vim/plugin/packer_compiled.lua @@ -0,0 +1,370 @@ +-- 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 = "/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?.lua;/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?/init.lua;/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?.lua;/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/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)) + 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 = { + ["astronauta.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/astronauta.nvim" + }, + ["completion-treesitter"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/completion-treesitter" + }, + ["editorconfig-vim"] = { + config = { "\27LJ\1\2\1\0\0\4\0\6\0\v4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0002\2\3\0003\3\3\0;\3\1\2:\2\5\1>\0\2\1G\0\1\0\17editorconfig\1\0\0\1\4\0\0\rFileType\14gitcommit#let b:EditorConfig_disable = 1\raugroup2\nutils\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/editorconfig-vim" + }, + ["gentoo-syntax"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/gentoo-syntax" + }, + ["git-messenger.vim"] = { + config = { "\27LJ\1\2\1\0\0\2\0\5\0\r4\0\0\0007\0\1\0)\1\2\0:\1\2\0004\0\0\0007\0\1\0)\1\2\0:\1\3\0004\0\0\0007\0\1\0)\1\2\0:\1\4\0G\0\1\0&git_messenger_no_default_mappings(git_messenger_close_on_cursor_moved$git_messenger_always_into_popup\6g\bvim\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/git-messenger.vim" + }, + ["indent-blankline.nvim"] = { + config = { "\27LJ\1\2;\0\0\2\0\4\0\0054\0\0\0007\0\1\0%\1\3\0:\1\2\0G\0\1\0\b▏\26indent_blankline_char\6g\bvim\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/indent-blankline.nvim" + }, + ["lightspeed.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/lightspeed.nvim" + }, + ["lush.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/lush.nvim" + }, + ["neuron.nvim"] = { + config = { "\27LJ\1\2\4\0\0\2\0\n\0\0234\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0>\0\2\0014\0\4\0007\0\5\0%\1\6\0>\0\2\0014\0\4\0007\0\5\0%\1\a\0>\0\2\0014\0\4\0007\0\5\0%\1\b\0>\0\2\0014\0\4\0007\0\5\0%\1\t\0>\0\2\1G\0\1\0F command! NeuronTags lua require('neuron.telescope').find_tags() ` command! NeuronZettelsInsert lua require('neuron.telescope').find_zettels {insert = true} [ command! NeuronZettels lua require('neuron.telescope').find_zettels {insert = false} b command! NeuronServe lua require('neuron').rib {address = \"127.0.0.1:8200\", verbose = true} \bcmd\bvim\1\0\4\15neuron_dir\n~/.zk\vleader\agz\rmappings\2\19virtual_titles\2\nsetup\vneuron\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/neuron.nvim" + }, + ["null-ls.nvim"] = { + config = { "\27LJ\1\2\2\0\0\5\0\21\00014\0\0\0%\1\1\0>\0\2\0027\1\2\0003\2\r\0002\3\b\0007\4\3\0007\4\4\0047\4\5\4;\4\1\0037\4\3\0007\4\4\0047\4\6\4;\4\2\0037\4\3\0007\4\4\0047\4\a\4;\4\3\0037\4\3\0007\4\4\0047\4\b\4;\4\4\0037\4\3\0007\4\4\0047\4\t\4;\4\5\0037\4\3\0007\4\4\0047\4\n\4;\4\6\0037\4\3\0007\4\v\0047\4\f\4;\4\a\3:\3\14\2>\1\2\0014\1\0\0%\2\15\0>\1\2\0027\1\1\0017\1\16\0013\2\19\0004\3\0\0%\4\17\0>\3\2\0027\3\18\3:\3\20\2>\1\2\1G\0\1\0\14on_attach\1\0\0\14my_attach\blsp\nsetup\14lspconfig\fsources\1\0\0\15shellcheck\16diagnostics\tyapf\nshfmt\frustfmt\14json_tool\fgofumpt\17clang_format\15formatting\rbuiltins\vconfig\fnull-ls\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/null-ls.nvim" + }, + ["nvim-autopairs"] = { + config = { "\27LJ\1\2<\0\0\2\0\3\0\0064\0\0\0%\1\1\0>\0\2\0027\0\2\0>\0\1\1G\0\1\0\nsetup\19nvim-autopairs\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/nvim-autopairs" + }, + ["nvim-colorizer.lua"] = { + config = { "\27LJ\1\2z\0\0\3\0\4\0\b4\0\0\0%\1\1\0>\0\2\0027\0\2\0)\1\0\0003\2\3\0>\0\3\1G\0\1\0\1\0\6\vrgb_fn\2\tname\2\rRRGGBBAA\1\vhsl_fn\2\tmode\15background\vRRGGBB\2\nsetup\14colorizer\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/nvim-colorizer.lua" + }, + ["nvim-compe"] = { + config = { "\27LJ\1\2\3\0\0\3\0\r\0\0214\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0003\2\4\0:\2\5\0013\2\6\0:\2\a\1>\0\2\0014\0\b\0007\0\t\0%\1\n\0>\0\2\0014\0\0\0%\1\v\0>\0\2\0027\0\2\0003\1\f\0>\0\2\1G\0\1\0\1\0\2\17map_complete\2\vmap_cr\2$nvim-autopairs.completion.compe\1 inoremap <silent><expr> <c-space> compe#complete()\n inoremap <silent><expr> <c-e> compe#close('<c-e>')\n \bcmd\bvim\vsource\1\0\a\vbuffer\2\rnvim_lua\2\rnvim_lsp\2\ttags\2\forgmode\2\14ultisnips\2\tpath\2\18documentation\1\0\1\vborder\vsingle\1\0\3\17autocomplete\2\14preselect\venable\fenabled\2\nsetup\ncompe\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/nvim-compe" + }, + ["nvim-lightbulb"] = { + config = { "\27LJ\1\2\3\0\0\4\0\23\0!4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0003\2\3\0:\2\5\0013\2\6\0002\3\0\0:\3\a\2:\2\b\0013\2\t\0:\2\n\0013\2\v\0:\2\f\1>\0\2\0014\0\r\0007\0\14\0007\0\15\0%\1\16\0003\2\17\0>\0\3\0014\0\0\0%\1\18\0>\0\2\0027\0\19\0003\1\21\0002\2\3\0003\3\20\0;\3\1\2:\2\22\1>\0\2\1G\0\1\0\14lightbulb\1\0\0\1\4\0\0\15CursorHold\6*5lua require('nvim-lightbulb').update_lightbulb()\raugroup2\nutils\1\0\2\ttext\b⚐\vtexthl\25LightBulbVirtualText\18LightBulbSign\16sign_define\afn\bvim\16status_text\1\0\1\fenabled\1\17virtual_text\1\0\2\fenabled\1\ttext\n \nfloat\rwin_opts\1\0\2\ttext\n \fenabled\2\tsign\1\0\0\1\0\2\fenabled\2\rpriority\3\n\21update_lightbulb\19nvim-lightbulb\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/nvim-lightbulb" + }, + ["nvim-lspconfig"] = { + config = { "\27LJ\1\0021\0\0\2\0\3\0\0064\0\0\0%\1\1\0>\0\2\0027\0\2\0>\0\1\1G\0\1\0\nsetup\blsp\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/nvim-lspconfig" + }, + ["nvim-treesitter"] = { + config = { "\27LJ\1\2\3\0\0\5\0\19\0\0234\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0003\2\3\0:\2\5\0013\2\6\0:\2\a\0013\2\b\0:\2\t\0013\2\r\0003\3\n\0003\4\v\0:\4\f\3:\3\14\0023\3\15\0003\4\16\0:\4\f\3:\3\17\2:\2\18\1>\0\2\1G\0\1\0\rrefactor\17smart_rename\1\0\1\17smart_rename\bgrr\1\0\1\venable\2\15navigation\1\0\0\fkeymaps\1\0\1\20goto_definition\n<c-]>\1\0\1\venable\2\vindent\1\0\1\venable\2\14highlight\1\0\1\venable\1\21ensure_installed\1\0\0\1\14\0\0\tbash\6c\fc_sharp\bcss\15dockerfile\thtml\ago\ngomod\15javascript\vledger\blua\trust\15typescript\nsetup\28nvim-treesitter.configs\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/nvim-treesitter" + }, + ["nvim-treesitter-refactor"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor" + }, + ["orgmode.nvim"] = { + config = { "\27LJ\1\2\1\0\0\6\2\t\0\19+\0\0\0007\0\0\0004\1\1\0003\2\2\0+\3\1\0007\3\3\0034\4\4\0%\5\5\0>\4\2\2\16\5\4\0007\4\6\4>\4\2\0=\3\0\2:\3\a\2>\0\3\2\16\1\0\0007\0\b\0>\0\2\1G\0\1\0\1\2\tfind\vfinder\18get_all_files\19orgmode.config\frequire\14new_table\1\0\1\17prompt_title\fOrgmode\topts\bnew\a\1\0\6\0\20\00014\0\0\0%\1\1\0>\0\2\0027\0\2\0004\1\0\0%\2\3\0>\1\2\0027\1\4\0013\2\6\0003\3\5\0:\3\a\2>\1\2\0014\1\0\0%\2\b\0>\1\2\0024\2\0\0%\3\t\0>\2\2\2\16\3\0\0003\4\n\0001\5\v\0;\5\2\4>\3\2\0014\3\f\0007\3\r\3%\4\14\0>\3\2\0014\3\f\0007\3\r\3%\4\15\0>\3\2\0014\3\f\0007\3\r\3%\4\16\0>\3\2\0014\3\f\0007\3\r\3%\4\17\0>\3\2\0014\3\f\0007\3\r\3%\4\18\0>\3\2\0014\3\f\0007\3\r\3%\4\19\0>\3\2\0010\0\0G\0\1\0_ command! OrgmodeArchive lua require('orgmode').action('org_mappings.toggle_archive_tag') Q command! OrgmodeTag lua require('orgmode').action('org_mappings.set_tags') ^ command! OrgmodeTodoCycle lua require('orgmode').action('org_mappings.todo_next_state') j command! OrgmodeInsert lua require('orgmode').action('org_mappings.insert_heading_respect_content') N command! OrgmodeCapture lua require('orgmode').action('capture.refile') F command! Orgmode lua require('orgmode').action('agenda.prompt') \bcmd\bvim\0\1\2\0\0\a;o\22telescope.finders\22telescope.pickers\21org_agenda_files\1\0\1\27org_default_notes_file $HOME/.zk/.orgmode/todo.org\1\2\0\0\29$HOME/.zk/.orgmode/*.org\nsetup\forgmode\rnnoremap\22astronauta.keymap\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/orgmode.nvim" + }, + ["packer.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/packer.nvim" + }, + ["plenary.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/plenary.nvim" + }, + ["popup.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/popup.nvim" + }, + ["spinner.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/spinner.nvim" + }, + ["telescope-fzf-writer.nvim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/telescope-fzf-writer.nvim" + }, + ["telescope.nvim"] = { + config = { "\27LJ\1\2\1\0\0\4\0\t\0\r4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0004\2\4\0007\2\5\0027\2\6\2%\3\a\0>\2\2\2:\2\b\1>\0\2\1G\0\1\0\bcwd\vconfig\fstdpath\afn\bvim\1\0\2\14previewer\1\17prompt_title\nvimrc\15find_files\22telescope.builtin\frequire\v\1\0\6\0=\0\0014\0\0\0%\1\1\0>\0\2\0027\0\2\0004\1\0\0%\2\3\0>\1\2\0027\1\4\0013\2\28\0003\3\5\0003\4\6\0:\4\a\0033\4\b\0003\5\t\0:\5\n\0043\5\v\0:\5\f\0043\5\r\0:\5\14\4:\4\15\0034\4\0\0%\5\16\0>\4\2\0027\4\17\0047\4\18\4:\4\19\0034\4\0\0%\5\16\0>\4\2\0027\4\20\0047\4\18\4:\4\21\0034\4\0\0%\5\16\0>\4\2\0027\4\22\0047\4\18\4:\4\23\0033\4\25\0003\5\24\0:\5\26\4:\4\27\3:\3\29\2>\1\2\1\16\1\0\0003\2\30\0004\3\0\0%\4\31\0>\3\2\0027\3 \3;\3\2\2>\1\2\1\16\1\0\0003\2!\0004\3\0\0%\4\31\0>\3\2\0027\3\"\3;\3\2\2>\1\2\1\16\1\0\0003\2#\0004\3\0\0%\4\3\0>\3\2\0027\3\27\0037\3\26\0037\3$\3;\3\2\2>\1\2\1\16\1\0\0003\2%\0004\3\0\0%\4\31\0>\3\2\0027\3&\3;\3\2\2>\1\2\1\16\1\0\0003\2'\0004\3\0\0%\4\31\0>\3\2\0027\3(\3;\3\2\2>\1\2\1\16\1\0\0003\2)\0004\3\0\0%\4\31\0>\3\2\0027\3*\3;\3\2\2>\1\2\1\16\1\0\0003\2+\0004\3\0\0%\4\31\0>\3\2\0027\3,\3;\3\2\2>\1\2\1\16\1\0\0003\2-\0004\3\0\0%\4\31\0>\3\2\0027\3.\3;\3\2\2>\1\2\1\16\1\0\0003\2/\0004\3\0\0%\4\31\0>\3\2\0027\0030\3;\3\2\2>\1\2\1\16\1\0\0003\0021\0004\3\0\0%\4\31\0>\3\2\0027\0032\3;\3\2\2>\1\2\1\16\1\0\0003\0023\0004\3\0\0%\4\31\0>\3\2\0027\0034\3;\3\2\2>\1\2\1\16\1\0\0003\0025\0001\0036\0;\3\2\2>\1\2\1\16\1\0\0003\0027\0004\3\0\0%\4\31\0>\3\2\0027\0038\3;\3\2\2>\1\2\1\16\1\0\0003\0029\0004\3\0\0%\4\31\0>\3\2\0027\3:\3;\3\2\2>\1\2\1\16\1\0\0003\2;\0004\3\0\0%\4\31\0>\3\2\0027\3<\3;\3\2\2>\1\2\1G\0\1\0\19lsp_references\1\2\0\0\a;r\25lsp_document_symbols\1\2\0\0\a;0\21lsp_code_actions\1\2\0\0\a;a\0\1\2\0\0\a;v\rcommands\1\2\0\0\a;c\14help_tags\1\2\0\0\a;H\20command_history\1\2\0\0\a;h\ttags\1\2\0\0\a;t\fbuffers\1\2\0\0\a;b\17file_browser\1\2\0\0\a;w\30current_buffer_fuzzy_find\1\2\0\0\a;l\afd\1\2\0\0\a;f\16staged_grep\1\2\0\0\a;g\floclist\1\2\0\0\a;c\rquickfix\22telescope.builtin\1\2\0\0\a;q\rdefaults\1\0\0\15extensions\15fzf_writer\1\0\0\1\0\3\28minimum_grep_characters\3\4\17shorten_path\2\20use_highlighter\2\21qflist_previewer\22vim_buffer_qflist\19grep_previewer\23vim_buffer_vimgrep\19file_previewer\bnew\19vim_buffer_cat\25telescope.previewers\16borderchars\fpreview\1\t\0\0\b─\b│\b─\b│\b┌\b┐\b┘\b└\fresults\1\2\0\0\6 \vprompt\1\t\0\0\b─\6 \6 \6 \b─\b─\6 \6 \1\2\0\0\6z\18layout_config\1\0\2\vheight\3\20\19preview_cutoff\3\1\1\0\6\21sorting_strategy\14ascending\20layout_strategy\16bottom_pane\18preview_title\5\vborder\2\18prompt_prefix\a> \20selection_caret\a* \nsetup\14telescope\rnnoremap\22astronauta.keymap\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/telescope.nvim" + }, + ["twilight.nvim"] = { + config = { "\27LJ\1\2\1\0\0\4\0\b\0\v4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0003\2\4\0003\3\5\0:\3\6\2:\2\a\1>\0\2\1G\0\1\0\fdimming\ncolor\1\3\0\0\vNormal\f#ffffff\1\0\1\nalpha\4̙\3\3\1\0\1\fcontext\3\15\nsetup\rtwilight\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/twilight.nvim" + }, + ultisnips = { + config = { "\27LJ\1\2x\0\0\2\0\6\0\t4\0\0\0007\0\1\0%\1\3\0:\1\2\0004\0\0\0007\0\1\0%\1\5\0:\1\4\0G\0\1\0\f<s-tab>!UltiSnipsJumpBackwardTrigger\n<tab> UltiSnipsJumpForwardTrigger\6g\bvim\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/ultisnips" + }, + ["vim-commentary"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-commentary" + }, + ["vim-cue"] = { + loaded = false, + needs_bufread = true, + path = "/usr/local/share/nvim/site/pack/packer/opt/vim-cue" + }, + ["vim-dirvish"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-dirvish" + }, + ["vim-easy-align"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-easy-align" + }, + ["vim-github-link"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-github-link" + }, + ["vim-indent-object"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-indent-object" + }, + ["vim-markdown"] = { + config = { '\27LJ\1\2\3\0\0\2\0\r\0-4\0\0\0007\0\1\0)\1\2\0:\1\2\0004\0\0\0007\0\1\0)\1\2\0:\1\3\0004\0\0\0007\0\1\0)\1\2\0:\1\4\0004\0\0\0007\0\1\0)\1\2\0:\1\5\0004\0\0\0007\0\1\0)\1\2\0:\1\6\0004\0\0\0007\0\1\0)\1\2\0:\1\a\0004\0\0\0007\0\1\0)\1\2\0:\1\b\0004\0\0\0007\0\1\0)\1\2\0:\1\t\0004\0\0\0007\0\1\0)\1\1\0:\1\n\0004\0\0\0007\0\1\0)\1\2\0:\1\v\0004\0\0\0007\0\1\0)\1\2\0:\1\f\0G\0\1\0%vim_markdown_conceal_code_blocks\25vim_markdown_conceal&vim_markdown_new_list_item_indent%vim_markdown_auto_insert_bullets\31vim_markdown_strikethrough"vim_markdown_yaml_frontmatter"vim_markdown_toml_frontmatter"vim_markdown_json_frontmatter\29vim_markdown_frontmatter\22vim_markdown_math"vim_markdown_folding_disabled\6g\bvim\0' }, + loaded = false, + needs_bufread = true, + path = "/usr/local/share/nvim/site/pack/packer/opt/vim-markdown" + }, + ["vim-markdown-folding"] = { + loaded = false, + needs_bufread = true, + path = "/usr/local/share/nvim/site/pack/packer/opt/vim-markdown-folding" + }, + ["vim-polyglot"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-polyglot" + }, + ["vim-repeat"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-repeat" + }, + ["vim-signify"] = { + config = { "\27LJ\1\0028\0\0\2\0\3\0\0064\0\0\0007\0\1\0007\0\2\0'\1\1\0>\0\2\1G\0\1\0\22sy#jump#next_hunk\afn\bvim8\0\0\2\0\3\0\0064\0\0\0007\0\1\0007\0\2\0'\1\1\0>\0\2\1G\0\1\0\22sy#jump#prev_hunk\afn\bvim\1\1\0\4\0\v\0\0194\0\0\0%\1\1\0>\0\2\0027\0\2\0004\1\3\0007\1\4\1%\2\6\0:\2\5\1\16\1\0\0003\2\a\0001\3\b\0;\3\2\2>\1\2\1\16\1\0\0003\2\t\0001\3\n\0;\3\2\2>\1\2\1G\0\1\0\0\1\2\0\0\a[h\0\1\2\0\0\a]h\6~\24signify_sign_change\6g\bvim\rnnoremap\22astronauta.keymap\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-signify" + }, + ["vim-snippets"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-snippets" + }, + ["vim-startify"] = { + config = { "\27LJ\1\2\1\0\0\4\0\6\0\v4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0002\2\3\0003\3\3\0;\3\1\2:\2\5\1>\0\2\1G\0\1\0\rstartify\1\0\0\1\4\0\0\rFileType\rstartify\29 IndentBlanklineDisable \raugroup2\nutils\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-startify" + }, + ["vim-surround"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vim-surround" + }, + vimtex = { + config = { "\27LJ\1\2\1\0\0\2\0\v\0\0214\0\0\0007\0\1\0%\1\3\0:\1\2\0004\0\0\0007\0\1\0'\1\0\0:\1\4\0004\0\0\0007\0\1\0%\1\6\0:\1\5\0004\0\0\0007\0\1\0%\1\b\0:\1\a\0004\0\0\0007\0\1\0%\1\n\0:\1\t\0G\0\1\0\fzathura\23vimtex_view_method\31{'executable': 'tectonic'}\29vimtex_compiler_tectonic\rtectonic\27vimtex_compiler_method\28vimtex_compiler_enabled\nlatex\15tex_flavor\6g\bvim\0" }, + loaded = false, + needs_bufread = true, + path = "/usr/local/share/nvim/site/pack/packer/opt/vimtex" + }, + ["vista.vim"] = { + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/vista.vim" + }, + ["zen-mode.nvim"] = { + config = { "\27LJ\1\2\1\0\0\4\0\r\0\0174\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\6\0003\2\3\0003\3\4\0:\3\5\2:\2\a\0013\2\t\0003\3\b\0:\3\5\0023\3\n\0:\3\v\2:\2\f\1>\0\2\1G\0\1\0\fplugins\rtwilight\1\0\1\fenabled\2\1\0\0\1\0\3\fenabled\2\nruler\1\fshowcmd\1\vwindow\1\0\0\foptions\1\0\2\tlist\1\vnumber\1\1\0\2\rbackdrop\3\1\nwidth\4̙\3\3\nsetup\rzen-mode\frequire\0" }, + loaded = true, + path = "/usr/local/share/nvim/site/pack/packer/start/zen-mode.nvim" + } +} + +time([[Defining packer_plugins]], false) +-- Config for: nvim-treesitter +time([[Config for nvim-treesitter]], true) +try_loadstring("\27LJ\1\2\3\0\0\5\0\19\0\0234\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0003\2\3\0:\2\5\0013\2\6\0:\2\a\0013\2\b\0:\2\t\0013\2\r\0003\3\n\0003\4\v\0:\4\f\3:\3\14\0023\3\15\0003\4\16\0:\4\f\3:\3\17\2:\2\18\1>\0\2\1G\0\1\0\rrefactor\17smart_rename\1\0\1\17smart_rename\bgrr\1\0\1\venable\2\15navigation\1\0\0\fkeymaps\1\0\1\20goto_definition\n<c-]>\1\0\1\venable\2\vindent\1\0\1\venable\2\14highlight\1\0\1\venable\1\21ensure_installed\1\0\0\1\14\0\0\tbash\6c\fc_sharp\bcss\15dockerfile\thtml\ago\ngomod\15javascript\vledger\blua\trust\15typescript\nsetup\28nvim-treesitter.configs\frequire\0", "config", "nvim-treesitter") +time([[Config for nvim-treesitter]], false) +-- Config for: editorconfig-vim +time([[Config for editorconfig-vim]], true) +try_loadstring("\27LJ\1\2\1\0\0\4\0\6\0\v4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0002\2\3\0003\3\3\0;\3\1\2:\2\5\1>\0\2\1G\0\1\0\17editorconfig\1\0\0\1\4\0\0\rFileType\14gitcommit#let b:EditorConfig_disable = 1\raugroup2\nutils\frequire\0", "config", "editorconfig-vim") +time([[Config for editorconfig-vim]], false) +-- Config for: orgmode.nvim +time([[Config for orgmode.nvim]], true) +try_loadstring("\27LJ\1\2\1\0\0\6\2\t\0\19+\0\0\0007\0\0\0004\1\1\0003\2\2\0+\3\1\0007\3\3\0034\4\4\0%\5\5\0>\4\2\2\16\5\4\0007\4\6\4>\4\2\0=\3\0\2:\3\a\2>\0\3\2\16\1\0\0007\0\b\0>\0\2\1G\0\1\0\1\2\tfind\vfinder\18get_all_files\19orgmode.config\frequire\14new_table\1\0\1\17prompt_title\fOrgmode\topts\bnew\a\1\0\6\0\20\00014\0\0\0%\1\1\0>\0\2\0027\0\2\0004\1\0\0%\2\3\0>\1\2\0027\1\4\0013\2\6\0003\3\5\0:\3\a\2>\1\2\0014\1\0\0%\2\b\0>\1\2\0024\2\0\0%\3\t\0>\2\2\2\16\3\0\0003\4\n\0001\5\v\0;\5\2\4>\3\2\0014\3\f\0007\3\r\3%\4\14\0>\3\2\0014\3\f\0007\3\r\3%\4\15\0>\3\2\0014\3\f\0007\3\r\3%\4\16\0>\3\2\0014\3\f\0007\3\r\3%\4\17\0>\3\2\0014\3\f\0007\3\r\3%\4\18\0>\3\2\0014\3\f\0007\3\r\3%\4\19\0>\3\2\0010\0\0G\0\1\0_ command! OrgmodeArchive lua require('orgmode').action('org_mappings.toggle_archive_tag') Q command! OrgmodeTag lua require('orgmode').action('org_mappings.set_tags') ^ command! OrgmodeTodoCycle lua require('orgmode').action('org_mappings.todo_next_state') j command! OrgmodeInsert lua require('orgmode').action('org_mappings.insert_heading_respect_content') N command! OrgmodeCapture lua require('orgmode').action('capture.refile') F command! Orgmode lua require('orgmode').action('agenda.prompt') \bcmd\bvim\0\1\2\0\0\a;o\22telescope.finders\22telescope.pickers\21org_agenda_files\1\0\1\27org_default_notes_file $HOME/.zk/.orgmode/todo.org\1\2\0\0\29$HOME/.zk/.orgmode/*.org\nsetup\forgmode\rnnoremap\22astronauta.keymap\frequire\0", "config", "orgmode.nvim") +time([[Config for orgmode.nvim]], false) +-- Config for: indent-blankline.nvim +time([[Config for indent-blankline.nvim]], true) +try_loadstring("\27LJ\1\2;\0\0\2\0\4\0\0054\0\0\0007\0\1\0%\1\3\0:\1\2\0G\0\1\0\b▏\26indent_blankline_char\6g\bvim\0", "config", "indent-blankline.nvim") +time([[Config for indent-blankline.nvim]], false) +-- Config for: twilight.nvim +time([[Config for twilight.nvim]], true) +try_loadstring("\27LJ\1\2\1\0\0\4\0\b\0\v4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0003\2\4\0003\3\5\0:\3\6\2:\2\a\1>\0\2\1G\0\1\0\fdimming\ncolor\1\3\0\0\vNormal\f#ffffff\1\0\1\nalpha\4̙\3\3\1\0\1\fcontext\3\15\nsetup\rtwilight\frequire\0", "config", "twilight.nvim") +time([[Config for twilight.nvim]], false) +-- Config for: git-messenger.vim +time([[Config for git-messenger.vim]], true) +try_loadstring("\27LJ\1\2\1\0\0\2\0\5\0\r4\0\0\0007\0\1\0)\1\2\0:\1\2\0004\0\0\0007\0\1\0)\1\2\0:\1\3\0004\0\0\0007\0\1\0)\1\2\0:\1\4\0G\0\1\0&git_messenger_no_default_mappings(git_messenger_close_on_cursor_moved$git_messenger_always_into_popup\6g\bvim\0", "config", "git-messenger.vim") +time([[Config for git-messenger.vim]], false) +-- Config for: ultisnips +time([[Config for ultisnips]], true) +try_loadstring("\27LJ\1\2x\0\0\2\0\6\0\t4\0\0\0007\0\1\0%\1\3\0:\1\2\0004\0\0\0007\0\1\0%\1\5\0:\1\4\0G\0\1\0\f<s-tab>!UltiSnipsJumpBackwardTrigger\n<tab> UltiSnipsJumpForwardTrigger\6g\bvim\0", "config", "ultisnips") +time([[Config for ultisnips]], false) +-- Config for: telescope.nvim +time([[Config for telescope.nvim]], true) +try_loadstring("\27LJ\1\2\1\0\0\4\0\t\0\r4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0004\2\4\0007\2\5\0027\2\6\2%\3\a\0>\2\2\2:\2\b\1>\0\2\1G\0\1\0\bcwd\vconfig\fstdpath\afn\bvim\1\0\2\14previewer\1\17prompt_title\nvimrc\15find_files\22telescope.builtin\frequire\v\1\0\6\0=\0\0014\0\0\0%\1\1\0>\0\2\0027\0\2\0004\1\0\0%\2\3\0>\1\2\0027\1\4\0013\2\28\0003\3\5\0003\4\6\0:\4\a\0033\4\b\0003\5\t\0:\5\n\0043\5\v\0:\5\f\0043\5\r\0:\5\14\4:\4\15\0034\4\0\0%\5\16\0>\4\2\0027\4\17\0047\4\18\4:\4\19\0034\4\0\0%\5\16\0>\4\2\0027\4\20\0047\4\18\4:\4\21\0034\4\0\0%\5\16\0>\4\2\0027\4\22\0047\4\18\4:\4\23\0033\4\25\0003\5\24\0:\5\26\4:\4\27\3:\3\29\2>\1\2\1\16\1\0\0003\2\30\0004\3\0\0%\4\31\0>\3\2\0027\3 \3;\3\2\2>\1\2\1\16\1\0\0003\2!\0004\3\0\0%\4\31\0>\3\2\0027\3\"\3;\3\2\2>\1\2\1\16\1\0\0003\2#\0004\3\0\0%\4\3\0>\3\2\0027\3\27\0037\3\26\0037\3$\3;\3\2\2>\1\2\1\16\1\0\0003\2%\0004\3\0\0%\4\31\0>\3\2\0027\3&\3;\3\2\2>\1\2\1\16\1\0\0003\2'\0004\3\0\0%\4\31\0>\3\2\0027\3(\3;\3\2\2>\1\2\1\16\1\0\0003\2)\0004\3\0\0%\4\31\0>\3\2\0027\3*\3;\3\2\2>\1\2\1\16\1\0\0003\2+\0004\3\0\0%\4\31\0>\3\2\0027\3,\3;\3\2\2>\1\2\1\16\1\0\0003\2-\0004\3\0\0%\4\31\0>\3\2\0027\3.\3;\3\2\2>\1\2\1\16\1\0\0003\2/\0004\3\0\0%\4\31\0>\3\2\0027\0030\3;\3\2\2>\1\2\1\16\1\0\0003\0021\0004\3\0\0%\4\31\0>\3\2\0027\0032\3;\3\2\2>\1\2\1\16\1\0\0003\0023\0004\3\0\0%\4\31\0>\3\2\0027\0034\3;\3\2\2>\1\2\1\16\1\0\0003\0025\0001\0036\0;\3\2\2>\1\2\1\16\1\0\0003\0027\0004\3\0\0%\4\31\0>\3\2\0027\0038\3;\3\2\2>\1\2\1\16\1\0\0003\0029\0004\3\0\0%\4\31\0>\3\2\0027\3:\3;\3\2\2>\1\2\1\16\1\0\0003\2;\0004\3\0\0%\4\31\0>\3\2\0027\3<\3;\3\2\2>\1\2\1G\0\1\0\19lsp_references\1\2\0\0\a;r\25lsp_document_symbols\1\2\0\0\a;0\21lsp_code_actions\1\2\0\0\a;a\0\1\2\0\0\a;v\rcommands\1\2\0\0\a;c\14help_tags\1\2\0\0\a;H\20command_history\1\2\0\0\a;h\ttags\1\2\0\0\a;t\fbuffers\1\2\0\0\a;b\17file_browser\1\2\0\0\a;w\30current_buffer_fuzzy_find\1\2\0\0\a;l\afd\1\2\0\0\a;f\16staged_grep\1\2\0\0\a;g\floclist\1\2\0\0\a;c\rquickfix\22telescope.builtin\1\2\0\0\a;q\rdefaults\1\0\0\15extensions\15fzf_writer\1\0\0\1\0\3\28minimum_grep_characters\3\4\17shorten_path\2\20use_highlighter\2\21qflist_previewer\22vim_buffer_qflist\19grep_previewer\23vim_buffer_vimgrep\19file_previewer\bnew\19vim_buffer_cat\25telescope.previewers\16borderchars\fpreview\1\t\0\0\b─\b│\b─\b│\b┌\b┐\b┘\b└\fresults\1\2\0\0\6 \vprompt\1\t\0\0\b─\6 \6 \6 \b─\b─\6 \6 \1\2\0\0\6z\18layout_config\1\0\2\vheight\3\20\19preview_cutoff\3\1\1\0\6\21sorting_strategy\14ascending\20layout_strategy\16bottom_pane\18preview_title\5\vborder\2\18prompt_prefix\a> \20selection_caret\a* \nsetup\14telescope\rnnoremap\22astronauta.keymap\frequire\0", "config", "telescope.nvim") +time([[Config for telescope.nvim]], false) +-- Config for: vim-startify +time([[Config for vim-startify]], true) +try_loadstring("\27LJ\1\2\1\0\0\4\0\6\0\v4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0002\2\3\0003\3\3\0;\3\1\2:\2\5\1>\0\2\1G\0\1\0\rstartify\1\0\0\1\4\0\0\rFileType\rstartify\29 IndentBlanklineDisable \raugroup2\nutils\frequire\0", "config", "vim-startify") +time([[Config for vim-startify]], false) +-- Config for: nvim-colorizer.lua +time([[Config for nvim-colorizer.lua]], true) +try_loadstring("\27LJ\1\2z\0\0\3\0\4\0\b4\0\0\0%\1\1\0>\0\2\0027\0\2\0)\1\0\0003\2\3\0>\0\3\1G\0\1\0\1\0\6\vrgb_fn\2\tname\2\rRRGGBBAA\1\vhsl_fn\2\tmode\15background\vRRGGBB\2\nsetup\14colorizer\frequire\0", "config", "nvim-colorizer.lua") +time([[Config for nvim-colorizer.lua]], false) +-- Config for: nvim-compe +time([[Config for nvim-compe]], true) +try_loadstring("\27LJ\1\2\3\0\0\3\0\r\0\0214\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0003\2\4\0:\2\5\0013\2\6\0:\2\a\1>\0\2\0014\0\b\0007\0\t\0%\1\n\0>\0\2\0014\0\0\0%\1\v\0>\0\2\0027\0\2\0003\1\f\0>\0\2\1G\0\1\0\1\0\2\17map_complete\2\vmap_cr\2$nvim-autopairs.completion.compe\1 inoremap <silent><expr> <c-space> compe#complete()\n inoremap <silent><expr> <c-e> compe#close('<c-e>')\n \bcmd\bvim\vsource\1\0\a\vbuffer\2\rnvim_lua\2\rnvim_lsp\2\ttags\2\forgmode\2\14ultisnips\2\tpath\2\18documentation\1\0\1\vborder\vsingle\1\0\3\17autocomplete\2\14preselect\venable\fenabled\2\nsetup\ncompe\frequire\0", "config", "nvim-compe") +time([[Config for nvim-compe]], false) +-- Config for: neuron.nvim +time([[Config for neuron.nvim]], true) +try_loadstring("\27LJ\1\2\4\0\0\2\0\n\0\0234\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\3\0>\0\2\0014\0\4\0007\0\5\0%\1\6\0>\0\2\0014\0\4\0007\0\5\0%\1\a\0>\0\2\0014\0\4\0007\0\5\0%\1\b\0>\0\2\0014\0\4\0007\0\5\0%\1\t\0>\0\2\1G\0\1\0F command! NeuronTags lua require('neuron.telescope').find_tags() ` command! NeuronZettelsInsert lua require('neuron.telescope').find_zettels {insert = true} [ command! NeuronZettels lua require('neuron.telescope').find_zettels {insert = false} b command! NeuronServe lua require('neuron').rib {address = \"127.0.0.1:8200\", verbose = true} \bcmd\bvim\1\0\4\15neuron_dir\n~/.zk\vleader\agz\rmappings\2\19virtual_titles\2\nsetup\vneuron\frequire\0", "config", "neuron.nvim") +time([[Config for neuron.nvim]], false) +-- Config for: nvim-lspconfig +time([[Config for nvim-lspconfig]], true) +try_loadstring("\27LJ\1\0021\0\0\2\0\3\0\0064\0\0\0%\1\1\0>\0\2\0027\0\2\0>\0\1\1G\0\1\0\nsetup\blsp\frequire\0", "config", "nvim-lspconfig") +time([[Config for nvim-lspconfig]], false) +-- Config for: vim-signify +time([[Config for vim-signify]], true) +try_loadstring("\27LJ\1\0028\0\0\2\0\3\0\0064\0\0\0007\0\1\0007\0\2\0'\1\1\0>\0\2\1G\0\1\0\22sy#jump#next_hunk\afn\bvim8\0\0\2\0\3\0\0064\0\0\0007\0\1\0007\0\2\0'\1\1\0>\0\2\1G\0\1\0\22sy#jump#prev_hunk\afn\bvim\1\1\0\4\0\v\0\0194\0\0\0%\1\1\0>\0\2\0027\0\2\0004\1\3\0007\1\4\1%\2\6\0:\2\5\1\16\1\0\0003\2\a\0001\3\b\0;\3\2\2>\1\2\1\16\1\0\0003\2\t\0001\3\n\0;\3\2\2>\1\2\1G\0\1\0\0\1\2\0\0\a[h\0\1\2\0\0\a]h\6~\24signify_sign_change\6g\bvim\rnnoremap\22astronauta.keymap\frequire\0", "config", "vim-signify") +time([[Config for vim-signify]], false) +-- Config for: null-ls.nvim +time([[Config for null-ls.nvim]], true) +try_loadstring("\27LJ\1\2\2\0\0\5\0\21\00014\0\0\0%\1\1\0>\0\2\0027\1\2\0003\2\r\0002\3\b\0007\4\3\0007\4\4\0047\4\5\4;\4\1\0037\4\3\0007\4\4\0047\4\6\4;\4\2\0037\4\3\0007\4\4\0047\4\a\4;\4\3\0037\4\3\0007\4\4\0047\4\b\4;\4\4\0037\4\3\0007\4\4\0047\4\t\4;\4\5\0037\4\3\0007\4\4\0047\4\n\4;\4\6\0037\4\3\0007\4\v\0047\4\f\4;\4\a\3:\3\14\2>\1\2\0014\1\0\0%\2\15\0>\1\2\0027\1\1\0017\1\16\0013\2\19\0004\3\0\0%\4\17\0>\3\2\0027\3\18\3:\3\20\2>\1\2\1G\0\1\0\14on_attach\1\0\0\14my_attach\blsp\nsetup\14lspconfig\fsources\1\0\0\15shellcheck\16diagnostics\tyapf\nshfmt\frustfmt\14json_tool\fgofumpt\17clang_format\15formatting\rbuiltins\vconfig\fnull-ls\frequire\0", "config", "null-ls.nvim") +time([[Config for null-ls.nvim]], false) +-- Config for: nvim-autopairs +time([[Config for nvim-autopairs]], true) +try_loadstring("\27LJ\1\2<\0\0\2\0\3\0\0064\0\0\0%\1\1\0>\0\2\0027\0\2\0>\0\1\1G\0\1\0\nsetup\19nvim-autopairs\frequire\0", "config", "nvim-autopairs") +time([[Config for nvim-autopairs]], false) +-- Config for: zen-mode.nvim +time([[Config for zen-mode.nvim]], true) +try_loadstring("\27LJ\1\2\1\0\0\4\0\r\0\0174\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\6\0003\2\3\0003\3\4\0:\3\5\2:\2\a\0013\2\t\0003\3\b\0:\3\5\0023\3\n\0:\3\v\2:\2\f\1>\0\2\1G\0\1\0\fplugins\rtwilight\1\0\1\fenabled\2\1\0\0\1\0\3\fenabled\2\nruler\1\fshowcmd\1\vwindow\1\0\0\foptions\1\0\2\tlist\1\vnumber\1\1\0\2\rbackdrop\3\1\nwidth\4̙\3\3\nsetup\rzen-mode\frequire\0", "config", "zen-mode.nvim") +time([[Config for zen-mode.nvim]], false) +-- Config for: nvim-lightbulb +time([[Config for nvim-lightbulb]], true) +try_loadstring("\27LJ\1\2\3\0\0\4\0\23\0!4\0\0\0%\1\1\0>\0\2\0027\0\2\0003\1\4\0003\2\3\0:\2\5\0013\2\6\0002\3\0\0:\3\a\2:\2\b\0013\2\t\0:\2\n\0013\2\v\0:\2\f\1>\0\2\0014\0\r\0007\0\14\0007\0\15\0%\1\16\0003\2\17\0>\0\3\0014\0\0\0%\1\18\0>\0\2\0027\0\19\0003\1\21\0002\2\3\0003\3\20\0;\3\1\2:\2\22\1>\0\2\1G\0\1\0\14lightbulb\1\0\0\1\4\0\0\15CursorHold\6*5lua require('nvim-lightbulb').update_lightbulb()\raugroup2\nutils\1\0\2\ttext\b⚐\vtexthl\25LightBulbVirtualText\18LightBulbSign\16sign_define\afn\bvim\16status_text\1\0\1\fenabled\1\17virtual_text\1\0\2\fenabled\1\ttext\n \nfloat\rwin_opts\1\0\2\ttext\n \fenabled\2\tsign\1\0\0\1\0\2\fenabled\2\rpriority\3\n\21update_lightbulb\19nvim-lightbulb\frequire\0", "config", "nvim-lightbulb") +time([[Config for nvim-lightbulb]], 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")({'vim-markdown-folding', 'vim-markdown'}, { ft = "markdown" }, _G.packer_plugins)]] +vim.cmd [[au FileType cue ++once lua require("packer.load")({'vim-cue'}, { ft = "cue" }, _G.packer_plugins)]] +vim.cmd [[au FileType latex ++once lua require("packer.load")({'vimtex'}, { ft = "latex" }, _G.packer_plugins)]] +vim.cmd [[au FileType tex ++once lua require("packer.load")({'vimtex'}, { ft = "tex" }, _G.packer_plugins)]] +time([[Defining lazy-load filetype autocommands]], false) +vim.cmd("augroup END") +vim.cmd [[augroup filetypedetect]] +time([[Sourcing ftdetect script at: /usr/local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim]], true) +vim.cmd [[source /usr/local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim]] +time([[Sourcing ftdetect script at: /usr/local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim]], false) +time([[Sourcing ftdetect script at: /usr/local/share/nvim/site/pack/packer/opt/vim-cue/ftdetect/cue.vim]], true) +vim.cmd [[source /usr/local/share/nvim/site/pack/packer/opt/vim-cue/ftdetect/cue.vim]] +time([[Sourcing ftdetect script at: /usr/local/share/nvim/site/pack/packer/opt/vim-cue/ftdetect/cue.vim]], false) +time([[Sourcing ftdetect script at: /usr/local/share/nvim/site/pack/packer/opt/vim-markdown/ftdetect/markdown.vim]], true) +vim.cmd [[source /usr/local/share/nvim/site/pack/packer/opt/vim-markdown/ftdetect/markdown.vim]] +time([[Sourcing ftdetect script at: /usr/local/share/nvim/site/pack/packer/opt/vim-markdown/ftdetect/markdown.vim]], false) +vim.cmd("augroup END") +if should_profile then save_profiles() end + +end) + +if not no_errors then + vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') +end diff --git a/.vim/plugin/packer_compiled.vim b/.vim/plugin/packer_compiled.vim deleted file mode 100644 index a36d052..0000000 --- a/.vim/plugin/packer_compiled.vim +++ /dev/null @@ -1,347 +0,0 @@ -" Automatically generated packer.nvim plugin loader code - -if !has('nvim-0.5') - echohl WarningMsg - echom "Invalid Neovim version for packer.nvim!" - echohl None - finish -endif - -packadd packer.nvim - -try - -lua << END - 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 = "/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?.lua;/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/share/lua/5.1/?/init.lua;/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?.lua;/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/tmp/robert/.cache/nvim/packer_hererocks/2.0.5/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)) - 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 = { - ["astronauta.nvim"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/astronauta.nvim" - }, - ["completion-buffers"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/completion-buffers" - }, - ["completion-nvim"] = { - config = { "require('plugins._completion')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/completion-nvim" - }, - ["completion-treesitter"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/completion-treesitter" - }, - ["editorconfig-vim"] = { - config = { "require('plugins._editorconfig')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/editorconfig-vim" - }, - ["gentoo-syntax"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/gentoo-syntax" - }, - ["git-messenger.vim"] = { - config = { "require('plugins._git-messenger')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/git-messenger.vim" - }, - ["goyo.vim"] = { - commands = { "Goyo" }, - config = { "require('plugins._goyo')" }, - loaded = false, - needs_bufread = false, - path = "/home/robert/.local/share/nvim/site/pack/packer/opt/goyo.vim" - }, - ["lexima.vim"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/lexima.vim" - }, - ["limelight.vim"] = { - commands = { "Limelight" }, - config = { "require('plugins._limelight')" }, - loaded = false, - needs_bufread = false, - path = "/home/robert/.local/share/nvim/site/pack/packer/opt/limelight.vim" - }, - ["lush.nvim"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/lush.nvim" - }, - neoformat = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/neoformat" - }, - neogit = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/neogit" - }, - ["neuron.nvim"] = { - config = { "require('.plugins._neuron')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/neuron.nvim" - }, - ["nvim-colorizer.lua"] = { - config = { "require('plugins._colorizer')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua" - }, - ["nvim-lightbulb"] = { - config = { "require('plugins._lightbulb')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/nvim-lightbulb" - }, - ["nvim-lspconfig"] = { - config = { "require('plugins._lsp')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/nvim-lspconfig" - }, - ["nvim-treesitter"] = { - config = { "require('plugins._treesitter')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/nvim-treesitter" - }, - ["nvim-treesitter-refactor"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/nvim-treesitter-refactor" - }, - ["packer.nvim"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/packer.nvim" - }, - ["plenary.nvim"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/plenary.nvim" - }, - ["popup.nvim"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/popup.nvim" - }, - ["telescope-fzf-writer.nvim"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/telescope-fzf-writer.nvim" - }, - ["telescope.nvim"] = { - config = { "require('plugins._telescope')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/telescope.nvim" - }, - ultisnips = { - config = { "require('plugins._ultisnips')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/ultisnips" - }, - ["vim-commentary"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-commentary" - }, - ["vim-cue"] = { - loaded = false, - needs_bufread = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/opt/vim-cue" - }, - ["vim-dirvish"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-dirvish" - }, - ["vim-easy-align"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-easy-align" - }, - ["vim-github-link"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-github-link" - }, - ["vim-indent-object"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-indent-object" - }, - ["vim-markdown"] = { - config = { "require('plugins._markdown')" }, - loaded = false, - needs_bufread = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/opt/vim-markdown" - }, - ["vim-markdown-folding"] = { - loaded = false, - needs_bufread = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/opt/vim-markdown-folding" - }, - ["vim-polyglot"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-polyglot" - }, - ["vim-repeat"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-repeat" - }, - ["vim-signify"] = { - config = { "require('plugins._signify')" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-signify" - }, - ["vim-sneak"] = { - config = { "vim.g['sneak#label'] = true" }, - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-sneak" - }, - ["vim-snippets"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-snippets" - }, - ["vim-surround"] = { - loaded = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/start/vim-surround" - }, - vimtex = { - config = { "require('plugins._vimtex')" }, - loaded = false, - needs_bufread = true, - path = "/home/robert/.local/share/nvim/site/pack/packer/opt/vimtex" - } -} - -time("Defining packer_plugins", false) --- Config for: telescope.nvim -time("Config for telescope.nvim", true) -require('plugins._telescope') -time("Config for telescope.nvim", false) --- Config for: editorconfig-vim -time("Config for editorconfig-vim", true) -require('plugins._editorconfig') -time("Config for editorconfig-vim", false) --- Config for: neuron.nvim -time("Config for neuron.nvim", true) -require('.plugins._neuron') -time("Config for neuron.nvim", false) --- Config for: git-messenger.vim -time("Config for git-messenger.vim", true) -require('plugins._git-messenger') -time("Config for git-messenger.vim", false) --- Config for: completion-nvim -time("Config for completion-nvim", true) -require('plugins._completion') -time("Config for completion-nvim", false) --- Config for: nvim-lightbulb -time("Config for nvim-lightbulb", true) -require('plugins._lightbulb') -time("Config for nvim-lightbulb", false) --- Config for: nvim-colorizer.lua -time("Config for nvim-colorizer.lua", true) -require('plugins._colorizer') -time("Config for nvim-colorizer.lua", false) --- Config for: vim-signify -time("Config for vim-signify", true) -require('plugins._signify') -time("Config for vim-signify", false) --- Config for: vim-sneak -time("Config for vim-sneak", true) -vim.g['sneak#label'] = true -time("Config for vim-sneak", false) --- Config for: nvim-lspconfig -time("Config for nvim-lspconfig", true) -require('plugins._lsp') -time("Config for nvim-lspconfig", false) --- Config for: ultisnips -time("Config for ultisnips", true) -require('plugins._ultisnips') -time("Config for ultisnips", false) --- Config for: nvim-treesitter -time("Config for nvim-treesitter", true) -require('plugins._treesitter') -time("Config for nvim-treesitter", false) - --- Command lazy-loads -time("Defining lazy-load commands", true) -vim.cmd [[command! -nargs=* -range -bang -complete=file Goyo lua require("packer.load")({'goyo.vim'}, { cmd = "Goyo", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args> }, _G.packer_plugins)]] -vim.cmd [[command! -nargs=* -range -bang -complete=file Limelight lua require("packer.load")({'limelight.vim'}, { cmd = "Limelight", l1 = <line1>, l2 = <line2>, bang = <q-bang>, args = <q-args> }, _G.packer_plugins)]] -time("Defining lazy-load commands", false) - -vim.cmd [[augroup packer_load_aucmds]] -vim.cmd [[au!]] - -- Filetype lazy-loads -time("Defining lazy-load filetype autocommands", true) -vim.cmd [[au FileType markdown ++once lua require("packer.load")({'vim-markdown-folding', 'vim-markdown'}, { ft = "markdown" }, _G.packer_plugins)]] -vim.cmd [[au FileType cue ++once lua require("packer.load")({'vim-cue'}, { ft = "cue" }, _G.packer_plugins)]] -vim.cmd [[au FileType latex ++once lua require("packer.load")({'vimtex'}, { ft = "latex" }, _G.packer_plugins)]] -vim.cmd [[au FileType tex ++once lua require("packer.load")({'vimtex'}, { ft = "tex" }, _G.packer_plugins)]] -time("Defining lazy-load filetype autocommands", false) -vim.cmd("augroup END") -vim.cmd [[augroup filetypedetect]] -time("Sourcing ftdetect script at: /home/robert/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim", true) -vim.cmd [[source /home/robert/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim]] -time("Sourcing ftdetect script at: /home/robert/.local/share/nvim/site/pack/packer/opt/vimtex/ftdetect/tex.vim", false) -time("Sourcing ftdetect script at: /home/robert/.local/share/nvim/site/pack/packer/opt/vim-markdown/ftdetect/markdown.vim", true) -vim.cmd [[source /home/robert/.local/share/nvim/site/pack/packer/opt/vim-markdown/ftdetect/markdown.vim]] -time("Sourcing ftdetect script at: /home/robert/.local/share/nvim/site/pack/packer/opt/vim-markdown/ftdetect/markdown.vim", false) -time("Sourcing ftdetect script at: /home/robert/.local/share/nvim/site/pack/packer/opt/vim-cue/ftdetect/cue.vim", true) -vim.cmd [[source /home/robert/.local/share/nvim/site/pack/packer/opt/vim-cue/ftdetect/cue.vim]] -time("Sourcing ftdetect script at: /home/robert/.local/share/nvim/site/pack/packer/opt/vim-cue/ftdetect/cue.vim", false) -vim.cmd("augroup END") -if should_profile then save_profiles() end - -END - -catch - echohl ErrorMsg - echom "Error in packer_compiled: " .. v:exception - echom "Please check your config for correctness" - echohl None -endtry |