La adición de un nuevo analizador léxico para scintilla/scite (...y, finalmente, wxPython StyledTextCtrl)

StackOverflow https://stackoverflow.com/questions/3297567

Pregunta

Tiene alguno de ustedes se ha añadido correctamente un analizador léxico para scintilla?

He estado siguiendo las instrucciones breves en http://www.scintilla.org/SciTELexer.html - y aún descubierto el secreto instrucciones adicionales en http://www.scintilla.org/ScintillaDoc.html#BuildingScintilla (Cambio de Conjunto de Lexers)

Todo se compila, y puedo añadir que el analizador léxico para SciTE bien, pero mi ColouriseMapfileDoc método simplemente no puede ser llamado (a printf no produce salida).Si añado el mismo código, por ejemplo,el ColouriseLuaDoc lexer, todo está bien (un printf ¿ producir la salida).

En concreto me han

  1. En scintilla/include/Scintilla.iface, agregó val SCLEX_MAPFILE=99
  2. Y cualquier léxica Identificadores de clase
  3. En la scintilla/directorio include de ejecutar HFacer.py y confirmó que el SciLexer.h el archivo ha cambiado.
  4. Creado LexMapfile.cxx con un ColouriseMapfileDoc la función
  5. Al final del archivo asociado al analizador léxico ID y el nombre de la función:

    LexerModule lmMapfile(SCLEX_MAPFILE, ColouriseMapfileDoc, "mapfile");

  6. Ejecutar LexGen.py para generar todos los makefiles (como por el secreto de las instrucciones)

  7. Creó un nuevo SciTE archivo de propiedades por clonación scite/src/others.properties
  8. Configurar algunos estilos
  9. En scite/src/SciTEGlobal.properties agregó $(filter.conf) para la definición de open.filter.
  10. Agrega este idioma para el menú de Idioma de SciTE,
  11. Construido Scintilla y SciTE.
  12. Gruñó y maldijo.

¿Qué estoy haciendo mal, excepto tal vez el paso 12?

¿Fue útil?

Solución

En caso de que alguien lee esta cuestión en el futuro - usted también tendrá que añadir una línea import yourformat en SciTEGlobal.properties.Que los indocumentados paso 9b.

Otros consejos

En caso de que alguien lee esta cuestión en el futuro - usted también tendrá que añadir una línea de importación yourformat en SciTEGlobal.propiedades.Que los indocumentados paso 9b.

Este paso no es necesario.He compilado 3.2.2 y esto fue hecho con la importación *.El resto de los pasos son todavía completa y relevante, aunque.

Estoy escurrir un analizador léxico directamente en scintilla/lexer/LexOthers.cxx como se describe en http://www.scintilla.org/SciTELexer.html.Para scite 3.2.3 la falta de paso 5b es que usted necesita para agregar LINK_LEXER(lmYouLexerMod); en scintilla/src/Catalogue.cxx.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top