Details
-
Technical task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
6c1391911 (dev), 73baccb5f (dev), 8f34483ec (dev), 2b741acc5 (dev), 6670c4ba4 (dev), f61c298fc (dev), bf04c2200 (dev), 55b81ce7c (dev), 8e91ac6cd (dev), 166f53b63 (dev), 13ab5cd47 (dev), e8d363b82 (dev), 662f30236 (dev), 3114d4d15 (dev), aada41a2f (dev)
Description
Implement completion for all JS statements.
Always think about the two cases:
- completing the keyword (`for`, `let`, `switch`, for example)
- completing the statement itself (inside `for(let x = <complete here>; ; ){}`, for example).
Here a list: ( indicates merged, indicates 'wont do', needs to be done and in progress)
- BlockStatement
- VariableStatement
- EmptyStatement
- ExpressionStatement
- IfStatement
- IterationStatement
- do {} while();
- while() {}
- for() {}
- for (... in ...) {}
- for (... of ...){}
- SwitchStatement switch() {}
- CaseBlock/CaseClauses/DefaultClause/CaseClause
- Continue/Break statement
- ReturnStatement
- WithStatement
- LabelledStatement
- ThrowStatement
- TryStatement
- Declaration (check again at https://262.ecma-international.org/7.0/#prod-Declaration)
- Lexical Declaration (let and const)
- class declaration
- Hoistable declaration: function + function* (including lambdas)
Attachments
Issue Links
- covers
-
QTCREATORBUG-30056 QML snippets don't work when Language Server is enabled
- Closed
- relates to
-
QTBUG-118635 QML Language Server make unexpected suggestions for anything on a line that starts a function
- Closed
- split to
-
QTBUG-119803 qmlls: completion for JS methods/lambdas
- Closed