28 Commits
Author SHA1 Message Date
Maxime Labelle 1966609701 [vi-mode] Undo now leaves the cursor under the position at the start of the deletion (#2045) 2021-09-21 23:04:43 -07:00
Dongbo Wang 958ce3aeb2 Fix a few VI edit mode issues (#1262) 2020-01-07 13:08:39 -08:00
Jason Shirk a7af25aa37 Stop dispatching on ConsoleKeyInfo (#831)
There are likely issues introduced by this PR,
but I'm merging for a new Beta so this code gets more testing.

* Introduce PSKeyInfo type alias
* Explicit conversions b/w ConsoleKeyInfo and PSKeyInfo
* Change tests to use actual ConsoleKeyInfo data
* Add fr-FR keyboard layout tests
* Add KeyInfo-ru-RU-windows.json (#839)

All impossible without Shift shortcuts labeled as "Investigate: true"
Alt+Spacebar tracked by windows itself

* Add KeyInfo for Polish (Programmers) layout on Windows and Linux (#870)

On Windows *Alt+Spacebar* is hijacked by Windows
On Linux any *Alt+F1-12* combination was not detected
2019-03-20 16:14:05 -07:00
Jason Shirk 3d246d935f Remove Keys.ShouldInsert (#822)
The method Keys.ShouldInsert was a misguided attempt to avoid inserting
keys where there is no binding but the key really doesn't make sense as
input.

Unfortunately it is just causing more pain and probably wasn't
addressing a serious problem, so I'm removing it.

Fix #798
2018-12-03 11:04:40 -08:00
srdubya c385dd5bcb Fix 2 vi-mode cursor placement issues (#627)
Fix cursor placement after `cf`
Also fix cursor placement with `s` at EOL.

Fix #623
2018-01-28 11:53:29 -08:00
Jason Shirk 9d5621e05b Make ViReplaceLine public
Fix #581
2017-11-26 11:19:44 -08:00
Jason Shirk 9094f1246b Generate parts of the about topic
To keep the about topic up to date, the function descriptions and key
binding information is now generated after a build.
2017-11-24 22:11:13 -08:00
Jason Shirk 63d2dcf6da Portable custom key bindings
Rewrote the custom key binding code to be more portable.

Some runtime checks are necessary because of impossible to reconcile
differences.

Some Win32 P/Invoke calls are still needed due to lack of information in
the ConsoleKeyInfo.

Some keys are currently not available on Linux due to a CLR bug, others
aren't available ever because terminals don't unique character sequences
for a given key press that might differ in just the Shift or Ctrl state.
2017-10-15 22:03:56 -07:00
Jason Shirk a7efcd27ca XML comment cleanup 2017-09-03 00:06:41 -07:00
Jason Shirk 855ed7f78c Unify internal and visible cursor updates 2017-07-31 18:08:07 -07:00
Jason Shirk b4f68efe17 Remove unused local variables 2017-07-31 17:24:21 -07:00
Jason Shirk 4aba251bdb Remove unused using directives 2017-07-31 16:44:06 -07:00
srdubya 986bb817c7 Addressed #445 by making several VI methods public. 2016-09-26 12:11:01 -07:00
Jason Shirk (POWERSHELL) 04c7233b46 Globally suppress 'default args should not be used' 2016-04-27 16:36:50 -07:00
srdubya b80ffb9b09 Addressed this feedback:
1  _normalBackground (keybindings.vi.cs) unused
2  copyright notice in *.vi.cs files?
3  ReadLine.vi.cs - InsertCharacter unreferenced
4  SearchBackward - change fn name to ViSearchHistoryBackward?
2016-01-02 08:51:06 -07:00
srdubya c13ad547d0 Added unit tests and fixed a few issues found as a result. 2015-08-02 13:05:20 -06:00
Eduardo Antunes C. de Sousa c1baf127bf Adding 'f', 'F', 't', 'T' movements to 'd' and 'c' command. 2015-07-30 14:51:31 -03:00
srdubya 979a2c3ef1 Fixing defect #263. 2015-07-07 07:16:03 -06:00
srdubya ab52d2b642 1st attempt at merge with #251. 2015-06-20 16:47:33 -06:00
srdubya 8ff816c8ae Added single-quote and double-quote to the list of word delimiters. Addressed bugs involving change-word and delete-word when word delimiters and special characters are involved. 2015-03-14 10:16:54 -06:00
srdubya 469700674f Fixed defect #218 -- <esc> cw now works properly with non-space word separators. 2015-03-11 04:17:34 -06:00
srdubya 9343769e45 Fixed <esc> r <space> bug. 2015-03-10 07:00:30 -06:00
srdubya 8039699367 Cleaned a couple duplicate functions. 2014-12-24 12:43:26 -07:00
srdubya 13148f89f4 Fixed Delete and Change so the work for Globs. 2014-12-21 16:20:20 -07:00
srdubya 767d6d2824 Added Yank commands. 2014-12-20 11:27:18 -07:00
srdubya 9cfdfd4883 Getting ready to fix dot word movement problem. 2014-12-13 10:06:01 -07:00
srdubya 4b2acc31aa Improved Undo for 'c' commands. 2014-04-21 19:20:25 -06:00
srdubya 4a74823983 Moving many Vi* commands to more generic names. 2014-04-19 08:59:33 -06:00