Comment ajouter de la coloration syntaxique à un champ de type « textarea » ?
BDF embarque la bibliothèque Javascript CodeMirror (codemirror.net/) pour effectuer la coloration syntaxique des fichiers textes. Les fichiers constituant cette bibliothèque sont accessibles via les ressources dans third-lib/codemirror
. Outre les modes proposés par CodeMirror, cinq modes spécifiques à la syntaxe du logiciel BDF ont été codés. Pour des questions de mises à jour, ces modes sont séparés de la bibliothèque CodeMirror et se trouvent dans js/codemirror
:
attributes.js
: coloration syntaxique des attributsficheblock.js
: coloration syntaxique de la syntaxe Ficheblocksubsettree
: coloration syntaxique de l’ordre des collectionstableexport.js
: coloration syntaxique de l’exportation tabulaireuicomponents.js
: coloration syntaxique des listes de clés (comme dans l’ordre des éléments d’un corpus)
Pour associer de manière automatique un champ de texte à de la coloration syntaxique, il faut charger le fichier Javascript js/bdf/codemirrormode.js
. Celui-ci répère les éléments <textarea>
qui possède un attribut data-codemirror-mode
et applique la valeur de cet attribut comme mode de CodeMirror. Il faut bien sûr charger par ailleurs CodeMirror et le mode en question.
Lorsque la page est produite en Java par une classe étendant BdfHtmlProducer
, il suffit d’ajouter au moment de la construction de la nouvelle instance la bibliothèque Javascript suivante :
Cette bibliothèque charge les modes suivants :
xml
: XMLhtmlmixed
: HTMLcss
: CSSjavascript
: Javascriptproperties
: propriétés, fichiers .iniattributes
: formatage des attributsficheblock
: formatage de la syntaxe Ficheblock des sections de textesubsettree
: formatage des l’ordre des collectionstableexport
: formatage de l’exportation tabulaireuicomponents
: formatage des listes de clés