Commit Graph

814 Commits

Author SHA1 Message Date
Lukas Holecek
7e8db09c50 FakeVim: Set correct cursor shape if submitted search failed
Change-Id: I508ca523c70846924dc9b869ef105d273892e0bb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-08 11:39:20 +01:00
Lukas Holecek
577fcd97d4 FakeVim: Select and modify paragraph object
Change-Id: Ib528fa2914bfcb17caed114d7da2d201079b0725
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-25 10:32:12 +01:00
Lukas Holecek
e8aecca215 FakeVim: Fix invalid cursor position warnings
Change-Id: If09f2cfeb58e9810ec3858c0a20d2f5e0a7fac14
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-25 10:31:58 +01:00
Lukas Holecek
07e3a032ff FakeVim: Uppercase register appends to lowercase
Change-Id: Ida1e796637ad37cbb3c2f403151d01af1f3b2ade
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-21 09:51:43 +01:00
Lukas Holecek
40fc14c191 FakeVim: Stop waiting for incomplete mapping after interval
Recent change (QTimer for waiting on input) broke this behavior.

If using ":inoremap jj <ESC>" pressing only "j" in input mode should
timeout and insert the letter.

Change-Id: Ic5a1961143e1847ef02d5063c5da9eeb63714893
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-21 09:51:35 +01:00
Lukas Holecek
e27c7eb56d FakeVim: Use correct text cursor position when focusing editor
Change-Id: I5d57f95e98e8fb4de063b7cbe2875f11023dd1a9
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-21 09:51:23 +01:00
Tim Jenssen
1b77ce4d8f fix MSVC2010 build
Change-Id: I756d07a0e59cadd8557f7a2fd00d434470000f3c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-19 13:23:02 +01:00
Lukas Holecek
e0acc42649 FakeVim: Monitor external cursor movement only with FakeVim enabled
Task-number: QTCREATORBUG-13443
Change-Id: I2f8ecb92599c59e31fc931557d4bc7a6b7e306af
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-19 11:34:52 +01:00
Lukas Holecek
c50487fc9a FakeVim: Remove superfluous dot command changes
Change-Id: I5ab80ada2d2c5a7812538c4a91b5aca8aee1a5e3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-19 11:34:10 +01:00
Lukas Holecek
7e00f03756 FakeVim: Refactor text transformation and yank
Change-Id: Ic13596d4bbfd901846575fe441607c036aba3cd5
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-19 11:34:01 +01:00
Lukas Holecek
0e83172b0b FakeVim: Indent block correctly
In situation:

    void f() {
    // Cursor is HERE.
    }

the code after ">i{" command is indented as (with shiftwidth=4):

    void f() {
        // Cursor is HERE.
    }

Change-Id: I48283c91c32fc407bbdb24349f2491461e401ee9
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-18 10:03:41 +01:00
Lukas Holecek
5881f6cb79 FakeVim: Text cursor is thin when selecting text with mouse
Task-number: QTCREATORBUG-12809
Change-Id: I2b2e5cdbd8ab332e1bd05fb5c7857409318b736f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-18 09:47:14 +01:00
Lukas Holecek
853a7b1c37 FakeVim: Added helper function to retrieve character at a position
Change-Id: I9798adeec3b92f093a275d0af885a4546b4c545c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-18 09:43:09 +01:00
Lukas Holecek
3a03162fba FakeVim: Correct behavior of command "D" in visual block mode
Command "<C-V>...D" deletes characters inside and behind
block selection.

