Projects/Quanta/Feature Plan 4

From KDE TechBase
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This is a todo list for Quanta4

Php Language Support

Status Category Description Contact
DONE Parser Parser written using kdevelop-pg-qt Niko Sams <[email protected]>
TO DO Parser PHP 5.3 support (configurable) <->
IN PROGRESS DUChain DUChain generation Niko Sams <[email protected]>
DONE DUChain class declaration after class instantiation should work as in Php Niko Sams <[email protected]>
DONE DUChain static variables Niko Sams <[email protected]>
DONE DUChain final / abstract classes Milian Wolff <[email protected]>
DONE DUChain final / abstract methods Milian Wolff <[email protected]>
DONE DUChain adapt isDestructor/isConstructor to handle __destruct / __construct Milian Wolff <[email protected]>
DONE DUChain add type for PHP resources Milian Wolff <[email protected]>
DONE DUChain global variables: global keyword, $GLOBALS, $_GET Niko Sams <[email protected]>
TO DO DUChain second parse pass when project opened - to find all types correctly <->
IN PROGRESS DUChain try to improve performance of declaration- and usebuilder, esp. for large files Milian Wolff <[email protected]>
TO DO DUChain user configurable project dependencies on other projects/paths <->
TO DO DUChain http://www.icosaedro.it/phplint/phpdoc.html <->
TO DO DUChain properly support magic constants: http://de3.php.net/language.constants.predefined

if possible show their value while hovering

<->
DONE DUChain add variable definitions for key/value in foreach statements Milian Wolff <[email protected]>


IN PROGRESS Code Completion Niko Sams <[email protected]>
DONE Code Completion overloadable functions in class context Milian Wolff <[email protected]>
TO DO Code Completion standard PHP keywords for current context (foreach, while, function, etc.) <->
TO DO Code Completion doxygen/phpdoc comment completion / skeleton generation <->
TO DO Code Completion completion for default entries of $_SERVER array <->
TO DO Code Completion completion after require/include, similar to what cpp does after #include <->
DONE Code Completion only show visible methods (protected/private/public) Milian Wolff <[email protected]>
DONE Code Completion only show interfaces after "implements" Milian Wolff <[email protected]>
DONE Code Completion only show classes/interfaces after "extends" Milian Wolff <[email protected]>
DONE Code Completion only show Exceptions in "catch()" and after "throw" Milian Wolff <[email protected]>
DONE Code Completion filter abstract methods/classes Milian Wolff <[email protected]>
TO DO Code Completion mind type hinting for function argument completion <->
TO DO Code Completion skeletons for while/do/for/foreach/switch/class/interface statements <->
TO DO Code Completion only show arrays/array-like objects in foreach-context <->
TO DO Code Completion group completion stuff by type, i.e. functions, classes, instances, keywords, etc. <->
TO DO Code Completion Create a global Context (imports all files of a project) that is imported in every context. That way findDeclarations(...) works across all files and we can drop that PersistentSymbolTable and CodeModel stuff <->
TO DO Code Completion create a phpdoc comment for functions / classes, see bug #95904 <->
TO DO Code Completion use PDTT tests http://wiki.eclipse.org/PDTT_-_PHP_5.3_Code_Assist_Tests <->


IN PROGRESS Problem reporting Niko Sams <[email protected]>
DONE Problem reporting don't create problems for not found declarations - instead do it as Cpp does - so it is even configurable Niko Sams <[email protected]>
TO DO Problem reporting give reasonable error messages <->
TO DO Problem reporting validate declaration visibility <->
TO DO Problem reporting configurable: report unreachable code (i.e. after return) <->
TO DO Problem reporting configurable: variable assignment instead of bool check <->
TO DO Problem reporting don't build declarations/types/uses/contexts for erroneous declarations <->
DONE Problem reporting validate redeclarations, esp. classes, functions, methods etc. Milian Wolff <[email protected]>
TO DO Problem reporting respect "semantic error highlighting" option <->
TO DO Problem reporting support different severities <->


DONE Internal Php functions extract functions from php manual Niko Sams <[email protected]>
DONE Internal Php functions add superglobal variables ($_GET, ...) Niko Sams <[email protected]>
TO DO Internal Php functions configurable: ignore deprecated autoglobals like $argv, $HTTP_*_VARS <->
TO DO Internal Php functions add @since for functions only avaliable in Php 5.3 <->


TO DO CodeGeneration new Class with support for extends/implements <->
TO DO CodeGeneration file template with proper phpdoc/doxygen comment <->
TO DO CodeGeneration Assistant popup for creating missing include files <->


IN PROGRESS Semantic Highlighting <->
DONE Semantic Highlighting make colors of member variables

and esp. of "$this" consistent

Milian Wolff <[email protected]>


TO DO Debugger Full-Featured Debugger <->


TO DO Unit Tests refactor tests to reduce repeated code <->
TO DO Unit Tests introduce tests for problem reporting <->


TO DO Documentation Add support for local and remote (php.net with comments) documentation, integrated into kdevelop. <->


TO DO Assistant take a look on where to integrate the assistant architecture <->


TO DO Formatter Add a formatter plugin for the PHP beautifier <->

Fix PHP-related Quanta bugs (list of bugs containing "PHP" keyword)

Kate PHP Highlighting

There are some bugs in the general PHP highlighting for Kate and other KTextEditor components. Note: Make sure to fix it in all files which use PHP.

Status Category Description Contact
DONE keywords fix <?PHP ,i.e. capital PHP Milian Wolff <[email protected]>
DONE constants add missing magic constants, see http://de3.php.net/language.constants.predefined Milian Wolff <[email protected]>