This package is defunct / unmaintained.
Google lead me to some code on github https://github.com/hjanetzek/ca2, not updated since 2009.
Ca2+ is an in-buffer completion mode based on CompanyMode. Sources for dabbrev, filenames, yasnippet, elisp, gtags and semantic are included. Notable features are tab-cycling through available sources, subword matching, insertion of function arguments as ad-hoc generated yasnippet template (with semantic), sorting by occurrence of words in current buffer and C-h shows description for candidates while selecting (only for elisp currently). Ca2+ is hosted on github: Ca2+. After checkout add ca2+ to your loadpath and load ca2+init. have a look in ca2+init.el and ca2+.el for config options and keybinding configuration. A small video that shows some features of the semantic-context source can be found here. I am not sure if I will develop the ca2+ui further as it seems that there is some progress going on with completion-ui and company-mode for which I will try to make the semantic-context source available.
git clone git://github.com/jeffdameth/ca2.git
- tab: cycles through sources
- space: substring matching: “a[tab] 8 s[ret]” will insert: “add-log-iso8601-time-string”. this feature also saves you from having to type in not so fast reachable charachters like ‘-’ or ‘_’
- return: expands the current candidate and triggers the action that may be defined by the source.
- C-ret: expands the current candidate and then calls ‘continue’ function of source. see filename and semantic sources.
- M-f: aborts completion.
- M-n/M-p: cycle trough candidates.
- M-h: expand-common expands the common part of all candidates or the current selected candidate to next word boundary, if no common expansion is possible.
- C-h: describe the current candidate, if the source provides a function for this.
Only ‘candidates’ is obligatory:
- name: show name of source in echo area when cycling through sources
- candidates: function that returns the list of possible completions. this can also be a list of cons where car is the candidate to show and insert and cdr can be additional information. cdr of the selected candidate will be shown directly in echo area when ‘info’ is not set. see yasnippet source.
- limit: minimum prefix length to find candidates.
- decider: can be a function that returns start position of prefix, a regular expression, or a thing-at-point thing. when omitted thing-at-point ‘symbol will be used to find prefix.
- action: action to execute after insertion. The expanded candidate is passed to this function. see yasnippet and semantic source.
- sort: sort candidates alphabetically when set t.
- sort-by-occurrence: candidates are sorted by words in current buffer set t.
- filter: candidates function provides candidates not filtered by prefix. set t when Ca2+ should do the filtering.
- info: this function is called for a selected candidate (with the cdr of candidate) and returns a string which (for now) will be shown in the echo area. see semantic source.
- describe: a function that shows a description of the candidate. used for elisp source with describe-function/variable.
- common-prefix: 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.
- separator: a char to chop candidates shown in tooltip before the last position of separator. e.g. useful in filename source.
- continue: try to find new completions after insertion, when set to t; used in filename source. this can also be a function that returns new candidates, see semantic-context sources
This source finds all elisp symbols which match prefix
'((name . "elisp")
(candidates . '(lambda (prefix)
To use the Semantic source Cedet is required. See A gentle introduction to Cedet