/company-ess

company-mode ESS backend

Primary LanguageEmacs Lisp

company-mode ESS completion backend

This a tentative support for ESS completion for company-mode, based on the same code used in ess-r-d.el for auto-complete.

Note

Recent version of ess (i.e. > 15.03) has built-in company-mode support. I have switched to use its backend instead. I also removed this package from melpa to avoid confusion.

Features

  • Complete R objects/args based on .ess_get_completions functions defined by ESS

./img/args.png

./img/functions.png

  • Support for company-mode powered documentation using the F1 key
  • [Disabled] Support for object annotations using R’s typeof function. (truncated to 3 first character). Moving between candidates using M-n and M-p is very slow as company-mode calls the annotation function each movement.

Issues

  • objects that contains spaces will show annotation as nil. The completion engine return the list of completion without ''.
  • Documentation buffer comes ESS .. with a list of shortcuts

Usage

  1. Download
    • Currently in the process of creating a MELPA package
  2. Run:
(require 'company-ess)

; Enabling the backend :
; Globally - company ess-backend checks ess mode 
(add-to-list 'company-backends 'company-ess-backend)

; OR locally to ess mode
;(add-hook 'ess-mode-hook (lambda ()
;                          (set (make-local-variable 'company-backends) '(company-ess))
;                          (company-mode)))

Version history:

  • <2014-09-17 Wed 21:43> 0.0.1 - Initial release
  • <2014-09-18 Thu 23:38> 0.0.2 - Fixes speed issue