Bonjour,
je voudrais coder un colarateur syntaxique pour un langage maison en codemirror, mais la doc explique la procédure seulement en nodejs mais pas côté navigateur or je le veux côté navigateur. Pouvez-vous m'aider SVP ?
Merci
Bien cordialement
Bonjour,
je voudrais coder un colarateur syntaxique pour un langage maison en codemirror, mais la doc explique la procédure seulement en nodejs mais pas côté navigateur or je le veux côté navigateur. Pouvez-vous m'aider SVP ?
Merci
Bien cordialement
Salut Sylvain255,
Et en consultant le code source de cette page https://codemirror.net/5/demo/theme.html#default ?
ce n'est qu'un changement de thème pas la coloration syntaxique d'un langage que j'appelle maison c'est-à-dire que j'ai inventé
Tu as un lien pour l'exemple en nodeJs et un bout de code de ton langage que tu souhaites coloriser ?
la doc :
https://codemirror.net/examples/lang-package/
mon langage comprend du texte brut qui est affiché tel quel dans lequel sont insérés des bouts de codes entre accolades qui affichent du texte
il n'y a pas de boucles par mesure de sécurité
il y a par contre des IF qui sont des instructions spéciales {IF condition} {ELSE} {ENDIF}
il y a des fonctions avec des noms qui sont composés de lettres
il y a des tableaux enserrés de [ et de ] dont les valeurs sont séparées par des virgules
il y a des opérateurs (arithmétiques, de comparaison (>, <, =, <=, >=, <>) et logiques (NOT, AND, XOR, OR))
il n'y a pas de variables
il y a des chaînes des caractères enserrées de " (pour échapper le " on met \", pour les sauts de ligne on met \n et pour échapper le \ on met \\)
le langage est case unsensitive
il y des booléens dont les valeurs true et false
il y a enfin des nombres entiers ou flottants ex : 2 ou 3.65
un exemple de mon langage :
blabla blabla {IF maFonctionUn("aa",2,["a",2,"b"])>3} blablabla {ENDIF} {maFonctionDeux(3,5,"ee\n\n\"\"\\")}
Bonjour,
Il ne s'agit pas de code NodeJS mais de modules ES6 qui nécessite un bundler, la doc recommande l'utilisation de rollup ou Webpack.
https://codemirror.net/docs/guide/
The packages are distributed as ES6 modules. This means that it is not currently practical to run the library without some kind of bundler (which packages up a modular program into a single big JavaScript file) or module loader. If you are new to bundling, I recommend looking into rollup or Webpack.
Partager