GNU ELPA - company


Modular text completion framework
company-0.10.2.tar (.sig), 2024-Mar-31, 2.59 MiB
Dmitry Gutov <>
Atom feed
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description

Company is a modular completion framework.  Modules for retrieving completion
candidates are called backends, modules for displaying them are frontends.

Company comes with many backends, e.g. `company-etags'.  These are
distributed in separate files and can be used individually.

Enable `company-mode' in all buffers with M-x global-company-mode.  For
further information look at the documentation for `company-mode' (C-h f
company-mode RET).

If you want to start a specific backend, call it interactively or use
`company-begin-backend'.  For example:
M-x company-abbrev will prompt for and insert an abbrev.

To write your own backend, look at the documentation for `company-backends'.
Here is a simple example completing "foo":

(defun company-my-backend (command &optional arg &rest ignored)
  (interactive (list 'interactive))
  (pcase command
    (`interactive (company-begin-backend 'company-my-backend))
    (`prefix (company-grab-symbol))
    (`candidates (list "foobar" "foobaz" "foobarbaz"))
    (`meta (format "This value is named %s" arg))))

Sometimes it is a good idea to mix several backends together, for example to
enrich gtags with dabbrev-code results (to emulate local variables).  To do
this, add a list with both backends as an element in `company-backends'.

Old versions

company-0.10.1.tar.lz2023-Oct-062.03 MiB
company-0.10.0.tar.lz2023-Oct-042.03 MiB
company-0.9.13.tar.lz2020-Jul-2666.1 KiB
company-0.9.12.tar.lz2020-Feb-0765.3 KiB
company-0.9.9.tar.lz2018-Dec-1372.6 KiB
company-0.9.8.tar.lz2018-Dec-0972.5 KiB
company-0.9.7.tar.lz2018-Nov-0672.4 KiB
company-0.9.6.tar.lz2018-Feb-2370.2 KiB
company-0.9.5.tar.lz2018-Feb-1870.0 KiB
company-0.9.4.tar.lz2017-Jul-1567.3 KiB
company-0.9.3.tar.lz2017-Mar-2958.6 KiB
company-0.9.2.tar.lz2016-Nov-1465.6 KiB
company-0.9.1.tar.lz2016-Nov-1265.6 KiB
company-0.9.0.tar.lz2016-Jun-2364.4 KiB
company-0.8.12.tar.lz2015-Mar-0559.9 KiB
company-0.8.0.tar.lz2014-Apr-2052.0 KiB
company-0.7.3.tar.lz2014-Mar-2549.8 KiB
company-0.6.14.tar.lz2014-Jan-2645.6 KiB
company-0.6.tar.lz2013-Mar-2034.5 KiB
company-0.5.tar.lz2012-Nov-2933.0 KiB


History of user-visible changes

2023-10-08 (0.10.2)

  • More company-auto-update-doc-related fixes.
  • Better handling of C-g performed inside a doc-buffer handler (#1408).

2023-10-06 (0.10.1)

  • Fix upgrading from 0.9.13 when the package is already loaded (#1406).

2023-10-04 (0.10.0)

  • company-echo-show (and related featuers, most importantly, company-echo-metadata-frontend) now should stop interfering with the echo area and ElDoc when the current backend returns no meta.
  • New user option company-tooltip-annotation-padding (#1376).
  • When a snippet name is typed in full, completion does not abort now (only affects completions which have snippet kind), (#205).
  • company-show-doc-buffer now can accept a prefix argument to toggle a new variable company-auto-update-doc. When this variable is non-nil, it keeps the documentation buffer up-to-date whenever the selection changes (#1331).
  • company-auto-commit and company-auto-commit-chars have been renamed to company-insertion-on-trigger and company-insertion-triggers respectively (#1270).
  • New command company-complete-common-or-show-delayed-tooltip (#1214).
  • Faces company-scrollbar-fg and company-scrollbar-bg have been renamed to company-tooltip-scrollbar-thumb and company-tooltip-scrollbar-track respectively.
  • Better compatibility with visual-line-mode (#1257).
  • Better compatibility with org-indent-mode (#1252).
  • New backend command, deprecated. It returns whether the completion item is deprecated or not.
  • company-tooltip-common highlightings with non-prefix and prefix matching backends are more compatible: if the non-prefix matching backend's completions all have a common part, and so the current prefix can be expanded with company-complete-common, that part is now also highlighted with that face (#519).
  • company-yasnippet respects the condition directive in snippets (#1179).
  • New user option company-icon-margin.
  • company-show-numbers has been renamed to company-show-quick-access (#1115). New user options company-quick-access-keys and company-quick-access-modifier. New command company-complete-quick-access. company-show-numbers-function has been deprecated and its default value changed to nil. Use company-quick-access-hint-function instead. company--show-numbers has been deprecated.
  • company-complete-number has been renamed to company-complete-tooltip-row (#1118).
  • New faces company-tooltip-quick-access and company-tooltip-quick-access-selection (#303).
  • Default colors for dark themes have been changed (#949).
  • Default key bindings have been changed, moving company-select-next and company-select-previous from M-n and M-p to C-n and C-p (#1098). The bound commands are also changed: company-select-next-or-abort and company-select-previous-or-abort, to match the <up> and <down> bindings. The previous bindings still work, but show a warning and will be ... ...