class RubyLsp::ClientCapabilities
def apply_client_capabilities(capabilities)
def apply_client_capabilities(capabilities) workspace_capabilities = capabilities[:workspace] || {} file_watching_caps = workspace_capabilities[:didChangeWatchedFiles] if file_watching_caps&.dig(:dynamicRegistration) && file_watching_caps&.dig(:relativePatternSupport) @supports_watching_files = true end @supports_request_delegation = capabilities.dig(:experimental, :requestDelegation) || false supported_resource_operations = workspace_capabilities.dig(:workspaceEdit, :resourceOperations) @supported_resource_operations = supported_resource_operations if supported_resource_operations supports_additional_properties = capabilities.dig( :window, :showMessage, :messageActionItem, :additionalPropertiesSupport, ) @window_show_message_supports_extra_properties = supports_additional_properties || false progress = capabilities.dig(:window, :workDoneProgress) @supports_progress = progress if progress @supports_diagnostic_refresh = workspace_capabilities.dig(:diagnostics, :refreshSupport) || false @supports_code_lens_refresh = workspace_capabilities.dig(:codeLens, :refreshSupport) || false end