class Rcodetools::XMPCompletionEmacsFilter

Public Instance Methods

completion_code(code, lineno, column=nil) click to toggle source
# File lib/rcodetools/completion.rb, line 322
def completion_code(code, lineno, column=nil)
  elisp = "(progn\n"
  table = "(setq rct-method-completion-table '("
  alist = "(setq alist '("
  begin
    candidates(code, lineno, column).sort.each do |minfo|
      meth, description = split_method_info(minfo)
      table << format('("%s") ', meth)
      alist << format('("%s\t[%s]") ', meth, description)
    end
    table << "))\n"
    alist << "))\n"
  rescue Exception => err
    return error_code(err)
  end
  elisp << table << alist
  elisp << %Q[(setq pattern "#{prefix}")\n]
  elisp << %Q[(try-completion pattern rct-method-completion-table nil)\n]
  elisp << ")"                # /progn
end
error_code(err) click to toggle source
# File lib/rcodetools/completion.rb, line 343
def error_code(err)
  case err
  when NoCandidates
    %Q[(error "#{err.message}")]
  else
    %Q[(error "#{err.message}\n#{err.backtrace.join("\n")}")]
  end

end