Il Code Snippet Editor, introdotto con la
versione #1787 di IMHO viene fornito del supporto al Syntax Highlighting
per 5 linguaggi predefiniti (C#, VB.NET, ILASM, XML e HTML). Il supporto
alla colorazione del codice è ottenuto mediante una stretta integrazione con
l'editor ICSharpCode.TextEditor, cui l'algoritmo di trasformazione in HTML si
aggancia per leggere le informazioni sulla formattazione, sui colori e sui font.
Questo significa che potendo aggiungere una nuova definizione di Syntax
Highlighting per l'editor, automaticamente questa sarà ereditata anche dall'HTML
prodotto per essere immesso nella pagina del weblog.
Il supporto alla colorazione in IMHO è realizzato esponendo all'esterno i
file che contengono le regole di colorazione e quindi quanto detto finora, non
solo è possibile, ma è anche auspicabile. Creare una nuova sintassi colorata non
è una cosa semplicissima, ma nemmeno impossibile. Occorre innanzitutto trovare
la cartella \formatters\CodeSnippet\styles nella directory di
installazione. In questa cartella è presente un file SyntaxModes.xml
che funge da indice dei file di regole.
<SyntaxModes version="1.0">
<Mode file = "CSharp-Mode.xshd"
name = "C#"
extensions = ".cs;"/>
<Mode file = "VBNET-Mode.xshd"
name = "VisualBasic.NET"
extensions = ".vb;"/>
<Mode file = "VBNET-Mode.xshd"
name = "IL Asm"
extensions = ".il;"/>
<Mode file = "HTML-Mode.xshd"
name = "HTML"
extensions = ".html;.html;"/>
<Mode file = "HTML-Mode.xshd"
name = "XML"
extensions = ".xml;"/>
</SyntaxModes>
In questo file è possibile aggiungere tutti gli
elementi <mode>
necessari. Essi dovranno fare riferimento ad un file con estensione .xshd
che contiene la definizione delle regole di colorazione del linguaggio. Per la
spiegazione della sintassi del file di definizione, vi rimando al sito di ICSharpDevelop nel cui
forum si può trovare molto materiale in merito.
powered by IMHO