Czasami chcę przesłonić domyślną składnię, podkreślając kolory i style według własnych preferencji.
Wyobrażam sobie, że najbardziej odpowiednim sposobem na to byłoby stworzenie własnego schematu kolorów. Mam jednak kilka pytań.
Jeśli chcę ustawić wyróżnienie dla określonej grupy składni w określonym języku, czy należy to do mojego schematu kolorów, czy lepiej byłoby umieścić to w
after/syntax/[filetype].vim
?highlight jsAssignExpIdent cterm=bold gui=bold
Trochę dziwne jest umieszczanie niejasnych reguł specyficznych dla języka w schemacie kolorów, ponieważ zostaną one załadowane w dowolnym języku, nad którym pracuję, ale jeszcze gorsze wydaje się umieszczanie reguł podświetlania w pliku składni.
Czasami tworzę nowe reguły składni dla określonego języka, w
after/syntax/[filetype].vim
. Czy w przypadku, gdy inni użytkownicy będą chcieli korzystać z tych rozszerzeń, stosowne byłoby podanie tam domyślnych reguł podświetlania, które prowadzą do wspólnych domyślnych grup wyróżnień? Jeśli inny użytkownik chce zastąpić kolor podświetlenia, jak powinien to zrobić?::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number
źródło
highlight link ...
martwię się, jeśli wstawię polecenia w pliku składni, aby zastąpiły one ustawienia z schematu kolorów za każdym razem, gdy ładowany jest plik o tym typie pliku. Czy powinienem to zrobić tylkohighlight link ...
po sprawdzeniu, czy dla tej nazwy nie istnieje reguła podświetlania?highlight link
w schemacie kolorów można później nadpisaćhighlight link
plikiem w składni. Aby tego uniknąć, zamiast linku można użyć rzeczywistych argumentów (ctermbg, guifg, ...).highlight link ...
w skrypcie składni i pozwalać użytkownikom na przesłonięcie go, jeśli chcą.highlight link ...
Obawiałem się, że jeśli użytkownicy użyją swojego schematu kolorów, plik składni może później go zresetowaćhighlight link ...
. Widzę teraz, że dobre pliki składniowe unikają tego, używająchighlight default link ...
. To prawdopodobnie powinna być korektaasmHexNumber
reguły w moim pytaniu.