From bc6e2fc05148dee914141a07fcefb75ac3a819e1 Mon Sep 17 00:00:00 2001 From: Arctic Ice Studio Date: Fri, 29 Dec 2017 10:15:20 +0100 Subject: 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 --- colors/nord.vim | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) (limited to 'colors') 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 -- cgit v1.2.3-70-g09d2