Commit Graph

302 Commits

Author SHA1 Message Date
Martin Aumüller
1d715abfc5 fakevim: don't try to lower-case keys which have no case
Merge-request: 131
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-03-18 13:15:58 +01:00
Martin Aumüller
98406e3e18 Revert "fakevim: fix QTCREATORBUG-880"
This reverts commit 81ff5cda95,
except for the addition of '_' as a synonym for '^'.

Further commits have a different kind of fix  that maintains that
Escape always takes one back to the editor.

Merge-request: 131
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-03-18 13:15:58 +01:00
hjk
81ff5cda95 fakevim: fix QTCREATORBUG-880 2010-03-17 14:31:15 +01:00
hjk
c741f83514 fakevim: fix some indentation when tabs are not expanded 2010-03-09 17:50:24 +01:00
hjk
0bd8864780 fakevim: adjust visual tabwidth 2010-03-09 17:50:23 +01:00
Martin Aumüller
414c5ba979 fakevim: 'cw' invoked on a sequence of space should just change the spaces
Merge-request: 126
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-03-08 11:44:43 +01:00
Martin Aumüller
6d5c121063 fakevim: 'I' should enter insert mode even when not in visual mode
Merge-request: 126
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-03-08 11:44:43 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Martin Aumüller
db150ab61d fakevim: make sure that cursor is positioned before the character where text would be inserted with 'i'
Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:51 +01:00
Martin Aumüller
5af95f01f0 fakevim: only overwrite m_tc with EDITOR's cursor if necessary
only ex commands that are handled externally might modify the cursor position w/o updating m_tc

Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:51 +01:00
Martin Aumüller
7a71ee1166 fakevim: ctrl-d in insert mode should remove one level of indentation
Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:51 +01:00
Martin Aumüller
115b32697f fakevim: 'dtd' would have deleted a line instead of deleteing to the next 'd'
Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:51 +01:00
Martin Aumüller
a7cf72a945 fakevim: improved 'startofline' behaviour for indenting and shifting left/right
Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:50 +01:00
Martin Aumüller
21a9943b8d fakevim: cursor position after deleting linewise should depend on 'startofline' setting
Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:50 +01:00
Martin Aumüller
4c80a1ab92 fakevim: dfx should do nothing if no x is found
Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:49 +01:00
Martin Aumüller
6648fe439a fakevim: retain column when moving across lines after '^'
Merge-request: 113
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-02-19 13:02:49 +01:00
hjk
b6a99c4e4f fakevim: re-enable :<line> which was broken after some recent merge 2010-02-17 17:08:03 +01:00
Kai Koehne
98a0757916 Compile fix on Mac OS X (gcc 4.0.1) 2010-02-16 10:02:02 +01:00
hjk
08a1171e28 fakevim: fix two backspace-with-autoindent issues
Backspacing across start of line was broken, and it always removed all
automatically indented whitespace.
2010-02-15 17:56:38 +01:00
hjk
354fd8d895 fakevim: implement 'I' in visual block mode 2010-02-12 15:52:19 +01:00
hjk
78a206a3b3 fakevim: fix indentation after <Return><Tab><Backspace> 2010-02-12 11:05:21 +01:00
hjk
f6d4680ffe fakevim: make ':r' undoable and behave more vim-ish 2010-02-08 14:56:52 +01:00
hjk
787787edee fakevim: fix shift left in visual mode 2010-02-08 13:31:59 +01:00
Friedemann Kleint
81f14bb270 Fix some code scanning issues.
QString: Use QChar/char where appropriate, do not use QString::null
2010-02-02 17:09:41 +01:00
Friedemann Kleint
f672bff338 Fix some code scanning issues.
foreach()-Loops.
2010-02-01 14:00:07 +01:00
Friedemann Kleint
2fd8b2d7ff Fix some code scanning issues.
QString: Use QChar where appropriate.
2010-02-01 12:43:56 +01:00
Thiago Macieira
8dca852b35 Fix compilation: #include your headers properly.
std::swap is defined in <algorithm>.

