Реализация Language Server Protocol для языка 1C (BSL)
Реализация протокола language server protocol для языка 1C (BSL) - языка 1С:Предприятие 8 и OneScript.
Сайт проекта - https://1c-syntax.github.io/bsl-language-server
Замеры производительности - SSL 3.1
Перем)
#Область,
#Если, процедуры и функции, блоки кода
Запуск jar-файлов осуществляется через
java -jar path/to/file.jar.
java -jar bsl-language-server.jar --helpBSL language server Usage: bsl-language-server [-h] [-c=] [COMMAND [ARGS]] -c, --configuration= Path to language server configuration file -h, --help Show this help message and exit Commands: analyze, -a, --analyze Run analysis and get diagnostic info format, -f, --format Format files in source directory version, -v, --version Print version lsp, --lsp LSP server mode (default)
При запуске BSL Language Server в обычном режиме будет запущен сам Language Server, взаимодействующий по протоколу LSP. Для взаимодействия используются stdin и stdout.
По умолчанию тексты диагностик выдаются на русском языке. Для переключения языка сообщений от движка диагностик необходимо настроить параметр
diagnosticLanguageв конфигурационном файле или вызвав событие
workspace/didChangeConfiguration:
Для запуска в режиме анализа используется параметр
--analyze(сокращенно
-a).
Usage: bsl-language-server analyze [-hq] [-c=] [-o=] [-s=] [-r=]... Run analysis and get diagnostic info -c, --configuration= Path to language server configuration file -h, --help Show this help message and exit -o, --outputDir= Output report directory -q, --silent Silent mode -r, --reporter= Reporter key (console, junit, json, tslint, generic) -s, --srcDir= Source directory -w, --workspaceDir= Workspace directory
Для указания каталога расположения анализируемых исходников используется параметр
--srcDir(сокращенно
-s), за которым следует путь (относительный или абсолютный) к каталогу исходников. Для формирования отчета об анализе требуется указать один или "репортеров". Для указания репортера используется параметр
--reporter(сокращенно
-r), за которым следует ключ репортера. Допустимо указывать несколько репортеров. Список репортетов см. в разделе Репортеры.
Пример строки запуска анализа:
java -jar bsl-language-server.jar --analyze --srcDir ./src/cf --reporter json
При анализе больших исходников рекомендуется дополнительно указывать параметр -Xmx, отвечающий за предел оперативной памяти для java процесса. Размер выделяемой памяти зависит от размера анализируемой кодовой базы.
java -Xmx4g -jar bsl-language-server.jar ...остальные параметры
Для запуска в режиме форматтера используется параметр
--format(сокращенно
-f).
Usage: bsl-language-server format [-hq] [-s=] Format files in source directory -h, --help Show this help message and exit -q, --silent Silent mode -s, --src= Source directory or file
Для указания каталога расположения форматируемых исходников (или файла) используется параметр
--src(сокращенно
-s), за которым следует путь (относительный или абсолютный) к каталогу исходников (или файлу).
Пример строки запуска форматирования:
java -jar bsl-language-server.jar --format --src ./src/cf
Огромное спасибо всем контрибьюторам проекта, всем участвовавшим в обсуждениях, помогавшим с тестированием.
Вы потрясающие!
Спасибо компаниям, поддерживающим проекты с открытым исходным кодом, а особенно тем, кто поддержали нас:
Создатель инновационных и интеллектуальных инструментов для профилирования приложений
Javaи
.NETYourKit, LLC любезно предоставил нам лицензии на продукт
YourKit Java Profiler.
С помощью
YourKit Java Profilerмы мониторим и улучшаем производительность проекта.
Создатель профессиональных инструментов разработки программного обеспечения, инновационных и мощных, JetBrains поддержал наш проект, предоставив лицензии на свои продукты, в том числе на
IntelliJ IDEA Ultimate.
IntelliJ IDEA Ultimateодин из лучших инструментов в своем классе.
После реализации построения контекста:
Дополнительно: