2011-04-28 2 views
2

Je travaille sur un produit qui a son propre langage SQL pour interroger la base de données. Nous l'appelons Langue de reporting. Maintenant, je veux avoir un éditeur de texte qui met en évidence spécifique à ma langue. Je peux spécifier les mots-clés (couleur violette), les types de données (couleur rouge), les commentaires couleur verte et tout le reste de la couleur noire et ainsi de suite.Syntaxe Mise en évidence d'un exemple de langage de programmation

Y at-il un outil existant que je peux donner ces spécifications en entrée et en sortie est un éditeur de texte qui effectue cette mise en évidence spécifique à la langue.

N'hésitez pas à répondre à toutes les informations même si elles sont trop basiques. Merci d'avance.

Répondre

3

Emacs est l'éditeur le plus configurable et le plus extensible au monde.

Il est possible de définir des "modes" pour emacs, qui prennent en charge l'édition de documents conformes à un format particulier. Par exemple, il existe des emacs existants "modes" pour

  • C/C++
  • Java
  • C#
  • VB.NET
  • perl
  • Powershell
  • SQL
  • . htaccess
  • html
  • css javascript
  • xml
  • et bien d'autres

"Modes" peut être quelque chose d'aussi simple que la syntaxe mettant en évidence (ou comme il appelle emacs, fontification). Cependant, la plupart des modes fournissent d'autres fonctionnalités telles que l'auto-complétion, la vérification de la syntaxe, l'insertion de modèles et les aides à la compilation. Vous définissez un mode emacs dans elisp, qui est une variante de LISP.

Si vos besoins sont relativement simples, vous pouvez produire un mode emacs en moins d'une heure. La plupart des modes sont open-source, donc vous pouvez commencer avec un mode existant, et le changer à vos fins, ou simplement en tirer des leçons.

Voir aussi A 'hello world' example for a major mode in Emacs?

Emacs est gratuit et open source, et fonctionne sur toute plate-forme.

1

La mise en évidence de la syntaxe n'est qu'une infime partie de l'écriture d'un éditeur de texte. Vous allez avoir beaucoup plus de mal à écrire un éditeur de texte général que de faire de la coloration syntaxique. Un "générateur d'éditeur de coloration syntaxique" est une application trop étroite pour avoir un outil pour autant que je sache.

Aussi, je ne pense pas que mes clients pour passer des éditeurs juste pour modifier un format de fichier. Vous êtes beaucoup mieux d'écrire un mode pour un éditeur populaire (multi-plateforme) comme Emacs, vim ou eclipse.

Si vous voulez juste afficher votre langue avec la coloration syntaxique, utilisez pygments que vous pouvez intégrer dans des applications (python) (par exemple) ou https://gist.github.com/773300SyntaxHighlighter pour la présentation web.

Questions connexes