Commit Graph

1464 Commits

Author SHA1 Message Date
Christian Kamm
08cfc8f28c Pass in the whole AST path for scope creation.
Just the declaring member isn't enough.
2010-02-22 10:22:23 +01:00
Christian Kamm
8274197366 Implement function to get the QmlJS AST path to a given location.
Will be useful for improved scope chain building.
2010-02-22 10:22:23 +01:00
Christian Kamm
c289897351 Make QmlJS scope building more flexible.
Instead of only maintaining a flat list of scopes, actually store the
global, component chain, root object, scope object, function, id and js
scopes separately.
2010-02-22 10:22:23 +01:00
Erik Verbruggen
5e449a80c4 Fixed diagnostic underlining to take the location length into account.
Done-with: Christian Kamm
2010-02-19 15:11:03 +01:00
Christian Kamm
ced28c7090 Use the fully qualified name when registering the SemanticInfos.
Both for CppEditor::Internal::SemanticInfo and QmlJSEditor::Internal::
SemanticInfo.
2010-02-16 15:29:21 +01:00
Christian Kamm
45efd5b5b1 Don't show 'invalid property name' errors if we can't resolve the type.
The idea is that it may be a plugin-provided type. We don't want user
code to be riddled with error markers in that case.

Reviewed-by: Roberto Raggi
2010-02-16 13:30:40 +01:00
Christian Kamm
da3679066e Add QmlJS semantic checker.
* Add SemanticHighlighter to QmlJSTextEditor to update the semantic info
  in a background thread.
* Add QmlJS::Check to run semantic checks on qml and js documents.
* Add a check for incorrect property names.
* Fix hoverhandler to show tool tips from extra selections over help
  tooltips.
