it-swarm-es.com

En Scite (Scintilla), ¿cómo puedo crear la sintaxis, resaltar para mi propio idioma personalizado?

Quiero crear un idioma personalizado, con su propio resaltado de sintaxis personalizado.

Notepad ++ (un editor de texto basado en Windows Scite/Scintilla), me permitió crear un "idioma" personalizado, y ahora, en Linux, quiero reproducir lo mismo.

Necesito (?) Para usar Skite/Scintilla Porque, a menos que alguien sepa lo contrario, es el único editor de texto simple que puede mostrar Tamaño diferente Fuentes en el mismo archivo de texto (por ejemplo, . Predeterminado Fuente = 12PT, comentario-font = 24pt).

Utilicé el comentarios Fuente para mostrar un script complejo (alfabeto) en una fuente más grande.
Por favor, hágamelo saber si hay alguna otra llano Editor de texto que hace esto.

Supongo que esta es una característica de Scite/Scintilla (y no de Notepad ++).
¡Parte de la magia es posible/probablemente (?) HECHO EN LOS ARCHIVOS DOS ASE:
/usr/share/scite/.properties

Notepad ++ tiene una interfaz GUI para configurar un nuevo idioma/sintaxis,
... Pero podría usar alguna dirección sobre cómo hacerlo exactamente en Scite.

Gracias...

4
Peter.O

Lo miré una vez, es bastante doloroso, porque todo está definido estáticamente en el código fuente de C++.

Tienes que definir un cierto número de reglas entre la que ya existe en Scintilla, para cosas como ... Bueno, está bastante destrozado. Puede buscar rápidamente "Scintilla Lexer" en Google, pero para comprender que los resaltadores de sintaxis son muy sofisticados para el código, solo mire a Bloc de notas ++ y todas sus características: es casi un analizador de código, que se encuentra en los compiladores.

Además de eso, se puede hacer un Scintilla Lexer para cualquier tipo de lenguaje.

Otro problema es que colorear el texto tiene que ser una plataforma agnóstica, y otra vez, supongo que favorece Windows (DUH), y no olvide el renderizador de fuentes, que también puede ser otra cosa.

No estoy seguro de que Scintilla ha sido portada a Gnome o KDE, ¿verdad?

2
jokoon

AFAIK, Notepad ++ se basa en Scintilla Lexers.

Pensé que "nuevo idioma" solo significaba "Lexer existente, pero nuevo conjunto de palabras clave"; Pero parece más poderoso.

Lo que encontré: ( http://docs.activestate.com/komodo/4.4/udl.html )

El sistema de Komodo para definir la lexa de la sintaxis de múltiples lengua y el resaltado de sintaxis definido por el usuario se denomina UDL (idiomas definidos por el usuario). Los archivos UDL están escritos en un idioma llamado Luddite, luego compilado en Scintilla Lexers y envasados ​​para su uso en Komodo.

Entonces, después de definir su idioma en Notepad ++, debe poder obtener el Lexer compilado y agregarlo a Scite.

0