1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-02 22:40:06 +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:
Theodore Ni 2020-05-15 06:44:02 -07:00 committed by GitHub
parent 8887be1644
commit 1c6b15619f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 5 deletions

View File

@ -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' : '',

View File

@ -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, ''