mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-02 22:30:04 +08:00
Change how highlight syntax IDs are looked up. (#3521)
There is a function called hlID that can be used to look up the syntax ID directly. On my laptop, this saves a bit over 100ms during start up when loading the tabline and the statusline.
This commit is contained in:
parent
8887be1644
commit
1c6b15619f
@ -21,8 +21,8 @@ let s:self = {}
|
||||
" reverse: if reverse
|
||||
|
||||
function! s:self.group2dict(name) abort
|
||||
let id = index(map(range(1999), "synIDattr(v:val, 'name')"), a:name)
|
||||
if id == -1
|
||||
let id = hlID(a:name)
|
||||
if id == 0
|
||||
return {
|
||||
\ 'name' : '',
|
||||
\ 'ctermbg' : '',
|
||||
|
@ -2,6 +2,19 @@ Execute ( SpaceVim api: vim#highlight ):
|
||||
let hi = SpaceVim#api#import('vim#highlight')
|
||||
set termguicolors
|
||||
highlight TestAPIVimHighlight ctermfg=11 guifg=#89DDFF guibg=#212121
|
||||
AssertEqual hi.group2dict('TestAPIVimHighlight').guibg, '#212121'
|
||||
AssertEqual hi.group2dict('TestAPIVimHighlight').guifg, '#89ddff'
|
||||
AssertEqual hi.group2dict('TestAPIVimHighlight').ctermfg, '11'
|
||||
|
||||
let test_api_hi = hi.group2dict('TestAPIVimHighlight')
|
||||
AssertEqual test_api_hi.guibg, '#212121'
|
||||
AssertEqual test_api_hi.guifg, '#89ddff'
|
||||
AssertEqual test_api_hi.ctermfg, '11'
|
||||
|
||||
let unknown_hi = hi.group2dict('UnknownHighlightGroup')
|
||||
AssertEqual unknown_hi.name, ''
|
||||
AssertEqual unknown_hi.ctermbg, ''
|
||||
AssertEqual unknown_hi.ctermfg, ''
|
||||
AssertEqual unknown_hi.bold, ''
|
||||
AssertEqual unknown_hi.italic, ''
|
||||
AssertEqual unknown_hi.reverse, ''
|
||||
AssertEqual unknown_hi.underline, ''
|
||||
AssertEqual unknown_hi.guibg, ''
|
||||
AssertEqual unknown_hi.guifg, ''
|
||||
|
Loading…
Reference in New Issue
Block a user