diff --git a/.bsl-language-server.json b/.bsl-language-server.json new file mode 100644 index 0000000..25f8662 --- /dev/null +++ b/.bsl-language-server.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json", + "diagnostics": { + "FunctionNameStartsWithGet": true, + "TooManyReturns": true, + "UsingSynchronousCalls": true + } +} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 1148057..7329b2d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ git: depth: false env: - - PLUGIN_VERSION="0.13.0" + - PLUGIN_VERSION="0.14.0" script: - mvn clean test verify sonar:sonar -f build/pom.xml -s build/settings.xml -Dsonar.projectKey=$SONAR_PROJECT_KEY diff --git "a/BSLLanguageServer/src/Catalogs/\320\234\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/BSLLanguageServer/src/Catalogs/\320\234\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" index 5437464..48757ae 100644 --- "a/BSLLanguageServer/src/Catalogs/\320\234\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" +++ "b/BSLLanguageServer/src/Catalogs/\320\234\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -1,3 +1,5 @@ +Перем CodeBlockBeforeSub; + #Область КвикФиксы &НаКлиенте @@ -18,3 +20,15 @@ КонецПроцедуры #КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +CodeBlockBeforeSub = Ложь; + +Процедура CodeBlockBeforeSub() + + CodeBlockBeforeSub = Истина; + +КонецПроцедуры + +#КонецОбласти diff --git "a/BSLLanguageServer/src/CommonModules/BSLLS_\320\224\320\270\320\260\320\263\320\275\320\276\321\201\321\202\320\270\320\272\320\270/Module.bsl" "b/BSLLanguageServer/src/CommonModules/BSLLS_\320\224\320\270\320\260\320\263\320\275\320\276\321\201\321\202\320\270\320\272\320\270/Module.bsl" index aecc49f..9fdc6cd 100644 --- "a/BSLLanguageServer/src/CommonModules/BSLLS_\320\224\320\270\320\260\320\263\320\275\320\276\321\201\321\202\320\270\320\272\320\270/Module.bsl" +++ "b/BSLLanguageServer/src/CommonModules/BSLLS_\320\224\320\270\320\260\320\263\320\275\320\276\321\201\321\202\320\270\320\272\320\270/Module.bsl" @@ -15,6 +15,12 @@ КонецПроцедуры +Процедура DeprecatedTypeManagedForm(А) Экспорт + + А = Тип("УправляемаяФорма"); + +КонецПроцедуры + Процедура EmptyStatement(А) Экспорт А = 1; ; @@ -274,6 +280,12 @@ КонецПроцедуры +Функция ПолучитьFunctionNameStartsWithGet() Экспорт + + Возврат Ложь; + +КонецФункции + Процедура MagicNumber(А) Экспорт Если А = 365 Тогда @@ -521,6 +533,26 @@ КонецПроцедуры +Функция NestedFunctionInParameters1(А) Экспорт + + Возврат А; + +КонецФункции + +Функция NestedFunctionInParameters2(А) Экспорт + + Возврат А; + +КонецФункции + +Процедура NestedFunctionInParameters3(А) Экспорт + + А.Вставить("А", + NestedFunctionInParameters1( + NestedFunctionInParameters2(Истина))); + +КонецПроцедуры + Процедура NestedStatements(А) Экспорт Если Истина Тогда @@ -636,6 +668,12 @@ КонецПроцедуры +Процедура TempFilesDir(А) Экспорт + + А = КаталогВременныхФайлов(); + +КонецПроцедуры + &НаСервере Процедура TimeoutsInExternalResources(А, Б) Экспорт @@ -706,6 +744,15 @@ КонецПроцедуры +&НаСервере +Процедура UsingExternalCodeTools() Экспорт + + ВнешниеОтчеты.Подключить("А"); + ВнешниеОбработки.Создать("А"); + РасширенияКонфигурации.Создать(); + +КонецПроцедуры + &НаСервере Процедура UsingFindElementByString(А) Экспорт @@ -752,6 +799,15 @@ КонецПроцедуры +&НаСервере +Процедура WrongUseOfRollbackTransactionMethod() Экспорт + + НачатьТранзакцию(); + + ОтменитьТранзакцию(); + +КонецПроцедуры + Процедура YoLetterUsage(А, Ё) Экспорт А = 1; diff --git a/README.md b/README.md index 8c89dd7..e98c5b6 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# dt.bslls.validator [![Build Status](https://travis-ci.org/DoublesunRUS/ru.capralow.dt.bslls.validator.svg)](https://travis-ci.org/DoublesunRUS/ru.capralow.dt.bslls.validator) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=DoublesunRUS_ru.capralow.dt.bslls.validator&metric=alert_status)](https://sonarcloud.io/dashboard?id=DoublesunRUS_ru.capralow.dt.bslls.validator) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=DoublesunRUS_ru.capralow.dt.bslls.validator&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=DoublesunRUS_ru.capralow.dt.bslls.validator) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=DoublesunRUS_ru.capralow.dt.bslls.validator&metric=coverage)](https://sonarcloud.io/dashboard?id=DoublesunRUS_ru.capralow.dt.bslls.validator) +# dt.bslls.validator [![Build Status](https://travis-ci.com/DoublesunRUS/ru.capralow.dt.bslls.validator.svg)](https://travis-ci.com/DoublesunRUS/ru.capralow.dt.bslls.validator) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=DoublesunRUS_ru.capralow.dt.bslls.validator&metric=alert_status)](https://sonarcloud.io/dashboard?id=DoublesunRUS_ru.capralow.dt.bslls.validator) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=DoublesunRUS_ru.capralow.dt.bslls.validator&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=DoublesunRUS_ru.capralow.dt.bslls.validator) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=DoublesunRUS_ru.capralow.dt.bslls.validator&metric=coverage)](https://sonarcloud.io/dashboard?id=DoublesunRUS_ru.capralow.dt.bslls.validator) ## BSL проверки для [1C:Enterprise Development Tools](http://v8.1c.ru/overview/IDE/) 1.16 Минимальная версия EDT: 1.16.0 -Текущий релиз в ветке [master: 0.13.0](https://github.com/DoublesunRUS/ru.capralow.dt.bslls.validator/tree/master).
+Текущий релиз в ветке [master: 0.14.0](https://github.com/DoublesunRUS/ru.capralow.dt.bslls.validator/tree/master).
Разработка ведется в ветке [dev](https://github.com/DoublesunRUS/ru.capralow.dt.bslls.validator/tree/dev).
В данном репозитории хранятся только исходники.
@@ -15,7 +15,7 @@ ### BSL Language Server Плагин использует [BSL Language Server](https://github.com/1c-syntax/bsl-language-server) в соответствии с [лицензией](https://github.com/1c-syntax/bsl-language-server/blob/develop/COPYING.md).
-В состав плагина включена версия 0.13.0
+В состав плагина включена версия 0.14.1
Список диагностик можно посмотреть на [официальном сайте](https://1c-syntax.github.io/bsl-language-server/diagnostics) сервера. ### Возможности @@ -32,6 +32,7 @@ * UsingServiceTag Диагностики есть в EDT: +* CodeBlockBeforeSub * FunctionShouldHaveReturn * ProcedureReturnsValue * UnknownPreprocessorSymbol diff --git a/build/pom.xml b/build/pom.xml index a671777..4f6beb4 100644 --- a/build/pom.xml +++ b/build/pom.xml @@ -6,7 +6,7 @@ 4.0.0 ru.capralow.dt.bslls.validator build - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT pom BSL проверки для EDT @@ -56,7 +56,7 @@ ru.capralow.dt.bslls.validator.target default - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT diff --git a/repository/category.xml b/repository/category.xml index 647064a..fee9d95 100644 --- a/repository/category.xml +++ b/repository/category.xml @@ -1,6 +1,6 @@ - + diff --git a/repository/pom.xml b/repository/pom.xml index 1998a40..86a8a70 100644 --- a/repository/pom.xml +++ b/repository/pom.xml @@ -8,7 +8,7 @@ ru.capralow.dt.bslls.validator build - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT ../build/pom.xml diff --git a/ru.capralow.dt.bslls.validator.plugin.feature/feature.xml b/ru.capralow.dt.bslls.validator.plugin.feature/feature.xml index f9390d0..27d5a31 100644 --- a/ru.capralow.dt.bslls.validator.plugin.feature/feature.xml +++ b/ru.capralow.dt.bslls.validator.plugin.feature/feature.xml @@ -2,7 +2,7 @@ @@ -16,7 +16,7 @@ BSD 3-Clause License -Copyright (c) 2019, Александр Капралов +Copyright (c) 2019-2020, Alexander Kapralov All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/ru.capralow.dt.bslls.validator.plugin.feature/pom.xml b/ru.capralow.dt.bslls.validator.plugin.feature/pom.xml index abcd695..e793220 100644 --- a/ru.capralow.dt.bslls.validator.plugin.feature/pom.xml +++ b/ru.capralow.dt.bslls.validator.plugin.feature/pom.xml @@ -7,7 +7,7 @@ ru.capralow.dt.bslls.validator build - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT ../build/pom.xml ru.capralow.dt.bslls.validator diff --git a/ru.capralow.dt.bslls.validator.plugin.ui/META-INF/MANIFEST.MF b/ru.capralow.dt.bslls.validator.plugin.ui/META-INF/MANIFEST.MF index fd54281..ec3f240 100644 --- a/ru.capralow.dt.bslls.validator.plugin.ui/META-INF/MANIFEST.MF +++ b/ru.capralow.dt.bslls.validator.plugin.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: ru.capralow.dt.bslls.validator.plugin.ui;singleton:=true -Bundle-Version: 0.13.0.qualifier +Bundle-Version: 0.14.0.qualifier Bundle-Activator: ru.capralow.dt.bslls.validator.plugin.internal.ui.BslValidatorPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.runtime, diff --git a/ru.capralow.dt.bslls.validator.plugin.ui/bsl-language-server.jar b/ru.capralow.dt.bslls.validator.plugin.ui/bsl-language-server.jar index 350df11..2dd7b95 100644 Binary files a/ru.capralow.dt.bslls.validator.plugin.ui/bsl-language-server.jar and b/ru.capralow.dt.bslls.validator.plugin.ui/bsl-language-server.jar differ diff --git a/ru.capralow.dt.bslls.validator.plugin.ui/plugin_ru.properties b/ru.capralow.dt.bslls.validator.plugin.ui/plugin_ru.properties index 1096c84..3715c25 100644 --- a/ru.capralow.dt.bslls.validator.plugin.ui/plugin_ru.properties +++ b/ru.capralow.dt.bslls.validator.plugin.ui/plugin_ru.properties @@ -1,4 +1,4 @@ pluginName = BSL LS \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0434\u043B\u044F EDT -providerName = \u041A\u0430\u043F\u0440\u0430\u043B\u043E\u0432 \u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440 \u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440\u0432\u0438\u0447 +providerName = \u041A\u0430\u043F\u0440\u0430\u043B\u043E\u0432 \u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440 \u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440\u043E\u0432\u0438\u0447 diff --git a/ru.capralow.dt.bslls.validator.plugin.ui/pom.xml b/ru.capralow.dt.bslls.validator.plugin.ui/pom.xml index b7d7a90..b286cf2 100644 --- a/ru.capralow.dt.bslls.validator.plugin.ui/pom.xml +++ b/ru.capralow.dt.bslls.validator.plugin.ui/pom.xml @@ -7,7 +7,7 @@ ru.capralow.dt.bslls.validator build - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT ../build/pom.xml eclipse-plugin diff --git a/ru.capralow.dt.bslls.validator.plugin.ui/src/ru/capralow/dt/bslls/validator/plugin/internal/ui/BslValidator.java b/ru.capralow.dt.bslls.validator.plugin.ui/src/ru/capralow/dt/bslls/validator/plugin/internal/ui/BslValidator.java index e731d1d..b8fffb3 100644 --- a/ru.capralow.dt.bslls.validator.plugin.ui/src/ru/capralow/dt/bslls/validator/plugin/internal/ui/BslValidator.java +++ b/ru.capralow.dt.bslls.validator.plugin.ui/src/ru/capralow/dt/bslls/validator/plugin/internal/ui/BslValidator.java @@ -43,6 +43,7 @@ import com.github._1c_syntax.bsl.languageserver.context.DocumentContext; import com.github._1c_syntax.bsl.languageserver.context.ServerContext; import com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic; +import com.github._1c_syntax.bsl.languageserver.diagnostics.CodeBlockBeforeSubDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.DiagnosticSupplier; import com.github._1c_syntax.bsl.languageserver.diagnostics.FunctionShouldHaveReturnDiagnostic; import com.github._1c_syntax.bsl.languageserver.diagnostics.LineLengthDiagnostic; @@ -114,6 +115,12 @@ private LanguageServerConfiguration initializeLsConfiguration(IProject project) if (!configurationFile.exists()) configurationFile = new File(getConfigurationFilePath() + File.separator + BSL_LS_FILENAME); + if (configurationFile.exists()) { + String initializationMessage = BSL_LS_PREFIX.concat("Конфигурационный файл: ") //$NON-NLS-1$ + .concat(configurationFile.getPath()); + BslValidatorPlugin.log(BslValidatorPlugin.createInfoStatus(initializationMessage)); + } + LanguageServerConfiguration lsConfiguration = LanguageServerConfiguration.create(configurationFile); Map>> diagnostics = lsConfiguration.getDiagnostics(); @@ -128,6 +135,7 @@ private LanguageServerConfiguration initializeLsConfiguration(IProject project) duplicateDiagnostics.add(UsingServiceTagDiagnostic.class); // Диагностики есть в EDT + duplicateDiagnostics.add(CodeBlockBeforeSubDiagnostic.class); duplicateDiagnostics.add(FunctionShouldHaveReturnDiagnostic.class); duplicateDiagnostics.add(ProcedureReturnsValueDiagnostic.class); duplicateDiagnostics.add(UnknownPreprocessorSymbolDiagnostic.class); @@ -136,7 +144,7 @@ private LanguageServerConfiguration initializeLsConfiguration(IProject project) // В настройках можно принудительно включить выключенные диагностики for (Class diagnostic : duplicateDiagnostics) { DiagnosticInfo diagnosticInfo = new DiagnosticInfo(diagnostic, lsConfiguration.getDiagnosticLanguage()); - String diagnocticCode = diagnosticInfo.getCode(); + String diagnocticCode = diagnosticInfo.getCode().getStringValue(); if (!diagnostics.containsKey(diagnocticCode)) diagnostics.put(diagnocticCode, falseForLeft); } diff --git a/target/pom.xml b/target/pom.xml index e0a00e2..ddeb357 100644 --- a/target/pom.xml +++ b/target/pom.xml @@ -7,7 +7,7 @@ ru.capralow.dt.bslls.validator build - 0.13.0-SNAPSHOT + 0.14.0-SNAPSHOT ../build/pom.xml