class BELParser::Completion::FunctionCompleter

Public Instance Methods

complete(string_literal, caret_position) click to toggle source
# File lib/bel_parser/completion.rb, line 619
def complete(string_literal, caret_position)
  pattern = /.*#{Regexp.quote(string_literal)}.*/i
  @spec.functions
    .select  { |function| function =~ pattern }
    .sort_by { |function| function.long       }
    .map     { |function|
      make_completion(function)
    }
end

Protected Instance Methods

make_completion(function) click to toggle source
# File lib/bel_parser/completion.rb, line 631
def make_completion(function)
  [
    function,
    function(
      identifier(
        function.short.to_s))
  ]
end