Раскраска кода 1С [онлайн]

Публикация № 276460

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

раскраска код онлайн сервис

48
Еще одна раскраска кода 1С онлайн для вставки в html-страницу

Алгоритм раскраски взят из стандартной 1Совской обработки РаскраскаКода.epf, переписан на php, с небольшими доработками по раскраске кода, чего не хватает в обработке.  Код для раскрашивания ограничен 30000 символами, так как этого, я думаю, выше крыши. По крайней мере, я не видел статьи, где кода 1С было свыше 3000 строк. Если кому понадобится раскрасить больше, то код для html-страницы можно вручную отредактировать и соединить в один общий код.  Онлайн раскраску писал для себя, так как постоянно иметь под рукой обработку раскраски не получалось. Предупреждаю сразу, что код 1С раскрашивается, если он написан синтаксически верно. И не надо проверять ее (онлай раскраску) на незакрытые кавычки, код из других языков и т.п. и потом в комментариях писать про эти ошибки. Ведь в статьи вставляют уже готовый, работающий код. Если же будут существенные ошибки в алгоритме раскраски верного кода, буду рад, если напишите в комментариях, можно здесь, можно на сайте раскраски.

Об раскраске: 

На станице раскраски имеются два поля: для кода, который надо раскрасить и для кода который получяется после раскраски, который можно сразу вставлять в html-страницу. 

Справа выводится результат раскрашивания, здесь можно стазу посмотреть как раскрасился код.

Ссылка на сайт раскраски http://likion.ru/color1c/index.php

48

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

Наименование Файл Версия Размер
php скрипт для сайта
.zip 3,88Kb
02.10.16
6
.zip 3,88Kb 6 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. bashinsky 124 06.05.14 09:27 Сейчас в теме
возникшие ошибки раскраски рабочего кода буду исправлять по мере возможности
2. Diversus 1945 06.05.14 11:09 Сейчас в теме
(1) Было бы удобно на свой сайт скопировать и пользоваться когда нужно и не искать в интернете, где же я встречал онлайн раскраску.
Если не трудно и не жалко, выложите пожалуйста php-скрипт.
u_n_k_n_o_w_n; +1 Ответить
11. webester 29 08.05.14 13:58 Сейчас в теме
(2)Используйте на своем сайте highlight.js он раскрашивает как нужно, без каких либо ограничений(код раскрашивается на клиенте, поэтому серверу наплевать на объем кода). Еще есть питоновская библиотека pygments очень удобная. Если есть необходимость, можно запилить статическую страничку, для раскраски кода. Делов не очень много. Я баловался когда тоже раскраской кода, написал пастебин 1с.
17. bashinsky 124 10.05.14 23:15 Сейчас в теме
(11) webester, будет время, разберусь и с JavaScript.
19. webester 29 11.05.14 13:38 Сейчас в теме
(17)Это было не вам. Там разбираться не надо просто подключил библиотеку, она сама раскрасит, код в блоке определенном для этого.
18. bashinsky 124 10.05.14 23:38 Сейчас в теме
(2) Diversus,
Было бы удобно на свой сайт скопировать и пользоваться когда нужно и не искать в интернете, где же я встречал онлайн раскраску.
Если не трудно и не жалко, выложите пожалуйста php-скрипт.

Пока выкладывать исходники я не планирую, но можно сделать свою страницу, при открытии которой будет редирект на мою.
Можно использовать написанную мной страницу редиректа http://likion.ru/color1c/color1c.zip, в архиве лежит html файл, его можно запускать хоть с рабочего стола
3. gislink 36 07.05.14 11:41 Сейчас в теме
Внутри чисел точка красная, а должна быть черная ;-)
16. bashinsky 124 10.05.14 23:03 Сейчас в теме
(3) gislink,
Внутри чисел точка красная, а должна быть черная ;-)

Это косяк 1Совской обработки, который перешел сюда. Позже исправлю.
4. gislink 36 07.05.14 11:45 Сейчас в теме
Символы "#" и "&" красят строку в коричневый, только если они являются первым значащим символом в строке, а у Вас - где угодно.
13. bashinsky 124 10.05.14 22:56 Сейчас в теме
(4) gislink,
Символы "#" и "&" красят строку в коричневый, только если они являются первым значащим символом в строке, а у Вас - где угодно.

