]> code.delx.au - gnu-emacs-elpa/blob - NEWS.md
company-dabbrev--search-buffer: Speed up
[gnu-emacs-elpa] / NEWS.md
1 # History of user-visible changes
2
3 ## Next
4
5 * `company-files` has been moved to right after `company-capf` in
6 `company-backends`
7 ([#463](https://github.com/company-mode/company-mode/issues/463)).
8 * `company-semantic-insert-arguments`: New option. Like in `company-clang`.
9 * `company-semantic-begin-after-member-access`: New option. Similar to the one
10 in `company-clang`.
11 * `company-capf` accepts `:company-prefix-length` property value.
12 * New face `company-tooltip-annotation-selection`, used for the annotation in
13 the selected tooltip line.
14 * `company-clang-objc-templatify` has been renamed to
15 `company-template-objc-templatify`.
16 * When duplicates are removed, completions without annotations are also removed
17 in favor of completions with equal names that have annotations (experimental
18 change) ([#432](https://github.com/company-mode/company-mode/issues/432)).
19 * New user option `company-etags-everywhere`.
20 * `company-yasnippet` supports `yas-key-syntaxes` better. But we use them in the
21 reverse order, preferring the longest key prefix that matches anything. And we
22 only consider trigger key prefixes that are at least as long as the symbol at
23 point, which effectively means skipping the `"w"` element
24 ([#422](https://github.com/company-mode/company-mode/issues/422)).
25 * New user option `company-search-regexp-function`.
26 * Completion is not started automatically when a keyboard macro is being
27 recorded ([#374](https://github.com/company-mode/company-mode/issues/374)).
28 * New command `company-indent-or-complete-common`.
29 * Backend command `doc-buffer` now can also return a cons of buffer and window
30 start position.
31 * Backend command `ignore-case` has been documented.
32 * `company-template-c-like-templatify` does not replace the default argument
33 values with `argN` anymore
34 ([#336](https://github.com/company-mode/company-mode/issues/336)). This
35 affects `company-clang` and all third-party backends that use this function.
36 * Likewise for `company-clang-objc-templatify`.
37 * `company-template-add-field` calling convention has changed.
38 * New user option `company-dabbrev-ignore-invisible`.
39 * `company-ropemacs` was removed. `ropemacs` supports completion via
40 `completion-at-point-functions` starting with version 0.8.
41 * `company-pysmell` was removed.
42 * `company-select-next`, `company-select-previous`,
43 `company-select-next-or-abort`, `company-select-previous-or-abort` and
44 `company-complete-common-or-cycle` accept a numeric argument.
45 * The documentation buffer window can be scrolled with the mouse wheel.
46 * New command `company-diag`. Use it in bug reports.
47
48 ## 2015-02-02 (0.8.10)
49
50 * New variable `company-lighter-base`.
51 * Better tracking of the current selection.
52 * Pressing `M-0`...`M-9` works in the search mode.
53 * Pressing `<up>` or `<down>` doesn't quit the search mode.
54
55 ## 2015-01-23 (0.8.9)
56
57 * New commands `company-next-page` and `company-previous-page`, remapping
58 `scroll-up-command` and `scroll-down-command` during completion.
59
60 ## 2015-01-13 (0.8.8)
61
62 * Pressing `M-n` or `M-p` doesn't quit the search mode.
63 * New command `company-complete-common-or-cycle`. No default binding.
64 * `company-search-toggle-filtering` replaced `company-search-kill-others`.
65 * Quitting the search mode resets the filtering.
66 * Pressing `backspace` in the search mode deletes the character at the end of
67 the search string.
68 * `company-semantic` displays function arguments as annotations.
69 * New user option, `company-bbdb-modes`.
70 * `company-show-numbers` and `company-complete-number` now use visual numbering
71 of the candidates, taking into account only the ones currently displayed.
72 * `company-complete-number` can be bound to keypad numbers directly, with or
73 without modifiers.
74 * `company-cmake` expands `<LANG>` and `<CONFIG>` placeholders inside variable
75 names.
76
77 ## 2014-10-15 (0.8.6)
78
79 * `company-clang` and `company-template-c-like-templatify` support templated
80 functions and arguments.
81 * `company-dabbrev` ignores "uninteresting" buffers by default. Depends on the
82 new user option, `company-dabbrev-ignore-buffers`.
83 * `company-files` checks directory's last modification time.
84 * `company-files` supports relative paths and Windows drive letters.
85
86 ## 2014-08-13 (0.8.4)
87
88 * `company-ropemacs` is only used when `ropemacs-mode` is on.
89 * `company-gtags` is enabled in all `prog-mode` derivatives by default.
90 * `company-end-of-buffer-workaround` is not used anymore.
91 * `company-begin-commands` includes some of `cc-mode` commands.
92
93 ## 2014-08-27 (0.8.3)
94
95 * On Emacs 24.4 or newer, tooltip positioning takes line-spacing into account.
96 * New face `company-tooltip-search`, used for the search string in the tooltip.
97 * The default value of `company-dabbrev-minimum-length` is set to 4, independent
98 of the `company-minimum-prefix-length` value.
99
100 ## 2014-07-26 (0.8.2)
101
102 * New user option `company-occurrence-weight-function`, allowing to tweak the
103 behavior of the transformer `company-sort-by-occurrence`.
104 * Setting `company-idle-delay` to `t` is deprecated. Use the value 0 instead.
105
106 ## 2014-07-01 (0.8.1)
107
108 * `company-require-match` is not in effect when the new input doesn't continue
109 the previous prefix, and that prefix was a match.
110 * The meaning of `company-begin-commands` value t has slightly changed.
111 * New transformer, `company-sort-by-backend-importance`.
112 * When grouped back-ends are used, the back-end of the current candidate is
113 indicated in the mode-line, enclosed in angle brackets.
114 * New user option `company-gtags-insert-arguments`, t by default.
115 * `company-css` knows about CSS3.
116 * `company-gtags` supports `meta` and `annotation`.
117 * User option `company-dabbrev-code-other-buffers` can have a new value: `code`.
118 * New user option `company-tooltip-flip-when-above`.
119 * `company-clang` uses the standard header search paths by default.
120 * `C-h` is bound to `company-show-doc-buffer` (like `f1`).
121
122 ## 2014-04-19 (0.8.0)
123
124 * `company-capf` is included in `company-backends` in any supported Emacs
125 version (>= 24.1). `company-elisp` goes before it if Emacs version is < 24.4.
126 * New user option `company-clang-insert-arguments`, by default t.
127 * Default value of `company-idle-delay` lowered to `0.5`.
128 * New user option `company-tooltip-minimum-width`, by default 0.
129 * New function `company-grab-symbol-cons`.
130 * `company-clang` fetches completion candidates asynchronously.
131 * Added support for asynchronous back-ends (experimental).
132 * Support for back-end command `crop` dropped (it was never documented).
133 * Support for Emacs 23 dropped.
134 * New user option `company-abort-manual-when-too-short`.
135
136 ## 2014-03-25 (0.7.3)
137
138 * New user option `company-etags-ignore-case`.
139
140 ## 2014-03-19 (0.7.2)
141
142 * Support for Emacs 22 officially dropped.
143 * `company-clang` supports `indent-tabs-mode` and multibyte chars before point.
144
145 ## 2014-03-18 (0.7.1)
146
147 * Group of back-ends can now contain keyword `:with`, which makes all back-ends
148 after it to be skipped for prefix calculation.
149 * New function `company-version`.
150 * New bundled back-end `company-yasnippet`.
151 * Completion candidates returned from grouped back-ends are tagged to remember
152 which back-end each came from.
153 * New user option `company-tooltip-align-annotations`, off by default.
154 * New bundled back-end `company-bbdb`.
155
156 ## 2014-02-18 (0.7)
157
158 * New back-end command, `match`, for non-prefix completion.
159 * New user option `company-continue-commands`. The default value aborts
160 completion on buffer saving commands.
161 * New back-end command, `annotation`, for text displayed inline in the popup
162 that's not a part of completion candidate.
163 * `company-capf`, `company-clang` and `company-eclim` use `annotation`.
164 * `company-preview*` faces inherit from `company-tooltip-selection` and
165 `company-tooltip-common-selection` on light themes.
166 * New user option `company-transformers`.
167 * First transformer, `company-sort-by-occurrence`.
168 * New user options controlling `company-dabbrev` and `company-dabbrev-code`.
169
170 ## 2014-01-25 (0.6.14)
171
172 * The tooltip front-end is rendered with scrollbar, controlled by the user
173 option `company-tooltip-offset-display`.
174 * The tooltip front-end is rendered with margins, controlled by the user option
175 `company-tooltip-margin`.
176
177 ## 2014-01-14 (0.6.13)
178
179 * Experimental support for non-prefix completion.
180 * Starting with Emacs version 24.4, `company-capf` is included in
181 `company-backends` and replaces `company-elisp`.
182 * `company-capf` supports completion tables that return non-default boundaries.
183 * `company-elisp` is enabled in `inferior-emacs-lisp-mode`.
184
185 ## 2013-09-28 (0.6.12)
186
187 * Default value of `company-begin-commands` changed to `(self-insert-command)`.
188 * Futher improvement in `org-indent-mode` compatibility.
189
190 ## 2013-08-18 (0.6.11)
191
192 * `company-template-c-like-templatify` removes all text after closing paren, for
193 use in backends that display additional info there.
194 * `company-cmake` is now bundled.
195 * Better `linum` compatibility in Emacs <= 24.2.
196 * `company-global-modes`: New option.
197
198 ## 2013-05-26 (0.6.10)
199
200 * Plays nicer with `org-indent-mode`.
201 * Works in horizontally scrolled windows.
202
203 ## 2013-05-10 (0.6.9)
204
205 * `company-capf` respects `:exit-function` completion property.
206 * `company-backends`: `prefix` command can return `t` in the cdr.
207 * `company-clang-begin-after-member-access`: New option.
208 * Mouse click outside the tooltip aborts completion.
209 * `company-clang` uses standard input to pass the contents of current buffer to
210 Clang 2.9+, otherwise saves the buffer and passes the path to the file.
211 * `company-clang-auto-save` option has been removed.
212 * Better interaction with `outline-minor-mode`.
213 * `company-dabbrev-code` supports all `prog-mode` derivatives.
214
215 ## 2013-04-16 (0.6.8)
216
217 * `company-auto-complete` is disabled by default.
218 * `company-auto-complete-chars` default value includes fewer syntax classes.
219 * In expanded function calls, arguments skipped by the user default to "argN".
220 * `company-eclim` and `company-clang` do not strip argument types from fields.
221 * `company-clang` expands function calls for all three modes now.
222 * `company-clang` supports `c++-mode` by default.
223
224 ## 2013-04-05 (0.6.7)
225
226 * Two `company-elisp` tweaks.
227
228 ## 2013-04-01 (0.6.6)
229
230 * `company-elisp` doesn't offer completions when typing the name and the
231 arguments of a new function or macro definition, allowing to fall back to
232 other back-ends like `company-dabbrev-code`.
233
234 ## 2013-03-30 (0.6.5)
235
236 * Fixed keybindings when running in a terminal.
237 * `company-elisp-show-locals-first`: new customizable variable.
238 * `company-elisp` shows more accurate and comprehensive candidates list.
239
240 ## 2013-03-26 (0.6.4)
241
242 * `company-eclim` shows valid completions after an opening paren.
243 * Expanded template does not get removed until the point leaves it. After your
244 input the last argument in a method call expanded by `company-eclim`, you can
245 press `<tab>` once more, to jump after the closing paren. No other bundled
246 back-ends are affected.
247
248 ## 2013-03-25 (0.6.3)
249
250 * New tooltip face colors used on themes with light background.
251 * Pseudo-tooltip stays up-to-date when text is inserted after the point.
252 * Fixed `company-require-match` mechanics.
253
254 ## 2013-03-24 (0.6.2)
255
256 * `global-company-mode` is now autoloaded.
257
258 ## 2013-03-23 (0.6.1)
259
260 * Documented `init` and `post-completion` back-end commands.
261 * `company-eclim` and `company-clang` only expand the template on explicit user
262 action (such as `company-complete-{selection,number,mouse}`).
263 * `company-template` has some breaking changes. When point is at one of the
264 fields, it's displayed at the beginning, not right after it; `<tab>` jumps to
265 the next field, `forward-word` and `subword-forward` remappings are removed;
266 when you jump to the next field, if the current one hasn't been edited, the
267 overlay gets removed but the text remains.
268 * `company-eclim` shows method overloads and expands templates for calls.
269 * `company-clang-objc-templatify` does not insert spaces after colons anymore.
270 * `company-clang` is now only initialized in supported buffers.
271 So, no error messages if you don't have Clang until you open a C file.
272 * `company-clang` recognizes Clang included in recent Xcode.
273 * New commands `company-select-previous-or-abort` and
274 `company-select-next-or-abort`, bound to `<up>` and `<down>`.
275
276 ## 2013-03-19 (0.6)
277
278 * Across-the-board bugfixing.
279 * `company-pysmell` is not used by default anymore.
280 * Loading of `nxml`, `semantic`, `pymacs` and `ropemacs` is now deferred.
281 * Candidates from grouped back-ends are merged more conservatively: only
282 back-ends that return the same prefix at point are used.
283 * `company-clang` now shows meta information, too.
284 * Some performance improvements.
285 * Fixed two old tooltip annoyances.
286 * Instead of `overrriding-terminal-local-map`, we're now using
287 `emulation-mode-map-alists` (experimental). This largely means that when the
288 completion keymap is active, other minor modes' keymaps are still used, so,
289 for example, it's not as easy to accidentally circumvent `paredit-mode`
290 when it's enabled.
291 * `company-elisp` has seen some improvements.
292 * Added `company-capf`: completion adapter using
293 `completion-at-point-functions`. (Stefan Monnier)
294 * Clang completions now include macros and are case-sensitive.
295 * Switching between tag files now works correctly with `company-etags`.
296
297 ## 2010-02-24 (0.5)
298
299 * `company-ropemacs` now provides location and docs. (Fernando H. Silva)
300 * Added `company-with-candidate-inserted` macro.
301 * Added `company-clang` back-end.
302 * Added new mechanism for non-consecutive insertion.
303 (So far only used by clang for ObjC.)
304 * The semantic back-end now shows meta information for local symbols.
305 * Added compatibility for CEDET in Emacs 23.2 and from CVS. (Oleg Andreev)
306
307 ## 2009-05-07 (0.4.3)
308
309 * Added `company-other-backend`.
310 * Idle completion no longer interrupts multi-key command input.
311 * Added `company-ropemacs` and `company-pysmell` back-ends.
312
313 ## 2009-04-25 (0.4.2)
314
315 * In C modes . and -> now count towards `company-minimum-prefix-length`.
316 * Reverted default front-end back to `company-preview-if-just-one-frontend`.
317 * The pseudo tooltip will no longer be clipped at the right window edge.
318 * Added `company-tooltip-minimum`.
319 * Windows compatibility fixes.
320
321 ## 2009-04-19 (0.4.1)
322
323 * Added `global-company-mode`.
324 * Performance enhancements.
325 * Added `company-eclim` back-end.
326 * Added safer workaround for Emacs `posn-col-row` bug.
327
328 ## 2009-04-18 (0.4)
329
330 * Automatic completion is now aborted if the prefix gets too short.
331 * Added option `company-dabbrev-time-limit`.
332 * `company-backends` now supports merging back-ends.
333 * Added back-end `company-dabbrev-code` for generic code.
334 * Fixed `company-begin-with`.
335
336 ## 2009-04-15 (0.3.1)
337
338 * Added 'stop prefix to prevent dabbrev from completing inside of symbols.
339 * Fixed issues with tabbar-mode and line-spacing.
340 * Performance enhancements.
341
342 ## 2009-04-12 (0.3)
343
344 * Added `company-begin-commands` option.
345 * Added abbrev, tempo and Xcode back-ends.
346 * Back-ends are now interactive. You can start them with M-x backend-name.
347 * Added `company-begin-with` for starting company from elisp-code.
348 * Added hooks.
349 * Added `company-require-match` and `company-auto-complete` options.
350
351 ## 2009-04-05 (0.2.1)
352
353 * Improved Emacs Lisp back-end behavior for local variables.
354 * Added `company-elisp-detect-function-context` option.
355 * The mouse can now be used for selection.
356
357 ## 2009-03-22 (0.2)
358
359 * Added `company-show-location`.
360 * Added etags back-end.
361 * Added work-around for end-of-buffer bug.
362 * Added `company-filter-candidates`.
363 * More local Lisp variables are now included in the candidates.
364
365 ## 2009-03-21 (0.1.5)
366
367 * Fixed elisp documentation buffer always showing the same doc.
368 * Added `company-echo-strip-common-frontend`.
369 * Added `company-show-numbers` option and M-0 ... M-9 default bindings.
370 * Don't hide the echo message if it isn't shown.
371
372 ## 2009-03-20 (0.1)
373
374 * Initial release.