Reviewed-By: TrustMe
2010-01-25 10:45:30 +01:00
Martin Aumüller
4d14568afc fakevim: map 'gt'/'gT' to ':tabnext'/':tabprev'
this way, users can override these commands with arbitrary actions,
some want to map switching between the opened files to these keys

Merge-request: 101
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-22 17:05:03 +01:00
Martin Aumüller
a4e34a804a fakevim: make sure that FakeVimHandler has returned before being deleted
some actions might cause the parent editor to be deleted,
don't crash in that case

Merge-request: 101
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-22 17:05:03 +01:00
Martin Aumüller
58571da7a4 fakevim: correct cursor handling for ex commands
ex commands might depend on current cursor position and might modifiy
it, thus set the editor's text cursor to fakevim's before initiating the
command and use the editor's text cursor afterwards

Merge-request: 101
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 18:19:58 +01:00
Martin Aumüller
1e46b6232b fakevim: leave shortcut-passing mode after one shortcut has been pressed
this behaviour seems more natural to me, but it has one draw-back: if an
action associated to a shortcut is not enabled, typing that shortcut won't
leave passing mode
2010-01-21 18:10:55 +01:00
hjk
58301f6b10 fakevim: code cosmetics 2010-01-21 17:42:46 +01:00
Martin Aumüller
60f41e9d97 fakevim: fix cursor position and status message for yanking
- cursor position should be the start of the yanked region
- the number of lines yanked should be displayed, even when motion was not linewise

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:31 +01:00
Martin Aumüller
6599089c7b fakevim: don't let 'F'/'T' at the start of a document go into an endless loop
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:31 +01:00
Martin Aumüller
5e30757db6 fakevim: 'g' command prefix flag has to be cleared after it has been consumed
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:31 +01:00
Martin Aumüller
639878a38c fakevim: '$' and 'l' in visual mode can select beyond EOL
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:31 +01:00
Martin Aumüller
9b2465e37f fakevim: fix cursor position after 'r'
expected cursor position is on last character which was replaced

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:30 +01:00
Martin Aumüller
978fa5d03d fakevim: fix 'dw' at line-end
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:30 +01:00
Martin Aumüller
9302104cbd fakevim: make line counting more vi-like
- apparently one additional empty line is added to the document at its end,
  if the last line ends with \n

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:29 +01:00
Martin Aumüller
07f6d29937 fakevim: ensure that cursor is never at EOL
- previously, if the visible vi cursor is on the last character of a line,
  the corresponding QTextCursor might have been positioned before and after
  the character
- code becomes simpler if the QTextCursor is always positioned before the
  vi cursor

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:28 +01:00
Martin Aumüller
7a5891bd2a fakevim: when leaving visual mode, set move type to char or line according to visual mode
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:28 +01:00
Martin Aumüller
5994044b64 fakevim: 'S' should honour indentation settings
fixed by using finishMovement instead of doing all the work

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:28 +01:00
Martin Aumüller
073f14bee8 fakevim: indent when changing text by line ('cj', 'Vc', ...), depending on settings
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:28 +01:00
Martin Aumüller
20f565816b fakevim: simplifiy implementation of 'j', 'k'
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:27 +01:00
Martin Aumüller
7b28f644f2 fakevim: fix 'c' with linewise motion
the lines touched by the motion have to be removed completely except for one newline
(whereas 'd' removes them including all newlines)

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:27 +01:00
Martin Aumüller
f69b867533 fakevim: fix 'cw' on word-end
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:27 +01:00
Martin Aumüller
d323d7701e fakevim: make 'w' stop on empty lines
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:26 +01:00
Martin Aumüller
fd28fe1892 fakevim: fix deleting/yanking/changing to matching parenthesis
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:26 +01:00
Martin Aumüller
2f02152dd6 fakevim: improved case conversions
- make '~' repeatable with '.'
- implement operators 'gu'/'gU'/'g~' for down-casing/up-casing/case-inversion
- visual char/line/block modes for the above

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:26 +01:00
Martin Aumüller
3afcdc002a fakevim: fix repetition of 'g'/'G'
Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
2010-01-21 17:38:25 +01:00