WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
9dbfe42
New translations index.md (English)
nixel2007 Dec 15, 2025
9b50626
New translations diagnostcaddsettings.md (English)
nixel2007 Dec 15, 2025
533901c
New translations diagnosticdevworkflow.md (English)
nixel2007 Dec 15, 2025
0bd140c
New translations diagnosticexample.md (English)
nixel2007 Dec 15, 2025
0ced664
New translations diagnosticstructure.md (English)
nixel2007 Dec 15, 2025
962a098
New translations diagnostictypeandseverity.md (English)
nixel2007 Dec 15, 2025
0347798
New translations eventsapi.md (English)
nixel2007 Dec 15, 2025
0105adc
New translations styleguide.md (English)
nixel2007 Dec 15, 2025
e43726c
New translations cachedpublic.md (English)
nixel2007 Dec 15, 2025
4d66edb
New translations canonicalspellingkeywords.md (English)
nixel2007 Dec 15, 2025
0520da3
New translations codeblockbeforesub.md (English)
nixel2007 Dec 15, 2025
474c2ad
New translations codeoutofregion.md (English)
nixel2007 Dec 15, 2025
53a2044
New translations commentedcode.md (English)
nixel2007 Dec 15, 2025
3987bf7
New translations commonmoduleinvalidtype.md (English)
nixel2007 Dec 15, 2025
d0fe6cc
New translations commonmodulenamefullaccess.md (English)
nixel2007 Dec 15, 2025
0fd3c7a
New translations commonmodulenameglobalclient.md (English)
nixel2007 Dec 15, 2025
1f11310
New translations commonmodulenamewords.md (English)
nixel2007 Dec 15, 2025
3fa9ccd
New translations compilationdirectiveneedless.md (English)
nixel2007 Dec 15, 2025
9506fd5
New translations crazymultilinestring.md (English)
nixel2007 Dec 15, 2025
6501398
New translations createqueryincycle.md (English)
nixel2007 Dec 15, 2025
61408c2
New translations dataexchangeloading.md (English)
nixel2007 Dec 15, 2025
0aeab4c
New translations deletingcollectionitem.md (English)
nixel2007 Dec 15, 2025
2b76bd6
New translations deprecatedattributes8312.md (English)
nixel2007 Dec 15, 2025
c3202fa
New translations deprecatedcurrentdate.md (English)
nixel2007 Dec 15, 2025
e525806
New translations deprecatedmessage.md (English)
nixel2007 Dec 15, 2025
d8d293f
New translations deprecatedmethodcall.md (English)
nixel2007 Dec 15, 2025
85cccd0
New translations deprecatedmethods8310.md (English)
nixel2007 Dec 15, 2025
0bd96e9
New translations deprecatedmethods8317.md (English)
nixel2007 Dec 15, 2025
e0e8091
New translations deprecatedtypemanagedform.md (English)
nixel2007 Dec 15, 2025
b837625
New translations duplicateregion.md (English)
nixel2007 Dec 15, 2025
0eb623a
New translations emptyregion.md (English)
nixel2007 Dec 15, 2025
614bc14
New translations executeexternalcode.md (English)
nixel2007 Dec 15, 2025
91fed37
New translations exportvariables.md (English)
nixel2007 Dec 15, 2025
093de7a
New translations formdatatovalue.md (English)
nixel2007 Dec 15, 2025
439f662
New translations fullouterjoinquery.md (English)
nixel2007 Dec 15, 2025
d08656c
New translations functionnamestartswithget.md (English)
nixel2007 Dec 15, 2025
7c6ac3e
New translations functionoutparameter.md (English)
nixel2007 Dec 15, 2025
0a76530
New translations getformmethod.md (English)
nixel2007 Dec 15, 2025
cc8f660
New translations globalcontextmethodcollision8312.md (English)
nixel2007 Dec 15, 2025
762f11c
New translations incorrectuselikeinquery.md (English)
nixel2007 Dec 15, 2025
b2d79b7
New translations incorrectuseofstrtemplate.md (English)
nixel2007 Dec 15, 2025
3b7e521
New translations invalidcharacterinfile.md (English)
nixel2007 Dec 15, 2025
30762bc
New translations isinrolemethod.md (English)
nixel2007 Dec 15, 2025
4de01f5
New translations linelength.md (English)
nixel2007 Dec 15, 2025
1f1d166
New translations logicalorinthewheresectionofquery.md (English)
nixel2007 Dec 15, 2025
bca38ac
New translations magicdate.md (English)
nixel2007 Dec 15, 2025
0fac343
New translations methodsize.md (English)
nixel2007 Dec 15, 2025
3e132f1
New translations missingcodetrycatchex.md (English)
nixel2007 Dec 15, 2025
685876f
New translations missingparameterdescription.md (English)
nixel2007 Dec 15, 2025
3484cd6
New translations missingreturnedvaluedescription.md (English)
nixel2007 Dec 15, 2025
c89f3a2
New translations missingspace.md (English)
nixel2007 Dec 15, 2025
da87d57
New translations missingtemporaryfiledeletion.md (English)
nixel2007 Dec 15, 2025
f6142d8
New translations missingvariablesdescription.md (English)
nixel2007 Dec 15, 2025
52559a6
New translations multilinestringinquery.md (English)
nixel2007 Dec 15, 2025
3ade3f9
New translations multilingualstringhasalldeclaredlanguages.md (English)
nixel2007 Dec 15, 2025
ad2c836
New translations multilingualstringusingwithtemplate.md (English)
nixel2007 Dec 15, 2025
1b1ac1c
New translations nestedfunctioninparameters.md (English)
nixel2007 Dec 15, 2025
a151434
New translations nestedstatements.md (English)
nixel2007 Dec 15, 2025
bdd1b55
New translations nestedternaryoperator.md (English)
nixel2007 Dec 15, 2025
5d9bcc3
New translations nonexportmethodsinapiregion.md (English)
nixel2007 Dec 15, 2025
1166ca8
New translations nonstandardregion.md (English)
nixel2007 Dec 15, 2025
3a84ac8
New translations numberofparams.md (English)
nixel2007 Dec 15, 2025
793b542
New translations numberofvaluesinstructureconstructor.md (English)
nixel2007 Dec 15, 2025
90a60b9
New translations onestatementperline.md (English)
nixel2007 Dec 15, 2025
40eab65
New translations ordinaryappsupport.md (English)
nixel2007 Dec 15, 2025
830ad60
New translations pairingbrokentransaction.md (English)
nixel2007 Dec 15, 2025
99dd4dd
New translations parseerror.md (English)
nixel2007 Dec 15, 2025
e609cb1
New translations refoveruse.md (English)
nixel2007 Dec 15, 2025
b91f69a
New translations selecttopwithoutorderby.md (English)
nixel2007 Dec 15, 2025
5f57183
New translations selfinsertion.md (English)
nixel2007 Dec 15, 2025
5b3ccc6
New translations severalcompilerdirectives.md (English)
nixel2007 Dec 15, 2025
1a80628
New translations spaceatstartcomment.md (English)
nixel2007 Dec 15, 2025
534f835
New translations styleelementconstructors.md (English)
nixel2007 Dec 15, 2025
ac2741b
New translations tempfilesdir.md (English)
nixel2007 Dec 15, 2025
60e404f
New translations ternaryoperatorusage.md (English)
nixel2007 Dec 15, 2025
32e8998
New translations timeoutsinexternalresources.md (English)
nixel2007 Dec 15, 2025
9d204f9
New translations trynumber.md (English)
nixel2007 Dec 15, 2025
27d5d75
New translations typo.md (English)
nixel2007 Dec 15, 2025
029275f
New translations unionall.md (English)
nixel2007 Dec 15, 2025
2a07b12
New translations unsafesafemodemethodcall.md (English)
nixel2007 Dec 15, 2025
f271de4
New translations unusedlocalmethod.md (English)
nixel2007 Dec 15, 2025
49af97b
New translations usagewritelogevent.md (English)
nixel2007 Dec 15, 2025
987b434
New translations uselessforeach.md (English)
nixel2007 Dec 15, 2025
d7f2670
New translations usingexternalcodetools.md (English)
nixel2007 Dec 15, 2025
14ea4c0
New translations usingfindelementbystring.md (English)
nixel2007 Dec 15, 2025
dd16ae6
New translations usinghardcodepath.md (English)
nixel2007 Dec 15, 2025
e0faad3
New translations usinghardcodesecretinformation.md (English)
nixel2007 Dec 15, 2025
12df8c9
New translations usinglikeinquery.md (English)
nixel2007 Dec 15, 2025
200312a
New translations usingmodalwindows.md (English)
nixel2007 Dec 15, 2025
597f3f3
New translations usingobjectnotavailableunix.md (English)
nixel2007 Dec 15, 2025
8801271
New translations usingsynchronouscalls.md (English)
nixel2007 Dec 15, 2025
130faef
New translations usingthisform.md (English)
nixel2007 Dec 15, 2025
617d872
New translations virtualtablecallwithoutparameters.md (English)
nixel2007 Dec 15, 2025
65d7184
New translations wrongusefunctionproceedwithcall.md (English)
nixel2007 Dec 15, 2025
dc0ab0c
New translations wronguseofrollbacktransactionmethod.md (English)
nixel2007 Dec 15, 2025
67ace73
New translations yoletterusage.md (English)
nixel2007 Dec 15, 2025
583da13
New translations configurationfile.md (English)
nixel2007 Dec 15, 2025
8e3aa5b
New translations index.md (English)
nixel2007 Dec 15, 2025
6106b1e
New translations commonmodulemissingapi.md (English)
nixel2007 Dec 15, 2025
73a492b
New translations setpermissionsfornewobjects.md (English)
nixel2007 Dec 15, 2025
0685880
New translations codeafterasynccall.md (English)
nixel2007 Dec 15, 2025
9498973
New translations queryparseerror.md (English)
nixel2007 Dec 15, 2025
6f72775
New translations forbiddenmetadataname.md (English)
nixel2007 Dec 15, 2025
bfd33db
New translations samemetadataobjectandchildnames.md (English)
nixel2007 Dec 15, 2025
9222f0c
New translations wrongdatapathforformelements.md (English)
nixel2007 Dec 15, 2025
25fa5f7
New translations serversideexportformmethod.md (English)
nixel2007 Dec 15, 2025
b5cb44b
New translations duplicatestringliteral.md (English)
nixel2007 Dec 15, 2025
0be4d32
New translations badwords.md (English)
nixel2007 Dec 15, 2025
f0025c6
New translations querytomissingmetadata.md (English)
nixel2007 Dec 15, 2025
04124e3
New translations wrongwebservicehandler.md (English)
nixel2007 Dec 15, 2025
d83e626
New translations wronghttpservicehandler.md (English)
nixel2007 Dec 15, 2025
a851330
New translations fieldsfromjoinswithoutisnull.md (English)
nixel2007 Dec 15, 2025
0fa5059
New translations missingtempstoragedeletion.md (English)
nixel2007 Dec 15, 2025
845afd5
New translations unusedlocalvariable.md (English)
nixel2007 Dec 15, 2025
82e0b5d
New translations denyincompletevalues.md (English)
nixel2007 Dec 15, 2025
5a03ddc
New translations disablesafemode.md (English)
nixel2007 Dec 15, 2025
fb6b178
New translations doublenegatives.md (English)
nixel2007 Dec 15, 2025
5a12158
New translations duplicatedinsertionintocollection.md (English)
nixel2007 Dec 15, 2025
d02be0f
New translations externalappstarting.md (English)
nixel2007 Dec 15, 2025
50ba5d7
New translations filesystemaccess.md (English)
nixel2007 Dec 15, 2025
2f20643
New translations internetaccess.md (English)
nixel2007 Dec 15, 2025
9ef02c6
New translations logicalorinjoinquerysection.md (English)
nixel2007 Dec 15, 2025
98ab090
New translations missedrequiredparameter.md (English)
nixel2007 Dec 15, 2025
e35a629
New translations missingcommonmodulemethod.md (English)
nixel2007 Dec 15, 2025
aa3524c
New translations privilegedmodulemethodcall.md (English)
nixel2007 Dec 15, 2025
a48d4b0
New translations protectedmodule.md (English)
nixel2007 Dec 15, 2025
a62144e
New translations querynestedfieldsbydot.md (English)
nixel2007 Dec 15, 2025
0276027
New translations reservedparameternames.md (English)
nixel2007 Dec 15, 2025
2a9b6d1
New translations rewritemethodparameter.md (English)
nixel2007 Dec 15, 2025
e210ab2
New translations scheduledjobhandler.md (English)
nixel2007 Dec 15, 2025
701a0ab
New translations servercallsinformevents.md (English)
nixel2007 Dec 15, 2025
17e0fff
New translations setprivilegedmode.md (English)
nixel2007 Dec 15, 2025
d0ad9b3
New translations transferringparametersbetweenclientandserver.md (Eng…
nixel2007 Dec 15, 2025
d84914f
New translations unsafefindbycode.md (English)
nixel2007 Dec 15, 2025
475cb71
New translations usesysteminformation.md (English)
nixel2007 Dec 15, 2025
44f574f
New translations uselessternaryoperator.md (English)
nixel2007 Dec 15, 2025
35923f8
New translations monitoring.md (English)
nixel2007 Dec 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/en/contributing/DiagnostcAddSettings.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ diagnosticInstance.configure(configuration);
### Adding a Parameter Description

For correct operation, it is necessary to add a parameter description for each language in the diagnostic resource files.
Diagnostic resources are located in files `resources/com/github/_1c_syntax/bsl/languageserver/diagnostics/<DIAGNOSTIC_KEY>_en.properties` and `resources/com/github/_1c_syntax/bsl/languageserver/diagnostics/<DIAGNOSTIC_KEY>_ru.properties`.
Diagnostic resources are located in files`resources/com/github/_1c_syntax/bsl/languageserver/diagnostics/<DIAGNOSTIC_KEY>_en.properties` and `resources/com/github/_1c_syntax/bsl/languageserver/diagnostics/<DIAGNOSTIC_KEY>_ru.properties`.
In each file, add a new line with the parameter name and description

```ini
Expand Down
11 changes: 5 additions & 6 deletions docs/en/contributing/DiagnosticDevWorkFlow.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,13 @@ At startup, a list of available diagnostic tags is displayed. You must enter 1-3

5. To develop
6. After completion of the development of diagnostics: it is necessary to check the changes (after testing), and also perform a number of service tasks.
To simplify, a special command has been created that can be run in the console `gradlew precommit` or from the Gradle taskbar `precommit`. Task includes subtasks
Sub Commands
To simplify, a special command has been created that can be run in the console `gradlew precommit` or from the Gradle taskbar `precommit`. Task includes subtasks

- check - checking and testing the entire project
- licenseFormat - set license block in java source files
- updateJsonSchema - update the json schema of the configuration file
- licenseFormat - installation of a license block in java source files
- updateJsonSchema - json schema update

7. If everything is done correctly, you need to commit the changes and push to your remote repository.
8. You need to create `Pull request` from your feature branch to the `develop` branch of the primary repository and fill in the information in the description.
9. Before closing the `pull request`, the maintainers will check the code and make comments. Bug fixes must be done in the same feature branch, github will automatically add the changes to the generated `pull request`.
10. Closing a `pull request` confirms the completion of the task.
9. Before closing `Pull request`, the maintainers will conduct a Code review. Correction of errors must be done in the same feature branch, GitHub will automatically add changes to the created `Pull request`.
10. Closing `Pull request` confirms the completion of the task.
2 changes: 1 addition & 1 deletion docs/en/contributing/DiagnosticExample.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,4 +178,4 @@ To describe the created diagnostics, create two files `SemicolonPresence.md`: in

The help index is updated automatically when the documentation site is built, so you don't have to do anything by hand.

Before finishing development, you need to run `gradlew precommit` from the command line or `precommit` from the Gradle taskbar in the IDE.
Before finishing development, you need to run `gradlew precommit` from the command line or `precommit` from the Gradle taskbar in the IDE.
36 changes: 16 additions & 20 deletions docs/en/contributing/DiagnosticStructure.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ At the time of this writing, the following properties are available:
- Compatibility mode `compatibilityMode`, by which diagnostics are filtered when using metadata. The default is `UNDEFINED`.
- List of module types `modules` for the ability to limit the area analyzed by diagnostics
- Sign of the ability to set issues on the entire project `canLocateOnProject`. Used for diagnostics not related to the source code module. At the moment, the option is accepted only by SonarQube, other tools ignore it.
- LSP severity level `lspSeverity` (by default empty string). Allows explicit control over the LSP severity level for the diagnostic. When set, this value takes priority over the calculated LSP severity. Supported values: `Error`, `Warning`, `Information`, `Hint`. This parameter can also be overridden in the configuration file.
The last two can be omitted.
- LSP severity level `lspSeverity` (by default empty string). Allows explicit control over the LSP severity level for the diagnostic. When set, this value takes priority over the calculated LSP severity. Supported values: `Error`, `Warning`, `Information`, `Hint`. This parameter can also be overridden in the configuration file. The last two can be omitted.

Annotation example

Expand All @@ -75,6 +74,7 @@ Annotation example
extraMinForComplexity = 1, // For each additional note position (`DiagnosticRelatedInformation`) one minute will be added
lspSeverity = "Warning" // Explicit LSP severity level (Error, Warning, Information, Hint)
)

```

Class should implement the interface `BSLDiagnostic`. If diagnostic bases on AST, that class should extends at one of classes, that implement `BSLDiagnostic` below:
Expand Down Expand Up @@ -226,13 +226,13 @@ Examples:

### Diagnostics class, inherits from AbstractSDBLVisitorDiagnostic

The diagnostic class implements the necessary `AST visitors`, according to the grammar of the query language (see [BSLParser](https://github.com/1c-syntax/bsl-parser/blob/master/src/main/antlr/SDBLParser.g4)). The complete list of visitor methods is in the `SDBLParserBaseVisitor` class.
The diagnostic class implements the necessary `AST visitors`, according to the grammar of the query language (see [BSLParser](https://github.com/1c-syntax/bsl-parser/blob/master/src/main/antlr/SDBLParser.g4)). The complete list of visitor methods is in the `SDBLParserBaseVisitor` class.

The rest of the rules are identical to `AbstractVisitorDiagnostic`.

### Diagnostics class, inherits from AbstractListenerDiagnostic **(Work in Progress)**

_**<Work in Progress>**_
_**<В разработке>**_

## Diagnostics test class

Expand Down Expand Up @@ -279,10 +279,10 @@ Simplified, the diagnostic test contains the steps
- checking the number of items found
- checking the location of detected items

The first step is to get the list of notes by calling the `getDiagnostics()` method _(implemented in the `AbstractDiagnosticTest` class)_. Calling this method will parse the diagnostics resource file and return a list of remarks in it.
The next step is to use the `hasSize()` statement to make sure that the number of diagnostics is fixed as much as allowed in the fixtures.
After that, you need to make sure that the diagnostics are detected correctly. To do this, you need to compare the diagnostic area obtained by the `getRange()` method with the expected area _(you should use the `RangeHelper` class to simplify the formation of control values)_.
If the text of the error is templated, then it is necessary to check it in the test by getting the text of the error message using the `getMessage()` method of diagnostics.
The first step is to get the list of notes by calling the `getDiagnostics()` method _(implemented in the `AbstractDiagnosticTest` class)_. При вызове этого метода будет выполнен анализ файла ресурса диагностики и возвращен список замечаний в нем.
Следующим шагом необходимо, с помощью утверждения `hasSize()` убедиться, что замечаний зафиксированно столько, сколько допущенно в фикстурах.
После этого, необходимо удостовериться, что замечания обнаружены верно, для чего нужно сравнить область замечания, полученную методом `getRange()`, с ожидаемой областью _(стоит использовать класс `RangeHelper` для упрощения формирования контрольнх значений)_.
В случае использования шаблонного текста сообщения об ошибке замечания, необходимо в тесте проверить и его, получив текст сообщения об ошибке методом `getMessage()` диагностики.

Test method example

Expand All @@ -309,7 +309,7 @@ To reduce the amount of test code, you can use the `util.Assertions.assertThat`

assertThat(diagnostics).hasSize(2); // checking the number of errors found

// verification of special cases
// проверка частных случаев
assertThat(diagnostics, true)
.hasRange(27, 4, 27, 29)
.hasRange(40, 4, 40, 29);
Expand All @@ -318,8 +318,7 @@ To reduce the amount of test code, you can use the `util.Assertions.assertThat`

### Test of configuration method for parameterized diagnostics

Tests for the configuration method should cover all possible settings and their combinations. The test has almost the same structure as the diagnostic test.
Before setting new values ​​for diagnostic parameters, you must get the default diagnostic settings using the `getDefaultDiagnosticConfiguration()` method using the information of the current diagnostic object `diagnosticInstance.getInfo()`. The result is a map in which the `put` method needs to change the values ​​of the required parameters. To apply the changed settings, you need to call the `configure()` method of the current diagnostic object `diagnosticInstance`.
Tests for the configuration method should cover all possible settings and their combinations. The test has almost the same structure as the diagnostic test. Before setting new values ​​for diagnostic parameters, you must get the default diagnostic settings using the `getDefaultDiagnosticConfiguration()` method using the information of the current diagnostic object `diagnosticInstance.getInfo()`. The result is a map in which the `put` method needs to change the values ​​of the required parameters. To apply the changed settings, you need to call the `configure()` method of the current diagnostic object `diagnosticInstance`.

Test method example

Expand All @@ -345,7 +344,7 @@ Test method example

### Quick fixes test **(Work in progress)**

_**<Work in Progress>**_
_**<В разработке>**_

## Diagnostics resources

Expand All @@ -360,18 +359,15 @@ For `quick fixes`, the `quickFixMessage` parameter is used, which contains a des

## Diagnostics test resources

The fixtures are the contents of the test resource file located in the `src/test/resources` directory in the `diagnostics` package. The file must contain the necessary code examples in 1C language _(or oscript language)_.

It is necessary to add both erroneous and correct code, **marking the places of errors with comments**. It is best if the test cases are `real`, from practice, and not synthetic, invented `for diagnostics`.
The fixtures are the contents of the test resource file located in the `src/test/resources` directory in the `diagnostics` package. The file must contain the necessary code examples in 1C language _(or oscript language)_. It is best if the test cases are `real`, from practice, and not synthetic, invented `for diagnostics`.

## Description
## Diagnostics description

The diagnostic description is created in the [Markdown](https://ru.wikipedia.org/wiki/Markdown) format in two versions - for Russian and English. The files are located in the `docs/diagnostics` directory for Russian, for English in `docs/en/diagnostics`.
The file has the structure
The diagnostic description is created in the [Markdown](https://ru.wikipedia.org/wiki/Markdown) format in two versions - for Russian and English. The files are located in the `docs/diagnostics` directory for Russian, for English in `docs/en/diagnostics`. The file has the structure

- Header equal to the value of `diagnosticName` from the corresponding language's diagnostic resource file
- A block with a description of the diagnostics, indicating "why it is so bad"
- List of exceptions that diagnostics do not detect
- Исключительные ситуации, когда диагностика не детектирует замечание
- Examples of good and bad code
- The diagnostic algorithm, if it is not obvious
- Algorithm of diagnostics for complex
- If diagnostics is an implementation of the standard, then links to sources (for example, to [ITS](https://its.1c.ru)).
2 changes: 1 addition & 1 deletion docs/en/contributing/DiagnosticTypeAndSeverity.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Examples

### Error (ERROR)

This category includes real errors during the user's work. They can be of any importance, except `Info`, while:
This category includes real errors during the user's work. They can be of any importance, except `Informational`, while:

- `Blocker` means there is no workaround, urgently needs to be fixed. An example is uncompiled code or calling a method that does not exist.
- `Critical` means there is a known workaround (for example, disabling functionality with an error), but requiring the fastest possible fix.
3 changes: 1 addition & 2 deletions docs/en/contributing/EventsApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ The `EventPublisherAspect` aspect of the `com.github._1c_syntax.bsl.languageserv

> Brief information about aspect-oriented programming you can find in page https://www.baeldung.com/aspectj.

To intercept events in an aspect, advice can be declared to intercept method calls and/or accesses to object properties.
An event object must be created in the advice body and published via [`ApplicationEventPublisher`](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/ApplicationEventPublisher.html).
To intercept events in an aspect, advice can be declared to intercept method calls and/or accesses to object properties. An event object must be created in the advice body and published via [`ApplicationEventPublisher`](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/ApplicationEventPublisher.html).

> To form a pointcut expression, you need to use templates in the `Pointcuts` class of the `com.github._1c_syntax.bsl.languageserver.aop` package

Expand Down
5 changes: 2 additions & 3 deletions docs/en/contributing/StyleGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ This document contains general guidelines for writing code in the BSL Language S

Try to stick to them and the code review process will be simple.

## Null values
## Обработка null

If a method can legally return `null`, it is recommended that you return `Optional<T>` instead of explicitly returning `null`. Exceptions (eg. high frequency or performance functions) are negotiated separately.

The description of the `package-info.java` package must indicate that the NonNull API is used by default in the package.
To do this, the annotation `@NullMarked` is added above the package name
The description of the `package-info.java` package must indicate that the NonNull API is used by default in the package. To do this, the annotation `@NullMarked` is added above the package name

Example:
```java
Expand Down
12 changes: 5 additions & 7 deletions docs/en/diagnostics/BadWords.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# Prohibited words (BadWords)

<!-- Блоки выше заполняются автоматически, не трогать -->
## Description
Software modules should not contain prohibited words.
The list of forbidden words is set by a regular expression.
The search is case-insensitive.
## Diagnostics description
There should be no forbidden words in the text of the modules. The list of forbidden words is given by a regular expression. The search is made case-insensitive.

**For example:**
**Sample setup:**

"singularity|avada kedavra|Donald"
"редиска|лопух|экзистенциальность"

"transcenden(tal|ce)"
"ло(х|шара|шпед)"
2 changes: 1 addition & 1 deletion docs/en/diagnostics/CachedPublic.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ You should not create a programming interface in modules that reuse return value
## Sources
<!-- Необходимо указывать ссылки на все источники, из которых почерпнута информация для создания диагностики -->

* Source: [Standard: Ensuring Library Compatibility (RU)](https://its.1c.ru/db/v8std#content:644:hdoc:3.6)
* Source: [Standard: Ensuring Library Compatibility](https://its.1c.ru/db/v8std#content:644:hdoc:3.6)
6 changes: 3 additions & 3 deletions docs/en/diagnostics/CanonicalSpellingKeywords.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ A built-in language constructs, keywords must be written canonically.
### Keywords

| RU | EN |
|--------------------|---------------|
| ------------------ | ------------- |
| ВызватьИсключение | Raise |
| Выполнить | Execute |
| ДобавитьОбработчик | AddHandler |
Expand Down Expand Up @@ -47,7 +47,7 @@ A built-in language constructs, keywords must be written canonically.
### Preprocessor instrutions

| RU | EN |
|------------------------------------|--------------------------------|
| ---------------------------------- | ------------------------------ |
| ВебКлиент | WebClient |
| ВнешнееСоединение | ExternalConnection |
| Если | If |
Expand All @@ -74,7 +74,7 @@ A built-in language constructs, keywords must be written canonically.
### Compilation directives

| RU | EN |
|--------------------------------|---------------------------|
| ------------------------------ | ------------------------- |
| НаКлиенте | AtClient |
| НаСервере | AtServer |
| НаСервереБезКонтекста | AtServerNoContext |
Expand Down
28 changes: 14 additions & 14 deletions docs/en/diagnostics/CodeAfterAsyncCall.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ Incorrect code
```bsl
&AtClient
Procedure Command1(Command)
AdditionalParameters = New Structure("Result", 10);
Notify = New NotifyDescription("AfterNumberWereInputted", AdditionalParameters.Result, 2);

Message("Inputed value is " + AdditionalParameters.Result); // wrong because there will always be 10
AdditionalParameters = New Structure("Result", 10);
Notify = New NotifyDescription("AfterNumberWereInputted", AdditionalParameters.Result, 2);
Message("Inputed value is " + AdditionalParameters.Result); // wrong because there will always be 10
EndProcedure

&AtClient
Procedure AfterNumberWereInputted(Number, AdditionalParameters) Export
If Number <> Undefined Then
AdditionalParameters.Result = Number;
EndIf;
If Number <> Undefined Then
AdditionalParameters.Result = Number;
EndIf;
EndProcedure;
```

Expand All @@ -49,10 +49,10 @@ Correct code

In some cases, executing code immediately after calling an asynchronous method is entirely possible if you do not need to wait for the results of the asynchronous action. For example
```bsl
&AtClient
Procedure Command(Command)
ShowMessageBox(, "Moneo te!", 10);
Message("code started working after ShowMessageBox");
&НаКлиенте
Процедура Команда1(Команда)
ПоказатьПредупреждение(, "Предупреждаю", 10);
Сообщить("начал работать код после ПоказатьПредупреждение");
// ...
EndProcedure
```
Expand All @@ -78,7 +78,7 @@ It is also important to consider that an asynchronous method can be called in on
<!-- Необходимо указывать ссылки на все источники, из которых почерпнута информация для создания диагностики -->
<!-- Примеры источников

* Source: [Standard: Modules (RU)](https://its.1c.ru/db/v8std#content:456:hdoc)
* Useful information: [Refusal to use modal windows (RU)](https://its.1c.ru/db/metod8dev#content:5272:hdoc)
* Источник: [Стандарт: Тексты модулей](https://its.1c.ru/db/v8std#content:456:hdoc)
* Полезная информация: [Отказ от использования модальных окон](https://its.1c.ru/db/metod8dev#content:5272:hdoc)
* Источник: [Cognitive complexity, ver. 1.4](https://www.sonarsource.com/docs/CognitiveComplexity.pdf) -->
- [Developers guide: Internal language. Ch. 4: Sync and async methods (RU)](https://its.1c.ru/db/v8319doc#bookmark:dev:TI000001505)
- [Sync and async methods - Developers guide Chapter 4. Internal language](https://its.1c.ru/db/v8319doc#bookmark:dev:TI000001505)
Loading
Loading