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, "", "", "")