Change-Id: I2589bc560306a9a5a893f810c8c8037f44517af7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-18 09:39:48 +01:00
Lukas Holecek
0790ee8159 FakeVim: Remove superfluous cursor shape changes
Change-Id: I6996d82a0a3b0e0a7bb5ddc9732297bebd368a2d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 17:27:28 +01:00
Lukas Holecek
b920aadf25 FakeVim: Removed unneeded variable
Change-Id: I55ef1765c103b41b67583169718b899a8d44cac3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 17:25:20 +01:00
Lukas Holecek
5efe24b6b3 FakeVim: Save last change position directly to marks
Change-Id: I304fb125810f0857cc013e9617460d4827e9b238
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 09:12:55 +01:00
Lukas Holecek
56037e8aa4 FakeVim: Remove superfluous status bar updates
Change-Id: I6f5c310bcb56749c71db74b882632070166ef68b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 09:12:32 +01:00
Lukas Holecek
31eb0f96d7 FakeVim: Update internal cursor if it changes externally
Change-Id: I8c335e5a79699d9ae1eefdb2cd60840eea1bb300
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 09:12:06 +01:00
Lukas Holecek
4631da97af FakeVim: Allow to use "i<C-O>v"
Change-Id: Ibd669a8ac75734b18b41066255a43ee8bda19743
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 09:11:41 +01:00
Lukas Holecek
f4ffaaa278 Fakevim: Refactor entering and leaving modes
Change-Id: I6fe40908bc53fa84d2be165f3ee1b9c2f3a8d5c5
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 09:11:29 +01:00
Lukas Holecek
86c4e341a1 FakeVim: Fix indentation commands
Partially reverts commit dfae736. Handling indentation commands in
visual mode cannot be trivially handled by alias.

Change-Id: If9189c41a4e585efef00c774e24382f1de3356e4
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-17 09:11:21 +01:00
Lukas Holecek
72c5253a3b FakeVim: Fix target column when leaving insert mode
Change-Id: Idb9d6b70815d7212f677d68b3d5d268abdf4f44f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-12 15:25:52 +01:00
Lukas Holecek
dfce1be17b FakeVim: Set correct target column for "|" command
Change-Id: I5d3465a8b4e58fb2e56429cdd0b33a940211485f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-12 15:25:43 +01:00
Lukas Holecek
a588af8049 FakeVim: Fix target column for visual movement commands
Change-Id: I90fb87c06d623736d506c570b77c92666fab4170
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-12 15:25:35 +01:00
Lukas Holecek
dfae736505 FakeVim: Handle more commands as aliases
Change-Id: Id7eb81ccb87b89c4c164119147b2d854d2fca9d4
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-10 15:47:21 +01:00
Lukas Holecek
ffe956ad3a FakeVim: Test some sub-modes in functions
Change-Id: Ia5434b0e3dc56ad1657b5113279f8656c27ccfa7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-10 15:47:17 +01:00
Lukas Holecek
cb29cd6c6c FakeVim: Added helper functions
Change-Id: I01ac58625370b7f01b9b87a15afbf6c32549e6f8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-10 15:47:09 +01:00
Eike Ziller
3f1deee5e1 Merge remote-tracking branch 'origin/3.3' 2014-11-06 12:38:37 +01:00
Lukas Holecek
ab1159096d FakeVim: Refactor cutting text
Change-Id: Iea371c67c67c9a810ee47aec98e18297993098b2
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-05 21:25:03 +01:00
Lukas Holecek
5458fdee72 FakeVim: Move common movement operations to functions
Change-Id: I06dce44098a535e0d8f49d885b77a4f07731288b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-05 21:19:26 +01:00
Lukas Holecek
743e1ca67e FakeVim: Don't change cursor column after 'yy' command
Change-Id: I44b61dfc6a03fba242c8d9d42d483806ca9d85ce
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-05 21:03:32 +01:00
hjk
d6a7287fb4 FakeVim: Fix line selection for wrapped lines
Task-number: QTCREATORBUG-13102
Change-Id: I0845d98cdbca9a172a3ccda7b5730a7a2d5392b3
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-03 20:36:16 +01:00
Lukas Holecek
de33b3affa FakeVim: Properly replay macro with command line
Change-Id: I40617a1f6d28052e3593c186afb6db1d14222076
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-03 11:19:39 +01:00
Lukas Holecek
36f94d3661 FakeVim: Properly replay macro with insert mode
Task-number: QTCREATORBUG-13266
Change-Id: Id73e6e561bfa93f43c6839974d6d767164b4dbd8
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-03 10:05:07 +01:00
Lukas Holecek
3ebdcdc7bf FakeVim: Simpler handling for command synonyms
Change-Id: Ia0ad19ddd3fcc0aa0c2012b5e7086d40c59c01c3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-03 09:54:15 +01:00
Lukas Holecek
7043706212 FakeVim: Yank wrapped lines with 'Y' an 'yy'
Task-number: QTCREATORBUG-13102
Change-Id: I632dd5113ca8021f67364b92f8f0840e0f15772c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-03 09:53:24 +01:00
hjk
22c15b3ea8 FakeVim: Use a bool to indicate recording, not QString::isNull
Change-Id: I30f996aa61b357dc6b83f3f313abb0448e7f0fc3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-10-21 13:22:14 +02:00
Takao Fujiwara
2b7dae1b84 Delete QEvent::InputMethod handling in FakeVimHandler::eventFilter()
The head keys handling is not needed because IBusEngineSimple handles
compose keys.
Also the length of QInputMethodEvent.commitString() is not one and
prevent users from auto-complettions.

