summaryrefslogtreecommitdiff
path: root/private_dot_config/nvim
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-12-11 20:46:32 +0100
committerSanto Cariotti <santo@dcariotti.me>2024-12-11 20:47:59 +0100
commitf22f1723c01b56da14ae1de3491a78af1bc4c464 (patch)
tree030411c811d3474c4b322eca29d1bf8e96b7511f /private_dot_config/nvim
parentd8713792f93473fe14e01d151529fb6ef139448f (diff)
Dot files with `chezmoi`
Diffstat (limited to 'private_dot_config/nvim')
-rw-r--r--private_dot_config/nvim/after/ftdetect/antlr4.vim1
-rw-r--r--private_dot_config/nvim/after/ftdetect/jolie.vim1
-rw-r--r--private_dot_config/nvim/after/ftdetect/prr.vim1
-rw-r--r--private_dot_config/nvim/after/ftplugin/dockerfile.vim1
-rw-r--r--private_dot_config/nvim/after/ftplugin/json.vim1
-rw-r--r--private_dot_config/nvim/after/ftplugin/markdown.vim1
-rw-r--r--private_dot_config/nvim/after/syntax/antlr4.vim93
-rw-r--r--private_dot_config/nvim/after/syntax/jolie.vim59
-rw-r--r--private_dot_config/nvim/after/syntax/prr.vim22
-rw-r--r--private_dot_config/nvim/colors/gruvbox.vim.old1418
-rw-r--r--private_dot_config/nvim/colors/miramare.vim1753
-rw-r--r--private_dot_config/nvim/dot_netrwhist5
-rw-r--r--private_dot_config/nvim/init.lua216
-rw-r--r--private_dot_config/nvim/lua/dap_conf.lua52
-rw-r--r--private_dot_config/nvim/lua/git.lua65
-rw-r--r--private_dot_config/nvim/lua/lsp_conf.lua114
-rw-r--r--private_dot_config/nvim/plugin/packer_compiled.lua244
17 files changed, 4047 insertions, 0 deletions
diff --git a/private_dot_config/nvim/after/ftdetect/antlr4.vim b/private_dot_config/nvim/after/ftdetect/antlr4.vim
new file mode 100644
index 0000000..d4d39a1
--- /dev/null
+++ b/private_dot_config/nvim/after/ftdetect/antlr4.vim
@@ -0,0 +1 @@
+autocmd BufEnter,BufNewFile *.g4 setf antlr4
diff --git a/private_dot_config/nvim/after/ftdetect/jolie.vim b/private_dot_config/nvim/after/ftdetect/jolie.vim
new file mode 100644
index 0000000..efa43f7
--- /dev/null
+++ b/private_dot_config/nvim/after/ftdetect/jolie.vim
@@ -0,0 +1 @@
+au BufRead,BufNewFile *.ol,*.iol set filetype=jolie
diff --git a/private_dot_config/nvim/after/ftdetect/prr.vim b/private_dot_config/nvim/after/ftdetect/prr.vim
new file mode 100644
index 0000000..15a474c
--- /dev/null
+++ b/private_dot_config/nvim/after/ftdetect/prr.vim
@@ -0,0 +1 @@
+au BufNewFile,BufRead *.prr set filetype=prr
diff --git a/private_dot_config/nvim/after/ftplugin/dockerfile.vim b/private_dot_config/nvim/after/ftplugin/dockerfile.vim
new file mode 100644
index 0000000..b388056
--- /dev/null
+++ b/private_dot_config/nvim/after/ftplugin/dockerfile.vim
@@ -0,0 +1 @@
+let g:indentLine_enabled = 0
diff --git a/private_dot_config/nvim/after/ftplugin/json.vim b/private_dot_config/nvim/after/ftplugin/json.vim
new file mode 100644
index 0000000..b388056
--- /dev/null
+++ b/private_dot_config/nvim/after/ftplugin/json.vim
@@ -0,0 +1 @@
+let g:indentLine_enabled = 0
diff --git a/private_dot_config/nvim/after/ftplugin/markdown.vim b/private_dot_config/nvim/after/ftplugin/markdown.vim
new file mode 100644
index 0000000..b388056
--- /dev/null
+++ b/private_dot_config/nvim/after/ftplugin/markdown.vim
@@ -0,0 +1 @@
+let g:indentLine_enabled = 0
diff --git a/private_dot_config/nvim/after/syntax/antlr4.vim b/private_dot_config/nvim/after/syntax/antlr4.vim
new file mode 100644
index 0000000..8f6c412
--- /dev/null
+++ b/private_dot_config/nvim/after/syntax/antlr4.vim
@@ -0,0 +1,93 @@
+if exists('b:current_syntax')
+ finish
+endif
+
+command -nargs=* HiLink highlight link <args>
+
+syntax match antlr4EventId +[a-zA-Z_][a-zA-Z0-9_]*+ contained
+syntax match antlr4ParName +\<[a-z][a-zA-Z0-9_]*\>+ containedin=antlr4RHS
+syntax match antlr4LexName +\<[A-Z][a-zA-Z0-9_]*\>+ containedin=antlr4RHS
+syntax match antlr4Assign /[a-zA-Z]\++\?=/ containedin=antlr4RHS
+
+if exists('g:antlr4_highlight_punctuation')
+ syntax match antlr4Punctuation +[\-():;]+
+endif
+
+syntax include @included syntax/java.vim
+
+syntax region antlr4RHS start=+:+ end=+;+ extend
+
+syntax region antlr4Embed start=+{+ end=+}?\?+ contains=@included,antlr4Variable keepend
+ \ containedin=antlr4RHS
+syntax region antlr4Embed start=+\[+ end=+\]+ contains=@included,antlr4Variable keepend
+
+
+syntax match antlr4Repeat +[+*]+ containedin=antlr4RHS
+syntax match antlr4Condition +?+ containedin=antlr4RHS
+syntax match antlr4Option "|" containedin=antlr4RHS
+
+" Use specifically containedin=javaParenT so it will be highlighted inside
+" parens
+syntax match antlr4Variable contained +\$[a-zA-Z_][a-zA-Z0-9_]*+ containedin=javaParenT
+
+syntax match antlr4Keyword /@\(\(parser\|lexer\)::\)\?\(header\|members\)/
+syntax match antlr4Keyword /@after/
+
+syntax match antlr4Escape +\\[nrvt]+
+syntax match antlr4Escape +\\u[0-9a-fA-F]\{4}+
+syntax match antlr4Escape +\\u{[0-9a-fA-F]\{4}}+
+syntax match antlr4Escape +\\p{.\{-}}+
+
+syntax match antlr4SetEscape +\\-+ containedin=antlr4RHS
+
+syntax keyword antlr4Keyword grammar
+syntax keyword antlr4Keyword lexer parser options
+syntax keyword antlr4Keyword fragment tokens
+syntax keyword antlr4Keyword returns locals throws catch finally mode options
+
+syntax keyword antlr4Import import
+
+syntax keyword antlr4Operation skip more popMode mode pushMode type channel
+ \ containedin=antlr4RHS
+
+syntax region antlr4Set start=+\[+ end=+\]+ contained
+ \ contains=antlr4Escape,antlr4SetEscape containedin=antlr4RHS
+syntax region antlr4Attr start="<" end=">"
+ \ containedin=antlr4RHS
+syntax region antlr4String start=+'+ end=+'+ containedin=antlr4RHS contains=antlr4Escape
+
+syntax region antlr4Comment start=+/\*+ end=+\*/+
+ \ containedin=antlr4RHS
+syntax region antlr4Comment start=+//+ end=+$+
+ \ containedin=antlr4RHS
+
+syntax region antlr4Event start=+#+ end=+$+
+ \ containedin=antlr4RHS contains=antlr4EventId
+
+HiLink antlr4Comment Comment
+HiLink antlr4Keyword KeyWord
+HiLink antlr4ParName Type
+HiLink antlr4LexName Macro
+HiLink antlr4Attr Special
+HiLink antlr4Assign Statement
+HiLink antlr4Set Character
+HiLink antlr4String String
+
+if exists('g:antlr4_highlight_punctuation')
+ HiLink antlr4Punctuation Operator
+endif
+
+HiLink antlr4Repeat Repeat
+HiLink antlr4Condition Conditional
+HiLink antlr4Option Delimiter
+HiLink antlr4Import PreProc
+HiLink antlr4Escape Special
+HiLink antlr4SetEscape antlr4Escape
+HiLink antlr4Operation Function
+HiLink antlr4EventId Function
+HiLink antlr4Annotation KeyWord
+HiLink antlr4Variable Special
+
+delcommand HiLink
+
+let b:current_syntax = 'antlr4'
diff --git a/private_dot_config/nvim/after/syntax/jolie.vim b/private_dot_config/nvim/after/syntax/jolie.vim
new file mode 100644
index 0000000..c7b3a21
--- /dev/null
+++ b/private_dot_config/nvim/after/syntax/jolie.vim
@@ -0,0 +1,59 @@
+if exists("b:current_syntax")
+ finish
+endif
+
+syn keyword jolieBoolean true false
+syn keyword jolieDefinitionTypes inputPort outputPort interface type define service
+syn keyword jolieKeyword location Location protocol Protocol interfaces Interfaces aggregates Aggregates redirects Redirects class Jolie JavaScript Java OneWay oneWay RequestResponse requestResponse execution
+syn keyword jolieOtherKeyword constants cH instanceof execution comp concurrent nullProcess single sequential main foreign java init cset is_defined embed embedded extender courier forward install undef include synchronized throws throw from import as
+syn keyword jolieConditional if else
+syn keyword jolieRepeat while for foreach until in
+syn keyword jolieException throw
+syn keyword jolieStatement forward scope provide
+syn keyword jolieType void bool int string long double any raw
+syn keyword jolieKeywordModifiers csets global
+syn match jolieOperators "(<<|&&|\|\||+|-|/|*|=|==|++|-|+=|-=|*=|/=|!|%=|%)"
+
+syn match jolieSpecialChar contained "\\."
+
+syn region jolieString start=+"+ end=+"+ contains=jolieSpecialChar
+
+syn match jolieNumber "\<\d\+\>"
+
+syn match jolieMethodInvocation "\<\(\w\+\)@\(\w\+\)\>" contains=jolieMethodName,jolieClassName
+
+syn match jolieMethodName "\w\+@"me=e-1 contained
+syn match jolieClassName "@\w\+\>"ms=s+1 contained
+
+syn match jolieMethodName2 "\(\w\+\)("
+
+syn keyword jolieTodo contained TODO FIXME
+syn region jolieComment start="/\*" end="\*/" contains=jolieTodo
+syn match jolieLineComment "//.*"
+
+let b:current_syntax = "jolie"
+
+hi def link jolieBoolean Boolean
+hi def link jolieComment Comment
+hi def link jolieLineComment Comment
+hi def link jolieDefinitionTypes Keyword
+hi def link jolieKeyword Keyword
+hi def link jolieOtherKeyword Keyword
+
+hi def link jolieOperators Operator
+
+hi def link jolieConditional Conditional
+hi def link jolieRepeat Repeat
+hi def link jolieException Exception
+hi def link jolieStatement Statement
+hi def link jolieType Type
+
+hi def link jolieKeywordModifiers StorageClass
+
+hi def link jolieString String
+
+hi def link jolieNumber Number
+
+hi def link jolieMethodName Function
+hi def link jolieClassName Type
+hi def link jolieMethodName2 Function
diff --git a/private_dot_config/nvim/after/syntax/prr.vim b/private_dot_config/nvim/after/syntax/prr.vim
new file mode 100644
index 0000000..43a0557
--- /dev/null
+++ b/private_dot_config/nvim/after/syntax/prr.vim
@@ -0,0 +1,22 @@
+" Vim syntax file
+" Language: prr
+" Maintainer: Daniel Xu <dxu@dxuuu.xyz>
+" Last Change: 2022 Mar 25
+" Credits: Bram Moolenaar <Bram@vim.org>
+"
+" This version is copied and edited from diff.vim
+
+" Check whether an earlier file has defined a syntax already
+if exists("b:current_syntax")
+ finish
+endif
+
+syn match diffAdded "^> +.*"
+syn match diffRemoved "^> -.*"
+
+" Define the default highlighting.
+" Only used when an item doesn't have highlighting yet
+hi def link diffAdded Type
+hi def link diffRemoved Statement
+
+let b:current_syntax = "prr"
diff --git a/private_dot_config/nvim/colors/gruvbox.vim.old b/private_dot_config/nvim/colors/gruvbox.vim.old
new file mode 100644
index 0000000..66246fb
--- /dev/null
+++ b/private_dot_config/nvim/colors/gruvbox.vim.old
@@ -0,0 +1,1418 @@
+" -----------------------------------------------------------------------------
+" File: gruvbox.vim
+" Description: Retro groove color scheme for Vim
+" Author: morhetz <morhetz@gmail.com>
+" Source: https://github.com/morhetz/gruvbox
+" Last Modified: 12 Aug 2017
+" -----------------------------------------------------------------------------
+
+" Supporting code -------------------------------------------------------------
+" Initialisation: {{{
+
+if version > 580
+ hi clear
+ if exists("syntax_on")
+ syntax reset
+ endif
+endif
+
+let g:colors_name='gruvbox'
+
+if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256
+ finish
+endif
+
+" }}}
+" Global Settings: {{{
+
+if !exists('g:gruvbox_bold')
+ let g:gruvbox_bold=1
+endif
+if !exists('g:gruvbox_italic')
+ if has('gui_running') || $TERM_ITALICS == 'true'
+ let g:gruvbox_italic=1
+ else
+ let g:gruvbox_italic=0
+ endif
+endif
+if !exists('g:gruvbox_undercurl')
+ let g:gruvbox_undercurl=1
+endif
+if !exists('g:gruvbox_underline')
+ let g:gruvbox_underline=1
+endif
+if !exists('g:gruvbox_inverse')
+ let g:gruvbox_inverse=1
+endif
+
+if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1
+ let g:gruvbox_guisp_fallback='NONE'
+endif
+
+if !exists('g:gruvbox_improved_strings')
+ let g:gruvbox_improved_strings=0
+endif
+
+if !exists('g:gruvbox_improved_warnings')
+ let g:gruvbox_improved_warnings=0
+endif
+
+if !exists('g:gruvbox_termcolors')
+ let g:gruvbox_termcolors=256
+endif
+
+if !exists('g:gruvbox_invert_indent_guides')
+ let g:gruvbox_invert_indent_guides=0
+endif
+
+if exists('g:gruvbox_contrast')
+ echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
+endif
+
+if !exists('g:gruvbox_contrast_dark')
+ let g:gruvbox_contrast_dark='medium'
+endif
+
+if !exists('g:gruvbox_contrast_light')
+ let g:gruvbox_contrast_light='medium'
+endif
+
+let s:is_dark=(&background == 'dark')
+
+" }}}
+" Palette: {{{
+
+" setup palette dictionary
+let s:gb = {}
+
+" fill it with absolute colors
+let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
+let s:gb.dark0 = ['#282828', 235] " 40-40-40
+let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
+let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
+let s:gb.dark2 = ['#504945', 239] " 80-73-69
+let s:gb.dark3 = ['#665c54', 241] " 102-92-84
+let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
+let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
+
+let s:gb.gray_245 = ['#928374', 245] " 146-131-116
+let s:gb.gray_244 = ['#928374', 244] " 146-131-116
+
+let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
+let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193
+let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
+let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
+let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
+let s:gb.light3 = ['#bdae93', 248] " 189-174-147
+let s:gb.light4 = ['#a89984', 246] " 168-153-132
+let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
+
+let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
+let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38
+let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
+let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
+let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
+let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
+let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
+
+let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
+let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
+let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
+let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
+let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
+let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
+let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
+
+let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
+let s:gb.faded_green = ['#79740e', 100] " 121-116-14
+let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
+let s:gb.faded_blue = ['#076678', 24] " 7-102-120
+let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
+let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
+let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
+
+" }}}
+" Setup Emphasis: {{{
+
+let s:bold = 'bold,'
+if g:gruvbox_bold == 0
+ let s:bold = ''
+endif
+
+let s:italic = 'italic,'
+if g:gruvbox_italic == 0
+ let s:italic = ''
+endif
+
+let s:underline = 'underline,'
+if g:gruvbox_underline == 0
+ let s:underline = ''
+endif
+
+let s:undercurl = 'undercurl,'
+if g:gruvbox_undercurl == 0
+ let s:undercurl = ''
+endif
+
+let s:inverse = 'inverse,'
+if g:gruvbox_inverse == 0
+ let s:inverse = ''
+endif
+
+" }}}
+" Setup Colors: {{{
+
+let s:vim_bg = ['bg', 'bg']
+let s:vim_fg = ['fg', 'fg']
+let s:none = ['NONE', 'NONE']
+
+" determine relative colors
+if s:is_dark
+ let s:bg0 = s:gb.dark0
+ if g:gruvbox_contrast_dark == 'soft'
+ let s:bg0 = s:gb.dark0_soft
+ elseif g:gruvbox_contrast_dark == 'hard'
+ let s:bg0 = s:gb.dark0_hard
+ endif
+
+ let s:bg1 = s:gb.dark1
+ let s:bg2 = s:gb.dark2
+ let s:bg3 = s:gb.dark3
+ let s:bg4 = s:gb.dark4
+
+ let s:gray = s:gb.gray_245
+
+ let s:fg0 = s:gb.light0
+ let s:fg1 = s:gb.light1
+ let s:fg2 = s:gb.light2
+ let s:fg3 = s:gb.light3
+ let s:fg4 = s:gb.light4
+
+ let s:fg4_256 = s:gb.light4_256
+
+ let s:red = s:gb.bright_red
+ let s:green = s:gb.bright_green
+ let s:yellow = s:gb.bright_yellow
+ let s:blue = s:gb.bright_blue
+ let s:purple = s:gb.bright_purple
+ let s:aqua = s:gb.bright_aqua
+ let s:orange = s:gb.bright_orange
+else
+ let s:bg0 = s:gb.light0
+ if g:gruvbox_contrast_light == 'soft'
+ let s:bg0 = s:gb.light0_soft
+ elseif g:gruvbox_contrast_light == 'hard'
+ let s:bg0 = s:gb.light0_hard
+ endif
+
+ let s:bg1 = s:gb.light1
+ let s:bg2 = s:gb.light2
+ let s:bg3 = s:gb.light3
+ let s:bg4 = s:gb.light4
+
+ let s:gray = s:gb.gray_244
+
+ let s:fg0 = s:gb.dark0
+ let s:fg1 = s:gb.dark1
+ let s:fg2 = s:gb.dark2
+ let s:fg3 = s:gb.dark3
+ let s:fg4 = s:gb.dark4
+
+ let s:fg4_256 = s:gb.dark4_256
+
+ let s:red = s:gb.faded_red
+ let s:green = s:gb.faded_green
+ let s:yellow = s:gb.faded_yellow
+ let s:blue = s:gb.faded_blue
+ let s:purple = s:gb.faded_purple
+ let s:aqua = s:gb.faded_aqua
+ let s:orange = s:gb.faded_orange
+endif
+
+" reset to 16 colors fallback
+if g:gruvbox_termcolors == 16
+ let s:bg0[1] = 0
+ let s:fg4[1] = 7
+ let s:gray[1] = 8
+ let s:red[1] = 9
+ let s:green[1] = 10
+ let s:yellow[1] = 11
+ let s:blue[1] = 12
+ let s:purple[1] = 13
+ let s:aqua[1] = 14
+ let s:fg1[1] = 15
+endif
+
+" save current relative colors back to palette dictionary
+let s:gb.bg0 = s:bg0
+let s:gb.bg1 = s:bg1
+let s:gb.bg2 = s:bg2
+let s:gb.bg3 = s:bg3
+let s:gb.bg4 = s:bg4
+
+let s:gb.gray = s:gray
+
+let s:gb.fg0 = s:fg0
+let s:gb.fg1 = s:fg1
+let s:gb.fg2 = s:fg2
+let s:gb.fg3 = s:fg3
+let s:gb.fg4 = s:fg4
+
+let s:gb.fg4_256 = s:fg4_256
+
+let s:gb.red = s:red
+let s:gb.green = s:green
+let s:gb.yellow = s:yellow
+let s:gb.blue = s:blue
+let s:gb.purple = s:purple
+let s:gb.aqua = s:aqua
+let s:gb.orange = s:orange
+
+" }}}
+" Setup Terminal Colors For Neovim: {{{
+
+if has('nvim')
+ let g:terminal_color_0 = s:bg0[0]
+ let g:terminal_color_8 = s:gray[0]
+
+ let g:terminal_color_1 = s:gb.neutral_red[0]
+ let g:terminal_color_9 = s:red[0]
+
+ let g:terminal_color_2 = s:gb.neutral_green[0]
+ let g:terminal_color_10 = s:green[0]
+
+ let g:terminal_color_3 = s:gb.neutral_yellow[0]
+ let g:terminal_color_11 = s:yellow[0]
+
+ let g:terminal_color_4 = s:gb.neutral_blue[0]
+ let g:terminal_color_12 = s:blue[0]
+
+ let g:terminal_color_5 = s:gb.neutral_purple[0]
+ let g:terminal_color_13 = s:purple[0]
+
+ let g:terminal_color_6 = s:gb.neutral_aqua[0]
+ let g:terminal_color_14 = s:aqua[0]
+
+ let g:terminal_color_7 = s:fg4[0]
+ let g:terminal_color_15 = s:fg1[0]
+endif
+
+" }}}
+" Overload Setting: {{{
+
+let s:hls_cursor = s:orange
+if exists('g:gruvbox_hls_cursor')
+ let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
+endif
+
+let s:number_column = s:none
+if exists('g:gruvbox_number_column')
+ let s:number_column = get(s:gb, g:gruvbox_number_column)
+endif
+
+let s:sign_column = s:bg1
+
+if exists('g:gitgutter_override_sign_column_highlight') &&
+ \ g:gitgutter_override_sign_column_highlight == 1
+ let s:sign_column = s:number_column
+else
+ let g:gitgutter_override_sign_column_highlight = 0
+
+ if exists('g:gruvbox_sign_column')
+ let s:sign_column = get(s:gb, g:gruvbox_sign_column)
+ endif
+endif
+
+let s:color_column = s:bg1
+if exists('g:gruvbox_color_column')
+ let s:color_column = get(s:gb, g:gruvbox_color_column)
+endif
+
+let s:vert_split = s:bg0
+if exists('g:gruvbox_vert_split')
+ let s:vert_split = get(s:gb, g:gruvbox_vert_split)
+endif
+
+let s:invert_signs = ''
+if exists('g:gruvbox_invert_signs')
+ if g:gruvbox_invert_signs == 1
+ let s:invert_signs = s:inverse
+ endif
+endif
+
+let s:invert_selection = s:inverse
+if exists('g:gruvbox_invert_selection')
+ if g:gruvbox_invert_selection == 0
+ let s:invert_selection = ''
+ endif
+endif
+
+let s:invert_tabline = ''
+if exists('g:gruvbox_invert_tabline')
+ if g:gruvbox_invert_tabline == 1
+ let s:invert_tabline = s:inverse
+ endif
+endif
+
+let s:italicize_comments = s:italic
+if exists('g:gruvbox_italicize_comments')
+ if g:gruvbox_italicize_comments == 0
+ let s:italicize_comments = ''
+ endif
+endif
+
+let s:italicize_strings = ''
+if exists('g:gruvbox_italicize_strings')
+ if g:gruvbox_italicize_strings == 1
+ let s:italicize_strings = s:italic
+ endif
+endif
+
+" }}}
+" Highlighting Function: {{{
+
+function! s:HL(group, fg, ...)
+ " Arguments: group, guifg, guibg, gui, guisp
+
+ " foreground
+ let fg = a:fg
+
+ " background
+ if a:0 >= 1
+ let bg = a:1
+ else
+ let bg = s:none
+ endif
+
+ " emphasis
+ if a:0 >= 2 && strlen(a:2)
+ let emstr = a:2
+ else
+ let emstr = 'NONE,'
+ endif
+
+ " special fallback
+ if a:0 >= 3
+ if g:gruvbox_guisp_fallback != 'NONE'
+ let fg = a:3
+ endif
+
+ " bg fallback mode should invert higlighting
+ if g:gruvbox_guisp_fallback == 'bg'
+ let emstr .= 'inverse,'
+ endif
+ endif
+
+ let histring = [ 'hi', a:group,
+ \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
+ \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
+ \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
+ \ ]
+
+ " special
+ if a:0 >= 3
+ call add(histring, 'guisp=' . a:3[0])
+ endif
+
+ execute join(histring, ' ')
+endfunction
+
+" }}}
+" Gruvbox Hi Groups: {{{
+
+" memoize common hi groups
+call s:HL('GruvboxFg0', s:fg0)
+call s:HL('GruvboxFg1', s:fg1)
+call s:HL('GruvboxFg2', s:fg2)
+call s:HL('GruvboxFg3', s:fg3)
+call s:HL('GruvboxFg4', s:fg4)
+call s:HL('GruvboxGray', s:gray)
+call s:HL('GruvboxBg0', s:bg0)
+call s:HL('GruvboxBg1', s:bg1)
+call s:HL('GruvboxBg2', s:bg2)
+call s:HL('GruvboxBg3', s:bg3)
+call s:HL('GruvboxBg4', s:bg4)
+
+call s:HL('GruvboxRed', s:red)
+call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
+call s:HL('GruvboxGreen', s:green)
+call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
+call s:HL('GruvboxYellow', s:yellow)
+call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
+call s:HL('GruvboxBlue', s:blue)
+call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
+call s:HL('GruvboxPurple', s:purple)
+call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
+call s:HL('GruvboxAqua', s:aqua)
+call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
+call s:HL('GruvboxOrange', s:orange)
+call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
+
+call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
+call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
+call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
+call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
+call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
+call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
+call s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs)
+
+" }}}
+
+" Vanilla colorscheme ---------------------------------------------------------
+" General UI: {{{
+
+" Normal text
+call s:HL('Normal', s:fg1, s:bg0)
+
+" Correct background (see issue #7):
+" --- Problem with changing between dark and light on 256 color terminal
+" --- https://github.com/morhetz/gruvbox/issues/7
+if s:is_dark
+ set background=dark
+else
+ set background=light
+endif
+
+if version >= 700
+ " Screen line that the cursor is
+ call s:HL('CursorLine', s:none, s:bg1)
+ " Screen column that the cursor is
+ hi! link CursorColumn CursorLine
+
+ " Tab pages line filler
+ call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline)
+ " Active tab page label
+ call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline)
+ " Not active tab page label
+ hi! link TabLine TabLineFill
+
+ " Match paired bracket under the cursor
+ call s:HL('MatchParen', s:none, s:bg3, s:bold)
+endif
+
+if version >= 703
+ " Highlighted screen columns
+ call s:HL('ColorColumn', s:none, s:color_column)
+
+ " Concealed element: \lambda → λ
+ call s:HL('Conceal', s:blue, s:none)
+
+ " Line number of CursorLine
+ call s:HL('CursorLineNr', s:yellow, s:bg1)
+endif
+
+hi! link NonText GruvboxBg2
+hi! link SpecialKey GruvboxBg2
+
+call s:HL('Visual', s:none, s:bg3, s:invert_selection)
+hi! link VisualNOS Visual
+
+call s:HL('Search', s:yellow, s:bg0, s:inverse)
+call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse)
+
+call s:HL('Underlined', s:blue, s:none, s:underline)
+
+call s:HL('StatusLine', s:bg2, s:fg1, s:inverse)
+call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse)
+
+" The column separating vertically split windows
+call s:HL('VertSplit', s:bg3, s:vert_split)
+
+" Current match in wildmenu completion
+call s:HL('WildMenu', s:blue, s:bg2, s:bold)
+
+" Directory names, special names in listing
+hi! link Directory GruvboxGreenBold
+
+" Titles for output from :set all, :autocmd, etc.
+hi! link Title GruvboxGreenBold
+
+" Error messages on the command line
+call s:HL('ErrorMsg', s:bg0, s:red, s:bold)
+" More prompt: -- More --
+hi! link MoreMsg GruvboxYellowBold
+" Current mode message: -- INSERT --
+hi! link ModeMsg GruvboxYellowBold
+" 'Press enter' prompt and yes/no questions
+hi! link Question GruvboxOrangeBold
+" Warning messages
+hi! link WarningMsg GruvboxRedBold
+
+" }}}
+" Gutter: {{{
+
+" Line number for :number and :# commands
+call s:HL('LineNr', s:bg4, s:number_column)
+
+" Column where signs are displayed
+call s:HL('SignColumn', s:none, s:sign_column)
+
+" Line used for closed folds
+call s:HL('Folded', s:gray, s:bg1, s:italic)
+" Column where folds are displayed
+call s:HL('FoldColumn', s:gray, s:bg1)
+
+" }}}
+" Cursor: {{{
+
+" Character under cursor
+call s:HL('Cursor', s:none, s:none, s:inverse)
+" Visual mode cursor, selection
+hi! link vCursor Cursor
+" Input moder cursor
+hi! link iCursor Cursor
+" Language mapping cursor
+hi! link lCursor Cursor
+
+" }}}
+" Syntax Highlighting: {{{
+
+if g:gruvbox_improved_strings == 0
+ hi! link Special GruvboxOrange
+else
+ call s:HL('Special', s:orange, s:bg1, s:italicize_strings)
+endif
+
+call s:HL('Comment', s:gray, s:none, s:italicize_comments)
+call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
+call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
+
+" Generic statement
+hi! link Statement GruvboxRed
+" if, then, else, endif, swicth, etc.
+hi! link Conditional GruvboxRed
+" for, do, while, etc.
+hi! link Repeat GruvboxRed
+" case, default, etc.
+hi! link Label GruvboxRed
+" try, catch, throw
+hi! link Exception GruvboxRed
+" sizeof, "+", "*", etc.
+hi! link Operator Normal
+" Any other keyword
+hi! link Keyword GruvboxRed
+
+" Variable name
+hi! link Identifier GruvboxBlue
+" Function name
+hi! link Function GruvboxGreenBold
+
+" Generic preprocessor
+hi! link PreProc GruvboxAqua
+" Preprocessor #include
+hi! link Include GruvboxAqua
+" Preprocessor #define
+hi! link Define GruvboxAqua
+" Same as Define
+hi! link Macro GruvboxAqua
+" Preprocessor #if, #else, #endif, etc.
+hi! link PreCondit GruvboxAqua
+
+" Generic constant
+hi! link Constant GruvboxPurple
+" Character constant: 'c', '/n'
+hi! link Character GruvboxPurple
+" String constant: "this is a string"
+if g:gruvbox_improved_strings == 0
+ call s:HL('String', s:green, s:none, s:italicize_strings)
+else
+ call s:HL('String', s:fg1, s:bg1, s:italicize_strings)
+endif
+" Boolean constant: TRUE, false
+hi! link Boolean GruvboxPurple
+" Number constant: 234, 0xff
+hi! link Number GruvboxPurple
+" Floating point constant: 2.3e10
+hi! link Float GruvboxPurple
+
+" Generic type
+hi! link Type GruvboxYellow
+" static, register, volatile, etc
+hi! link StorageClass GruvboxOrange
+" struct, union, enum, etc.
+hi! link Structure GruvboxAqua
+" typedef
+hi! link Typedef GruvboxYellow
+
+" }}}
+" Completion Menu: {{{
+
+if version >= 700
+ " Popup menu: normal item
+ call s:HL('Pmenu', s:fg1, s:bg2)
+ " Popup menu: selected item
+ call s:HL('PmenuSel', s:bg2, s:blue, s:bold)
+ " Popup menu: scrollbar
+ call s:HL('PmenuSbar', s:none, s:bg2)
+ " Popup menu: scrollbar thumb
+ call s:HL('PmenuThumb', s:none, s:bg4)
+endif
+
+" }}}
+" Diffs: {{{
+
+call s:HL('DiffDelete', s:red, s:bg0, s:inverse)
+call s:HL('DiffAdd', s:green, s:bg0, s:inverse)
+"call s:HL('DiffChange', s:bg0, s:blue)
+"call s:HL('DiffText', s:bg0, s:yellow)
+
+" Alternative setting
+call s:HL('DiffChange', s:aqua, s:bg0, s:inverse)
+call s:HL('DiffText', s:yellow, s:bg0, s:inverse)
+
+" }}}
+" Spelling: {{{
+
+if has("spell")
+ " Not capitalised word, or compile warnings
+ if g:gruvbox_improved_warnings == 0
+ call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red)
+ else
+ call s:HL('SpellCap', s:green, s:none, s:bold . s:italic)
+ endif
+ " Not recognized word
+ call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue)
+ " Wrong spelling for selected region
+ call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)
+ " Rare word
+ call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple)
+endif
+
+" }}}
+
+" Plugin specific -------------------------------------------------------------
+" EasyMotion: {{{
+
+hi! link EasyMotionTarget Search
+hi! link EasyMotionShade Comment
+
+" }}}
+" Sneak: {{{
+
+hi! link Sneak Search
+hi! link SneakLabel Search
+
+" }}}
+" Indent Guides: {{{
+
+if !exists('g:indent_guides_auto_colors')
+ let g:indent_guides_auto_colors = 0
+endif
+
+if g:indent_guides_auto_colors == 0
+ if g:gruvbox_invert_indent_guides == 0
+ call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)
+ call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)
+ else
+ call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)
+ call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)
+ endif
+endif
+
+" }}}
+" IndentLine: {{{
+
+if !exists('g:indentLine_color_term')
+ let g:indentLine_color_term = s:bg2[1]
+endif
+if !exists('g:indentLine_color_gui')
+ let g:indentLine_color_gui = s:bg2[0]
+endif
+
+" }}}
+" Rainbow Parentheses: {{{
+
+if !exists('g:rbpt_colorpairs')
+ let g:rbpt_colorpairs =
+ \ [
+ \ ['blue', '#458588'], ['magenta', '#b16286'],
+ \ ['red', '#cc241d'], ['166', '#d65d0e']
+ \ ]
+endif
+
+let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]
+let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
+
+if !exists('g:rainbow_conf')
+ let g:rainbow_conf = {}
+endif
+if !has_key(g:rainbow_conf, 'guifgs')
+ let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
+endif
+if !has_key(g:rainbow_conf, 'ctermfgs')
+ let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
+endif
+
+let g:niji_dark_colours = g:rbpt_colorpairs
+let g:niji_light_colours = g:rbpt_colorpairs
+
+"}}}
+" GitGutter: {{{
+
+hi! link GitGutterAdd GruvboxGreenSign
+hi! link GitGutterChange GruvboxAquaSign
+hi! link GitGutterDelete GruvboxRedSign
+hi! link GitGutterChangeDelete GruvboxAquaSign
+
+" }}}
+" GitCommit: "{{{
+
+hi! link gitcommitSelectedFile GruvboxGreen
+hi! link gitcommitDiscardedFile GruvboxRed
+
+" }}}
+" Signify: {{{
+
+hi! link SignifySignAdd GruvboxGreenSign
+hi! link SignifySignChange GruvboxAquaSign
+hi! link SignifySignDelete GruvboxRedSign
+
+" }}}
+" Syntastic: {{{
+
+call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
+call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
+
+hi! link SyntasticErrorSign GruvboxRedSign
+hi! link SyntasticWarningSign GruvboxYellowSign
+
+" }}}
+" Signature: {{{
+hi! link SignatureMarkText GruvboxBlueSign
+hi! link SignatureMarkerText GruvboxPurpleSign
+
+" }}}
+" ShowMarks: {{{
+
+hi! link ShowMarksHLl GruvboxBlueSign
+hi! link ShowMarksHLu GruvboxBlueSign
+hi! link ShowMarksHLo GruvboxBlueSign
+hi! link ShowMarksHLm GruvboxBlueSign
+
+" }}}
+" CtrlP: {{{
+
+hi! link CtrlPMatch GruvboxYellow
+hi! link CtrlPNoEntries GruvboxRed
+hi! link CtrlPPrtBase GruvboxBg2
+hi! link CtrlPPrtCursor GruvboxBlue
+hi! link CtrlPLinePre GruvboxBg2
+
+call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
+call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
+call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
+
+" }}}
+" Startify: {{{
+
+hi! link StartifyBracket GruvboxFg3
+hi! link StartifyFile GruvboxFg1
+hi! link StartifyNumber GruvboxBlue
+hi! link StartifyPath GruvboxGray
+hi! link StartifySlash GruvboxGray
+hi! link StartifySection GruvboxYellow
+hi! link StartifySpecial GruvboxBg2
+hi! link StartifyHeader GruvboxOrange
+hi! link StartifyFooter GruvboxBg2
+
+" }}}
+" Vimshell: {{{
+
+let g:vimshell_escape_colors = [
+ \ s:bg4[0], s:red[0], s:green[0], s:yellow[0],
+ \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],
+ \ s:bg0[0], s:red[0], s:green[0], s:orange[0],
+ \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]
+ \ ]
+
+" }}}
+" BufTabLine: {{{
+
+call s:HL('BufTabLineCurrent', s:bg0, s:fg4)
+call s:HL('BufTabLineActive', s:fg4, s:bg2)
+call s:HL('BufTabLineHidden', s:bg4, s:bg1)
+call s:HL('BufTabLineFill', s:bg0, s:bg0)
+
+" }}}
+" Asynchronous Lint Engine: {{{
+
+call s:HL('ALEError', s:none, s:none, s:undercurl, s:red)
+call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow)
+call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue)
+
+hi! link ALEErrorSign GruvboxRedSign
+hi! link ALEWarningSign GruvboxYellowSign
+hi! link ALEInfoSign GruvboxBlueSign
+
+" }}}
+" Dirvish: {{{
+
+hi! link DirvishPathTail GruvboxAqua
+hi! link DirvishArg GruvboxYellow
+
+" }}}
+" Netrw: {{{
+
+hi! link netrwDir GruvboxAqua
+hi! link netrwClassify GruvboxAqua
+hi! link netrwLink GruvboxGray
+hi! link netrwSymLink GruvboxFg1
+hi! link netrwExe GruvboxYellow
+hi! link netrwComment GruvboxGray
+hi! link netrwList GruvboxBlue
+hi! link netrwHelpCmd GruvboxAqua
+hi! link netrwCmdSep GruvboxFg3
+hi! link netrwVersion GruvboxGreen
+
+" }}}
+" NERDTree: {{{
+
+hi! link NERDTreeDir GruvboxAqua
+hi! link NERDTreeDirSlash GruvboxAqua
+
+hi! link NERDTreeOpenable GruvboxOrange
+hi! link NERDTreeClosable GruvboxOrange
+
+hi! link NERDTreeFile GruvboxFg1
+hi! link NERDTreeExecFile GruvboxYellow
+
+hi! link NERDTreeUp GruvboxGray
+hi! link NERDTreeCWD GruvboxGreen
+hi! link NERDTreeHelp GruvboxFg1
+
+hi! link NERDTreeToggleOn GruvboxGreen
+hi! link NERDTreeToggleOff GruvboxRed
+
+" }}}
+" Vim Multiple Cursors: {{{
+
+call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse)
+call s:HL('multiple_cursors_visual', s:none, s:bg2)
+
+" }}}
+" coc.nvim: {{{
+
+hi! link CocErrorSign GruvboxRedSign
+hi! link CocWarningSign GruvboxOrangeSign
+hi! link CocInfoSign GruvboxYellowSign
+hi! link CocHintSign GruvboxBlueSign
+hi! link CocErrorFloat GruvboxRed
+hi! link CocWarningFloat GruvboxOrange
+hi! link CocInfoFloat GruvboxYellow
+hi! link CocHintFloat GruvboxBlue
+hi! link CocDiagnosticsError GruvboxRed
+hi! link CocDiagnosticsWarning GruvboxOrange
+hi! link CocDiagnosticsInfo GruvboxYellow
+hi! link CocDiagnosticsHint GruvboxBlue
+
+hi! link CocSelectedText GruvboxRed
+hi! link CocCodeLens GruvboxGray
+
+call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red)
+call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange)
+call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow)
+call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue)
+
+" }}}
+
+" Filetype specific -----------------------------------------------------------
+" Diff: {{{
+
+hi! link diffAdded GruvboxGreen
+hi! link diffRemoved GruvboxRed
+hi! link diffChanged GruvboxAqua
+
+hi! link diffFile GruvboxOrange
+hi! link diffNewFile GruvboxYellow
+
+hi! link diffLine GruvboxBlue
+
+" }}}
+" Html: {{{
+
+hi! link htmlTag GruvboxBlue
+hi! link htmlEndTag GruvboxBlue
+
+hi! link htmlTagName GruvboxAquaBold
+hi! link htmlArg GruvboxAqua
+
+hi! link htmlScriptTag GruvboxPurple
+hi! link htmlTagN GruvboxFg1
+hi! link htmlSpecialTagName GruvboxAquaBold
+
+call s:HL('htmlLink', s:fg4, s:none, s:underline)
+
+hi! link htmlSpecialChar GruvboxOrange
+
+call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
+call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
+call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)
+call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)
+
+call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)
+call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)
+call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
+
+" }}}
+" Xml: {{{
+
+hi! link xmlTag GruvboxBlue
+hi! link xmlEndTag GruvboxBlue
+hi! link xmlTagName GruvboxBlue
+hi! link xmlEqual GruvboxBlue
+hi! link docbkKeyword GruvboxAquaBold
+
+hi! link xmlDocTypeDecl GruvboxGray
+hi! link xmlDocTypeKeyword GruvboxPurple
+hi! link xmlCdataStart GruvboxGray
+hi! link xmlCdataCdata GruvboxPurple
+hi! link dtdFunction GruvboxGray
+hi! link dtdTagName GruvboxPurple
+
+hi! link xmlAttrib GruvboxAqua
+hi! link xmlProcessingDelim GruvboxGray
+hi! link dtdParamEntityPunct GruvboxGray
+hi! link dtdParamEntityDPunct GruvboxGray
+hi! link xmlAttribPunct GruvboxGray
+
+hi! link xmlEntity GruvboxOrange
+hi! link xmlEntityPunct GruvboxOrange
+" }}}
+" Vim: {{{
+
+call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
+
+hi! link vimNotation GruvboxOrange
+hi! link vimBracket GruvboxOrange
+hi! link vimMapModKey GruvboxOrange
+hi! link vimFuncSID GruvboxFg3
+hi! link vimSetSep GruvboxFg3
+hi! link vimSep GruvboxFg3
+hi! link vimContinue GruvboxFg3
+
+" }}}
+" Clojure: {{{
+
+hi! link clojureKeyword GruvboxBlue
+hi! link clojureCond GruvboxOrange
+hi! link clojureSpecial GruvboxOrange
+hi! link clojureDefine GruvboxOrange
+
+hi! link clojureFunc GruvboxYellow
+hi! link clojureRepeat GruvboxYellow
+hi! link clojureCharacter GruvboxAqua
+hi! link clojureStringEscape GruvboxAqua
+hi! link clojureException GruvboxRed
+
+hi! link clojureRegexp GruvboxAqua
+hi! link clojureRegexpEscape GruvboxAqua
+call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
+hi! link clojureRegexpMod clojureRegexpCharClass
+hi! link clojureRegexpQuantifier clojureRegexpCharClass
+
+hi! link clojureParen GruvboxFg3
+hi! link clojureAnonArg GruvboxYellow
+hi! link clojureVariable GruvboxBlue
+hi! link clojureMacro GruvboxOrange
+
+hi! link clojureMeta GruvboxYellow
+hi! link clojureDeref GruvboxYellow
+hi! link clojureQuote GruvboxYellow
+hi! link clojureUnquote GruvboxYellow
+
+" }}}
+" C: {{{
+
+hi! link cOperator GruvboxPurple
+hi! link cStructure GruvboxOrange
+
+" }}}
+" Python: {{{
+
+hi! link pythonBuiltin GruvboxOrange
+hi! link pythonBuiltinObj GruvboxOrange
+hi! link pythonBuiltinFunc GruvboxOrange
+hi! link pythonFunction GruvboxAqua
+hi! link pythonDecorator GruvboxRed
+hi! link pythonInclude GruvboxBlue
+hi! link pythonImport GruvboxBlue
+hi! link pythonRun GruvboxBlue
+hi! link pythonCoding GruvboxBlue
+hi! link pythonOperator GruvboxRed
+hi! link pythonException GruvboxRed
+hi! link pythonExceptions GruvboxPurple
+hi! link pythonBoolean GruvboxPurple
+hi! link pythonDot GruvboxFg3
+hi! link pythonConditional GruvboxRed
+hi! link pythonRepeat GruvboxRed
+hi! link pythonDottedName GruvboxGreenBold
+
+" }}}
+" CSS: {{{
+
+hi! link cssBraces GruvboxBlue
+hi! link cssFunctionName GruvboxYellow
+hi! link cssIdentifier GruvboxOrange
+hi! link cssClassName GruvboxGreen
+hi! link cssColor GruvboxBlue
+hi! link cssSelectorOp GruvboxBlue
+hi! link cssSelectorOp2 GruvboxBlue
+hi! link cssImportant GruvboxGreen
+hi! link cssVendor GruvboxFg1
+
+hi! link cssTextProp GruvboxAqua
+hi! link cssAnimationProp GruvboxAqua
+hi! link cssUIProp GruvboxYellow
+hi! link cssTransformProp GruvboxAqua
+hi! link cssTransitionProp GruvboxAqua
+hi! link cssPrintProp GruvboxAqua
+hi! link cssPositioningProp GruvboxYellow
+hi! link cssBoxProp GruvboxAqua
+hi! link cssFontDescriptorProp GruvboxAqua
+hi! link cssFlexibleBoxProp GruvboxAqua
+hi! link cssBorderOutlineProp GruvboxAqua
+hi! link cssBackgroundProp GruvboxAqua
+hi! link cssMarginProp GruvboxAqua
+hi! link cssListProp GruvboxAqua
+hi! link cssTableProp GruvboxAqua
+hi! link cssFontProp GruvboxAqua
+hi! link cssPaddingProp GruvboxAqua
+hi! link cssDimensionProp GruvboxAqua
+hi! link cssRenderProp GruvboxAqua
+hi! link cssColorProp GruvboxAqua
+hi! link cssGeneratedContentProp GruvboxAqua
+
+" }}}
+" JavaScript: {{{
+
+hi! link javaScriptBraces GruvboxFg1
+hi! link javaScriptFunction GruvboxAqua
+hi! link javaScriptIdentifier GruvboxRed
+hi! link javaScriptMember GruvboxBlue
+hi! link javaScriptNumber GruvboxPurple
+hi! link javaScriptNull GruvboxPurple
+hi! link javaScriptParens GruvboxFg3
+
+" }}}
+" YAJS: {{{
+
+hi! link javascriptImport GruvboxAqua
+hi! link javascriptExport GruvboxAqua
+hi! link javascriptClassKeyword GruvboxAqua
+hi! link javascriptClassExtends GruvboxAqua
+hi! link javascriptDefault GruvboxAqua
+
+hi! link javascriptClassName GruvboxYellow
+hi! link javascriptClassSuperName GruvboxYellow
+hi! link javascriptGlobal GruvboxYellow
+
+hi! link javascriptEndColons GruvboxFg1
+hi! link javascriptFuncArg GruvboxFg1
+hi! link javascriptGlobalMethod GruvboxFg1
+hi! link javascriptNodeGlobal GruvboxFg1
+hi! link javascriptBOMWindowProp GruvboxFg1
+hi! link javascriptArrayMethod GruvboxFg1
+hi! link javascriptArrayStaticMethod GruvboxFg1
+hi! link javascriptCacheMethod GruvboxFg1
+hi! link javascriptDateMethod GruvboxFg1
+hi! link javascriptMathStaticMethod GruvboxFg1
+
+" hi! link javascriptProp GruvboxFg1
+hi! link javascriptURLUtilsProp GruvboxFg1
+hi! link javascriptBOMNavigatorProp GruvboxFg1
+hi! link javascriptDOMDocMethod GruvboxFg1
+hi! link javascriptDOMDocProp GruvboxFg1
+hi! link javascriptBOMLocationMethod GruvboxFg1
+hi! link javascriptBOMWindowMethod GruvboxFg1
+hi! link javascriptStringMethod GruvboxFg1
+
+hi! link javascriptVariable GruvboxOrange
+" hi! link javascriptVariable GruvboxRed
+" hi! link javascriptIdentifier GruvboxOrange
+" hi! link javascriptClassSuper GruvboxOrange
+hi! link javascriptIdentifier GruvboxOrange
+hi! link javascriptClassSuper GruvboxOrange
+
+" hi! link javascriptFuncKeyword GruvboxOrange
+" hi! link javascriptAsyncFunc GruvboxOrange
+hi! link javascriptFuncKeyword GruvboxAqua
+hi! link javascriptAsyncFunc GruvboxAqua
+hi! link javascriptClassStatic GruvboxOrange
+
+hi! link javascriptOperator GruvboxRed
+hi! link javascriptForOperator GruvboxRed
+hi! link javascriptYield GruvboxRed
+hi! link javascriptExceptions GruvboxRed
+hi! link javascriptMessage GruvboxRed
+
+hi! link javascriptTemplateSB GruvboxAqua
+hi! link javascriptTemplateSubstitution GruvboxFg1
+
+" hi! link javascriptLabel GruvboxBlue
+" hi! link javascriptObjectLabel GruvboxBlue
+" hi! link javascriptPropertyName GruvboxBlue
+hi! link javascriptLabel GruvboxFg1
+hi! link javascriptObjectLabel GruvboxFg1
+hi! link javascriptPropertyName GruvboxFg1
+
+hi! link javascriptLogicSymbols GruvboxFg1
+hi! link javascriptArrowFunc GruvboxYellow
+
+hi! link javascriptDocParamName GruvboxFg4
+hi! link javascriptDocTags GruvboxFg4
+hi! link javascriptDocNotation GruvboxFg4
+hi! link javascriptDocParamType GruvboxFg4
+hi! link javascriptDocNamedParamType GruvboxFg4
+
+hi! link javascriptBrackets GruvboxFg1
+hi! link javascriptDOMElemAttrs GruvboxFg1
+hi! link javascriptDOMEventMethod GruvboxFg1
+hi! link javascriptDOMNodeMethod GruvboxFg1
+hi! link javascriptDOMStorageMethod GruvboxFg1
+hi! link javascriptHeadersMethod GruvboxFg1
+
+hi! link javascriptAsyncFuncKeyword GruvboxRed
+hi! link javascriptAwaitFuncKeyword GruvboxRed
+
+" }}}
+" PanglossJS: {{{
+
+hi! link jsClassKeyword GruvboxAqua
+hi! link jsExtendsKeyword GruvboxAqua
+hi! link jsExportDefault GruvboxAqua
+hi! link jsTemplateBraces GruvboxAqua
+hi! link jsGlobalNodeObjects GruvboxFg1
+hi! link jsGlobalObjects GruvboxFg1
+hi! link jsFunction GruvboxAqua
+hi! link jsFuncParens GruvboxFg3
+hi! link jsParens GruvboxFg3
+hi! link jsNull GruvboxPurple
+hi! link jsUndefined GruvboxPurple
+hi! link jsClassDefinition GruvboxYellow
+
+" }}}
+" TypeScript: {{{
+
+hi! link typeScriptReserved GruvboxAqua
+hi! link typeScriptLabel GruvboxAqua
+hi! link typeScriptFuncKeyword GruvboxAqua
+hi! link typeScriptIdentifier GruvboxOrange
+hi! link typeScriptBraces GruvboxFg1
+hi! link typeScriptEndColons GruvboxFg1
+hi! link typeScriptDOMObjects GruvboxFg1
+hi! link typeScriptAjaxMethods GruvboxFg1
+hi! link typeScriptLogicSymbols GruvboxFg1
+hi! link typeScriptDocSeeTag Comment
+hi! link typeScriptDocParam Comment
+hi! link typeScriptDocTags vimCommentTitle
+hi! link typeScriptGlobalObjects GruvboxFg1
+hi! link typeScriptParens GruvboxFg3
+hi! link typeScriptOpSymbols GruvboxFg3
+hi! link typeScriptHtmlElemProperties GruvboxFg1
+hi! link typeScriptNull GruvboxPurple
+hi! link typeScriptInterpolationDelimiter GruvboxAqua
+
+" }}}
+" PureScript: {{{
+
+hi! link purescriptModuleKeyword GruvboxAqua
+hi! link purescriptModuleName GruvboxFg1
+hi! link purescriptWhere GruvboxAqua
+hi! link purescriptDelimiter GruvboxFg4
+hi! link purescriptType GruvboxFg1
+hi! link purescriptImportKeyword GruvboxAqua
+hi! link purescriptHidingKeyword GruvboxAqua
+hi! link purescriptAsKeyword GruvboxAqua
+hi! link purescriptStructure GruvboxAqua
+hi! link purescriptOperator GruvboxBlue
+
+hi! link purescriptTypeVar GruvboxFg1
+hi! link purescriptConstructor GruvboxFg1
+hi! link purescriptFunction GruvboxFg1
+hi! link purescriptConditional GruvboxOrange
+hi! link purescriptBacktick GruvboxOrange
+
+" }}}
+" CoffeeScript: {{{
+
+hi! link coffeeExtendedOp GruvboxFg3
+hi! link coffeeSpecialOp GruvboxFg3
+hi! link coffeeCurly GruvboxOrange
+hi! link coffeeParen GruvboxFg3
+hi! link coffeeBracket GruvboxOrange
+
+" }}}
+" Ruby: {{{
+
+hi! link rubyStringDelimiter GruvboxGreen
+hi! link rubyInterpolationDelimiter GruvboxAqua
+
+" }}}
+" ObjectiveC: {{{
+
+hi! link objcTypeModifier GruvboxRed
+hi! link objcDirective GruvboxBlue
+
+" }}}
+" Go: {{{
+
+hi! link goDirective GruvboxAqua
+hi! link goConstants GruvboxPurple
+hi! link goDeclaration GruvboxRed
+hi! link goDeclType GruvboxBlue
+hi! link goBuiltins GruvboxOrange
+
+" }}}
+" Lua: {{{
+
+hi! link luaIn GruvboxRed
+hi! link luaFunction GruvboxAqua
+hi! link luaTable GruvboxOrange
+
+" }}}
+" MoonScript: {{{
+
+hi! link moonSpecialOp GruvboxFg3
+hi! link moonExtendedOp GruvboxFg3
+hi! link moonFunction GruvboxFg3
+hi! link moonObject GruvboxYellow
+
+" }}}
+" Java: {{{
+
+hi! link javaAnnotation GruvboxBlue
+hi! link javaDocTags GruvboxAqua
+hi! link javaCommentTitle vimCommentTitle
+hi! link javaParen GruvboxFg3
+hi! link javaParen1 GruvboxFg3
+hi! link javaParen2 GruvboxFg3
+hi! link javaParen3 GruvboxFg3
+hi! link javaParen4 GruvboxFg3
+hi! link javaParen5 GruvboxFg3
+hi! link javaOperator GruvboxOrange
+
+hi! link javaVarArg GruvboxGreen
+
+" }}}
+" Elixir: {{{
+
+hi! link elixirDocString Comment
+
+hi! link elixirStringDelimiter GruvboxGreen
+hi! link elixirInterpolationDelimiter GruvboxAqua
+
+hi! link elixirModuleDeclaration GruvboxYellow
+
+" }}}
+" Scala: {{{
+
+" NB: scala vim syntax file is kinda horrible
+hi! link scalaNameDefinition GruvboxFg1
+hi! link scalaCaseFollowing GruvboxFg1
+hi! link scalaCapitalWord GruvboxFg1
+hi! link scalaTypeExtension GruvboxFg1
+
+hi! link scalaKeyword GruvboxRed
+hi! link scalaKeywordModifier GruvboxRed
+
+hi! link scalaSpecial GruvboxAqua
+hi! link scalaOperator GruvboxFg1
+
+hi! link scalaTypeDeclaration GruvboxYellow
+hi! link scalaTypeTypePostDeclaration GruvboxYellow
+
+hi! link scalaInstanceDeclaration GruvboxFg1
+hi! link scalaInterpolation GruvboxAqua
+
+" }}}
+" Markdown: {{{
+
+call s:HL('markdownItalic', s:fg3, s:none, s:italic)
+
+hi! link markdownH1 GruvboxGreenBold
+hi! link markdownH2 GruvboxGreenBold
+hi! link markdownH3 GruvboxYellowBold
+hi! link markdownH4 GruvboxYellowBold
+hi! link markdownH5 GruvboxYellow
+hi! link markdownH6 GruvboxYellow
+
+hi! link markdownCode GruvboxAqua
+hi! link markdownCodeBlock GruvboxAqua
+hi! link markdownCodeDelimiter GruvboxAqua
+
+hi! link markdownBlockquote GruvboxGray
+hi! link markdownListMarker GruvboxGray
+hi! link markdownOrderedListMarker GruvboxGray
+hi! link markdownRule GruvboxGray
+hi! link markdownHeadingRule GruvboxGray
+
+hi! link markdownUrlDelimiter GruvboxFg3
+hi! link markdownLinkDelimiter GruvboxFg3
+hi! link markdownLinkTextDelimiter GruvboxFg3
+
+hi! link markdownHeadingDelimiter GruvboxOrange
+hi! link markdownUrl GruvboxPurple
+hi! link markdownUrlTitleDelimiter GruvboxGreen
+
+call s:HL('markdownLinkText', s:gray, s:none, s:underline)
+hi! link markdownIdDeclaration markdownLinkText
+
+" }}}
+" Haskell: {{{
+
+" hi! link haskellType GruvboxYellow
+" hi! link haskellOperators GruvboxOrange
+" hi! link haskellConditional GruvboxAqua
+" hi! link haskellLet GruvboxOrange
+"
+hi! link haskellType GruvboxFg1
+hi! link haskellIdentifier GruvboxFg1
+hi! link haskellSeparator GruvboxFg1
+hi! link haskellDelimiter GruvboxFg4
+hi! link haskellOperators GruvboxBlue
+"
+hi! link haskellBacktick GruvboxOrange
+hi! link haskellStatement GruvboxOrange
+hi! link haskellConditional GruvboxOrange
+
+hi! link haskellLet GruvboxAqua
+hi! link haskellDefault GruvboxAqua
+hi! link haskellWhere GruvboxAqua
+hi! link haskellBottom GruvboxAqua
+hi! link haskellBlockKeywords GruvboxAqua
+hi! link haskellImportKeywords GruvboxAqua
+hi! link haskellDeclKeyword GruvboxAqua
+hi! link haskellDeriving GruvboxAqua
+hi! link haskellAssocType GruvboxAqua
+
+hi! link haskellNumber GruvboxPurple
+hi! link haskellPragma GruvboxPurple
+
+hi! link haskellString GruvboxGreen
+hi! link haskellChar GruvboxGreen
+
+" }}}
+" Json: {{{
+
+hi! link jsonKeyword GruvboxGreen
+hi! link jsonQuote GruvboxGreen
+hi! link jsonBraces GruvboxFg1
+hi! link jsonString GruvboxFg1
+
+" }}}
+
+
+" Functions -------------------------------------------------------------------
+" Search Highlighting Cursor {{{
+
+function! GruvboxHlsShowCursor()
+ call s:HL('Cursor', s:bg0, s:hls_cursor)
+endfunction
+
+function! GruvboxHlsHideCursor()
+ call s:HL('Cursor', s:none, s:none, s:inverse)
+endfunction
+
+" }}}
+
+" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
diff --git a/private_dot_config/nvim/colors/miramare.vim b/private_dot_config/nvim/colors/miramare.vim
new file mode 100644
index 0000000..9fef3a7
--- /dev/null
+++ b/private_dot_config/nvim/colors/miramare.vim
@@ -0,0 +1,1753 @@
+" -----------------------------------------------------------------------------
+" Name: Miramare
+" Description: Comfortable & Pleasant Color Scheme for Vim
+" Author: Francisco Bach <franciscobach@gmail.com>
+" Website: https://github.com/franbach/miramare
+" License: MIT
+" -----------------------------------------------------------------------------
+
+" Initialization: {{{
+highlight clear
+if exists('syntax_on')
+ syntax reset
+endif
+set background=dark
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2
+
+let g:colors_name = 'miramare'
+" }}}
+" Configuration: {{{
+let s:configuration = {}
+let s:configuration.palette = get(g:, 'miramare_palette', 'soft')
+let s:configuration.transparent_background = get(g:, 'miramare_transparent_background', 0)
+let s:configuration.disable_italic_comment = get(g:, 'miramare_disable_italic_comment', 0)
+let s:configuration.enable_italic = get(g:, 'miramare_enable_italic', 0)
+let s:configuration.cursor = get(g:, 'miramare_cursor', 'auto')
+let s:configuration.current_word = get(g:, 'miramare_current_word', get(g:, 'miramare_transparent_background', 0) == 0 ? 'grey background' : 'bold')
+" }}}
+" Palette: {{{
+let s:palette = {
+ \ 'bg0': ['#2A2426', '235', 'Black'],
+ \ 'bg1': ['#242021', '236', 'DarkGrey'],
+ \ 'bg2': ['#242021', '237', 'DarkGrey'],
+ \ 'bg3': ['#242021', '238', 'DarkGrey'],
+ \ 'bg4': ['#242021', '239', 'Grey'],
+ \ 'bg_red': ['#392f32', '52', 'DarkRed'],
+ \ 'bg_green': ['#333b2f', '22', 'DarkGreen'],
+ \ 'bg_blue': ['#203a41', '17', 'DarkBlue'],
+ \ 'fg': ['#e6d6ac', '223', 'White'],
+ \ 'red': ['#e68183', '167', 'Red'],
+ \ 'orange': ['#fabd2f', '208', 'Red'],
+ \ 'yellow': ['#d9bb80', '214', 'Yellow'],
+ \ 'green': ['#a7c080', '142', 'Green'],
+ \ 'cyan': ['#87c095', '108', 'Cyan'],
+ \ 'blue': ['#89beba', '109', 'Blue'],
+ \ 'purple': ['#d3a0bc', '175', 'Magenta'],
+ \ 'grey': ['#444444', '245', 'LightGrey'],
+ \ 'none': ['NONE', 'NONE', 'NONE']
+ \ }
+" }}}
+" Function: {{{
+" call s:HL(group, foreground, background)
+" call s:HL(group, foreground, background, gui, guisp)
+"
+" E.g.:
+" call s:HL('Normal', s:palette.fg, s:palette.bg0)
+
+if (has('termguicolors') && &termguicolors) || has('gui_running') " guifg guibg gui cterm guisp
+ function! s:HL(group, fg, bg, ...)
+ let hl_string = [
+ \ 'highlight', a:group,
+ \ 'guifg=' . a:fg[0],
+ \ 'guibg=' . a:bg[0],
+ \ ]
+ if a:0 >= 1
+ if a:1 ==# 'undercurl'
+ call add(hl_string, 'gui=undercurl')
+ call add(hl_string, 'cterm=underline')
+ else
+ call add(hl_string, 'gui=' . a:1)
+ call add(hl_string, 'cterm=' . a:1)
+ endif
+ else
+ call add(hl_string, 'gui=NONE')
+ call add(hl_string, 'cterm=NONE')
+ endif
+ if a:0 >= 2
+ call add(hl_string, 'guisp=' . a:2[0])
+ endif
+ execute join(hl_string, ' ')
+ endfunction
+elseif s:t_Co >= 256 " ctermfg ctermbg cterm
+ function! s:HL(group, fg, bg, ...)
+ let hl_string = [
+ \ 'highlight', a:group,
+ \ 'ctermfg=' . a:fg[1],
+ \ 'ctermbg=' . a:bg[1],
+ \ ]
+ if a:0 >= 1
+ if a:1 ==# 'undercurl'
+ call add(hl_string, 'cterm=underline')
+ else
+ call add(hl_string, 'cterm=' . a:1)
+ endif
+ else
+ call add(hl_string, 'cterm=NONE')
+ endif
+ execute join(hl_string, ' ')
+ endfunction
+else " ctermfg ctermbg cterm
+ function! s:HL(group, fg, bg, ...)
+ let hl_string = [
+ \ 'highlight', a:group,
+ \ 'ctermfg=' . a:fg[2],
+ \ 'ctermbg=' . a:bg[2],
+ \ ]
+ if a:0 >= 1
+ if a:1 ==# 'undercurl'
+ call add(hl_string, 'cterm=underline')
+ else
+ call add(hl_string, 'cterm=' . a:1)
+ endif
+ else
+ call add(hl_string, 'cterm=NONE')
+ endif
+ execute join(hl_string, ' ')
+ endfunction
+endif
+" }}}
+
+" Common Highlight Groups: {{{
+" UI: {{{
+if s:configuration.transparent_background
+ call s:HL('Normal', s:palette.fg, s:palette.none)
+ call s:HL('Terminal', s:palette.fg, s:palette.none)
+ call s:HL('EndOfBuffer', s:palette.bg0, s:palette.none)
+ call s:HL('FoldColumn', s:palette.grey, s:palette.none)
+ call s:HL('Folded', s:palette.grey, s:palette.none)
+ call s:HL('SignColumn', s:palette.fg, s:palette.none)
+else
+ call s:HL('Normal', s:palette.fg, s:palette.bg0)
+ call s:HL('Terminal', s:palette.fg, s:palette.bg0)
+ call s:HL('EndOfBuffer', s:palette.bg0, s:palette.bg0)
+ call s:HL('FoldColumn', s:palette.grey, s:palette.bg1)
+ call s:HL('Folded', s:palette.grey, s:palette.bg1)
+ call s:HL('SignColumn', s:palette.fg, s:palette.bg1)
+endif
+call s:HL('ColorColumn', s:palette.none, s:palette.bg1)
+call s:HL('Conceal', s:palette.grey, s:palette.none)
+if s:configuration.cursor ==# 'auto'
+ call s:HL('Cursor', s:palette.none, s:palette.none, 'reverse')
+ call s:HL('lCursor', s:palette.none, s:palette.none, 'reverse')
+elseif s:configuration.cursor ==# 'red'
+ call s:HL('Cursor', s:palette.bg0, s:palette.red)
+ call s:HL('lCursor', s:palette.bg0, s:palette.red)
+elseif s:configuration.cursor ==# 'green'
+ call s:HL('Cursor', s:palette.bg0, s:palette.green)
+ call s:HL('lCursor', s:palette.bg0, s:palette.green)
+elseif s:configuration.cursor ==# 'blue'
+ call s:HL('Cursor', s:palette.bg0, s:palette.blue)
+ call s:HL('lCursor', s:palette.bg0, s:palette.blue)
+elseif s:configuration.cursor ==# 'purple'
+ call s:HL('Cursor', s:palette.bg0, s:palette.purple)
+ call s:HL('lCursor', s:palette.bg0, s:palette.purple)
+endif
+call s:HL('CursorColumn', s:palette.none, s:palette.bg1)
+call s:HL('CursorLine', s:palette.none, s:palette.bg1)
+call s:HL('LineNr', s:palette.grey, s:palette.none)
+if &relativenumber == 1 && &cursorline == 0
+ call s:HL('CursorLineNr', s:palette.yellow, s:palette.none)
+else
+ call s:HL('CursorLineNr', s:palette.yellow, s:palette.none)
+endif
+call s:HL('DiffAdd', s:palette.none, s:palette.bg_green)
+call s:HL('DiffChange', s:palette.none, s:palette.bg_blue)
+call s:HL('DiffDelete', s:palette.none, s:palette.bg_red)
+call s:HL('DiffText', s:palette.none, s:palette.bg0, 'reverse')
+call s:HL('Directory', s:palette.green, s:palette.none)
+call s:HL('ErrorMsg', s:palette.red, s:palette.none, 'bold,underline')
+call s:HL('WarningMsg', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('ModeMsg', s:palette.fg, s:palette.none, 'bold')
+call s:HL('MoreMsg', s:palette.blue, s:palette.none, 'bold')
+call s:HL('IncSearch', s:palette.none, s:palette.none, 'reverse')
+call s:HL('Search', s:palette.none, s:palette.bg3)
+call s:HL('MatchParen', s:palette.none, s:palette.bg4)
+call s:HL('NonText', s:palette.grey, s:palette.none)
+call s:HL('Pmenu', s:palette.fg, s:palette.bg2)
+call s:HL('PmenuSbar', s:palette.none, s:palette.bg2)
+call s:HL('PmenuThumb', s:palette.none, s:palette.grey)
+call s:HL('PmenuSel', s:palette.bg0, s:palette.fg)
+call s:HL('WildMenu', s:palette.bg0, s:palette.fg)
+call s:HL('Question', s:palette.yellow, s:palette.none)
+call s:HL('SpellBad', s:palette.red, s:palette.none, 'undercurl', s:palette.red)
+call s:HL('SpellCap', s:palette.yellow, s:palette.none, 'undercurl', s:palette.yellow)
+call s:HL('SpellLocal', s:palette.blue, s:palette.none, 'undercurl', s:palette.blue)
+call s:HL('SpellRare', s:palette.purple, s:palette.none, 'undercurl', s:palette.purple)
+call s:HL('StatusLine', s:palette.fg, s:palette.bg3)
+call s:HL('StatusLineTerm', s:palette.fg, s:palette.bg3)
+call s:HL('StatusLineNC', s:palette.grey, s:palette.bg1)
+call s:HL('StatusLineTermNC', s:palette.grey, s:palette.bg1)
+call s:HL('TabLine', s:palette.fg, s:palette.bg4)
+call s:HL('TabLineFill', s:palette.grey, s:palette.bg1)
+call s:HL('TabLineSel', s:palette.bg0, s:palette.green)
+call s:HL('VertSplit', s:palette.bg4, s:palette.none)
+call s:HL('Visual', s:palette.none, s:palette.bg3)
+call s:HL('VisualNOS', s:palette.none, s:palette.bg3, 'underline')
+call s:HL('CursorIM', s:palette.none, s:palette.fg)
+call s:HL('ToolbarLine', s:palette.none, s:palette.grey)
+call s:HL('ToolbarButton', s:palette.fg, s:palette.bg0, 'bold')
+call s:HL('QuickFixLine', s:palette.blue, s:palette.bg1)
+call s:HL('Debug', s:palette.yellow, s:palette.none)
+" }}}
+" Syntax: {{{
+call s:HL('Boolean', s:palette.purple, s:palette.none)
+call s:HL('Number', s:palette.purple, s:palette.none)
+call s:HL('Float', s:palette.purple, s:palette.none)
+if s:configuration.enable_italic
+ call s:HL('PreProc', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('PreCondit', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('Include', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('Define', s:palette.purple, s:palette.none, 'italic')
+ call s:HL('Conditional', s:palette.red, s:palette.none, 'bold,italic')
+ call s:HL('Repeat', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Keyword', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Typedef', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Exception', s:palette.red, s:palette.none, 'italic')
+ call s:HL('Statement', s:palette.red, s:palette.none, 'italic')
+else
+ call s:HL('PreProc', s:palette.purple, s:palette.none)
+ call s:HL('PreCondit', s:palette.purple, s:palette.none)
+ call s:HL('Include', s:palette.purple, s:palette.none)
+ call s:HL('Define', s:palette.purple, s:palette.none)
+ call s:HL('Conditional', s:palette.red, s:palette.none)
+ call s:HL('Repeat', s:palette.red, s:palette.none)
+ call s:HL('Keyword', s:palette.red, s:palette.none)
+ call s:HL('Typedef', s:palette.red, s:palette.none)
+ call s:HL('Exception', s:palette.red, s:palette.none)
+ call s:HL('Statement', s:palette.red, s:palette.none)
+endif
+call s:HL('Error', s:palette.red, s:palette.none)
+call s:HL('StorageClass', s:palette.orange, s:palette.none, 'bold')
+call s:HL('Tag', s:palette.orange, s:palette.none)
+call s:HL('Label', s:palette.orange, s:palette.none)
+call s:HL('Structure', s:palette.orange, s:palette.none)
+call s:HL('Operator', s:palette.orange, s:palette.none)
+call s:HL('Title', s:palette.orange, s:palette.none, 'bold')
+call s:HL('Special', s:palette.yellow, s:palette.none)
+call s:HL('SpecialChar', s:palette.yellow, s:palette.none)
+call s:HL('Type', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('Function', s:palette.green, s:palette.none, 'bold')
+call s:HL('String', s:palette.green, s:palette.none)
+call s:HL('Character', s:palette.green, s:palette.none)
+call s:HL('Constant', s:palette.cyan, s:palette.none, 'bold')
+call s:HL('Macro', s:palette.cyan, s:palette.none)
+call s:HL('Identifier', s:palette.blue, s:palette.none)
+call s:HL('SpecialKey', s:palette.blue, s:palette.none)
+if s:configuration.disable_italic_comment
+ call s:HL('Comment', s:palette.grey, s:palette.none)
+ call s:HL('SpecialComment', s:palette.grey, s:palette.none)
+ call s:HL('Todo', s:palette.purple, s:palette.none)
+else
+ call s:HL('Comment', s:palette.grey, s:palette.none, 'italic')
+ call s:HL('SpecialComment', s:palette.grey, s:palette.none, 'italic')
+ call s:HL('Todo', s:palette.purple, s:palette.none, 'italic')
+endif
+call s:HL('Delimiter', s:palette.fg, s:palette.none)
+call s:HL('Ignore', s:palette.grey, s:palette.none)
+call s:HL('Underlined', s:palette.none, s:palette.none, 'underline')
+" }}}
+" Predefined Highlight Groups: {{{
+call s:HL('Fg', s:palette.fg, s:palette.none)
+call s:HL('Grey', s:palette.grey, s:palette.none)
+call s:HL('Yellow', s:palette.yellow, s:palette.none)
+call s:HL('Blue', s:palette.blue, s:palette.none)
+if s:configuration.enable_italic
+ call s:HL('RedItalic', s:palette.red, s:palette.none, 'italic')
+ call s:HL('OrangeItalic', s:palette.orange, s:palette.none, 'italic')
+ call s:HL('PurpleItalic', s:palette.purple, s:palette.none, 'italic')
+else
+ call s:HL('RedItalic', s:palette.red, s:palette.none)
+ call s:HL('OrangeItalic', s:palette.orange, s:palette.none)
+ call s:HL('PurpleItalic', s:palette.purple, s:palette.none)
+endif
+call s:HL('Red', s:palette.red, s:palette.none)
+call s:HL('Orange', s:palette.orange, s:palette.none)
+call s:HL('Purple', s:palette.purple, s:palette.none)
+call s:HL('Green', s:palette.green, s:palette.none)
+call s:HL('Cyan', s:palette.cyan, s:palette.none)
+if s:configuration.transparent_background
+ call s:HL('RedSign', s:palette.red, s:palette.none)
+ call s:HL('OrangeSign', s:palette.orange, s:palette.none)
+ call s:HL('YellowSign', s:palette.yellow, s:palette.none)
+ call s:HL('GreenSign', s:palette.green, s:palette.none)
+ call s:HL('CyanSign', s:palette.cyan, s:palette.none)
+ call s:HL('BlueSign', s:palette.blue, s:palette.none)
+ call s:HL('PurpleSign', s:palette.purple, s:palette.none)
+else
+ call s:HL('RedSign', s:palette.red, s:palette.bg1)
+ call s:HL('OrangeSign', s:palette.orange, s:palette.bg1)
+ call s:HL('YellowSign', s:palette.yellow, s:palette.bg1)
+ call s:HL('GreenSign', s:palette.green, s:palette.bg1)
+ call s:HL('CyanSign', s:palette.cyan, s:palette.bg1)
+ call s:HL('BlueSign', s:palette.blue, s:palette.bg1)
+ call s:HL('PurpleSign', s:palette.purple, s:palette.bg1)
+endif
+" }}}
+" }}}
+" Extended File Types: {{{
+" Markdown: {{{
+" builtin: {{{
+call s:HL('markdownH1', s:palette.red, s:palette.none, 'bold')
+call s:HL('markdownH2', s:palette.orange, s:palette.none, 'bold')
+call s:HL('markdownH3', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('markdownH4', s:palette.green, s:palette.none, 'bold')
+call s:HL('markdownH5', s:palette.blue, s:palette.none, 'bold')
+call s:HL('markdownH6', s:palette.purple, s:palette.none, 'bold')
+call s:HL('markdownUrl', s:palette.blue, s:palette.none, 'underline')
+call s:HL('markdownItalic', s:palette.none, s:palette.none, 'italic')
+call s:HL('markdownBold', s:palette.none, s:palette.none, 'bold')
+call s:HL('markdownItalicDelimiter', s:palette.grey, s:palette.none, 'italic')
+highlight! link markdownCode Green
+highlight! link markdownCodeBlock Cyan
+highlight! link markdownCodeDelimiter Cyan
+highlight! link markdownBlockquote Grey
+highlight! link markdownListMarker Red
+highlight! link markdownOrderedListMarker Red
+highlight! link markdownRule Purple
+highlight! link markdownHeadingRule Grey
+highlight! link markdownUrlDelimiter Grey
+highlight! link markdownLinkDelimiter Grey
+highlight! link markdownLinkTextDelimiter Grey
+highlight! link markdownHeadingDelimiter Grey
+highlight! link markdownLinkText Purple
+highlight! link markdownUrlTitleDelimiter Green
+highlight! link markdownIdDeclaration markdownLinkText
+highlight! link markdownBoldDelimiter Grey
+highlight! link markdownId Yellow
+" }}}
+" vim-markdown: https://github.com/gabrielelana/vim-markdown{{{
+call s:HL('mkdURL', s:palette.blue, s:palette.none, 'underline')
+call s:HL('mkdInlineURL', s:palette.purple, s:palette.none, 'underline')
+call s:HL('mkdItalic', s:palette.grey, s:palette.none, 'italic')
+highlight! link mkdCodeDelimiter Cyan
+highlight! link mkdBold Grey
+highlight! link mkdLink Purple
+highlight! link mkdHeading Grey
+highlight! link mkdListItem Red
+highlight! link mkdRule Purple
+highlight! link mkdDelimiter Grey
+highlight! link mkdId Yellow
+" }}}
+" }}}
+" ReStructuredText: {{{
+" builtin: https://github.com/marshallward/vim-restructuredtext{{{
+call s:HL('rstStandaloneHyperlink', s:palette.purple, s:palette.none, 'underline')
+highlight! link rstSubstitutionReference Blue
+highlight! link rstInterpretedTextOrHyperlinkReference Cyan
+highlight! link rstTableLines Grey
+" }}}
+" }}}
+" LaTex: {{{
+" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX{{{
+highlight! link texStatement Green
+highlight! link texOnlyMath Grey
+highlight! link texDefName Yellow
+highlight! link texNewCmd Orange
+highlight! link texCmdName Blue
+highlight! link texBeginEnd Red
+highlight! link texBeginEndName Blue
+highlight! link texDocType Purple
+highlight! link texDocTypeArgs Orange
+" }}}
+" }}}
+" Html: {{{
+" builtin: https://notabug.org/jorgesumle/vim-html-syntax{{{
+call s:HL('htmlH1', s:palette.red, s:palette.none, 'bold')
+call s:HL('htmlH2', s:palette.orange, s:palette.none, 'bold')
+call s:HL('htmlH3', s:palette.yellow, s:palette.none, 'bold')
+call s:HL('htmlH4', s:palette.green, s:palette.none, 'bold')
+call s:HL('htmlH5', s:palette.blue, s:palette.none, 'bold')
+call s:HL('htmlH6', s:palette.purple, s:palette.none, 'bold')
+call s:HL('htmlLink', s:palette.none, s:palette.none, 'underline')
+call s:HL('htmlBold', s:palette.none, s:palette.none, 'bold')
+call s:HL('htmlBoldUnderline', s:palette.none, s:palette.none, 'bold,underline')
+call s:HL('htmlBoldItalic', s:palette.none, s:palette.none, 'bold,italic')
+call s:HL('htmlBoldUnderlineItalic', s:palette.none, s:palette.none, 'bold,underline,italic')
+call s:HL('htmlUnderline', s:palette.none, s:palette.none, 'underline')
+call s:HL('htmlUnderlineItalic', s:palette.none, s:palette.none, 'underline,italic')
+call s:HL('htmlItalic', s:palette.none, s:palette.none, 'italic')
+highlight! link htmlTag Green
+highlight! link htmlEndTag Blue
+highlight! link htmlTagN OrangeItalic
+highlight! link htmlTagName OrangeItalic
+highlight! link htmlArg Cyan
+highlight! link htmlScriptTag Purple
+highlight! link htmlSpecialTagName RedItalic
+" }}}
+" }}}
+" Xml: {{{
+" builtin: https://github.com/chrisbra/vim-xml-ftplugin{{{
+highlight! link xmlTag Green
+highlight! link xmlEndTag Blue
+highlight! link xmlTagName OrangeItalic
+highlight! link xmlEqual Orange
+highlight! link xmlAttrib Cyan
+highlight! link xmlEntity Red
+highlight! link xmlEntityPunct Red
+highlight! link xmlDocTypeDecl Grey
+highlight! link xmlDocTypeKeyword PurpleItalic
+highlight! link xmlCdataStart Grey
+highlight! link xmlCdataCdata Purple
+" }}}
+" }}}
+" CSS: {{{
+" builtin: https://github.com/JulesWang/css.vim{{{
+highlight! link cssAttrComma Fg
+highlight! link cssBraces Fg
+highlight! link cssTagName PurpleItalic
+highlight! link cssClassNameDot Red
+highlight! link cssClassName RedItalic
+highlight! link cssFunctionName Yellow
+highlight! link cssAttr Orange
+highlight! link cssProp Cyan
+highlight! link cssCommonAttr Yellow
+highlight! link cssPseudoClassId Blue
+highlight! link cssPseudoClassFn Green
+highlight! link cssPseudoClass Purple
+highlight! link cssImportant RedItalic
+highlight! link cssSelectorOp Orange
+highlight! link cssSelectorOp2 Orange
+highlight! link cssColor Green
+highlight! link cssAttributeSelector Cyan
+highlight! link cssUnitDecorators Orange
+highlight! link cssValueLength Green
+highlight! link cssValueInteger Green
+highlight! link cssValueNumber Green
+highlight! link cssValueAngle Green
+highlight! link cssValueTime Green
+highlight! link cssValueFrequency Green
+highlight! link cssVendor Grey
+highlight! link cssNoise Grey
+" }}}
+" }}}
+" SASS: {{{
+" builtin: {{{
+highlight! link sassProperty Cyan
+highlight! link sassAmpersand Orange
+highlight! link sassClass RedItalic
+highlight! link sassClassChar Red
+highlight! link sassMixing PurpleItalic
+highlight! link sassMixinName Orange
+highlight! link sassCssAttribute Yellow
+highlight! link sassInterpolationDelimiter Green
+highlight! link sassFunction Yellow
+highlight! link sassControl RedItalic
+highlight! link sassFor RedItalic
+highlight! link sassFunctionName Green
+" }}}
+" scss-syntax: https://github.com/cakebaker/scss-syntax.vim{{{
+highlight! link scssMixinName Yellow
+highlight! link scssSelectorChar Red
+highlight! link scssSelectorName RedItalic
+highlight! link scssInterpolationDelimiter Green
+highlight! link scssVariableValue Green
+highlight! link scssNull Purple
+highlight! link scssBoolean Purple
+highlight! link scssVariableAssignment Grey
+highlight! link scssForKeyword PurpleItalic
+highlight! link scssAttribute Orange
+highlight! link scssFunctionName Yellow
+" }}}
+" }}}
+" LESS: {{{
+" vim-less: https://github.com/groenewege/vim-less{{{
+highlight! link lessMixinChar Grey
+highlight! link lessClass RedItalic
+highlight! link lessVariable Blue
+highlight! link lessAmpersandChar Orange
+highlight! link lessFunction Yellow
+" }}}
+" }}}
+" JavaScript: {{{
+" builtin: http://www.fleiner.com/vim/syntax/javascript.vim{{{
+highlight! link javaScriptNull Cyan
+highlight! link javaScriptIdentifier Orange
+highlight! link javaScriptParens Fg
+highlight! link javaScriptBraces Fg
+highlight! link javaScriptGlobal Purple
+highlight! link javaScriptMessage Yellow
+highlight! link javaScriptFunction RedItalic
+highlight! link javaScriptOperator Orange
+highlight! link javaScriptMember Cyan
+" }}}
+" vim-javascript: https://github.com/pangloss/vim-javascript{{{
+highlight! link jsThis Purple
+highlight! link jsUndefined Cyan
+highlight! link jsNull Cyan
+highlight! link jsNan Cyan
+highlight! link jsSuper Purple
+highlight! link jsPrototype Purple
+highlight! link jsFunction RedItalic
+highlight! link jsGlobalNodeObjects PurpleItalic
+highlight! link jsGlobalObjects Yellow
+highlight! link jsArrowFunction Purple
+highlight! link jsArrowFuncArgs Blue
+highlight! link jsFuncArgs Blue
+highlight! link jsObjectProp Cyan
+highlight! link jsVariableDef Blue
+highlight! link jsObjectKey Cyan
+highlight! link jsParen Blue
+highlight! link jsParenIfElse Blue
+highlight! link jsParenRepeat Blue
+highlight! link jsParenSwitch Blue
+highlight! link jsParenCatch Blue
+highlight! link jsBracket Blue
+highlight! link jsBlockLabel Cyan
+highlight! link jsFunctionKey Green
+highlight! link jsClassDefinition Yellow
+highlight! link jsDot Grey
+highlight! link jsDestructuringBlock Blue
+highlight! link jsSpreadExpression Purple
+highlight! link jsSpreadOperator Green
+highlight! link jsModuleKeyword Yellow
+highlight! link jsObjectValue Blue
+highlight! link jsTemplateExpression Yellow
+highlight! link jsTemplateBraces Yellow
+highlight! link jsClassMethodType Orange
+" }}}
+" yajs: https://github.com/othree/yajs.vim{{{
+highlight! link javascriptEndColons Fg
+highlight! link javascriptOpSymbol Orange
+highlight! link javascriptOpSymbols Orange
+highlight! link javascriptIdentifierName Blue
+highlight! link javascriptVariable Orange
+highlight! link javascriptObjectLabel Cyan
+highlight! link javascriptObjectLabelColon Grey
+highlight! link javascriptPropertyNameString Cyan
+highlight! link javascriptFuncArg Blue
+highlight! link javascriptIdentifier Purple
+highlight! link javascriptArrowFunc Purple
+highlight! link javascriptTemplate Yellow
+highlight! link javascriptTemplateSubstitution Yellow
+highlight! link javascriptTemplateSB Yellow
+highlight! link javascriptNodeGlobal PurpleItalic
+highlight! link javascriptDocTags PurpleItalic
+highlight! link javascriptDocNotation Purple
+highlight! link javascriptClassSuper Purple
+highlight! link javascriptClassName Yellow
+highlight! link javascriptClassSuperName Yellow
+highlight! link javascriptBrackets Fg
+highlight! link javascriptBraces Fg
+highlight! link javascriptLabel Purple
+highlight! link javascriptDotNotation Grey
+highlight! link javascriptGlobalArrayDot Grey
+highlight! link javascriptGlobalBigIntDot Grey
+highlight! link javascriptGlobalDateDot Grey
+highlight! link javascriptGlobalJSONDot Grey
+highlight! link javascriptGlobalMathDot Grey
+highlight! link javascriptGlobalNumberDot Grey
+highlight! link javascriptGlobalObjectDot Grey
+highlight! link javascriptGlobalPromiseDot Grey
+highlight! link javascriptGlobalRegExpDot Grey
+highlight! link javascriptGlobalStringDot Grey
+highlight! link javascriptGlobalSymbolDot Grey
+highlight! link javascriptGlobalURLDot Grey
+highlight! link javascriptMethod Green
+highlight! link javascriptMethodName Green
+highlight! link javascriptObjectMethodName Green
+highlight! link javascriptGlobalMethod Green
+highlight! link javascriptDOMStorageMethod Green
+highlight! link javascriptFileMethod Green
+highlight! link javascriptFileReaderMethod Green
+highlight! link javascriptFileListMethod Green
+highlight! link javascriptBlobMethod Green
+highlight! link javascriptURLStaticMethod Green
+highlight! link javascriptNumberStaticMethod Green
+highlight! link javascriptNumberMethod Green
+highlight! link javascriptDOMNodeMethod Green
+highlight! link javascriptES6BigIntStaticMethod Green
+highlight! link javascriptBOMWindowMethod Green
+highlight! link javascriptHeadersMethod Green
+highlight! link javascriptRequestMethod Green
+highlight! link javascriptResponseMethod Green
+highlight! link javascriptES6SetMethod Green
+highlight! link javascriptReflectMethod Green
+highlight! link javascriptPaymentMethod Green
+highlight! link javascriptPaymentResponseMethod Green
+highlight! link javascriptTypedArrayStaticMethod Green
+highlight! link javascriptGeolocationMethod Green
+highlight! link javascriptES6MapMethod Green
+highlight! link javascriptServiceWorkerMethod Green
+highlight! link javascriptCacheMethod Green
+highlight! link javascriptFunctionMethod Green
+highlight! link javascriptXHRMethod Green
+highlight! link javascriptBOMNavigatorMethod Green
+highlight! link javascriptServiceWorkerMethod Green
+highlight! link javascriptDOMEventTargetMethod Green
+highlight! link javascriptDOMEventMethod Green
+highlight! link javascriptIntlMethod Green
+highlight! link javascriptDOMDocMethod Green
+highlight! link javascriptStringStaticMethod Green
+highlight! link javascriptStringMethod Green
+highlight! link javascriptSymbolStaticMethod Green
+highlight! link javascriptRegExpMethod Green
+highlight! link javascriptObjectStaticMethod Green
+highlight! link javascriptObjectMethod Green
+highlight! link javascriptBOMLocationMethod Green
+highlight! link javascriptJSONStaticMethod Green
+highlight! link javascriptGeneratorMethod Green
+highlight! link javascriptEncodingMethod Green
+highlight! link javascriptPromiseStaticMethod Green
+highlight! link javascriptPromiseMethod Green
+highlight! link javascriptBOMHistoryMethod Green
+highlight! link javascriptDOMFormMethod Green
+highlight! link javascriptClipboardMethod Green
+highlight! link javascriptTypedArrayStaticMethod Green
+highlight! link javascriptBroadcastMethod Green
+highlight! link javascriptDateStaticMethod Green
+highlight! link javascriptDateMethod Green
+highlight! link javascriptConsoleMethod Green
+highlight! link javascriptArrayStaticMethod Green
+highlight! link javascriptArrayMethod Green
+highlight! link javascriptMathStaticMethod Green
+highlight! link javascriptSubtleCryptoMethod Green
+highlight! link javascriptCryptoMethod Green
+highlight! link javascriptProp Cyan
+highlight! link javascriptBOMWindowProp Cyan
+highlight! link javascriptDOMStorageProp Cyan
+highlight! link javascriptFileReaderProp Cyan
+highlight! link javascriptURLUtilsProp Cyan
+highlight! link javascriptNumberStaticProp Cyan
+highlight! link javascriptDOMNodeProp Cyan
+highlight! link javascriptRequestProp Cyan
+highlight! link javascriptResponseProp Cyan
+highlight! link javascriptES6SetProp Cyan
+highlight! link javascriptPaymentProp Cyan
+highlight! link javascriptPaymentResponseProp Cyan
+highlight! link javascriptPaymentAddressProp Cyan
+highlight! link javascriptPaymentShippingOptionProp Cyan
+highlight! link javascriptTypedArrayStaticProp Cyan
+highlight! link javascriptServiceWorkerProp Cyan
+highlight! link javascriptES6MapProp Cyan
+highlight! link javascriptRegExpStaticProp Cyan
+highlight! link javascriptRegExpProp Cyan
+highlight! link javascriptXHRProp Cyan
+highlight! link javascriptBOMNavigatorProp Green
+highlight! link javascriptDOMEventProp Cyan
+highlight! link javascriptBOMNetworkProp Cyan
+highlight! link javascriptDOMDocProp Cyan
+highlight! link javascriptSymbolStaticProp Cyan
+highlight! link javascriptSymbolProp Cyan
+highlight! link javascriptBOMLocationProp Cyan
+highlight! link javascriptEncodingProp Cyan
+highlight! link javascriptCryptoProp Cyan
+highlight! link javascriptBOMHistoryProp Cyan
+highlight! link javascriptDOMFormProp Cyan
+highlight! link javascriptDataViewProp Cyan
+highlight! link javascriptBroadcastProp Cyan
+highlight! link javascriptMathStaticProp Cyan
+" }}}
+" }}}
+" JavaScript React: {{{
+" vim-jsx-pretty: https://github.com/maxmellon/vim-jsx-pretty{{{
+highlight! link jsxTagName OrangeItalic
+highlight! link jsxOpenPunct Green
+highlight! link jsxClosePunct Blue
+highlight! link jsxEscapeJs Blue
+highlight! link jsxAttrib Cyan
+" }}}
+" }}}
+" TypeScript: {{{
+" vim-typescript: https://github.com/leafgarland/typescript-vim{{{
+highlight! link typescriptSource PurpleItalic
+highlight! link typescriptMessage Yellow
+highlight! link typescriptGlobalObjects Cyan
+highlight! link typescriptInterpolation Yellow
+highlight! link typescriptInterpolationDelimiter Yellow
+highlight! link typescriptBraces Fg
+highlight! link typescriptParens Fg
+" }}}
+" yats: https:github.com/HerringtonDarkholme/yats.vim{{{
+highlight! link typescriptMethodAccessor OrangeItalic
+highlight! link typescriptVariable Orange
+highlight! link typescriptVariableDeclaration Blue
+highlight! link typescriptTypeReference Yellow
+highlight! link typescriptBraces Fg
+highlight! link typescriptEnumKeyword RedItalic
+highlight! link typescriptEnum Yellow
+highlight! link typescriptIdentifierName Cyan
+highlight! link typescriptProp Cyan
+highlight! link typescriptCall Blue
+highlight! link typescriptInterfaceName Yellow
+highlight! link typescriptEndColons Fg
+highlight! link typescriptMember Cyan
+highlight! link typescriptMemberOptionality Orange
+highlight! link typescriptObjectLabel Cyan
+highlight! link typescriptArrowFunc Purple
+highlight! link typescriptAbstract Orange
+highlight! link typescriptObjectColon Grey
+highlight! link typescriptTypeAnnotation Grey
+highlight! link typescriptAssign Orange
+highlight! link typescriptBinaryOp Orange
+highlight! link typescriptUnaryOp Orange
+highlight! link typescriptFuncComma Fg
+highlight! link typescriptClassName Yellow
+highlight! link typescriptClassHeritage Yellow
+highlight! link typescriptInterfaceHeritage Yellow
+highlight! link typescriptIdentifier Purple
+highlight! link typescriptGlobal Purple
+highlight! link typescriptOperator RedItalic
+highlight! link typescriptNodeGlobal PurpleItalic
+highlight! link typescriptExport PurpleItalic
+highlight! link typescriptDefaultParam Orange
+highlight! link typescriptImport PurpleItalic
+highlight! link typescriptTypeParameter Yellow
+highlight! link typescriptReadonlyModifier Orange
+highlight! link typescriptAccessibilityModifier Orange
+highlight! link typescriptAmbientDeclaration RedItalic
+highlight! link typescriptTemplateSubstitution Yellow
+highlight! link typescriptTemplateSB Yellow
+highlight! link typescriptExceptions RedItalic
+highlight! link typescriptCastKeyword RedItalic
+highlight! link typescriptOptionalMark Orange
+highlight! link typescriptNull Cyan
+highlight! link typescriptMappedIn RedItalic
+highlight! link typescriptFuncTypeArrow Purple
+highlight! link typescriptTernaryOp Orange
+highlight! link typescriptParenExp Blue
+highlight! link typescriptIndexExpr Blue
+highlight! link typescriptDotNotation Grey
+highlight! link typescriptGlobalNumberDot Grey
+highlight! link typescriptGlobalStringDot Grey
+highlight! link typescriptGlobalArrayDot Grey
+highlight! link typescriptGlobalObjectDot Grey
+highlight! link typescriptGlobalSymbolDot Grey
+highlight! link typescriptGlobalMathDot Grey
+highlight! link typescriptGlobalDateDot Grey
+highlight! link typescriptGlobalJSONDot Grey
+highlight! link typescriptGlobalRegExpDot Grey
+highlight! link typescriptGlobalPromiseDot Grey
+highlight! link typescriptGlobalURLDot Grey
+highlight! link typescriptGlobalMethod Green
+highlight! link typescriptDOMStorageMethod Green
+highlight! link typescriptFileMethod Green
+highlight! link typescriptFileReaderMethod Green
+highlight! link typescriptFileListMethod Green
+highlight! link typescriptBlobMethod Green
+highlight! link typescriptURLStaticMethod Green
+highlight! link typescriptNumberStaticMethod Green
+highlight! link typescriptNumberMethod Green
+highlight! link typescriptDOMNodeMethod Green
+highlight! link typescriptPaymentMethod Green
+highlight! link typescriptPaymentResponseMethod Green
+highlight! link typescriptHeadersMethod Green
+highlight! link typescriptRequestMethod Green
+highlight! link typescriptResponseMethod Green
+highlight! link typescriptES6SetMethod Green
+highlight! link typescriptReflectMethod Green
+highlight! link typescriptBOMWindowMethod Green
+highlight! link typescriptGeolocationMethod Green
+highlight! link typescriptServiceWorkerMethod Green
+highlight! link typescriptCacheMethod Green
+highlight! link typescriptES6MapMethod Green
+highlight! link typescriptFunctionMethod Green
+highlight! link typescriptRegExpMethod Green
+highlight! link typescriptXHRMethod Green
+highlight! link typescriptBOMNavigatorMethod Green
+highlight! link typescriptServiceWorkerMethod Green
+highlight! link typescriptIntlMethod Green
+highlight! link typescriptDOMEventTargetMethod Green
+highlight! link typescriptDOMEventMethod Green
+highlight! link typescriptDOMDocMethod Green
+highlight! link typescriptStringStaticMethod Green
+highlight! link typescriptStringMethod Green
+highlight! link typescriptSymbolStaticMethod Green
+highlight! link typescriptObjectStaticMethod Green
+highlight! link typescriptObjectMethod Green
+highlight! link typescriptJSONStaticMethod Green
+highlight! link typescriptEncodingMethod Green
+highlight! link typescriptBOMLocationMethod Green
+highlight! link typescriptPromiseStaticMethod Green
+highlight! link typescriptPromiseMethod Green
+highlight! link typescriptSubtleCryptoMethod Green
+highlight! link typescriptCryptoMethod Green
+highlight! link typescriptBOMHistoryMethod Green
+highlight! link typescriptDOMFormMethod Green
+highlight! link typescriptConsoleMethod Green
+highlight! link typescriptDateStaticMethod Green
+highlight! link typescriptDateMethod Green
+highlight! link typescriptArrayStaticMethod Green
+highlight! link typescriptArrayMethod Green
+highlight! link typescriptMathStaticMethod Green
+highlight! link typescriptStringProperty Cyan
+highlight! link typescriptDOMStorageProp Cyan
+highlight! link typescriptFileReaderProp Cyan
+highlight! link typescriptURLUtilsProp Cyan
+highlight! link typescriptNumberStaticProp Cyan
+highlight! link typescriptDOMNodeProp Cyan
+highlight! link typescriptBOMWindowProp Cyan
+highlight! link typescriptRequestProp Cyan
+highlight! link typescriptResponseProp Cyan
+highlight! link typescriptPaymentProp Cyan
+highlight! link typescriptPaymentResponseProp Cyan
+highlight! link typescriptPaymentAddressProp Cyan
+highlight! link typescriptPaymentShippingOptionProp Cyan
+highlight! link typescriptES6SetProp Cyan
+highlight! link typescriptServiceWorkerProp Cyan
+highlight! link typescriptES6MapProp Cyan
+highlight! link typescriptRegExpStaticProp Cyan
+highlight! link typescriptRegExpProp Cyan
+highlight! link typescriptBOMNavigatorProp Green
+highlight! link typescriptXHRProp Cyan
+highlight! link typescriptDOMEventProp Cyan
+highlight! link typescriptDOMDocProp Cyan
+highlight! link typescriptBOMNetworkProp Cyan
+highlight! link typescriptSymbolStaticProp Cyan
+highlight! link typescriptEncodingProp Cyan
+highlight! link typescriptBOMLocationProp Cyan
+highlight! link typescriptCryptoProp Cyan
+highlight! link typescriptDOMFormProp Cyan
+highlight! link typescriptBOMHistoryProp Cyan
+highlight! link typescriptMathStaticProp Cyan
+" }}}
+" }}}
+" Dart: {{{
+" dart-lang: https://github.com/dart-lang/dart-vim-plugin{{{
+highlight! link dartCoreClasses Cyan
+highlight! link dartTypeName Cyan
+highlight! link dartInterpolation Blue
+highlight! link dartTypeDef RedItalic
+highlight! link dartClassDecl RedItalic
+highlight! link dartLibrary PurpleItalic
+highlight! link dartMetadata Blue
+" }}}
+" }}}
+" CoffeeScript: {{{
+" vim-coffee-script: https://github.com/kchmck/vim-coffee-script{{{
+highlight! link coffeeExtendedOp Orange
+highlight! link coffeeSpecialOp Fg
+highlight! link coffeeDotAccess Grey
+highlight! link coffeeCurly Fg
+highlight! link coffeeParen Fg
+highlight! link coffeeBracket Fg
+highlight! link coffeeParens Blue
+highlight! link coffeeBrackets Blue
+highlight! link coffeeCurlies Blue
+highlight! link coffeeOperator RedItalic
+highlight! link coffeeStatement Orange
+highlight! link coffeeSpecialIdent Purple
+highlight! link coffeeObject Purple
+highlight! link coffeeObjAssign Cyan
+" }}}
+" }}}
+" PureScript: {{{
+" purescript-vim: https://github.com/purescript-contrib/purescript-vim{{{
+highlight! link purescriptModuleKeyword PurpleItalic
+highlight! link purescriptModule Cyan
+highlight! link purescriptModuleParams Blue
+highlight! link purescriptAsKeyword OrangeItalic
+highlight! link purescriptHidingKeyword OrangeItalic
+highlight! link purescriptWhere OrangeItalic
+highlight! link purescriptIdentifier Blue
+highlight! link purescriptFunction Yellow
+highlight! link purescriptType Cyan
+" }}}
+" }}}
+" C/C++: {{{
+" vim-cpp-enhanced-highlight: https://github.com/octol/vim-cpp-enhanced-highlight{{{
+highlight! link cppSTLnamespace Purple
+highlight! link cppSTLtype Yellow
+highlight! link cppAccess PurpleItalic
+highlight! link cppStructure RedItalic
+highlight! link cppSTLios Cyan
+highlight! link cppSTLiterator PurpleItalic
+highlight! link cppSTLexception Purple
+" }}}
+" vim-cpp-modern: https://github.com/bfrg/vim-cpp-modern{{{
+highlight! link cppSTLVariable Cyan
+" }}}
+" }}}
+" ObjectiveC: {{{
+" builtin: {{{
+highlight! link objcModuleImport PurpleItalic
+highlight! link objcException RedItalic
+highlight! link objcProtocolList Cyan
+highlight! link objcObjDef PurpleItalic
+highlight! link objcDirective RedItalic
+highlight! link objcPropertyAttribute Orange
+highlight! link objcHiddenArgument Cyan
+" }}}
+" }}}
+" C#: {{{
+" builtin: https://github.com/nickspoons/vim-cs{{{
+highlight! link csUnspecifiedStatement PurpleItalic
+highlight! link csStorage RedItalic
+highlight! link csClass RedItalic
+highlight! link csNewType Cyan
+highlight! link csContextualStatement PurpleItalic
+highlight! link csInterpolationDelimiter Yellow
+highlight! link csInterpolation Yellow
+highlight! link csEndColon Fg
+" }}}
+" }}}
+" Python: {{{
+" builtin: {{{
+highlight! link pythonBuiltin Yellow
+highlight! link pythonExceptions Purple
+highlight! link pythonDecoratorName Blue
+" }}}
+" python-syntax: https://github.com/vim-python/python-syntax{{{
+highlight! link pythonExClass Purple
+highlight! link pythonBuiltinType Yellow
+highlight! link pythonBuiltinObj Blue
+highlight! link pythonDottedName PurpleItalic
+highlight! link pythonBuiltinFunc Green
+highlight! link pythonFunction Cyan
+highlight! link pythonDecorator Orange
+highlight! link pythonInclude Include
+highlight! link pythonImport PreProc
+highlight! link pythonRun Blue
+highlight! link pythonCoding Grey
+highlight! link pythonOperator Orange
+highlight! link pythonConditional RedItalic
+highlight! link pythonRepeat RedItalic
+highlight! link pythonException RedItalic
+highlight! link pythonNone Cyan
+highlight! link pythonDot Grey
+" }}}
+" }}}
+" Lua: {{{
+" builtin: {{{
+highlight! link luaFunc Green
+highlight! link luaFunction Cyan
+highlight! link luaTable Fg
+highlight! link luaIn RedItalic
+" }}}
+" vim-lua: https://github.com/tbastos/vim-lua{{{
+highlight! link luaFuncCall Green
+highlight! link luaLocal Orange
+highlight! link luaSpecialValue Green
+highlight! link luaBraces Fg
+highlight! link luaBuiltIn Purple
+highlight! link luaNoise Grey
+highlight! link luaLabel Purple
+highlight! link luaFuncTable Yellow
+highlight! link luaFuncArgName Blue
+highlight! link luaEllipsis Orange
+highlight! link luaDocTag Green
+" }}}
+" }}}
+" Moonscript: {{{
+" moonscript-vim: https://github.com/leafo/moonscript-vim{{{
+highlight! link moonInterpDelim Yellow
+highlight! link moonInterp Blue
+highlight! link moonFunction Green
+highlight! link moonLuaFunc Cyan
+highlight! link moonSpecialVar Purple
+highlight! link moonObject Yellow
+highlight! link moonDotAccess Grey
+" }}}
+" }}}
+" Java: {{{
+" builtin: {{{
+highlight! link javaClassDecl RedItalic
+highlight! link javaMethodDecl RedItalic
+highlight! link javaVarArg Green
+highlight! link javaAnnotation Blue
+highlight! link javaUserLabel Purple
+highlight! link javaTypedef Cyan
+highlight! link javaParen Fg
+highlight! link javaParen1 Fg
+highlight! link javaParen2 Fg
+highlight! link javaParen3 Fg
+highlight! link javaParen4 Fg
+highlight! link javaParen5 Fg
+" }}}
+" }}}
+" Kotlin: {{{
+" kotlin-vim: https://github.com/udalov/kotlin-vim{{{
+highlight! link ktSimpleInterpolation Yellow
+highlight! link ktComplexInterpolation Yellow
+highlight! link ktComplexInterpolationBrace Yellow
+highlight! link ktStructure RedItalic
+highlight! link ktKeyword Cyan
+" }}}
+" }}}
+" Scala: {{{
+" builtin: https://github.com/derekwyatt/vim-scala{{{
+highlight! link scalaNameDefinition Cyan
+highlight! link scalaInterpolationBoundary Yellow
+highlight! link scalaInterpolation Blue
+highlight! link scalaTypeOperator Orange
+highlight! link scalaOperator Orange
+highlight! link scalaKeywordModifier Orange
+" }}}
+" }}}
+" Go: {{{
+" builtin: https://github.com/google/vim-ft-go{{{
+highlight! link goDirective PurpleItalic
+highlight! link goConstants Cyan
+highlight! link goDeclType OrangeItalic
+" }}}
+" polyglot: {{{
+highlight! link goPackage PurpleItalic
+highlight! link goImport PurpleItalic
+highlight! link goVarArgs Blue
+highlight! link goBuiltins Green
+highlight! link goPredefinedIdentifiers Cyan
+highlight! link goVar Orange
+" }}}
+" }}}
+" Rust: {{{
+" builtin: https://github.com/rust-lang/rust.vim{{{
+highlight! link rustStructure Orange
+highlight! link rustIdentifier Purple
+highlight! link rustModPath Orange
+highlight! link rustModPathSep Grey
+highlight! link rustSelf Blue
+highlight! link rustSuper Blue
+highlight! link rustDeriveTrait PurpleItalic
+highlight! link rustEnumVariant Purple
+highlight! link rustMacroVariable Blue
+highlight! link rustAssert Cyan
+highlight! link rustPanic Cyan
+highlight! link rustPubScopeCrate PurpleItalic
+" }}}
+" }}}
+" Swift: {{{
+" swift.vim: https://github.com/keith/swift.vim{{{
+highlight! link swiftInterpolatedWrapper Yellow
+highlight! link swiftInterpolatedString Blue
+highlight! link swiftProperty Cyan
+highlight! link swiftTypeDeclaration Orange
+highlight! link swiftClosureArgument Purple
+" }}}
+" }}}
+" PHP: {{{
+" builtin: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD{{{
+highlight! link phpVarSelector Blue
+highlight! link phpDefine OrangeItalic
+highlight! link phpStructure RedItalic
+highlight! link phpSpecialFunction Green
+highlight! link phpInterpSimpleCurly Yellow
+highlight! link phpComparison Orange
+highlight! link phpMethodsVar Cyan
+highlight! link phpMemberSelector Green
+" }}}
+" php.vim: https://github.com/StanAngeloff/php.vim{{{
+highlight! link phpParent Fg
+highlight! link phpNowDoc Green
+highlight! link phpFunction Green
+highlight! link phpMethod Green
+highlight! link phpClass Orange
+highlight! link phpSuperglobals Purple
+" }}}
+" }}}
+" Ruby: {{{
+" builtin: https://github.com/vim-ruby/vim-ruby{{{
+highlight! link rubyKeywordAsMethod Green
+highlight! link rubyInterpolation Yellow
+highlight! link rubyInterpolationDelimiter Yellow
+highlight! link rubyStringDelimiter Green
+highlight! link rubyBlockParameterList Blue
+highlight! link rubyDefine RedItalic
+highlight! link rubyModuleName Purple
+highlight! link rubyAccess Orange
+highlight! link rubyAttribute Yellow
+highlight! link rubyMacro RedItalic
+" }}}
+" }}}
+" Haskell: {{{
+" haskell-vim: https://github.com/neovimhaskell/haskell-vim{{{
+highlight! link haskellBrackets Blue
+highlight! link haskellIdentifier Yellow
+highlight! link haskellAssocType Cyan
+highlight! link haskellQuotedType Cyan
+highlight! link haskellType Cyan
+highlight! link haskellDeclKeyword RedItalic
+highlight! link haskellWhere RedItalic
+highlight! link haskellDeriving PurpleItalic
+highlight! link haskellForeignKeywords PurpleItalic
+" }}}
+" }}}
+" Perl: {{{
+" builtin: https://github.com/vim-perl/vim-perl{{{
+highlight! link perlStatementPackage PurpleItalic
+highlight! link perlStatementInclude PurpleItalic
+highlight! link perlStatementStorage Orange
+highlight! link perlStatementList Orange
+highlight! link perlMatchStartEnd Orange
+highlight! link perlVarSimpleMemberName Cyan
+highlight! link perlVarSimpleMember Fg
+highlight! link perlMethod Green
+highlight! link podVerbatimLine Green
+highlight! link podCmdText Yellow
+" }}}
+" }}}
+" OCaml: {{{
+" builtin: https://github.com/rgrinberg/vim-ocaml{{{
+highlight! link ocamlArrow Orange
+highlight! link ocamlEqual Orange
+highlight! link ocamlOperator Orange
+highlight! link ocamlKeyChar Orange
+highlight! link ocamlModPath Green
+highlight! link ocamlFullMod Green
+highlight! link ocamlModule Purple
+highlight! link ocamlConstructor Cyan
+highlight! link ocamlFuncWith Yellow
+highlight! link ocamlWith Yellow
+highlight! link ocamlModParam Fg
+highlight! link ocamlModParam1 Fg
+highlight! link ocamlAnyVar Blue
+highlight! link ocamlPpxEncl Orange
+highlight! link ocamlPpxIdentifier Blue
+highlight! link ocamlSigEncl Orange
+highlight! link ocamlStructEncl Cyan
+highlight! link ocamlModParam1 Blue
+" }}}
+" }}}
+" Erlang: {{{
+" builtin: https://github.com/vim-erlang/vim-erlang-runtime{{{
+highlight! link erlangAtom Cyan
+highlight! link erlangLocalFuncRef Green
+highlight! link erlangLocalFuncCall Green
+highlight! link erlangGlobalFuncRef Green
+highlight! link erlangGlobalFuncCall Green
+highlight! link erlangAttribute PurpleItalic
+highlight! link erlangPipe Orange
+" }}}
+" }}}
+" Elixir: {{{
+" vim-elixir: https://github.com/elixir-editors/vim-elixir{{{
+highlight! link elixirStringDelimiter Green
+highlight! link elixirKeyword Orange
+highlight! link elixirInterpolation Yellow
+highlight! link elixirInterpolationDelimiter Yellow
+highlight! link elixirSelf Purple
+highlight! link elixirPseudoVariable Purple
+highlight! link elixirModuleDefine PurpleItalic
+highlight! link elixirBlockDefinition RedItalic
+highlight! link elixirDefine RedItalic
+highlight! link elixirPrivateDefine RedItalic
+highlight! link elixirGuard RedItalic
+highlight! link elixirPrivateGuard RedItalic
+highlight! link elixirProtocolDefine RedItalic
+highlight! link elixirImplDefine RedItalic
+highlight! link elixirRecordDefine RedItalic
+highlight! link elixirPrivateRecordDefine RedItalic
+highlight! link elixirMacroDefine RedItalic
+highlight! link elixirPrivateMacroDefine RedItalic
+highlight! link elixirDelegateDefine RedItalic
+highlight! link elixirOverridableDefine RedItalic
+highlight! link elixirExceptionDefine RedItalic
+highlight! link elixirCallbackDefine RedItalic
+highlight! link elixirStructDefine RedItalic
+highlight! link elixirExUnitMacro RedItalic
+" }}}
+" }}}
+" Common Lisp: {{{
+" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP{{{
+highlight! link lispAtomMark Green
+highlight! link lispKey Cyan
+highlight! link lispFunc OrangeItalic
+" }}}
+" }}}
+" Clojure: {{{
+" builtin: https://github.com/guns/vim-clojure-static{{{
+highlight! link clojureMacro PurpleItalic
+highlight! link clojureFunc Cyan
+highlight! link clojureConstant Yellow
+highlight! link clojureSpecial RedItalic
+highlight! link clojureDefine RedItalic
+highlight! link clojureKeyword Orange
+highlight! link clojureVariable Blue
+highlight! link clojureMeta Yellow
+highlight! link clojureDeref Yellow
+" }}}
+" }}}
+" Shell: {{{
+" builtin: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH{{{
+highlight! link shRange Fg
+highlight! link shTestOpr Orange
+highlight! link shOption Cyan
+highlight! link bashStatement Orange
+highlight! link shOperator Orange
+highlight! link shQuote Green
+highlight! link shSet Orange
+highlight! link shSetList Blue
+highlight! link shSnglCase Orange
+highlight! link shVariable Blue
+highlight! link shVarAssign Orange
+highlight! link shCmdSubRegion Green
+highlight! link shCommandSub Orange
+highlight! link shFunctionOne Green
+highlight! link shFunctionKey RedItalic
+" }}}
+" }}}
+" Zsh: {{{
+" builtin: https://github.com/chrisbra/vim-zsh{{{
+highlight! link zshOptStart PurpleItalic
+highlight! link zshOption Blue
+highlight! link zshSubst Yellow
+highlight! link zshFunction Green
+highlight! link zshDeref Blue
+highlight! link zshTypes Orange
+highlight! link zshVariableDef Blue
+" }}}
+" }}}
+" Fish: {{{
+" vim-fish: https://github.com/georgewitteman/vim-fish{{{
+highlight! link fishStatement Orange
+highlight! link fishLabel RedItalic
+highlight! link fishCommandSub Yellow
+" }}}
+" }}}
+" PowerShell: {{{
+" vim-ps1: https://github.com/PProvost/vim-ps1{{{
+highlight! link ps1FunctionInvocation Cyan
+highlight! link ps1FunctionDeclaration Cyan
+highlight! link ps1InterpolationDelimiter Yellow
+highlight! link ps1BuiltIn Yellow
+" }}}
+" }}}
+" VimL: {{{
+highlight! link vimLet Orange
+highlight! link vimFunction Green
+highlight! link vimIsCommand Fg
+highlight! link vimUserFunc Green
+highlight! link vimFuncName Green
+highlight! link vimMap PurpleItalic
+highlight! link vimNotation Cyan
+highlight! link vimMapLhs Green
+highlight! link vimMapRhs Green
+highlight! link vimSetEqual Yellow
+highlight! link vimSetSep Fg
+highlight! link vimOption Cyan
+highlight! link vimUserAttrbKey Yellow
+highlight! link vimUserAttrb Green
+highlight! link vimAutoCmdSfxList Cyan
+highlight! link vimSynType Orange
+highlight! link vimHiBang Orange
+highlight! link vimSet Yellow
+highlight! link vimSetSep Grey
+" }}}
+" Makefile: {{{
+highlight! link makeIdent Cyan
+highlight! link makeSpecTarget Yellow
+highlight! link makeTarget Blue
+highlight! link makeCommands Orange
+" }}}
+" CMake: {{{
+highlight! link cmakeCommand Orange
+highlight! link cmakeKWconfigure_package_config_file Yellow
+highlight! link cmakeKWwrite_basic_package_version_file Yellow
+highlight! link cmakeKWExternalProject Cyan
+highlight! link cmakeKWadd_compile_definitions Cyan
+highlight! link cmakeKWadd_compile_options Cyan
+highlight! link cmakeKWadd_custom_command Cyan
+highlight! link cmakeKWadd_custom_target Cyan
+highlight! link cmakeKWadd_definitions Cyan
+highlight! link cmakeKWadd_dependencies Cyan
+highlight! link cmakeKWadd_executable Cyan
+highlight! link cmakeKWadd_library Cyan
+highlight! link cmakeKWadd_link_options Cyan
+highlight! link cmakeKWadd_subdirectory Cyan
+highlight! link cmakeKWadd_test Cyan
+highlight! link cmakeKWbuild_command Cyan
+highlight! link cmakeKWcmake_host_system_information Cyan
+highlight! link cmakeKWcmake_minimum_required Cyan
+highlight! link cmakeKWcmake_parse_arguments Cyan
+highlight! link cmakeKWcmake_policy Cyan
+highlight! link cmakeKWconfigure_file Cyan
+highlight! link cmakeKWcreate_test_sourcelist Cyan
+highlight! link cmakeKWctest_build Cyan
+highlight! link cmakeKWctest_configure Cyan
+highlight! link cmakeKWctest_coverage Cyan
+highlight! link cmakeKWctest_memcheck Cyan
+highlight! link cmakeKWctest_run_script Cyan
+highlight! link cmakeKWctest_start Cyan
+highlight! link cmakeKWctest_submit Cyan
+highlight! link cmakeKWctest_test Cyan
+highlight! link cmakeKWctest_update Cyan
+highlight! link cmakeKWctest_upload Cyan
+highlight! link cmakeKWdefine_property Cyan
+highlight! link cmakeKWdoxygen_add_docs Cyan
+highlight! link cmakeKWenable_language Cyan
+highlight! link cmakeKWenable_testing Cyan
+highlight! link cmakeKWexec_program Cyan
+highlight! link cmakeKWexecute_process Cyan
+highlight! link cmakeKWexport Cyan
+highlight! link cmakeKWexport_library_dependencies Cyan
+highlight! link cmakeKWfile Cyan
+highlight! link cmakeKWfind_file Cyan
+highlight! link cmakeKWfind_library Cyan
+highlight! link cmakeKWfind_package Cyan
+highlight! link cmakeKWfind_path Cyan
+highlight! link cmakeKWfind_program Cyan
+highlight! link cmakeKWfltk_wrap_ui Cyan
+highlight! link cmakeKWforeach Cyan
+highlight! link cmakeKWfunction Cyan
+highlight! link cmakeKWget_cmake_property Cyan
+highlight! link cmakeKWget_directory_property Cyan
+highlight! link cmakeKWget_filename_component Cyan
+highlight! link cmakeKWget_property Cyan
+highlight! link cmakeKWget_source_file_property Cyan
+highlight! link cmakeKWget_target_property Cyan
+highlight! link cmakeKWget_test_property Cyan
+highlight! link cmakeKWif Cyan
+highlight! link cmakeKWinclude Cyan
+highlight! link cmakeKWinclude_directories Cyan
+highlight! link cmakeKWinclude_external_msproject Cyan
+highlight! link cmakeKWinclude_guard Cyan
+highlight! link cmakeKWinstall Cyan
+highlight! link cmakeKWinstall_files Cyan
+highlight! link cmakeKWinstall_programs Cyan
+highlight! link cmakeKWinstall_targets Cyan
+highlight! link cmakeKWlink_directories Cyan
+highlight! link cmakeKWlist Cyan
+highlight! link cmakeKWload_cache Cyan
+highlight! link cmakeKWload_command Cyan
+highlight! link cmakeKWmacro Cyan
+highlight! link cmakeKWmark_as_advanced Cyan
+highlight! link cmakeKWmath Cyan
+highlight! link cmakeKWmessage Cyan
+highlight! link cmakeKWoption Cyan
+highlight! link cmakeKWproject Cyan
+highlight! link cmakeKWqt_wrap_cpp Cyan
+highlight! link cmakeKWqt_wrap_ui Cyan
+highlight! link cmakeKWremove Cyan
+highlight! link cmakeKWseparate_arguments Cyan
+highlight! link cmakeKWset Cyan
+highlight! link cmakeKWset_directory_properties Cyan
+highlight! link cmakeKWset_property Cyan
+highlight! link cmakeKWset_source_files_properties Cyan
+highlight! link cmakeKWset_target_properties Cyan
+highlight! link cmakeKWset_tests_properties Cyan
+highlight! link cmakeKWsource_group Cyan
+highlight! link cmakeKWstring Cyan
+highlight! link cmakeKWsubdirs Cyan
+highlight! link cmakeKWtarget_compile_definitions Cyan
+highlight! link cmakeKWtarget_compile_features Cyan
+highlight! link cmakeKWtarget_compile_options Cyan
+highlight! link cmakeKWtarget_include_directories Cyan
+highlight! link cmakeKWtarget_link_directories Cyan
+highlight! link cmakeKWtarget_link_libraries Cyan
+highlight! link cmakeKWtarget_link_options Cyan
+highlight! link cmakeKWtarget_precompile_headers Cyan
+highlight! link cmakeKWtarget_sources Cyan
+highlight! link cmakeKWtry_compile Cyan
+highlight! link cmakeKWtry_run Cyan
+highlight! link cmakeKWunset Cyan
+highlight! link cmakeKWuse_mangled_mesa Cyan
+highlight! link cmakeKWvariable_requires Cyan
+highlight! link cmakeKWvariable_watch Cyan
+highlight! link cmakeKWwrite_file Cyan
+" }}}
+" Json: {{{
+highlight! link jsonKeyword Orange
+highlight! link jsonQuote Grey
+highlight! link jsonBraces Fg
+" }}}
+" Yaml: {{{
+highlight! link yamlKey Orange
+highlight! link yamlConstant Purple
+" }}}
+" Toml: {{{
+call s:HL('tomlTable', s:palette.purple, s:palette.none, 'bold')
+highlight! link tomlKey Orange
+highlight! link tomlBoolean Cyan
+highlight! link tomlTableArray tomlTable
+" }}}
+" Diff: {{{
+highlight! link diffAdded Green
+highlight! link diffRemoved Red
+highlight! link diffChanged Blue
+highlight! link diffOldFile Yellow
+highlight! link diffNewFile Orange
+highlight! link diffFile Cyan
+highlight! link diffLine Grey
+highlight! link diffIndexLine Purple
+" }}}
+" Help: {{{
+call s:HL('helpNote', s:palette.purple, s:palette.none, 'bold')
+call s:HL('helpHeadline', s:palette.red, s:palette.none, 'bold')
+call s:HL('helpHeader', s:palette.orange, s:palette.none, 'bold')
+call s:HL('helpURL', s:palette.green, s:palette.none, 'underline')
+call s:HL('helpHyperTextEntry', s:palette.yellow, s:palette.none, 'bold')
+highlight! link helpHyperTextJump Yellow
+highlight! link helpCommand Cyan
+highlight! link helpExample Green
+highlight! link helpSpecial Blue
+highlight! link helpSectionDelim Grey
+" }}}
+" }}}
+" Plugins: {{{
+" junegunn/vim-plug{{{
+call s:HL('plug1', s:palette.orange, s:palette.none, 'bold')
+call s:HL('plugNumber', s:palette.yellow, s:palette.none, 'bold')
+highlight! link plug2 Green
+highlight! link plugBracket Grey
+highlight! link plugName Cyan
+highlight! link plugDash Orange
+highlight! link plugError Red
+highlight! link plugNotLoaded Grey
+highlight! link plugRelDate Grey
+highlight! link plugH2 Orange
+highlight! link plugMessage Orange
+highlight! link plugStar Red
+highlight! link plugUpdate Blue
+highlight! link plugDeleted Grey
+highlight! link plugEdge Yellow
+highlight! link plugSha Green
+" }}}
+" neoclide/coc.nvim{{{
+call s:HL('CocHoverRange', s:palette.none, s:palette.none, 'bold,underline')
+if s:configuration.current_word ==# 'bold'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.none, 'bold')
+elseif s:configuration.current_word ==# 'underline'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.none, 'underline')
+elseif s:configuration.current_word ==# 'italic'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.none, 'italic')
+elseif s:configuration.current_word ==# 'grey background'
+ call s:HL('CocHighlightText', s:palette.none, s:palette.bg2)
+endif
+highlight! link CocErrorSign RedSign
+highlight! link CocWarningSign YellowSign
+highlight! link CocInfoSign BlueSign
+highlight! link CocHintSign CyanSign
+highlight! link CocErrorHighlight ALEError
+highlight! link CocWarningHighlight ALEWarning
+highlight! link CocInfoHighlight ALEInfo
+highlight! link CocWarningVirtualText Grey
+highlight! link CocErrorVirtualText Grey
+highlight! link CocInfoVirtualText Grey
+highlight! link CocHintVirtualText Grey
+highlight! link CocCodeLens Grey
+highlight! link HighlightedyankRegion Visual
+highlight! link CocGitAddedSign GreenSign
+highlight! link CocGitChangeRemovedSign PurpleSign
+highlight! link CocGitChangedSign BlueSign
+highlight! link CocGitRemovedSign RedSign
+highlight! link CocGitTopRemovedSign RedSign
+highlight! link CocExplorerBufferRoot Orange
+highlight! link CocExplorerBufferExpandIcon Cyan
+highlight! link CocExplorerBufferBufnr Purple
+highlight! link CocExplorerBufferModified Red
+highlight! link CocExplorerBufferBufname Grey
+highlight! link CocExplorerBufferFullpath Grey
+highlight! link CocExplorerFileRoot Orange
+highlight! link CocExplorerFileExpandIcon Cyan
+highlight! link CocExplorerFileFullpath Grey
+highlight! link CocExplorerFileDirectory Green
+highlight! link CocExplorerFileGitStage Purple
+highlight! link CocExplorerFileGitUnstage Yellow
+highlight! link CocExplorerFileSize Blue
+highlight! link CocExplorerTimeAccessed Cyan
+highlight! link CocExplorerTimeCreated Cyan
+highlight! link CocExplorerTimeModified Cyan
+" }}}
+" dense-analysis/ale{{{
+call s:HL('ALEError', s:palette.none, s:palette.none, 'undercurl', s:palette.red)
+call s:HL('ALEWarning', s:palette.none, s:palette.none, 'undercurl', s:palette.yellow)
+call s:HL('ALEInfo', s:palette.none, s:palette.none, 'undercurl', s:palette.blue)
+highlight! link ALEErrorSign RedSign
+highlight! link ALEWarningSign YellowSign
+highlight! link ALEInfoSign BlueSign
+highlight! link ALEVirtualTextError Grey
+highlight! link ALEVirtualTextWarning Grey
+highlight! link ALEVirtualTextInfo Grey
+highlight! link ALEVirtualTextStyleError Grey
+highlight! link ALEVirtualTextStyleWarning Grey
+" }}}
+" neomake/neomake{{{
+highlight! link NeomakeError ALEError
+highlight! link NeomakeErrorSign RedSign
+highlight! link NeomakeWarning ALEWarning
+highlight! link NeomakeWarningSign YellowSign
+highlight! link NeomakeInfo ALEInfo
+highlight! link NeomakeInfoSign BlueSign
+highlight! link NeomakeMessage Cyan
+highlight! link NeomakeMessageSign CyanSign
+highlight! link NeomakeVirtualtextError Grey
+highlight! link NeomakeVirtualtextWarning Grey
+highlight! link NeomakeVirtualtextInfo Grey
+highlight! link NeomakeVirtualtextMessag Grey
+" }}}
+" vim-syntastic/syntastic{{{
+highlight! link SyntasticError ALEError
+highlight! link SyntasticWarning ALEWarning
+highlight! link SyntasticErrorSign RedSign
+highlight! link SyntasticWarningSign YellowSign
+" }}}
+" Yggdroot/LeaderF{{{
+call s:HL('Lf_hl_match', s:palette.green, s:palette.none, 'bold')
+call s:HL('Lf_hl_match0', s:palette.green, s:palette.none, 'bold')
+call s:HL('Lf_hl_match1', s:palette.cyan, s:palette.none, 'bold')
+call s:HL('Lf_hl_match2', s:palette.blue, s:palette.none, 'bold')
+call s:HL('Lf_hl_match3', s:palette.purple, s:palette.none, 'bold')
+call s:HL('Lf_hl_match4', s:palette.orange, s:palette.none, 'bold')
+call s:HL('Lf_hl_matchRefine', s:palette.red, s:palette.none, 'bold')
+highlight! link Lf_hl_cursorline Fg
+highlight! link Lf_hl_selection DiffAdd
+highlight! link Lf_hl_rgHighlight Visual
+highlight! link Lf_hl_gtagsHighlight Visual
+" }}}
+" junegunn/fzf.vim{{{
+let g:fzf_colors = {
+ \ 'fg': ['fg', 'Normal'],
+ \ 'bg': ['bg', 'Normal'],
+ \ 'hl': ['fg', 'Green'],
+ \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
+ \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
+ \ 'hl+': ['fg', 'Cyan'],
+ \ 'info': ['fg', 'Cyan'],
+ \ 'prompt': ['fg', 'Orange'],
+ \ 'pointer': ['fg', 'Blue'],
+ \ 'marker': ['fg', 'Yellow'],
+ \ 'spinner': ['fg', 'Yellow'],
+ \ 'header': ['fg', 'Grey']
+ \ }
+" }}}
+" Shougo/denite.nvim{{{
+call s:HL('deniteMatchedChar', s:palette.green, s:palette.none, 'bold')
+call s:HL('deniteMatchedRange', s:palette.green, s:palette.none, 'bold,underline')
+call s:HL('deniteInput', s:palette.green, s:palette.bg3, 'bold')
+call s:HL('deniteStatusLineNumber', s:palette.purple, s:palette.bg3)
+call s:HL('deniteStatusLinePath', s:palette.fg, s:palette.bg3)
+highlight! link deniteSelectedLin Green
+" }}}
+" kien/ctrlp.vim{{{
+call s:HL('CtrlPMatch', s:palette.green, s:palette.none, 'bold')
+call s:HL('CtrlPPrtBase', s:palette.bg3, s:palette.none)
+call s:HL('CtrlPLinePre', s:palette.bg3, s:palette.none)
+call s:HL('CtrlPMode1', s:palette.blue, s:palette.bg3, 'bold')
+call s:HL('CtrlPMode2', s:palette.bg0, s:palette.blue, 'bold')
+call s:HL('CtrlPStats', s:palette.grey, s:palette.bg3, 'bold')
+highlight! link CtrlPNoEntries Red
+highlight! link CtrlPPrtCursor Blue
+" }}}
+" majutsushi/tagbar{{{
+highlight! link TagbarFoldIcon Green
+highlight! link TagbarSignature Green
+highlight! link TagbarKind Red
+highlight! link TagbarScope Orange
+highlight! link TagbarNestedKind Cyan
+highlight! link TagbarVisibilityPrivate Red
+highlight! link TagbarVisibilityPublic Blue
+" }}}
+" liuchengxu/vista.vim{{{
+highlight! link VistaBracket Grey
+highlight! link VistaChildrenNr Orange
+highlight! link VistaScope Red
+highlight! link VistaTag Green
+highlight! link VistaPrefix Grey
+highlight! link VistaColon Green
+highlight! link VistaIcon Purple
+highlight! link VistaLineNr Fg
+" }}}
+" airblade/vim-gitgutter{{{
+highlight! link GitGutterAdd GreenSign
+highlight! link GitGutterChange BlueSign
+highlight! link GitGutterDelete RedSign
+highlight! link GitGutterChangeDelete PurpleSign
+" }}}
+" mhinz/vim-signify{{{
+highlight! link SignifySignAdd GreenSign
+highlight! link SignifySignChange BlueSign
+highlight! link SignifySignDelete RedSign
+highlight! link SignifySignChangeDelete PurpleSign
+" }}}
+" scrooloose/nerdtree{{{
+highlight! link NERDTreeDir Green
+highlight! link NERDTreeDirSlash Cyan
+highlight! link NERDTreeOpenable Orange
+highlight! link NERDTreeClosable Orange
+highlight! link NERDTreeFile Fg
+highlight! link NERDTreeExecFile Yellow
+highlight! link NERDTreeUp Grey
+highlight! link NERDTreeCWD Cyan
+highlight! link NERDTreeHelp LightGrey
+highlight! link NERDTreeToggleOn Green
+highlight! link NERDTreeToggleOff Red
+highlight! link NERDTreeFlags Orange
+highlight! link NERDTreeLinkFile Grey
+highlight! link NERDTreeLinkTarget Green
+" }}}
+" justinmk/vim-dirvish{{{
+highlight! link DirvishPathTail Cyan
+highlight! link DirvishArg Yellow
+" }}}
+" vim.org/netrw {{{
+" https://www.vim.org/scripts/script.php?script_id=1075
+highlight! link netrwDir Green
+highlight! link netrwClassify Green
+highlight! link netrwLink Grey
+highlight! link netrwSymLink Fg
+highlight! link netrwExe Yellow
+highlight! link netrwComment Grey
+highlight! link netrwList Cyan
+highlight! link netrwHelpCmd Blue
+highlight! link netrwCmdSep Grey
+highlight! link netrwVersion Orange
+" }}}
+" andymass/vim-matchup{{{
+call s:HL('MatchParenCur', s:palette.none, s:palette.none, 'bold')
+call s:HL('MatchWord', s:palette.none, s:palette.none, 'underline')
+call s:HL('MatchWordCur', s:palette.none, s:palette.none, 'underline')
+" }}}
+" easymotion/vim-easymotion {{{
+highlight! link EasyMotionTarget Search
+highlight! link EasyMotionShade Comment
+" }}}
+" justinmk/vim-sneak {{{
+highlight! link Sneak Cursor
+highlight! link SneakLabel Cursor
+highlight! link SneakScope DiffChange
+" }}}
+" terryma/vim-multiple-cursors{{{
+highlight! link multiple_cursors_cursor Cursor
+highlight! link multiple_cursors_visual Visual
+" }}}
+" mg979/vim-visual-multi{{{
+let g:VM_Mono_hl = 'Cursor'
+let g:VM_Extend_hl = 'Visual'
+let g:VM_Cursor_hl = 'Cursor'
+let g:VM_Insert_hl = 'Cursor'
+" }}}
+" dominikduda/vim_current_word{{{
+highlight! link CurrentWord CocHighlightText
+highlight! link CurrentWordTwins CocHighlightText
+" }}}
+" RRethy/vim-illuminate{{{
+highlight! link illuminatedWord CocHighlightText
+" }}}
+" itchyny/vim-cursorword{{{
+highlight! link CursorWord0 CocHighlightText
+highlight! link CursorWord1 CocHighlightText
+" }}}
+" nathanaelkane/vim-indent-guides{{{
+if get(g:, 'indent_guides_auto_colors', 1) == 0
+ call s:HL('IndentGuidesOdd', s:palette.bg0, s:palette.bg1)
+ call s:HL('IndentGuidesEven', s:palette.bg0, s:palette.bg2)
+endif
+" }}}
+" luochen1990/rainbow{{{
+if !exists('g:rbpt_colorpairs')
+ let g:rbpt_colorpairs = [['blue', s:palette.blue[0]], ['magenta', s:palette.purple[0]],
+ \ ['red', s:palette.red[0]], ['166', s:palette.orange[0]]]
+endif
+
+let g:rainbow_guifgs = [ s:palette.orange[0], s:palette.red[0], s:palette.purple[0], s:palette.blue[0] ]
+let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
+
+if !exists('g:rainbow_conf')
+ let g:rainbow_conf = {}
+endif
+if !has_key(g:rainbow_conf, 'guifgs')
+ let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
+endif
+if !has_key(g:rainbow_conf, 'ctermfgs')
+ let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
+endif
+
+let g:niji_dark_colours = g:rbpt_colorpairs
+let g:niji_light_colours = g:rbpt_colorpairs
+" }}}
+" kshenoy/vim-signature {{{
+highlight! link SignatureMarkText BlueSign
+highlight! link SignatureMarkerText PurpleSign
+" }}}
+" mhinz/vim-startify{{{
+highlight! link StartifyBracket Grey
+highlight! link StartifyFile Fg
+highlight! link StartifyNumber Red
+highlight! link StartifyPath Green
+highlight! link StartifySlash Green
+highlight! link StartifySection Blue
+highlight! link StartifyHeader Orange
+highlight! link StartifySpecial Grey
+highlight! link StartifyFooter Grey
+" }}}
+" ap/vim-buftabline{{{
+highlight! link BufTabLineCurrent TabLineSel
+highlight! link BufTabLineActive TabLine
+highlight! link BufTabLineHidden TabLineFill
+highlight! link BufTabLineFill TabLineFill
+" }}}
+" liuchengxu/vim-which-key{{{
+highlight! link WhichKey Red
+highlight! link WhichKeySeperator Green
+highlight! link WhichKeyGroup Yellow
+highlight! link WhichKeyDesc Blue
+highlight! link WhichKeyFloating SignColumn
+" }}}
+" skywind3000/quickmenu.vim{{{
+highlight! link QuickmenuOption Green
+highlight! link QuickmenuNumber Red
+highlight! link QuickmenuBracket Grey
+highlight! link QuickmenuHelp Green
+highlight! link QuickmenuSpecial Purple
+highlight! link QuickmenuHeader Orange
+" }}}
+" mbbill/undotree{{{
+call s:HL('UndotreeSavedBig', s:palette.purple, s:palette.none, 'bold')
+highlight! link UndotreeNode Orange
+highlight! link UndotreeNodeCurrent Red
+highlight! link UndotreeSeq Green
+highlight! link UndotreeNext Blue
+highlight! link UndotreeTimeStamp Grey
+highlight! link UndotreeHead Yellow
+highlight! link UndotreeBranch Yellow
+highlight! link UndotreeCurrent Cyan
+highlight! link UndotreeSavedSmall Purple
+" }}}
+" unblevable/quick-scope {{{
+call s:HL('QuickScopePrimary', s:palette.cyan, s:palette.none, 'underline')
+call s:HL('QuickScopeSecondary', s:palette.blue, s:palette.none, 'underline')
+" }}}
+" APZelos/blamer.nvim {{{
+highlight! link Blamer Grey
+" }}}
+" }}}
+" Terminal: {{{
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ " Definition
+ let s:terminal = {
+ \ 'black': s:palette.fg,
+ \ 'red': s:palette.red,
+ \ 'yellow': s:palette.yellow,
+ \ 'green': s:palette.green,
+ \ 'cyan': s:palette.cyan,
+ \ 'blue': s:palette.blue,
+ \ 'purple': s:palette.purple,
+ \ 'white': s:palette.grey
+ \ }
+ " Implementation: {{{
+ if !has('nvim')
+ let g:terminal_ansi_colors = [s:terminal.black[0], s:terminal.red[0], s:terminal.green[0], s:terminal.yellow[0],
+ \ s:terminal.blue[0], s:terminal.purple[0], s:terminal.cyan[0], s:terminal.white[0], s:terminal.black[0], s:terminal.red[0],
+ \ s:terminal.green[0], s:terminal.yellow[0], s:terminal.blue[0], s:terminal.purple[0], s:terminal.cyan[0], s:terminal.white[0]]
+ else
+ let g:terminal_color_0 = s:terminal.black[0]
+ let g:terminal_color_1 = s:terminal.red[0]
+ let g:terminal_color_2 = s:terminal.green[0]
+ let g:terminal_color_3 = s:terminal.yellow[0]
+ let g:terminal_color_4 = s:terminal.blue[0]
+ let g:terminal_color_5 = s:terminal.purple[0]
+ let g:terminal_color_6 = s:terminal.cyan[0]
+ let g:terminal_color_7 = s:terminal.white[0]
+ let g:terminal_color_8 = s:terminal.black[0]
+ let g:terminal_color_9 = s:terminal.red[0]
+ let g:terminal_color_10 = s:terminal.green[0]
+ let g:terminal_color_11 = s:terminal.yellow[0]
+ let g:terminal_color_12 = s:terminal.blue[0]
+ let g:terminal_color_13 = s:terminal.purple[0]
+ let g:terminal_color_14 = s:terminal.cyan[0]
+ let g:terminal_color_15 = s:terminal.white[0]
+ endif
+ " }}}
+endif
+" }}}
+
+" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker fmr={{{,}}}:
diff --git a/private_dot_config/nvim/dot_netrwhist b/private_dot_config/nvim/dot_netrwhist
new file mode 100644
index 0000000..987ad58
--- /dev/null
+++ b/private_dot_config/nvim/dot_netrwhist
@@ -0,0 +1,5 @@
+let g:netrw_dirhistmax =10
+let g:netrw_dirhistcnt =3
+let g:netrw_dirhist_3='/var/www/html/riflessi/img/base'
+let g:netrw_dirhist_2='/var/www/html/riflessi/img'
+let g:netrw_dirhist_1='/var/www/html/riflessi/img/base'
diff --git a/private_dot_config/nvim/init.lua b/private_dot_config/nvim/init.lua
new file mode 100644
index 0000000..6e88b1b
--- /dev/null
+++ b/private_dot_config/nvim/init.lua
@@ -0,0 +1,216 @@
+-- Auto-reload Neovim configuration on save
+vim.cmd [[
+ augroup packer_user_config
+ autocmd!
+ autocmd BufWritePost init.lua source <afile> | PackerCompile
+ augroup end
+]]
+
+require('packer').startup(function(use)
+ -- Packer can manage itself
+ use 'wbthomason/packer.nvim'
+
+ -- use 'cespare/vim-toml' -- TOML syntax highlighting
+ use 'rust-lang/rust.vim' -- Rust language support
+ use 'nvim-lua/plenary.nvim' -- Lua utilities for plugins
+ use 'lewis6991/gitsigns.nvim' -- Git integration (show signs in gutter)
+ use 'kyazdani42/nvim-web-devicons'-- File icons
+ use 'mg979/vim-visual-multi' -- Multi-cursor support
+ use 'tpope/vim-fugitive' -- Git wrapper for commands like :Git
+ use 'ap/vim-css-color' -- Show color preview for CSS colors
+ -- use 'lukas-reineke/indent-blankline.nvim' -- Display vertical indentation lines
+ use 'google/vim-searchindex' -- Show search match count
+ use 'numToStr/Comment.nvim' -- Easily comment/uncomment lines
+ -- use 'togglebyte/togglerust' -- Rust debugging tools
+ -- use 'chriskempson/base16-vim' -- Base16 color schemes
+ use 'NLKNguyen/papercolor-theme' -- PaperColor theme
+ use 'nvim-telescope/telescope.nvim' -- Fuzzy finder
+ use 'neovim/nvim-lspconfig' -- LSP configuration for multiple languages
+ use 'hrsh7th/nvim-cmp' -- Autocompletion engine
+ use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp
+ use 'saadparwaiz1/cmp_luasnip' -- Snippet completion for nvim-cmp
+ use 'L3MON4D3/LuaSnip' -- Snippet engine
+ use 'kyazdani42/nvim-tree.lua' -- File explorer
+ use 'ray-x/lsp_signature.nvim' -- Show function signatures as you type
+ use 'folke/todo-comments.nvim' -- Highlight and search TODO comments
+ use 'saecki/crates.nvim' -- Rust crate version management
+ use {
+ 'nvim-treesitter/nvim-treesitter',
+ run = ':TSUpdate' -- Update treesitter parsers
+ }
+ use 'folke/trouble.nvim' -- Diagnostics and references list
+ use 'folke/lsp-colors.nvim' -- Adds missing LSP diagnostics highlight groups
+ use 'sindrets/diffview.nvim' -- Git diff and history viewer
+
+ use 'mfussenegger/nvim-dap' -- Debug Adapter Protocol client implementation
+ use 'leoluz/nvim-dap-go' -- Neovim DAP extension for Go
+ use 'nvim-neotest/nvim-nio'
+ use 'rcarriga/nvim-dap-ui'
+
+ use 'koraa/proverif.vim'
+
+ -- Automatically set up the configuration after cloning packer.nvim
+ if packer_bootstrap then
+ require('packer').sync()
+ end
+end)
+
+-- General Neovim settings
+
+-- Configure completion options (menu, menuone, noselect)
+vim.opt.completeopt = "menu,menuone,noselect"
+
+-- Enable system clipboard access
+vim.opt.clipboard = "unnamedplus"
+
+-- Enable mouse support in all modes
+vim.opt.mouse = "a"
+
+-- Enable command-line completion features
+vim.opt.wildmenu = true
+vim.opt.wildmode = { "longest", "list", "full" }
+
+-- Ignore certain file types when using wildmenu for file navigation
+vim.opt.wildignore = "*.png,*.jpg,*.gif,*.swp,*.o,*.pyc,vendor"
+
+-- Show absolute line numbers
+vim.opt.number = true
+
+-- Show relative line numbers
+vim.opt.relativenumber = true
+
+-- Set text width to 80 characters
+vim.opt.textwidth = 80
+
+-- Highlight a column at 80 characters
+vim.opt.colorcolumn = "80"
+
+-- Disable line wrapping
+vim.opt.wrap = false
+
+-- Set tab width and shift width to 4 spaces
+vim.opt.tabstop = 4
+vim.opt.shiftwidth = 4
+
+-- Use spaces instead of tabs
+vim.opt.expandtab = true
+
+-- Automatically indent new lines to match the previous line
+vim.opt.autoindent = true
+
+-- Automatically reload files if they are modified outside of Neovim
+vim.opt.autoread = true
+
+-- Set UTF-8 as the default encoding
+vim.opt.encoding = "UTF-8"
+
+-- Set the history size for command line and search
+vim.opt.history = 1000
+
+-- Highlight search matches
+vim.opt.hlsearch = true
+
+-- Incrementally search while typing
+vim.opt.incsearch = true
+
+-- Disable backup file creation
+vim.opt.backup = false
+
+-- Set the status line to always be visible
+vim.opt.laststatus = 2
+
+-- Show invisible characters (e.g., tabs, spaces, etc.)
+vim.opt.list = true
+
+-- Define characters for different invisible characters
+vim.opt.listchars = { eol = '⏎', tab = '»·', trail = 'ˑ', nbsp = '⎵' }
+
+-- Use indent-based folding
+vim.opt.foldmethod = "indent"
+
+-- Open vertical splits to the right of the current window
+vim.opt.splitright = true
+
+-- Open horizontal splits below the current window
+vim.opt.splitbelow = true
+
+-- Optimize screen redrawing for performance
+vim.opt.lazyredraw = true
+
+-- Disable swapfile creation
+vim.opt.swapfile = false
+
+-- Enable 24-bit RGB color in the terminal
+vim.opt.termguicolors = true
+
+-- Set background to dark mode
+vim.opt.background = "dark"
+
+-- Highlight the current line
+vim.opt.cursorline = true
+
+-- **Highlight settings**
+-- Set custom highlights for various UI components
+vim.cmd('colorscheme PaperColor')
+vim.cmd [[
+ highlight Normal guibg=#000000
+ highlight NonText guibg=#000000
+ highlight LineNr guibg=#000000
+ highlight CursorLine guibg=#000000
+ highlight CursorLineNr guibg=#000000 guifg=Yellow
+ highlight StatusLine guibg=#000000 guifg=Yellow
+ highlight StatusLineNC guibg=#000000 guifg=Yellow
+ highlight SignColumn guibg=#000000
+ highlight GitGutterChange guibg=#000000
+ highlight GitGutterAdd guibg=#000000
+ highlight GitGutterDelete guibg=#000000
+]]
+
+-- Keybindings
+vim.g.mapleader = "," -- Set the leader key to ","
+vim.api.nvim_set_keymap('n', 'j', 'gj', { noremap = true }) -- Move down visually wrapped lines
+vim.api.nvim_set_keymap('n', 'k', 'gk', { noremap = true }) -- Move up visually wrapped lines
+
+---- Buffers
+vim.api.nvim_set_keymap('n', ']b', ':bnext<CR>', { noremap = true, silent = true }) -- Move to the next buffer
+vim.api.nvim_set_keymap('n', '[b', ':bprev<CR>', { noremap = true, silent = true }) -- Move to the previous buffer
+vim.api.nvim_set_keymap('n', '<leader>b', '<cmd>Telescope buffers<CR>', { noremap = true, silent = true }) -- List and switch to buffers using Telescope
+
+---- Tabs
+vim.api.nvim_set_keymap('n', 'tn', ':tabnew<CR>', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('n', ']t', ':tabn<CR>', { noremap = true, silent = true }) -- Move to the next tab
+vim.api.nvim_set_keymap('n', '[t', ':tabp<CR>', { noremap = true, silent = true }) -- Move to the previous tab
+
+vim.api.nvim_set_keymap('n', '<leader>o', ':only<CR>', { noremap = true }) -- Close all other windows
+vim.api.nvim_set_keymap('n', '<A-t>', ':NvimTreeToggle<CR>', { noremap = true }) -- Toggle NvimTree file explorer
+vim.api.nvim_set_keymap('n', '<leader>pa', ':set paste<CR>', { noremap = true }) -- Enable paste mode
+vim.api.nvim_set_keymap('n', '<leader>npa', ':set nopaste<CR>', { noremap = true }) -- Disable paste mode
+vim.api.nvim_set_keymap('n', '<leader>cr', ':Cargo run<CR>', { noremap = true }) -- Run `cargo run` for Rust projects
+vim.api.nvim_set_keymap('n', '<leader>xx', '<cmd>TroubleToggle<cr>', { noremap = true }) -- Toggle Trouble diagnostic window
+vim.api.nvim_set_keymap('n', '<leader>ff', '<cmd>Telescope find_files<cr>', { noremap = true }) -- Find files with Telescope
+vim.api.nvim_set_keymap('n', '<leader>fg', '<cmd>Telescope live_grep<cr>', { noremap = true }) -- Live grep with Telescope
+vim.api.nvim_set_keymap('n', '<leader>fh', '<cmd>Telescope help_tags<cr>', { noremap = true }) -- Search help tags with Telescope
+vim.api.nvim_set_keymap('n', '<C-i>', ':lua vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())<CR>', { noremap = true })
+
+-- Custom command aliases for Diffview
+vim.api.nvim_create_user_command('Do', 'DiffviewOpen', {})
+vim.api.nvim_create_user_command('Dc', 'DiffviewClose', {})
+vim.api.nvim_create_user_command('Dh', 'DiffviewFileHistory', {})
+
+
+-- Plugin configuration
+require('nvim-tree').setup { actions = { open_file = { quit_on_open = true } } }
+require('todo-comments').setup {}
+require('crates').setup {}
+require('nvim-treesitter.configs').setup { highlight = { enable = true } }
+require('lsp-colors').setup {}
+-- require("ibl").setup { indent = {char = "¦"} }
+-- vim.cmd.highlight('clear @ibl.scope.underline.1')
+
+-- General settings
+require('git') -- Load git-related settings
+require('lsp_conf') -- Load LSP configuration
+require('dap_conf')
+
+-- Set up language client for Go
+vim.g.LanguageClient_serverCommands = { go = { 'gopls' } }
diff --git a/private_dot_config/nvim/lua/dap_conf.lua b/private_dot_config/nvim/lua/dap_conf.lua
new file mode 100644
index 0000000..b3cee89
--- /dev/null
+++ b/private_dot_config/nvim/lua/dap_conf.lua
@@ -0,0 +1,52 @@
+local dap, dapui = require('dap'), require('dapui')
+local dapgo = require('dap-go')
+dapui.setup()
+dapgo.setup()
+dap.listeners.before.attach.dapui_config = function()
+ dapui.open()
+end
+dap.listeners.before.launch.dapui_config = function()
+ dapui.open()
+end
+
+dap.adapters.gdb = {
+ type = "executable",
+ command = "gdb",
+ args = { "--interpreter=dap", "--eval-command", "set print pretty on" }
+}
+
+local configurations = {'c', 'cpp', 'rust'}
+
+for _, conf in ipairs(configurations) do
+ dap.configurations[conf] = {
+ {
+ name = "Launch",
+ type = "gdb",
+ request = "launch",
+ program = function()
+ return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
+ end,
+ cwd = "${workspaceFolder}",
+ stopAtBeginningOfMainSubprogram = false,
+ },
+ }
+end
+
+-- Include the next few lines until the comment only if you feel you need it
+dap.listeners.before.event_terminated.dapui_config = function()
+ dapui.close()
+end
+dap.listeners.before.event_exited.dapui_config = function()
+ dapui.close()
+end
+-- Include everything after this
+
+
+vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
+vim.keymap.set('n', '<F10>', function() require('dap').step_over() end)
+vim.keymap.set('n', '<F11>', function() require('dap').step_into() end)
+vim.keymap.set('n', '<F12>', function() require('dap').step_out() end)
+vim.keymap.set('n', '<C-K>', function() require('dap').toggle_breakpoint() end)
+vim.api.nvim_create_user_command('DapRepeat',function() require('dap').run_last() end, {})
+vim.api.nvim_create_user_command('DapOpen',function() dapui.open() end, {})
+vim.api.nvim_create_user_command('DapClose',function() dapui.close() end, {})
diff --git a/private_dot_config/nvim/lua/git.lua b/private_dot_config/nvim/lua/git.lua
new file mode 100644
index 0000000..da6bbdd
--- /dev/null
+++ b/private_dot_config/nvim/lua/git.lua
@@ -0,0 +1,65 @@
+require('gitsigns').setup {
+ signs = {
+ add = { text = '+' },
+ change = { text = '~' },
+ delete = { text = '-' },
+ topdelete = { text = '-' },
+ changedelete = { text = '~' },
+ untracked = { text = '┆' },
+ },
+ signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
+ numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
+ linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
+ word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
+ watch_gitdir = {
+ follow_files = true
+ },
+ attach_to_untracked = true,
+ current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
+ current_line_blame_opts = {
+ virt_text = true,
+ virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
+ delay = 1000,
+ ignore_whitespace = false,
+ },
+ current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
+ sign_priority = 6,
+ update_debounce = 100,
+ status_formatter = nil, -- Use default
+ max_file_length = 40000, -- Disable if file is longer than this (in lines)
+ preview_config = {
+ -- Options passed to nvim_open_win
+ border = 'single',
+ style = 'minimal',
+ relative = 'cursor',
+ row = 0,
+ col = 1
+ },
+ on_attach = function(bufnr)
+ local gs = package.loaded.gitsigns
+ local function map(mode, l, r, opts)
+ opts = opts or {}
+ opts.buffer = bufnr
+ vim.keymap.set(mode, l, r, opts)
+ end
+
+ map('n', ']c', function()
+ if vim.wo.diff then return ']c' end
+ vim.schedule(function() gs.next_hunk() end)
+ return '<Ignore>'
+ end, {expr=true})
+
+ map('n', '[c', function()
+ if vim.wo.diff then return '[c' end
+ vim.schedule(function() gs.prev_hunk() end)
+ return '<Ignore>'
+ end, {expr=true})
+
+ map('n', 'hs', gs.stage_hunk)
+ map('v', 'hs', function() gs.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
+ map('n', 'hS', gs.stage_buffer)
+ map('n', 'hu', gs.undo_stage_hunk)
+ map('n', 'hp', gs.preview_hunk)
+ map('n', 'hB', gs.blame_line)
+ end
+}
diff --git a/private_dot_config/nvim/lua/lsp_conf.lua b/private_dot_config/nvim/lua/lsp_conf.lua
new file mode 100644
index 0000000..a93dc5b
--- /dev/null
+++ b/private_dot_config/nvim/lua/lsp_conf.lua
@@ -0,0 +1,114 @@
+local nvim_lsp = require('lspconfig')
+local trouble = require("trouble")
+
+local capabilities = require("cmp_nvim_lsp").default_capabilities()
+
+-- Redefine LSP diagnostic signs
+local signs = { Error = 'E', Warning = 'W', Hint = 'H', Information = 'I' }
+
+for type, icon in pairs(signs) do
+ local hl = 'DiagnosticSign' .. type
+ vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = '' })
+end
+
+local opts = { noremap=true, silent=true }
+
+-- Setup lsp_signature for function signature help
+require "lsp_signature".setup()
+
+-- Common on_attach function to handle keymaps and settings for all LSPs
+local common_on_attach = function(client, bufnr)
+ -- Key mappings
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "ga", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
+ -- Use vim.diagnostic.open_float for showing line diagnostics (replacing deprecated call)
+ vim.api.nvim_buf_set_keymap(bufnr, "n", "<space>e", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
+ vim.keymap.set('n', '<A-f>', '<cmd>lua vim.lsp.buf.format {async = true}<cr>', opts)
+
+ -- Autoformat on save
+ vim.cmd("autocmd BufWritePre <buffer> lua vim.lsp.buf.format {async = true}")
+end
+
+-- LSP servers setup
+local servers = {
+ 'clangd',
+ 'gopls',
+ 'jdtls',
+ 'metals',
+ 'ocamllsp',
+ 'ruff_lsp',
+ 'rust_analyzer',
+}
+
+capabilities.offsetEncoding = { "utf-16" }
+
+for _, lsp in ipairs(servers) do
+ nvim_lsp[lsp].setup {
+ capabilities = capabilities,
+ on_attach = common_on_attach,
+ flags = {
+ debounce_text_changes = 150,
+ }
+ }
+end
+
+nvim_lsp.ts_ls.setup {
+ capabilities = capabilities,
+ on_attach = common_on_attach,
+ filetypes = { "typescript", "typescriptreact", "typescript.tsx" },
+ cmd = { "typescript-language-server", "--stdio" }
+}
+
+vim.lsp.inlay_hint.enable(true, { 0 })
+
+-- Trouble setup
+trouble.setup({
+ use_diagnostic_signs = true,
+ auto_close = true,
+ auto_open = false
+})
+
+-- nvim-cmp setup for autocompletion
+local luasnip = require 'luasnip'
+local cmp = require 'cmp'
+cmp.setup {
+ snippet = {
+ expand = function(args)
+ luasnip.lsp_expand(args.body)
+ end,
+ },
+ mapping = cmp.mapping.preset.insert({
+ ['<C-d>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<CR>'] = cmp.mapping.confirm {
+ behavior = cmp.ConfirmBehavior.Replace,
+ select = true,
+ },
+ ['<Tab>'] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_next_item()
+ elseif luasnip.expand_or_jumpable() then
+ luasnip.expand_or_jump()
+ else
+ fallback()
+ end
+ end, { 'i', 's' }),
+ ['<S-Tab>'] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_prev_item()
+ elseif luasnip.jumpable(-1) then
+ luasnip.jump(-1)
+ else
+ fallback()
+ end
+ end, { 'i', 's' }),
+ }),
+ sources = {
+ { name = 'nvim_lsp' },
+ { name = 'luasnip' },
+ },
+}
diff --git a/private_dot_config/nvim/plugin/packer_compiled.lua b/private_dot_config/nvim/plugin/packer_compiled.lua
new file mode 100644
index 0000000..37c8963
--- /dev/null
+++ b/private_dot_config/nvim/plugin/packer_compiled.lua
@@ -0,0 +1,244 @@
+-- Automatically generated packer.nvim plugin loader code
+
+if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
+ vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
+ return
+end
+
+vim.api.nvim_command('packadd packer.nvim')
+
+local no_errors, error_msg = pcall(function()
+
+_G._packer = _G._packer or {}
+_G._packer.inside_compile = true
+
+local time
+local profile_info
+local should_profile = false
+if should_profile then
+ local hrtime = vim.loop.hrtime
+ profile_info = {}
+ time = function(chunk, start)
+ if start then
+ profile_info[chunk] = hrtime()
+ else
+ profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
+ end
+ end
+else
+ time = function(chunk, start) end
+end
+
+local function save_profiles(threshold)
+ local sorted_times = {}
+ for chunk_name, time_taken in pairs(profile_info) do
+ sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
+ end
+ table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
+ local results = {}
+ for i, elem in ipairs(sorted_times) do
+ if not threshold or threshold and elem[2] > threshold then
+ results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
+ end
+ end
+ if threshold then
+ table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
+ end
+
+ _G._packer.profile_output = results
+end
+
+time([[Luarocks path setup]], true)
+local package_path_str = "/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/share/lua/5.1/?.lua;/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/share/lua/5.1/?/init.lua;/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/lib/luarocks/rocks-5.1/?.lua;/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/lib/luarocks/rocks-5.1/?/init.lua"
+local install_cpath_pattern = "/home/santo/.cache/nvim/packer_hererocks/2.1.1713484068/lib/lua/5.1/?.so"
+if not string.find(package.path, package_path_str, 1, true) then
+ package.path = package.path .. ';' .. package_path_str
+end
+
+if not string.find(package.cpath, install_cpath_pattern, 1, true) then
+ package.cpath = package.cpath .. ';' .. install_cpath_pattern
+end
+
+time([[Luarocks path setup]], false)
+time([[try_loadstring definition]], true)
+local function try_loadstring(s, component, name)
+ local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
+ if not success then
+ vim.schedule(function()
+ vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
+ end)
+ end
+ return result
+end
+
+time([[try_loadstring definition]], false)
+time([[Defining packer_plugins]], true)
+_G.packer_plugins = {
+ ["Comment.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/Comment.nvim",
+ url = "https://github.com/numToStr/Comment.nvim"
+ },
+ LuaSnip = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/LuaSnip",
+ url = "https://github.com/L3MON4D3/LuaSnip"
+ },
+ ["cmp-nvim-lsp"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp"
+ },
+ cmp_luasnip = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
+ url = "https://github.com/saadparwaiz1/cmp_luasnip"
+ },
+ ["crates.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/crates.nvim",
+ url = "https://github.com/saecki/crates.nvim"
+ },
+ ["diffview.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/diffview.nvim",
+ url = "https://github.com/sindrets/diffview.nvim"
+ },
+ ["gitsigns.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
+ url = "https://github.com/lewis6991/gitsigns.nvim"
+ },
+ ["lsp-colors.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim",
+ url = "https://github.com/folke/lsp-colors.nvim"
+ },
+ ["lsp_signature.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/lsp_signature.nvim",
+ url = "https://github.com/ray-x/lsp_signature.nvim"
+ },
+ ["nvim-cmp"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-cmp",
+ url = "https://github.com/hrsh7th/nvim-cmp"
+ },
+ ["nvim-dap"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-dap",
+ url = "https://github.com/mfussenegger/nvim-dap"
+ },
+ ["nvim-dap-go"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-dap-go",
+ url = "https://github.com/leoluz/nvim-dap-go"
+ },
+ ["nvim-dap-ui"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-dap-ui",
+ url = "https://github.com/rcarriga/nvim-dap-ui"
+ },
+ ["nvim-lspconfig"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
+ url = "https://github.com/neovim/nvim-lspconfig"
+ },
+ ["nvim-nio"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-nio",
+ url = "https://github.com/nvim-neotest/nvim-nio"
+ },
+ ["nvim-tree.lua"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
+ url = "https://github.com/kyazdani42/nvim-tree.lua"
+ },
+ ["nvim-treesitter"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
+ url = "https://github.com/nvim-treesitter/nvim-treesitter"
+ },
+ ["nvim-web-devicons"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
+ url = "https://github.com/kyazdani42/nvim-web-devicons"
+ },
+ ["packer.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/packer.nvim",
+ url = "https://github.com/wbthomason/packer.nvim"
+ },
+ ["papercolor-theme"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/papercolor-theme",
+ url = "https://github.com/NLKNguyen/papercolor-theme"
+ },
+ ["plenary.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/plenary.nvim",
+ url = "https://github.com/nvim-lua/plenary.nvim"
+ },
+ ["proverif.vim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/proverif.vim",
+ url = "https://github.com/koraa/proverif.vim"
+ },
+ ["rust.vim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/rust.vim",
+ url = "https://github.com/rust-lang/rust.vim"
+ },
+ ["telescope.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/telescope.nvim",
+ url = "https://github.com/nvim-telescope/telescope.nvim"
+ },
+ ["todo-comments.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/todo-comments.nvim",
+ url = "https://github.com/folke/todo-comments.nvim"
+ },
+ ["trouble.nvim"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/trouble.nvim",
+ url = "https://github.com/folke/trouble.nvim"
+ },
+ ["vim-css-color"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-css-color",
+ url = "https://github.com/ap/vim-css-color"
+ },
+ ["vim-fugitive"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-fugitive",
+ url = "https://github.com/tpope/vim-fugitive"
+ },
+ ["vim-searchindex"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-searchindex",
+ url = "https://github.com/google/vim-searchindex"
+ },
+ ["vim-visual-multi"] = {
+ loaded = true,
+ path = "/home/santo/.local/share/nvim/site/pack/packer/start/vim-visual-multi",
+ url = "https://github.com/mg979/vim-visual-multi"
+ }
+}
+
+time([[Defining packer_plugins]], false)
+
+_G._packer.inside_compile = false
+if _G._packer.needs_bufread == true then
+ vim.cmd("doautocmd BufRead")
+end
+_G._packer.needs_bufread = false
+
+if should_profile then save_profiles() end
+
+end)
+
+if not no_errors then
+ error_msg = error_msg:gsub('"', '\\"')
+ vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
+end