Commit Graph
6167 Commits
Author SHA1 Message Date
Vasily Alferov 7754080323 Various fixes 2018-05-25 11:45:11 +03:00
Vasily Alferov ebf081e273 Multicaret shift 2018-05-22 22:51:49 +03:00
Vasily Alferov 258467467b Multicaret insert 2018-05-22 22:02:26 +03:00
Vasily Alferov 4f468cace7 Multicaret change.change 2018-05-22 00:16:58 +03:00
Vasily Alferov 9ddedbe752 Multicaret delete visual operator actions 2018-05-21 19:08:40 +03:00
Vasily Alferov 63b237114a Multicaret version for VisualOperatorActionHandler 2018-05-21 17:05:38 +03:00
Vasily Alferov 29c789dcf3 Implementations of all of the delete actions whose handlers doesn't override VisualOperatorActionHandler. 2018-05-20 13:55:33 +03:00
Vasily Alferov 59e2ae552e ChangeEditorActionHandler multicaret version and multicaret delete tests 2018-05-12 21:24:28 +03:00
Vasily Alferov 422557d4ce Cosmetical changes 2018-05-12 19:01:01 +03:00
Vasily Alferov 0919e9d560 Multicaret merging selections & text objects 2018-05-12 17:08:19 +03:00
Vasily Alferov 13c475d73c Fix multiple carets movement in case i<ESC>i<ESC> 2018-05-05 12:01:00 +03:00
Vasily Alferov 3b46e44e4f action.motion.text.* multicaret tests and implementation 2018-04-27 20:24:26 +03:00
Vasily Alferov a75db02d05 Fix failed tests on Visual Block Mode. 2018-04-24 22:17:10 +03:00
Vasily Alferov 4698f1be5c Reformat code with IntellIJ IDEA tool. 2018-04-16 16:11:53 +03:00
Vasily Alferov 1db103e352 Basic multicaret up-down motions.
+ Create a class for caret-specific data and move LAST_COLUMN getter/setter there.
2018-04-16 16:05:52 +03:00
Vasily Alferov 5037a1182f Fix unused imports 2018-03-29 17:21:30 +05:30
Vasily Alferov 4d46000ec6 Write most of multicaret leftright actions.
MotionColumnAction, MotionFirstColumnAction, MotionFirstNonSpaceAction, MotionLastColumnAction, MostionLastMatchCharAction, MotionLastMatchCharReverseAction, MotionLastNonSpaceAction, MotionLeftAction, MotionLeftMatchCharAction, MotionLeftTillMatchCharAction, MotionRightAction, MotionRightMatchCharAction, MotionRightTillMatchCharAction now have their own native multi-caret implementations.
2018-03-29 10:18:35 +05:30
Vasily Alferov 56ad6b4c0d Multi-caret basic leftright motions.
Add basic multi-caret interfaces (i.e. deprecated and new functions to EditorActionHandlerBase) and overloaded them in MotionLeftAction and MotionRightAction.
2018-03-21 17:13:57 +03:00
Florian Hassmann ab750b6e75 Fixes #VIM-1404. 2018-01-29 12:22:15 +01:00
Andrey Vlasovskikh 44a4a858fe IDEA-184351 Check if project is disposed before setting editor line numbers
Setting line numbers requires re-initializing the editor that means
accessing project code style settings. If the project has been disposed
then this operation is illegal.
2017-12-29 11:34:56 +03:00
Andrey Vlasovskikh dbdc15f21f Merge branch 'cypok/vim-1380' 2017-12-29 10:29:34 +03:00
Andrey Vlasovskikh 1a8c72d721 Merge branch 'cypok/vim-1379' 2017-12-29 10:19:08 +03:00
Andrey Vlasovskikh b7273bc4f2 VIM-1379 Added check for empty ranges 2017-12-29 10:09:09 +03:00
qzed b98427472f VIM-1110 Fix caret jumping after escape from block-insert mode 2017-12-28 15:53:02 +03:00
Andrey Vlasovskikh bf42822626 VIM-862 Keep selected text after running possibly async IDE action
E.g. `:action ReformatCode` is run asynchronously in another thread, so
we used to exit the visual mode (and thus dropped the selection) before
it was run.
2017-12-27 19:00:42 +03:00
Andrey Vlasovskikh 2c99da538e VIM-1329 Use default modality state to run actions after focus settles down 2017-12-18 00:54:52 +03:00
Andrey Vlasovskikh 1393e60ca8 VIM-862 Properly apply and reset visual mode for running visual :action commands
Also fixed minor formatting and Java 8 issues.
2017-12-18 00:53:56 +03:00
Andrey Vlasovskikh 2e67c704f7 VIM-862 Fixed off-by-1 in restoring visual character selection after 'gv' 2017-12-18 00:52:29 +03:00
Andrey Vlasovskikh c0410131bf Merge remote-tracking branch 'ikenox/feature/action-in-visual-mode' 2017-12-15 01:37:40 +03:00
Andrey Vlasovskikh 473a305e5f Use SecondaryLoop of JDK 8
The current version of IdeaVim is compatible with IntelliJ 2017.1+
which has switched to Java 8+, so we no longer need compatibility
layers for earlier versions.
2017-12-15 01:25:58 +03:00
Andrey Vlasovskikh bd84babecd Converted UiHelper into Kotlin 2017-12-14 03:26:01 +03:00
Andrey Vlasovskikh 1b83231b1c VIM-1329 Use IntelliJ API to request focus reliably 2017-12-14 00:29:11 +03:00
Andrey Vlasovskikh f39ad34057 VIM-1368 Use IntelliJ API to run stuff after the current component gets focus 2017-12-14 00:28:02 +03:00
Vladimir Parfinenko 52d26f9fb6 VIM-1380 Fixed 'cNw' at the last character of a word
Bug was introduced while fixing VIM-200
2017-11-20 11:37:42 +07:00
Naoto Ikeno b7d124ce8d Make :action commands work in visual mode 2017-11-19 20:06:02 +09:00
Vladimir Parfinenko 6a5c70ee6a VIM-1379 Fix usage TextRange.size() as lines count
TextRange.size() should be used only for iterating over starts/ends
2017-11-19 13:49:12 +07:00
Andrey Vlasovskikh a76b41b737 VIM-1367 Fixed resetting the default value
The previous fix tried to parse the current value instead of the default
one.
2017-11-03 05:00:29 +03:00
Andrey Vlasovskikh 2fc6553203 VIM-1367 Correctly reset parsed and stored 'iskeyword' option value 2017-11-03 04:26:46 +03:00
Andrey Vlasovskikh 98b003e601 VIM-1367 Deterministic order of options for reproducible tests 2017-11-03 04:23:29 +03:00
Andrey Vlasovskikh 6245b15d8f Cleanup 2017-11-03 03:48:15 +03:00
Andrey Vlasovskikh ab1d7ba6cb VIM-1367 Removed unnecessary repetition in positive lookbehind
It resulted in an inspection warning that positive lookbehind groups
cannot contain 1 or more repetition patterns.
2017-11-03 03:34:11 +03:00
nickgieschen ef05491991 VIM-1367 Implement iskeyword
(cherry picked from commit d91d38c)
2017-11-03 03:22:39 +03:00
tieTYT 57b5b319a7 VIM-523 Fixed global mark remembering only the line number
Bear with me as this is the first thing I've ever done with
Intellij-IDEA plugin development.

