aboutsummaryrefslogtreecommitdiffstats
path: root/colors
diff options
context:
space:
mode:
authorGravatar Arctic Ice Studio <development@arcticicestudio.com>2017-12-29 10:15:20 +0100
committerGravatar Arctic Ice Studio <development@arcticicestudio.com>2017-12-29 10:15:20 +0100
commitbc6e2fc05148dee914141a07fcefb75ac3a819e1 (patch)
treeb5ea4a9304ca8c2815d4838308807f72292b5ac3 /colors
parent53fce0db2d0227244213444e0f9ff223a68c5269 (diff)
downloadnord-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-xcolors/nord.vim37
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