Desidero modificare i colori delle parentesi colorate con Better Rainbow Parentheses.E421: non si riconosce il nome del colore nella dichiarazione perfettamente valida
I colori sono specificati in questo modo:
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
…
\ ]
La funzione di cambiare i colori del plugin è questo:
func! rainbow_parentheses#toggle()
if !exists('s:active')
cal rainbow_parentheses#load(0)
endif
let afunc = exists('s:active') && s:active ? 'clear' : 'activate'
cal call('rainbow_parentheses#'.afunc, [])
endfunc
Dal momento che sto usando solarizzata voglio i colori esadecimali specifici, quindi ho ottenuto questo:
let g:rbpt_colorpairs = [
\ ['yellow', '#b58900'],
\ ['orange', '#cb4b16'],
\ ['red', '#dc322f'],
\ ['magenta', '#d33682'],
\ ['violet', '#6c71c4'],
\ ['blue', '#268bd2'],
\ ['cyan', '#2aa198'],
…
\ ]
Eppure, su re Comincio e girando il plugin su, ottengo questo errore più volte:
E421: Color name or number not recognized: cterm=orange guifg=#cb4b16
Ancora meglio, facendo il: exe fatto nella funzione funziona come un fascino, come manualmente:
:exe 'hi default level4c ctermfg=orange guifg=#cb4b16'
Anche con la concatenazione funziona:
:let foo = '#cb4b16
:exe 'hi default level4c ctermfg=orange guifg='.foo
Cosa potrebbe essere sbagliato ?!
Scusami mentre vado a colpire me stesso. Fatto divertente: una volta ho avuto il problema con i colori dei terminali e l'arancione in passato. A volte dovrei imparare a imparare dai miei errori. :) – Profpatsch
Anche se rimane una domanda: perché non si è lamentato di non averlo usato come comando ?! – Profpatsch
Quindi, come posso impostare un colore se conosco il suo nome? – user10607