I tested this and I believe I fixed the problem.  The cause of the
problem was that the code was checking if the mark was in a different
file but if it was, it was using the editor of the current file to go
to the line of the mark.  I changed the code so that it opens the file
of the mark first, then jumps to its line number.

I need a VirtualFile so that I can get the Editor to open. The Mark
stores the path of the file it's in, but the path is not enough
information to get a VirtualFile.  I also need the "protocol" of the
file.  So, I had to change the structure of the Mark and add a
"protocol" field to it.

I had to update the save/load logic to use this new field, too.  This
way, when you restart Intellij-IDEA, the marks can still be used.  For
old marks, I defaulted the "protocol" to the value of "file".

One thing I couldn't figure out how to do is add a test case to check
that this is working correctly.  This is not due to a lack of effort.
In fact, I tried to write the test case first.  But I have been unable
to find any examples anywhere of testing multiple Editors, and that's
what's involved to fix this issue.  Because of this, this issue may be
best used as a reference to fix the problem instead of worthy of being
used in production.  Either way, I'd love to know how to write such a
test.
2017-11-01 02:35:23 +03:00
Andrei Gasparovici 82dfcdd5df Added :tabn(ew) and :tabp(revious) functionality 2017-08-18 11:38:52 +03:00
Konstantin Petrov e97c49a032 Fix search for braces inside quotes the way vim does 2017-05-31 10:27:48 +02:00
Vedran Budimcic 44b9946bb0 Support end-of-line multi line percent match in visual mode 2017-03-24 07:12:28 -07:00
Marcel Hild 6efd4023fd make offset work in normal search 2017-03-23 11:33:08 +01:00
Andrey Vlasovskikh a882e37d04 Merge remote-tracking branch 'origin/vim-1007'
# Conflicts:
#	gradle.properties
#	resources/META-INF/plugin.xml
#	src/com/maddyhome/idea/vim/VimTypedActionHandler.java
2017-01-16 00:57:31 +03:00
Andrey Vlasovskikh 120b69c439 Fixed source API compatibility with branch 171 2017-01-15 23:22:40 +03:00
Andrey Vlasovskikh a5e303d1ca Merge pull request #121 from gaganis/VIM-1216
Fixed . reseting the last find movement
2016-11-29 00:35:40 +03:00