PreviousNextTracker indexSee it online !

(113/161) 3369515 - CtagsInterface: refactor to use Completion Plugin

CtagsInterface should depend on Completion.
Remove the "optional" dependency from Completion to CtagsInterface.
Rewrite CtagsInterface to offer completion service to Completion plugin.

Submitted ezust - 2011-07-17 - 19:20:59z Assigned nobody
Priority 5 Category None
Status Open Group None
Resolution None Visibility No


2011-07-18 - 20:34:24z
Did that locally, then I noticed that the Completion plugin lacks some features that I'd be interested in:
1. Use different shortcuts to invoke completions of different plugins (e.g. if I want to use only the completions from CtagsInterface, I don't want to go to the option pane for that, I want a shortcut that will allow me to use only that).
2. CtagsInterface's completion popup offers extended information about the tags. It is more than just a simple list with icons; it can show you more info about the currently selected completion so you have more information to decide which one is appropriate.

Until those are implemented in the Completion plugin, I will not refactor CtagsInterface, only add the support for Completion.
2011-07-18 - 20:45:40z
The partial implementation of this is in commit eae36cf..854fc20.
Added code to allow the Completion plugin to be used.
For now, didn't remove the old code that completes from the tag database (due to the missing features in the Completion plugin), and also didn't move the relevant class CtagsCompletionCandidate from Completion to CtagsInterface.
2011-11-10 - 21:52:38z
Support for the optional description panel in the popup window has been submitted.
2011-11-19 - 12:09:05z
Thanks for the support for a description panel - however, the description panel currently appears on the right of the completion list, and in many cases it is useless because the completion list is very wide (e.g. showing function signatures with many parameters), so only a tiny part of the description panel is visible.
In CtagsInterface, I put it below the completion list for this reason. Maybe the placement can be computed at runtime according to the size & placement of the completion list.