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

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

8
Решение раскраски кода в управляемых приложениях. Используем 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/ 

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

8

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

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

См. также

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

(7) Возможно Вы и правы и я немного поторопился. Имея богатый опыт несоответствие стандартам html внутри 1С в поле html могу пожелать Вам терпения и настойчивости. Если мой путь коснется Axe c удовольствием присоединюсь к Вам.
6. NeviD 20.12.16 17:43 Сейчас в теме
Ещё знак ? должен красным подсвечиваться.
7. nixel 508 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. gortol 182 22.12.16 09:32 Сейчас в теме
всё это удобно и прекрасно спасибо. А intellesence планируется реализовать? (то что после точки если ctrl+пробел нажимаешь, для выбора свойств/методов)
Оставьте свое сообщение