Moving stuff for include-completion to kdevplatform
Milian Wolff
mail at milianw.de
Mon Aug 3 12:18:46 UTC 2009
Hi again :)
Cpp contains a lot of stuff which other language plugins could take
advantage of. Right now I want to implement autocompletion for includes
in PHP.
What I think would be useful:
- moving cpp/includeitem.h to kdevplatform:
* would language/codecompletion be a sane place for that? Esp.
considering that this header is used e.g. in some Cpp specific quickopen
stuff. Maybe utils is a better place?
- moving IncludeFileCompletionItem from cpp/codecompletion/items.h:
* this should really go to language/codecompletion.
* except for the execute() method it looks language independent. It
should just be pure abstract or virtual.
- moving IncludeNavigationContext to kdevplatform:
* again - where to put this? language/util ?
* we also should take a look at what can be reused and what not. Esp.
the environment file info (number of declarations etc.) should be
language dependent. Macros e.g. are Cpp specific. Just having the html()
method virtual should be enough imo so it can be subclassed for language
where required.
* pickContextWithData() contains the lines:
if(!ctx->parsingEnvironmentFile() ||
ctx->parsingEnvironmentFile()->type() != KDevelop::CppParsingEnvironment)
continue;
so that generic IncludeNavigationContext has to be a template?
Everything else should imo stay as it is and be reimplemented on a
per-lang basis. Esp. getting reasonable list of include files is imo
highly lang dependent. For PHP it has to work for remote projects, maybe
honor a per-project setting for custom include paths etc. etc.
I can work on the stuff above, but want some input first so I don't mess
things up...
--
Milian Wolff
http://milianw.de
More information about the KDevelop-devel
mailing list