Class BSLWorkspaceService

java.lang.Object
com.github._1c_syntax.bsl.languageserver.BSLWorkspaceService
All Implemented Interfaces:
WorkspaceService

@Component public class BSLWorkspaceService extends Object implements WorkspaceService
Сервис обработки запросов, связанных с рабочей областью.

Реализует интерфейс WorkspaceService из LSP4J и обрабатывает запросы на уровне всей рабочей области (поиск символов, изменение конфигурации, выполнение команд и мониторинг изменений файлов).

  • Constructor Details

  • Method Details

    • symbol

      public CompletableFuture<Either<List<? extends SymbolInformation>, List<? extends WorkspaceSymbol>>> symbol(WorkspaceSymbolParams params)
      Specified by:
      symbol in interface WorkspaceService
    • didChangeConfiguration

      public void didChangeConfiguration(DidChangeConfigurationParams params)
      Specified by:
      didChangeConfiguration in interface WorkspaceService
    • didChangeWatchedFiles

      public void didChangeWatchedFiles(DidChangeWatchedFilesParams params)
      Specified by:
      didChangeWatchedFiles in interface WorkspaceService
    • didCreateFiles

      public void didCreateFiles(CreateFilesParams params)

      Обрабатывает уведомление workspace/didCreateFiles: для каждого URI добавляет документ(ы) в контекст сервера аналогично событию создания в workspace/didChangeWatchedFiles. Пути из excludePaths и открытые в редакторе документы учитываются так же, как в существующих обработчиках.

      Specified by:
      didCreateFiles in interface WorkspaceService
      Parameters:
      params - параметры уведомления о созданных файлах
    • didDeleteFiles

      public void didDeleteFiles(DeleteFilesParams params)

      Обрабатывает уведомление workspace/didDeleteFiles: для каждого URI удаляет документ(ы) из контекста сервера. Для каталога удаление выполняется по префиксу URI с границей / (переиспользуется логика обработки удаления каталога из workspace/didChangeWatchedFiles).

      Specified by:
      didDeleteFiles in interface WorkspaceService
      Parameters:
      params - параметры уведомления об удалённых файлах
    • didRenameFiles

      public void didRenameFiles(RenameFilesParams params)

      Обрабатывает уведомление workspace/didRenameFiles: каждое переименование выполняется атомарно как удаление документа(ов) по старому URI и создание по новому, включая переименование каталогов. Пути из excludePaths и открытые в редакторе документы учитываются так же, как в существующих обработчиках.

      Specified by:
      didRenameFiles in interface WorkspaceService
      Parameters:
      params - параметры уведомления о переименованных файлах
    • executeCommand

      public CompletableFuture<Object> executeCommand(ExecuteCommandParams params)
      Specified by:
      executeCommand in interface WorkspaceService
    • didChangeWorkspaceFolders

      public void didChangeWorkspaceFolders(DidChangeWorkspaceFoldersParams params)
      Specified by:
      didChangeWorkspaceFolders in interface WorkspaceService