Class NavigationCommandBuilder
java.lang.Object
com.github._1c_syntax.bsl.languageserver.codelenses.NavigationCommandBuilder
Сборка LSP-команд навигации для линз (CodeLens) с учётом подключённого клиента.
Встроенные команды VS Code (editor.action.goToLocations /
editor.action.showReferences) нельзя вызвать из линзы напрямую: сервер
передаёт аргументы сырым JSON (URI строкой, Position/Location
обычными объектами), а команды требуют нативных типов VS Code и отвергают такой
вызов. Поэтому для VS Code и совместимых форков целью команды служит обёртка
расширения language-1c-bsl, оживляющая аргументы; прочие клиенты
(например, LSP4IJ, нативно эмулирующий editor.action.showReferences)
получают стандартную команду редактора. Аргументы в обоих случаях одинаковы —
различается только идентификатор команды.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionКоманда перехода к производителю(-ям): прыжок к единственной цели, поповер при нескольких.Команда показа списка использований в поповере.
-
Constructor Details
-
NavigationCommandBuilder
@ConstructorProperties("clientCapabilitiesHolder") public NavigationCommandBuilder(ClientCapabilitiesHolder clientCapabilitiesHolder)
-
-
Method Details
-
gotoCommand
Команда перехода к производителю(-ям): прыжок к единственной цели, поповер при нескольких. Подходит прямой линзе «точка внедрения → производитель».- Parameters:
title- Заголовок линзы.uri- URI документа, из которого выполняется переход.position- Позиция курсора, от которой выполняется переход.targets- Цели перехода (объявления производителей).- Returns:
- Команда с идентификатором, выбранным под клиента.
-
referencesCommand
public Command referencesCommand(String title, URI uri, Position position, List<Location> locations) Команда показа списка использований в поповере. Подходит обратной линзе «производитель → точки внедрения».- Parameters:
title- Заголовок линзы.uri- URI документа, из которого выполняется показ.position- Позиция курсора, от которой выполняется показ.locations- Местоположения использований.- Returns:
- Команда с идентификатором, выбранным под клиента.
-