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