summaryrefslogtreecommitdiff
path: root/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim')
-rw-r--r--nvim/colors/hybrid.vim71
-rw-r--r--nvim/colors/hybrid.vim.bkup455
-rw-r--r--nvim/init.vim42
3 files changed, 516 insertions, 52 deletions
diff --git a/nvim/colors/hybrid.vim b/nvim/colors/hybrid.vim
index a255e77..9f02434 100644
--- a/nvim/colors/hybrid.vim
+++ b/nvim/colors/hybrid.vim
@@ -19,6 +19,7 @@
" https://github.com/altercation/vim-colors-solarized
"}}}
+
" Requirements And Recommendations:"{{{
" ----------------------------------------------------------------------------
" Requirements
@@ -92,33 +93,33 @@ if exists("g:hybrid_reduced_contrast") && g:hybrid_reduced_contrast == 1
else
let s:gui_background = "#1d1f21"
let s:gui_selection = "#373b41"
- let s:gui_line = "#282a2e"
+ let s:gui_line = "#282c34"
let s:gui_comment = "#707880"
endif
-let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" }
-let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" }
-let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" }
-let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" }
-let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" }
-let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" }
-let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" }
-let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" }
-let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" }
-let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" }
-let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" }
-let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" }
-let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" }
-let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" }
-let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" }
-let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" }
-let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" }
-let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" }
-let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" }
-let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" }
-let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" }
+let s:palette.gui.background = { 'dark' : "#0a001f" , 'light' : "#e94c80" }
+let s:palette.gui.foreground = { 'dark' : "#ace6f0" , 'light' : "#0a001f" }
+let s:palette.gui.selection = { 'dark' : "#6740ba" , 'light' : "#ace6f0" }
+let s:palette.gui.line = { 'dark' : "#828ff9" , 'light' : "#ace6f0" }
+let s:palette.gui.comment = { 'dark' : "#eebea4" , 'light' : "#ace6f0" }
+let s:palette.gui.red = { 'dark' : "#e94c80" , 'light' : "#5f0000" }
+let s:palette.gui.orange = { 'dark' : "#ac96dc" , 'light' : "#875f00" }
+let s:palette.gui.yellow = { 'dark' : "#ac96dc" , 'light' : "#5f5f00" }
+let s:palette.gui.green = { 'dark' : "#828ff9" , 'light' : "#828ff9" }
+let s:palette.gui.aqua = { 'dark' : "#ace6f0" , 'light' : "#828ff9" }
+let s:palette.gui.blue = { 'dark' : "#e94c80" , 'light' : "#00005f" }
+let s:palette.gui.purple = { 'dark' : "#ac96dc" , 'light' : "#5f005f" }
+let s:palette.gui.window = { 'dark' : "#0a001f" , 'light' : "#9e9e9e" }
+let s:palette.gui.darkcolumn = { 'dark' : "#0a001f" , 'light' : "#808080" }
+let s:palette.gui.addbg = { 'dark' : "#e94c80" , 'light' : "#d7ffd7" }
+let s:palette.gui.addfg = { 'dark' : "#e94c80" , 'light' : "#828ff9" }
+let s:palette.gui.changebg = { 'dark' : "#9e9e9e" , 'light' : "#e94c80" }
+let s:palette.gui.changefg = { 'dark' : "#828ff9" , 'light' : "#5f005f" }
+let s:palette.gui.delbg = { 'dark' : "#e94c80" , 'light' : "#ffd7d7" }
+let s:palette.gui.darkblue = { 'dark' : "#828ff9" , 'light' : "#d7ffd7" }
+let s:palette.gui.darkcyan = { 'dark' : "#828ff9" , 'light' : "#828ff9" }
let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" }
-let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" }
+let s:palette.gui.darkpurple = { 'dark' : "#e94c80" , 'light' : "#5f005f" }
if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1
" light dark
@@ -289,25 +290,26 @@ exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none
" Cursor"
" CursorIM"
exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none
-exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none
+exe "hi! CursorLine" .s:fg_none .s:bg_selection .s:fmt_none
exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none
exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none
exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none
exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none
exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none
-exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd
+exe "hi! ErrorMsg" .s:fg_red .s:fg_red .s:fmt_stnd
+" OR change ErrorMsg fmt to fmt_none for no bg highlighting, just red text
exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none
exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none
exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
-" Incsearch"
+" Incsearch"
exe "hi! LineNr" .s:fg_line .s:bg_none .s:fmt_none
" fg_selection on first column
-exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
+exe "hi! CursorLineNr" .s:fg_red .s:bg_none .s:fmt_none
exe "hi! MatchParen" .s:fg_background .s:bg_changebg .s:fmt_none
exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none
exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none
-exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none
+exe "hi! NonText" .s:fg_green .s:bg_none .s:fmt_none
exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none
exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr
" PmenuSbar"
@@ -363,22 +365,22 @@ exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none
" Keyword"
" Exception"
-exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fmt_none
-" Include"
+exe "hi! PreProc" .s:fg_yellow .s:bg_none .s:fmt_none
+exe "hi! Include" .s:fg_yellow .s:bg_none .s:fmt_none
" Define"
" Macro"
" PreCondit"
exe "hi! Type" .s:fg_orange .s:bg_none .s:fmt_none
" StorageClass"
-exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none
+exe "hi! Structure" .s:fg_yellow .s:bg_none .s:fmt_none
" Typedef"
exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none
" SpecialChar"
" Tag"
-" Delimiter"
-" SpecialComment"
+exe "hi! Delimiter" .s:fg_foreground .s:bg_none .s:fmt_none
+exe "hi! SpecialComment" .s:fg_comment .s:bg_none .s:fmt_none
" Debug"
"
exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none
@@ -422,6 +424,9 @@ hi! link diffAdded Special
let &background = s:style
+" GitGutter highlight customizations
+highlight! link SignColumn LineNr
+
" }}}
" Legal:"{{{
" ----------------------------------------------------------------------------
diff --git a/nvim/colors/hybrid.vim.bkup b/nvim/colors/hybrid.vim.bkup
new file mode 100644
index 0000000..a255e77
--- /dev/null
+++ b/nvim/colors/hybrid.vim.bkup
@@ -0,0 +1,455 @@
+" File: hybrid.vim
+" Maintainer: Andrew Wong (w0ng)
+" URL: https://github.com/w0ng/vim-hybrid
+" Modified: 27 Jan 2013 07:33 AM AEST
+" License: MIT
+
+" Description:"{{{
+" ----------------------------------------------------------------------------
+" The default RGB colour palette is taken from Tomorrow-Night.vim:
+" https://github.com/chriskempson/vim-tomorrow-theme
+"
+" The reduced RGB colour palette is taken from Codecademy's online editor:
+" https://www.codecademy.com/learn
+"
+" The syntax highlighting scheme is taken from jellybeans.vim:
+" https://github.com/nanotech/jellybeans.vim
+"
+" The is code taken from solarized.vim:
+" https://github.com/altercation/vim-colors-solarized
+
+"}}}
+" Requirements And Recommendations:"{{{
+" ----------------------------------------------------------------------------
+" Requirements
+" - gVim 7.3+ on Linux, Mac and Windows.
+" - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours.
+"
+" Due to the limited 256 palette, colours in Vim and gVim will still be slightly
+" different.
+"
+" In order to have Vim use the same colours as gVim (the way this colour scheme
+" is intended), it is recommended that you define the basic 16 colours in your
+" terminal.
+"
+" For Linux users (rxvt-unicode, xterm):
+"
+" 1. Add the default palette to ~/.Xresources:
+"
+" https://gist.github.com/3278077
+"
+" or alternatively, add the reduced contrast palette to ~/.Xresources:
+"
+" https://gist.github.com/w0ng/16e33902508b4a0350ae
+"
+" 2. Add to ~/.vimrc:
+"
+" let g:hybrid_custom_term_colors = 1
+" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette.
+" colorscheme hybrid
+"
+" For OSX users (iTerm):
+"
+" 1. Import the default colour preset into iTerm:
+"
+" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors
+"
+" or alternatively, import the reduced contrast color preset into iTerm:
+"
+" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors
+"
+" 2. Add to ~/.vimrc:
+"
+" let g:hybrid_custom_term_colors = 1
+" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette.
+" colorscheme hybrid
+
+"}}}
+" Initialisation:"{{{
+" ----------------------------------------------------------------------------
+
+hi clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+let s:style = &background
+
+let g:colors_name = "hybrid"
+
+"}}}
+" GUI And Cterm Palettes:"{{{
+" ----------------------------------------------------------------------------
+
+let s:palette = {'gui' : {} , 'cterm' : {}}
+
+if exists("g:hybrid_reduced_contrast") && g:hybrid_reduced_contrast == 1
+ let s:gui_background = "#232c31"
+ let s:gui_selection = "#425059"
+ let s:gui_line = "#2d3c46"
+ let s:gui_comment = "#6c7a80"
+else
+ let s:gui_background = "#1d1f21"
+ let s:gui_selection = "#373b41"
+ let s:gui_line = "#282a2e"
+ let s:gui_comment = "#707880"
+endif
+
+let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" }
+let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" }
+let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" }
+let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" }
+let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" }
+let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" }
+let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" }
+let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" }
+let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" }
+let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" }
+let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" }
+let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" }
+let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" }
+let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" }
+let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" }
+let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" }
+let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" }
+let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" }
+let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" }
+let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" }
+let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" }
+let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" }
+let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" }
+
+if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1
+ " light dark
+ let s:cterm_foreground = "15" " attrib - cyan
+ let s:cterm_selection = "9" " selecton - purp
+ let s:cterm_line = "10" " nr color - blue
+ let s:cterm_comment = "7" " comments - orange
+ let s:cterm_red = "4" " integer - 4 12 light/dim red
+ let s:cterm_orange = "3" " static const - dark purp
+ let s:cterm_yellow = "11" " function - 11 3 light/dark purp
+ let s:cterm_green = "10" " strings - 10 11 blue/purp
+ let s:cterm_aqua = "11" " define - light purp
+ let s:cterm_blue = "4" " let for - red
+ let s:cterm_purple = "13" " variable - cyan
+ let s:cterm_delbg = "9" " dunno - dark purp
+else
+ let s:cterm_foreground = "250"
+ let s:cterm_selection = "237"
+ let s:cterm_line = "235"
+ let s:cterm_comment = "243"
+ let s:cterm_red = "167"
+ let s:cterm_orange = "173"
+ let s:cterm_yellow = "221"
+ let s:cterm_green = "143"
+ let s:cterm_aqua = "109"
+ let s:cterm_blue = "110"
+ let s:cterm_purple = "139"
+ let s:cterm_delbg = "167"
+endif
+
+let s:palette.cterm.background = { 'dark' : "234" , 'light' : "254" }
+let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" }
+let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" }
+let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" }
+let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" }
+let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" }
+let s:palette.cterm.red = { 'dark' : s:cterm_red , 'light' : "52" }
+let s:palette.cterm.orange = { 'dark' : s:cterm_orange , 'light' : "94" }
+let s:palette.cterm.yellow = { 'dark' : s:cterm_yellow , 'light' : "58" }
+let s:palette.cterm.green = { 'dark' : s:cterm_green , 'light' : "22" }
+let s:palette.cterm.aqua = { 'dark' : s:cterm_aqua , 'light' : "23" }
+let s:palette.cterm.blue = { 'dark' : s:cterm_blue , 'light' : "17" }
+let s:palette.cterm.purple = { 'dark' : s:cterm_purple , 'light' : "53" }
+let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" }
+let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" }
+let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" }
+let s:palette.cterm.changebg = { 'dark' : "60" , 'light' : "189" }
+let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" }
+let s:palette.cterm.delbg = { 'dark' : s:cterm_delbg , 'light' : "224" }
+let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" }
+let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" }
+let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" }
+let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" }
+
+"}}}
+" Formatting Options:"{{{
+" ----------------------------------------------------------------------------
+let s:none = "NONE"
+let s:t_none = "NONE"
+let s:n = "NONE"
+let s:c = ",undercurl"
+let s:r = ",reverse"
+let s:s = ",standout"
+let s:b = ",bold"
+let s:u = ",underline"
+let s:i = ",italic"
+
+"}}}
+" Highlighting Primitives:"{{{
+" ----------------------------------------------------------------------------
+function! s:build_prim(hi_elem, field)
+ " Given a:hi_elem = bg, a:field = comment
+ let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment
+ let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=...
+ let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=...
+ exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'"
+endfunction
+
+let s:bg_none = ' guibg=NONE ctermbg=NONE'
+call s:build_prim('bg', 'foreground')
+call s:build_prim('bg', 'background')
+call s:build_prim('bg', 'selection')
+call s:build_prim('bg', 'line')
+call s:build_prim('bg', 'comment')
+call s:build_prim('bg', 'red')
+call s:build_prim('bg', 'orange')
+call s:build_prim('bg', 'yellow')
+call s:build_prim('bg', 'green')
+call s:build_prim('bg', 'aqua')
+call s:build_prim('bg', 'blue')
+call s:build_prim('bg', 'purple')
+call s:build_prim('bg', 'window')
+call s:build_prim('bg', 'darkcolumn')
+call s:build_prim('bg', 'addbg')
+call s:build_prim('bg', 'addfg')
+call s:build_prim('bg', 'changebg')
+call s:build_prim('bg', 'changefg')
+call s:build_prim('bg', 'delbg')
+call s:build_prim('bg', 'darkblue')
+call s:build_prim('bg', 'darkcyan')
+call s:build_prim('bg', 'darkred')
+call s:build_prim('bg', 'darkpurple')
+
+let s:fg_none = ' guifg=NONE ctermfg=NONE'
+call s:build_prim('fg', 'foreground')
+call s:build_prim('fg', 'background')
+call s:build_prim('fg', 'selection')
+call s:build_prim('fg', 'line')
+call s:build_prim('fg', 'comment')
+call s:build_prim('fg', 'red')
+call s:build_prim('fg', 'orange')
+call s:build_prim('fg', 'yellow')
+call s:build_prim('fg', 'green')
+call s:build_prim('fg', 'aqua')
+call s:build_prim('fg', 'blue')
+call s:build_prim('fg', 'purple')
+call s:build_prim('fg', 'window')
+call s:build_prim('fg', 'darkcolumn')
+call s:build_prim('fg', 'addbg')
+call s:build_prim('fg', 'addfg')
+call s:build_prim('fg', 'changebg')
+call s:build_prim('fg', 'changefg')
+call s:build_prim('fg', 'darkblue')
+call s:build_prim('fg', 'darkcyan')
+call s:build_prim('fg', 'darkred')
+call s:build_prim('fg', 'darkpurple')
+
+exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'"
+exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
+exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
+exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
+exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'"
+exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
+exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'"
+exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'"
+exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'"
+exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'"
+exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'"
+
+exe "let s:sp_none = ' guisp=". s:none ."'"
+exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'"
+exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'"
+exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'"
+exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'"
+exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'"
+exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'"
+exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'"
+exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'"
+exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'"
+exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'"
+exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'"
+exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'"
+exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'"
+exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'"
+exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'"
+exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'"
+exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'"
+exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'"
+exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'"
+exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'"
+exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'"
+
+"}}}
+" Vim Highlighting: (see :help highlight-groups)"{{{
+" ----------------------------------------------------------------------------
+exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none
+" Conceal"
+" Cursor"
+" CursorIM"
+exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none
+exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none
+exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none
+exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none
+exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none
+exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none
+exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none
+exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd
+exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none
+exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none
+exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
+exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
+" Incsearch"
+exe "hi! LineNr" .s:fg_line .s:bg_none .s:fmt_none
+" fg_selection on first column
+exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
+exe "hi! MatchParen" .s:fg_background .s:bg_changebg .s:fmt_none
+exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none
+exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none
+exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none
+exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none
+exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr
+" PmenuSbar"
+" PmenuThumb"
+exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none
+exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none
+exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none
+exe "hi! SpellCap" .s:fg_blue .s:bg_darkblue .s:fmt_undr
+exe "hi! SpellLocal" .s:fg_aqua .s:bg_darkcyan .s:fmt_undr
+exe "hi! SpellBad" .s:fg_red .s:bg_darkred .s:fmt_undr
+exe "hi! SpellRare" .s:fg_purple .s:bg_darkpurple .s:fmt_undr
+exe "hi! StatusLine" .s:fg_comment .s:bg_background .s:fmt_revr
+exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_revr
+exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr
+" TabLineFill"
+" TabLineSel"
+exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none
+exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none
+" VisualNos"
+exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none
+" FIXME LongLineWarning to use variables instead of hardcoding
+hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
+" WildMenu"
+
+" Use defined custom background colour for terminal Vim.
+if !has('gui_running') && exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1
+ let s:bg_normal = s:bg_none
+else
+ let s:bg_normal = s:bg_background
+endif
+exe "hi! Normal" .s:fg_foreground .s:bg_normal .s:fmt_none
+
+"}}}
+" Generic Syntax Highlighting: (see :help group-name)"{{{
+" ----------------------------------------------------------------------------
+exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none
+
+exe "hi! Constant" .s:fg_red .s:bg_none .s:fmt_none
+exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none
+" Character"
+" Number"
+" Boolean"
+" Float"
+
+exe "hi! Identifier" .s:fg_purple .s:bg_none .s:fmt_none
+exe "hi! Function" .s:fg_yellow .s:bg_none .s:fmt_none
+
+exe "hi! Statement" .s:fg_blue .s:bg_none .s:fmt_none
+" Conditional"
+" Repeat"
+" Label"
+exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none
+" Keyword"
+" Exception"
+
+exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fmt_none
+" Include"
+" Define"
+" Macro"
+" PreCondit"
+
+exe "hi! Type" .s:fg_orange .s:bg_none .s:fmt_none
+" StorageClass"
+exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none
+" Typedef"
+
+exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none
+" SpecialChar"
+" Tag"
+" Delimiter"
+" SpecialComment"
+" Debug"
+"
+exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none
+
+exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none
+
+exe "hi! Error" .s:fg_red .s:bg_darkred .s:fmt_undr
+
+exe "hi! Todo" .s:fg_addfg .s:bg_none .s:fmt_none
+
+" Quickfix window highlighting
+exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
+" qfFileName"
+" qfLineNr"
+" qfError"
+
+"}}}
+" Diff Syntax Highlighting:"{{{
+" ----------------------------------------------------------------------------
+" Diff
+" diffOldFile
+" diffNewFile
+" diffFile
+" diffOnly
+" diffIdentical
+" diffDiffer
+" diffBDiffer
+" diffIsA
+" diffNoEOL
+" diffCommon
+hi! link diffRemoved Constant
+" diffChanged
+hi! link diffAdded Special
+" diffLine
+" diffSubname
+" diffComment
+
+"}}}
+"
+" This is needed for some reason: {{{
+
+let &background = s:style
+
+" }}}
+" Legal:"{{{
+" ----------------------------------------------------------------------------
+" Copyright (c) 2011 Ethan Schoonover
+" Copyright (c) 2009-2012 NanoTech
+" Copyright (c) 2012 w0ng
+"
+" Permission is hereby granted, free of charge, to any per‐
+" son obtaining a copy of this software and associated doc‐
+" umentation files (the “Software”), to deal in the Soft‐
+" ware without restriction, including without limitation
+" the rights to use, copy, modify, merge, publish, distrib‐
+" ute, sublicense, and/or sell copies of the Software, and
+" to permit persons to whom the Software is furnished to do
+" so, subject to the following conditions:
+"
+" The above copyright notice and this permission notice
+" shall be included in all copies or substantial portions
+" of the Software.
+"
+" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY
+" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐
+" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐
+" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐
+" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+" THE SOFTWARE.
+
+" }}}
diff --git a/nvim/init.vim b/nvim/init.vim
index cfe5eec..dce8052 100644
--- a/nvim/init.vim
+++ b/nvim/init.vim
@@ -18,7 +18,6 @@ set clipboard+=unnamedplus
set smartindent
set smartcase
set incsearch
- set incsearch
" vertical and horizontal splits
set splitbelow splitright
@@ -29,6 +28,9 @@ set clipboard+=unnamedplus
set shiftwidth=4
set expandtab
+" auto convert tabs to spaces at file open
+ autocmd BufReadPost * :retab
+
" removing white spaces
autocmd BufWritePre * %s/\s\+$//e
@@ -49,7 +51,7 @@ set clipboard+=unnamedplus
Plug 'sheerun/vim-polyglot'
Plug 'preservim/nerdtree'
- "Plug 'airblade/vim-gitgutter'
+ Plug 'airblade/vim-gitgutter'
Plug 'tpope/vim-fugitive'
Plug 'andweeb/presence.nvim'
@@ -61,13 +63,19 @@ set clipboard+=unnamedplus
Plug 'github/copilot.vim'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
- Plug 'neovim/nvim-lspconfig' " LSP
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " AST
+ Plug 'neovim/nvim-lspconfig' " LSP
+
+ Plug 'hrsh7th/nvim-cmp'
+ Plug 'hrsh7th/cmp-nvim-lsp'
+ Plug 'hrsh7th/cmp-buffer'
+ Plug 'hrsh7th/cmp-path'
+ Plug 'hrsh7th/cmp-cmdline'
Plug 'ThePrimeagen/vim-be-good'
Plug 'rust-lang/rust.vim'
- "Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
+ Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
call plug#end()
@@ -80,15 +88,10 @@ let g:syntastic_rust_checkers = ['cargo']
" LSP
lua require'lspconfig'.gopls.setup{}
lua require'lspconfig'.pyright.setup{}
-lua require'lspconfig'.tsserver.setup{}
lua require'lspconfig'.rust_analyzer.setup{}
lua require'lspconfig'.bashls.setup{}
lua require'lspconfig'.dartls.setup{}
-
-lua require'lspconfig'.cssls.setup{}
-"lua require'lspconfig'.vuels.setup{}
lua require'lspconfig'.svelte.setup{}
-"lua require'lspconfig'.graphql.setup{}
let g:presence_neovim_image_text="The One True Text Editor"
let g:presence_main_image="file"
@@ -105,8 +108,8 @@ filetype plugin indent on
set noshowmode
"nvim-colorizer settings
-"set termguicolors
-"lua require'colorizer'.setup()
+set termguicolors
+lua require'colorizer'.setup()
""" CtrlP
let g:ctrlp_working_path_mode = 'ra'
@@ -115,10 +118,11 @@ set wildignore+=*/tmp/*,*.so,*.swp,*.zip
inoremap <silent><expr> <TAB> coc#pum#visible() ? coc#pum#confirm() : "\<C-g>u\<TAB>"
" Cursor highlight line
-"hi CursorLine cterm=NONE ctermbg=236
-"hi CursorColumn cterm=NONE ctermbg=236
-"nnoremap <Leader>b :set cursorline! <CR>
-" (Disable/enable) Local cursor line
+hi CursorLine cterm=NONE ctermbg=256
+hi CursorColumn cterm=NONE ctermbg=257
+nnoremap <Leader>b :set cursorline! <CR>
+
+ "(Disable/enable) Local cursor line
"augroup CursorLine
"au!
"au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
@@ -148,13 +152,13 @@ inoremap <silent><expr> <TAB> coc#pum#visible() ? coc#pum#confirm() : "\<C-g>u\<
map K j
" Quick save and exit
-map zz :wq<CR>
-map zx :q!<CR>
-map zs :w<CR>
+ map zz :wq<CR>
+ map zx :q!<CR>
+ map zs :w<CR>
"""NeoVide
if exists("g:neovide")
- set guifont="Inconsolata Nerd:h14"
+ set guifont="Inconsolata Nerd:h12"
"let g:neovide_transparency = 0.8
let g:neovide_cursor_vfx_mode = "pixiedust"
endif