Module: RubyLsp::DependencyDetector

Extended by:
T::Sig
Defined in:
lib/ruby_lsp/requests/support/dependency_detector.rb

Class Method Summary collapse

Class Method Details

.detected_formatterObject

[View source]

10
11
12
13
14
15
16
17
18
19
# File 'lib/ruby_lsp/requests/support/dependency_detector.rb', line 10

def detected_formatter
  # NOTE: Intentionally no $ at end, since we want to match rubocop-shopify, etc.
  if direct_dependency?(/^rubocop/)
    "rubocop"
  elsif direct_dependency?(/^syntax_tree$/)
    "syntax_tree"
  else
    "none"
  end
end

.detected_test_libraryObject

[View source]

22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/ruby_lsp/requests/support/dependency_detector.rb', line 22

def detected_test_library
  if direct_dependency?(/^minitest/)
    "minitest"
  elsif direct_dependency?(/^test-unit/)
    "test-unit"
  elsif direct_dependency?(/^rspec/)
    "rspec"
  else
    warn("WARNING: No test library detected. Assuming minitest.")
    "minitest"
  end
end

.direct_dependency?(gem_pattern) ⇒ Boolean

Returns:

  • (Boolean)
[View source]

36
37
38
# File 'lib/ruby_lsp/requests/support/dependency_detector.rb', line 36

def direct_dependency?(gem_pattern)
  Bundler.locked_gems.dependencies.keys.grep(gem_pattern).any?
end