diff options
| author | 2017-12-29 10:15:20 +0100 | |
|---|---|---|
| committer | 2017-12-29 10:15:20 +0100 | |
| commit | bc6e2fc05148dee914141a07fcefb75ac3a819e1 (patch) | |
| tree | b5ea4a9304ca8c2815d4838308807f72292b5ac3 /colors | |
| parent | 53fce0db2d0227244213444e0f9ff223a68c5269 (diff) | |
| download | nord-vim-bc6e2fc05148dee914141a07fcefb75ac3a819e1.tar.gz | |
Add configuration for italic text
The configuration to enable italic comments (1) is like the name suggests
limited to comments only, but there are other use cases like the
italic style in Markdown (2).
This commit adds a new theme configuration to explicitly enable italics.
The configurations is enabled by default when running in "gui" mode and
is disabled by default in "term" mode.
The reason for this standard behavior is the fact that there are still
shells and terminals which are not able to handle italics. Enabling
italics for terminals by default would cause unpredictable bugs and
graphical glitches.
The new configuration is named "nord_italic".
References:
(1) https://github.com/arcticicestudio/nord-vim#italic-comments
(2) https://github.com/arcticicestudio/nord-vim/issues/84
GH-88
Diffstat (limited to 'colors')
| -rwxr-xr-x | colors/nord.vim | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/colors/nord.vim b/colors/nord.vim index 0c48df6..a55a006 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 |