РЕДАКТИРОВАТЬ: Я неправильно понял вопрос. Перейдите к ОРИГИНАЛЬНОМУ ОТВЕТУ, если вам интересно.
РЕДАКТИРОВАТЬ2: Мой ответ заключается в том, как обеспечить СИНТАКСИЧЕСКОЕ ОСВЕЩЕНИЕ (что указано в самом вопросе). Выделение отдельных символов, не связанных с синтаксисом, требует тривиального JavaScript. Это также отличается от «автоматического форматирования», которое обычно интерпретируется как «настроить уровни отступов, чтобы все выглядело хорошо».
Это сложная задача, но не такая невозможная, как кажется. Еще раз, TextMate приходит нам на помощь, но по-другому.
В TextMate откройте редактор пакетов и посмотрите определение языка для HTML. Это регулярные выражения, которые обрабатывают документ и присваивают «область действия» каждой части.
«Просто» анализируют этот формат определения языка в различных компонентах, а затем используют сами регулярные выражения, как TextMate, чтобы назначить область / цвет. Кусок пирога, верно? :)
Я бы лично начал с самого легкого текстового редактора с открытым исходным кодом, который вы можете найти, а затем взломал его. Или, знаете, все, что плывет на вашей лодке.
Надеюсь, это дало вам хорошие идеи.
ОРИГИНАЛЬНЫЙ ОТВЕТ:
Для Firefox вы можете установить плагин «Это весь текст» отсюда:
https://addons.mozilla.org/en-US/firefox/addon/4125/
У меня работает с 3.6.12. Установите путь в настройках на TextMate (или любой другой), и при необходимости установите горячую клавишу или настройте другие параметры по своему вкусу. По умолчанию, когда ваш курсор находится над текстовой областью, появится небольшая кнопка с надписью «Редактировать», которая откроет содержимое текстовой области в вашем редакторе. Сохранение вернет данные в Textarea.
Надеюсь, это поможет.