this has several advantages compared to an undo/redo stack private to fakevim:
- change marks in document correspond to actual changes
- mouse pasting does not invalidate the fakevim undo/redo stack
- menu commands (such as undo/redo from the Edit menu) do not invalidate the fakevim undo/redo stack
- possible other changes not caused by fakevim do not invalidate fakevim undo/redo stack
it is pretty bad if the fakevim undo/redo stack becomes invalid, as applying these invalid
undo/redo operations corrupts the document
Now that we're showing this thing instantly, we can no longer rely on
the thing hiding cause of a focus change.
(cherry picked from commit 5a0a084c31)
Conflicts:
src/plugins/cpptools/cppcodecompletion.cpp
Now it shows immediately when there is only a single signature of a
given method/constructor.
(cherry picked from commit 8b9dd766c8)
Conflicts:
src/plugins/cpptools/cppcodecompletion.cpp
Deals with cases like "QString s(", but for the moment doesn't handle
yet "QString const s(".
Done with Roberto Raggi.
(cherry picked from commit fca3ec1f32)
When completing, don't insert "();" characters when they're already
there. Skip them instead.
(cherry picked from commit 86427ecf62)
Conflicts:
src/plugins/cpptools/cppcodecompletion.cpp
Details: This enables us to parse the build errors correctly.
The makesteps of the qt4project and cmakeproject have some
code dupliaction, which could be refactored. And the code
to find out the correct build parser could probably also
be done better, but we are now parsing the build output for
cmake.
Crashed for example in the case of template instantiation. To make sure
the Function* stays valid, we need to not only keep around the Snapshot
but the whole LookupContext.
Done with Roberto Raggi.
When the cursor isn't within the block that's being collapsed, it
shouldn't be moved. When it is, it will now move upwards instead of to
the start of the line.
Reviewed-by: mae