module Solargraph::Pin::Conversions

@todo Move this stuff. It should be the responsibility of the language server.

Public Instance Methods

completion_item() click to toggle source

@return [Hash]

# File lib/solargraph/pin/conversions.rb, line 9
def completion_item
  @completion_item ||= {
    label: name,
    kind: completion_item_kind,
    detail: detail,
    data: {
      path: path,
      return_type: return_type.tag,
      location: (location ? location.to_hash : nil),
      deprecated: deprecated?
    }
  }
end
detail() click to toggle source

@return [String]

# File lib/solargraph/pin/conversions.rb, line 42
def detail
  # This property is not cached in an instance variable because it can
  # change when pins get proxied.
  detail = String.new
  detail += "=#{probed? ? '~' : (proxied? ? '^' : '>')} #{return_type.to_s}" unless return_type.undefined?
  detail.strip!
  return nil if detail.empty?
  detail
end
reset_conversions() click to toggle source
# File lib/solargraph/pin/conversions.rb, line 65
def reset_conversions
  @completion_item = nil
  @resolve_completion_item = nil
  @signature_help = nil
  @detail = nil
  @link_documentation = nil
end
resolve_completion_item() click to toggle source

@return [Hash]

# File lib/solargraph/pin/conversions.rb, line 24
def resolve_completion_item
  @resolve_completion_item ||= begin
    extra = {}
    alldoc = ''
    # alldoc += link_documentation unless link_documentation.nil?
    # alldoc += "\n\n" unless alldoc.empty?
    alldoc += documentation unless documentation.nil?
    extra[:documentation] = alldoc unless alldoc.empty?
    completion_item.merge(extra)
  end
end
signature_help() click to toggle source

@return [Array<Hash>]

# File lib/solargraph/pin/conversions.rb, line 37
def signature_help
  []
end
text_documentation() click to toggle source
# File lib/solargraph/pin/conversions.rb, line 59
def text_documentation
  this_path = path || return_type.tag
  return nil if this_path == 'undefined'
  escape_brackets this_path
end

Private Instance Methods

escape_brackets(text) click to toggle source

@param text [String] @return [String]

# File lib/solargraph/pin/conversions.rb, line 85
def escape_brackets text
  # text.gsub(/(\<|\>)/, "\\#{$1}")
  text.gsub("<", '\<').gsub(">", '\>')
end