* add (multiline) template string support
templates can be nested, which means that the scanner/lexer cannot
be a simple state machine anymore, but should have a stack to store
the state (the number of open braces in the current template
string).
The lexer stare is currently stored in an int, so we abuse that and
store a the number of open braces (maximum 0x7f = 127) for at most 5
nested templates in the int after the flags for the multiline
comments and strings.
* improve representation of delimiters (==, <=, ||,... not split in
separate delimiters)
* (QmlDom backport)
Change-Id: I2b4d23b65febedef29a748f4c5f377fde27bd7fd
Fixes: QTCREATORBUG-22766
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Bugs fixed in this change:
1. Incorrect function arguments formatting:
function(a, b, c) -> function(abc)
2. Incorrect foreach loop formatting:
for (var a in b) -> for (a in b)
3. Incorrect for loop formatting:
for (var a = 1; a < 100; ++a) -> for(; a < 100; ++a)
Change-Id: I8afef6e5f2485a2225931b7ecb7210506e06dc6c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>