EDIT: j'ai mal compris la question un peu. Aller à RÉPONSE ORIGINALE si vous êtes curieux.
EDIT2: Ma réponse est comment fournir SYNTAX HIGHLIGHTING (ce qui est spécifié dans la question elle-même). La mise en évidence de caractères individuels sans rapport avec la syntaxe nécessite un javascript trivial. Ceci est également différent de 'format automatique' qui est généralement interprété comme signifiant 'ajuster mes niveaux de retrait afin que tout semble bien'.
Ceci est une tâche difficile, mais pas aussi impossible que cela puisse paraître. Une fois de plus, TextMate vient à notre secours mais d'une manière différente. Dans TextMate, ouvrez l'éditeur de regroupement et examinez la définition de langage pour HTML. Ce sont des regexes qui traitent le document et assignent une 'portée' à chaque pièce. 'Simplement' parser ce format de définition de langage dans les divers composants, puis utiliser les regex eux-mêmes comme le fait TextMate pour assigner une portée/couleur. Morceau de gâteau, non? :)
Je voudrais personnellement commencer par l'éditeur de texte riche open source le plus léger que vous pouvez trouver, puis le pirater. Ou tu sais, tout ce qui flotte ton bateau.
J'espère que cela vous a donné de bonnes idées.
RÉPONSE ORIGINAL:
Pour Firefox, vous pouvez installer le plug-in 'Il est tout le texte' d'ici: https://addons.mozilla.org/en-US/firefox/addon/4125/
Il fonctionne pour moi avec 3.6.12. Définissez le chemin dans les préférences pour TextMate (ou autre), et éventuellement définir un raccourci clavier ou ajuster les autres paramètres à votre goût. Par défaut, lorsque votre curseur est sur une Textarea, un petit bouton disant "Edit" apparaîtra et ouvrira le contenu de Textarea dans votre éditeur. L'enregistrement remettra les données dans la Textarea.
J'espère que cela aide.
Le code ne serait pas simple du tout, je vous recommande d'utiliser un iframe avec 'contenteditable = "true"'. Car une zone de texte ne peut avoir qu'un seul style et un iframe modifiable par le contenu prend en charge plusieurs styles. – JCOC611