si escribo una función de la siguiente manera:
int foo(int bar)
{}
Sublime destaca foo
correctamente. Sin embargo, en este caso:
int foo
(int bar)
{}
foo
pierde todo el resaltado.
Una de las cosas que amo de C ++ es que no le importa el espacio en blanco. ¿Hay alguna manera de hacer que este código sublime resalte correctamente?
Editar:
Después de obtener algunos punteros y explorar los archivos de sintaxis defualt, esto:
<string>(?x)
(?: ^ # begin-of-line
|
(?: (?= \s ) (?<!else|new|return) (?<=\w) # or word + space before name
| (?= \s*[A-Za-z_] ) (?<!&&) (?<=[*&>]) # or type modifier before name
)
)
(\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\s*\()
(
(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name
(?: (?<=operator) (?: [-*&<>=+!]+ | \(\) | \[\] ) ) # if it is a C++ operator
)
\s*(?=\()</string>
parece ser la expresión regular que funciona mal. Sin embargo, no puedo entender por qué no está obteniendo mi código; la última línea, \s*(?=\()
debería coincidir con cualquier cantidad de espacios en blanco o líneas nuevas antes del paréntesis de apertura, ¿no?