Class BSLLanguageServer
java.lang.Object
com.github._1c_syntax.bsl.languageserver.BSLLanguageServer
- All Implemented Interfaces:
ProtocolExtension, LanguageServer
@Component
public class BSLLanguageServer
extends Object
implements LanguageServer, ProtocolExtension
Основной класс BSL Language Server.
Реализует интерфейс LanguageServer из LSP4J и обеспечивает
обработку запросов инициализации, настройку возможностей сервера
и координацию работы сервисов документов и рабочей области.
-
Constructor Summary
ConstructorsConstructorDescriptionBSLLanguageServer(BSLTextDocumentService textDocumentService, BSLWorkspaceService workspaceService, CommandProvider commandProvider, ClientCapabilitiesHolder clientCapabilitiesHolder, LanguageClientHolder languageClientHolder, ServerContextProvider serverContextProvider, GlobalLanguageServerConfiguration globalConfiguration, ServerInfo serverInfo, SemanticTokensLegend legend, ExecutorService populateContextExecutor) -
Method Summary
Modifier and TypeMethodDescriptiondiagnostics(DiagnosticParams params) Запрос на вычисление диагностик для документа (расширение протокола).voidexit()voidОбработчик событияLanguageServerInitializeRequestReceivedEvent.initialize(InitializeParams params) voidinitialized(InitializedParams params) shutdown()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface LanguageServer
cancelProgress, getNotebookDocumentService, initialized, setTrace
-
Constructor Details
-
BSLLanguageServer
@ConstructorProperties({"textDocumentService","workspaceService","commandProvider","clientCapabilitiesHolder","languageClientHolder","serverContextProvider","globalConfiguration","serverInfo","legend","populateContextExecutor"}) public BSLLanguageServer(BSLTextDocumentService textDocumentService, BSLWorkspaceService workspaceService, CommandProvider commandProvider, ClientCapabilitiesHolder clientCapabilitiesHolder, LanguageClientHolder languageClientHolder, ServerContextProvider serverContextProvider, GlobalLanguageServerConfiguration globalConfiguration, ServerInfo serverInfo, SemanticTokensLegend legend, @Qualifier("populateContextExecutor") ExecutorService populateContextExecutor)
-
-
Method Details
-
handleInitializeEvent
@EventListener(LanguageServerInitializeRequestReceivedEvent.class) public void handleInitializeEvent()Обработчик событияLanguageServerInitializeRequestReceivedEvent.Кэширует клиентские возможности
workspace.didChangeWatchedFiles.dynamicRegistrationиworkspace.didChangeWatchedFiles.relativePatternSupport, чтобы при последующей регистрации наблюдателей за файлами вinitialized(InitializedParams)не перечитыватьClientCapabilitiesна каждый вызов. Событие приходит после обработкиinitialize(когда возможности уже сохранены вClientCapabilitiesHolder) и доinitialized, поэтому к моменту регистрации флаги уже актуальны. -
initialize
- Specified by:
initializein interfaceLanguageServer
-
initialized
- Specified by:
initializedin interfaceLanguageServer
-
shutdown
- Specified by:
shutdownin interfaceLanguageServer
-
exit
public void exit()- Specified by:
exitin interfaceLanguageServer
-
diagnostics
Запрос на вычисление диагностик для документа (расширение протокола).- Specified by:
diagnosticsin interfaceProtocolExtension- Parameters:
params- Параметры запроса.- Returns:
- Список рассчитанных диагностик.
-
getTextDocumentService
- Specified by:
getTextDocumentServicein interfaceLanguageServer
-
getWorkspaceService
- Specified by:
getWorkspaceServicein interfaceLanguageServer
-