File tree Expand file tree Collapse file tree 7 files changed +44
-3
lines changed
java/com/github/_1c_syntax/bsl/languageserver/diagnostics
resources/com/github/_1c_syntax/bsl/languageserver
test/java/com/github/_1c_syntax/bsl/languageserver/diagnostics Expand file tree Collapse file tree 7 files changed +44
-3
lines changed Original file line number Diff line number Diff line change 44 :-: | :-: | :-: | :-: | :-: | :-:
55 ` Дефект кода ` | ` BSL ` | ` Информационный ` | ` Да ` | ` 1 ` | ` standard `
66
7+ ## Параметры
8+
9+ Имя | Тип | Описание | Значение по умолчанию
10+ :-: | :-: | :-- | :-:
11+ ` checkUnknownModuleType ` | ` Строка ` | ``` Проверять неизвестные типы модулей ``` | ``` false ```
12+
713<!-- Блоки выше заполняются автоматически, не трогать -->
814## Описание диагностики
915<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->
6571### Параметр конфигурационного файла
6672
6773``` json
68- "CodeOutOfRegion" : false
74+ "CodeOutOfRegion" : {
75+ "checkUnknownModuleType" : " false"
76+ }
6977```
Original file line number Diff line number Diff line change 44 :-: | :-: | :-: | :-: | :-: | :-:
55 ` Code smell ` | ` BSL ` | ` Info ` | ` Yes ` | ` 1 ` | ` standard `
66
7+ ## Parameters
8+
9+ Name | Type | Description | Default value
10+ :-: | :-: | :-- | :-:
11+ ` checkUnknownModuleType ` | ` String ` | ``` Check unknown module type ``` | ``` false ```
12+
713<!-- Блоки выше заполняются автоматически, не трогать -->
814## Description
915
@@ -69,5 +75,7 @@ RU | EN
6975### Parameter for config
7076
7177``` json
72- "CodeOutOfRegion" : false
78+ "CodeOutOfRegion" : {
79+ "checkUnknownModuleType" : " false"
80+ }
7381```
Original file line number Diff line number Diff line change 2525import com .github ._1c_syntax .bsl .languageserver .context .symbol .RegionSymbol ;
2626import com .github ._1c_syntax .bsl .languageserver .diagnostics .metadata .DiagnosticCompatibilityMode ;
2727import com .github ._1c_syntax .bsl .languageserver .diagnostics .metadata .DiagnosticMetadata ;
28+ import com .github ._1c_syntax .bsl .languageserver .diagnostics .metadata .DiagnosticParameter ;
2829import com .github ._1c_syntax .bsl .languageserver .diagnostics .metadata .DiagnosticScope ;
2930import com .github ._1c_syntax .bsl .languageserver .diagnostics .metadata .DiagnosticSeverity ;
3031import com .github ._1c_syntax .bsl .languageserver .diagnostics .metadata .DiagnosticTag ;
5657 compatibilityMode = DiagnosticCompatibilityMode .COMPATIBILITY_MODE_8_3_1
5758)
5859public class CodeOutOfRegionDiagnostic extends AbstractVisitorDiagnostic {
60+ private static final boolean CHECK_UNKNOWN_MODULE_TYPE = false ;
5961 private final List <Range > regionsRanges = new ArrayList <>();
6062
63+ @ DiagnosticParameter (
64+ type = String .class ,
65+ defaultValue = "" + CHECK_UNKNOWN_MODULE_TYPE
66+ )
67+ private boolean checkUnknownModuleType = CHECK_UNKNOWN_MODULE_TYPE ;
68+
6169 @ Override
6270 public ParseTree visitFile (BSLParser .FileContext ctx ) {
6371
6472 // Для неизвестных модулей не будем требовать нахождения кода в области
65- if (documentContext .getModuleType () == ModuleType .UNKNOWN ) {
73+ if (documentContext .getModuleType () == ModuleType .UNKNOWN && ! checkUnknownModuleType ) {
6674 return ctx ;
6775 }
6876
Original file line number Diff line number Diff line change 5252 " object"
5353 ],
5454 "title" : " Code out of region" ,
55+ "properties" : {
56+ "checkUnknownModuleType" : {
57+ "description" : " Check unknown module type" ,
58+ "default" : " false" ,
59+ "type" : " string" ,
60+ "title" : " Check unknown module type"
61+ }
62+ },
5563 "$id" : " #/definitions/CodeOutOfRegion"
5664 },
5765 "CognitiveComplexity" : {
Original file line number Diff line number Diff line change 11diagnosticMessage =Move code to region
22diagnosticName =Code out of region
3+ checkUnknownModuleType =Check unknown module type
Original file line number Diff line number Diff line change 11diagnosticMessage =Переместите код в область
22diagnosticName =Код расположен вне области
3+ checkUnknownModuleType =Проверять неизвестные типы модулей
Original file line number Diff line number Diff line change @@ -78,6 +78,13 @@ void testNoRegions() {
7878 void testNoRegionsUnknown () {
7979 var diagnostics = getDiagnostics ("CodeOutOfRegionDiagnosticNoRegions" , ModuleType .UNKNOWN );
8080 assertThat (diagnostics ).isEmpty ();
81+
82+ var configuration = diagnosticInstance .getInfo ().getDefaultConfiguration ();
83+ configuration .put ("checkUnknownModuleType" , true );
84+ diagnosticInstance .configure (configuration );
85+
86+ diagnostics = getDiagnostics ("CodeOutOfRegionDiagnosticNoRegions" , ModuleType .UNKNOWN );
87+ assertThat (diagnostics ).isNotEmpty ();
8188 }
8289
8390 @ Test
You can’t perform that action at this time.
0 commit comments