Если эти символы попадаются и они стоят не в кавычках, то после них все остальное красится в коричневый - так у меня. В 1С - если они стоят с начала. Но если в 1С поставить эти символы в середину строки, то будет ошибка.
Для примера.
Правильно:
а=1;
#Если Клиент Тогда
#КонецЕсли

Неправильно:
а=1;#Если Клиент Тогда
#КонецЕсли

Повторюсь, раскраска выполняется синтаксически верного текста, а не идет проверка его на синтаксис.
5. gislink 36 07.05.14 11:52 Сейчас в теме
про "enddo" забыл ;-)
все, 3 косячка нашел, пойду покурю.
12. bashinsky 124 10.05.14 22:32 Сейчас в теме
(5) gislink,
про "enddo" забыл ;-)

Это исправил, лишний пробел был в проверочной строке
6. gislink 36 07.05.14 12:07 Сейчас в теме
А вот вопрос еще гложет: по-моему лишнего там span-ов открывается/закрывается. Если одно слово красным, и другое за ним красным - зачем перед пробелом закрывать старый span, а после открывать новый точно такой же, пробел то пофиг каким цветом рисовать.
7. gislink 36 07.05.14 12:13 Сейчас в теме
хехе, а если в строках попадаются спецсимволы HTML (типа "&" или " ") - то ваще беда, да...
8. gislink 36 07.05.14 12:14 Сейчас в теме
+(7) похоже и у Инфостарта та же проблема, я писал &a_m_p; и &n_b_s_p; ;-)
14. bashinsky 124 10.05.14 22:57 Сейчас в теме
(7) gislink,
хехе, а если в строках попадаются спецсимволы HTML (типа "&" или " ") - то ваще беда, да...

Можно пример?
20. gislink 36 12.05.14 11:31 Сейчас в теме
(14)

ну например такой код (символы подчеркивания надо убрать):

а = "<html>&n_b_s_p;</html>";

переведет как:

а = "<html> </html>";

что конечно же неправильно.

9. gislink 36 07.05.14 12:20 Сейчас в теме
с датами в одинарных кавычках беда.
15. bashinsky 124 10.05.14 22:58 Сейчас в теме
(9) gislink,
с датами в одинарных кавычках беда.

Исправлено
22. gislink 36 12.05.14 11:40 Сейчас в теме
(15)

ну может и исправлено, конечно, если такой код

а = "'20140505'";

должен раскрашиваться так, как он это делает у Вас.
23. bashinsky 124 12.05.14 12:51 Сейчас в теме
(22) gislink, это поправил.
И добавил возможность использовать html-код спецсимволов в строках. В "Результат" выводится пока не правильно, а вот если "Код для вставки" вставить в исходную страницу, то будет все норм.
24. gislink 36 12.05.14 13:17 Сейчас в теме
(23)

теперь с переносом строк фигня:

а = "20140505
|";

