Class BSLWorkspaceService
- All Implemented Interfaces:
WorkspaceService
Реализует интерфейс WorkspaceService из LSP4J и обрабатывает
запросы на уровне всей рабочей области (поиск символов, изменение конфигурации,
выполнение команд и мониторинг изменений файлов).
-
Constructor Summary
ConstructorsConstructorDescriptionBSLWorkspaceService(CommandProvider commandProvider, SymbolProvider symbolProvider, ServerContextProvider serverContextProvider, AsyncTaskExecutor executor, ExecutorService populateContextExecutor) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoiddidCreateFiles(CreateFilesParams params) voiddidDeleteFiles(DeleteFilesParams params) voiddidRenameFiles(RenameFilesParams params) executeCommand(ExecuteCommandParams params) CompletableFuture<Either<List<? extends SymbolInformation>, List<? extends WorkspaceSymbol>>> symbol(WorkspaceSymbolParams params) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface WorkspaceService
diagnostic, resolveWorkspaceSymbol, textDocumentContent, willCreateFiles, willDeleteFiles, willRenameFiles
-
Constructor Details
-
BSLWorkspaceService
@ConstructorProperties({"commandProvider","symbolProvider","serverContextProvider","executor","populateContextExecutor"}) public BSLWorkspaceService(CommandProvider commandProvider, SymbolProvider symbolProvider, ServerContextProvider serverContextProvider, @Qualifier("workspaceServiceExecutor") AsyncTaskExecutor executor, @Qualifier("populateContextExecutor") ExecutorService populateContextExecutor)
-
-
Method Details
-
symbol
public CompletableFuture<Either<List<? extends SymbolInformation>, List<? extends WorkspaceSymbol>>> symbol(WorkspaceSymbolParams params) - Specified by:
symbolin interfaceWorkspaceService
-
didChangeConfiguration
- Specified by:
didChangeConfigurationin interfaceWorkspaceService
-
didChangeWatchedFiles
- Specified by:
didChangeWatchedFilesin interfaceWorkspaceService
-
didCreateFiles
Обрабатывает уведомление
workspace/didCreateFiles: для каждого URI добавляет документ(ы) в контекст сервера аналогично событию создания вworkspace/didChangeWatchedFiles. Пути изexcludePathsи открытые в редакторе документы учитываются так же, как в существующих обработчиках.- Specified by:
didCreateFilesin interfaceWorkspaceService- Parameters:
params- параметры уведомления о созданных файлах
-
didDeleteFiles
Обрабатывает уведомление
workspace/didDeleteFiles: для каждого URI удаляет документ(ы) из контекста сервера. Для каталога удаление выполняется по префиксу URI с границей/(переиспользуется логика обработки удаления каталога изworkspace/didChangeWatchedFiles).- Specified by:
didDeleteFilesin interfaceWorkspaceService- Parameters:
params- параметры уведомления об удалённых файлах
-
didRenameFiles
Обрабатывает уведомление
workspace/didRenameFiles: каждое переименование выполняется атомарно как удаление документа(ов) по старому URI и создание по новому, включая переименование каталогов. Пути изexcludePathsи открытые в редакторе документы учитываются так же, как в существующих обработчиках.- Specified by:
didRenameFilesin interfaceWorkspaceService- Parameters:
params- параметры уведомления о переименованных файлах
-
executeCommand
- Specified by:
executeCommandin interfaceWorkspaceService
-
didChangeWorkspaceFolders
- Specified by:
didChangeWorkspaceFoldersin interfaceWorkspaceService
-