Class LanguageServerConfiguration

java.lang.Object
com.github._1c_syntax.bsl.languageserver.configuration.LanguageServerConfiguration

@Component @Scope(value="workspace", proxyMode=TARGET_CLASS) public class LanguageServerConfiguration extends Object
Per-workspace конфигурация BSL Language Server.

Содержит настройки, специфичные для конкретного workspace. Создаётся lazy при первом обращении к workspace-scoped proxy.

Глобальные настройки (language, sendErrors, traceLog) находятся в GlobalLanguageServerConfiguration.

  • Constructor Details

    • LanguageServerConfiguration

      @ConstructorProperties({"language","diagnosticsOptions","codeLensOptions","documentLinkOptions","inlayHintOptions","capabilities","formattingOptions","referencesOptions","semanticTokensOptions","siteRoot","useDevSite","configurationRoot","excludePaths","configurationFile","defaultConfigFileName","globalConfigPath"}) public LanguageServerConfiguration(Language language, DiagnosticsOptions diagnosticsOptions, CodeLensOptions codeLensOptions, DocumentLinkOptions documentLinkOptions, InlayHintOptions inlayHintOptions, CapabilitiesOptions capabilities, FormattingOptions formattingOptions, ReferencesOptions referencesOptions, SemanticTokensOptions semanticTokensOptions, String siteRoot, boolean useDevSite, @Nullable Path configurationRoot, List<String> excludePaths, @Nullable File configurationFile, @Value("${app.configuration.path:.bsl-language-server.json}") String defaultConfigFileName, @Value("${app.globalConfiguration.path:${user.home}/.bsl-language-server.json}") String globalConfigPath)
      Creates a new LanguageServerConfiguration instance.
      Parameters:
      language - Язык интерфейса для сообщений и документации в этом workspace.
      diagnosticsOptions -
      codeLensOptions -
      documentLinkOptions -
      inlayHintOptions -
      capabilities -
      formattingOptions -
      referencesOptions -
      semanticTokensOptions -
      siteRoot -
      useDevSite -
      configurationRoot -
      excludePaths - Паттерны путей для исключения из индексации (простые имена каталогов или glob). Сопоставление выполняется относительно корня конфигурации.
      configurationFile -
      defaultConfigFileName -
      globalConfigPath -
    • LanguageServerConfiguration

      public LanguageServerConfiguration()
  • Method Details

    • update

      public void update(@Nullable File configurationFile)
      Обновить конфигурацию из файла.

      Публикует LanguageServerConfigurationChangedEvent через AOP аспект.

      Parameters:
      configurationFile - Файл с конфигурацией
    • reset

      public void reset()
      Сбросить конфигурацию к значениям по умолчанию.
    • getCustomConfigurationRoot

      public static @Nullable Path getCustomConfigurationRoot(LanguageServerConfiguration configuration, Path srcDir)
      Получить корневой каталог конфигурации с учётом настроек.
      Parameters:
      configuration - Конфигурация language server
      srcDir - Директория исходных файлов
      Returns:
      Корневой каталог для анализа, или null если конфигурация находится вне srcDir
    • getLanguage

      public Language getLanguage()
      Язык интерфейса для сообщений и документации в этом workspace.
    • getDiagnosticsOptions

      public DiagnosticsOptions getDiagnosticsOptions()
    • getCodeLensOptions

      public CodeLensOptions getCodeLensOptions()
    • getDocumentLinkOptions

      public DocumentLinkOptions getDocumentLinkOptions()
    • getInlayHintOptions

      public InlayHintOptions getInlayHintOptions()
    • getCapabilities

      public CapabilitiesOptions getCapabilities()
    • getFormattingOptions

      public FormattingOptions getFormattingOptions()
    • getReferencesOptions

      public ReferencesOptions getReferencesOptions()
    • getSemanticTokensOptions

      public SemanticTokensOptions getSemanticTokensOptions()
    • getSiteRoot

      public String getSiteRoot()
    • isUseDevSite

      public boolean isUseDevSite()
    • getConfigurationRoot

      public @Nullable Path getConfigurationRoot()
    • getExcludePaths

      public List<String> getExcludePaths()
      Паттерны путей для исключения из индексации (простые имена каталогов или glob). Сопоставление выполняется относительно корня конфигурации.
    • getConfigurationFile

      public @Nullable File getConfigurationFile()
    • setLanguage

      public void setLanguage(Language language)
      Язык интерфейса для сообщений и документации в этом workspace.
    • setSiteRoot

      public void setSiteRoot(String siteRoot)
    • setUseDevSite

      public void setUseDevSite(boolean useDevSite)
    • setConfigurationRoot

      public void setConfigurationRoot(@Nullable Path configurationRoot)
    • setExcludePaths

      public void setExcludePaths(List<String> excludePaths)
      Паттерны путей для исключения из индексации (простые имена каталогов или glob). Сопоставление выполняется относительно корня конфигурации.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object