... and make use of it in the built-in code model and with clangd.
Task-number: QTCREATORBUG-16580
Change-Id: I8c331f56aa1bbf91c9f768be82a779a72f40c4c7
Reviewed-by: David Schulz <david.schulz@qt.io>
There was no proper separation of responsibilities between these
plugins. In particular, CppTools had lots of editor-related
functionality, so it's not clear why it was separated out in the first
place.
In fact, for a lot of code, it seemed quite arbitrary where it was put
(just one example: switchHeaderSource() was in CppTools, wheras
switchDeclarationDefinition() was in CppEditor).
Merging the plugins will enable us to get rid of various convoluted
pseudo-abstractions that were only introduced to keep up the artificial
separation.
Change-Id: Iafc3bce625b4794f6d4aa03df6cddc7f2d26716a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This way the editor does not need to know all the details of
instantiating or maintaining classes for highlighting and/or completion,
it can just ask the model manager. The change also enables different
highlighting- or completion-engines without changes to the cppeditor.
Change-Id: I8000d9d9fe446b292defddb2295493cf77d0f14a
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
Continuinng a previous commit... This is in order to make
the interface clearer.
Change-Id: Ic1b05217f878578bc84a064927507b75981c47d6
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
The model uses UTF-8 internally and it makes more sense to only
convert when necessary.
A following commit will rename the source/setSource methods in
document for more clarity too.
Change-Id: I960ea0754efabd1436ad4b4299a57faeb65a8bee
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This moves sorting from the gui thread to the future and
allows the incremental application of the extra formats
to assume chunks are sorted.
Change-Id: I38e179e573c43cc955cce820f17ac87e3300a839
Reviewed-on: http://codereview.qt.nokia.com/3869
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
The semantic highlighter relies on the highlight ranges to be subsequent
and non-overlapping. A method body in a class nested in a method can
result in flushes before the semantic info for the enclosing method is
calculated, resulting in overlapping ranges.
Task-number: QTCREATORBUG-3364
Reviewed-by: Roberto Raggi
The new `Static' format will be used to mark all the static members, e.g. enumerators,
static functions, and static class members, but right now, it is used only for enumerators.