| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: If27b4e11deafaefd95a5815466fc5fdac23ba30a
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I75768f548f8f914e76fbdeaf3c318c207782fe1b
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4e1aeea4ccd1087b5e804e9ba4c2aa8fde4f4fcb
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: If39ed6d2711fa4cc144d1b1f9738acf3d04ac225
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This mainly takes CppEditorSupport apart.
* Parsing is now invoked by CPPEditorDocument itself by listening to
QTextDocument::contentsChanged().
* Upon construction and destruction CPPEditorDocument creates and
deletes an EditorDocumentHandle for (un)registration in the model
manager. This handle provides everything to generate the working copy
and to access the editor document processor.
* A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that
controls parsing, semantic info recalculation and the semantic
highlighting for the document. This is more or less what is left from
CppEditorSupport and can be considered as the backend of a
CPPEditorDocument. CPPEditorDocument itself is quite small.
* BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor
derive from BaseEditorDocumentProcessor and implement the gaps.
* Since the semantic info calculation was bound to the widget, it
also calculated the local uses, which depend on the cursor
position. This calculation got moved into the extracted class
UseSeletionsUpdater in the cppeditor plugin, which is run once the
cursor position changes or the semantic info document is updated.
* Some more logic got extracted:
- SemanticInfoUpdater (logic was in CppEditorSupport)
- SemanticHighlighter (logic was in CppEditorSupport)
* The *Parser and *Processor classes can be easily accessed by the
static function get().
* CppHighlightingSupport is gone since it turned out to be useless.
* The editor dependency in CompletionAssistProviders is gone since we
actually only need the file path now.
Change-Id: I49d3a7bd138c5ed9620123e34480772535156508
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
| |
Change-Id: I5f958f0afbee076a8bac40e6e3c383f0c558d34a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
| |
Change-Id: I555639a9137dcb8ccb471e1615823870c8158b3c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
|
|
|
|
|
| |
Change-Id: I42c55f844c4228725251df8c985bfc275925f2ff
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
| |
Change-Id: Iefaff837565f0aaf7e52263daa40a58fc391df36
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
| |
Change-Id: I3b41f91f17ce9fb24796f2f6bff353fb3c6177ec
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Now CppEditorWidget is much less convoluted with the local rename mode.
This class can be reused since there is no dependency on
CPPEditorWidget.
Change-Id: If513e59a03214cf9f2e3831f7e3616c001e1f036
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
| |
This one will get some more functionality.
Change-Id: Ifba410e32f98c28cbfbb5a72493906ab3d681225
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
| |
Change-Id: I81271c4cc42868ef5c0eb78aafd19c2a3cd5599a
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
It contains many components, doesn't make sense to have it with all
other quickfixes.
Change-Id: Idede14c90ba9b612ae9e9048f5795d674811acfe
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
| |
Move common functionality of the 12 test classes into base classes.
Change-Id: If64d3cec876807ac6f991151189860a99b8ff4ca
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
| |
By default invokable via Ctrl+Shift+F12.
Change-Id: If8d61233b6d38d12131718f7c20bf40f76bc9ae4
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
| |
Mostly reordering files alphabetically.
Change-Id: Ibad1fa75559218fe488d1b31c7200ba4ff6131fe
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Very simple tests for include hierarchy model:
* test if checked file includes one file
* test if checked file is included by one file
* test if checked file includes one file and is included by one file
Change-Id: I3688f9ddb86a569f780fc156bdfcf6b81a9fb0c1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
|
|
| |
...for tests.
Change-Id: Idc408e30ee0cdc22610e3037f94de5f7d246accf
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
|
| |
Change the preprocessor popup to a dialog.
Save the additional preprocessor directives to the session instead of the
.pro.user file.
Change-Id: I0d08c5684cfb21e822cde0a965c9cf14e5d6d47d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
|
|
|
|
| |
Introducing a Widget with a SnippetEditor and a C++ Highlighter which
should provide additional information to the C++ preprocessor for a
specific file.
Change-Id: I27f9498c7e52d1493d6ea92a02a2c6d26130fe07
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
F2 on a virtual function call presents a list of overrides in derived
classes. The function declaration of the static type is shown
immediately at the top.
Task-number: QTCREATORBUG-9611
Change-Id: I80ce906fa06272dc9fbd1662cd17500b8c77067f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on type hierarchy.
Added to context menu ('Open Include Hierarchy')
Shortcut(Ctrl+Shift+I)
'Include Hierarchy' contains:
FileName for which 'Include Hierarchy' is done
Includes(which files are included by current file - tree hierarchy)
Included by(which files include current file - tree hierarchy)
It is possible to open/goto each file by clicking on specific item.
Additionally for 'Included by' files it goes to the line where is include
directive for current file.
Change-Id: I549b1ed64e4c9f6955f60d00efb12950a3259f81
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
| |
Change-Id: Ib6beb99f346d72a329ec7cd72fcce1d63e46b1f2
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
| |
Change-Id: I39a458d6805fcb214297471f72bf3b6cb2dd487d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
|
|
|
|
| |
Moves functionality of CPPEditorWidget::findLinkAt into a newly created
class FollowSymbolUnderCursor. This slim downs cppeditor.cpp a bit and
makes Follow Symbol Under Cursor more easily testable.
Change-Id: I106c7fbfc6869dd13c75381fbe87c90dc88998a7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
All Qt Creator's main highlighters are used in the first place,
for other mimetypes generic highlighter is used as a fallback.
Task-number: QTCREATORBUG-9580
Change-Id: I863b9085520e5bdda142ce88f2074afeacee0531
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
|
|
|
|
|
|
|
|
| |
Now the used QuickFixFactory InsertVirtualMethods is configured to not
generate any pop ups.
Change-Id: I36d297678d87e6fb2eb0a73fea6384f0eb7e21f0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
|
|
|
|
|
| |
Change-Id: I4f2a28d4732ea496f574e5f51fb1e1633ebca99d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
|
|
|
|
|
| |
Change-Id: I60fa4ed46178fd4053d83b9a5c6675a0029d2cc2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Test cases are examples from
Working Draft, Standard for Programming Language C++
Document Number: N3242=11-0012
Change-Id: I624c315943d6a00e821abb52eef6e0ff4a40f0d7
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
|
|
|
|
|
|
| |
Change-Id: Icebf85ae425f413ed0d3dfc873869665233ec58c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved content of cppinsertdecldef.(cpp|h) cppcompleteswitch.(cpp|h)
cppinsertqtpropertymembers.(cpp|h) and ApplyDeclDefLinkChanges to
cppquickfixes.(cpp|h).
Made msgQtStringLiteralDescription private member function of
WrapStringLiteral, added anonymous namespace, "extracted" useful
functions to the top of cppquickfixes.cpp.
Change-Id: I4f82a005a62be3c29d4b96902667bd3a2b9397cc
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce tests that execute test actions on each word/token of each
file from every loaded project. Currently, besides just opening files
and moving token by token through the files, the following basic actions
from the CppTools and CppEditor plugin are executed for each token:
- Follow Symbol Under Cursor
- Switch Declaration/Definition
- Find Usages
- Rename Symbol Under Cursor
- Open Type Hierarchy
- Invoke Completion
- Trigger a quick fix in this scope (+perform)
Note that
(1) These tests are meant to detect corner cases for which Qt Creator
crashes or outputs QTC_ASSERTS. Correct behavior is not tested.
(2) These tests operate on the loaded projects. Therefore, projects
should be specified on the command line or should be loaded by the
session manager. Depending on the projects size, these tests might
be quite time consuming and are therefore candidates for nightly
tests.
Suggested test projects are qtcreator.pro, qtbase.pro.
Change-Id: I550776b3d56acb17ab337da068d409bfc21e997a
Reviewed-by: David Schulz <david.schulz@digia.com>
|
|
|
|
|
|
|
|
| |
the information is redundant now
Change-Id: Icc8c8b4ace11538d45c6c9e1dbe5a7976f4743e1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
|
|
|
|
|
| |
Change-Id: I4025539f3875e79f03743ba9ed3fd09cd31b998d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
|
|
|
|
|
| |
Change-Id: I25645bb625b467c6f9d895ff89a70acd6a25683e
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
|
|
|
|
|
| |
Change-Id: Ic48ad8dc36d75a1ae7644731863ce3f8d7f242c8
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
|
|
|
|
|
| |
Change-Id: I45e72e4d86f1cfb6798985cfddc073c524672313
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
| |
- Put declarations into quickfixes.h to simplify testing
- Give the factories more meaningful names
Change-Id: If74c29a8c17819d5369ffa3df94d146b14e53af9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This does not take namespaces on the implementation side
into account and does not properly position/indent things.
Task-number: QTCREATORBUG-1890
Change-Id: I779d12fefc79521bce38361729d4f66dada71147
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
|
|
|
|
|
| |
Change-Id: I2b6c5876cafb7cf19fc3040bc84fd88a90b6c0e0
Reviewed-by: hjk <qthjk@ovi.com>
|
|
|
|
|
| |
Change-Id: I7889694f69ad7e6e5039c616bef9f78bab9f7845
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
|
|
|
|
|
|
|
| |
utils.pri, cplusplus.pri are already included indirectly via
cppeditor_dependencies.pri.
Change-Id: I2aa42518086e51a2bb113db73740ffdce91f6d24
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
When editing a function declaration or definition the code model
may realize the same changes have to be applied somewhere else. A
refactoring marker will pop up that can be clicked to perform the
changes. Alternatively, press enter to apply.
Change-Id: I2299a2ecfb6a8f87d4853fc7cfa99486f890a1d3
Reviewed-on: http://codereview.qt.nokia.com/2909
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change-Id: Iaf08edb2361146e6b5e1cbafdb716a23c938875b
Done-with: Jarek Kobus
Task-number: QTCREATORBUG-2670
Task-number: QTCREATORBUG-4310
Task-number: QTCREATORBUG-2763
Task-number: QTCREATORBUG-3623
Task-number: QTCREATORBUG-567
Reviewed-on: http://codereview.qt.nokia.com/74
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This is a re-work of our completion engine. Primary goals are:
- Allow the computation to run in a separate thread so the GUI is not locked.
- Support a model-based approach. QStrings are still needed (filtering, etc), but
internal structures are free to use more efficient representations.
- Unifiy all kinds of *assist* into a more reusable and extensible framework.
- Remove unnecessary dependencies on the text editor so we have more generic
and easily "plugable" components (still things to be resolved).
|
|
|
|
|
|
| |
At the moment, it inserts implementations inline.
Done-with: Leandro Melo
|
|
|
|
| |
Groups are no longer enum values but identified from snippet providers.
|