Change-Id: Ieb0022add243829340797954e7d48ca71af2c249
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-10-15 11:49:47 +02:00
Eike Ziller
ea27143239 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	src/libs/utils/ipaddresslineedit.cpp
	src/libs/utils/logging.h
	src/plugins/analyzerbase/AnalyzerBase.pluginspec.in
	src/plugins/android/Android.pluginspec.in
	src/plugins/android/androiddeploystep.cpp
	src/plugins/android/androiddeploystep.h
	src/plugins/android/androiddeploystepfactory.cpp
	src/plugins/android/androiddeploystepwidget.cpp
	src/plugins/android/androidpackagecreationfactory.cpp
	src/plugins/android/androidpackagecreationstep.cpp
	src/plugins/android/androidpackagecreationstep.h
	src/plugins/android/androidpackagecreationwidget.cpp
	src/plugins/android/androidpackagecreationwidget.h
	src/plugins/android/javafilewizard.cpp
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/baremetal/BareMetal.pluginspec.in
	src/plugins/bazaar/Bazaar.pluginspec.in
	src/plugins/beautifier/Beautifier.pluginspec.in
	src/plugins/bineditor/BinEditor.pluginspec.in
	src/plugins/bookmarks/Bookmarks.pluginspec.in
	src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in
	src/plugins/clangcodemodel/clanghighlightingsupport.cpp
	src/plugins/clangcodemodel/clangsymbolsearcher.cpp
	src/plugins/classview/ClassView.pluginspec.in
	src/plugins/clearcase/ClearCase.pluginspec.in
	src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in
	src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp
	src/plugins/cmakeprojectmanager/cmakehighlighter.cpp
	src/plugins/coreplugin/Core.pluginspec.in
	src/plugins/cpaster/CodePaster.pluginspec.in
	src/plugins/cppeditor/CppEditor.pluginspec.in
	src/plugins/cppeditor/cppfilewizard.cpp
	src/plugins/cpptools/CppTools.pluginspec.in
	src/plugins/cpptools/cpphighlightingsupportinternal.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.h
	src/plugins/cvs/CVS.pluginspec.in
	src/plugins/debugger/Debugger.pluginspec.in
	src/plugins/designer/Designer.pluginspec.in
	src/plugins/diffeditor/DiffEditor.pluginspec.in
	src/plugins/emacskeys/EmacsKeys.pluginspec.in
	src/plugins/fakevim/FakeVim.pluginspec.in
	src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in
	src/plugins/git/Git.pluginspec.in
	src/plugins/git/gitorious/gitorious.cpp
	src/plugins/git/gitorious/gitorious.h
	src/plugins/git/gitorious/gitoriousclonewizard.cpp
	src/plugins/git/gitorious/gitorioushostwidget.cpp
	src/plugins/git/gitorious/gitorioushostwidget.h
	src/plugins/git/gitorious/gitorioushostwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.h
	src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwizardpage.h
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
	src/plugins/glsleditor/GLSLEditor.pluginspec.in
	src/plugins/glsleditor/glsleditorfactory.cpp
	src/plugins/glsleditor/glslfilewizard.cpp
	src/plugins/helloworld/HelloWorld.pluginspec.in
	src/plugins/help/Help.pluginspec.in
	src/plugins/imageviewer/ImageViewer.pluginspec.in
	src/plugins/ios/Ios.pluginspec.in
	src/plugins/macros/Macros.pluginspec.in
	src/plugins/mercurial/Mercurial.pluginspec.in
	src/plugins/perforce/Perforce.pluginspec.in
	src/plugins/projectexplorer/ProjectExplorer.pluginspec.in
	src/plugins/pythoneditor/PythonEditor.pluginspec.in
	src/plugins/pythoneditor/pythoneditorwidget.cpp
	src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
	src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in
	src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
	src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in
	src/plugins/qmakeprojectmanager/profileeditorfactory.cpp
	src/plugins/qmldesigner/QmlDesigner.pluginspec.in
	src/plugins/qmljseditor/QmlJSEditor.pluginspec.in
	src/plugins/qmljseditor/qmljseditorfactory.cpp
	src/plugins/qmljstools/QmlJSTools.pluginspec.in
	src/plugins/qmlprofiler/QmlProfiler.pluginspec.in
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in
	src/plugins/qnx/Qnx.pluginspec.in
	src/plugins/qtsupport/QtSupport.pluginspec.in
	src/plugins/remotelinux/RemoteLinux.pluginspec.in
	src/plugins/resourceeditor/ResourceEditor.pluginspec.in
	src/plugins/resourceeditor/resourcewizard.h
	src/plugins/subversion/Subversion.pluginspec.in
	src/plugins/tasklist/TaskList.pluginspec.in
	src/plugins/texteditor/TextEditor.pluginspec.in
	src/plugins/texteditor/basetexteditor_p.h
	src/plugins/texteditor/basetextmark.cpp
	src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h
	src/plugins/texteditor/codeassist/defaultassistinterface.h
	src/plugins/texteditor/codeassist/iassistproposalitem.cpp
	src/plugins/texteditor/itexteditor.cpp
	src/plugins/texteditor/itexteditor.h
	src/plugins/texteditor/itextmark.cpp
	src/plugins/texteditor/plaintexteditor.cpp
	src/plugins/texteditor/plaintexteditor.h
	src/plugins/texteditor/texteditoractionhandler.cpp
	src/plugins/todo/Todo.pluginspec.in
	src/plugins/updateinfo/UpdateInfo.pluginspec.in
	src/plugins/valgrind/Valgrind.pluginspec.in
	src/plugins/vcsbase/VcsBase.pluginspec.in
	src/plugins/welcome/Welcome.pluginspec.in
	src/plugins/winrt/WinRt.pluginspec.in
	tests/auto/debugger/temporarydir.h

Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
2014-10-14 15:36:16 +02:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
hjk
513ee02f10 FakeVim: Use a single "FakeVim" translation context
Change-Id: I624dedddf88a017af107670794034282f0aafdcc
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-26 11:59:39 +02:00
Lukas Holecek
5a0a61bfac FakeVim: Update file path and global marks
Update file path and global marks if file in project is renamed.

