Skip to content

Commit 7b9fbaf

Browse files
committed
Ховер типа переменной
1 parent 1f4f4eb commit 7b9fbaf

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

src/main/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public MarkupContent getContent(VariableSymbol symbol) {
6969
.map(VariableDescription::getPurposeDescription)
7070
.ifPresent(trailingDescription -> addSectionIfNotEmpty(markupBuilder, trailingDescription));
7171

72+
addSectionIfNotEmpty(markupBuilder, symbol.getType());
73+
7274
String content = markupBuilder.toString();
7375

7476
return new MarkupContent(MarkupKind.MARKDOWN, content);

src/test/java/com/github/_1c_syntax/bsl/languageserver/hover/VariableSymbolMarkupContentBuilderTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,25 @@ void testMethodVarContentFromDirectFile_2_comments_strings() {
130130
"\n");
131131
}
132132

133+
@Test
134+
void testMethodVarContentFromDirectFile_type_from_new() {
135+
// given
136+
var documentContext = TestUtils.getDocumentContextFromFile(PATH_TO_FILE);
137+
final var symbolTree = documentContext.getSymbolTree();
138+
var methodSymbol = symbolTree.getMethodSymbol("ИмяФункции").orElseThrow();
139+
var varSymbol = symbolTree.getVariableSymbol("НовыйКласс", methodSymbol).orElseThrow();
140+
141+
// when
142+
var content = markupContentBuilder.getContent(varSymbol).getValue();
143+
144+
assertThat(content).isNotEmpty();
145+
146+
var blocks = Arrays.asList(content.split("---\n?"));
147+
148+
assertThat(blocks).hasSize(3);
149+
assertThat(blocks.get(2)).isEqualTo("ИмяКласса\n\n");
150+
}
151+
133152
@Test
134153
void testMethodVarContentFromDirectFile_3_comments_strings() {
135154
// given

src/test/resources/hover/variableSymbolMarkupContentBuilder.bsl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
//
3333
Перем Имя_ОписаниеСверхуТриСтрокиПоследняяПустая_Функция;
3434

35+
НовыйКласс = Новый ИмяКласса();
3536
КонецФункции
3637

3738
ИмяФункции();

0 commit comments

Comments
 (0)