diff --git a/CHANGELOG.md b/CHANGELOG.md
index 516bf453..44d0e0ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,84 @@
---
+# 0.9.0
+
+![Release Date: 2018-06-24](https://img.shields.io/badge/Release_Date-2018--06--24-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.9.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/projects/13) [![Milestone](https://img.shields.io/badge/Milestone-0.9.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/milestone/11)
+
+## Features
+
+### Syntax
+
+#### Plugin Support
+
+❯ Added support for the [YAML][] plugin [stephpy/vim-yaml][plugin-stephpy/vim-yaml] which improves the highlighting for keys to match the JSON syntax style. (PR #120, @mdzhang, b1478b07)
+
+
Before
+
+After
+
+❯ Added basic syntax highlighting support for [vimwiki][plugin-vimwiki/vimwiki]. (PR #98 in PR #114, @smesko85, 9e7addbc)
+
+
+
+### UI
+
+❯ Added a new [configuration to allow users to enable background for the line number of the current line][readme-config-line-number-background]. It can be enabled by setting the `g:nord_cursor_line_number_background` variable to `1`. (PR #100, @andrepolischuk, 035e36de)
+
+```vim
+let g:nord_cursor_line_number_background = 1
+```
+
+No background (default)
+
+Enabled background
+
+❯ Added a new [configuration to allow users to globally toggle underlines][readme-config-underline-support] for cases where the terminal emulator might not be capable to handle underlines in terminal mode. It can be enabled by setting the `g:nord_underline` variable to `1`. (#106 in PR #127 (supersedes #109), @dylnmc @markand , 01cfd1be)
+
+Underlined Text
+
+❯ Added support for the status line of the `:terminal` window mode for Vim or Neovim. (PR #108 (supersedes #103), @dylnmc, 922504fb)
+
+Before
+
+After
+
+#### Plugin Support
+
+❯ Added highlighting support for the navigation marks in the sign column of the [kshenoy/vim-signature][plugin-kshenoy/vim-signature] plugin. (PR #122, @kooparse, 1df39453)
+
+
+
+## Improvements
+
+### Syntax
+
+❯ Added highlighting for the JavaScript keyword `this`. (PR #119, @kristijanhusak, 4fe2d43e)
+
+Before
+
+After
+
+### UI
+
+❯ The cursor is now correctly shown and visible when leaving a terminal window from within Vim or Neovim by adding the `TermCursorNC` group. (PR #101, @meck, 2fac9fa0)
+
+❯ The „inline marker“ in unified _diffs_ is now colorized differently than the background of the changed line to make the changes better and faster recognizable. This applies for both the [uniform _diff_ background mode][readme-config-uniform-diff-background] and normal _diff_ mode. (PR #121, @ironhouzi, 65c559ee)
+
+Before/After comparison of default diff mode
+
+Before/After comparison of uniform diff mode
+
+## Bug Fixes
+
+### UI
+
+❯ The current line number's color is now highlighted correctly in terminal mode. Previously it was only highlighted when running in GUI mode or when `termguicolors` has been set. (#116 in 50ec737b (PR #100), @huyvohcmc @dylnmc)
+
+Before
+
+After
+
# 0.8.0
![Release Date: 2018-01-05](https://img.shields.io/badge/Release_Date-2018--01--05-88C0D0.svg?style=flat-square) [![Project Board](https://img.shields.io/badge/Project_Board-0.8.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/projects/11) [![Milestone](https://img.shields.io/badge/Milestone-0.8.0-88C0D0.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/milestone/10)
@@ -387,12 +465,18 @@ Detailed information about features, supported plugins/languages and install ins
[plugin-ale]: https://github.com/w0rp/ale
[plugin-ctrlp]: https://github.com/ctrlpvim/ctrlp.vim
[plugin-junegunn/vim-plug]: https://github.com/junegunn/vim-plug
+[plugin-kshenoy/vim-signature]: https://github.com/kshenoy/vim-signature
[plugin-mhinz/vim-signify]: https://github.com/mhinz/vim-signify
[plugin-plasticboy/vim-markdown]: https://github.com/plasticboy/vim-markdown
+[plugin-stephpy/vim-yaml]: https://github.com/stephpy/vim-yaml
[plugin-tpope/vim-fugitive]: https://github.com/tpope/vim-fugitive
+[plugin-vimwiki/vimwiki]: https://github.com/vimwiki/vimwiki
[readme-config]: https://github.com/arcticicestudio/nord-vim#configuration
[readme-config-comment-brightness]: https://github.com/arcticicestudio/nord-vim#comment-contrast
[readme-config-italic]: https://github.com/arcticicestudio/nord-vim#italic-support
+[readme-config-line-number-background]: https://github.com/arcticicestudio/nord-vim#line-number-background
+[readme-config-underline-support]: https://github.com/arcticicestudio/nord-vim#underline-support
[readme-config-uniform-diff-background]: https://github.com/arcticicestudio/nord-vim#uniform-diff-background
[readme-config-uniform-statusline-background]: https://github.com/arcticicestudio/nord-vim#uniform-status-lines
[vim-doc-diffAdd]: http://vimdoc.sourceforge.net/htmldoc/syntax.html#hl-DiffAdd
+[yaml]: http://yaml.org
diff --git a/README.md b/README.md
index e154661c..dbed82f4 100644
--- a/README.md
+++ b/README.md
@@ -20,10 +20,12 @@ Nord Vim is a 16 colorspace theme build to run in GUI- and terminal mode with su
- [Activation](#activation)
- [Configuration](#configuration)
- [Italic Support](#italic-support)
+ - [Underline Support](#underline-support)
- [Italic Comments](#italic-comments)
- [Uniform Status Lines](#uniform-status-lines)
- [Comment Contrast](#comment-contrast)
- [Uniform diff Background](#uniform-diff-background)
+ - [Line number background](#line-number-background)
- [Plugin Support](#plugin-support)
- [UI Plugins](#ui-plugins)
- [Language Plugins](#language-plugins)
@@ -89,7 +91,7 @@ Plug 'arcticicestudio/nord-vim', { 'branch': 'develop' }
A explicit version can be installed via Git tags:
```vim
-Plug 'arcticicestudio/nord-vim', { 'tag': 'v0.7.0' }
+Plug 'arcticicestudio/nord-vim', { 'tag': 'v0.9.0' }
```
#### Manual
@@ -140,6 +142,22 @@ let g:nord_italic = 1
Italic formatting in Markdown
+### Underline Support
+
+**This option should only be enabled if your terminal emulator supports underlines!**
+
+Can be enabled to support underlined text.
+
+Most terminals are not capable to handle underlines right so Nord disables these for terminals by default while it should work out-of-the-box™ in GUI mode.
+
+Set `g:nord_underline` to `1` to enforce displaying underlines.
+
+```vim
+let g:nord_underline = 1
+```
+
+Underlined Text
+
### Italic Comments
**This option only takes effect if the option for [italic text support](#italic-support) has been enabled!**
@@ -230,6 +248,17 @@ let g:nord_uniform_diff_background = 1
Colorful backgrounds (default)
Uniform diff background
+### Line number background
+
+Enables background for the line number of the current line.
+
+```vim
+let g:nord_cursor_line_number_background = 1
+```
+
+No background (default)
Enabled background
+
+
## Plugin Support
Nord Vim provides support for many third-party language- and UI plugins.
@@ -272,7 +301,7 @@ Detailed descriptions for supported languages can be found in the [project wiki]
## Development
-[![](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)
+[![](https://img.shields.io/badge/Changelog-0.9.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/nord-vim/blob/v0.9.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
diff --git a/assets/scrot-config-cursor-line-number-background-default.png b/assets/scrot-config-cursor-line-number-background-default.png
new file mode 100644
index 00000000..1aa90acb
Binary files /dev/null and b/assets/scrot-config-cursor-line-number-background-default.png differ
diff --git a/assets/scrot-config-cursor-line-number-background.png b/assets/scrot-config-cursor-line-number-background.png
new file mode 100644
index 00000000..86ef5341
Binary files /dev/null and b/assets/scrot-config-cursor-line-number-background.png differ
diff --git a/assets/scrot-config-underline.png b/assets/scrot-config-underline.png
new file mode 100644
index 00000000..964b357a
Binary files /dev/null and b/assets/scrot-config-underline.png differ
diff --git a/autoload/airline/themes/nord.vim b/autoload/airline/themes/nord.vim
index af620b97..e072fe18 100755
--- a/autoload/airline/themes/nord.vim
+++ b/autoload/airline/themes/nord.vim
@@ -5,7 +5,7 @@
" Repository: https://github.com/arcticicestudio/nord-vim
" License: MIT
-let s:nord_vim_version="0.8.0"
+let s:nord_vim_version="0.9.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 e20421ff..778c21d9 100755
--- a/autoload/lightline/colorscheme/nord.vim
+++ b/autoload/lightline/colorscheme/nord.vim
@@ -5,7 +5,7 @@
" Repository: https://github.com/arcticicestudio/nord-vim
" License: MIT
-let s:nord_vim_version="0.8.0"
+let s:nord_vim_version="0.9.0"
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:nord0 = ["#2E3440", "NONE"]
diff --git a/colors/nord.vim b/colors/nord.vim
index 52ec4a5f..2b7fca94 100755
--- a/colors/nord.vim
+++ b/colors/nord.vim
@@ -13,7 +13,7 @@ if version > 580
endif
let g:colors_name = "nord"
-let s:nord_vim_version="0.8.0"
+let s:nord_vim_version="0.9.0"
set background=dark
let s:nord0_gui = "#2E3440"
@@ -84,6 +84,11 @@ if g:nord_italic == 0
let s:italic = ""
endif
+let s:underline = "underline,"
+if ! get(g:, "nord_underline", 1)
+ let s:underline = "NONE,"
+endif
+
let s:italicize_comments = ""
if exists("g:nord_italic_comments")
if g:nord_italic_comments == 1
@@ -103,6 +108,10 @@ if !exists("g:nord_uniform_diff_background")
let g:nord_uniform_diff_background = 0
endif
+if !exists("g:nord_cursor_line_number_background")
+ let g:nord_cursor_line_number_background = 0
+endif
+
function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp)
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
@@ -117,7 +126,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=" . a:attr . " cterm=" . a:attr
+ exec "hi " . a:group . " gui=" . a:attr . " cterm=" . substitute(a:attr, "undercurl", s:underline, "")
endif
if a:guisp != ""
exec "hi " . a:group . " guisp=" . a:guisp
@@ -130,7 +139,7 @@ endfunction
"+--- Attributes ---+
call s:hi("Bold", "", "", "", "", "bold", "")
call s:hi("Italic", "", "", "", "", s:italic, "")
-call s:hi("Underline", "", "", "", "", "underline", "")
+call s:hi("Underline", "", "", "", "", s:underline, "")
"+--- Editor ---+
call s:hi("ColorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "")
@@ -147,16 +156,17 @@ call s:hi("PmenuSbar", s:nord4_gui, s:nord2_gui, "NONE", s:nord1_term, "", "")
call s:hi("PMenuSel", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "", "")
call s:hi("PmenuThumb", s:nord8_gui, s:nord3_gui, "NONE", s:nord3_term, "", "")
call s:hi("SpecialKey", s:nord3_gui, "", s:nord3_term, "", "", "")
-call s:hi("SpellBad", "", s:nord0_gui, "", "NONE", "undercurl", s:nord11_gui)
-call s:hi("SpellCap", "", s:nord0_gui, "", "NONE", "undercurl", s:nord13_gui)
-call s:hi("SpellLocal", "", s:nord0_gui, "", "NONE", "undercurl", s:nord5_gui)
-call s:hi("SpellRare", "", s:nord0_gui, "", "NONE", "undercurl", s:nord6_gui)
+call s:hi("SpellBad", s:nord11_gui, s:nord0_gui, s:nord11_term, "NONE", "undercurl", s:nord11_gui)
+call s:hi("SpellCap", s:nord13_gui, s:nord0_gui, s:nord13_term, "NONE", "undercurl", s:nord13_gui)
+call s:hi("SpellLocal", s:nord5_gui, s:nord0_gui, s:nord5_term, "NONE", "undercurl", s:nord5_gui)
+call s:hi("SpellRare", s:nord6_gui, s:nord0_gui, s:nord6_term, "NONE", "undercurl", s:nord6_gui)
call s:hi("Visual", "", s:nord2_gui, "", s:nord1_term, "", "")
call s:hi("VisualNOS", "", s:nord2_gui, "", s:nord1_term, "", "")
"+- Neovim Support -+
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, "", "")
+call s:hi("TermCursorNC", "", s:nord1_gui, "", s:nord1_term, "", "")
"+- Neovim Terminal Colors -+
if has('nvim')
@@ -180,7 +190,11 @@ endif
"+--- Gutter ---+
call s:hi("CursorColumn", "", s:nord1_gui, "NONE", s:nord1_term, "", "")
-call s:hi("CursorLineNr", s:nord3_gui, s:nord0_gui, "NONE", "", "", "")
+if g:nord_cursor_line_number_background == 0
+ call s:hi("CursorLineNr", s:nord4_gui, s:nord0_gui, "NONE", "", "", "")
+else
+ call s:hi("CursorLineNr", s:nord4_gui, s:nord1_gui, "NONE", s:nord1_term, "", "")
+endif
call s:hi("Folded", s:nord3_gui, s:nord1_gui, s:nord3_term, s:nord1_term, "bold", "")
call s:hi("FoldColumn", s:nord3_gui, s:nord0_gui, s:nord3_term, "NONE", "", "")
call s:hi("SignColumn", s:nord1_gui, s:nord0_gui, s:nord1_term, "NONE", "", "")
@@ -197,15 +211,19 @@ call s:hi("Question", s:nord4_gui, "", "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", "")
+ call s:hi("StatusLineTerm", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "")
+ call s:hi("StatusLineTermNC", 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", "")
+ call s:hi("StatusLineTerm", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, "NONE", "")
+ call s:hi("StatusLineTermNC", 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: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", "")
+call s:hi("IncSearch", s:nord1_gui, s:nord8_gui, s:nord1_term, s:nord8_term, s:underline, "")
call s:hi("Search", s:nord1_gui, s:nord8_gui, s:nord1_term, s:nord8_term, "NONE", "")
"+--- Tabs ---+
@@ -282,7 +300,7 @@ hi! link csXmlTag SpecialComment
call s:hi("cssAttributeSelector", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("cssDefinition", s:nord7_gui, "", s:nord7_term, "", "NONE", "")
-call s:hi("cssIdentifier", s:nord7_gui, "", s:nord7_term, "", "underline", "")
+call s:hi("cssIdentifier", s:nord7_gui, "", s:nord7_term, "", s:underline, "")
call s:hi("cssStringQ", s:nord7_gui, "", s:nord7_term, "", "", "")
hi! link cssAttr Keyword
hi! link cssBraces Delimiter
@@ -309,12 +327,12 @@ 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", "")
+ call s:hi("DiffText", s:nord9_gui, s:nord0_gui, s:nord9_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, "", "")
+ call s:hi("DiffText", s:nord9_gui, s:nord1_gui, s:nord9_term, s:nord1_term, "", "")
endif
" Legacy groups for official git.vim and diff.vim syntax
hi! link diffAdded DiffAdd
@@ -327,7 +345,7 @@ call s:hi("goBuiltins", s:nord7_gui, "", s:nord7_term, "", "", "")
hi! link goConstants Keyword
call s:hi("helpBar", s:nord3_gui, "", s:nord3_term, "", "", "")
-call s:hi("helpHyperTextJump", s:nord8_gui, "", s:nord8_term, "", "underline", "")
+call s:hi("helpHyperTextJump", s:nord8_gui, "", s:nord8_term, "", s:underline, "")
call s:hi("htmlArg", s:nord7_gui, "", s:nord7_term, "", "", "")
call s:hi("htmlLink", s:nord4_gui, "", "", "", "NONE", "NONE")
@@ -417,7 +435,7 @@ hi! link rubyPseudoVariable Keyword
hi! link rubyRegexp SpecialChar
call s:hi("sassClass", s:nord7_gui, "", s:nord7_term, "", "", "")
-call s:hi("sassId", s:nord7_gui, "", s:nord7_term, "", "underline", "")
+call s:hi("sassId", s:nord7_gui, "", s:nord7_term, "", s:underline, "")
hi! link sassAmpersand Keyword
hi! link sassClassChar Delimiter
hi! link sassControl Keyword
@@ -493,7 +511,7 @@ 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", "")
+call s:hi("jediFat", s:nord8_gui, s:nord3_gui, s:nord8_term, s:nord3_term, s:underline."bold", "")
" NERDTree
" > scrooloose/nerdtree
@@ -510,6 +528,10 @@ hi! link CtrlPBufferHid Normal
" > junegunn/vim-plug
call s:hi("plugDeleted", s:nord11_gui, "", "", s:nord11_term, "", "")
+" vim-signature
+" > kshenoy/vim-signature
+call s:hi("SignatureMarkText", s:nord8_gui, "", s:nord8_term, "", "", "")
+
"+--- Languages ---+
" JavaScript
" > pangloss/vim-javascript
@@ -517,6 +539,7 @@ 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 jsThis Keyword
hi! link jsNoise Delimiter
hi! link jsPrototype Keyword
hi! link jsRegexpString SpecialChar
@@ -544,3 +567,26 @@ hi! link mkdLinkDef mkdLink
hi! link mkdLinkDefTarget mkdURL
hi! link mkdLinkTitle mkdInlineURL
hi! link mkdDelimiter Keyword
+
+" Vimwiki
+" > vimwiki/vimwiki
+if !exists("g:vimwiki_hl_headers") || g:vimwiki_hl_headers == 0
+ for s:i in range(1,6)
+ call s:hi("VimwikiHeader".s:i, s:nord8_gui, "", s:nord8_term, "", "bold", "")
+ endfor
+else
+ let s:vimwiki_hcolor_guifg = [s:nord7_gui, s:nord8_gui, s:nord9_gui, s:nord10_gui, s:nord14_gui, s:nord15_gui]
+ let s:vimwiki_hcolor_ctermfg = [s:nord7_term, s:nord8_term, s:nord9_term, s:nord10_term, s:nord14_term, s:nord15_term]
+ for s:i in range(1,6)
+ call s:hi("VimwikiHeader".s:i, s:vimwiki_hcolor_guifg[s:i-1] , "", s:vimwiki_hcolor_ctermfg[s:i-1], "", "bold", "")
+ endfor
+endif
+
+call s:hi("VimwikiLink", s:nord8_gui, "", s:nord8_term, "", s:underline, "")
+hi! link VimwikiHeaderChar markdownHeadingDelimiter
+hi! link VimwikiHR Keyword
+hi! link VimwikiList markdownListMarker
+
+" YAML
+" > stephpy/vim-yaml
+call s:hi("yamlKey", s:nord7_gui, "", s:nord7_term, "", "", "")