class Rcodetools::XMPCompletionEmacsAnythingFilter

Public Instance Methods

completion_code(code, lineno, column=nil) click to toggle source
# File lib/rcodetools/completion.rb, line 384
def completion_code(code, lineno, column=nil)
  elisp = "(progn\n"
  table = "(setq rct-method-completion-table `("
  
  begin
    klass, cands = candidates_with_class(code, lineno, column)
    cands.sort.each do |minfo|
      meth, description = split_method_info(minfo)
      table << format('("%s\t[%s]" . ,(propertize "%s" \desc "%s")) ',
        meth, description, meth, description)
    end
    table << "))\n"
  rescue Exception => err
    return error_code(err)
  end
  elisp << table
  elisp << %Q[(setq pattern "#{prefix}")\n]
  elisp << %Q[(setq klass "#{klass}")\n]
  elisp << ")"                # /progn
end