Version 1.1.0 of package Company has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Company describes itself as: ================================= Modular text completion framework ================================= More at https://elpa.gnu.org/packages/company.html ## Summary: 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) ## Recent NEWS: # History of user-visible changes # 2026-07-21 (1.1.0) * `company-tooltip-minimum-width` has a new value: 15. * `company-tooltip-maximum-width`: same, 100. * `company-tooltip-width-grow-only` learned how to grow only up to particular size (implemented in `company--create-lines`). The default value is 50. * `company-childframe` gets enabled by default on NS/Mac/W32/PGTK systems, and on all others (notably X11 builds) when Emacs is at least 31.1. ([#1542](https://github.com/company-mode/company-mode/pull/1542)). * Default key bindings have been changed, moving `company-show-doc-buffer` and `company-show-location` to `M-h` and `M-g` (from `C-h`/`<f1>` and `C-w`) ([#1537](https://github.com/company-mode/company-mode/issues/1537)). The previous bindings still work, but show a warning and will be removed after the next release. To undo that change locally, do: ```el (with-eval-after-load 'company (define-key company-active-map (kbd "C-h") #'company-show-doc-buffer) (define-key company-active-map (kbd "<f1>") #'company-show-doc-buffer) (define-key company-active-map (kbd "C-w") #'company-show-location) (define-key company-active-map (kbd "M-h") nil) (define-key company-active-map (kbd "M-g") nil)) ``` * `company-search-regexp-function` defaults to `company-search-words-in-any-order-regexp`. Another alternative value for it was also added: `company-search-flex-words-in-any-order-regexp`, working somewhat similar to the popular completion style Orderless. * The `search` faces in the popup inherit from `isearch`. * New option `company-global-minibuffer` for completion during `eval-expression` (`M-:`). The "pseudo-tooltip" frontend is not supported by this feature, `company-childframe` is recommended instead. * `C-M-i` is bound to `company-complete-common` when completion is active. * Search mode input is displayed at the bottom of the popup ([#1535](https://github.com/company-mode/company-mode/pull/1535)). * New built-in frontend using "real graphical" widget for the popup ([#1525](https://github.com/company-mode/company-mode/pull/1525)). This also adds a hard dependency on the package `posframe`. * The default light theme colors were changed to a more neutral set, and the scroll bar background was removed ([#1529](https://github.com/company-mode/company-mode/pull/1529)). * The minimum required version of Emacs is now 26.1. * `TAB` binding changed to `company-complete-common-or-cycle`, and `backtab` binding to `company-cycle-backward` ([#1499](https://github.com/company-mode/company-mode/pull/1499)). * Completion is restarted if it enters a new "field" at the end, as indicated by the `adjust-boundaries` backend action ([#1497](https://github.com/company-mode/company-mode/pull/1497)). This benefits file name (and directory) completion. The user option `company-files-chop-trailing-slash` has been removed, and the `post-completion` handler in `company-files` has been removed as well. * Handle the case when the current c-a-p-f function changes mid-session ([#1494](https://github.com/company-mode/company-mode/pull/1494)). # 2024-09-23 (1.0.2) * More reliable cache expiration (at the beginning of completion). # 2024-09-21 (1.0.1) * Fix for failover from a backend group to the next backend. # 2024-09-21 (1.0.0) * `company-complete-common` now performs generalized [expand common part](https://github.com/company-mode/company-mode/pull/1488) completion when the backend supports that. In particular, for `completion-at-point-functions` it queries `completion-try-completion`. `company-dabbrev-code` and `company-etags` also do that when `completion-styles` support is enabled. * `company-dabbrev-other-buffers` and `company-dabbrev-code-other-buffers` can now take a function as its value ([#1485](https://github.com/company-mode/company-mode/issues/1485)) * Completion works in the middle of a symbol ([#1474](https://github.com/company-mode/company-mode/pull/1474)). * New user option `company-inhibit-inside-symbols`. Set it to `t` to switch ... ...
