company
- Description
- Modular text completion framework
- Latest
- company-0.10.2.0.20240311.194338.tar (.sig), 2024-Mar-31, 2.60 MiB
- Maintainer
- Dmitry Gutov <dmitry@gutov.dev>
- Atom feed
- company.xml
- Website
- http://company-mode.github.io/
- Browse ELPA's repository
- CGit or Gitweb
- Badge
- Manual
- company
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.2.0.20240302.152556.tar.lz | 2024-Mar-02 | 2.03 MiB |
company-0.10.2.0.20240302.51303.tar.lz | 2024-Mar-02 | 2.03 MiB |
company-0.10.2.0.20240301.34611.tar.lz | 2024-Mar-01 | 2.03 MiB |
company-0.10.2.0.20240218.181202.tar.lz | 2024-Feb-18 | 2.04 MiB |
company-0.10.2.0.20231220.231604.tar.lz | 2023-Dec-21 | 2.04 MiB |
company-0.10.1.0.20231006.143817.tar.lz | 2023-Oct-06 | 2.03 MiB |
company-0.10.0.0.20231004.144512.tar.lz | 2023-Oct-04 | 2.03 MiB |
company-0.9.13.0.20230926.3256.tar.lz | 2023-Sep-30 | 2.03 MiB |
company-0.9.13.0.20221206.212202.tar.lz | 2022-Dec-06 | 2.03 MiB |
company-0.9.13.0.20201231.143409.tar.lz | 2020-Dec-31 | 62.9 KiB |
News
History of user-visible changes
Next
company-elisp
has been removed. It's not needed since Emacs 24.4, with all of its features having been incorporated into the built-in Elisp completion.company-files
shows shorter completions. Previously, the popup spanned the whole absolute file name being completed, and now it starts after the nearest directory separator (#1040).- New user option
company-capf-disabled-functions
(#1437). - Better support for
yas-key-syntaxes
(#1268). - New user option
company-tooltip-scrollbar-width
with default 0.4. - The tooltip uses a more complex rendering approach, supporting double
width/CJK characters, as well as buffer text of different sizes
(#1394).
variable-pitch-mode
is also working better, although when using it it's recommended to customize thecompany-tooltip
face to be monospaced. - New user option
company-dabbrev-code-completion-styles
. Use it to enable fuzzy matching incompany-dabbrev-code
(#1215). An example configuration one can try:
el
(setq company-dabbrev-code-ignore-case t
company-dabbrev-code-completion-styles '(basic flex))
- The backend command
keep-prefix
is being phased out. The built-in backends implement it internally now, which resolved a number of sharp edges (mostly) around "grouped" backends. To make that easier, several helpers were added, such ascompany-cache-fetch
andcompany-substitute-prefix
(#1411). Andcompany-ispell
uses the cache to keep the currently selected dictionary loaded in memory between completions. - The "length override" behavior in grouped backends now acts on each backend separately (#1405).
2023-10-08 (0.10.2)
- More
company-auto-update-doc
-related fixes. - Better handling of
C-g
performed inside adoc-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 nometa
.- 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 variablecompany-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
andcompany-auto-commit-chars
have been renamed tocompany-insertion-on-trigger
andcompany-insertion-triggers
respectively (#1270).- New command
company-complete-common-or-show-delayed-tooltip
(#1214). - Faces
company-scrollbar-fg
andcompany-scrollbar-bg
have been renamed tocompany-tooltip-scrollbar-thumb
andcompany-tooltip-scrollbar-track
respectively. - Better compatibility with
visual-line-mode
(#1257). - Better compatibility with
org-indent-mode
... ...