Pregunta:
De vez en cuando quiero anular la sintaxis predeterminada resaltando colores y estilos con mis propias preferencias.
Imagino que la forma más apropiada de hacer esto sería crear mi propio esquema de colores. Sin embargo, tengo un par de preguntas.
-
Si quiero establecer un resaltado para un grupo de sintaxis específico en un idioma específico, ¿pertenece esto a mi esquema de colores, o sería mejor colocarlo
after/syntax/[filetype].vim
?highlight jsAssignExpIdent cterm=bold gui=bold
Parece un poco extraño colocar reglas oscuras específicas de un idioma en el esquema de colores, ya que se cargarán en cualquier idioma en el que esté trabajando, pero parece aún peor colocar reglas de resaltado en el archivo de sintaxis.
-
A veces creo nuevas reglas de sintaxis para un idioma específico, en
after/syntax/[filetype].vim
. En caso de que otros usuarios quieran emplear estas extensiones, ¿sería apropiado que yo proporcionara reglas de resaltado predeterminadas que enlazan a grupos de resaltado predeterminados comunes? Si otro usuario desea anular ese color de resaltado, ¿cómo debería hacerlo?::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number
Respuesta:
Primera pregunta
Las definiciones de resaltado pertenecen a su esquema de colores. El hecho de que se carguen para cada búfer, sin importar su idioma, no debería ser un problema en absoluto.
Si no desea editar su esquema de colores, puede poner esas definiciones resaltadas en plugin/myhighlights.vim
:
function! MyHighlights()
highlight ...
highlight ...
endfunction
augroup MyHighlights
autocmd!
autocmd ColorScheme * call MyHighlights()
augroup END
Segunda pregunta
Su muestra es exactamente cómo debe hacerlo y cómo funciona cada secuencia de comandos de sintaxis. Este método permite al desarrollador del complemento definir un valor predeterminado sano sin forzar colores específicos a la garganta del usuario.