2010-02-16 10:38:56 +01:00
Roberto Raggi
83e40337d9 Simplified the algorithm used to compute the expression under cursor. 2010-02-15 14:54:03 +01:00
Roberto Raggi
33b4b15a60 Check the file's mimetype before creating QML/JS documents. 2010-02-15 14:07:35 +01:00
Roberto Raggi
2a63387085 Renamed qmlmodelmanager. 2010-02-15 13:49:00 +01:00
Roberto Raggi
52b04f5d99 Renamed qmlhoverhandler. 2010-02-15 13:42:58 +01:00
Roberto Raggi
d22610c724 Renamed qmlcodecompletion. 2010-02-15 13:39:41 +01:00
Roberto Raggi
d55e270761 Fixed: Using ! (not) stops autocomplete working
Task-number: QTCREATORBUG-188
2010-02-15 12:58:46 +01:00
Roberto Raggi
fd26a8c8ec Get rid of the QmlJS prefix. 2010-02-15 12:56:03 +01:00
Roberto Raggi
8fb82ef792 Merge qmljshighlighter.* with qmlhighlighter.*. 2010-02-15 12:39:30 +01:00
Roberto Raggi
3d34ce42f7 Removed obsolete code. 2010-02-15 12:28:54 +01:00
Christian Kamm
b23fc0c572 Rename QmlJS::Check -> QmlJS::Evaluate.
It is used to evaluate expressions to values.
Done to make room for a real 'check' pass.
2010-02-15 11:52:39 +01:00
Christian Kamm
9245c7bab5 Removed unnecessary includes of qmljslink.h 2010-02-12 10:10:20 +01:00
Roberto Raggi
d61cca8e0a Show the generated slots in the completion box for the attached property `Keys'. 2010-02-10 16:47:31 +01:00
Roberto Raggi
4d7444e6cd Fixed the insertion of matching braces when the token at the left of the cursor is a string literal. 2010-02-10 16:24:23 +01:00
Roberto Raggi
2e7ddfb914 Get rid of useless qDebugs. 2010-02-10 14:38:08 +01:00
Roberto Raggi
3d44c5621d Improved completion of JavaScript expressions. 2010-02-09 11:37:58 +01:00
Roberto Raggi
967ed09c29 Initial support of `Follow symbol under cursor' for QML/JS. 2010-02-09 11:37:58 +01:00
Roberto Raggi
a5e701a0f7 Re-enabled automatic completion. 2010-02-04 14:10:19 +01:00
Christian Kamm
25e04d8ef1 Make QmlJS::Link private. Use Context::build to set up a context. 2010-02-04 10:34:49 +01:00
Roberto Raggi
254c9c8d64 Disable the auto global completion for QML/JS files.
It needs some tuning :(
2010-02-03 16:07:03 +01:00
Roberto Raggi
3ee6a03fc7 Disabled snippet completion. 2010-02-03 16:07:03 +01:00
Roberto Raggi
976d74ca73 Add support for lazy prototypes.
Done-with: ckamm
2010-02-03 15:42:32 +01:00
Roberto Raggi
1f0b717ad2 Completion for global variables in JS.
* Support for lookup JS vs Qml
* Bind global variables.

Done-with: ckamm
2010-02-03 14:34:06 +01:00
Roberto Raggi
1cbee8cd71 Fixed EnumerateProperties to enumerate properties of the base object.
Done with: ckamm
2010-02-03 11:12:19 +01:00
Christian Kamm
49c43aaab1 Get rid of Environment, introduce external ScopeChain in Link.
Done-with: Roberto
2010-02-03 10:59:52 +01:00
Roberto Raggi
ba18e70034 Introduced QML/JS references.
Done with ckamm
2010-02-03 10:24:25 +01:00
Roberto Raggi
14ffb1e465 Some refactoring needed to create ranges for JavaScript functions. 2010-02-02 16:36:14 +01:00
Christian Kamm
03fa188b41 Bind each QML document after parsing. Link them before use.
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2010-02-02 16:03:43 +01:00
Roberto Raggi
fac977a5bd Try to get the type from a qualified-id. 2010-02-02 15:02:21 +01:00
kh1
e94ff514ed Move HelpManager it's own source files.
Reviewed-by: ck
2010-02-02 14:27:11 +01:00
Roberto Raggi
d22de18fae Introduced SemanticInfo::nodeUnderCursor(). 2010-02-02 13:19:27 +01:00
Roberto Raggi
f8ed5c58f0 Check the document's revision when creating links. 2010-02-02 13:19:26 +01:00
Roberto Raggi
4bb0e85cfe Cleanup 2010-02-02 11:14:30 +01:00
Roberto Raggi
53d1eba3f7 Use the snapshot from the semanticinfo when processign QML/JS documents. 2010-02-02 11:14:30 +01:00
Roberto Raggi
0bb575b1f2 Create a link for the QML/JS expression under cursor. 2010-02-01 16:18:27 +01:00
Roberto Raggi
460c47f5c6 Introduced SemanticInfo::declaringMember(pos). 2010-02-01 16:18:26 +01:00
Roberto Raggi
0cf48cb45d Introduced ASTFunctionValue. 2010-02-01 13:54:59 +01:00
Roberto Raggi
4880ae5b94 Don't activate the completion when the token under cursor is a comment or a string literal. 2010-02-01 11:55:19 +01:00
Roberto Raggi
d514949ad5 Removed obsolete code. 2010-02-01 11:41:15 +01:00
Roberto Raggi
cd9d13acac Simplified triggerCompletion(). 2010-02-01 11:40:29 +01:00
Roberto Raggi
18e0777e41 Sort lower case items before upper case items in QML/JS completion.
Done with: Thorbjorn
2010-02-01 11:33:26 +01:00
Oswald Buddenhagen
75b42f18d8 Merge remote branch 'origin/1.3'
Trailing whitespace removal re-applied manually.
2010-01-29 22:50:23 +01:00
Kai Koehne
5c16f706c6 Replace .qmlproject default editor with the .qml one
Extend logic for mimetype matching in QmlJsEditor: Also
handle sub-mimetypes like x-application-qmlproject, which
extends x-application-qml.
2010-01-29 12:14:42 +01:00
Roberto Raggi
14207aa856 Fixed highlihing of QML context keywords. 2010-01-29 11:20:42 +01:00