https://github.com/1c-syntax/1c-syntax
Syntax definition rules for 1C:Enterprise 8 in TextMate format
https://github.com/1c-syntax/1c-syntax
Last synced: 3 months ago
JSON representation
Syntax definition rules for 1C:Enterprise 8 in TextMate format
- Host: GitHub
- URL: https://github.com/1c-syntax/1c-syntax
- Owner: 1c-syntax
- License: mit
- Fork: true (nixel2007/1c-syntax)
- Created: 2015-12-03T10:08:23.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-05-30T14:01:09.000Z (about 2 years ago)
- Last Synced: 2024-08-10T14:02:32.907Z (11 months ago)
- Language: 1C Enterprise
- Homepage:
- Size: 365 KB
- Stars: 120
- Watchers: 30
- Forks: 25
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-1c - 1C Syntax Highlight - поддержка 1С в редакторах Atom, VSC, Sublime (Подсветка синтаксиса и пакеты для редакторов)
- awesome-1c - 1c-syntax - Syntax definition rules for 1C:Enterprise 8 in TextMate format (Репозитории / Репозитории сообщества)
README
# 1c-syntax
[](https://gitter.im/xDrivenDevelopment/1c-syntax?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://travis-ci.org/1c-syntax/1c-syntax)Syntax definition rules for 1C:Enterprise 8 for tmLanguage-based text editors (Sublime Text, Atom and VS Code).
## Цель репозитория
Данный репозиторий создан для консолидации работ по развитию пакетов, добавляющих поддержку языка 1С:Предприятие 8 для текстовых редакторов [Atom](https://atom.io/), [Sublime Text](http://www.sublimetext.com/) и [Visual Studio Code](https://www.visualstudio.com/en-us/products/code-vs.aspx).
Под каждый из редакторов создан отдельный репозиторий и опубликован соответствующий пакет на площадке распространения пакетов:| Репозиторий | Пакет |
|:---:|:---:|
| [Sublime Text](https://github.com/1c-syntax/sublime-language-1c-bsl) | [Package control](https://packagecontrol.io/packages/Language%201C%20(BSL)) |
| [Atom](https://github.com/1c-syntax/atom-language-1c-bsl) | [Atom.io/packages](https://atom.io/packages/language-1c-bsl) |
| [VS Code](https://github.com/1c-syntax/vsc-language-1c-bsl) | [Marketplace](https://marketplace.visualstudio.com/items/xDrivenDevelopment.language-1c-bsl) |Разработка описания грамматики языка на основе [формата TextMate](http://manual.macromates.com/en/language_grammars) ведется в специальном [YAML-файле](https://github.com/1c-syntax/1c-syntax/blob/master/1c.YAML-tmLanguage), описание которого и примеры использования вы можете найти [здесь](http://docs.sublimetext.info/en/latest/extensibility/syntaxdefs.html).
## Связи с другими проектами
Проект 1c-syntax не органичивается репозиториями с описанием грамматики. В рамках наших активностей так же выполнялись/выполняются работы по направлениям:
* Подсветка синтаксиса для Github: библиотека [linguist](https://github.com/github/linguist)
* Подсветка синтаксиса GitLab: библиотека [rouge](https://github.com/jneen/rouge) и братский проект [1c-syntax-for-GitLab](https://github.com/karnilaev/1c-syntax-for-GitLab)
* Подсветка синтаксиса в редакторе Ace: репозиторий [ace](https://github.com/ajaxorg/ace)
* Подсветка синтаксиса в редакторе Vim: репозиторий [vim-language-1c-bsl](https://github.com/andreevlex/vim-language-1c-bsl) за авторством [@andreevlex](https://github.com/andreevlex)
* Подсветка синтаксиса в редакторах с поддержкой GtkSourceView: библиотека [GtkSourceView](https://wiki.gnome.org/Projects/GtkSourceView), репозиторий [gtksourceview-1c-bsl](https://github.com/andreevlex/gtksourceview-1c-bsl)
* Запуск скриптов OneScript в редакторе Atom: пакеты [atom-script](https://github.com/rgbkrk/atom-script) и [atom-build](https://github.com/noseglid/atom-build)
* Модули подсветки [brush-bsl](https://github.com/leoniv/brush-bsl)
и [brush-sdbl](https://github.com/leoniv/brush-sdbl) для js библиотеки
[syntaxhighlighter](https://github.com/syntaxhighlighter/syntaxhighlighter). Эти модули должны работать в JIRA.Планируются работы по направлениям:
* Подсветка синтаксиса в редакторе CodeMirror - для поддержки подсветки в git-сервере BitBucket
* Обновление подсветки в редакторе Highlight.js - для улучшенной поддержки подсветки в git-сервере Gogs и приведения идентификаторов языка к единому виду## Дополнительные возможности
Помимо, собственно, грамматики, мы пытаемся добавить в редакторы дополнительные
возможности, которые могут упростить работу с 1С.
На данный момент список таких фич выглядит вот так:| Функциональность \ Поддержка в редакторах | [Atom](https://github.com/1c-syntax/atom-language-1c-bsl) | [Sublime Text](https://github.com/1c-syntax/sublime-language-1c-bsl) | [VS Code](https://github.com/1c-syntax/vsc-language-1c-bsl) |
|---|:---:|:---:|:---:|
| Подсветка текста запроса внутри модуля и отдельно | Есть | Есть | Есть |
| Блочное комментирование через `//` | Есть | Есть | Есть |
| Список процедур и функций текущего файла | Есть | Есть | Есть |
| Список процедур и функций рабочего каталога | Есть | Есть | Есть |
| Переход к определению процедур и функций | Есть | Есть | Есть |
| Автодополнение процедур и функций глобального контекста | Есть | Есть | Есть |
| Автодополнение процедур и функций, уникальных для OneScript | Нет | Нет | Есть |
| Сниппеты (шаблоны текста) | [Есть](https://github.com/1c-syntax/1c-syntax/issues/110) | Есть | Есть |
| Использование автоматических отступов по ключевым словам | Есть | Есть | Есть |
| Автоматическое выравнивание блока кода или файла целиком | Есть | Есть | Есть |
| Разворачивание конструкций вида `++`/`+=` и подобных по нажатию `Tab` | Есть | Есть | Есть |
| Автоматическое добавление символа | при добавлении новой строки во время редактирования строкового литерала | Есть | Есть | Есть |
| Автоматическое добавление символов `//` при добавлении новой строки во время редактирования комментария по нажатию `Shift-Enter` | Есть | Есть | Есть |
| Запуск скриптов `.os`/`.bsl` с помощью OneScript | Есть | Есть | Есть |
| Линтер на базе `oscript -check` | Есть | Есть | Есть |
| Использование отступов в виде 4х-символьных табов | Есть | Есть | Есть |
| Поиск мест использования процедур | Нет | Нет | Есть |
| Информация о процедуре | Нет | Нет | Есть |
| Предварительный просмотр определения процедуры | Нет | Нет | Есть |
| Автодополнение через точку | Нет | Нет | Есть |
| Подсказка по параметрам процедур | Нет | Нет | Есть |
| Поиск определения | Нет | Нет | Есть |
| Поддержка английского языка конфигурации | Нет | Нет | Есть |
| Создание описания метода | Нет | Нет | Есть |
| Синтакс-помощник по функциям глобального контекста | Нет | Нет | Есть |
| Синтакс-помощник по методам oscript | Нет | Нет | Есть |
| Автоматическая вставка скобок | Нет | Нет | Есть |
| Динамические шаблоны | Нет | Нет | Есть |Информацию об использовании каждой из возможностей вы найдете в README
соответствующего редактора.## Сотрудничество
Если вы разработчик и хотите помочь с разработкой пакетов и/или грамматикой, пожалуйста, ознакомьтесь с [гайдом для разработчиков](https://github.com/1c-syntax/1c-syntax/blob/master/CONTRIBUTING.md).
Уже поставленные задачи по разработке можно найти на странице [Issues](https://github.com/1c-syntax/1c-syntax/issues) данного репозитория.