diff options
170 files changed, 20194 insertions, 643 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..e1754c5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,25 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "[Bug report] " +labels: '' +assignees: '' + +--- + +**Describe the bug** +<!-- A clear and concise description of what the bug is. --> + +**Expected behavior** +<!-- A clear and concise description of what you expected to happen. --> + +**Screenshots** +<!-- If applicable, add screenshots to help explain your problem. --> + +**System** +Vim or Neovim: +Vim or Neovim version: +Any other plugins you may consider relevant: + +**Additional context** +<!-- Add any other context about the problem here. --> diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..d6fc74f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: "[Feature request] " +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +<!-- A clear and concise description of what the problem is. --> + +**Describe the solution you'd like** +<!-- A clear and concise description of what you want to happen. --> + +**Describe alternatives you've considered** +<!-- A clear and concise description of any alternative solutions or features you've considered. --> + +**Additional context** +<!-- Add any other context or screenshots about the feature request here. --> diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..d8e1e7b --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,11 @@ +# Description + +<!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. --> + +Fixes #ISSUE_NUMBER + +# Checklist + +- [ ] I have built the project after my changes following [the build instructions](https://github.com/fnune/base16-vim#building) using `make build` +- [ ] I have confirmed that my changes produce no regressions after building +- [ ] I have pushed the built files to this pull request diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..aed0bdc --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,25 @@ +name: Update the repository with the latest base16 colorschemes +on: + schedule: + - cron: "0 0 * * 0" # https://crontab.guru/every-week +jobs: + run: + runs-on: ubuntu-latest + steps: + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: 3.8 + - name: Upgrade pip + run: python -m pip install --upgrade pip + - name: Install pybase16 + run: pip install pybase16-builder + - name: Fetch the repository code + uses: actions/checkout@v2 + - name: Run make + run: make + - name: Commit the changes, if any + uses: stefanzweifel/git-auto-commit-action@v4.1.1 + with: + commit_message: Update repository with the latest base16 colorschemes + branch: ${{ github.head_ref }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01e3d91 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +sources +schemes +sources.yaml + +templates/* + +!/templates/config.yaml +!/templates/default.mustache diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..555bdfc --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +# Ref: https://github.com/theova/base16-qutebrowser +.PHONY: all clean update build + +BUILD=pybase16 +REPO=$(shell pwd) +TEMPLATE=$(shell basename ${REPO}) +THEME_DIR=colors +TEMPLATE_DIR=templates +OUTPUT=output + +all: update build + +update: + $(BUILD) update + +build: + $(BUILD) build -t ${REPO} -o ${OUTPUT} + rm -rf ${THEME_DIR} + mv ${OUTPUT}/${TEMPLATE}/${THEME_DIR}/ ${THEME_DIR}/ + +clean: + rm -rf ${OUTPUT} ${TEMPLATE_DIR}/*/ @@ -1,10 +1,13 @@ +| This is a fork of [chriskempson](https://github.com/chriskempson)'s [base16-vim](https://github.com/chriskempson/base16-vim) which refreshes and commits new themes weekly automatically and has a documented build process. | +| --- | + # Base16 Vim -See the [Base16 repository](https://github.com/chriskempson/base16) for more information. -This theme was built with [Base16 Builder PHP](https://github.com/chriskempson/base16-builder-php). +See the [Base16 repository](https://github.com/chriskempson/base16) for more information. +This theme was built with [base16-builder-python](https://github.com/InspectorMustache/base16-builder-python). Supports graphical Vim and console Vim. -![Base16 Vim](https://raw.github.com/chriskempson/base16-vim/master/base16-vim.png) +![Base16 Vim](https://raw.github.com/fnune/base16-vim/master/base16-vim.png) ## Terminal Themes For terminal Vim (non-gui) please ensure you are using a base16 terminal theme. @@ -18,33 +21,33 @@ Add `colorscheme base16-default-dark` to your `~/.vimrc`. ### Vundle Add the following to your `~/.vimrc` file and run `PluginInstall` in Vim. - Plugin 'chriskempson/base16-vim' + Plugin 'fnune/base16-vim' ### vim-plug Add the following to your `~/.vimrc` file and run `PlugInstall` in Vim. - Plug 'chriskempson/base16-vim' + Plug 'fnune/base16-vim' ### Pathogen cd ~/.vim/bundle - git clone https://github.com/chriskempson/base16-vim.git + git clone https://github.com/fnune/base16-vim.git ### Manual cd ~/.vim/colors - git clone git://github.com/chriskempson/base16-vim.git base16 + git clone git://github.com/fnune/base16-vim.git base16 cp base16/colors/*.vim . - -## 256 colorspace + +## 256 colorspace If using a Base16 terminal theme designed to keep the 16 ANSI colors intact (a "256" variation) **and** have sucessfully modified your 256 colorspace with [base16-shell](https://github.com/chriskempson/base16-shell) you'll need to add the following to your `~/.vimrc` **before** the colorsheme declaration. let base16colorspace=256 " Access colors present in 256 colorspace -This will cause vim to access the colours in the modified 256 colorspace. Please **do not** enable this simply because you have a 256 color terminal as this will cause colors to be displayed incorrectly. +This will cause vim to access the colours in the modified 256 colorspace. Please **do not** enable this simply because you have a 256 color terminal as this will cause colors to be displayed incorrectly. ## Troubleshooting -There is a script to help troubleshoot colour issues called `colortest` available in the [Base16 Shell](https://github.com/chriskempson/base16-shell) repository. +There is a script to help troubleshoot colour issues called `colortest` available in the [Base16 Shell](https://github.com/fnune/base16-shell) repository. If you are using a ISO-8613-3 compatible terminal ( [vim docs](https://github.com/vim/vim/blob/23c1b2b018c8121ca5fcc247e37966428bf8ca66/runtime/doc/options.txt#L7876), @@ -63,7 +66,7 @@ If your Vim looks like the above image you are using a 256 terminal theme withou ### Blue line numbers ![blue line numbers screenshot](https://raw.github.com/chriskempson/base16-vim/master/with-base16colorspace-256-without-base16-shell.png) -If your Vim looks like the above image you are setting `let base16colorspace=256` in your `~/.vimrc` but either not running [Base16 Shell](https://github.com/chriskempson/base16-shell) or [Base16 Shell](https://github.com/chriskempson/base16-shell) is not working for your terminal. Either ensure [Base16 Shell](https://github.com/chriskempson/base16-shell) is working by running the `colortest` available in the [Base16 Shell](https://github.com/chriskempson/base16-shell) repository or not setting `let base16colorspace=256` in your `~/.vimrc`. +If your Vim looks like the above image you are setting `let base16colorspace=256` in your `~/.vimrc` but either not running [Base16 Shell](https://github.com/fnune/base16-shell) or [Base16 Shell](https://github.com/fnune/base16-shell) is not working for your terminal. Either ensure [Base16 Shell](https://github.com/fnune/base16-shell) is working by running the `colortest` available in the [Base16 Shell](https://github.com/fnune/base16-shell) repository or not setting `let base16colorspace=256` in your `~/.vimrc`. ## Customization If you want to do some local customization, you can add something like this to your `~/.vimrc`: @@ -78,3 +81,19 @@ augroup on_change_colorschema autocmd ColorScheme * call s:base16_customize() augroup END ``` + +## Building +Dependencies: + +- Python, at least version 3.5 +- The `pybase16` command from [base16-builder-python](https://github.com/InspectorMustache/base16-builder-python) +- The `make` command + +``` +# Install dependencies (you probably already have pip/pip3 and make) +apt install build-essential # for make +pip3 install pybase16-builder + +# Build the packages +make +``` diff --git a/colors/base16-3024.vim b/colors/base16-3024.vim index 5327b35..ef26387 100644 --- a/colors/base16-3024.vim +++ b/colors/base16-3024.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-apathy.vim b/colors/base16-apathy.vim index da14b02..fda041e 100644 --- a/colors/base16-apathy.vim +++ b/colors/base16-apathy.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-ashes.vim b/colors/base16-ashes.vim index 516c8b4..81b5043 100644 --- a/colors/base16-ashes.vim +++ b/colors/base16-ashes.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-cave-light.vim b/colors/base16-atelier-cave-light.vim index 5eda1c6..12b6e02 100644 --- a/colors/base16-atelier-cave-light.vim +++ b/colors/base16-atelier-cave-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-cave.vim b/colors/base16-atelier-cave.vim index 45e6cd8..6e8d894 100644 --- a/colors/base16-atelier-cave.vim +++ b/colors/base16-atelier-cave.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-dune-light.vim b/colors/base16-atelier-dune-light.vim index f020dc3..1cd0207 100644 --- a/colors/base16-atelier-dune-light.vim +++ b/colors/base16-atelier-dune-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-dune.vim b/colors/base16-atelier-dune.vim index b7fbe34..b7eeea9 100644 --- a/colors/base16-atelier-dune.vim +++ b/colors/base16-atelier-dune.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-estuary-light.vim b/colors/base16-atelier-estuary-light.vim index 7dd9993..a286c6e 100644 --- a/colors/base16-atelier-estuary-light.vim +++ b/colors/base16-atelier-estuary-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-estuary.vim b/colors/base16-atelier-estuary.vim index 6077ada..496c90a 100644 --- a/colors/base16-atelier-estuary.vim +++ b/colors/base16-atelier-estuary.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-forest-light.vim b/colors/base16-atelier-forest-light.vim index e4b6193..74fe168 100644 --- a/colors/base16-atelier-forest-light.vim +++ b/colors/base16-atelier-forest-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-forest.vim b/colors/base16-atelier-forest.vim index 9f35c9b..c389931 100644 --- a/colors/base16-atelier-forest.vim +++ b/colors/base16-atelier-forest.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-heath-light.vim b/colors/base16-atelier-heath-light.vim index b816524..87aabfe 100644 --- a/colors/base16-atelier-heath-light.vim +++ b/colors/base16-atelier-heath-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-heath.vim b/colors/base16-atelier-heath.vim index af8242b..e9cee2d 100644 --- a/colors/base16-atelier-heath.vim +++ b/colors/base16-atelier-heath.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-lakeside-light.vim b/colors/base16-atelier-lakeside-light.vim index d0dd623..a1bd3ea 100644 --- a/colors/base16-atelier-lakeside-light.vim +++ b/colors/base16-atelier-lakeside-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-lakeside.vim b/colors/base16-atelier-lakeside.vim index 9872a10..75f9423 100644 --- a/colors/base16-atelier-lakeside.vim +++ b/colors/base16-atelier-lakeside.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-plateau-light.vim b/colors/base16-atelier-plateau-light.vim index 488ca7b..bcafa11 100644 --- a/colors/base16-atelier-plateau-light.vim +++ b/colors/base16-atelier-plateau-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-plateau.vim b/colors/base16-atelier-plateau.vim index 3c55db7..23536d3 100644 --- a/colors/base16-atelier-plateau.vim +++ b/colors/base16-atelier-plateau.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-savanna-light.vim b/colors/base16-atelier-savanna-light.vim index 5e10447..a5b6e13 100644 --- a/colors/base16-atelier-savanna-light.vim +++ b/colors/base16-atelier-savanna-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-savanna.vim b/colors/base16-atelier-savanna.vim index 36631fc..ee05b6f 100644 --- a/colors/base16-atelier-savanna.vim +++ b/colors/base16-atelier-savanna.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-seaside-light.vim b/colors/base16-atelier-seaside-light.vim index 2af5ac2..40e3535 100644 --- a/colors/base16-atelier-seaside-light.vim +++ b/colors/base16-atelier-seaside-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-seaside.vim b/colors/base16-atelier-seaside.vim index d946a62..bb54fff 100644 --- a/colors/base16-atelier-seaside.vim +++ b/colors/base16-atelier-seaside.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-sulphurpool-light.vim b/colors/base16-atelier-sulphurpool-light.vim index d32751f..7bb65bb 100644 --- a/colors/base16-atelier-sulphurpool-light.vim +++ b/colors/base16-atelier-sulphurpool-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atelier-sulphurpool.vim b/colors/base16-atelier-sulphurpool.vim index 48c21fe..c51d7e3 100644 --- a/colors/base16-atelier-sulphurpool.vim +++ b/colors/base16-atelier-sulphurpool.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-atlas.vim b/colors/base16-atlas.vim index ffab561..bace4d5 100644 --- a/colors/base16-atlas.vim +++ b/colors/base16-atlas.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-bespin.vim b/colors/base16-bespin.vim index c9eab75..f109e92 100644 --- a/colors/base16-bespin.vim +++ b/colors/base16-bespin.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-bathory.vim b/colors/base16-black-metal-bathory.vim index 80b7afb..b8b96d3 100644 --- a/colors/base16-black-metal-bathory.vim +++ b/colors/base16-black-metal-bathory.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-burzum.vim b/colors/base16-black-metal-burzum.vim index 7863a1b..8bfb609 100644 --- a/colors/base16-black-metal-burzum.vim +++ b/colors/base16-black-metal-burzum.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-dark-funeral.vim b/colors/base16-black-metal-dark-funeral.vim index 6adc1f5..577fd37 100644 --- a/colors/base16-black-metal-dark-funeral.vim +++ b/colors/base16-black-metal-dark-funeral.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-gorgoroth.vim b/colors/base16-black-metal-gorgoroth.vim index 9a68945..99806dc 100644 --- a/colors/base16-black-metal-gorgoroth.vim +++ b/colors/base16-black-metal-gorgoroth.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-immortal.vim b/colors/base16-black-metal-immortal.vim index 90f1c94..1516fc1 100644 --- a/colors/base16-black-metal-immortal.vim +++ b/colors/base16-black-metal-immortal.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-khold.vim b/colors/base16-black-metal-khold.vim index 3a8e750..3d749eb 100644 --- a/colors/base16-black-metal-khold.vim +++ b/colors/base16-black-metal-khold.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-marduk.vim b/colors/base16-black-metal-marduk.vim index 5edccc7..9c385f1 100644 --- a/colors/base16-black-metal-marduk.vim +++ b/colors/base16-black-metal-marduk.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-mayhem.vim b/colors/base16-black-metal-mayhem.vim index 3f490d9..f7d92d1 100644 --- a/colors/base16-black-metal-mayhem.vim +++ b/colors/base16-black-metal-mayhem.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-nile.vim b/colors/base16-black-metal-nile.vim index f3b7426..f93a67b 100644 --- a/colors/base16-black-metal-nile.vim +++ b/colors/base16-black-metal-nile.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal-venom.vim b/colors/base16-black-metal-venom.vim index b94d621..8e466e1 100644 --- a/colors/base16-black-metal-venom.vim +++ b/colors/base16-black-metal-venom.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-black-metal.vim b/colors/base16-black-metal.vim index eb44ef5..8ced04a 100644 --- a/colors/base16-black-metal.vim +++ b/colors/base16-black-metal.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-brewer.vim b/colors/base16-brewer.vim index ac85dab..9a7582d 100644 --- a/colors/base16-brewer.vim +++ b/colors/base16-brewer.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-bright.vim b/colors/base16-bright.vim index 7f94e6f..81ce64f 100644 --- a/colors/base16-bright.vim +++ b/colors/base16-bright.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-brogrammer.vim b/colors/base16-brogrammer.vim index 4579ba9..9a50e47 100644 --- a/colors/base16-brogrammer.vim +++ b/colors/base16-brogrammer.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-brushtrees-dark.vim b/colors/base16-brushtrees-dark.vim index 9654bd4..ccbe893 100644 --- a/colors/base16-brushtrees-dark.vim +++ b/colors/base16-brushtrees-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-brushtrees.vim b/colors/base16-brushtrees.vim index c207903..7dcc690 100644 --- a/colors/base16-brushtrees.vim +++ b/colors/base16-brushtrees.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-chalk.vim b/colors/base16-chalk.vim index 63c457d..caa856d 100644 --- a/colors/base16-chalk.vim +++ b/colors/base16-chalk.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-circus.vim b/colors/base16-circus.vim index 5c83993..7bd05c7 100644 --- a/colors/base16-circus.vim +++ b/colors/base16-circus.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-classic-dark.vim b/colors/base16-classic-dark.vim index 58e05ec..22d1237 100644 --- a/colors/base16-classic-dark.vim +++ b/colors/base16-classic-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-classic-light.vim b/colors/base16-classic-light.vim index f70be3c..aba9c86 100644 --- a/colors/base16-classic-light.vim +++ b/colors/base16-classic-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-codeschool.vim b/colors/base16-codeschool.vim index 1167208..67821be 100644 --- a/colors/base16-codeschool.vim +++ b/colors/base16-codeschool.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-cupcake.vim b/colors/base16-cupcake.vim index e0233f9..c8cb367 100644 --- a/colors/base16-cupcake.vim +++ b/colors/base16-cupcake.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-cupertino.vim b/colors/base16-cupertino.vim index 8a1d0d8..95dd4c4 100644 --- a/colors/base16-cupertino.vim +++ b/colors/base16-cupertino.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-darkmoss.vim b/colors/base16-darkmoss.vim new file mode 100644 index 0000000..d07438b --- /dev/null +++ b/colors/base16-darkmoss.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" darkmoss scheme by Gabriel Avanzi (https://github.com/avanzzzi) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-darkmoss.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "171e1f" +let g:base16_gui00 = "171e1f" +let s:gui01 = "252c2d" +let g:base16_gui01 = "252c2d" +let s:gui02 = "373c3d" +let g:base16_gui02 = "373c3d" +let s:gui03 = "555e5f" +let g:base16_gui03 = "555e5f" +let s:gui04 = "818f80" +let g:base16_gui04 = "818f80" +let s:gui05 = "c7c7a5" +let g:base16_gui05 = "c7c7a5" +let s:gui06 = "e3e3c8" +let g:base16_gui06 = "e3e3c8" +let s:gui07 = "e1eaef" +let g:base16_gui07 = "e1eaef" +let s:gui08 = "ff4658" +let g:base16_gui08 = "ff4658" +let s:gui09 = "e6db74" +let g:base16_gui09 = "e6db74" +let s:gui0A = "fdb11f" +let g:base16_gui0A = "fdb11f" +let s:gui0B = "499180" +let g:base16_gui0B = "499180" +let s:gui0C = "66d9ef" +let g:base16_gui0C = "66d9ef" +let s:gui0D = "498091" +let g:base16_gui0D = "498091" +let s:gui0E = "9bc0c8" +let g:base16_gui0E = "9bc0c8" +let s:gui0F = "d27b53" +let g:base16_gui0F = "d27b53" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#171e1f" + let g:terminal_color_1 = "#ff4658" + let g:terminal_color_2 = "#499180" + let g:terminal_color_3 = "#fdb11f" + let g:terminal_color_4 = "#498091" + let g:terminal_color_5 = "#9bc0c8" + let g:terminal_color_6 = "#66d9ef" + let g:terminal_color_7 = "#c7c7a5" + let g:terminal_color_8 = "#555e5f" + let g:terminal_color_9 = "#ff4658" + let g:terminal_color_10 = "#499180" + let g:terminal_color_11 = "#fdb11f" + let g:terminal_color_12 = "#498091" + let g:terminal_color_13 = "#9bc0c8" + let g:terminal_color_14 = "#66d9ef" + let g:terminal_color_15 = "#e1eaef" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#171e1f", + \ "#ff4658", + \ "#499180", + \ "#fdb11f", + \ "#498091", + \ "#9bc0c8", + \ "#66d9ef", + \ "#c7c7a5", + \ "#555e5f", + \ "#ff4658", + \ "#499180", + \ "#fdb11f", + \ "#498091", + \ "#9bc0c8", + \ "#66d9ef", + \ "#e1eaef", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-darkmoss" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-darktooth.vim b/colors/base16-darktooth.vim index 68d31c7..1a65726 100644 --- a/colors/base16-darktooth.vim +++ b/colors/base16-darktooth.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-darkviolet.vim b/colors/base16-darkviolet.vim new file mode 100644 index 0000000..d99bca2 --- /dev/null +++ b/colors/base16-darkviolet.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Dark Violet scheme by ruler501 (https://github.com/ruler501/base16-darkviolet) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-darkviolet.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "000000" +let g:base16_gui00 = "000000" +let s:gui01 = "231a40" +let g:base16_gui01 = "231a40" +let s:gui02 = "432d59" +let g:base16_gui02 = "432d59" +let s:gui03 = "593380" +let g:base16_gui03 = "593380" +let s:gui04 = "00ff00" +let g:base16_gui04 = "00ff00" +let s:gui05 = "b08ae6" +let g:base16_gui05 = "b08ae6" +let s:gui06 = "9045e6" +let g:base16_gui06 = "9045e6" +let s:gui07 = "a366ff" +let g:base16_gui07 = "a366ff" +let s:gui08 = "a82ee6" +let g:base16_gui08 = "a82ee6" +let s:gui09 = "bb66cc" +let g:base16_gui09 = "bb66cc" +let s:gui0A = "f29df2" +let g:base16_gui0A = "f29df2" +let s:gui0B = "4595e6" +let g:base16_gui0B = "4595e6" +let s:gui0C = "40dfff" +let g:base16_gui0C = "40dfff" +let s:gui0D = "4136d9" +let g:base16_gui0D = "4136d9" +let s:gui0E = "7e5ce6" +let g:base16_gui0E = "7e5ce6" +let s:gui0F = "a886bf" +let g:base16_gui0F = "a886bf" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#000000" + let g:terminal_color_1 = "#a82ee6" + let g:terminal_color_2 = "#4595e6" + let g:terminal_color_3 = "#f29df2" + let g:terminal_color_4 = "#4136d9" + let g:terminal_color_5 = "#7e5ce6" + let g:terminal_color_6 = "#40dfff" + let g:terminal_color_7 = "#b08ae6" + let g:terminal_color_8 = "#593380" + let g:terminal_color_9 = "#a82ee6" + let g:terminal_color_10 = "#4595e6" + let g:terminal_color_11 = "#f29df2" + let g:terminal_color_12 = "#4136d9" + let g:terminal_color_13 = "#7e5ce6" + let g:terminal_color_14 = "#40dfff" + let g:terminal_color_15 = "#a366ff" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#000000", + \ "#a82ee6", + \ "#4595e6", + \ "#f29df2", + \ "#4136d9", + \ "#7e5ce6", + \ "#40dfff", + \ "#b08ae6", + \ "#593380", + \ "#a82ee6", + \ "#4595e6", + \ "#f29df2", + \ "#4136d9", + \ "#7e5ce6", + \ "#40dfff", + \ "#a366ff", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-darkviolet" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-decaf.vim b/colors/base16-decaf.vim new file mode 100644 index 0000000..080909d --- /dev/null +++ b/colors/base16-decaf.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Decaf scheme by Alex Mirrington (https://github.com/alexmirrington) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-decaf.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "2d2d2d" +let g:base16_gui00 = "2d2d2d" +let s:gui01 = "393939" +let g:base16_gui01 = "393939" +let s:gui02 = "515151" +let g:base16_gui02 = "515151" +let s:gui03 = "777777" +let g:base16_gui03 = "777777" +let s:gui04 = "b4b7b4" +let g:base16_gui04 = "b4b7b4" +let s:gui05 = "cccccc" +let g:base16_gui05 = "cccccc" +let s:gui06 = "e0e0e0" +let g:base16_gui06 = "e0e0e0" +let s:gui07 = "ffffff" +let g:base16_gui07 = "ffffff" +let s:gui08 = "ff7f7b" +let g:base16_gui08 = "ff7f7b" +let s:gui09 = "ffbf70" +let g:base16_gui09 = "ffbf70" +let s:gui0A = "ffd67c" +let g:base16_gui0A = "ffd67c" +let s:gui0B = "beda78" +let g:base16_gui0B = "beda78" +let s:gui0C = "bed6ff" +let g:base16_gui0C = "bed6ff" +let s:gui0D = "90bee1" +let g:base16_gui0D = "90bee1" +let s:gui0E = "efb3f7" +let g:base16_gui0E = "efb3f7" +let s:gui0F = "ff93b3" +let g:base16_gui0F = "ff93b3" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#2d2d2d" + let g:terminal_color_1 = "#ff7f7b" + let g:terminal_color_2 = "#beda78" + let g:terminal_color_3 = "#ffd67c" + let g:terminal_color_4 = "#90bee1" + let g:terminal_color_5 = "#efb3f7" + let g:terminal_color_6 = "#bed6ff" + let g:terminal_color_7 = "#cccccc" + let g:terminal_color_8 = "#777777" + let g:terminal_color_9 = "#ff7f7b" + let g:terminal_color_10 = "#beda78" + let g:terminal_color_11 = "#ffd67c" + let g:terminal_color_12 = "#90bee1" + let g:terminal_color_13 = "#efb3f7" + let g:terminal_color_14 = "#bed6ff" + let g:terminal_color_15 = "#ffffff" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#2d2d2d", + \ "#ff7f7b", + \ "#beda78", + \ "#ffd67c", + \ "#90bee1", + \ "#efb3f7", + \ "#bed6ff", + \ "#cccccc", + \ "#777777", + \ "#ff7f7b", + \ "#beda78", + \ "#ffd67c", + \ "#90bee1", + \ "#efb3f7", + \ "#bed6ff", + \ "#ffffff", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-decaf" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-default-dark.vim b/colors/base16-default-dark.vim index 1b13793..2dcff3a 100644 --- a/colors/base16-default-dark.vim +++ b/colors/base16-default-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-default-light.vim b/colors/base16-default-light.vim index 4e6d410..1807bf9 100644 --- a/colors/base16-default-light.vim +++ b/colors/base16-default-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-dirtysea.vim b/colors/base16-dirtysea.vim new file mode 100644 index 0000000..ac0956d --- /dev/null +++ b/colors/base16-dirtysea.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" dirtysea scheme by Kahlil (Kal) Hodgson + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-dirtysea.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "e0e0e0" +let g:base16_gui00 = "e0e0e0" +let s:gui01 = "d0dad0" +let g:base16_gui01 = "d0dad0" +let s:gui02 = "d0d0d0" +let g:base16_gui02 = "d0d0d0" +let s:gui03 = "707070" +let g:base16_gui03 = "707070" +let s:gui04 = "202020" +let g:base16_gui04 = "202020" +let s:gui05 = "000000" +let g:base16_gui05 = "000000" +let s:gui06 = "f8f8f8" +let g:base16_gui06 = "f8f8f8" +let s:gui07 = "c4d9c4" +let g:base16_gui07 = "c4d9c4" +let s:gui08 = "840000" +let g:base16_gui08 = "840000" +let s:gui09 = "006565" +let g:base16_gui09 = "006565" +let s:gui0A = "755B00" +let g:base16_gui0A = "755B00" +let s:gui0B = "730073" +let g:base16_gui0B = "730073" +let s:gui0C = "755B00" +let g:base16_gui0C = "755B00" +let s:gui0D = "007300" +let g:base16_gui0D = "007300" +let s:gui0E = "000090" +let g:base16_gui0E = "000090" +let s:gui0F = "755B00" +let g:base16_gui0F = "755B00" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#e0e0e0" + let g:terminal_color_1 = "#840000" + let g:terminal_color_2 = "#730073" + let g:terminal_color_3 = "#755B00" + let g:terminal_color_4 = "#007300" + let g:terminal_color_5 = "#000090" + let g:terminal_color_6 = "#755B00" + let g:terminal_color_7 = "#000000" + let g:terminal_color_8 = "#707070" + let g:terminal_color_9 = "#840000" + let g:terminal_color_10 = "#730073" + let g:terminal_color_11 = "#755B00" + let g:terminal_color_12 = "#007300" + let g:terminal_color_13 = "#000090" + let g:terminal_color_14 = "#755B00" + let g:terminal_color_15 = "#c4d9c4" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#e0e0e0", + \ "#840000", + \ "#730073", + \ "#755B00", + \ "#007300", + \ "#000090", + \ "#755B00", + \ "#000000", + \ "#707070", + \ "#840000", + \ "#730073", + \ "#755B00", + \ "#007300", + \ "#000090", + \ "#755B00", + \ "#c4d9c4", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-dirtysea" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-dracula.vim b/colors/base16-dracula.vim index fbd0f4b..4257747 100644 --- a/colors/base16-dracula.vim +++ b/colors/base16-dracula.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-edge-dark.vim b/colors/base16-edge-dark.vim new file mode 100644 index 0000000..7266613 --- /dev/null +++ b/colors/base16-edge-dark.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Edge Dark scheme by cjayross (https://github.com/cjayross) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-edge-dark.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "262729" +let g:base16_gui00 = "262729" +let s:gui01 = "88909f" +let g:base16_gui01 = "88909f" +let s:gui02 = "b7bec9" +let g:base16_gui02 = "b7bec9" +let s:gui03 = "3e4249" +let g:base16_gui03 = "3e4249" +let s:gui04 = "73b3e7" +let g:base16_gui04 = "73b3e7" +let s:gui05 = "b7bec9" +let g:base16_gui05 = "b7bec9" +let s:gui06 = "d390e7" +let g:base16_gui06 = "d390e7" +let s:gui07 = "3e4249" +let g:base16_gui07 = "3e4249" +let s:gui08 = "e77171" +let g:base16_gui08 = "e77171" +let s:gui09 = "e77171" +let g:base16_gui09 = "e77171" +let s:gui0A = "dbb774" +let g:base16_gui0A = "dbb774" +let s:gui0B = "a1bf78" +let g:base16_gui0B = "a1bf78" +let s:gui0C = "5ebaa5" +let g:base16_gui0C = "5ebaa5" +let s:gui0D = "73b3e7" +let g:base16_gui0D = "73b3e7" +let s:gui0E = "d390e7" +let g:base16_gui0E = "d390e7" +let s:gui0F = "5ebaa5" +let g:base16_gui0F = "5ebaa5" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#262729" + let g:terminal_color_1 = "#e77171" + let g:terminal_color_2 = "#a1bf78" + let g:terminal_color_3 = "#dbb774" + let g:terminal_color_4 = "#73b3e7" + let g:terminal_color_5 = "#d390e7" + let g:terminal_color_6 = "#5ebaa5" + let g:terminal_color_7 = "#b7bec9" + let g:terminal_color_8 = "#3e4249" + let g:terminal_color_9 = "#e77171" + let g:terminal_color_10 = "#a1bf78" + let g:terminal_color_11 = "#dbb774" + let g:terminal_color_12 = "#73b3e7" + let g:terminal_color_13 = "#d390e7" + let g:terminal_color_14 = "#5ebaa5" + let g:terminal_color_15 = "#3e4249" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#262729", + \ "#e77171", + \ "#a1bf78", + \ "#dbb774", + \ "#73b3e7", + \ "#d390e7", + \ "#5ebaa5", + \ "#b7bec9", + \ "#3e4249", + \ "#e77171", + \ "#a1bf78", + \ "#dbb774", + \ "#73b3e7", + \ "#d390e7", + \ "#5ebaa5", + \ "#3e4249", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-edge-dark" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-edge-light.vim b/colors/base16-edge-light.vim new file mode 100644 index 0000000..79fdda3 --- /dev/null +++ b/colors/base16-edge-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Edge Light scheme by cjayross (https://github.com/cjayross) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-edge-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "fafafa" +let g:base16_gui00 = "fafafa" +let s:gui01 = "7c9f4b" +let g:base16_gui01 = "7c9f4b" +let s:gui02 = "d69822" +let g:base16_gui02 = "d69822" +let s:gui03 = "5e646f" +let g:base16_gui03 = "5e646f" +let s:gui04 = "6587bf" +let g:base16_gui04 = "6587bf" +let s:gui05 = "5e646f" +let g:base16_gui05 = "5e646f" +let s:gui06 = "b870ce" +let g:base16_gui06 = "b870ce" +let s:gui07 = "5e646f" +let g:base16_gui07 = "5e646f" +let s:gui08 = "db7070" +let g:base16_gui08 = "db7070" +let s:gui09 = "db7070" +let g:base16_gui09 = "db7070" +let s:gui0A = "d69822" +let g:base16_gui0A = "d69822" +let s:gui0B = "7c9f4b" +let g:base16_gui0B = "7c9f4b" +let s:gui0C = "509c93" +let g:base16_gui0C = "509c93" +let s:gui0D = "6587bf" +let g:base16_gui0D = "6587bf" +let s:gui0E = "b870ce" +let g:base16_gui0E = "b870ce" +let s:gui0F = "509c93" +let g:base16_gui0F = "509c93" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#fafafa" + let g:terminal_color_1 = "#db7070" + let g:terminal_color_2 = "#7c9f4b" + let g:terminal_color_3 = "#d69822" + let g:terminal_color_4 = "#6587bf" + let g:terminal_color_5 = "#b870ce" + let g:terminal_color_6 = "#509c93" + let g:terminal_color_7 = "#5e646f" + let g:terminal_color_8 = "#5e646f" + let g:terminal_color_9 = "#db7070" + let g:terminal_color_10 = "#7c9f4b" + let g:terminal_color_11 = "#d69822" + let g:terminal_color_12 = "#6587bf" + let g:terminal_color_13 = "#b870ce" + let g:terminal_color_14 = "#509c93" + let g:terminal_color_15 = "#5e646f" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#fafafa", + \ "#db7070", + \ "#7c9f4b", + \ "#d69822", + \ "#6587bf", + \ "#b870ce", + \ "#509c93", + \ "#5e646f", + \ "#5e646f", + \ "#db7070", + \ "#7c9f4b", + \ "#d69822", + \ "#6587bf", + \ "#b870ce", + \ "#509c93", + \ "#5e646f", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-edge-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-eighties.vim b/colors/base16-eighties.vim index db81e9f..cc95bb2 100644 --- a/colors/base16-eighties.vim +++ b/colors/base16-eighties.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-embers.vim b/colors/base16-embers.vim index a5bfafd..a0c163a 100644 --- a/colors/base16-embers.vim +++ b/colors/base16-embers.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-equilibrium-dark.vim b/colors/base16-equilibrium-dark.vim new file mode 100644 index 0000000..a79493e --- /dev/null +++ b/colors/base16-equilibrium-dark.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Equilibrium Dark scheme by Carlo Abelli + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-equilibrium-dark.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "0c1118" +let g:base16_gui00 = "0c1118" +let s:gui01 = "181c22" +let g:base16_gui01 = "181c22" +let s:gui02 = "22262d" +let g:base16_gui02 = "22262d" +let s:gui03 = "7b776e" +let g:base16_gui03 = "7b776e" +let s:gui04 = "949088" +let g:base16_gui04 = "949088" +let s:gui05 = "afaba2" +let g:base16_gui05 = "afaba2" +let s:gui06 = "cac6bd" +let g:base16_gui06 = "cac6bd" +let s:gui07 = "e7e2d9" +let g:base16_gui07 = "e7e2d9" +let s:gui08 = "f04339" +let g:base16_gui08 = "f04339" +let s:gui09 = "df5923" +let g:base16_gui09 = "df5923" +let s:gui0A = "bb8801" +let g:base16_gui0A = "bb8801" +let s:gui0B = "7f8b00" +let g:base16_gui0B = "7f8b00" +let s:gui0C = "00948b" +let g:base16_gui0C = "00948b" +let s:gui0D = "008dd1" +let g:base16_gui0D = "008dd1" +let s:gui0E = "6a7fd2" +let g:base16_gui0E = "6a7fd2" +let s:gui0F = "e3488e" +let g:base16_gui0F = "e3488e" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#0c1118" + let g:terminal_color_1 = "#f04339" + let g:terminal_color_2 = "#7f8b00" + let g:terminal_color_3 = "#bb8801" + let g:terminal_color_4 = "#008dd1" + let g:terminal_color_5 = "#6a7fd2" + let g:terminal_color_6 = "#00948b" + let g:terminal_color_7 = "#afaba2" + let g:terminal_color_8 = "#7b776e" + let g:terminal_color_9 = "#f04339" + let g:terminal_color_10 = "#7f8b00" + let g:terminal_color_11 = "#bb8801" + let g:terminal_color_12 = "#008dd1" + let g:terminal_color_13 = "#6a7fd2" + let g:terminal_color_14 = "#00948b" + let g:terminal_color_15 = "#e7e2d9" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#0c1118", + \ "#f04339", + \ "#7f8b00", + \ "#bb8801", + \ "#008dd1", + \ "#6a7fd2", + \ "#00948b", + \ "#afaba2", + \ "#7b776e", + \ "#f04339", + \ "#7f8b00", + \ "#bb8801", + \ "#008dd1", + \ "#6a7fd2", + \ "#00948b", + \ "#e7e2d9", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-equilibrium-dark" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-equilibrium-gray-dark.vim b/colors/base16-equilibrium-gray-dark.vim new file mode 100644 index 0000000..4a4c8cc --- /dev/null +++ b/colors/base16-equilibrium-gray-dark.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Equilibrium Gray Dark scheme by Carlo Abelli + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-equilibrium-gray-dark.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "111111" +let g:base16_gui00 = "111111" +let s:gui01 = "1b1b1b" +let g:base16_gui01 = "1b1b1b" +let s:gui02 = "262626" +let g:base16_gui02 = "262626" +let s:gui03 = "777777" +let g:base16_gui03 = "777777" +let s:gui04 = "919191" +let g:base16_gui04 = "919191" +let s:gui05 = "ababab" +let g:base16_gui05 = "ababab" +let s:gui06 = "c6c6c6" +let g:base16_gui06 = "c6c6c6" +let s:gui07 = "e2e2e2" +let g:base16_gui07 = "e2e2e2" +let s:gui08 = "f04339" +let g:base16_gui08 = "f04339" +let s:gui09 = "df5923" +let g:base16_gui09 = "df5923" +let s:gui0A = "bb8801" +let g:base16_gui0A = "bb8801" +let s:gui0B = "7f8b00" +let g:base16_gui0B = "7f8b00" +let s:gui0C = "00948b" +let g:base16_gui0C = "00948b" +let s:gui0D = "008dd1" +let g:base16_gui0D = "008dd1" +let s:gui0E = "6a7fd2" +let g:base16_gui0E = "6a7fd2" +let s:gui0F = "e3488e" +let g:base16_gui0F = "e3488e" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#111111" + let g:terminal_color_1 = "#f04339" + let g:terminal_color_2 = "#7f8b00" + let g:terminal_color_3 = "#bb8801" + let g:terminal_color_4 = "#008dd1" + let g:terminal_color_5 = "#6a7fd2" + let g:terminal_color_6 = "#00948b" + let g:terminal_color_7 = "#ababab" + let g:terminal_color_8 = "#777777" + let g:terminal_color_9 = "#f04339" + let g:terminal_color_10 = "#7f8b00" + let g:terminal_color_11 = "#bb8801" + let g:terminal_color_12 = "#008dd1" + let g:terminal_color_13 = "#6a7fd2" + let g:terminal_color_14 = "#00948b" + let g:terminal_color_15 = "#e2e2e2" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#111111", + \ "#f04339", + \ "#7f8b00", + \ "#bb8801", + \ "#008dd1", + \ "#6a7fd2", + \ "#00948b", + \ "#ababab", + \ "#777777", + \ "#f04339", + \ "#7f8b00", + \ "#bb8801", + \ "#008dd1", + \ "#6a7fd2", + \ "#00948b", + \ "#e2e2e2", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-equilibrium-gray-dark" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-equilibrium-gray-light.vim b/colors/base16-equilibrium-gray-light.vim new file mode 100644 index 0000000..36e1c8e --- /dev/null +++ b/colors/base16-equilibrium-gray-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Equilibrium Gray Light scheme by Carlo Abelli + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-equilibrium-gray-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "f1f1f1" +let g:base16_gui00 = "f1f1f1" +let s:gui01 = "e2e2e2" +let g:base16_gui01 = "e2e2e2" +let s:gui02 = "d4d4d4" +let g:base16_gui02 = "d4d4d4" +let s:gui03 = "777777" +let g:base16_gui03 = "777777" +let s:gui04 = "5e5e5e" +let g:base16_gui04 = "5e5e5e" +let s:gui05 = "474747" +let g:base16_gui05 = "474747" +let s:gui06 = "303030" +let g:base16_gui06 = "303030" +let s:gui07 = "1b1b1b" +let g:base16_gui07 = "1b1b1b" +let s:gui08 = "d02023" +let g:base16_gui08 = "d02023" +let s:gui09 = "bf3e05" +let g:base16_gui09 = "bf3e05" +let s:gui0A = "9d6f00" +let g:base16_gui0A = "9d6f00" +let s:gui0B = "637200" +let g:base16_gui0B = "637200" +let s:gui0C = "007a72" +let g:base16_gui0C = "007a72" +let s:gui0D = "0073b5" +let g:base16_gui0D = "0073b5" +let s:gui0E = "4e66b6" +let g:base16_gui0E = "4e66b6" +let s:gui0F = "c42775" +let g:base16_gui0F = "c42775" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#f1f1f1" + let g:terminal_color_1 = "#d02023" + let g:terminal_color_2 = "#637200" + let g:terminal_color_3 = "#9d6f00" + let g:terminal_color_4 = "#0073b5" + let g:terminal_color_5 = "#4e66b6" + let g:terminal_color_6 = "#007a72" + let g:terminal_color_7 = "#474747" + let g:terminal_color_8 = "#777777" + let g:terminal_color_9 = "#d02023" + let g:terminal_color_10 = "#637200" + let g:terminal_color_11 = "#9d6f00" + let g:terminal_color_12 = "#0073b5" + let g:terminal_color_13 = "#4e66b6" + let g:terminal_color_14 = "#007a72" + let g:terminal_color_15 = "#1b1b1b" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#f1f1f1", + \ "#d02023", + \ "#637200", + \ "#9d6f00", + \ "#0073b5", + \ "#4e66b6", + \ "#007a72", + \ "#474747", + \ "#777777", + \ "#d02023", + \ "#637200", + \ "#9d6f00", + \ "#0073b5", + \ "#4e66b6", + \ "#007a72", + \ "#1b1b1b", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-equilibrium-gray-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-equilibrium-light.vim b/colors/base16-equilibrium-light.vim new file mode 100644 index 0000000..7c53ba9 --- /dev/null +++ b/colors/base16-equilibrium-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Equilibrium Light scheme by Carlo Abelli + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-equilibrium-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "f5f0e7" +let g:base16_gui00 = "f5f0e7" +let s:gui01 = "e7e2d9" +let g:base16_gui01 = "e7e2d9" +let s:gui02 = "d8d4cb" +let g:base16_gui02 = "d8d4cb" +let s:gui03 = "73777f" +let g:base16_gui03 = "73777f" +let s:gui04 = "5a5f66" +let g:base16_gui04 = "5a5f66" +let s:gui05 = "43474e" +let g:base16_gui05 = "43474e" +let s:gui06 = "2c3138" +let g:base16_gui06 = "2c3138" +let s:gui07 = "181c22" +let g:base16_gui07 = "181c22" +let s:gui08 = "d02023" +let g:base16_gui08 = "d02023" +let s:gui09 = "bf3e05" +let g:base16_gui09 = "bf3e05" +let s:gui0A = "9d6f00" +let g:base16_gui0A = "9d6f00" +let s:gui0B = "637200" +let g:base16_gui0B = "637200" +let s:gui0C = "007a72" +let g:base16_gui0C = "007a72" +let s:gui0D = "0073b5" +let g:base16_gui0D = "0073b5" +let s:gui0E = "4e66b6" +let g:base16_gui0E = "4e66b6" +let s:gui0F = "c42775" +let g:base16_gui0F = "c42775" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#f5f0e7" + let g:terminal_color_1 = "#d02023" + let g:terminal_color_2 = "#637200" + let g:terminal_color_3 = "#9d6f00" + let g:terminal_color_4 = "#0073b5" + let g:terminal_color_5 = "#4e66b6" + let g:terminal_color_6 = "#007a72" + let g:terminal_color_7 = "#43474e" + let g:terminal_color_8 = "#73777f" + let g:terminal_color_9 = "#d02023" + let g:terminal_color_10 = "#637200" + let g:terminal_color_11 = "#9d6f00" + let g:terminal_color_12 = "#0073b5" + let g:terminal_color_13 = "#4e66b6" + let g:terminal_color_14 = "#007a72" + let g:terminal_color_15 = "#181c22" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#f5f0e7", + \ "#d02023", + \ "#637200", + \ "#9d6f00", + \ "#0073b5", + \ "#4e66b6", + \ "#007a72", + \ "#43474e", + \ "#73777f", + \ "#d02023", + \ "#637200", + \ "#9d6f00", + \ "#0073b5", + \ "#4e66b6", + \ "#007a72", + \ "#181c22", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-equilibrium-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-espresso.vim b/colors/base16-espresso.vim new file mode 100644 index 0000000..244c1fe --- /dev/null +++ b/colors/base16-espresso.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Espresso scheme by Alex Mirrington (https://github.com/alexmirrington) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-espresso.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "2d2d2d" +let g:base16_gui00 = "2d2d2d" +let s:gui01 = "393939" +let g:base16_gui01 = "393939" +let s:gui02 = "515151" +let g:base16_gui02 = "515151" +let s:gui03 = "777777" +let g:base16_gui03 = "777777" +let s:gui04 = "b4b7b4" +let g:base16_gui04 = "b4b7b4" +let s:gui05 = "cccccc" +let g:base16_gui05 = "cccccc" +let s:gui06 = "e0e0e0" +let g:base16_gui06 = "e0e0e0" +let s:gui07 = "ffffff" +let g:base16_gui07 = "ffffff" +let s:gui08 = "d25252" +let g:base16_gui08 = "d25252" +let s:gui09 = "f9a959" +let g:base16_gui09 = "f9a959" +let s:gui0A = "ffc66d" +let g:base16_gui0A = "ffc66d" +let s:gui0B = "a5c261" +let g:base16_gui0B = "a5c261" +let s:gui0C = "bed6ff" +let g:base16_gui0C = "bed6ff" +let s:gui0D = "6c99bb" +let g:base16_gui0D = "6c99bb" +let s:gui0E = "d197d9" +let g:base16_gui0E = "d197d9" +let s:gui0F = "f97394" +let g:base16_gui0F = "f97394" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#2d2d2d" + let g:terminal_color_1 = "#d25252" + let g:terminal_color_2 = "#a5c261" + let g:terminal_color_3 = "#ffc66d" + let g:terminal_color_4 = "#6c99bb" + let g:terminal_color_5 = "#d197d9" + let g:terminal_color_6 = "#bed6ff" + let g:terminal_color_7 = "#cccccc" + let g:terminal_color_8 = "#777777" + let g:terminal_color_9 = "#d25252" + let g:terminal_color_10 = "#a5c261" + let g:terminal_color_11 = "#ffc66d" + let g:terminal_color_12 = "#6c99bb" + let g:terminal_color_13 = "#d197d9" + let g:terminal_color_14 = "#bed6ff" + let g:terminal_color_15 = "#ffffff" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#2d2d2d", + \ "#d25252", + \ "#a5c261", + \ "#ffc66d", + \ "#6c99bb", + \ "#d197d9", + \ "#bed6ff", + \ "#cccccc", + \ "#777777", + \ "#d25252", + \ "#a5c261", + \ "#ffc66d", + \ "#6c99bb", + \ "#d197d9", + \ "#bed6ff", + \ "#ffffff", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-espresso" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-eva-dim.vim b/colors/base16-eva-dim.vim new file mode 100644 index 0000000..4871f53 --- /dev/null +++ b/colors/base16-eva-dim.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Eva Dim scheme by kjakapat (https://github.com/kjakapat) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-eva-dim.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "2a3b4d" +let g:base16_gui00 = "2a3b4d" +let s:gui01 = "3d566f" +let g:base16_gui01 = "3d566f" +let s:gui02 = "4b6988" +let g:base16_gui02 = "4b6988" +let s:gui03 = "55799c" +let g:base16_gui03 = "55799c" +let s:gui04 = "7e90a3" +let g:base16_gui04 = "7e90a3" +let s:gui05 = "9fa2a6" +let g:base16_gui05 = "9fa2a6" +let s:gui06 = "d6d7d9" +let g:base16_gui06 = "d6d7d9" +let s:gui07 = "ffffff" +let g:base16_gui07 = "ffffff" +let s:gui08 = "c4676c" +let g:base16_gui08 = "c4676c" +let s:gui09 = "ff9966" +let g:base16_gui09 = "ff9966" +let s:gui0A = "cfd05d" +let g:base16_gui0A = "cfd05d" +let s:gui0B = "5de561" +let g:base16_gui0B = "5de561" +let s:gui0C = "4b8f77" +let g:base16_gui0C = "4b8f77" +let s:gui0D = "1ae1dc" +let g:base16_gui0D = "1ae1dc" +let s:gui0E = "9c6cd3" +let g:base16_gui0E = "9c6cd3" +let s:gui0F = "bb64a9" +let g:base16_gui0F = "bb64a9" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#2a3b4d" + let g:terminal_color_1 = "#c4676c" + let g:terminal_color_2 = "#5de561" + let g:terminal_color_3 = "#cfd05d" + let g:terminal_color_4 = "#1ae1dc" + let g:terminal_color_5 = "#9c6cd3" + let g:terminal_color_6 = "#4b8f77" + let g:terminal_color_7 = "#9fa2a6" + let g:terminal_color_8 = "#55799c" + let g:terminal_color_9 = "#c4676c" + let g:terminal_color_10 = "#5de561" + let g:terminal_color_11 = "#cfd05d" + let g:terminal_color_12 = "#1ae1dc" + let g:terminal_color_13 = "#9c6cd3" + let g:terminal_color_14 = "#4b8f77" + let g:terminal_color_15 = "#ffffff" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#2a3b4d", + \ "#c4676c", + \ "#5de561", + \ "#cfd05d", + \ "#1ae1dc", + \ "#9c6cd3", + \ "#4b8f77", + \ "#9fa2a6", + \ "#55799c", + \ "#c4676c", + \ "#5de561", + \ "#cfd05d", + \ "#1ae1dc", + \ "#9c6cd3", + \ "#4b8f77", + \ "#ffffff", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-eva-dim" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-eva.vim b/colors/base16-eva.vim new file mode 100644 index 0000000..a989052 --- /dev/null +++ b/colors/base16-eva.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Eva scheme by kjakapat (https://github.com/kjakapat) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-eva.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "2a3b4d" +let g:base16_gui00 = "2a3b4d" +let s:gui01 = "3d566f" +let g:base16_gui01 = "3d566f" +let s:gui02 = "4b6988" +let g:base16_gui02 = "4b6988" +let s:gui03 = "55799c" +let g:base16_gui03 = "55799c" +let s:gui04 = "7e90a3" +let g:base16_gui04 = "7e90a3" +let s:gui05 = "9fa2a6" +let g:base16_gui05 = "9fa2a6" +let s:gui06 = "d6d7d9" +let g:base16_gui06 = "d6d7d9" +let s:gui07 = "ffffff" +let g:base16_gui07 = "ffffff" +let s:gui08 = "c4676c" +let g:base16_gui08 = "c4676c" +let s:gui09 = "ff9966" +let g:base16_gui09 = "ff9966" +let s:gui0A = "ffff66" +let g:base16_gui0A = "ffff66" +let s:gui0B = "66ff66" +let g:base16_gui0B = "66ff66" +let s:gui0C = "4b8f77" +let g:base16_gui0C = "4b8f77" +let s:gui0D = "15f4ee" +let g:base16_gui0D = "15f4ee" +let s:gui0E = "9c6cd3" +let g:base16_gui0E = "9c6cd3" +let s:gui0F = "bb64a9" +let g:base16_gui0F = "bb64a9" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#2a3b4d" + let g:terminal_color_1 = "#c4676c" + let g:terminal_color_2 = "#66ff66" + let g:terminal_color_3 = "#ffff66" + let g:terminal_color_4 = "#15f4ee" + let g:terminal_color_5 = "#9c6cd3" + let g:terminal_color_6 = "#4b8f77" + let g:terminal_color_7 = "#9fa2a6" + let g:terminal_color_8 = "#55799c" + let g:terminal_color_9 = "#c4676c" + let g:terminal_color_10 = "#66ff66" + let g:terminal_color_11 = "#ffff66" + let g:terminal_color_12 = "#15f4ee" + let g:terminal_color_13 = "#9c6cd3" + let g:terminal_color_14 = "#4b8f77" + let g:terminal_color_15 = "#ffffff" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#2a3b4d", + \ "#c4676c", + \ "#66ff66", + \ "#ffff66", + \ "#15f4ee", + \ "#9c6cd3", + \ "#4b8f77", + \ "#9fa2a6", + \ "#55799c", + \ "#c4676c", + \ "#66ff66", + \ "#ffff66", + \ "#15f4ee", + \ "#9c6cd3", + \ "#4b8f77", + \ "#ffffff", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-eva" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-flat.vim b/colors/base16-flat.vim index b7270b5..761643e 100644 --- a/colors/base16-flat.vim +++ b/colors/base16-flat.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-framer.vim b/colors/base16-framer.vim new file mode 100644 index 0000000..9e854bb --- /dev/null +++ b/colors/base16-framer.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Framer scheme by Framer (Maintained by Jesse Hoyos) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-framer.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "181818" +let g:base16_gui00 = "181818" +let s:gui01 = "151515" +let g:base16_gui01 = "151515" +let s:gui02 = "464646" +let g:base16_gui02 = "464646" +let s:gui03 = "747474" +let g:base16_gui03 = "747474" +let s:gui04 = "B9B9B9" +let g:base16_gui04 = "B9B9B9" +let s:gui05 = "D0D0D0" +let g:base16_gui05 = "D0D0D0" +let s:gui06 = "E8E8E8" +let g:base16_gui06 = "E8E8E8" +let s:gui07 = "EEEEEE" +let g:base16_gui07 = "EEEEEE" +let s:gui08 = "FD886B" +let g:base16_gui08 = "FD886B" +let s:gui09 = "FC4769" +let g:base16_gui09 = "FC4769" +let s:gui0A = "FECB6E" +let g:base16_gui0A = "FECB6E" +let s:gui0B = "32CCDC" +let g:base16_gui0B = "32CCDC" +let s:gui0C = "ACDDFD" +let g:base16_gui0C = "ACDDFD" +let s:gui0D = "20BCFC" +let g:base16_gui0D = "20BCFC" +let s:gui0E = "BA8CFC" +let g:base16_gui0E = "BA8CFC" +let s:gui0F = "B15F4A" +let g:base16_gui0F = "B15F4A" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#181818" + let g:terminal_color_1 = "#FD886B" + let g:terminal_color_2 = "#32CCDC" + let g:terminal_color_3 = "#FECB6E" + let g:terminal_color_4 = "#20BCFC" + let g:terminal_color_5 = "#BA8CFC" + let g:terminal_color_6 = "#ACDDFD" + let g:terminal_color_7 = "#D0D0D0" + let g:terminal_color_8 = "#747474" + let g:terminal_color_9 = "#FD886B" + let g:terminal_color_10 = "#32CCDC" + let g:terminal_color_11 = "#FECB6E" + let g:terminal_color_12 = "#20BCFC" + let g:terminal_color_13 = "#BA8CFC" + let g:terminal_color_14 = "#ACDDFD" + let g:terminal_color_15 = "#EEEEEE" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#181818", + \ "#FD886B", + \ "#32CCDC", + \ "#FECB6E", + \ "#20BCFC", + \ "#BA8CFC", + \ "#ACDDFD", + \ "#D0D0D0", + \ "#747474", + \ "#FD886B", + \ "#32CCDC", + \ "#FECB6E", + \ "#20BCFC", + \ "#BA8CFC", + \ "#ACDDFD", + \ "#EEEEEE", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-framer" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-fruit-soda.vim b/colors/base16-fruit-soda.vim index 24a44e8..e565c12 100644 --- a/colors/base16-fruit-soda.vim +++ b/colors/base16-fruit-soda.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gigavolt.vim b/colors/base16-gigavolt.vim new file mode 100644 index 0000000..d617646 --- /dev/null +++ b/colors/base16-gigavolt.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Gigavolt scheme by Aidan Swope (http://github.com/Whillikers) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-gigavolt.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "202126" +let g:base16_gui00 = "202126" +let s:gui01 = "2d303d" +let g:base16_gui01 = "2d303d" +let s:gui02 = "5a576e" +let g:base16_gui02 = "5a576e" +let s:gui03 = "a1d2e6" +let g:base16_gui03 = "a1d2e6" +let s:gui04 = "cad3ff" +let g:base16_gui04 = "cad3ff" +let s:gui05 = "e9e7e1" +let g:base16_gui05 = "e9e7e1" +let s:gui06 = "eff0f9" +let g:base16_gui06 = "eff0f9" +let s:gui07 = "f2fbff" +let g:base16_gui07 = "f2fbff" +let s:gui08 = "ff661a" +let g:base16_gui08 = "ff661a" +let s:gui09 = "19f988" +let g:base16_gui09 = "19f988" +let s:gui0A = "ffdc2d" +let g:base16_gui0A = "ffdc2d" +let s:gui0B = "f2e6a9" +let g:base16_gui0B = "f2e6a9" +let s:gui0C = "fb6acb" +let g:base16_gui0C = "fb6acb" +let s:gui0D = "40bfff" +let g:base16_gui0D = "40bfff" +let s:gui0E = "ae94f9" +let g:base16_gui0E = "ae94f9" +let s:gui0F = "6187ff" +let g:base16_gui0F = "6187ff" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#202126" + let g:terminal_color_1 = "#ff661a" + let g:terminal_color_2 = "#f2e6a9" + let g:terminal_color_3 = "#ffdc2d" + let g:terminal_color_4 = "#40bfff" + let g:terminal_color_5 = "#ae94f9" + let g:terminal_color_6 = "#fb6acb" + let g:terminal_color_7 = "#e9e7e1" + let g:terminal_color_8 = "#a1d2e6" + let g:terminal_color_9 = "#ff661a" + let g:terminal_color_10 = "#f2e6a9" + let g:terminal_color_11 = "#ffdc2d" + let g:terminal_color_12 = "#40bfff" + let g:terminal_color_13 = "#ae94f9" + let g:terminal_color_14 = "#fb6acb" + let g:terminal_color_15 = "#f2fbff" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#202126", + \ "#ff661a", + \ "#f2e6a9", + \ "#ffdc2d", + \ "#40bfff", + \ "#ae94f9", + \ "#fb6acb", + \ "#e9e7e1", + \ "#a1d2e6", + \ "#ff661a", + \ "#f2e6a9", + \ "#ffdc2d", + \ "#40bfff", + \ "#ae94f9", + \ "#fb6acb", + \ "#f2fbff", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-gigavolt" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-github.vim b/colors/base16-github.vim index 41d2f6c..3d96a30 100644 --- a/colors/base16-github.vim +++ b/colors/base16-github.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-google-dark.vim b/colors/base16-google-dark.vim index 660445e..dec440b 100644 --- a/colors/base16-google-dark.vim +++ b/colors/base16-google-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-google-light.vim b/colors/base16-google-light.vim index 714a930..4d47ec6 100644 --- a/colors/base16-google-light.vim +++ b/colors/base16-google-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-grayscale-dark.vim b/colors/base16-grayscale-dark.vim index d8ae003..8470b5b 100644 --- a/colors/base16-grayscale-dark.vim +++ b/colors/base16-grayscale-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-grayscale-light.vim b/colors/base16-grayscale-light.vim index 953fe19..ee6d1b1 100644 --- a/colors/base16-grayscale-light.vim +++ b/colors/base16-grayscale-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-greenscreen.vim b/colors/base16-greenscreen.vim index c6b10b1..ae497fa 100644 --- a/colors/base16-greenscreen.vim +++ b/colors/base16-greenscreen.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gruvbox-dark-hard.vim b/colors/base16-gruvbox-dark-hard.vim index 88a0b89..6d5a3d9 100644 --- a/colors/base16-gruvbox-dark-hard.vim +++ b/colors/base16-gruvbox-dark-hard.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gruvbox-dark-medium.vim b/colors/base16-gruvbox-dark-medium.vim index 385fa06..bee9f54 100644 --- a/colors/base16-gruvbox-dark-medium.vim +++ b/colors/base16-gruvbox-dark-medium.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gruvbox-dark-pale.vim b/colors/base16-gruvbox-dark-pale.vim index 396fafc..8ecff7f 100644 --- a/colors/base16-gruvbox-dark-pale.vim +++ b/colors/base16-gruvbox-dark-pale.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gruvbox-dark-soft.vim b/colors/base16-gruvbox-dark-soft.vim index 5d8355c..7e1d18d 100644 --- a/colors/base16-gruvbox-dark-soft.vim +++ b/colors/base16-gruvbox-dark-soft.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gruvbox-light-hard.vim b/colors/base16-gruvbox-light-hard.vim index d1adcdd..8250fa3 100644 --- a/colors/base16-gruvbox-light-hard.vim +++ b/colors/base16-gruvbox-light-hard.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gruvbox-light-medium.vim b/colors/base16-gruvbox-light-medium.vim index 71c4700..c06d207 100644 --- a/colors/base16-gruvbox-light-medium.vim +++ b/colors/base16-gruvbox-light-medium.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-gruvbox-light-soft.vim b/colors/base16-gruvbox-light-soft.vim index 501945d..19bd2bf 100644 --- a/colors/base16-gruvbox-light-soft.vim +++ b/colors/base16-gruvbox-light-soft.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-hardcore.vim b/colors/base16-hardcore.vim new file mode 100644 index 0000000..ccada2f --- /dev/null +++ b/colors/base16-hardcore.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Hardcore scheme by Chris Caller + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-hardcore.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "212121" +let g:base16_gui00 = "212121" +let s:gui01 = "303030" +let g:base16_gui01 = "303030" +let s:gui02 = "353535" +let g:base16_gui02 = "353535" +let s:gui03 = "4A4A4A" +let g:base16_gui03 = "4A4A4A" +let s:gui04 = "707070" +let g:base16_gui04 = "707070" +let s:gui05 = "cdcdcd" +let g:base16_gui05 = "cdcdcd" +let s:gui06 = "e5e5e5" +let g:base16_gui06 = "e5e5e5" +let s:gui07 = "ffffff" +let g:base16_gui07 = "ffffff" +let s:gui08 = "f92672" +let g:base16_gui08 = "f92672" +let s:gui09 = "fd971f" +let g:base16_gui09 = "fd971f" +let s:gui0A = "e6db74" +let g:base16_gui0A = "e6db74" +let s:gui0B = "a6e22e" +let g:base16_gui0B = "a6e22e" +let s:gui0C = "708387" +let g:base16_gui0C = "708387" +let s:gui0D = "66d9ef" +let g:base16_gui0D = "66d9ef" +let s:gui0E = "9e6ffe" +let g:base16_gui0E = "9e6ffe" +let s:gui0F = "e8b882" +let g:base16_gui0F = "e8b882" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#212121" + let g:terminal_color_1 = "#f92672" + let g:terminal_color_2 = "#a6e22e" + let g:terminal_color_3 = "#e6db74" + let g:terminal_color_4 = "#66d9ef" + let g:terminal_color_5 = "#9e6ffe" + let g:terminal_color_6 = "#708387" + let g:terminal_color_7 = "#cdcdcd" + let g:terminal_color_8 = "#4A4A4A" + let g:terminal_color_9 = "#f92672" + let g:terminal_color_10 = "#a6e22e" + let g:terminal_color_11 = "#e6db74" + let g:terminal_color_12 = "#66d9ef" + let g:terminal_color_13 = "#9e6ffe" + let g:terminal_color_14 = "#708387" + let g:terminal_color_15 = "#ffffff" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#212121", + \ "#f92672", + \ "#a6e22e", + \ "#e6db74", + \ "#66d9ef", + \ "#9e6ffe", + \ "#708387", + \ "#cdcdcd", + \ "#4A4A4A", + \ "#f92672", + \ "#a6e22e", + \ "#e6db74", + \ "#66d9ef", + \ "#9e6ffe", + \ "#708387", + \ "#ffffff", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-hardcore" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-harmonic-dark.vim b/colors/base16-harmonic-dark.vim index fb0e7d1..ee4367a 100644 --- a/colors/base16-harmonic-dark.vim +++ b/colors/base16-harmonic-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-harmonic-light.vim b/colors/base16-harmonic-light.vim index bbdb9e3..f6cf74f 100644 --- a/colors/base16-harmonic-light.vim +++ b/colors/base16-harmonic-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-heetch-light.vim b/colors/base16-heetch-light.vim index 4fef411..7f439d2 100644 --- a/colors/base16-heetch-light.vim +++ b/colors/base16-heetch-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-heetch.vim b/colors/base16-heetch.vim index 0364d75..29a64af 100644 --- a/colors/base16-heetch.vim +++ b/colors/base16-heetch.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-helios.vim b/colors/base16-helios.vim index 874dc16..c117210 100644 --- a/colors/base16-helios.vim +++ b/colors/base16-helios.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-hopscotch.vim b/colors/base16-hopscotch.vim index b75486f..0dd476e 100644 --- a/colors/base16-hopscotch.vim +++ b/colors/base16-hopscotch.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-horizon-dark.vim b/colors/base16-horizon-dark.vim index 639e59e..9f00e74 100644 --- a/colors/base16-horizon-dark.vim +++ b/colors/base16-horizon-dark.vim @@ -21,10 +21,10 @@ let s:gui01 = "232530" let g:base16_gui01 = "232530" let s:gui02 = "2E303E" let g:base16_gui02 = "2E303E" -let s:gui03 = "676A8D" -let g:base16_gui03 = "676A8D" -let s:gui04 = "CED1D0" -let g:base16_gui04 = "CED1D0" +let s:gui03 = "6F6F70" +let g:base16_gui03 = "6F6F70" +let s:gui04 = "9DA0A2" +let g:base16_gui04 = "9DA0A2" let s:gui05 = "CBCED0" let g:base16_gui05 = "CBCED0" let s:gui06 = "DCDFE4" @@ -107,7 +107,7 @@ if has("nvim") let g:terminal_color_5 = "#B072D1" let g:terminal_color_6 = "#24A8B4" let g:terminal_color_7 = "#CBCED0" - let g:terminal_color_8 = "#676A8D" + let g:terminal_color_8 = "#6F6F70" let g:terminal_color_9 = "#E93C58" let g:terminal_color_10 = "#EFAF8E" let g:terminal_color_11 = "#EFB993" @@ -131,7 +131,7 @@ elseif has("terminal") \ "#B072D1", \ "#24A8B4", \ "#CBCED0", - \ "#676A8D", + \ "#6F6F70", \ "#E93C58", \ "#EFAF8E", \ "#EFB993", @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-horizon-light.vim b/colors/base16-horizon-light.vim new file mode 100644 index 0000000..61621f1 --- /dev/null +++ b/colors/base16-horizon-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Horizon Light scheme by Michaƫl Ball (http://github.com/michael-ball/) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-horizon-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "FDF0ED" +let g:base16_gui00 = "FDF0ED" +let s:gui01 = "FADAD1" +let g:base16_gui01 = "FADAD1" +let s:gui02 = "F9CBBE" +let g:base16_gui02 = "F9CBBE" +let s:gui03 = "BDB3B1" +let g:base16_gui03 = "BDB3B1" +let s:gui04 = "948C8A" +let g:base16_gui04 = "948C8A" +let s:gui05 = "403C3D" +let g:base16_gui05 = "403C3D" +let s:gui06 = "302C2D" +let g:base16_gui06 = "302C2D" +let s:gui07 = "201C1D" +let g:base16_gui07 = "201C1D" +let s:gui08 = "F7939B" +let g:base16_gui08 = "F7939B" +let s:gui09 = "F6661E" +let g:base16_gui09 = "F6661E" +let s:gui0A = "FBE0D9" +let g:base16_gui0A = "FBE0D9" +let s:gui0B = "94E1B0" +let g:base16_gui0B = "94E1B0" +let s:gui0C = "DC3318" +let g:base16_gui0C = "DC3318" +let s:gui0D = "DA103F" +let g:base16_gui0D = "DA103F" +let s:gui0E = "1D8991" +let g:base16_gui0E = "1D8991" +let s:gui0F = "E58C92" +let g:base16_gui0F = "E58C92" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#FDF0ED" + let g:terminal_color_1 = "#F7939B" + let g:terminal_color_2 = "#94E1B0" + let g:terminal_color_3 = "#FBE0D9" + let g:terminal_color_4 = "#DA103F" + let g:terminal_color_5 = "#1D8991" + let g:terminal_color_6 = "#DC3318" + let g:terminal_color_7 = "#403C3D" + let g:terminal_color_8 = "#BDB3B1" + let g:terminal_color_9 = "#F7939B" + let g:terminal_color_10 = "#94E1B0" + let g:terminal_color_11 = "#FBE0D9" + let g:terminal_color_12 = "#DA103F" + let g:terminal_color_13 = "#1D8991" + let g:terminal_color_14 = "#DC3318" + let g:terminal_color_15 = "#201C1D" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#FDF0ED", + \ "#F7939B", + \ "#94E1B0", + \ "#FBE0D9", + \ "#DA103F", + \ "#1D8991", + \ "#DC3318", + \ "#403C3D", + \ "#BDB3B1", + \ "#F7939B", + \ "#94E1B0", + \ "#FBE0D9", + \ "#DA103F", + \ "#1D8991", + \ "#DC3318", + \ "#201C1D", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-horizon-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-horizon-terminal-dark.vim b/colors/base16-horizon-terminal-dark.vim new file mode 100644 index 0000000..c55e71d --- /dev/null +++ b/colors/base16-horizon-terminal-dark.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Horizon Dark scheme by Michaƫl Ball (http://github.com/michael-ball/) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-horizon-terminal-dark.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "1C1E26" +let g:base16_gui00 = "1C1E26" +let s:gui01 = "232530" +let g:base16_gui01 = "232530" +let s:gui02 = "2E303E" +let g:base16_gui02 = "2E303E" +let s:gui03 = "6F6F70" +let g:base16_gui03 = "6F6F70" +let s:gui04 = "9DA0A2" +let g:base16_gui04 = "9DA0A2" +let s:gui05 = "CBCED0" +let g:base16_gui05 = "CBCED0" +let s:gui06 = "DCDFE4" +let g:base16_gui06 = "DCDFE4" +let s:gui07 = "E3E6EE" +let g:base16_gui07 = "E3E6EE" +let s:gui08 = "E95678" +let g:base16_gui08 = "E95678" +let s:gui09 = "FAB795" +let g:base16_gui09 = "FAB795" +let s:gui0A = "FAC29A" +let g:base16_gui0A = "FAC29A" +let s:gui0B = "29D398" +let g:base16_gui0B = "29D398" +let s:gui0C = "59E1E3" +let g:base16_gui0C = "59E1E3" +let s:gui0D = "26BBD9" +let g:base16_gui0D = "26BBD9" +let s:gui0E = "EE64AC" +let g:base16_gui0E = "EE64AC" +let s:gui0F = "F09383" +let g:base16_gui0F = "F09383" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#1C1E26" + let g:terminal_color_1 = "#E95678" + let g:terminal_color_2 = "#29D398" + let g:terminal_color_3 = "#FAC29A" + let g:terminal_color_4 = "#26BBD9" + let g:terminal_color_5 = "#EE64AC" + let g:terminal_color_6 = "#59E1E3" + let g:terminal_color_7 = "#CBCED0" + let g:terminal_color_8 = "#6F6F70" + let g:terminal_color_9 = "#E95678" + let g:terminal_color_10 = "#29D398" + let g:terminal_color_11 = "#FAC29A" + let g:terminal_color_12 = "#26BBD9" + let g:terminal_color_13 = "#EE64AC" + let g:terminal_color_14 = "#59E1E3" + let g:terminal_color_15 = "#E3E6EE" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#1C1E26", + \ "#E95678", + \ "#29D398", + \ "#FAC29A", + \ "#26BBD9", + \ "#EE64AC", + \ "#59E1E3", + \ "#CBCED0", + \ "#6F6F70", + \ "#E95678", + \ "#29D398", + \ "#FAC29A", + \ "#26BBD9", + \ "#EE64AC", + \ "#59E1E3", + \ "#E3E6EE", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-horizon-terminal-dark" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-horizon-terminal-light.vim b/colors/base16-horizon-terminal-light.vim new file mode 100644 index 0000000..a0f5930 --- /dev/null +++ b/colors/base16-horizon-terminal-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Horizon Light scheme by Michaƫl Ball (http://github.com/michael-ball/) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-horizon-terminal-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "FDF0ED" +let g:base16_gui00 = "FDF0ED" +let s:gui01 = "FADAD1" +let g:base16_gui01 = "FADAD1" +let s:gui02 = "F9CBBE" +let g:base16_gui02 = "F9CBBE" +let s:gui03 = "BDB3B1" +let g:base16_gui03 = "BDB3B1" +let s:gui04 = "948C8A" +let g:base16_gui04 = "948C8A" +let s:gui05 = "403C3D" +let g:base16_gui05 = "403C3D" +let s:gui06 = "302C2D" +let g:base16_gui06 = "302C2D" +let s:gui07 = "201C1D" +let g:base16_gui07 = "201C1D" +let s:gui08 = "E95678" +let g:base16_gui08 = "E95678" +let s:gui09 = "F9CEC3" +let g:base16_gui09 = "F9CEC3" +let s:gui0A = "FADAD1" +let g:base16_gui0A = "FADAD1" +let s:gui0B = "29D398" +let g:base16_gui0B = "29D398" +let s:gui0C = "59E1E3" +let g:base16_gui0C = "59E1E3" +let s:gui0D = "26BBD9" +let g:base16_gui0D = "26BBD9" +let s:gui0E = "EE64AC" +let g:base16_gui0E = "EE64AC" +let s:gui0F = "F9CBBE" +let g:base16_gui0F = "F9CBBE" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#FDF0ED" + let g:terminal_color_1 = "#E95678" + let g:terminal_color_2 = "#29D398" + let g:terminal_color_3 = "#FADAD1" + let g:terminal_color_4 = "#26BBD9" + let g:terminal_color_5 = "#EE64AC" + let g:terminal_color_6 = "#59E1E3" + let g:terminal_color_7 = "#403C3D" + let g:terminal_color_8 = "#BDB3B1" + let g:terminal_color_9 = "#E95678" + let g:terminal_color_10 = "#29D398" + let g:terminal_color_11 = "#FADAD1" + let g:terminal_color_12 = "#26BBD9" + let g:terminal_color_13 = "#EE64AC" + let g:terminal_color_14 = "#59E1E3" + let g:terminal_color_15 = "#201C1D" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#FDF0ED", + \ "#E95678", + \ "#29D398", + \ "#FADAD1", + \ "#26BBD9", + \ "#EE64AC", + \ "#59E1E3", + \ "#403C3D", + \ "#BDB3B1", + \ "#E95678", + \ "#29D398", + \ "#FADAD1", + \ "#26BBD9", + \ "#EE64AC", + \ "#59E1E3", + \ "#201C1D", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-horizon-terminal-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-humanoid-dark.vim b/colors/base16-humanoid-dark.vim new file mode 100644 index 0000000..65cac4c --- /dev/null +++ b/colors/base16-humanoid-dark.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Humanoid dark scheme by Thomas (tasmo) Friese + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-humanoid-dark.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "232629" +let g:base16_gui00 = "232629" +let s:gui01 = "333b3d" +let g:base16_gui01 = "333b3d" +let s:gui02 = "484e54" +let g:base16_gui02 = "484e54" +let s:gui03 = "60615d" +let g:base16_gui03 = "60615d" +let s:gui04 = "c0c0bd" +let g:base16_gui04 = "c0c0bd" +let s:gui05 = "f8f8f2" +let g:base16_gui05 = "f8f8f2" +let s:gui06 = "fcfcf6" +let g:base16_gui06 = "fcfcf6" +let s:gui07 = "fcfcfc" +let g:base16_gui07 = "fcfcfc" +let s:gui08 = "f11235" +let g:base16_gui08 = "f11235" +let s:gui09 = "ff9505" +let g:base16_gui09 = "ff9505" +let s:gui0A = "ffb627" +let g:base16_gui0A = "ffb627" +let s:gui0B = "02d849" +let g:base16_gui0B = "02d849" +let s:gui0C = "0dd9d6" +let g:base16_gui0C = "0dd9d6" +let s:gui0D = "00a6fb" +let g:base16_gui0D = "00a6fb" +let s:gui0E = "f15ee3" +let g:base16_gui0E = "f15ee3" +let s:gui0F = "b27701" +let g:base16_gui0F = "b27701" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#232629" + let g:terminal_color_1 = "#f11235" + let g:terminal_color_2 = "#02d849" + let g:terminal_color_3 = "#ffb627" + let g:terminal_color_4 = "#00a6fb" + let g:terminal_color_5 = "#f15ee3" + let g:terminal_color_6 = "#0dd9d6" + let g:terminal_color_7 = "#f8f8f2" + let g:terminal_color_8 = "#60615d" + let g:terminal_color_9 = "#f11235" + let g:terminal_color_10 = "#02d849" + let g:terminal_color_11 = "#ffb627" + let g:terminal_color_12 = "#00a6fb" + let g:terminal_color_13 = "#f15ee3" + let g:terminal_color_14 = "#0dd9d6" + let g:terminal_color_15 = "#fcfcfc" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#232629", + \ "#f11235", + \ "#02d849", + \ "#ffb627", + \ "#00a6fb", + \ "#f15ee3", + \ "#0dd9d6", + \ "#f8f8f2", + \ "#60615d", + \ "#f11235", + \ "#02d849", + \ "#ffb627", + \ "#00a6fb", + \ "#f15ee3", + \ "#0dd9d6", + \ "#fcfcfc", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-humanoid-dark" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-humanoid-light.vim b/colors/base16-humanoid-light.vim new file mode 100644 index 0000000..f72c0b9 --- /dev/null +++ b/colors/base16-humanoid-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Humanoid light scheme by Thomas (tasmo) Friese + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-humanoid-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "f8f8f2" +let g:base16_gui00 = "f8f8f2" +let s:gui01 = "efefe9" +let g:base16_gui01 = "efefe9" +let s:gui02 = "deded8" +let g:base16_gui02 = "deded8" +let s:gui03 = "c0c0bd" +let g:base16_gui03 = "c0c0bd" +let s:gui04 = "60615d" +let g:base16_gui04 = "60615d" +let s:gui05 = "232629" +let g:base16_gui05 = "232629" +let s:gui06 = "2f3337" +let g:base16_gui06 = "2f3337" +let s:gui07 = "070708" +let g:base16_gui07 = "070708" +let s:gui08 = "b0151a" +let g:base16_gui08 = "b0151a" +let s:gui09 = "ff3d00" +let g:base16_gui09 = "ff3d00" +let s:gui0A = "ffb627" +let g:base16_gui0A = "ffb627" +let s:gui0B = "388e3c" +let g:base16_gui0B = "388e3c" +let s:gui0C = "008e8e" +let g:base16_gui0C = "008e8e" +let s:gui0D = "0082c9" +let g:base16_gui0D = "0082c9" +let s:gui0E = "700f98" +let g:base16_gui0E = "700f98" +let s:gui0F = "b27701" +let g:base16_gui0F = "b27701" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#f8f8f2" + let g:terminal_color_1 = "#b0151a" + let g:terminal_color_2 = "#388e3c" + let g:terminal_color_3 = "#ffb627" + let g:terminal_color_4 = "#0082c9" + let g:terminal_color_5 = "#700f98" + let g:terminal_color_6 = "#008e8e" + let g:terminal_color_7 = "#232629" + let g:terminal_color_8 = "#c0c0bd" + let g:terminal_color_9 = "#b0151a" + let g:terminal_color_10 = "#388e3c" + let g:terminal_color_11 = "#ffb627" + let g:terminal_color_12 = "#0082c9" + let g:terminal_color_13 = "#700f98" + let g:terminal_color_14 = "#008e8e" + let g:terminal_color_15 = "#070708" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#f8f8f2", + \ "#b0151a", + \ "#388e3c", + \ "#ffb627", + \ "#0082c9", + \ "#700f98", + \ "#008e8e", + \ "#232629", + \ "#c0c0bd", + \ "#b0151a", + \ "#388e3c", + \ "#ffb627", + \ "#0082c9", + \ "#700f98", + \ "#008e8e", + \ "#070708", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-humanoid-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-ia-dark.vim b/colors/base16-ia-dark.vim index f358e31..5df461e 100644 --- a/colors/base16-ia-dark.vim +++ b/colors/base16-ia-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-ia-light.vim b/colors/base16-ia-light.vim index 2b4e27c..1100a8f 100644 --- a/colors/base16-ia-light.vim +++ b/colors/base16-ia-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-icy.vim b/colors/base16-icy.vim index 0cce16f..52306b4 100644 --- a/colors/base16-icy.vim +++ b/colors/base16-icy.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-irblack.vim b/colors/base16-irblack.vim index 1eb525b..d1e8e31 100644 --- a/colors/base16-irblack.vim +++ b/colors/base16-irblack.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-isotope.vim b/colors/base16-isotope.vim index 6b2d8b1..d6c0707 100644 --- a/colors/base16-isotope.vim +++ b/colors/base16-isotope.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-kimber.vim b/colors/base16-kimber.vim new file mode 100644 index 0000000..cf10d90 --- /dev/null +++ b/colors/base16-kimber.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Kimber scheme by Mishka Nguyen (https://github.com/akhsiM) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-kimber.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "222222" +let g:base16_gui00 = "222222" +let s:gui01 = "313131" +let g:base16_gui01 = "313131" +let s:gui02 = "555D55" +let g:base16_gui02 = "555D55" +let s:gui03 = "644646" +let g:base16_gui03 = "644646" +let s:gui04 = "5A5A5A" +let g:base16_gui04 = "5A5A5A" +let s:gui05 = "DEDEE7" +let g:base16_gui05 = "DEDEE7" +let s:gui06 = "C3C3B4" +let g:base16_gui06 = "C3C3B4" +let s:gui07 = "FFFFE6" +let g:base16_gui07 = "FFFFE6" +let s:gui08 = "C88C8C" +let g:base16_gui08 = "C88C8C" +let s:gui09 = "476C88" +let g:base16_gui09 = "476C88" +let s:gui0A = "D8B56D" +let g:base16_gui0A = "D8B56D" +let s:gui0B = "99C899" +let g:base16_gui0B = "99C899" +let s:gui0C = "78B4B4" +let g:base16_gui0C = "78B4B4" +let s:gui0D = "537C9C" +let g:base16_gui0D = "537C9C" +let s:gui0E = "86CACD" +let g:base16_gui0E = "86CACD" +let s:gui0F = "704F4F" +let g:base16_gui0F = "704F4F" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#222222" + let g:terminal_color_1 = "#C88C8C" + let g:terminal_color_2 = "#99C899" + let g:terminal_color_3 = "#D8B56D" + let g:terminal_color_4 = "#537C9C" + let g:terminal_color_5 = "#86CACD" + let g:terminal_color_6 = "#78B4B4" + let g:terminal_color_7 = "#DEDEE7" + let g:terminal_color_8 = "#644646" + let g:terminal_color_9 = "#C88C8C" + let g:terminal_color_10 = "#99C899" + let g:terminal_color_11 = "#D8B56D" + let g:terminal_color_12 = "#537C9C" + let g:terminal_color_13 = "#86CACD" + let g:terminal_color_14 = "#78B4B4" + let g:terminal_color_15 = "#FFFFE6" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#222222", + \ "#C88C8C", + \ "#99C899", + \ "#D8B56D", + \ "#537C9C", + \ "#86CACD", + \ "#78B4B4", + \ "#DEDEE7", + \ "#644646", + \ "#C88C8C", + \ "#99C899", + \ "#D8B56D", + \ "#537C9C", + \ "#86CACD", + \ "#78B4B4", + \ "#FFFFE6", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-kimber" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-macintosh.vim b/colors/base16-macintosh.vim index af9a39b..47301cf 100644 --- a/colors/base16-macintosh.vim +++ b/colors/base16-macintosh.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-marrakesh.vim b/colors/base16-marrakesh.vim index 94dbad0..3bb6d7b 100644 --- a/colors/base16-marrakesh.vim +++ b/colors/base16-marrakesh.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-materia.vim b/colors/base16-materia.vim index 5fcf2e6..6a38916 100644 --- a/colors/base16-materia.vim +++ b/colors/base16-materia.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-material-darker.vim b/colors/base16-material-darker.vim index 06d637b..b5cf745 100644 --- a/colors/base16-material-darker.vim +++ b/colors/base16-material-darker.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-material-lighter.vim b/colors/base16-material-lighter.vim index 66f92bd..8effd73 100644 --- a/colors/base16-material-lighter.vim +++ b/colors/base16-material-lighter.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-material-palenight.vim b/colors/base16-material-palenight.vim index f48d767..0b60992 100644 --- a/colors/base16-material-palenight.vim +++ b/colors/base16-material-palenight.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-material-vivid.vim b/colors/base16-material-vivid.vim index 6260e1a..4ee19b5 100644 --- a/colors/base16-material-vivid.vim +++ b/colors/base16-material-vivid.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-material.vim b/colors/base16-material.vim index 3c494c4..e5c6d5f 100644 --- a/colors/base16-material.vim +++ b/colors/base16-material.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-mellow-purple.vim b/colors/base16-mellow-purple.vim index ed3c508..4b73668 100644 --- a/colors/base16-mellow-purple.vim +++ b/colors/base16-mellow-purple.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-mexico-light.vim b/colors/base16-mexico-light.vim index 7c6bdc5..af44f43 100644 --- a/colors/base16-mexico-light.vim +++ b/colors/base16-mexico-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-mocha.vim b/colors/base16-mocha.vim index 870283b..79ef56c 100644 --- a/colors/base16-mocha.vim +++ b/colors/base16-mocha.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-monokai.vim b/colors/base16-monokai.vim index 9930f5d..d1ecbc6 100644 --- a/colors/base16-monokai.vim +++ b/colors/base16-monokai.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-nebula.vim b/colors/base16-nebula.vim new file mode 100644 index 0000000..9c08619 --- /dev/null +++ b/colors/base16-nebula.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Nebula scheme by Gabriel Fontes (https://github.com/Misterio77) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-nebula.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "22273b" +let g:base16_gui00 = "22273b" +let s:gui01 = "414f60" +let g:base16_gui01 = "414f60" +let s:gui02 = "5a8380" +let g:base16_gui02 = "5a8380" +let s:gui03 = "6e6f72" +let g:base16_gui03 = "6e6f72" +let s:gui04 = "87888b" +let g:base16_gui04 = "87888b" +let s:gui05 = "a4a6a9" +let g:base16_gui05 = "a4a6a9" +let s:gui06 = "c7c9cd" +let g:base16_gui06 = "c7c9cd" +let s:gui07 = "8dbdaa" +let g:base16_gui07 = "8dbdaa" +let s:gui08 = "777abc" +let g:base16_gui08 = "777abc" +let s:gui09 = "94929e" +let g:base16_gui09 = "94929e" +let s:gui0A = "4f9062" +let g:base16_gui0A = "4f9062" +let s:gui0B = "6562a8" +let g:base16_gui0B = "6562a8" +let s:gui0C = "226f68" +let g:base16_gui0C = "226f68" +let s:gui0D = "4d6bb6" +let g:base16_gui0D = "4d6bb6" +let s:gui0E = "716cae" +let g:base16_gui0E = "716cae" +let s:gui0F = "8c70a7" +let g:base16_gui0F = "8c70a7" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#22273b" + let g:terminal_color_1 = "#777abc" + let g:terminal_color_2 = "#6562a8" + let g:terminal_color_3 = "#4f9062" + let g:terminal_color_4 = "#4d6bb6" + let g:terminal_color_5 = "#716cae" + let g:terminal_color_6 = "#226f68" + let g:terminal_color_7 = "#a4a6a9" + let g:terminal_color_8 = "#6e6f72" + let g:terminal_color_9 = "#777abc" + let g:terminal_color_10 = "#6562a8" + let g:terminal_color_11 = "#4f9062" + let g:terminal_color_12 = "#4d6bb6" + let g:terminal_color_13 = "#716cae" + let g:terminal_color_14 = "#226f68" + let g:terminal_color_15 = "#8dbdaa" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#22273b", + \ "#777abc", + \ "#6562a8", + \ "#4f9062", + \ "#4d6bb6", + \ "#716cae", + \ "#226f68", + \ "#a4a6a9", + \ "#6e6f72", + \ "#777abc", + \ "#6562a8", + \ "#4f9062", + \ "#4d6bb6", + \ "#716cae", + \ "#226f68", + \ "#8dbdaa", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-nebula" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-nord.vim b/colors/base16-nord.vim index b612425..6d2243f 100644 --- a/colors/base16-nord.vim +++ b/colors/base16-nord.vim @@ -31,22 +31,22 @@ let s:gui06 = "ECEFF4" let g:base16_gui06 = "ECEFF4" let s:gui07 = "8FBCBB" let g:base16_gui07 = "8FBCBB" -let s:gui08 = "88C0D0" -let g:base16_gui08 = "88C0D0" -let s:gui09 = "81A1C1" -let g:base16_gui09 = "81A1C1" -let s:gui0A = "5E81AC" -let g:base16_gui0A = "5E81AC" -let s:gui0B = "BF616A" -let g:base16_gui0B = "BF616A" -let s:gui0C = "D08770" -let g:base16_gui0C = "D08770" -let s:gui0D = "EBCB8B" -let g:base16_gui0D = "EBCB8B" -let s:gui0E = "A3BE8C" -let g:base16_gui0E = "A3BE8C" -let s:gui0F = "B48EAD" -let g:base16_gui0F = "B48EAD" +let s:gui08 = "BF616A" +let g:base16_gui08 = "BF616A" +let s:gui09 = "D08770" +let g:base16_gui09 = "D08770" +let s:gui0A = "EBCB8B" +let g:base16_gui0A = "EBCB8B" +let s:gui0B = "A3BE8C" +let g:base16_gui0B = "A3BE8C" +let s:gui0C = "88C0D0" +let g:base16_gui0C = "88C0D0" +let s:gui0D = "81A1C1" +let g:base16_gui0D = "81A1C1" +let s:gui0E = "B48EAD" +let g:base16_gui0E = "B48EAD" +let s:gui0F = "5E81AC" +let g:base16_gui0F = "5E81AC" " Terminal color definitions let s:cterm00 = "00" @@ -100,20 +100,20 @@ endif " Neovim terminal colours if has("nvim") let g:terminal_color_0 = "#2E3440" - let g:terminal_color_1 = "#88C0D0" - let g:terminal_color_2 = "#BF616A" - let g:terminal_color_3 = "#5E81AC" - let g:terminal_color_4 = "#EBCB8B" - let g:terminal_color_5 = "#A3BE8C" - let g:terminal_color_6 = "#D08770" + let g:terminal_color_1 = "#BF616A" + let g:terminal_color_2 = "#A3BE8C" + let g:terminal_color_3 = "#EBCB8B" + let g:terminal_color_4 = "#81A1C1" + let g:terminal_color_5 = "#B48EAD" + let g:terminal_color_6 = "#88C0D0" let g:terminal_color_7 = "#E5E9F0" let g:terminal_color_8 = "#4C566A" - let g:terminal_color_9 = "#88C0D0" - let g:terminal_color_10 = "#BF616A" - let g:terminal_color_11 = "#5E81AC" - let g:terminal_color_12 = "#EBCB8B" - let g:terminal_color_13 = "#A3BE8C" - let g:terminal_color_14 = "#D08770" + let g:terminal_color_9 = "#BF616A" + let g:terminal_color_10 = "#A3BE8C" + let g:terminal_color_11 = "#EBCB8B" + let g:terminal_color_12 = "#81A1C1" + let g:terminal_color_13 = "#B48EAD" + let g:terminal_color_14 = "#88C0D0" let g:terminal_color_15 = "#8FBCBB" let g:terminal_color_background = g:terminal_color_0 let g:terminal_color_foreground = g:terminal_color_5 @@ -124,20 +124,20 @@ if has("nvim") elseif has("terminal") let g:terminal_ansi_colors = [ \ "#2E3440", - \ "#88C0D0", \ "#BF616A", - \ "#5E81AC", - \ "#EBCB8B", \ "#A3BE8C", - \ "#D08770", + \ "#EBCB8B", + \ "#81A1C1", + \ "#B48EAD", + \ "#88C0D0", \ "#E5E9F0", \ "#4C566A", - \ "#88C0D0", \ "#BF616A", - \ "#5E81AC", - \ "#EBCB8B", \ "#A3BE8C", - \ "#D08770", + \ "#EBCB8B", + \ "#81A1C1", + \ "#B48EAD", + \ "#88C0D0", \ "#8FBCBB", \ ] endif @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-nova.vim b/colors/base16-nova.vim new file mode 100644 index 0000000..61b4f8c --- /dev/null +++ b/colors/base16-nova.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Nova scheme by George Essig (https://github.com/gessig), Trevor D. Miller (https://trevordmiller.com) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-nova.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "3C4C55" +let g:base16_gui00 = "3C4C55" +let s:gui01 = "556873" +let g:base16_gui01 = "556873" +let s:gui02 = "6A7D89" +let g:base16_gui02 = "6A7D89" +let s:gui03 = "899BA6" +let g:base16_gui03 = "899BA6" +let s:gui04 = "899BA6" +let g:base16_gui04 = "899BA6" +let s:gui05 = "C5D4DD" +let g:base16_gui05 = "C5D4DD" +let s:gui06 = "899BA6" +let g:base16_gui06 = "899BA6" +let s:gui07 = "556873" +let g:base16_gui07 = "556873" +let s:gui08 = "83AFE5" +let g:base16_gui08 = "83AFE5" +let s:gui09 = "7FC1CA" +let g:base16_gui09 = "7FC1CA" +let s:gui0A = "A8CE93" +let g:base16_gui0A = "A8CE93" +let s:gui0B = "7FC1CA" +let g:base16_gui0B = "7FC1CA" +let s:gui0C = "F2C38F" +let g:base16_gui0C = "F2C38F" +let s:gui0D = "83AFE5" +let g:base16_gui0D = "83AFE5" +let s:gui0E = "9A93E1" +let g:base16_gui0E = "9A93E1" +let s:gui0F = "F2C38F" +let g:base16_gui0F = "F2C38F" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#3C4C55" + let g:terminal_color_1 = "#83AFE5" + let g:terminal_color_2 = "#7FC1CA" + let g:terminal_color_3 = "#A8CE93" + let g:terminal_color_4 = "#83AFE5" + let g:terminal_color_5 = "#9A93E1" + let g:terminal_color_6 = "#F2C38F" + let g:terminal_color_7 = "#C5D4DD" + let g:terminal_color_8 = "#899BA6" + let g:terminal_color_9 = "#83AFE5" + let g:terminal_color_10 = "#7FC1CA" + let g:terminal_color_11 = "#A8CE93" + let g:terminal_color_12 = "#83AFE5" + let g:terminal_color_13 = "#9A93E1" + let g:terminal_color_14 = "#F2C38F" + let g:terminal_color_15 = "#556873" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#3C4C55", + \ "#83AFE5", + \ "#7FC1CA", + \ "#A8CE93", + \ "#83AFE5", + \ "#9A93E1", + \ "#F2C38F", + \ "#C5D4DD", + \ "#899BA6", + \ "#83AFE5", + \ "#7FC1CA", + \ "#A8CE93", + \ "#83AFE5", + \ "#9A93E1", + \ "#F2C38F", + \ "#556873", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-nova" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-ocean.vim b/colors/base16-ocean.vim index 60aed2e..f57a993 100644 --- a/colors/base16-ocean.vim +++ b/colors/base16-ocean.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-oceanicnext.vim b/colors/base16-oceanicnext.vim index de6406b..f2cd04c 100644 --- a/colors/base16-oceanicnext.vim +++ b/colors/base16-oceanicnext.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-one-light.vim b/colors/base16-one-light.vim index 3ef2862..323d143 100644 --- a/colors/base16-one-light.vim +++ b/colors/base16-one-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-onedark.vim b/colors/base16-onedark.vim index 8d4f2ee..2743f8e 100644 --- a/colors/base16-onedark.vim +++ b/colors/base16-onedark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-outrun-dark.vim b/colors/base16-outrun-dark.vim index 61f4c06..ecc2d1b 100644 --- a/colors/base16-outrun-dark.vim +++ b/colors/base16-outrun-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-papercolor-dark.vim b/colors/base16-papercolor-dark.vim index aad141f..138ee07 100644 --- a/colors/base16-papercolor-dark.vim +++ b/colors/base16-papercolor-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-papercolor-light.vim b/colors/base16-papercolor-light.vim index 2e4e52f..11bc798 100644 --- a/colors/base16-papercolor-light.vim +++ b/colors/base16-papercolor-light.vim @@ -25,12 +25,12 @@ let s:gui03 = "5f8700" let g:base16_gui03 = "5f8700" let s:gui04 = "0087af" let g:base16_gui04 = "0087af" -let s:gui05 = "878787" -let g:base16_gui05 = "878787" +let s:gui05 = "444444" +let g:base16_gui05 = "444444" let s:gui06 = "005f87" let g:base16_gui06 = "005f87" -let s:gui07 = "444444" -let g:base16_gui07 = "444444" +let s:gui07 = "878787" +let g:base16_gui07 = "878787" let s:gui08 = "bcbcbc" let g:base16_gui08 = "bcbcbc" let s:gui09 = "d70000" @@ -106,7 +106,7 @@ if has("nvim") let g:terminal_color_4 = "#d75f00" let g:terminal_color_5 = "#005faf" let g:terminal_color_6 = "#d75f00" - let g:terminal_color_7 = "#878787" + let g:terminal_color_7 = "#444444" let g:terminal_color_8 = "#5f8700" let g:terminal_color_9 = "#bcbcbc" let g:terminal_color_10 = "#8700af" @@ -114,7 +114,7 @@ if has("nvim") let g:terminal_color_12 = "#d75f00" let g:terminal_color_13 = "#005faf" let g:terminal_color_14 = "#d75f00" - let g:terminal_color_15 = "#444444" + let g:terminal_color_15 = "#878787" let g:terminal_color_background = g:terminal_color_0 let g:terminal_color_foreground = g:terminal_color_5 if &background == "light" @@ -130,7 +130,7 @@ elseif has("terminal") \ "#d75f00", \ "#005faf", \ "#d75f00", - \ "#878787", + \ "#444444", \ "#5f8700", \ "#bcbcbc", \ "#8700af", @@ -138,7 +138,7 @@ elseif has("terminal") \ "#d75f00", \ "#005faf", \ "#d75f00", - \ "#444444", + \ "#878787", \ ] endif @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-paraiso.vim b/colors/base16-paraiso.vim index a45544f..6dd48de 100644 --- a/colors/base16-paraiso.vim +++ b/colors/base16-paraiso.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-pasque.vim b/colors/base16-pasque.vim new file mode 100644 index 0000000..3710c80 --- /dev/null +++ b/colors/base16-pasque.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Pasque scheme by Gabriel Fontes (https://github.com/Misterio77) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-pasque.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "271C3A" +let g:base16_gui00 = "271C3A" +let s:gui01 = "100323" +let g:base16_gui01 = "100323" +let s:gui02 = "3E2D5C" +let g:base16_gui02 = "3E2D5C" +let s:gui03 = "5D5766" +let g:base16_gui03 = "5D5766" +let s:gui04 = "BEBCBF" +let g:base16_gui04 = "BEBCBF" +let s:gui05 = "DEDCDF" +let g:base16_gui05 = "DEDCDF" +let s:gui06 = "EDEAEF" +let g:base16_gui06 = "EDEAEF" +let s:gui07 = "BBAADD" +let g:base16_gui07 = "BBAADD" +let s:gui08 = "A92258" +let g:base16_gui08 = "A92258" +let s:gui09 = "918889" +let g:base16_gui09 = "918889" +let s:gui0A = "804ead" +let g:base16_gui0A = "804ead" +let s:gui0B = "C6914B" +let g:base16_gui0B = "C6914B" +let s:gui0C = "7263AA" +let g:base16_gui0C = "7263AA" +let s:gui0D = "8E7DC6" +let g:base16_gui0D = "8E7DC6" +let s:gui0E = "953B9D" +let g:base16_gui0E = "953B9D" +let s:gui0F = "59325C" +let g:base16_gui0F = "59325C" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#271C3A" + let g:terminal_color_1 = "#A92258" + let g:terminal_color_2 = "#C6914B" + let g:terminal_color_3 = "#804ead" + let g:terminal_color_4 = "#8E7DC6" + let g:terminal_color_5 = "#953B9D" + let g:terminal_color_6 = "#7263AA" + let g:terminal_color_7 = "#DEDCDF" + let g:terminal_color_8 = "#5D5766" + let g:terminal_color_9 = "#A92258" + let g:terminal_color_10 = "#C6914B" + let g:terminal_color_11 = "#804ead" + let g:terminal_color_12 = "#8E7DC6" + let g:terminal_color_13 = "#953B9D" + let g:terminal_color_14 = "#7263AA" + let g:terminal_color_15 = "#BBAADD" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#271C3A", + \ "#A92258", + \ "#C6914B", + \ "#804ead", + \ "#8E7DC6", + \ "#953B9D", + \ "#7263AA", + \ "#DEDCDF", + \ "#5D5766", + \ "#A92258", + \ "#C6914B", + \ "#804ead", + \ "#8E7DC6", + \ "#953B9D", + \ "#7263AA", + \ "#BBAADD", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-pasque" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-phd.vim b/colors/base16-phd.vim index cc33967..64d2be4 100644 --- a/colors/base16-phd.vim +++ b/colors/base16-phd.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-pico.vim b/colors/base16-pico.vim index c6d7eb9..f3df30d 100644 --- a/colors/base16-pico.vim +++ b/colors/base16-pico.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-pop.vim b/colors/base16-pop.vim index 0f0cb09..f5cabf9 100644 --- a/colors/base16-pop.vim +++ b/colors/base16-pop.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-porple.vim b/colors/base16-porple.vim index 522e9d4..0cc3c32 100644 --- a/colors/base16-porple.vim +++ b/colors/base16-porple.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-railscasts.vim b/colors/base16-railscasts.vim index ed08018..e0c88ad 100644 --- a/colors/base16-railscasts.vim +++ b/colors/base16-railscasts.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-rebecca.vim b/colors/base16-rebecca.vim index 1fc178d..92cf204 100644 --- a/colors/base16-rebecca.vim +++ b/colors/base16-rebecca.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-sagelight.vim b/colors/base16-sagelight.vim new file mode 100644 index 0000000..2d5a7ff --- /dev/null +++ b/colors/base16-sagelight.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Sagelight scheme by Carter Veldhuizen + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-sagelight.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "f8f8f8" +let g:base16_gui00 = "f8f8f8" +let s:gui01 = "e8e8e8" +let g:base16_gui01 = "e8e8e8" +let s:gui02 = "d8d8d8" +let g:base16_gui02 = "d8d8d8" +let s:gui03 = "b8b8b8" +let g:base16_gui03 = "b8b8b8" +let s:gui04 = "585858" +let g:base16_gui04 = "585858" +let s:gui05 = "383838" +let g:base16_gui05 = "383838" +let s:gui06 = "282828" +let g:base16_gui06 = "282828" +let s:gui07 = "181818" +let g:base16_gui07 = "181818" +let s:gui08 = "fa8480" +let g:base16_gui08 = "fa8480" +let s:gui09 = "ffaa61" +let g:base16_gui09 = "ffaa61" +let s:gui0A = "ffdc61" +let g:base16_gui0A = "ffdc61" +let s:gui0B = "a0d2c8" +let g:base16_gui0B = "a0d2c8" +let s:gui0C = "a2d6f5" +let g:base16_gui0C = "a2d6f5" +let s:gui0D = "a0a7d2" +let g:base16_gui0D = "a0a7d2" +let s:gui0E = "c8a0d2" +let g:base16_gui0E = "c8a0d2" +let s:gui0F = "d2b2a0" +let g:base16_gui0F = "d2b2a0" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#f8f8f8" + let g:terminal_color_1 = "#fa8480" + let g:terminal_color_2 = "#a0d2c8" + let g:terminal_color_3 = "#ffdc61" + let g:terminal_color_4 = "#a0a7d2" + let g:terminal_color_5 = "#c8a0d2" + let g:terminal_color_6 = "#a2d6f5" + let g:terminal_color_7 = "#383838" + let g:terminal_color_8 = "#b8b8b8" + let g:terminal_color_9 = "#fa8480" + let g:terminal_color_10 = "#a0d2c8" + let g:terminal_color_11 = "#ffdc61" + let g:terminal_color_12 = "#a0a7d2" + let g:terminal_color_13 = "#c8a0d2" + let g:terminal_color_14 = "#a2d6f5" + let g:terminal_color_15 = "#181818" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#f8f8f8", + \ "#fa8480", + \ "#a0d2c8", + \ "#ffdc61", + \ "#a0a7d2", + \ "#c8a0d2", + \ "#a2d6f5", + \ "#383838", + \ "#b8b8b8", + \ "#fa8480", + \ "#a0d2c8", + \ "#ffdc61", + \ "#a0a7d2", + \ "#c8a0d2", + \ "#a2d6f5", + \ "#181818", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-sagelight" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-sandcastle.vim b/colors/base16-sandcastle.vim new file mode 100644 index 0000000..b3118a5 --- /dev/null +++ b/colors/base16-sandcastle.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Sandcastle scheme by George Essig (https://github.com/gessig) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-sandcastle.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "282c34" +let g:base16_gui00 = "282c34" +let s:gui01 = "2c323b" +let g:base16_gui01 = "2c323b" +let s:gui02 = "3e4451" +let g:base16_gui02 = "3e4451" +let s:gui03 = "665c54" +let g:base16_gui03 = "665c54" +let s:gui04 = "928374" +let g:base16_gui04 = "928374" +let s:gui05 = "a89984" +let g:base16_gui05 = "a89984" +let s:gui06 = "d5c4a1" +let g:base16_gui06 = "d5c4a1" +let s:gui07 = "fdf4c1" +let g:base16_gui07 = "fdf4c1" +let s:gui08 = "83a598" +let g:base16_gui08 = "83a598" +let s:gui09 = "a07e3b" +let g:base16_gui09 = "a07e3b" +let s:gui0A = "a07e3b" +let g:base16_gui0A = "a07e3b" +let s:gui0B = "528b8b" +let g:base16_gui0B = "528b8b" +let s:gui0C = "83a598" +let g:base16_gui0C = "83a598" +let s:gui0D = "83a598" +let g:base16_gui0D = "83a598" +let s:gui0E = "d75f5f" +let g:base16_gui0E = "d75f5f" +let s:gui0F = "a87322" +let g:base16_gui0F = "a87322" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#282c34" + let g:terminal_color_1 = "#83a598" + let g:terminal_color_2 = "#528b8b" + let g:terminal_color_3 = "#a07e3b" + let g:terminal_color_4 = "#83a598" + let g:terminal_color_5 = "#d75f5f" + let g:terminal_color_6 = "#83a598" + let g:terminal_color_7 = "#a89984" + let g:terminal_color_8 = "#665c54" + let g:terminal_color_9 = "#83a598" + let g:terminal_color_10 = "#528b8b" + let g:terminal_color_11 = "#a07e3b" + let g:terminal_color_12 = "#83a598" + let g:terminal_color_13 = "#d75f5f" + let g:terminal_color_14 = "#83a598" + let g:terminal_color_15 = "#fdf4c1" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#282c34", + \ "#83a598", + \ "#528b8b", + \ "#a07e3b", + \ "#83a598", + \ "#d75f5f", + \ "#83a598", + \ "#a89984", + \ "#665c54", + \ "#83a598", + \ "#528b8b", + \ "#a07e3b", + \ "#83a598", + \ "#d75f5f", + \ "#83a598", + \ "#fdf4c1", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-sandcastle" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-seti.vim b/colors/base16-seti.vim index fd3d63e..57b81c0 100644 --- a/colors/base16-seti.vim +++ b/colors/base16-seti.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-shapeshifter.vim b/colors/base16-shapeshifter.vim index 7f6637e..62c85a2 100644 --- a/colors/base16-shapeshifter.vim +++ b/colors/base16-shapeshifter.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-silk-dark.vim b/colors/base16-silk-dark.vim new file mode 100644 index 0000000..7cda06a --- /dev/null +++ b/colors/base16-silk-dark.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Silk Dark scheme by Gabriel Fontes (https://github.com/Misterio77) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-silk-dark.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "0e3c46" +let g:base16_gui00 = "0e3c46" +let s:gui01 = "1D494E" +let g:base16_gui01 = "1D494E" +let s:gui02 = "2A5054" +let g:base16_gui02 = "2A5054" +let s:gui03 = "587073" +let g:base16_gui03 = "587073" +let s:gui04 = "9DC8CD" +let g:base16_gui04 = "9DC8CD" +let s:gui05 = "C7DBDD" +let g:base16_gui05 = "C7DBDD" +let s:gui06 = "CBF2F7" +let g:base16_gui06 = "CBF2F7" +let s:gui07 = "D2FAFF" +let g:base16_gui07 = "D2FAFF" +let s:gui08 = "fb6953" +let g:base16_gui08 = "fb6953" +let s:gui09 = "fcab74" +let g:base16_gui09 = "fcab74" +let s:gui0A = "fce380" +let g:base16_gui0A = "fce380" +let s:gui0B = "73d8ad" +let g:base16_gui0B = "73d8ad" +let s:gui0C = "3fb2b9" +let g:base16_gui0C = "3fb2b9" +let s:gui0D = "46bddd" +let g:base16_gui0D = "46bddd" +let s:gui0E = "756b8a" +let g:base16_gui0E = "756b8a" +let s:gui0F = "9b647b" +let g:base16_gui0F = "9b647b" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#0e3c46" + let g:terminal_color_1 = "#fb6953" + let g:terminal_color_2 = "#73d8ad" + let g:terminal_color_3 = "#fce380" + let g:terminal_color_4 = "#46bddd" + let g:terminal_color_5 = "#756b8a" + let g:terminal_color_6 = "#3fb2b9" + let g:terminal_color_7 = "#C7DBDD" + let g:terminal_color_8 = "#587073" + let g:terminal_color_9 = "#fb6953" + let g:terminal_color_10 = "#73d8ad" + let g:terminal_color_11 = "#fce380" + let g:terminal_color_12 = "#46bddd" + let g:terminal_color_13 = "#756b8a" + let g:terminal_color_14 = "#3fb2b9" + let g:terminal_color_15 = "#D2FAFF" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#0e3c46", + \ "#fb6953", + \ "#73d8ad", + \ "#fce380", + \ "#46bddd", + \ "#756b8a", + \ "#3fb2b9", + \ "#C7DBDD", + \ "#587073", + \ "#fb6953", + \ "#73d8ad", + \ "#fce380", + \ "#46bddd", + \ "#756b8a", + \ "#3fb2b9", + \ "#D2FAFF", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-silk-dark" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-silk-light.vim b/colors/base16-silk-light.vim new file mode 100644 index 0000000..dda723f --- /dev/null +++ b/colors/base16-silk-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Silk Light scheme by Gabriel Fontes (https://github.com/Misterio77) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-silk-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "E9F1EF" +let g:base16_gui00 = "E9F1EF" +let s:gui01 = "CCD4D3" +let g:base16_gui01 = "CCD4D3" +let s:gui02 = "90B7B6" +let g:base16_gui02 = "90B7B6" +let s:gui03 = "5C787B" +let g:base16_gui03 = "5C787B" +let s:gui04 = "4B5B5F" +let g:base16_gui04 = "4B5B5F" +let s:gui05 = "385156" +let g:base16_gui05 = "385156" +let s:gui06 = "0e3c46" +let g:base16_gui06 = "0e3c46" +let s:gui07 = "D2FAFF" +let g:base16_gui07 = "D2FAFF" +let s:gui08 = "CF432E" +let g:base16_gui08 = "CF432E" +let s:gui09 = "D27F46" +let g:base16_gui09 = "D27F46" +let s:gui0A = "CFAD25" +let g:base16_gui0A = "CFAD25" +let s:gui0B = "6CA38C" +let g:base16_gui0B = "6CA38C" +let s:gui0C = "329CA2" +let g:base16_gui0C = "329CA2" +let s:gui0D = "39AAC9" +let g:base16_gui0D = "39AAC9" +let s:gui0E = "6E6582" +let g:base16_gui0E = "6E6582" +let s:gui0F = "865369" +let g:base16_gui0F = "865369" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#E9F1EF" + let g:terminal_color_1 = "#CF432E" + let g:terminal_color_2 = "#6CA38C" + let g:terminal_color_3 = "#CFAD25" + let g:terminal_color_4 = "#39AAC9" + let g:terminal_color_5 = "#6E6582" + let g:terminal_color_6 = "#329CA2" + let g:terminal_color_7 = "#385156" + let g:terminal_color_8 = "#5C787B" + let g:terminal_color_9 = "#CF432E" + let g:terminal_color_10 = "#6CA38C" + let g:terminal_color_11 = "#CFAD25" + let g:terminal_color_12 = "#39AAC9" + let g:terminal_color_13 = "#6E6582" + let g:terminal_color_14 = "#329CA2" + let g:terminal_color_15 = "#D2FAFF" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#E9F1EF", + \ "#CF432E", + \ "#6CA38C", + \ "#CFAD25", + \ "#39AAC9", + \ "#6E6582", + \ "#329CA2", + \ "#385156", + \ "#5C787B", + \ "#CF432E", + \ "#6CA38C", + \ "#CFAD25", + \ "#39AAC9", + \ "#6E6582", + \ "#329CA2", + \ "#D2FAFF", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-silk-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-snazzy.vim b/colors/base16-snazzy.vim index ff284dc..8beec3f 100644 --- a/colors/base16-snazzy.vim +++ b/colors/base16-snazzy.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-solarflare-light.vim b/colors/base16-solarflare-light.vim new file mode 100644 index 0000000..ade7123 --- /dev/null +++ b/colors/base16-solarflare-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Solar Flare Light scheme by Chuck Harmston (https://chuck.harmston.ch) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-solarflare-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "F5F7FA" +let g:base16_gui00 = "F5F7FA" +let s:gui01 = "E8E9ED" +let g:base16_gui01 = "E8E9ED" +let s:gui02 = "A6AFB8" +let g:base16_gui02 = "A6AFB8" +let s:gui03 = "85939E" +let g:base16_gui03 = "85939E" +let s:gui04 = "667581" +let g:base16_gui04 = "667581" +let s:gui05 = "586875" +let g:base16_gui05 = "586875" +let s:gui06 = "222E38" +let g:base16_gui06 = "222E38" +let s:gui07 = "18262F" +let g:base16_gui07 = "18262F" +let s:gui08 = "EF5253" +let g:base16_gui08 = "EF5253" +let s:gui09 = "E66B2B" +let g:base16_gui09 = "E66B2B" +let s:gui0A = "E4B51C" +let g:base16_gui0A = "E4B51C" +let s:gui0B = "7CC844" +let g:base16_gui0B = "7CC844" +let s:gui0C = "52CBB0" +let g:base16_gui0C = "52CBB0" +let s:gui0D = "33B5E1" +let g:base16_gui0D = "33B5E1" +let s:gui0E = "A363D5" +let g:base16_gui0E = "A363D5" +let s:gui0F = "D73C9A" +let g:base16_gui0F = "D73C9A" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#F5F7FA" + let g:terminal_color_1 = "#EF5253" + let g:terminal_color_2 = "#7CC844" + let g:terminal_color_3 = "#E4B51C" + let g:terminal_color_4 = "#33B5E1" + let g:terminal_color_5 = "#A363D5" + let g:terminal_color_6 = "#52CBB0" + let g:terminal_color_7 = "#586875" + let g:terminal_color_8 = "#85939E" + let g:terminal_color_9 = "#EF5253" + let g:terminal_color_10 = "#7CC844" + let g:terminal_color_11 = "#E4B51C" + let g:terminal_color_12 = "#33B5E1" + let g:terminal_color_13 = "#A363D5" + let g:terminal_color_14 = "#52CBB0" + let g:terminal_color_15 = "#18262F" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#F5F7FA", + \ "#EF5253", + \ "#7CC844", + \ "#E4B51C", + \ "#33B5E1", + \ "#A363D5", + \ "#52CBB0", + \ "#586875", + \ "#85939E", + \ "#EF5253", + \ "#7CC844", + \ "#E4B51C", + \ "#33B5E1", + \ "#A363D5", + \ "#52CBB0", + \ "#18262F", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-solarflare-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-solarflare.vim b/colors/base16-solarflare.vim index 0ff8d14..6eab012 100644 --- a/colors/base16-solarflare.vim +++ b/colors/base16-solarflare.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-solarized-dark.vim b/colors/base16-solarized-dark.vim index 2e85eb6..9a31422 100644 --- a/colors/base16-solarized-dark.vim +++ b/colors/base16-solarized-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-solarized-light.vim b/colors/base16-solarized-light.vim index 1f40397..3881c74 100644 --- a/colors/base16-solarized-light.vim +++ b/colors/base16-solarized-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-spacemacs.vim b/colors/base16-spacemacs.vim index 3532acb..501e691 100644 --- a/colors/base16-spacemacs.vim +++ b/colors/base16-spacemacs.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-summercamp.vim b/colors/base16-summercamp.vim new file mode 100644 index 0000000..2ad0ffa --- /dev/null +++ b/colors/base16-summercamp.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" summercamp scheme by zoe firi (zoefiri.github.io) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-summercamp.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "1c1810" +let g:base16_gui00 = "1c1810" +let s:gui01 = "2a261c" +let g:base16_gui01 = "2a261c" +let s:gui02 = "3a3527" +let g:base16_gui02 = "3a3527" +let s:gui03 = "504b38" +let g:base16_gui03 = "504b38" +let s:gui04 = "5f5b45" +let g:base16_gui04 = "5f5b45" +let s:gui05 = "736e55" +let g:base16_gui05 = "736e55" +let s:gui06 = "bab696" +let g:base16_gui06 = "bab696" +let s:gui07 = "f8f5de" +let g:base16_gui07 = "f8f5de" +let s:gui08 = "e35142" +let g:base16_gui08 = "e35142" +let s:gui09 = "fba11b" +let g:base16_gui09 = "fba11b" +let s:gui0A = "f2ff27" +let g:base16_gui0A = "f2ff27" +let s:gui0B = "5ceb5a" +let g:base16_gui0B = "5ceb5a" +let s:gui0C = "5aebbc" +let g:base16_gui0C = "5aebbc" +let s:gui0D = "489bf0" +let g:base16_gui0D = "489bf0" +let s:gui0E = "FF8080" +let g:base16_gui0E = "FF8080" +let s:gui0F = "F69BE7" +let g:base16_gui0F = "F69BE7" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#1c1810" + let g:terminal_color_1 = "#e35142" + let g:terminal_color_2 = "#5ceb5a" + let g:terminal_color_3 = "#f2ff27" + let g:terminal_color_4 = "#489bf0" + let g:terminal_color_5 = "#FF8080" + let g:terminal_color_6 = "#5aebbc" + let g:terminal_color_7 = "#736e55" + let g:terminal_color_8 = "#504b38" + let g:terminal_color_9 = "#e35142" + let g:terminal_color_10 = "#5ceb5a" + let g:terminal_color_11 = "#f2ff27" + let g:terminal_color_12 = "#489bf0" + let g:terminal_color_13 = "#FF8080" + let g:terminal_color_14 = "#5aebbc" + let g:terminal_color_15 = "#f8f5de" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#1c1810", + \ "#e35142", + \ "#5ceb5a", + \ "#f2ff27", + \ "#489bf0", + \ "#FF8080", + \ "#5aebbc", + \ "#736e55", + \ "#504b38", + \ "#e35142", + \ "#5ceb5a", + \ "#f2ff27", + \ "#489bf0", + \ "#FF8080", + \ "#5aebbc", + \ "#f8f5de", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-summercamp" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-summerfruit-dark.vim b/colors/base16-summerfruit-dark.vim index 5d398a1..3caafcf 100644 --- a/colors/base16-summerfruit-dark.vim +++ b/colors/base16-summerfruit-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-summerfruit-light.vim b/colors/base16-summerfruit-light.vim index 3784c17..1ed4173 100644 --- a/colors/base16-summerfruit-light.vim +++ b/colors/base16-summerfruit-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-synth-midnight-dark.vim b/colors/base16-synth-midnight-dark.vim index e8ccfb4..4389e49 100644 --- a/colors/base16-synth-midnight-dark.vim +++ b/colors/base16-synth-midnight-dark.vim @@ -2,7 +2,7 @@ " base16-vim (https://github.com/chriskempson/base16-vim) " by Chris Kempson (http://chriskempson.com) -" Synth Midnight Dark scheme by Michaƫl Ball (http://github.com/michael-ball/) +" Synth Midnight Terminal Dark scheme by Michaƫl Ball (http://github.com/michael-ball/) " This enables the coresponding base16-shell script to run so that " :colorscheme works in terminals supported by base16-shell scripts @@ -15,38 +15,38 @@ if !has("gui_running") endif " GUI color definitions -let s:gui00 = "040404" -let g:base16_gui00 = "040404" -let s:gui01 = "141414" -let g:base16_gui01 = "141414" -let s:gui02 = "242424" -let g:base16_gui02 = "242424" -let s:gui03 = "61507A" -let g:base16_gui03 = "61507A" -let s:gui04 = "BFBBBF" -let g:base16_gui04 = "BFBBBF" -let s:gui05 = "DFDBDF" -let g:base16_gui05 = "DFDBDF" -let s:gui06 = "EFEBEF" -let g:base16_gui06 = "EFEBEF" -let s:gui07 = "FFFBFF" -let g:base16_gui07 = "FFFBFF" -let s:gui08 = "B53B50" -let g:base16_gui08 = "B53B50" -let s:gui09 = "E4600E" -let g:base16_gui09 = "E4600E" -let s:gui0A = "DAE84D" -let g:base16_gui0A = "DAE84D" -let s:gui0B = "06EA61" -let g:base16_gui0B = "06EA61" -let s:gui0C = "7CEDE9" -let g:base16_gui0C = "7CEDE9" -let s:gui0D = "03AEFF" -let g:base16_gui0D = "03AEFF" -let s:gui0E = "EA5CE2" -let g:base16_gui0E = "EA5CE2" -let s:gui0F = "9D4D0E" -let g:base16_gui0F = "9D4D0E" +let s:gui00 = "050608" +let g:base16_gui00 = "050608" +let s:gui01 = "1a1b1c" +let g:base16_gui01 = "1a1b1c" +let s:gui02 = "28292a" +let g:base16_gui02 = "28292a" +let s:gui03 = "474849" +let g:base16_gui03 = "474849" +let s:gui04 = "a3a5a6" +let g:base16_gui04 = "a3a5a6" +let s:gui05 = "c1c3c4" +let g:base16_gui05 = "c1c3c4" +let s:gui06 = "cfd1d2" +let g:base16_gui06 = "cfd1d2" +let s:gui07 = "dddfe0" +let g:base16_gui07 = "dddfe0" +let s:gui08 = "b53b50" +let g:base16_gui08 = "b53b50" +let s:gui09 = "ea770d" +let g:base16_gui09 = "ea770d" +let s:gui0A = "c9d364" +let g:base16_gui0A = "c9d364" +let s:gui0B = "06ea61" +let g:base16_gui0B = "06ea61" +let s:gui0C = "42fff9" +let g:base16_gui0C = "42fff9" +let s:gui0D = "03aeff" +let g:base16_gui0D = "03aeff" +let s:gui0E = "ea5ce2" +let g:base16_gui0E = "ea5ce2" +let s:gui0F = "cd6320" +let g:base16_gui0F = "cd6320" " Terminal color definitions let s:cterm00 = "00" @@ -99,22 +99,22 @@ endif " Neovim terminal colours if has("nvim") - let g:terminal_color_0 = "#040404" - let g:terminal_color_1 = "#B53B50" - let g:terminal_color_2 = "#06EA61" - let g:terminal_color_3 = "#DAE84D" - let g:terminal_color_4 = "#03AEFF" - let g:terminal_color_5 = "#EA5CE2" - let g:terminal_color_6 = "#7CEDE9" - let g:terminal_color_7 = "#DFDBDF" - let g:terminal_color_8 = "#61507A" - let g:terminal_color_9 = "#B53B50" - let g:terminal_color_10 = "#06EA61" - let g:terminal_color_11 = "#DAE84D" - let g:terminal_color_12 = "#03AEFF" - let g:terminal_color_13 = "#EA5CE2" - let g:terminal_color_14 = "#7CEDE9" - let g:terminal_color_15 = "#FFFBFF" + let g:terminal_color_0 = "#050608" + let g:terminal_color_1 = "#b53b50" + let g:terminal_color_2 = "#06ea61" + let g:terminal_color_3 = "#c9d364" + let g:terminal_color_4 = "#03aeff" + let g:terminal_color_5 = "#ea5ce2" + let g:terminal_color_6 = "#42fff9" + let g:terminal_color_7 = "#c1c3c4" + let g:terminal_color_8 = "#474849" + let g:terminal_color_9 = "#b53b50" + let g:terminal_color_10 = "#06ea61" + let g:terminal_color_11 = "#c9d364" + let g:terminal_color_12 = "#03aeff" + let g:terminal_color_13 = "#ea5ce2" + let g:terminal_color_14 = "#42fff9" + let g:terminal_color_15 = "#dddfe0" let g:terminal_color_background = g:terminal_color_0 let g:terminal_color_foreground = g:terminal_color_5 if &background == "light" @@ -123,22 +123,22 @@ if has("nvim") endif elseif has("terminal") let g:terminal_ansi_colors = [ - \ "#040404", - \ "#B53B50", - \ "#06EA61", - \ "#DAE84D", - \ "#03AEFF", - \ "#EA5CE2", - \ "#7CEDE9", - \ "#DFDBDF", - \ "#61507A", - \ "#B53B50", - \ "#06EA61", - \ "#DAE84D", - \ "#03AEFF", - \ "#EA5CE2", - \ "#7CEDE9", - \ "#FFFBFF", + \ "#050608", + \ "#b53b50", + \ "#06ea61", + \ "#c9d364", + \ "#03aeff", + \ "#ea5ce2", + \ "#42fff9", + \ "#c1c3c4", + \ "#474849", + \ "#b53b50", + \ "#06ea61", + \ "#c9d364", + \ "#03aeff", + \ "#ea5ce2", + \ "#42fff9", + \ "#dddfe0", \ ] endif @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-synth-midnight-light.vim b/colors/base16-synth-midnight-light.vim new file mode 100644 index 0000000..5fec84f --- /dev/null +++ b/colors/base16-synth-midnight-light.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Synth Midnight Terminal Light scheme by Michaƫl Ball (http://github.com/michael-ball/) + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-synth-midnight-light.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "dddfe0" +let g:base16_gui00 = "dddfe0" +let s:gui01 = "cfd1d2" +let g:base16_gui01 = "cfd1d2" +let s:gui02 = "c1c3c4" +let g:base16_gui02 = "c1c3c4" +let s:gui03 = "a3a5a6" +let g:base16_gui03 = "a3a5a6" +let s:gui04 = "474849" +let g:base16_gui04 = "474849" +let s:gui05 = "28292a" +let g:base16_gui05 = "28292a" +let s:gui06 = "1a1b1c" +let g:base16_gui06 = "1a1b1c" +let s:gui07 = "050608" +let g:base16_gui07 = "050608" +let s:gui08 = "b53b50" +let g:base16_gui08 = "b53b50" +let s:gui09 = "ea770d" +let g:base16_gui09 = "ea770d" +let s:gui0A = "c9d364" +let g:base16_gui0A = "c9d364" +let s:gui0B = "06ea61" +let g:base16_gui0B = "06ea61" +let s:gui0C = "42fff9" +let g:base16_gui0C = "42fff9" +let s:gui0D = "03aeff" +let g:base16_gui0D = "03aeff" +let s:gui0E = "ea5ce2" +let g:base16_gui0E = "ea5ce2" +let s:gui0F = "cd6320" +let g:base16_gui0F = "cd6320" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#dddfe0" + let g:terminal_color_1 = "#b53b50" + let g:terminal_color_2 = "#06ea61" + let g:terminal_color_3 = "#c9d364" + let g:terminal_color_4 = "#03aeff" + let g:terminal_color_5 = "#ea5ce2" + let g:terminal_color_6 = "#42fff9" + let g:terminal_color_7 = "#28292a" + let g:terminal_color_8 = "#a3a5a6" + let g:terminal_color_9 = "#b53b50" + let g:terminal_color_10 = "#06ea61" + let g:terminal_color_11 = "#c9d364" + let g:terminal_color_12 = "#03aeff" + let g:terminal_color_13 = "#ea5ce2" + let g:terminal_color_14 = "#42fff9" + let g:terminal_color_15 = "#050608" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#dddfe0", + \ "#b53b50", + \ "#06ea61", + \ "#c9d364", + \ "#03aeff", + \ "#ea5ce2", + \ "#42fff9", + \ "#28292a", + \ "#a3a5a6", + \ "#b53b50", + \ "#06ea61", + \ "#c9d364", + \ "#03aeff", + \ "#ea5ce2", + \ "#42fff9", + \ "#050608", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-synth-midnight-light" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-tango.vim b/colors/base16-tango.vim new file mode 100644 index 0000000..069ca35 --- /dev/null +++ b/colors/base16-tango.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" Tango scheme by @Schnouki, based on the Tango Desktop Project + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-tango.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "2e3436" +let g:base16_gui00 = "2e3436" +let s:gui01 = "8ae234" +let g:base16_gui01 = "8ae234" +let s:gui02 = "fce94f" +let g:base16_gui02 = "fce94f" +let s:gui03 = "555753" +let g:base16_gui03 = "555753" +let s:gui04 = "729fcf" +let g:base16_gui04 = "729fcf" +let s:gui05 = "d3d7cf" +let g:base16_gui05 = "d3d7cf" +let s:gui06 = "ad7fa8" +let g:base16_gui06 = "ad7fa8" +let s:gui07 = "eeeeec" +let g:base16_gui07 = "eeeeec" +let s:gui08 = "cc0000" +let g:base16_gui08 = "cc0000" +let s:gui09 = "ef2929" +let g:base16_gui09 = "ef2929" +let s:gui0A = "c4a000" +let g:base16_gui0A = "c4a000" +let s:gui0B = "4e9a06" +let g:base16_gui0B = "4e9a06" +let s:gui0C = "06989a" +let g:base16_gui0C = "06989a" +let s:gui0D = "3465a4" +let g:base16_gui0D = "3465a4" +let s:gui0E = "75507b" +let g:base16_gui0E = "75507b" +let s:gui0F = "34e2e2" +let g:base16_gui0F = "34e2e2" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#2e3436" + let g:terminal_color_1 = "#cc0000" + let g:terminal_color_2 = "#4e9a06" + let g:terminal_color_3 = "#c4a000" + let g:terminal_color_4 = "#3465a4" + let g:terminal_color_5 = "#75507b" + let g:terminal_color_6 = "#06989a" + let g:terminal_color_7 = "#d3d7cf" + let g:terminal_color_8 = "#555753" + let g:terminal_color_9 = "#cc0000" + let g:terminal_color_10 = "#4e9a06" + let g:terminal_color_11 = "#c4a000" + let g:terminal_color_12 = "#3465a4" + let g:terminal_color_13 = "#75507b" + let g:terminal_color_14 = "#06989a" + let g:terminal_color_15 = "#eeeeec" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#2e3436", + \ "#cc0000", + \ "#4e9a06", + \ "#c4a000", + \ "#3465a4", + \ "#75507b", + \ "#06989a", + \ "#d3d7cf", + \ "#555753", + \ "#cc0000", + \ "#4e9a06", + \ "#c4a000", + \ "#3465a4", + \ "#75507b", + \ "#06989a", + \ "#eeeeec", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-tango" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-tomorrow-night-eighties.vim b/colors/base16-tomorrow-night-eighties.vim index 6763d17..8289b4b 100644 --- a/colors/base16-tomorrow-night-eighties.vim +++ b/colors/base16-tomorrow-night-eighties.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-tomorrow-night.vim b/colors/base16-tomorrow-night.vim index f3fe5cd..a7943d0 100644 --- a/colors/base16-tomorrow-night.vim +++ b/colors/base16-tomorrow-night.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-tomorrow.vim b/colors/base16-tomorrow.vim index 17b2977..d8b4d3b 100644 --- a/colors/base16-tomorrow.vim +++ b/colors/base16-tomorrow.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-tube.vim b/colors/base16-tube.vim index 05267cd..c1ff1a6 100644 --- a/colors/base16-tube.vim +++ b/colors/base16-tube.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-twilight.vim b/colors/base16-twilight.vim index f325806..96c602f 100644 --- a/colors/base16-twilight.vim +++ b/colors/base16-twilight.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-unikitty-dark.vim b/colors/base16-unikitty-dark.vim index 80f636f..81a7a9e 100644 --- a/colors/base16-unikitty-dark.vim +++ b/colors/base16-unikitty-dark.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-unikitty-light.vim b/colors/base16-unikitty-light.vim index ded1992..f640697 100644 --- a/colors/base16-unikitty-light.vim +++ b/colors/base16-unikitty-light.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-vulcan.vim b/colors/base16-vulcan.vim new file mode 100644 index 0000000..59a82c9 --- /dev/null +++ b/colors/base16-vulcan.vim @@ -0,0 +1,446 @@ +" vi:syntax=vim + +" base16-vim (https://github.com/chriskempson/base16-vim) +" by Chris Kempson (http://chriskempson.com) +" vulcan scheme by Andrey Varfolomeev + +" This enables the coresponding base16-shell script to run so that +" :colorscheme works in terminals supported by base16-shell scripts +" User must set this variable in .vimrc +" let g:base16_shell_path=base16-builder/output/shell/ +if !has("gui_running") + if exists("g:base16_shell_path") + execute "silent !/bin/sh ".g:base16_shell_path."/base16-vulcan.sh" + endif +endif + +" GUI color definitions +let s:gui00 = "041523" +let g:base16_gui00 = "041523" +let s:gui01 = "122339" +let g:base16_gui01 = "122339" +let s:gui02 = "003552" +let g:base16_gui02 = "003552" +let s:gui03 = "7a5759" +let g:base16_gui03 = "7a5759" +let s:gui04 = "6b6977" +let g:base16_gui04 = "6b6977" +let s:gui05 = "5b778c" +let g:base16_gui05 = "5b778c" +let s:gui06 = "333238" +let g:base16_gui06 = "333238" +let s:gui07 = "214d68" +let g:base16_gui07 = "214d68" +let s:gui08 = "818591" +let g:base16_gui08 = "818591" +let s:gui09 = "9198a3" +let g:base16_gui09 = "9198a3" +let s:gui0A = "adb4b9" +let g:base16_gui0A = "adb4b9" +let s:gui0B = "977d7c" +let g:base16_gui0B = "977d7c" +let s:gui0C = "977d7c" +let g:base16_gui0C = "977d7c" +let s:gui0D = "977d7c" +let g:base16_gui0D = "977d7c" +let s:gui0E = "9198a3" +let g:base16_gui0E = "9198a3" +let s:gui0F = "977d7c" +let g:base16_gui0F = "977d7c" + +" Terminal color definitions +let s:cterm00 = "00" +let g:base16_cterm00 = "00" +let s:cterm03 = "08" +let g:base16_cterm03 = "08" +let s:cterm05 = "07" +let g:base16_cterm05 = "07" +let s:cterm07 = "15" +let g:base16_cterm07 = "15" +let s:cterm08 = "01" +let g:base16_cterm08 = "01" +let s:cterm0A = "03" +let g:base16_cterm0A = "03" +let s:cterm0B = "02" +let g:base16_cterm0B = "02" +let s:cterm0C = "06" +let g:base16_cterm0C = "06" +let s:cterm0D = "04" +let g:base16_cterm0D = "04" +let s:cterm0E = "05" +let g:base16_cterm0E = "05" +if exists("base16colorspace") && base16colorspace == "256" + let s:cterm01 = "18" + let g:base16_cterm01 = "18" + let s:cterm02 = "19" + let g:base16_cterm02 = "19" + let s:cterm04 = "20" + let g:base16_cterm04 = "20" + let s:cterm06 = "21" + let g:base16_cterm06 = "21" + let s:cterm09 = "16" + let g:base16_cterm09 = "16" + let s:cterm0F = "17" + let g:base16_cterm0F = "17" +else + let s:cterm01 = "10" + let g:base16_cterm01 = "10" + let s:cterm02 = "11" + let g:base16_cterm02 = "11" + let s:cterm04 = "12" + let g:base16_cterm04 = "12" + let s:cterm06 = "13" + let g:base16_cterm06 = "13" + let s:cterm09 = "09" + let g:base16_cterm09 = "09" + let s:cterm0F = "14" + let g:base16_cterm0F = "14" +endif + +" Neovim terminal colours +if has("nvim") + let g:terminal_color_0 = "#041523" + let g:terminal_color_1 = "#818591" + let g:terminal_color_2 = "#977d7c" + let g:terminal_color_3 = "#adb4b9" + let g:terminal_color_4 = "#977d7c" + let g:terminal_color_5 = "#9198a3" + let g:terminal_color_6 = "#977d7c" + let g:terminal_color_7 = "#5b778c" + let g:terminal_color_8 = "#7a5759" + let g:terminal_color_9 = "#818591" + let g:terminal_color_10 = "#977d7c" + let g:terminal_color_11 = "#adb4b9" + let g:terminal_color_12 = "#977d7c" + let g:terminal_color_13 = "#9198a3" + let g:terminal_color_14 = "#977d7c" + let g:terminal_color_15 = "#214d68" + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = g:terminal_color_5 + if &background == "light" + let g:terminal_color_background = g:terminal_color_7 + let g:terminal_color_foreground = g:terminal_color_2 + endif +elseif has("terminal") + let g:terminal_ansi_colors = [ + \ "#041523", + \ "#818591", + \ "#977d7c", + \ "#adb4b9", + \ "#977d7c", + \ "#9198a3", + \ "#977d7c", + \ "#5b778c", + \ "#7a5759", + \ "#818591", + \ "#977d7c", + \ "#adb4b9", + \ "#977d7c", + \ "#9198a3", + \ "#977d7c", + \ "#214d68", + \ ] +endif + +" Theme setup +hi clear +syntax reset +let g:colors_name = "base16-vulcan" + +" Highlighting function +" Optional variables are attributes and guisp +function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) + let l:attr = get(a:, 1, "") + let l:guisp = get(a:, 2, "") + + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + + if a:guifg != "" + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif + endif + if a:guibg != "" + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if l:attr != "" + exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr + endif + if l:guisp != "" + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif + endif +endfunction + + +fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) + call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) +endfun + +" Vim editor colors +call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("Bold", "", "", "", "", "bold", "") +call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") +call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("FoldColumn", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") +call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") +call <sid>hi("Italic", "", "", "", "", "none", "") +call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") +call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") +call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") +call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") +call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("WildMenu", s:gui08, s:gui0A, s:cterm08, "", "", "") +call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") +call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") +call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none", "") +call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "") +call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") +call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") +call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") +call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") +call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") +call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") + +" Standard syntax highlighting +call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") +call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") +call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") +call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") +call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") +call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") + +" C highlighting +call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") + +" C# highlighting +call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") + +" CSS highlighting +call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") + +" Diff highlighting +call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") +call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") +call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") +call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") +call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") + +" Git highlighting +call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") +call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") +call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") + +" GitGutter highlighting +call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") +call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "", "") + +" HTML highlighting +call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") + +" JavaScript highlighting +call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") +" pangloss/vim-javascript highlighting +call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") + +" Mail highlighting +call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") + +" Markdown highlighting +call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") +call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") + +" NERDTree highlighting +call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") + +" PHP highlighting +call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") +call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") + +" Python highlighting +call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") + +" Ruby highlighting +call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") +call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") +call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") +call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") + +" SASS highlighting +call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") +call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") + +" Signify highlighting +call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") +call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") +call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") + +" Spelling highlighting +call <sid>hi("SpellBad", "", "", "", "", "undercurl", s:gui08) +call <sid>hi("SpellLocal", "", "", "", "", "undercurl", s:gui0C) +call <sid>hi("SpellCap", "", "", "", "", "undercurl", s:gui0D) +call <sid>hi("SpellRare", "", "", "", "", "undercurl", s:gui0E) + +" Startify highlighting +call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") +call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") +call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") +call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") +call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") +call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") +call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") + +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + +" Java highlighting +call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") + +" Remove functions +delf <sid>hi + +" Remove color variables +unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F +unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F diff --git a/colors/base16-woodland.vim b/colors/base16-woodland.vim index d5863d5..3f7c730 100644 --- a/colors/base16-woodland.vim +++ b/colors/base16-woodland.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-xcode-dusk.vim b/colors/base16-xcode-dusk.vim index 7409870..608fbaa 100644 --- a/colors/base16-xcode-dusk.vim +++ b/colors/base16-xcode-dusk.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/colors/base16-zenburn.vim b/colors/base16-zenburn.vim index 8c11a00..a664d31 100644 --- a/colors/base16-zenburn.vim +++ b/colors/base16-zenburn.vim @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -216,7 +231,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -402,6 +417,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") diff --git a/templates/default.mustache b/templates/default.mustache index 71554b1..c4c631a 100644 --- a/templates/default.mustache +++ b/templates/default.mustache @@ -153,11 +153,22 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") + " See :help highlight-guifg + let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] + if a:guifg != "" - exec "hi " . a:group . " guifg=#" . a:guifg + if index(l:gui_special_names, a:guifg) >= 0 + exec "hi " . a:group . " guifg=" . a:guifg + else + exec "hi " . a:group . " guifg=#" . a:guifg + endif endif if a:guibg != "" - exec "hi " . a:group . " guibg=#" . a:guibg + if index(l:gui_special_names, a:guibg) >= 0 + exec "hi " . a:group . " guibg=" . a:guibg + else + exec "hi " . a:group . " guibg=#" . a:guibg + endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg @@ -169,7 +180,11 @@ function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" - exec "hi " . a:group . " guisp=#" . l:guisp + if index(l:gui_special_names, l:guisp) >= 0 + exec "hi " . a:group . " guisp=" . l:guisp + else + exec "hi " . a:group . " guisp=#" . l:guisp + endif endif endfunction @@ -217,7 +232,7 @@ call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none", "" call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") -call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "", "") +call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui05, s:gui01, s:cterm05, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") @@ -403,6 +418,24 @@ call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") +" Neovim Treesitter highlighting +if has("nvim") + call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") + call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") + call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") + call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") + call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") +endif + +" LSP highlighting +if has("nvim") + call <sid>hi("LspDiagnosticsDefaultError", s:gui08, "", s:cterm08, "", "", "") + call <sid>hi("LspDiagnosticsDefaultWarning", s:gui09, "", s:cterm09, "", "", "") + call <sid>hi("LspDiagnosticsDefaultInformation", s:gui05, "", s:cterm05, "", "", "") + call <sid>hi("LspDiagnosticsDefaultHint", s:gui03, "", s:cterm03, "", "", "") +endif + " Java highlighting call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") |