Module: RubyLsp

Defined in:
lib/ruby-lsp.rb,
lib/ruby_lsp/addon.rb,
lib/ruby_lsp/scope.rb,
lib/ruby_lsp/store.rb,
lib/ruby_lsp/utils.rb,
lib/ruby_lsp/server.rb,
lib/ruby_lsp/document.rb,
lib/ruby_lsp/base_server.rb,
lib/ruby_lsp/static_docs.rb,
lib/ruby_lsp/test_helper.rb,
lib/ruby_lsp/erb_document.rb,
lib/ruby_lsp/global_state.rb,
lib/ruby_lsp/node_context.rb,
lib/ruby_lsp/rbs_document.rb,
lib/ruby_lsp/ruby_document.rb,
lib/ruby_lsp/setup_bundler.rb,
lib/ruby_lsp/type_inferrer.rb,
lib/ruby_lsp/requests/hover.rb,
lib/ruby_lsp/listeners/hover.rb,
lib/ruby_lsp/requests/rename.rb,
lib/ruby_lsp/requests/request.rb,
lib/ruby_lsp/requests/code_lens.rb,
lib/ruby_lsp/client_capabilities.rb,
lib/ruby_lsp/listeners/code_lens.rb,
lib/ruby_lsp/requests/completion.rb,
lib/ruby_lsp/requests/definition.rb,
lib/ruby_lsp/requests/formatting.rb,
lib/ruby_lsp/requests/references.rb,
lib/ruby_lsp/listeners/completion.rb,
lib/ruby_lsp/listeners/definition.rb,
lib/ruby_lsp/listeners/spec_style.rb,
lib/ruby_lsp/listeners/test_style.rb,
lib/ruby_lsp/requests/diagnostics.rb,
lib/ruby_lsp/requests/inlay_hints.rb,
lib/ruby_lsp/listeners/inlay_hints.rb,
lib/ruby_lsp/requests/code_actions.rb,
lib/ruby_lsp/requests/document_link.rb,
lib/ruby_lsp/listeners/document_link.rb,
lib/ruby_lsp/requests/discover_tests.rb,
lib/ruby_lsp/requests/folding_ranges.rb,
lib/ruby_lsp/requests/prepare_rename.rb,
lib/ruby_lsp/requests/signature_help.rb,
lib/ruby_lsp/requests/support/common.rb,
lib/ruby_lsp/requests/support/sorbet.rb,
lib/ruby_lsp/response_builders/hover.rb,
lib/ruby_lsp/listeners/folding_ranges.rb,
lib/ruby_lsp/listeners/signature_help.rb,
lib/ruby_lsp/listeners/test_discovery.rb,
lib/ruby_lsp/requests/document_symbol.rb,
lib/ruby_lsp/listeners/document_symbol.rb,
lib/ruby_lsp/requests/range_formatting.rb,
lib/ruby_lsp/requests/selection_ranges.rb,
lib/ruby_lsp/requests/show_syntax_tree.rb,
lib/ruby_lsp/requests/workspace_symbol.rb,
lib/ruby_lsp/requests/support/formatter.rb,
lib/ruby_lsp/requests/support/test_item.rb,
lib/ruby_lsp/requests/completion_resolve.rb,
lib/ruby_lsp/requests/document_highlight.rb,
lib/ruby_lsp/requests/on_type_formatting.rb,
lib/ruby_lsp/requests/support/annotation.rb,
lib/ruby_lsp/test_reporters/lsp_reporter.rb,
lib/ruby_lsp/listeners/document_highlight.rb,
lib/ruby_lsp/requests/code_action_resolve.rb,
lib/ruby_lsp/requests/go_to_relevant_file.rb,
lib/ruby_lsp/requests/support/package_url.rb,
lib/ruby_lsp/requests/semantic_highlighting.rb,
lib/ruby_lsp/listeners/semantic_highlighting.rb,
lib/ruby_lsp/requests/prepare_type_hierarchy.rb,
lib/ruby_lsp/requests/support/rubocop_runner.rb,
lib/ruby_lsp/requests/support/selection_range.rb,
lib/ruby_lsp/response_builders/signature_help.rb,
lib/ruby_lsp/test_reporters/minitest_reporter.rb,
lib/ruby_lsp/response_builders/document_symbol.rb,
lib/ruby_lsp/response_builders/test_collection.rb,
lib/ruby_lsp/test_reporters/test_unit_reporter.rb,
lib/ruby_lsp/requests/support/rubocop_formatter.rb,
lib/ruby_lsp/requests/type_hierarchy_supertypes.rb,
lib/ruby_lsp/response_builders/response_builder.rb,
lib/ruby_lsp/requests/support/rubocop_diagnostic.rb,
lib/ruby_lsp/requests/support/syntax_tree_formatter.rb,
lib/ruby_lsp/response_builders/semantic_highlighting.rb,
lib/ruby_lsp/response_builders/collection_response_builder.rb

Overview

typed: strict frozen_string_literal: true

Defined Under Namespace

Modules: Listeners, PreventReporterOverridePatch, Requests, ResponseBuilders, TestHelper Classes: AbstractMethodInvokedError, Addon, BaseServer, ClientCapabilities, DelegateRequestError, Document, ERBDocument, Error, GlobalState, LspReporter, Message, MessageReader, MessageWriter, MinitestReporter, NodeContext, Notification, PackageURL, ProgressReporterWithColor, RBSDocument, Request, RequestConfig, Result, RubyDocument, Scope, Server, SetupBundler, SorbetLevel, Store, TestUnitReporter, TypeInferrer

Constant Summary collapse

VERSION =
File.read(File.expand_path("../VERSION", __dir__)).strip
Interface =

rubocop:disable RubyLsp/UseLanguageServerAliases

LanguageServer::Protocol::Interface
Constant =
LanguageServer::Protocol::Constant
BUNDLE_PATH =

Used to indicate that a request shouldn’t return a response

begin
  Bundler.bundle_path.to_s
rescue Bundler::GemfileNotFound
  nil
end
GEMFILE_NAME =

: String?

begin
  Bundler.with_original_env { Bundler.default_gemfile.basename.to_s }
rescue Bundler::GemfileNotFound
  "Gemfile"
end
GUESSED_TYPES_URL =

: String

"https://shopify.github.io/ruby-lsp/#guessed-types"
TEST_PATH_PATTERN =
"**/{test,spec,features}/**/{*_test.rb,test_*.rb,*_spec.rb,*.feature}"
BUNDLE_COMPOSE_FAILED_CODE =
-33000
STATIC_DOCS_PATH =

The path to the ‘static_docs` directory, where we keep long-form static documentation

File.join(
  File.dirname(
    File.dirname(
      __dir__, #: as !nil
    ),
  ),
  "static_docs",
)
KEYWORD_DOCS =

A map of keyword => short documentation to be displayed on hover or completion

{
  "break" => "Terminates the execution of a block or loop",
  "yield" => "Invokes the passed block with the given arguments",
}.freeze