Homepage: https://github.com/hjanetzek/ca2
Updated:
An improved fork of `company-mode'
fork of company-mode.el, with code from auto-complete.el and completion methods found on emacswiki either enable ca-mode per buffer via (ca-mode 1) or use (global-ca-mode 1) to enable it in all buffer that match 'ca-modes' (require 'ca2+) (require 'ca2+sources) (require 'ca2+config) ;; change this to your needs if you use yasnippet: it must be loaded after ca2+config or you will get infinite recursions. I'll have to look into yasnippet to see why it does. changes: + tab cycles through sources + substring matching: type ca-substring-match-delimiter (default 'space') to start this mode. e.g. "a[tab] 8 s[ret]" will insert: "add-log-iso8601-time-string". this feature also saves you from having to type in not so easily reachable charachters like '-' or '_' + expand-common expand the current selected candidate to next word boundary, if no common expansion is possible + candidates are sorted by words in current buffer + ac-styled source description: so it's really easy to port sources for auto-complete + describe option: sources can provide a description function for candidates bound to C-h, see elisp source + continue-after-insertion option, to get new completions after insertion, see 'filename' source + actions to execute after insertion, see yasnippet source + candidates can be cons pairs, car is candidate, cdr is shown as minibuffer message, see yasnippet source + sources can indicate whether their candidates have a common-prefix, this is used to reduce the number of visible candidates, as the prefix will be shown only once. after expansion of prefix all candidates with that prefix are shown. see gtags and elisp sources. + thing-at-point decider can be used now, see 'filename' source TODO: - add autoexpand - when there is only one candidate to expand move point to end so that one only need to press space? BUGS: - expand-common does weird thing when word-filter is on - point jump around when cycling (remove current workaround) Please send Bug reports and suggestions to 'hannes dot janetzek at gmail dot com'