diff --git a/README.md b/README.md
index af8d63d8..db6c3f82 100644
--- a/README.md
+++ b/README.md
@@ -19,10 +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)
- - [Uniform status lines](#uniform-status-lines)
- - [Comment contrast](#comment-contrast)
- - [Uniform diff background](#uniform-diff-background)
+ - [Italic Support](#italic)
+ - [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)
@@ -104,12 +105,28 @@ 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.
+Enables support for 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.
+
+Italics for terminals can be enabled by setting the `g:nord_italic` to `1` to enforce displaying italics.
+
+```vim
+let g:nord_italic = 1
+```
+
+### 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`.
@@ -118,7 +135,9 @@ It can be enabled by setting the `g:nord_italic_comments` variable to `1`.
let g:nord_italic_comments = 1
```
-### Uniform status lines
+![][scrot-config-italic-comments]
+
+### Uniform Status Lines
Enables uniform activate- and inactive status lines using `nord3` as background.
@@ -132,7 +151,8 @@ let g:nord_uniform_status_lines = 1
Default status lines
Uniform status lines
-### Comment contrast
+### Comment Contrast
+
**This option should only be enabled if your terminal emulator supports 24bit true color (16 million colors)!**
This option is only visible if `termguicolors` is enabled in your `~/.vimrc` or set via `:set termguicolors`!
@@ -148,7 +168,8 @@ To adhere to the Nord style guide this option uses `nord3` by default.
More information about true color and the support in various terminals can be found in [this gist][gist-true-color].
-### Uniform diff background
+### 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`.
@@ -206,8 +227,7 @@ Please report issues/bugs, feature requests and suggestions for improvements to
[gist-true-color]: https://gist.github.com/XVilka/8346728
-[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
+[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
@@ -218,3 +238,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-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/colors/nord.vim b/colors/nord.vim
index 0c48df60..a55a0068 100755
--- a/colors/nord.vim
+++ b/colors/nord.vim
@@ -71,8 +71,24 @@ let s:nord3_gui_brightened = [
\ "#7b88a1",
\ ]
-if !exists("g:nord_italic_comments")
- let g:nord_italic_comments = 0
+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
+
+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')
@@ -88,11 +104,6 @@ if !exists("g:nord_uniform_diff_background")
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'
- endif
-
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
endif
@@ -106,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
@@ -118,7 +129,7 @@ endfunction
"+---------------+
"+--- Attributes ---+
call s:hi("Bold", "", "", "", "", "bold", "")
-call s:hi("Italic", "", "", "", "", "italic", "")
+call s:hi("Italic", "", "", "", "", s:italic, "")
call s:hi("Underline", "", "", "", "", "underline", "")
"+--- Editor ---+
@@ -211,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_brightened[g:nord_comment_brightness], "", 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, "", "", "")
@@ -229,7 +240,7 @@ 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, "", "", "")
@@ -488,7 +499,7 @@ 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
@@ -514,7 +525,7 @@ hi! link mkdFootnotes mkdFootnote
hi! link mkdLink markdownLinkText
hi! link mkdURL markdownUrl
hi! link mkdInlineURL mkdURL
-hi! link mkdID Identifier "CHECK
+hi! link mkdID Identifier
hi! link mkdLinkDef mkdLink
hi! link mkdLinkDefTarget mkdURL
hi! link mkdLinkTitle mkdInlineURL