Tuomas Tynkkynen
58d964063c
VIM-515 Fix cW command detecting end-of-word incorrectly
...
A cW command on text like 'x$$$$' or '$xxxx' would incorrectly delete
just the first character, and not the rest.
2014-11-14 22:51:46 +02:00
Andrey Vlasovskikh
17d3e37e1d
Merge branch 'vim-567-run-external-command-in-window'
2014-11-14 23:43:42 +03:00
Andrey Vlasovskikh
54f6a16bd6
Nullity checks
2014-11-14 23:41:17 +03:00
Andrey Vlasovskikh
f4ffc5d198
Get rid of Reader and Writer classes in executeCommand()
2014-11-14 23:35:27 +03:00
Andrey Vlasovskikh
3d8010bf88
Removed debug output
2014-11-14 23:18:53 +03:00
Andrey Vlasovskikh
ec2cc3a7f9
Code style
2014-11-14 23:17:50 +03:00
Andrey Vlasovskikh
52b7b9bcd8
Merge branch 'vim-705-multi-line-indent-broken'
2014-11-14 23:05:03 +03:00
Andrey Vlasovskikh
8ad0fcf42d
Default value for @NotNull field mode
2014-11-14 23:04:33 +03:00
Andrey Vlasovskikh
aa6cc45988
Made moveCaret(Editor, int, boolean) private
2014-11-14 23:02:32 +03:00
Tuomas Tynkkynen
da22b8297b
VIM-536 Fix 'cc' on second-to-last line in file
...
Previously, 'cc' on the second-to-last line of a file would instead open
a new line after the last line of the file.
2014-11-14 16:56:05 +02:00
Tuomas Tynkkynen
798d82e941
VIM-567 Extend :! to allow running non-filter commands
...
This commit allows the Ex command '!' to be ran without a range, with
the results displayed in a window.
For example, run ':! ls' in normal mode for a quick directory listing.
2014-11-11 20:32:24 +02:00
Tuomas Tynkkynen
ac8ac302ca
VIM-705 Fix repeated multiline indent
...
When a visual mode command is repeated, code calls into
MotionGroup#toggleVisual() to setup a 'fake' visual mode selection. But
when MotionGroup.moveCaret() is called, it notices that the indent
command has the FLAG_EXIT_VISUAL flag, and leaves visual mode right
away.
2014-11-10 23:32:09 +02:00
Tuomas Tynkkynen
22c3a73102
VIM-613 Fix repeat after 'd$'
...
Previously, repeating a 'd$' command would incorrectly delete the
newline from the line.
2014-11-10 16:36:40 +02:00
Andrey Vlasovskikh
9804cd83a6
VIM-652 Added a test for :action
2014-10-24 16:13:40 +04:00
Andrey Vlasovskikh
f95f5e8901
Merge branch 'action-command'
2014-10-24 16:02:21 +04:00
Andrey Vlasovskikh
206b303407
Renamed ExecuteActionByNameHandler to ActionHandler
...
The name of an Ex command handler should correspond to the Ex command
name.
2014-10-24 16:01:38 +04:00
Andrey Vlasovskikh
751bff53ee
Removed checks for action execution problems not reproducible at the moment
...
We need to collect more data from the beta testers about these problems.
2014-10-24 16:00:23 +04:00
Andrey Vlasovskikh
30304d6836
VIM-794 Fixed NCDFE related to 'number' in IDEs other than IntelliJ
2014-10-23 22:45:19 +04:00
Andrey Vlasovskikh
f5df49b139
Don't allow short names for IdeaVim-specific :action and :actionlist
2014-10-23 19:01:58 +04:00
Andrey Vlasovskikh
bf8ba1a49b
Prettier output of :actionlist
2014-10-23 18:58:50 +04:00
Andrey Vlasovskikh
9f2697658b
Fixed code style
2014-10-23 18:25:01 +04:00
smartbomb
36fd59b92c
ExecuteActionByName use the content context on actions with the EnabledInModalContext flag set
...
(cherry picked from commit d375740)
2014-10-23 18:02:12 +04:00
Andrey Vlasovskikh
72b74e075c
Merge branch 'visual_block_delete'
2014-10-23 16:55:17 +04:00
Andrey Vlasovskikh
3c6ede2f8f
Normalize offsets in order to prevent selecting newlines
2014-10-23 16:53:31 +04:00
Andrey Vlasovskikh
5434edbd54
VIM-792 Fixed line-wise and block-wise paste commands for * and + registers
2014-10-23 16:09:56 +04:00
Andrey Vlasovskikh
6a8c7e4b17
VIM-511 Record caret adjustment changes to the document during <Enter> processing
...
We have to handle Enter by our VimShortcutKeyAction in order to be
able to record it as an action for repeating it via '.'. Since original
Enter handlers are not run in this case we invoke them manually by
collecting a list of actions that can be run for the editor component
on Enter and then running the first action ready to run.
Caret adjustments are detected on changes to the document caused by
Enter. This allows to position the caret properly (e.g. between {})
before recording Enter.
2014-10-23 15:26:22 +04:00
Alexey Shmalko
0ac659f2d1
Fix visual block deleting
...
Currently deleting visual block leaves last char in line untouched. This
patch fixes that as well as tests.
2014-10-21 21:40:43 +03:00
Andrey Vlasovskikh
b3d12c8b58
VIM-511 Fixed removing a paren just after inserting it with auto-inserting matching parens on
2014-10-21 21:47:06 +04:00
Andrey Vlasovskikh
27efe0c9d6
Handle left and right motions during key repeat only as document (caret) changes
...
Previously they have been recorded twice: implicitly by a document
change listener as changes to the caret position and by a command
processor.
2014-10-21 18:24:36 +04:00
Andrey Vlasovskikh
b5bf6c08d8
Repeat typing commands by inserting text instead of handling a typed key
...
It will prevent auto-completion and other auto-inserting typed key
handlers from messing up with the repeated text.
2014-10-21 18:22:19 +04:00
Andrey Vlasovskikh
e3fce51ea1
VIM-511 Fixed editing offset after <BS> for '.' command
2014-10-21 16:56:54 +04:00
Andrey Vlasovskikh
cc2ed452f0
Merge branch 'clipboard-unnamed'
...
Conflicts:
src/com/maddyhome/idea/vim/option/Options.java
test/org/jetbrains/plugins/ideavim/action/CopyActionTest.java
2014-10-20 15:59:15 +04:00
Andrey Vlasovskikh
d4d3843725
VIM-476 Added default register reset on 'clipboard' change
...
Added a test for :set clipboard=unnamed.
2014-10-20 15:53:33 +04:00
Andrey Vlasovskikh
dee16da1c2
Coding style
2014-10-20 14:52:22 +04:00
Andrey Vlasovskikh
8596911a0e
VIM-483 VIM-410 Added support for 'number' and 'relativenumber' commands
...
These commands override the line numbers setting in the IDE when the
Vim emulation is enabled.
2014-10-20 13:27:09 +04:00
Andrey Vlasovskikh
6c2de9f151
Extracted EditorGroup
2014-10-17 17:07:39 +04:00
Andrey Vlasovskikh
d3a6b1e39e
Use '\n' as universal line separator for sorting lines
...
The Document class takes care of detecting and using the correct
platform-specific line separators.
2014-10-17 14:54:48 +04:00
Andrey Vlasovskikh
86aa59bb29
Merge branch 'vim-624'
2014-10-16 23:29:33 +04:00
smartbomb
c6eeaed7da
:actionlist added support for wildcards
2014-10-15 22:49:08 +02:00
smartbomb
edba90f188
Renamed :findaction => :actionlist + added statusbar error message when calling invalid action names
2014-10-15 21:17:26 +02:00
Andrey Vlasovskikh
c873524cb1
VIM-784 Fixed visual line selection where start > end of the selection range
...
It was a regression introduced by the fix of VIM-632.
2014-10-15 15:10:22 +04:00
smartbomb
7943e34bde
Fix action execution contexts, use a delay on popup actions to allow the command handler to unwind
2014-10-15 08:31:44 +02:00
smartbomb
74970c74b4
Implemented :findaction
2014-10-14 22:47:03 +02:00
Andrey Vlasovskikh
d3afd83e8e
Merge branch 'VIM-407'
2014-10-14 15:25:43 +04:00
smartbomb
722431f5b2
VIM-652 Add support for executing and mapping arbitrary IDEA actions
...
* no tests performed..! *
Example usage:
:nnoremap gi :action GotoImplementation<CR>
:nnoremap gu :action FindUsages<CR>
:nnoremap gcw :action RenameElement<CR>
Action overview:
6c6cb47c5a/platform/platform-resources-en/src/messages/ActionsBundle.properties
2014-10-13 21:58:38 +02:00
Andrey Vlasovskikh
6a1c792cda
VIM-171 Added support for window navigation commands: left/right/up/down
2014-10-13 23:08:56 +04:00
Andrey Vlasovskikh
3e0e08c5e1
VIM-632 Restored visual block mode that was broken due to multiple carets support
...
Vim actions with multiple carets in modes other than visual block are
not supported yet. It will be a separate feature. The idea behind this
commit is to fix the regression in visual block mode.
Bounds of visual selection are no longer reversed if they are
overlapped, this fixes expanding the block selection in all directions.
IdeaVim no longer uses SelectionModel.hasBlockSelection() since it
always returns 'true' now.
There are a couple of places where we remove secondary carets when
moving the primary caret or re-setting visual mode. It may be
incompatible with the forthcoming support for multi-caret Vim actions.
2014-10-09 18:01:47 +04:00
Andrey Vlasovskikh
fcc564df25
Cleanup
2014-10-07 14:29:30 +04:00
Andrey Vlasovskikh
4ecbb93d01
Converted window actions into subclasses of VimCommandAction
2014-10-07 13:52:46 +04:00
Alexey Shmalko
9bdc9b3634
VIM-171 Add checks for that window is not null
2014-10-04 01:29:41 +03:00