Commit Graph

31 Commits

Author SHA1 Message Date
Christian Kamm
7e3294a8ce C++ indenter: Don't get confused on 'for (a in b)'.
Reviewed-by: Roberto Raggi
Reviewed-by: Erik Verbruggen
(cherry picked from commit c2d890f65e)
2010-10-08 13:09:26 +02:00
Christian Kamm
8215a1d0c0 C++ indenter: Fix member initializer indent being hardcoded to 4.
Task-number: QTCREATORBUG-2456
2010-09-27 10:39:33 +02:00
Christian Kamm
17e0886c69 C++ indenter: Fix error recovery in function definitions.
Task-number: QTCREATORBUG-1517
2010-09-24 15:58:23 +02:00
Christian Kamm
dc58172b78 C++ indenter: Add some small error recovery. 2010-09-24 15:41:13 +02:00
Christian Kamm
d7bf4f515d C++ indenter: Fix indentation if template and class appear on one line.
Task-number: QTCREATORBUG-2427
2010-09-24 15:08:54 +02:00
Christian Kamm
be563abf68 C++ indenter: Simplify debugging by making dump() more verbose. 2010-09-24 15:08:54 +02:00
Christian Kamm
d68e9e1a4d C++ indenter: Fix curly brace placement for ANSI style.
There was a bug in 5cd6ebfdfd which meant
no reindent of the current line was triggered for the opening curly
brace on a new line.

Task-number: QTCREATORBUG-2331
2010-09-15 11:16:25 +02:00
Christian Kamm
e5cbb56fe7 C++ indenter: Fix for statement indentation and add test. 2010-09-15 11:16:25 +02:00
Christian Kamm
642b6fb0d3 C++ indenter: Separate indent into logical indent and padding. 2010-09-13 12:38:34 +02:00
Christian Kamm
5cd6ebfdfd C++: Only reindent on electric characters if indent wasn't user-changed.
This should make the indenter less strict and annoying for non-standard
indentation styles.

Reviewed-by: Roberto Raggi
2010-09-08 16:22:23 +02:00
Christian Kamm
1862282bee C++ indenter: Fix nested array/struct initializers. 2010-08-31 09:45:01 +02:00
Christian Kamm
b79fe7e711 C++: Fix indenting of QML_* macros.
Task-number: QTCREATORBUG-2111
2010-08-25 14:55:16 +02:00
Christian Kamm
538f611503 Indenters: Move style setup into the QtStyleCodeFormatter constructors.
This makes sure styles are consistent for the editor and the quick fix
engine.
2010-08-12 14:21:35 +02:00
Christian Kamm
27026af2e3 C++ indenter: Fix indent of block statements in substatement blocks.
Task-number: QTCREATORBUG-1919
2010-07-28 12:39:27 +02:00
Christian Kamm
d292eca5f6 C++ indenter: Indent member initializer lists correctly.
Without requiring ',' to be an electric character.

Task-number: QTCREATORBUG-1866
Reviewed-by: Roberto Raggi
2010-07-16 10:30:14 +02:00
Christian Kamm
1a61ae01cb C++ indenter: Respect user indent with stream operators.
Reviewed-by: Erik Verbruggen
2010-07-15 16:15:09 +02:00
mae
ab8a8c018d Fix brace states
The lexer needs its own lexerState, before it was using
the syntax highlighter user state. This breaks the brace
depth calculation of the highlighter.

Reviewed-by: Roberto Raggi
2010-07-12 11:18:31 +02:00
Christian Kamm
6ee1027eaa Add missing license headers. 2010-07-09 15:47:25 +02:00
Christian Kamm
c8fae11222 C++ indenter: Fix for extending if conditions.
Task-number: QTCREATORBUG-1825
2010-07-08 13:08:03 +02:00
Christian Kamm
a8c5d1f84c C++ indenter: Be more careful when comparing states.
Task-number: QTCREATORBUG-1818
2010-07-08 10:18:24 +02:00
Christian Kamm
7ae3fd5a10 C++ indenter: Refactor to be independent of BaseTextDocumentLayout.
Done-with: Thomas Hartmann
2010-07-08 10:16:17 +02:00
Christian Kamm
486b23b8ef C++ indenter: Don't add continuation indent after function return type.
Task-number: QTCREATORBUG-1816
2010-07-08 08:48:36 +02:00
Christian Kamm
6078b36c9c C++ indenter: Enable class, struct, enum, namespace, using in functions.
Fixes incorrect indentation we got previously when they were used in a
statement context.
2010-07-08 08:36:34 +02:00
Christian Kamm
74ed3e8a11 C++ indenter: Add more functions to manage the indenter state. 2010-07-06 14:53:54 +02:00
Christian Kamm
bf7613d2e7 C++ indenter: Add special case rule for indenting enums.
So you now get
enum A { a = 2,
         b = 3,
       };
2010-07-06 13:54:21 +02:00
Christian Kamm
8dbbf9be92 C++ indenter: Require explicit state update requests.
This will allow much faster indenting of selected areas as the state
doesn't have to be checked again for every line.
2010-07-06 13:52:49 +02:00
Christian Kamm
793ef6a694 C++ indenter: Fix 'else' indentation in GNU style. 2010-07-06 09:44:35 +02:00
Christian Kamm
e48864684e C++ indenter: Store tab size and use it to calculate the column position 2010-07-05 13:49:12 +02:00
Christian Kamm
19db6c9826 C++ indenter: Make building custom styles easier, fix style issues.
Keep more information by using enter() instead of turnInto() when moving
from a *_start to *_open.
2010-07-05 13:49:12 +02:00
Christian Kamm
3100fc0b7e C++ indenter: Add support for other brace styles. 2010-07-05 13:49:12 +02:00
Christian Kamm
88f2e340bd C++: Introduce the new CodeFormatter.
Done-with: Erik Verbruggen
2010-07-02 16:13:12 +02:00