Подсветка синтаксиса 1С на PHP (Highlight 1C on PHP)

18.11.12

Разработка - Разработка внешних компонент

Скрипт для компактной раскраски кода (в HTML) на 1С для PHP 5.3+ с поддержкой двуязычности, лексическим разбором и распознаванием идентификаторов глобального контекста и встроенных функций 1С.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
highlight_1c.rar
.rar 30,93Kb
30
30 Скачать (1 SM) Купить за 1 850 руб.

Шаблон раскраски

Шаблон раскраски  

Демо: Перейти (Двойной щелчок по раскрашенному коду выделяет его)
Требования: PHP 5.3+, расширение Multibyte String.
Производительность: 2500 строк/сек. на Intel Pentium 4, 3.00 GHz, PHP 5.3.6, Windows XP.
Примеры раскраски: monokai, visual studio.
Идея реализации: cyberforum.ru.

Особенности:

  1. Работает с кодировкой Windows-1251. Может понадобиться обёртка для преобразования в/из Windows-1251 до раскраски и после.
    Полностью поддерживается двуязычность.
  2. Используется лексический анализатор, а не регулярные выражения.
  3. Подсветка следующих видов лексем: строка, комментарий, число, идентификатор, зарезервированное слово, имя новой функции, глобальный идентификатор, метка, директива компиляции, инструкция препроцессора, дата, оператор, неизвестный символ.
  4. Распознаются все идентификаторы глобального контекста языка 1С, а также встроенные функции и ряд типов данных. Различаются встроенные функции и пользовательские переменные с такими же именами.
  5. Настройка раскраски осуществляется средствами css.
  6. Код разметки очень компактный за счёт использования сокращённых имён классов: a0..z9. Возможно использование пользовательских имён классов.
  7. Есть возможность преобразования табов в фиксированное количество пробелов или использование умных отступов (smart indentation).
  8. Возможность не подсвечивать обычные идентификаторы снижает размер итогового HTML кода в ~2.5 раза.

Пример использования:

require_once('1c.php');
$H = new B2Lib\Highlighter1C();
echo($H->Highlight($Code));


Настройка раскраски:

  • У экземпляров класса B2Lib\Highlighter1C есть ряд настраиваемых параметров:
    • TabsToSpaces = true; // Заменять ли табы пробелами
    • TabSize = 4; // Количество пробелов в табе: 0..32
    • SmartIdent = false; // Умный отступ: динамический размер табов
    • MarkIdents = false; // Подсвечивать ли обычные идентификаторы
    • Styles = array(...); // Массив имени стиля => имени класса css
  • Доступные имена стилей: string, comment, number, ident, resword, function, global_ident, label, directive, preprocess, date, operator, char
  • Статические массивы (имя => true) $ResWords, $GlobalIdents и $GlobalFuncs доступны для пополнения новыми идентификаторами

Содержимое архива highlighter_1c.rar:

  • src\ - Содержит исходные коды модулей раскраски 
  • monokai.css - Пример шаблона раскраски
  • visual studio.css - Пример шаблона раскраски
  • example_monokai.html - Пример раскраски
  • example_visual_studio.html - Пример раскраски 
  • index.html - Форма для демонстрации
  • template.html - Шаблон странички, генерируемой демо-скриптом
  • 1c.php - Объединённые в один файл модули раскраски
  • highlight.php - Демонстрационный скрипт

 








См. также

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77900    73    273    

191

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    29202    139    100    

92

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    37186    115    128    

116

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47726    125    66    

68

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2771    bayselonarrend    14    

48

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5564    kovalevdmv    26    

77

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1346    3    4    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kirillkr 29 19.11.12 00:16 Сейчас в теме
2. sikuda 678 30.09.19 15:32 Сейчас в теме
Что-то демка перестала работать...
Ну и свой проект оставлю для ссылки - https://www-1c.ru/wp-content/plugins/codemirror1c/
Оставьте свое сообщение