Update file path on "Save as...".

Task-number: QTCREATORBUG-12810
Change-Id: Ia2361e8f65a7a494e339d96c8b4610af4ab38edb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-18 15:25:43 +02:00
David Schulz
6e9b724006 Editor: Blockselection rewrite.
Also adding the possibility to insert text into the blockselection.

Task-number: QTCREATORBUG-7773
Change-Id: I7a47a1d630f769a8253ee1a2f21057820ea170d5
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-20 13:16:54 +02:00
Nikita Baryshnikov
84e176edab CleanUp usage of QtAlgorithms
Change-Id: I61be20554014f90c2e1313167a3e3c869e26c35e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-17 08:19:29 +02:00
Orgad Shaneh
c3e1f04476 FakeVim: Fix conditions
Change-Id: I1787bd80124ebe224932e10be9e1e307c4925949
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-19 17:49:17 +02:00
hluk
c783fba706 FakeVim: Share some data among editors with same document
Task-number: QTCREATORBUG-12140
Change-Id: Ieabb331745395c7bb012c9c26ef18c14bcba7cc4
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-05 16:27:51 +02:00
hluk
91d0739b97 FakeVim: Allow to jump to the first quoted block on line
Task-number: QTCREATORBUG-12128
Change-Id: I3376a2f75307eaad1671d5b8b70ac7ba3035fdb8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-05 12:12:42 +02:00
Eike Ziller
0fb641c90e Merge remote-tracking branch 'origin/3.1'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/libs/qmljs/qmljsmodelmanagerinterface.cpp
	src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp

Change-Id: Ie216b715d6f87a6d72d3b8fe3d4e777e561579f9
2014-05-02 10:00:20 +02:00
hjk
e8c23dd85a FakeVim: Allow unicode input using Ctrl-V in insert mode
Change-Id: Id43e1c5ce8cfd0dff346f9914b585daa80bfc03d
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-04-28 16:52:52 +02:00