точка с запятой черная.
10. pro1c@inbox.ru 173 07.05.14 12:44 Сейчас в теме
Возьмите CopyPaster1C, там все раскрашено!
http://infostart.ru/public/199364/
21. gislink 36 12.05.14 11:33 Сейчас в теме
+(21) и заодно в поле "
Код 1С для раскраски (мах 30000 символов):" текст тоже изменится.
У меня есть код 1С, который формирует HTML текст, и для такого кода Ваш сервис не годится.
25. webester 29 14.05.14 10:01 Сейчас в теме
Харе ерундой заниматься http://26226.selcdn.ru/paint_1c/ буквально пару часов. Включая гугл, чтение документации и тд. Вот тебе и исходники и регулярные выражения(хочешь подсвети к примеру параметры в функции желтеньким или свои копирайты оранжевым). А еще на офсайте 17тем оформления. Спасибо andrewks он дописал правила до идеальных у него там еще для 77 и для запросов есть. Какой смысл велосипеды городить?
26. bashinsky 124 14.05.14 11:58 Сейчас в теме
(25) webester, Вот тебе и альтернатива. Что же вы раньше это не написали, а то пришлось свое выдумывать.
27. webester 29 14.05.14 15:50 Сейчас в теме
Мне казалось любой благородный дон, должен провести в гугле какое то время прежде чем начать писать велосипед. Если пошерстить гугл хотя бы полчасика, решение всплывает. Еще есть Pygments и SyntaxHighlighter для последних двух правда синтаксис написан энтузиастами, но он есть.
28. bashinsky 124 15.05.14 09:42 Сейчас в теме
(27) webester, провел не один час в гугле в поисках истины, но нашел только заготовки, а сидеть и разбираться в чужом коде, да еще на неизвестном мне пока языке, как-то не хотелось, пришлось делать свое. Да и в дальнейшем внести изменения туда будет проще.
29. webester 29 15.05.14 13:53 Сейчас в теме
(28)странно, очень странно я прям так и написал "подсветка синтаксиса 1с", получил очень много постов как прикрутить расцветку к Notepad++, убрал из выдачи все результаты где есть слово "Notepad++" по третьей ссылке получил нужный результат. Через 15 минут у меня на руках был модуль который раскрашивает код 1С. Результат меня не удовлетворил. Родные правила не раскрашивали скобки и еще какой то был глюк. Через 15минут я нашел сайт где andrewks дает ссылку на свой форк этого проекта. Там все работает как надо, ну или почти как надо. Собственно все. Страничка уже дело техники.
30. kg_am 127 16.06.14 17:54 Сейчас в теме
Спасибо. Не слушайте тех, кто выступает против изобретения велосипедов. Как только люди перестанут изобретать велосипеды, почти сразу придётся пересаживаться на самокаты :)

Вот бы ещё раскраску для языка запросов...
31. webester 29 22.07.14 07:25 Сейчас в теме
(30)Ну ну, и вместо 1с у вас самописка, конечно же да? На тему раскраски языка запросов, по ссылкам выше, раскраска языка запросов есть, ее просто надо прикрутить. Сколько потратил бы времени автор, что бы это реализовать? Достаточно много, что бы свести к нулю смысл этого действия.
32. dark_wolf 13 05.08.14 10:06 Сейчас в теме
Параметры в запросах "&Параметр" при раскраске делает "& amp;Параметр".
А так суперская штука, не раз выручала.
33. bashinsky 124 29.08.14 16:31 Сейчас в теме
(32) dark_wolf, в итоговой странице должно выводится правильно без amp
34. v.l. 25.08.15 13:11 Сейчас в теме
Автор уже много собрал интересных алгоритмов и решения, которые раскрашивали онлайн?
Поделись, а?
35. darkmessiahan 81 03.02.16 14:24 Сейчас в теме
Happy end
Сайт заблокирован хостинг-провайдером.
36. pro1c@inbox.ru 173 03.02.16 23:43 Сейчас в теме
вот вам и облака!
у знакомых также crm систему облачную рубанули!
не буду говорить какую, чтобы не рекламировать!
37. serg__k 78 13.07.16 10:41 Сейчас в теме
К сожалению "бобик сдох"...
пользуюсь этим
https://softonit.ru/free/highlights1c/
39. CaSH_2004 354 31.10.16 21:46 Сейчас в теме
(37) Походу еще один "бобик сдох"?
Зашел, вставил код и получил вот это:
Сообщить("тест");

Код получил весь синим - по тегам видно что он и не пытался ничего раскрасить. Или я что то не так понял? Кнопка одна, режима 2 - проверил оба - результат все тот же синий текст.

В общем программисты не справились с попыткой упростить жизнь другим программистам через онлайн :( Оффлайн продолжает рулить!
Если у кого есть еще варианты просьба поделится.

Пока что пользуюсь тут вставкой кода для получения текста :)
40. YPermitin 2624 15.01.17 12:32 Сейчас в теме
(39) попробуйте вот это: http://www.develplatform.ru/OneC/Online-instruments/1C-Syntax-Highlighter

Баги еще есть, если найдете еще ошибки, то прошу написать сюда
https://github.com/YPermitin/Brush-and-theme-of-1C-Enterprise-for-SyntaxHighlighter/issues

Рано или поздно исправлю =)
Ну или кидайте pull-request'ы со своим решением.
38. bashinsky 124 02.10.16 11:31 Сейчас в теме
Выложил скрипт раскраски. Пользуйтесь кому надо.
Оставьте свое сообщение