Что нам стоит код 1С раскрасить?

Программирование - Инструментарий

Решение раскраски кода в управляемых приложениях. Используем CodeMirror!

Доброго времени суток!

Открыв окно в конвертации 3.0 на алгоритм  1С, был страшно разочарован. Сколько лет управляемых приложениям в 1С, а подветки кода до сих пор нет. Печалька. В своих разработках (http://widget.sikuda.ru) тоже очень сильно не хватает подсветки кода. А между тем в интернете много хорошо развитых и поддерживаемых открытых проектов не только для выделения синтаксиса, но и полноценные редакторы текста. почему бы нам не взять один из них и написать для языка 1С? 

На infostart был найден подобный проект (выделение синтаксиса запросов 1С) и реализация его очень понравилась: //infostart.ru/public/515572/. Спасибо Василию.

Приступаем: Рассмотрим проект CodeMirror(https://codemirror.net/index.html) поподробнее. А именно пока только его ту часть, что отвечает за раскраску кода. Она сделана в проекте для отдельного языка в виде 'languge mode'. Специфики разбора выражения конкретного языка. А конкретные цвета для ключевых выражений, переменных и проч. задается в 'CSS theming system' .  Очень гибко и красиво.  Просто идеально, чтобы добавить язык 1С. 

Тестирование реализации можно сделать здесь: http://sikuda.ru/1c/CodeMirror/ 

Пишите все Ваши замечания и предложения и особенно неточности подсветки по сравнению с конфигуратором. Детские ошибки преодолены. Всем заранее спасибо.

Скачать файлы

Наименование Файл Версия Размер
Пример раскраски кода
.epf 320,08Kb
20.12.16
27
.epf 0.1 320,08Kb 27 Скачать

См. также

Комментарии
1. Сергей Старых (tormozit) 4523 20.12.16 13:50 Сейчас в теме
Еще бы для языка запросов сразу настройку.
2. Дмитрий Царапкин (NeviD) 20.12.16 14:34 Сейчас в теме
Неточности реализации:
В конфигураторе точка подсвечивается красным цветом.
Не реализовано продолжение строки знаком |
8. Сергей Кудашкин (sikuda) 504 21.12.16 11:08 Сейчас в теме
3. Сергей Старых (tormozit) 4523 20.12.16 15:13 Сейчас в теме
Простейшую контекстную подсказку желаю.
4. Дмитрий (r0610201) 206 20.12.16 16:00 Сейчас в теме
Еще слово "По" не подсвечивается.
5. Дмитрий Царапкин (NeviD) 20.12.16 16:55 Сейчас в теме
Если слово начинается с ключевого, то все слово подкрашивается как ключевое. Например, Идентификатор, Использование, ПоказыватьОповещение - они все выделяются красным. А если после точки идут, то черным. Должны быть синими.
Цвет комментария становится после одного знака / . Соответственно, формулы с делением подсвечиваются наполовину как комментарий.
10. Сергей Кудашкин (sikuda) 504 21.12.16 11:52 Сейчас в теме
(5) Текущие проблемы исправил.

(7) Возможно Вы и правы и я немного поторопился. Имея богатый опыт несоответствие стандартам html внутри 1С в поле html могу пожелать Вам терпения и настойчивости. Если мой путь коснется Axe c удовольствием присоединюсь к Вам.
6. Дмитрий Царапкин (NeviD) 20.12.16 17:43 Сейчас в теме
Ещё знак ? должен красным подсвечиваться.
7. Никита Грызлов (nixel) 282 20.12.16 19:52 Сейчас в теме
Не рекламы ради, а порядка для отмечу, что в рамках проекта https://github.com/xDrivenDevelopment/1c-syntax на основе устаканеной за год грамматики вскоре планируется релиз подсветки 1c (bsl) для редактора Ace. После этого планировался полноценный порт в CodeMirror
DrAku1a; artbear; 1С_Мастер; sikuda; +4 Ответить
9. Василий Тёркин (1С_Мастер) 62 21.12.16 11:12 Сейчас в теме
Ace, кстати, отличная штука. К сожалению, заставить его правильно работать в поле html документа, сложнее, чем CodeMirror и производительность связки "костыля-перехватчика нажатий клавиш" и Ace получается ниже, чем у того же костыля и CodeMirror
11. Tolik (gortol) 178 22.12.16 09:32 Сейчас в теме
всё это удобно и прекрасно спасибо. А intellesence планируется реализовать? (то что после точки если ctrl+пробел нажимаешь, для выбора свойств/методов)
Оставьте свое сообщение