diff --git a/CHANGELOG.md b/CHANGELOG.md index bf73b505..d073c122 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,19 +4,169 @@ --- +# 0.7.0 + +![Release Date: 2017-12-30](https://img.shields.io/badge/Release_Date-2017--12--30-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.1.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/projects/10) [![Milestone](https://img.shields.io/badge/Milestone-0.1.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/milestone/9) + +## Features + +❯ Added a new [configuration to allow users to increase the comment brightness][readme-config-comment-brightness] by 1 - 20 percent. It can be enabled by setting the `g:nord_comment_brightness variable` to a number between `1` and `20`. (#48 in PR #56, @drzel, e18ab4e8) + +**This option should only be enabled if the terminal supports 24bit true color (16 million colors) and requires the `termguicolors` option to be set is in `~/.vimrc` or via `:set termguicolors`!** + +
Default and 15% increased
Default and 12% increased
Default status lines
Uniform status lines
With enabled option for italic comments
Markdown syntax styling
Before
After
Before
After
Before
After
Before
After with cursorline
option
After without cursorline
option
Before
After
Before
After
Before
After
- Release Date: *2017-08-03* - Milestone - Project Board -
-Before
After
Before
After
Before
After
Before
After
With unicode separators
Without specified configurations (tmuxline.vim autodetect)
Before
After
(http://svengreb.de)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index 7c74a8ed..14533102 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ Based on the Nord color pa
---
-Nord Vim is a 16 colorspace theme build to run in GUI- and terminal mode with support for many third-party plugins and styles for [lightline.vim](https://github.com/itchyny/lightline.vim) and [vim-airline](https://github.com/vim-airline/vim-airline).
+Nord Vim is a 16 colorspace theme build to run in GUI- and terminal mode with support for many third-party plugins and styles for [lightline.vim][gh-itchyny/lightline.vim] and [vim-airline][gh-vim-airline/vim-airline].
Font: Source Code Pro 20px
@@ -19,7 +19,11 @@ Nord Vim is a 16 colorspace theme build to run in GUI- and terminal mode with su
- [Manual](#manual)
- [Activation](#activation)
- [Configuration](#configuration)
- - [Italic comments](#italic-comments)
+ - [Italic Support](#italic-support)
+ - [Italic Comments](#italic-comments)
+ - [Uniform Status Lines](#uniform-status-lines)
+ - [Comment Contrast](#comment-contrast)
+ - [Uniform diff Background](#uniform-diff-background)
- [Plugin Support](#plugin-support)
- [UI Plugins](#ui-plugins)
- [Language Plugins](#language-plugins)
@@ -29,7 +33,9 @@ Nord Vim is a 16 colorspace theme build to run in GUI- and terminal mode with su
- [Contribution](#contribution)
## Getting started
+
### Installation
+
**NOTE**: Nord Vim in terminal mode **MUST** be used with the associated terminal emulator theme in order to work properly!
Make sure to install one of the currently supported terminal themes listed below **BEFORE** installing Nord Vim.
@@ -48,76 +54,188 @@ Make sure to install one of the currently supported terminal themes listed below
[![Nord Xresources](https://cdn.rawgit.com/arcticicestudio/nord/develop/src/assets/nord-xresources-banner.svg)](https://github.com/arcticicestudio/nord-xresources)
#### Via plugin/runtimepath manager
-I recommend to use [`vim-plug`](https://github.com/junegunn/vim-plug).
-Add Nord Vim to your `.vimrc`
-```vim
-Plug 'arcticicestudio/nord-vim'
-```
-and install via `:PlugInstall`.
-You can specify the `develop` branch to install the latest development version.
-```vim
-Plug 'arcticicestudio/nord-vim', { 'branch': 'develop' }
-```
+Add Nord Vim to your `.vimrc` for your favorite manager.
+
+* [`vim-plug`][gh-junegunn/vim-plug] (recommended):
+
+ ```vim
+ Plug 'arcticicestudio/nord-vim'
+ ```
+
+ and run `:PlugInstall`.
+
+* [`pathogen`](https://github.com/tpope/vim-pathogen):
+
+ ```sh
+ cd ~/.vim/bundle
+ git clone git://github.com/arcticicestudio/nord-vim.git
+ ```
+
+* [`Vundle`](https://github.com/VundleVim/Vundle.vim):
+
+ ```vim
+ Plugin 'arcticicestudio/nord-vim'
+ ```
+
+ and run `:PluginInstall`.
+
+To install the latest development version [`vim-plug`][gh-junegunn/vim-plug] support to specifiy the `develop` branch:
-A specific version can be installed via git tags.
```vim
-Plug 'arcticicestudio/nord-vim', { 'tag': 'v0.6.0' }
+Plug 'arcticicestudio/nord-vim', { 'branch': 'develop' }
```
-Of course it can be installed with any of your favorite tools:
-[`pathogen`](https://github.com/tpope/vim-pathogen)
-```sh
-cd ~/.vim/bundle
-git clone git://github.com/arcticicestudio/nord-vim.git
-```
+A explicit version can be installed via Git tags:
-[`Vundle`](https://github.com/VundleVim/Vundle.vim)
-Add Nord Vim to your `.vimrc`
```vim
-Plugin 'arcticicestudio/nord-vim'
+Plug 'arcticicestudio/nord-vim', { 'tag': 'v0.7.0' }
```
-and install via `:PluginInstall`.
#### Manual
+
[Download](https://github.com/arcticicestudio/nord-vim/releases/latest) the latest version or clone the repository and copy the [`nord.vim`](https://github.com/arcticicestudio/nord-vim/blob/develop/colors/nord.vim) theme file to your `~/.vim/colors` directory.
### Activation
+
Use Nord Vim as your default color theme by adding it to your `.vimrc`
+
```vim
colorscheme nord
```
+
or change it on-the-fly by running `:colorscheme nord`.
-[`vim-plug`](https://github.com/junegunn/vim-plug) also provides options to enable it on-demand for specific languages
+[`vim-plug`][gh-junegunn/vim-plug] also provides options to enable it on-demand for specific languages:
+
```vim
" Activate Nord Vim when editing Java files
Plug 'arcticicestudio/nord-vim', { 'for': 'java' }
```
-or on specific events.
+
+or on specific events:
+
```vim
" Activate Nord Vim when toggling the NERDTree
Plug 'arcticicestudio/nord-vim', { 'on': 'NERDTreeToggle' }
```
## Configuration
+
All options should be set **before** the [activation](#activation) command!
-### Italic comments
+### Italic Support
+
**This option should only be enabled if your terminal emulator supports italics!**
-Enable to use italic font for all comments.
+Can be enabled to support italic text.
+
+Most terminals don't handle italics right so Nord disables italics for terminals by default while in GUI mode this option is enabled by default.
+
+Set `g:nord_italic` to `1` to enforce displaying italics.
+
+```vim
+let g:nord_italic = 1
+```
+
+Italic formatting in Markdown
+
+### Italic Comments
+
+**This option only takes effect if the option for [italic text support](#italic-support) has been enabled!**
+
+Enable to italicize all comments.
To adhere to the Nord style guide this option is disabled by default.
-It can be enabled by setting the `g:nord_italic_comments` variable to `1`.
+It can be enabled by setting the `g:nord_italic_comments` variable to `1`.
+
```vim
let g:nord_italic_comments = 1
```
+![][scrot-config-italic-comments]
+
+### Uniform Status Lines
+
+Enables uniform activate- and inactive status lines using `nord3` as background.
+
+By default, Nord Vim uses a slightly brighter background for the current split buffer. This is designed to draw attention to the currently active buffer without being distracting.
+
+If the user desires the backgrounds to be a uniform color, `g:nord_uniform_status_lines` can be set to `1`:
+
+```vim
+let g:nord_uniform_status_lines = 1
+```
+
+Default status lines
Uniform status lines
+
+### Comment Contrast
+
+**This option should only be enabled if your terminal supports 24bit true color (16 million colors) and requires the `termguicolors` option to be set is in `~/.vimrc` or via `:set termguicolors`!**
+
+The comment brightness can be increased by 1 - 20 percent. It can be enabled by setting the `g:nord_comment_brightness`
+variable to a number between `1` and `20`.
+
+```vim
+let g:nord_comment_brightness = 12
+```
+
+Default and 15% increased
+
+Default and 12% increased
+
+To adhere to the Nord style guide this option uses `nord3` by default.
+
+This is a reference table if users like to use the same increased contrast values as provided by the [Nord Atom Syntax accessibility custom comment contrast theme setting][nord-atom-syntax-pr-47] which are calculated using the LESSCSS [`lighten`][lesscss-doc-fn-lighten] function.
+
+| Increased by | Calculated value |
+| --- | --- |
+| 1% | `#4e586d` |
+| 2% | `#505b70` |
+| 3% | `#525d73` |
+| 4% | `#556076` |
+| 5% | `#576279` |
+| 6% | `#59647c` |
+| 7% | `#5b677f` |
+| 8% | `#5d6982` |
+| 9% | `#5f6c85` |
+| 10% | `#616e88` |
+| 11% | `#63718b` |
+| 12% | `#66738e` |
+| 13% | `#687591` |
+| 14% | `#6a7894` |
+| 15% | `#6d7a96` |
+| 16% | `#6f7d98` |
+| 17% | `#72809a` |
+| 18% | `#75829c` |
+| 19% | `#78859e` |
+| 20% | `#7b88a1` |
+
+More information about true color and the support in various terminals can be found in [this gist][gist-true-color].
+
+Default and 15% increased
+
+Default and 12% increased
+
+### Uniform `diff` Background
+
+By default, Nord Vim provides colorful backgrounds when used in *diff* mode `vimdiff`/`vim -d`.
+
+This can be changed to `nord1` as uniform *diff* background color by setting the `g:nord_uniform_diff_background` variable to `1`.
+
+```vim
+let g:nord_uniform_diff_background = 1
+```
+
+Colorful backgrounds (default)
Uniform diff background
+
+
## Plugin Support
-Nord Vim provides support for many third-party language- and the UI plugins.
+
+Nord Vim provides support for many third-party language- and UI plugins.
### UI Plugins
+
@@ -127,12 +245,15 @@ Nord Vim provides support for many third-party language- and the UI plugins.
### Language Plugins
+
#### JavaScript
+
[`vim-javascript`](https://github.com/pangloss/vim-javascript)
Detailed descriptions for supported plugins can be found in the [project wiki](https://github.com/arcticicestudio/nord-vim/wiki).
## Languages
+
Nord Vim contains optimized styles to achieve a consistent and uniform coloring across languages.
Detailed descriptions for supported languages can be found in the [project wiki](https://github.com/arcticicestudio/nord-vim/wiki) and in the [Plugin Support](#plugin-support) section.
@@ -148,20 +269,26 @@ Detailed descriptions for supported languages can be found in the [project wiki]
![][scrot-lang-ruby]
## Development
-[![](https://img.shields.io/badge/Changelog-0.6.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/blob/v0.6.0/CHANGELOG.md) [![](https://img.shields.io/badge/Workflow-gitflow--branching--model-81A1C1.svg?style=flat-square)](http://nvie.com/posts/a-successful-git-branching-model) [![](https://img.shields.io/badge/Versioning-ArcVer_0.8.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/arcver)
+
+[![](https://img.shields.io/badge/Changelog-0.7.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/blob/v0.7.0/CHANGELOG.md) [![](https://img.shields.io/badge/Workflow-gitflow--branching--model-81A1C1.svg?style=flat-square)](http://nvie.com/posts/a-successful-git-branching-model) [![](https://img.shields.io/badge/Versioning-ArcVer_0.8.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/arcver)
### Contribution
+
Please report issues/bugs, feature requests and suggestions for improvements to the [issue tracker](https://github.com/arcticicestudio/nord-vim/issues).
Copyright © 2017 Arctic Ice Studio
-
-
-[scrot-readme-default-profile]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/src/assets/scrot-readme-default-profile.png
-[scrot-readme-lazy-profile-change]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/src/assets/scrot-readme-lazy-profile-change.png
+
+[gh-itchyny/lightline.vim]: https://github.com/itchyny/lightline.vim
+[gh-junegunn/vim-plug]: https://github.com/junegunn/vim-plug
+[gh-vim-airline/vim-airline]: https://github.com/vim-airline/vim-airline
+[gist-true-color]: https://gist.github.com/XVilka/8346728
+[lesscss-doc-fn-lighten]: http://lesscss.org/functions/#color-operations-lighten
+[nord-atom-syntax-pr-47]: https://github.com/arcticicestudio/nord-atom-syntax/pull/47
+[scrot-config-italic-comments]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/assets/scrot-config-italic-comments.png
[scrot-lang-c]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/assets/scrot-lang-c.png
[scrot-lang-css]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/assets/scrot-lang-css.png
[scrot-lang-html]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/assets/scrot-lang-html.png
@@ -172,3 +299,5 @@ Please report issues/bugs, feature requests and suggestions for improvements to
[scrot-lang-php]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/assets/scrot-lang-php.png
[scrot-lang-python]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/assets/scrot-lang-python.png
[scrot-lang-ruby]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/assets/scrot-lang-ruby.png
+[scrot-readme-default-profile]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/src/assets/scrot-readme-default-profile.png
+[scrot-readme-lazy-profile-change]: https://raw.githubusercontent.com/arcticicestudio/nord-vim/develop/src/assets/scrot-readme-lazy-profile-change.png
diff --git a/assets/scrot-config-comment-contrast-java-15-percent.png b/assets/scrot-config-comment-contrast-java-15-percent.png
new file mode 100755
index 00000000..63c5266a
Binary files /dev/null and b/assets/scrot-config-comment-contrast-java-15-percent.png differ
diff --git a/assets/scrot-config-comment-contrast-java-default.png b/assets/scrot-config-comment-contrast-java-default.png
new file mode 100755
index 00000000..d577b2a5
Binary files /dev/null and b/assets/scrot-config-comment-contrast-java-default.png differ
diff --git a/assets/scrot-config-comment-contrast-js-12-percent.png b/assets/scrot-config-comment-contrast-js-12-percent.png
new file mode 100755
index 00000000..0e5c1963
Binary files /dev/null and b/assets/scrot-config-comment-contrast-js-12-percent.png differ
diff --git a/assets/scrot-config-comment-contrast-js-default.png b/assets/scrot-config-comment-contrast-js-default.png
new file mode 100755
index 00000000..efee604b
Binary files /dev/null and b/assets/scrot-config-comment-contrast-js-default.png differ
diff --git a/assets/scrot-config-italic-comments.png b/assets/scrot-config-italic-comments.png
new file mode 100644
index 00000000..edd9d951
Binary files /dev/null and b/assets/scrot-config-italic-comments.png differ
diff --git a/assets/scrot-config-italic-markdown.png b/assets/scrot-config-italic-markdown.png
new file mode 100644
index 00000000..a1987ec5
Binary files /dev/null and b/assets/scrot-config-italic-markdown.png differ
diff --git a/assets/scrot-config-uniform-diff-default.png b/assets/scrot-config-uniform-diff-default.png
new file mode 100755
index 00000000..db96f9ad
Binary files /dev/null and b/assets/scrot-config-uniform-diff-default.png differ
diff --git a/assets/scrot-config-uniform-diff.png b/assets/scrot-config-uniform-diff.png
new file mode 100755
index 00000000..16b9aae8
Binary files /dev/null and b/assets/scrot-config-uniform-diff.png differ
diff --git a/assets/scrot-config-uniform-status-lines-default.png b/assets/scrot-config-uniform-status-lines-default.png
new file mode 100755
index 00000000..4784f715
Binary files /dev/null and b/assets/scrot-config-uniform-status-lines-default.png differ
diff --git a/assets/scrot-config-uniform-status-lines.png b/assets/scrot-config-uniform-status-lines.png
new file mode 100755
index 00000000..74b6b3d6
Binary files /dev/null and b/assets/scrot-config-uniform-status-lines.png differ
diff --git a/autoload/airline/themes/nord.vim b/autoload/airline/themes/nord.vim
index fe7a71b4..34a75e05 100755
--- a/autoload/airline/themes/nord.vim
+++ b/autoload/airline/themes/nord.vim
@@ -1,12 +1,11 @@
-" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-" title Nord Vim airline +
-" project nord-vim +
-" repository https://github.com/arcticicestudio/nord-vim +
-" author Arctic Ice Studio +
-" email development@arcticicestudio.com +
-" copyright Copyright (C) 2017 +
-" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-let s:nord_vim_version="0.6.0"
+" Copyright (c) 2016-2017 Arctic Ice Studio
+" Copyright (c) 2016-2017 Sven Greb
+
+" Project: Nord Vim
+" Repository: https://github.com/arcticicestudio/nord-vim
+" License: MIT
+
+let s:nord_vim_version="0.7.0"
let g:airline#themes#nord#palette = {}
let s:nord0_gui = "#2E3440"
diff --git a/autoload/lightline/colorscheme/nord.vim b/autoload/lightline/colorscheme/nord.vim
index e5c54751..c6a4d970 100755
--- a/autoload/lightline/colorscheme/nord.vim
+++ b/autoload/lightline/colorscheme/nord.vim
@@ -1,12 +1,11 @@
-" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-" title Nord Vim lightline +
-" project nord-vim +
-" repository https://github.com/arcticicestudio/nord-vim +
-" author Arctic Ice Studio +
-" email development@arcticicestudio.com +
-" copyright Copyright (C) 2017 +
-" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-let s:nord_vim_version="0.6.0"
+" Copyright (c) 2016-2017 Arctic Ice Studio
+" Copyright (c) 2016-2017 Sven Greb
+
+" Project: Nord Vim
+" Repository: https://github.com/arcticicestudio/nord-vim
+" License: MIT
+
+let s:nord_vim_version="0.7.0"
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:nord0 = ["#2E3440", "NONE"]
@@ -33,7 +32,7 @@ let s:p.normal.warning = [ [ s:nord1, s:nord13 ] ]
let s:p.normal.error = [ [ s:nord1, s:nord11 ] ]
let s:p.inactive.left = [ [ s:nord1, s:nord8 ], [ s:nord5, s:nord1 ] ]
-let s:p.inactive.middle = [ [ s:nord5, s:nord0 ] ]
+let s:p.inactive.middle = [ [ s:nord5, s:nord1 ] ]
let s:p.inactive.right = [ [ s:nord5, s:nord1 ], [ s:nord5, s:nord1 ] ]
let s:p.insert.left = [ [ s:nord1, s:nord6 ], [ s:nord5, s:nord1 ] ]
diff --git a/colors/nord.vim b/colors/nord.vim
index 3b30d936..4c06aa62 100755
--- a/colors/nord.vim
+++ b/colors/nord.vim
@@ -1,11 +1,10 @@
-" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-" title Nord Vim +
-" project nord-vim +
-" repository https://github.com/arcticicestudio/nord-vim +
-" author Arctic Ice Studio +
-" email development@arcticicestudio.com +
-" copyright Copyright (C) 2017 +
-" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+" Copyright (c) 2016-2017 Arctic Ice Studio
+" Copyright (c) 2016-2017 Sven Greb
+
+" Project: Nord Vim
+" Repository: https://github.com/arcticicestudio/nord-vim
+" License: MIT
+
if version > 580
hi clear
if exists("syntax_on")
@@ -14,7 +13,7 @@ if version > 580
endif
let g:colors_name = "nord"
-let s:nord_vim_version="0.6.0"
+let s:nord_vim_version="0.7.0"
set background=dark
let s:nord0_gui = "#2E3440"
@@ -48,16 +47,63 @@ let s:nord13_term = "3"
let s:nord14_term = "2"
let s:nord15_term = "5"
-if !exists('g:nord_italic_comments')
- let g:nord_italic_comments = 0
+let s:nord3_gui_brightened = [
+ \ s:nord3_gui,
+ \ "#4e586d",
+ \ "#505b70",
+ \ "#525d73",
+ \ "#556076",
+ \ "#576279",
+ \ "#59647c",
+ \ "#5b677f",
+ \ "#5d6982",
+ \ "#5f6c85",
+ \ "#616e88",
+ \ "#63718b",
+ \ "#66738e",
+ \ "#687591",
+ \ "#6a7894",
+ \ "#6d7a96",
+ \ "#6f7d98",
+ \ "#72809a",
+ \ "#75829c",
+ \ "#78859e",
+ \ "#7b88a1",
+\ ]
+
+if !exists("g:nord_italic")
+ if has("gui_running") || $TERM_ITALICS == "true"
+ let g:nord_italic=1
+ else
+ let g:nord_italic=0
+ endif
+endif
+
+let s:italic = "italic,"
+if g:nord_italic == 0
+ let s:italic = ""
endif
-function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp)
- let l:attr = a:attr
- if g:nord_italic_comments == 0 && l:attr ==? 'italic'
- let l:attr= 'NONE'
+let s:italicize_comments = ""
+if exists("g:nord_italic_comments")
+ if g:nord_italic_comments == 1
+ let s:italicize_comments = s:italic
endif
+endif
+
+if !exists('g:nord_uniform_status_lines')
+ let g:nord_uniform_status_lines = 0
+endif
+
+if !exists("g:nord_comment_brightness")
+ let g:nord_comment_brightness = 0
+endif
+if !exists("g:nord_uniform_diff_background")
+ let g:nord_uniform_diff_background = 0
+endif
+
+function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp)
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
endif
@@ -71,7 +117,7 @@ function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp)
exec "hi " . a:group . " ctermbg=" . a:ctermbg
endif
if a:attr != ""
- exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr
+ exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
endif
if a:guisp != ""
exec "hi " . a:group . " guisp=" . a:guisp
@@ -83,16 +129,17 @@ endfunction
"+---------------+
"+--- Attributes ---+
call s:hi("Bold", "", "", "", "", "bold", "")
-call s:hi("Italic", "", "", "", "", "italic", "")
+call s:hi("Italic", "", "", "", "", s:italic, "")
call s:hi("Underline", "", "", "", "", "underline", "")
"+--- Editor ---+
call s:hi("ColorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "")
call s:hi("Cursor", s:nord0_gui, s:nord4_gui, "", "NONE", "", "")
call s:hi("CursorLine", "", s:nord1_gui, "NONE", s:nord1_term, "NONE", "")
+call s:hi("Error", s:nord0_gui, s:nord11_gui, "", s:nord11_term, "", "")
call s:hi("iCursor", s:nord0_gui, s:nord4_gui, "", "NONE", "", "")
call s:hi("LineNr", s:nord3_gui, s:nord0_gui, s:nord3_term, "NONE", "", "")
-call s:hi("MatchParen", s:nord0_gui, s:nord8_gui, s:nord1_term, s:nord8_term, "", "")
+call s:hi("MatchParen", s:nord8_gui, s:nord0_gui, s:nord8_term, s:nord3_term, "", "")
call s:hi("NonText", s:nord2_gui, "", s:nord3_term, "", "", "")
call s:hi("Normal", s:nord4_gui, s:nord0_gui, "NONE", "NONE", "", "")
call s:hi("PMenu", s:nord4_gui, s:nord2_gui, "NONE", s:nord1_term, "NONE", "")
@@ -111,6 +158,26 @@ call s:hi("healthError", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term,
call s:hi("healthSuccess", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "")
call s:hi("healthWarning", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "")
+"+- Neovim Terminal Colors -+
+if has('nvim')
+ let g:terminal_color_0 = s:nord1_gui
+ let g:terminal_color_1 = s:nord11_gui
+ let g:terminal_color_2 = s:nord14_gui
+ let g:terminal_color_3 = s:nord13_gui
+ let g:terminal_color_4 = s:nord9_gui
+ let g:terminal_color_5 = s:nord15_gui
+ let g:terminal_color_6 = s:nord8_gui
+ let g:terminal_color_7 = s:nord5_gui
+ let g:terminal_color_8 = s:nord3_gui
+ let g:terminal_color_9 = s:nord11_gui
+ let g:terminal_color_10 = s:nord14_gui
+ let g:terminal_color_11 = s:nord13_gui
+ let g:terminal_color_12 = s:nord9_gui
+ let g:terminal_color_13 = s:nord15_gui
+ let g:terminal_color_14 = s:nord7_gui
+ let g:terminal_color_15 = s:nord6_gui
+endif
+
"+--- Gutter ---+
call s:hi("CursorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "")
call s:hi("CursorLineNr", s:nord3_gui, s:nord0_gui, "NONE", "", "", "")
@@ -127,10 +194,15 @@ call s:hi("ErrorMsg", s:nord4_gui, s:nord11_gui, "NONE", s:nord11_term, "", "")
call s:hi("ModeMsg", s:nord4_gui, "", "", "", "", "")
call s:hi("MoreMsg", s:nord4_gui, "", "", "", "", "")
call s:hi("Question", s:nord4_gui, "", "NONE", "", "", "")
-call s:hi("StatusLine", s:nord4_gui, s:nord0_gui, s:nord8_term, s:nord1_term, "NONE", "")
-call s:hi("StatusLineNC", s:nord4_gui, s:nord0_gui, s:nord8_term, "NONE", "NONE", "")
+if g:nord_uniform_status_lines == 0
+ call s:hi("StatusLine", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "")
+ call s:hi("StatusLineNC", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "NONE", "")
+else
+ call s:hi("StatusLine", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "")
+ call s:hi("StatusLineNC", s:nord4_gui, s:nord3_gui, "NONE", s:nord3_term, "NONE", "")
+endif
call s:hi("WarningMsg", s:nord0_gui, s:nord13_gui, s:nord1_term, s:nord13_term, "", "")
-call s:hi("WildMenu", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "", "")
+call s:hi("WildMenu", s:nord8_gui, s:nord1_gui, s:nord8_term, s:nord1_term, "", "")
"+--- Search ---+
call s:hi("IncSearch", s:nord1_gui, s:nord8_gui, s:nord1_term, s:nord8_term, "underline", "")
@@ -150,7 +222,7 @@ call s:hi("VertSplit", s:nord2_gui, s:nord1_gui, s:nord3_term, s:nord1_term, "NO
"+----------------------+
call s:hi("Boolean", s:nord9_gui, "", s:nord9_term, "", "", "")
call s:hi("Character", s:nord14_gui, "", s:nord14_term, "", "", "")
-call s:hi("Comment", s:nord3_gui, "", s:nord3_term, "", "italic", "")
+call s:hi("Comment", s:nord3_gui_brightened[g:nord_comment_brightness], "", s:nord3_term, "", s:italicize_comments, "")
call s:hi("Conditional", s:nord9_gui, "", s:nord9_term, "", "", "")
call s:hi("Constant", s:nord4_gui, "", "NONE", "", "", "")
call s:hi("Define", s:nord9_gui, "", s:nord9_term, "", "", "")
@@ -168,13 +240,13 @@ call s:hi("PreProc", s:nord9_gui, "", s:nord9_term, "", "NONE", "")
call s:hi("Repeat", s:nord9_gui, "", s:nord9_term, "", "", "")
call s:hi("Special", s:nord4_gui, "", "NONE", "", "", "")
call s:hi("SpecialChar", s:nord13_gui, "", s:nord13_term, "", "", "")
-call s:hi("SpecialComment", s:nord8_gui, "", s:nord8_term, "", "italic", "")
+call s:hi("SpecialComment", s:nord8_gui, "", s:nord8_term, "", s:italicize_comments, "")
call s:hi("Statement", s:nord9_gui, "", s:nord9_term, "", "", "")
call s:hi("StorageClass", s:nord9_gui, "", s:nord9_term, "", "", "")
call s:hi("String", s:nord14_gui, "", s:nord14_term, "", "", "")
call s:hi("Structure", s:nord9_gui, "", s:nord9_term, "", "", "")
call s:hi("Tag", s:nord4_gui, "", "", "", "", "")
-call s:hi("Todo", s:nord13_gui, "", s:nord13_term, "NONE", "", "")
+call s:hi("Todo", s:nord13_gui, "NONE", s:nord13_term, "NONE", "", "")
call s:hi("Type", s:nord9_gui, "", s:nord9_term, "", "NONE", "")
call s:hi("Typedef", s:nord9_gui, "", s:nord9_term, "", "", "")
hi! link Macro Define
@@ -233,15 +305,21 @@ hi! link dtDelim Delimiter
hi! link dtLocaleValue Keyword
hi! link dtTypeValue Keyword
-call s:hi("diffAdded", s:nord14_gui, "", s:nord14_term, "", "", "")
-call s:hi("diffChanged", s:nord13_gui, "", s:nord13_term, "", "", "")
-call s:hi("diffNewFile", s:nord8_gui, "", s:nord8_term, "", "", "")
-call s:hi("diffOldFile", s:nord7_gui, "", s:nord7_term, "", "", "")
-call s:hi("diffRemoved", s:nord11_gui, "", s:nord11_term, "", "", "")
-call s:hi("DiffAdd", s:nord14_gui, "", s:nord14_term, "", "", "")
-call s:hi("DiffChange", s:nord13_gui, "", s:nord13_term, "", "", "")
-call s:hi("DiffDelete", s:nord11_gui, "", s:nord11_term, "", "", "")
-call s:hi("DiffText", s:nord4_gui, "", "NONE", "", "", "")
+if g:nord_uniform_diff_background == 0
+ call s:hi("DiffAdd", s:nord14_gui, s:nord0_gui, s:nord14_term, "NONE", "inverse", "")
+ call s:hi("DiffChange", s:nord13_gui, s:nord0_gui, s:nord13_term, "NONE", "inverse", "")
+ call s:hi("DiffDelete", s:nord11_gui, s:nord0_gui, s:nord11_term, "NONE", "inverse", "")
+ call s:hi("DiffText", s:nord13_gui, s:nord0_gui, s:nord13_term, "NONE", "inverse", "")
+else
+ call s:hi("DiffAdd", s:nord14_gui, s:nord1_gui, s:nord14_term, s:nord1_term, "", "")
+ call s:hi("DiffChange", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "")
+ call s:hi("DiffDelete", s:nord11_gui, s:nord1_gui, s:nord11_term, s:nord1_term, "", "")
+ call s:hi("DiffText", s:nord13_gui, s:nord1_gui, s:nord13_term, s:nord1_term, "", "")
+endif
+" Legacy groups for official git.vim and diff.vim syntax
+hi! link diffAdded DiffAdd
+hi! link diffChanged DiffChange
+hi! link diffRemoved DiffDelete
call s:hi("gitconfigVariable", s:nord7_gui, "", s:nord7_term, "", "", "")
@@ -253,6 +331,12 @@ call s:hi("htmlLink", s:nord4_gui, "", "", "", "NONE", "NONE")
hi! link htmlBold Bold
hi! link htmlEndTag htmlTag
hi! link htmlItalic Italic
+hi! link htmlH1 markdownH1
+hi! link htmlH2 markdownH1
+hi! link htmlH3 markdownH1
+hi! link htmlH4 markdownH1
+hi! link htmlH5 markdownH1
+hi! link htmlH6 markdownH1
hi! link htmlSpecialChar SpecialChar
hi! link htmlTag Keyword
hi! link htmlTagN htmlTag
@@ -286,8 +370,10 @@ call s:hi("markdownFootnote", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("markdownId", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("markdownIdDeclaration", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("markdownH1", s:nord8_gui, "", s:nord8_term, "", "", "")
-call s:hi("markdownLinkText", s:nord7_gui, "", s:nord7_term, "", "", "")
+call s:hi("markdownLinkText", s:nord8_gui, "", s:nord8_term, "", "", "")
call s:hi("markdownUrl", s:nord4_gui, "", "NONE", "", "NONE", "")
+hi! link markdownBold Bold
+hi! link markdownBoldDelimiter Keyword
hi! link markdownFootnoteDefinition markdownFootnote
hi! link markdownH2 markdownH1
hi! link markdownH3 markdownH1
@@ -295,6 +381,8 @@ hi! link markdownH4 markdownH1
hi! link markdownH5 markdownH1
hi! link markdownH6 markdownH1
hi! link markdownIdDelimiter Keyword
+hi! link markdownItalic Italic
+hi! link markdownItalicDelimiter Keyword
hi! link markdownLinkDelimiter Keyword
hi! link markdownLinkTextDelimiter Keyword
hi! link markdownListMarker Keyword
@@ -387,6 +475,12 @@ call s:hi("GitGutterChange", s:nord13_gui, "", s:nord13_term, "", "", "")
call s:hi("GitGutterChangeDelete", s:nord11_gui, "", s:nord11_term, "", "", "")
call s:hi("GitGutterDelete", s:nord11_gui, "", s:nord11_term, "", "", "")
+" fugitive.vim
+" > tpope/vim-fugitive
+call s:hi("gitcommitDiscardedFile", s:nord11_gui, "", s:nord11_term, "", "", "")
+call s:hi("gitcommitUntrackedFile", s:nord11_gui, "", s:nord11_term, "", "", "")
+call s:hi("gitcommitSelectedFile", s:nord14_gui, "", s:nord14_term, "", "", "")
+
" davidhalter/jedi-vim
call s:hi("jediFunction", s:nord4_gui, s:nord3_gui, "", s:nord3_term, "", "")
call s:hi("jediFat", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "bold,underline", "")
@@ -402,13 +496,41 @@ hi! link NERDTreeHelp Comment
hi! link CtrlPMatch Keyword
hi! link CtrlPBufferHid Normal
+" vim-plug
+" > junegunn/vim-plug
+call s:hi("plugDeleted", s:nord11_gui, "", "", s:nord11_term, "", "")
+
"+--- Languages ---+
" JavaScript
" > pangloss/vim-javascript
-call s:hi("jsGlobalNodeObjects", s:nord8_gui, "", s:nord8_term, "", "italic", "")
+call s:hi("jsGlobalNodeObjects", s:nord8_gui, "", s:nord8_term, "", s:italic, "")
hi! link jsBrackets Delimiter
hi! link jsFuncCall Function
hi! link jsFuncParens Delimiter
hi! link jsNoise Delimiter
hi! link jsPrototype Keyword
hi! link jsRegexpString SpecialChar
+
+" Markdown
+" > plasticboy/vim-markdown
+call s:hi("mkdCode", s:nord7_gui, "", s:nord7_term, "", "", "")
+call s:hi("mkdFootnote", s:nord8_gui, "", s:nord8_term, "", "", "")
+call s:hi("mkdRule", s:nord10_gui, "", s:nord10_term, "", "", "")
+call s:hi("mkdLineBreak", s:nord9_gui, "", s:nord9_term, "", "", "")
+hi! link mkdBold Bold
+hi! link mkdItalic Italic
+hi! link mkdString Keyword
+hi! link mkdCodeStart mkdCode
+hi! link mkdCodeEnd mkdCode
+hi! link mkdBlockquote Comment
+hi! link mkdListItem Keyword
+hi! link mkdListItemLine Normal
+hi! link mkdFootnotes mkdFootnote
+hi! link mkdLink markdownLinkText
+hi! link mkdURL markdownUrl
+hi! link mkdInlineURL mkdURL
+hi! link mkdID Identifier
+hi! link mkdLinkDef mkdLink
+hi! link mkdLinkDefTarget mkdURL
+hi! link mkdLinkTitle mkdInlineURL
+hi! link mkdDelimiter Keyword