This compares the keys by a combination of their ConsoleKey and
Modifiers fields. We cannot compare the KeyChar field as it is
platform (and TTY configuration) dependent.
These are copied from `src/Microsoft.PowerShell.PSReadLine`, which is
necessary until .NET CLI has better support for specifying
source/destination content information (which is coming soon).
This imports the PSReadLine project to
`src/Microsoft.PowerShell.PSReadLine`. The commits are squashed so that
we don't unnecessarily combine the histories.
Squashed commit of the following:
commit 1fe251f7681ffa9d5598e830a115c0700fe978df
Author: Sergei Vorobev <sevoroby@microsoft.com>
Date: Thu Feb 11 12:43:03 2016 -0800
Generate help from platyPS markdown
commit 52cef9e493cec5e642c938c0e6a64cce232fa813
Merge: 68b9161b4 c1499bd29
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jan 21 08:23:54 2016 -0800
Merge pull request #337 from srdubya/master
Fixing #334.
commit 68b9161b4a8027f8cab908134b198a121295ee8a
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Wed Jan 20 15:58:05 2016 -0800
Update Changes.txt
commit c66ccee060ffafcf174fe5f333620d987a113fdf
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Wed Jan 20 15:57:47 2016 -0800
Fix formatting
commit 2965e31d2b18c99041193d6e031872a8f1acef0d
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Wed Jan 20 15:30:20 2016 -0800
Update version number
commit c1499bd2924d1f85c1390cd4ded644d7f971bbf8
Author: srdubya <stevewy@gmail.com>
Date: Mon Jan 18 10:45:03 2016 -0700
Fixing #334.
commit fba34371a1a62ef077b08a7e07aa3333c9a4774e
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Sun Jan 17 09:44:42 2016 -0800
Fix build
commit d428a19feba06f6c4188df64605883bec0c460b0
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Sun Jan 17 09:39:59 2016 -0800
Fix sample for strict mode+better custom handler error msg
Fixes#304
commit 2897f6ed3d74b0e69be197a6de7ce765c747692a
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Sun Jan 17 09:04:35 2016 -0800
Handle abandoned mutex exception
commit d1fc73e731d8d0a609850d3fed24632e8fa0951d
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Sun Jan 17 09:01:02 2016 -0800
Update xmldoc comments
commit 3fc3007f83d7d0cc587aca42a7565a67e385375b
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Sun Jan 17 08:58:07 2016 -0800
Startup improvements
- Delay loading resources until they are used
- Delay creating vi mode key handler tables
- Remove format.ps1xml file
commit 57843aacb68c39da7815f8c06825f965737e7a14
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Sun Jan 17 08:52:40 2016 -0800
Move some apis to be internal
commit 26752f508c8ac8e1f9ec6fb6306bc086c220600f
Author: srdubya <stevewy@gmail.com>
Date: Sat Jan 2 08:51:06 2016 -0700
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?
commit 38eebac9d03c9a189bed7aad2b97bf98d484c2ef
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Dec 30 22:42:32 2015 -0800
Better error for history file access issues
When there is an IO error trying to create the directory for the history file, or some other sort of error trying to read or write the history file, we shouldn't tell the user to report a bug.
Instead, the error will just report the exception message, and if it happens twice, suggest some solutions.
The error will not be reported more than twice, because that would be too annoying.
Fixes#322
commit 3a9584206fe8ef5ee0171282fab93a0be7e727ad
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Dec 24 21:06:48 2015 -0800
Cleanup resources
commit 720855d9232973ca4b70a983c378dd798e3e5c8d
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Dec 16 22:56:25 2015 -0800
Finish refactoring so unit tests run in VS2015
The mock of the console api is complete enough so unit tests run.
It's still a hack, not exactly factored nicely to support other hosts,
but at least some of the real interface is in one place, not scattered
about.
commit fb3b178e66f378e68aebe7deb9a18419f9613212
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Dec 16 09:53:44 2015 -0800
Fix off by 1 error in BeginningOfLine
Home on first line of multi-line went to the second character, not the first.
commit 5c627fb3eaa80a3d07cbd52922a9abc34c9668b9
Merge: e0de45980 34e4e2fd9
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Dec 16 09:41:00 2015 -0800
Merge branch 'master' of https://github.com/rkeithhill/PSReadLine into rkeithhill-master
Conflicts:
PSReadLine/PSReadLine.csproj
PSReadLine/PSReadLineResources.Designer.cs
PSReadLine/PSReadLineResources.resx
PSReadLine/ReadLine.cs
commit e0de4598069e3d4bd8568eb9f9bcf1334ac697a3
Author: Dan Thompson <dan_j_thompson@hotmail.com>
Date: Sun Dec 13 17:52:33 2015 -0800
CaptureScreen: scroll buffer with selection, add alternate movement keys.
commit cf3471afdfe707f3a9b530dce9ed7cabad3c6768
Author: Dan Thompson <dan_j_thompson@hotmail.com>
Date: Fri Dec 11 18:31:59 2015 -0800
ScrollDisplayToCursor bug: don't try to scroll to before the buffer.
commit 7b135909b99187bd3c42c0fc5472f3b8cbb31e72
Merge: 9c97f5459 dac7ec2ff
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Dec 13 09:28:09 2015 -0800
Merge branch 'master' of https://github.com/PowerShell/PSReadLine
commit 9c97f5459605c75d2787168cca7f394a5a034ec5
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Dec 13 09:23:31 2015 -0800
Use nuget packages for PowerShell SDK.
commit dac7ec2ffac1bbc3c97a4e0a2335ab5193a42564
Author: Dan Thompson <dan_j_thompson@hotmail.com>
Date: Thu Dec 10 07:26:03 2015 -0800
Feedback: Rename ChangePSReadlineKeyHandlerCommandBase, remove assert.
commit f44943b0895b3454236ac41bdacc81d03f352111
Author: Dan Thompson <dan_j_thompson@hotmail.com>
Date: Wed Dec 9 22:48:35 2015 -0800
Add the ability to change Vi cmd mode dispatch tables.
commit 0190001e864c0566d10e1483829c687d4295624b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Dec 9 17:27:02 2015 -0800
Fix coloring of bareword token w/ nested token at start
Fixes#204.
commit 461e14c8acda8c79c20a41a7b2daea34e6af504b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Dec 6 09:05:37 2015 -0800
Initial refactor console api usage
To get the unit tests passing in VS2015, and to help w/ possible future hosts,
I've moved most of the console api usage to a class, which is then mocked
in the unit tests.
commit f9b4c98a00656c3deb720f80392c8eaa042f65b2
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Nov 29 21:43:20 2015 -0800
CaptureScreen tried to set clipboard on a MTA thread
Fix is to use ExecuteOnSTAThread.
commit 1d85624cc7f40b4df89d63a1435857a092538082
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Nov 29 10:44:25 2015 -0800
Build against CLR 4 to support PowerShell V3
commit bf0de4e840a180754fa6e01552a47ae37419761b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Nov 29 10:40:37 2015 -0800
Fix indentation.
commit 3bb4520664bfb263890b8550334386db0133a7ca
Merge: 914101597 513a93a4f
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Nov 14 20:11:50 2015 -0800
Merge branch 'master' of https://github.com/srdubya/PSReadLine into vimode
commit 91410159765d38d10af2cd1a24f03a769c57780e
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Nov 14 19:27:23 2015 -0800
Avoid exception when $ExecutionContext is $null
commit b754d709624941ca6e42a8caf22d87d710f9c468
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Nov 14 19:15:41 2015 -0800
Fix formatting of error message
commit 24a9848483695a343ab37db8ddabad21631c1e1a
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Nov 14 19:14:28 2015 -0800
Get the real colors when copying the screen
commit 513a93a4f07aef05bb9a2e532ad531a92bc62811
Author: srdubya <stevewy@gmail.com>
Date: Sat Aug 29 06:58:17 2015 -0600
Tab now does the same as Enter on command line search ('/').
commit bde626cee27e3d54132a8f4fd9e58f3d5322ee58
Author: srdubya <stevewy@gmail.com>
Date: Wed Aug 5 07:33:55 2015 -0600
Fixed tests and reformatted some code to fix a reported exception.
commit 36f0bf739be5551e7ef4c6da4179b5790430d07a
Merge: 363e552bf 788f57339
Author: srdubya <srdubya@users.noreply.github.com>
Date: Wed Aug 5 07:27:50 2015 -0600
Merge pull request #2 from ecsousa/fix_cimplete_redo
Fix exception for use completion when a edit group is already started.
Merging into master, where a failing unit test awaits.
commit 363e552bffd9a65b28620aea3b973737ffbdd53a
Merge: 6e1412e23 3c7e5ce5b
Author: srdubya <stevewy@gmail.com>
Date: Tue Aug 4 12:54:33 2015 -0600
Merging in Eduardo's fFrT for c and d changes, along with my tests and fixes.
commit 3c7e5ce5bfc3e9be37e426c20b5495bf33b01fa5
Author: srdubya <stevewy@gmail.com>
Date: Sun Aug 2 13:05:20 2015 -0600
Added unit tests and fixed a few issues found as a result.
commit 6e1412e23c4ee94c86431ba7c3a420fbafc49026
Author: srdubya <stevewy@gmail.com>
Date: Sat Aug 1 05:32:53 2015 -0600
Increased framework version to 4.5 to accomodate System.Management.Automation dependency version change.
commit 788f5733936717c1830e6253d6a71056698ece53
Author: Eduardo Antunes C. de Sousa <ecsousa@gmail.com>
Date: Thu Jul 30 15:34:54 2015 -0300
Fix exception for use completion when a edit group is already started.
commit f133b9af1de597345e0482b76e0f586acbe376a8
Author: Eduardo Antunes C. de Sousa <ecsousa@gmail.com>
Date: Thu Jul 30 14:51:31 2015 -0300
Adding 'f', 'F', 't', 'T' movements to 'd' and 'c' command.
commit 34e4e2fd94f6653e69711fb18a3a768826c11023
Author: Keith Hill <r_keith_hill@hotmail.com>
Date: Mon Jul 20 19:54:33 2015 -0600
Added InsertLineAbove and InsertLineBelow functions and set them up to key bind to Ctrl+Enter and Ctrl+Shift+Enter in Windows mode. Not being an emacs person, I'm not sure what key bindings these two functions would bind to. I also added unit tests for the two functions as well as a unit test for what I believe is a bug in the BeginningOfLine (home) function when in multiline mode. I also updated the project to have the appropriate default namespace so that the resource file gets re-generated with the correct resource name without having to resort to hacking the csproj file. There was also an issue with trying to run unit tests because the unit test setup of PSReadline sets engineInstrincs to null and that caused a null reference exception which I worked-around by testing for null first.
commit 6ffc6f0f9bf7579b388762506e75f1514eedfce2
Author: srdubya <stevewy@gmail.com>
Date: Mon Jul 20 07:03:13 2015 -0600
Move cursor to position 0 on history movement.
commit 847cce49e4a47e4923c815d16604c3a2257940bd
Author: srdubya <stevewy@gmail.com>
Date: Tue Jul 7 07:16:03 2015 -0600
Fixing defect #263.
commit 14cf3912ac68054516ecc815ebc78aa50ab2b29b
Author: srdubya <stevewy@gmail.com>
Date: Sun Jun 28 10:54:03 2015 -0600
Adding documentation for 'o', 'O', and 'J''s key handling methods.
commit 687983a9d788336d4e15a390b9ad04ee6b93b4f8
Author: srdubya <stevewy@gmail.com>
Date: Sun Jun 28 07:13:52 2015 -0600
Fixed cursor placement issues with 'o' & 'O'.
commit 81c41ca72ba84907385cc4f944bf44118dd498b1
Author: srdubya <stevewy@gmail.com>
Date: Sat Jun 27 13:44:56 2015 -0600
Adding 'o', 'O', and 'J' in Vi-Mode.
commit 42fe350fa0f16c61ecbd392a3cda652c93b4091a
Merge: b5db5e2e4 9a1ad952a
Author: srdubya <stevewy@gmail.com>
Date: Fri Jun 26 07:11:12 2015 -0600
Merge branch 'upstream'
commit 9a1ad952a0b033b4ac053c73bef3171c1db812fd
Author: Roman Kuzmin <nightroman@gmail.com>
Date: Thu Jun 25 20:18:54 2015 +0100
Set-PSReadlineKeyHandler -Key F7 - two minor tweaks
- Clearer output of the result $line.
- $ -> @, just in case if there is the only history command.
commit 8be638271b376e36d856dec4d233820fe55b886d
Author: Roman Kuzmin <nightroman@gmail.com>
Date: Thu Jun 25 02:01:36 2015 +0100
Set-PSReadlineKeyHandler -Key F7: command history using Out-GridView.
- Properly reads multiline commands from the history file.
- Allows selection and insertion of several commands.
commit b5db5e2e43152916199f5ae715477490f23a1941
Author: srdubya <stevewy@gmail.com>
Date: Sun Jun 21 07:47:36 2015 -0600
Fixed merge problems, plus fixed broken tests.
commit f5bdb3fe5787d44565fe524b5ff0f12a7a37d98d
Merge: 5c999b15f ccfe2a3fa
Author: srdubya <stevewy@gmail.com>
Date: Sat Jun 20 16:47:33 2015 -0600
1st attempt at merge with #251.
commit ccfe2a3fad320ec7be621d37fc7beb314eb9a0b2
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Fri Jun 19 17:07:39 2015 -0700
Change resource name to match in-box version
commit 8e7665e9e24dd4df2cc13e029edd13a076323655
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Fri Jun 19 11:00:32 2015 -0700
Fix InvokePrompt for remote sessions
commit 70195b3e95a5d4f080f614c1c98f0d50fb4f79c9
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 20:01:49 2015 -0700
Move one-time initialization out of psm1
commit 1a2e9f54600b6c19b324f2bc1db03dc3653a75ca
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:55:38 2015 -0700
Better handling of exception after exception
commit 55150a225dc60a553de6d1213060d096e6dce209
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:43:59 2015 -0700
Update module manifest
commit fb1ecc49258c0d7d3353b523714bed7ae58cf797
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:43:03 2015 -0700
Use full namespace
commit dc1847bdebb2c1e27b0e2b7fa9bb0fe5ee848432
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:38:54 2015 -0700
Remove unreferenced/old code
commit 1309e1eb63ee169d9776ab525e8be4945fae26b7
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:38:26 2015 -0700
Formatting cleanup
commit f7615088467affafc9635ad67970d6c771864b0b
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:28:46 2015 -0700
Change default continuation prompt
commit 0f41d433d86944fd52afc7694f62f0a4e60c9a7d
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:10:18 2015 -0700
Change default location for history file
commit b54f7f11c73f9eb22e2514ced6e6b627bbdfb50d
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 19:01:59 2015 -0700
Mouse wheel doesn't work with powershell console
Fix is to clear the flag for capturing mouse events while in PSReadline because we would ignore them anyway.
commit 8e86f7289476c58c8c9dadfb70d5d1ec82908177
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 18:57:07 2015 -0700
Right click w/ multiple lines pasted as a one line
This problem only happened in ValidateAndAcceptLine
It also only happened if validation failed for any reason.
The fix is to insert a newline even if validation failed if we still have pending input.
If there is no pending input, we don't want to insert the newline, as this is the common
case and people will not want to delete the blank line from the inserted newline.
commit 95184cedbe947e7be61d2cf877f2419a7e9dcbba
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 18:54:13 2015 -0700
Switch to WinForms for clipboard
Some windows skus don't have WPF but do include winforms, so switch to winforms to access the clipboard.
commit 7ce3eaabb3892b8c55ee4d9fbba3cdc43f69096a
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 18:50:48 2015 -0700
Change Enter back to AcceptLine
AcceptAndValidateLine still has some problems, so the default has been changed back to AcceptLine.
commit 1a538e78212ee3c1f378212b2e21fee0b0a8bc79
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 18:24:23 2015 -0700
Fix/suppress various FxCop errors
commit 365da0c6628e438610fc4841f8909ef042b1ce6d
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 15:44:56 2015 -0700
Add a HelpUri for each cmdlet
commit 02eb13d7557faa759990aa6bad425a5347bdc095
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 15:32:20 2015 -0700
Rename namespace PSConsoleUtilities to Microsoft.PowerShell
commit e6e46de26b5717d0ed379f36e96dcb9a4ae535b1
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 15:14:08 2015 -0700
Use absolute path for HintPath on reference assembly.
commit e47cb0f7aa0c4e0434acb63aa9716f9e3bf0c594
Author: Jason Shirk (POWERSHELL) <jasonsh@microsoft.com>
Date: Thu Jun 18 15:04:49 2015 -0700
Add copyright header
commit ade70a13b0420a62a6ecaf433c6b9ab7e64b667b
Merge: d81b1ea72 2d78cac3d
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Jun 17 14:24:12 2015 -0700
Merge pull request #235 from andrewducker/master
Adding in an F7 handler to bring up command history in a grid.
commit 5c999b15f587bb0a85ae45156eebc4818fb2bcb8
Author: srdubya <stevewy@gmail.com>
Date: Sat Jun 6 13:15:58 2015 -0600
Fixed missing newline before "Oops".
commit a86fbe9fd41e8b3df384804af746629538fda59a
Author: srdubya <stevewy@gmail.com>
Date: Sat Jun 6 13:05:05 2015 -0600
Corrected a few uncessary file differences, mostly indentation issues.
commit 22916e8b10031383a82dcc1e0e7f1610ea3a39e7
Author: srdubya <stevewy@gmail.com>
Date: Sat Jun 6 05:33:55 2015 -0600
Merged CJK language support from Jason's upstream (#243).
commit 7e9bb96db3c67c2f0cac3115ce1c5a65c7d0f1ef
Merge: 5228456b1 d81b1ea72
Author: srdubya <stevewy@gmail.com>
Date: Fri Jun 5 19:09:45 2015 -0600
Merge branch 'upstream'
commit 5228456b1e642f2bd27379fd4c01da323c04a8e8
Author: srdubya <stevewy@gmail.com>
Date: Tue May 19 20:29:43 2015 -0600
Adding Prompt option for ViModeIndicator. Fixing #227 - indicator returns back to None after any other set option.
commit d81b1ea721e36f5353c639bd5df0c26ae20fe3e7
Author: Yanbing Wang <yawang@microsoft.com>
Date: Mon May 18 22:08:36 2015 -0700
support CJK with truetype font
commit bcf72c642e7da61a533deea88c77a70c11b65550
Author: Yanbing Wang <yawang@microsoft.com>
Date: Mon May 18 22:04:08 2015 -0700
support CJK with truetype font
commit d70398b0edf5ffce8cbcf0fab31a5dc63662b283
Author: Yanbing Wang <yawang@microsoft.com>
Date: Mon May 18 12:18:15 2015 -0700
update based on code review
commit 3b2973bacdd6de722e70f694af9c71a270a29c36
Author: Yanbing Wang <yawang@microsoft.com>
Date: Mon May 18 10:23:40 2015 -0700
add CJK support
commit 2d78cac3d51875608797d506ebda8041f11d9674
Author: andrewducker <andrew@ducker.org.uk>
Date: Thu May 14 20:40:54 2015 +0100
Adding missing backticks
My fault for editing the file in Github in the first place...
commit 0189d6ed6b504c4f420f832d97d2824ff9193f27
Author: andrewducker <andrew@ducker.org.uk>
Date: Thu May 14 17:21:03 2015 +0100
Adding in an F7 handler to bring up command history in a grid.
See issue at https://github.com/lzybkr/PSReadLine/issues/233
commit 66db8bed41d3e01d12925af87105219470587e88
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 21 06:39:49 2015 -0600
Made the default -ViModeIndicator None.
commit f6be29dbf12f547e547750e2437d89dccd6112c7
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 21 06:34:20 2015 -0600
Switched from -ChangeCursor to -ViModeIndicator[Cursor|StatusLine|None]. StatusLine does not work yet.
commit 3a2b0bed2c26ecf0bf652219d0be79a2cec4917c
Author: srdubya <stevewy@gmail.com>
Date: Sun Mar 15 13:56:48 2015 -0600
Added the changing of the console cursor size when in command/insert mode. Use the -ChangeCursor option to control.
commit 58104d1b732dc21ec4d10ef98cdf854cf627aa43
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 14 10:16:54 2015 -0600
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.
commit 09d4821e11ead411a78b70202883461fe0e7c9ff
Author: srdubya <stevewy@gmail.com>
Date: Fri Mar 13 07:05:08 2015 -0600
Switched visual editing temporary file from double quotes to single. Rounded out a test a bit.
commit 8156ee51af35544100f3efb2fc5d4373921e9900
Author: srdubya <stevewy@gmail.com>
Date: Wed Mar 11 04:17:34 2015 -0600
Fixed defect #218 -- <esc> cw now works properly with non-space word separators.
commit 717bfb679a151391ba899538b04f6aa97c931802
Author: srdubya <stevewy@gmail.com>
Date: Tue Mar 10 21:05:11 2015 -0600
Enclosing visual edit temporary filename in quotes to handle special characters in user names.
commit 15f36c751e00a23a5010eba3bacfd60456144aaf
Author: srdubya <stevewy@gmail.com>
Date: Tue Mar 10 07:15:36 2015 -0600
Fixed "$i$" bug, #214.
commit 3372bf45e6700fd58c393702695c61c3cc255461
Author: srdubya <stevewy@gmail.com>
Date: Tue Mar 10 07:00:30 2015 -0600
Fixed <esc> r <space> bug.
commit 74a501777a7f9a32df193ddeb02ec3df11c327fb
Author: srdubya <stevewy@gmail.com>
Date: Sun Mar 8 16:35:55 2015 -0600
Enabled VIM syntax highlighting during visual editing by giving the temporary file a .ps1 extension.
commit d0f797c1cc33d427d25d78f8d3f807704fd5035d
Author: srdubya <stevewy@gmail.com>
Date: Sun Mar 8 15:42:07 2015 -0600
Adding visual editing via <esc> v.
Set either the EDITOR or VISUAL environment variable to your in-console editor command of choice. When entering visual editing mode, the shell will execute the command specified by EDITOR/VISUAL with a temporary file as the single parameter.
VISUAL has precidence over EDITOR. Environment variable are search first in machine, then process, and finally user targets.
commit f0295550278f57492bcd23ef30b415183be1b255
Merge: 07ce10733 a3258ed85
Author: srdubya <stevewy@gmail.com>
Date: Sun Mar 8 07:58:49 2015 -0600
Sync'd with upstream.
commit 07ce10733a67bbe1efd1da79cc720b0f7c82abb2
Author: srdubya <stevewy@gmail.com>
Date: Tue Mar 3 20:32:57 2015 -0700
Fixed "<esc>h<space>ih" bug.
commit a3258ed85a232e042e6fcd8030f126e1c838d040
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Feb 18 09:02:09 2015 -0800
Remove call to SetOptions which was unnecessary
Fixes#206
commit f2fe25c7b2a83e8b1a452b4fb6f6ec5ccc450004
Merge: 8480f36bb 4035d5dbd
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Feb 17 22:09:50 2015 -0800
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit 8480f36bbe8330f07b8cdcb7596082314357dfae
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Feb 17 22:09:29 2015 -0800
Update version number to 14.
commit 4035d5dbd8369ab729789c2946173d5bfe843ada
Author: Roman Kuzmin <nightroman@gmail.com>
Date: Wed Feb 18 03:47:46 2015 +0000
Spelling in about_PSReadline.help.txt
commit a28fc3f73de205e52af34b0f45927d8a14089e07
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Feb 7 22:59:04 2015 -0800
Recognize debugger pseudo-commands
ValidateAndAcceptLine was rejecting debugger commands like 's' or 'k'.
Now we check if we are debugging and accept these fake commands.
Fixes#199
commit b753e6be014e5f09fc4ab4eeb31ede37fbf685be
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Feb 7 11:54:13 2015 -0800
Fix ScrollDisplayToCursor to work better
Fixes#190
commit 84c38795635fa2f3296583b392c53044ed76804e
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Jan 26 19:35:12 2015 -0800
Remove demo mode
Demo mode doesn't work right now, and I found a better alternative
here: https://github.com/Code52/carnacFixes#192
commit 234f5ac9d27f7a56c85b9af11880044ece6836cc
Author: srdubya <stevewy@gmail.com>
Date: Sun Jan 25 10:33:46 2015 -0700
Fixex cursor positioning after history change bug.
commit ac09623ca35368b43fb7ca0a774491a76674386c
Merge: 4a2e7bb72 f730b8abc
Author: srdubya <stevewy@gmail.com>
Date: Sat Jan 24 10:03:16 2015 -0700
Merged Upstream
commit b77ec226dc6c7ab958410f8a5962323abc8ee607
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 22 19:27:30 2015 -0800
Honor $MaximumHistoryCount
This history count was being ignored, and the default in
PSReadline was 1024 instead of 4096 that PowerShell defaults
to.
The fix is to up the default, and safely set MaximumHistoryCount
in PSReadline based on the variable when initializing the first
time PSReadlne is called.
Fixes#135
commit b1fcc751d56c61d9108b83605d19af6353cb553b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jan 21 22:16:00 2015 -0800
Fix ClearScreen to properly scroll
The previous change scrolled the wrong test,
losing the bottom instead of the top of the buffer.
commit 75bdf63d98e9f579ab77b31387a604ba997d99ef
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jan 21 16:12:06 2015 -0800
Fix HistorySearch* when line is empty
The commit 49a4c4c1e62a00dc9fda357b0182a0d76d0d3bd9 broke
arrow keys working when the line was empty and you wanted
to go back more than one command.
commit b8f2348945c844c6620b740a6f762de795090b83
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jan 21 09:28:51 2015 -0800
Color any prompt character when there is an error
cmder uses lambda as the prompt character which is a
regular character, so I just removed the test and will
color any random non-whitespace character that is used
in the prompt.
Fixes#180
commit 32b7fc91ae2cab01ec0a1394ce47863ad4109942
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jan 21 09:24:34 2015 -0800
Update CaptureScreen description
Fixes#185
commit 7cbb0a858f4041b5cf4f46c22ded4cec228a7e63
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jan 21 09:19:26 2015 -0800
Clear status message in CancelLine
Fixes#189
commit c239364c24560087f452708bf47b816670c30420
Merge: 9914838d3 f730b8abc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jan 21 09:14:47 2015 -0800
Merge remote-tracking branch 'origin/master'
commit 9914838d3eb1cf05331f903b079113c3e276dc6d
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jan 21 09:13:29 2015 -0800
History recall should ignore other sesions
When using UpArrow, people prefer not recalling commands
from other currently running sessions.
It's still useful to avoid entering commands that have
might have been entered in another currently running session,
so those commands can still be found when *searching*
history, either interactively, or if the search string
is not empty when using HistorySearch[Backward|Forward].
Also fixed in this change - an obscure bug where
HistoryNoDuplicates did not work well with a DigitArgument
when recalling history.
Fixes#179
commit 4a2e7bb7221086ecd56cb53192301c3986f211a6
Author: srdubya <stevewy@gmail.com>
Date: Sun Jan 18 06:43:49 2015 -0700
Fixing problem with tab completion after 'c' in command mode.
commit b0b7241d32184527283d8f5bed7e63d7c7d43e02
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jan 16 09:05:32 2015 -0800
Support Cancel/Abort DigitArgument
There was an exception with input like:
a Alt+1 Ctrl+C
CancelLine was clearing the buffer, but didn't reset _current.
That fixes the exception, but it still clears the input line
when called to terminate DigitArgument, so instead we do something
similar to how interactive history search is terminated.
Fixes#184
commit 299aea82680b337c8658aaaeb2307ffa068e31db
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 15 17:22:15 2015 -0800
Fix bug with undo after possible completions
repro is something like:
[ArrayL <Ctrl+Space> <Ctrl+Z> <Ctrl+Space> <Ctrl+Z>
commit b6573377152e3b1bfce7659381c9adcede1c9271
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 15 09:19:09 2015 -0800
ValidateAndAcceptLine improvements
Script block arguments are now only validated as arguments to specific
cmdlets (which are in a user modifiable whitelist.)
A custom validation handler must now throw an exception to report an error,
returning an object is now ignored.
A sample custom validation handler was added to demonstrate typo correction.
Fixes#162
commit ae8b2f8dbc959a0eeee9fc0299f9cd54cc8bd270
Author: srdubya <stevewy@gmail.com>
Date: Tue Dec 30 07:18:10 2014 -0700
Surrounding Get-PSReadlineKeyHandler vi command mode keys in "<>".
commit 37d884a1a4a251f4ca1e5a67ca4964e6ca1c7bcd
Author: srdubya <stevewy@gmail.com>
Date: Sat Dec 27 11:58:56 2014 -0700
Added support for mid-chord numberic arguments.
commit 07186ba50e8ce24615338230f25274f11392bdbb
Author: srdubya <stevewy@gmail.com>
Date: Wed Dec 24 12:58:57 2014 -0700
Added ctrl-D handling (accept in insert mode, exit in cmd mode).
commit 7dc200af75e1a8536368db70496d8ba5d07df01f
Author: srdubya <stevewy@gmail.com>
Date: Wed Dec 24 12:43:26 2014 -0700
Cleaned a couple duplicate functions.
commit 73b8e0276104bf6c49503f83edb131ac07fa6d74
Author: srdubya <stevewy@gmail.com>
Date: Mon Dec 22 18:27:22 2014 -0700
Sync'd with Upstream.
commit dd7fc31ac7c42ec6a8684a6196b5a96cb27dfe65
Author: srdubya <stevewy@gmail.com>
Date: Sun Dec 21 16:23:45 2014 -0700
Fixed minor formatting. Ready for Sync.
commit 9a926f2df4e048d330d2d0185b944730fe94b11e
Author: srdubya <stevewy@gmail.com>
Date: Sun Dec 21 16:20:20 2014 -0700
Fixed Delete and Change so the work for Globs.
commit eb5e5e02f9b6b4ed9246aed5808e9ef4949f5918
Author: srdubya <stevewy@gmail.com>
Date: Sat Dec 20 11:27:18 2014 -0700
Added Yank commands.
commit 7c2ccd7365eda624cf5e9608e81734a66a90b0cc
Author: srdubya <stevewy@gmail.com>
Date: Fri Dec 19 10:57:18 2014 -0700
Removed mode, in preparation for merge with GitHub.
commit e09b1ec92947e9563b5650750771fa08f6829af9
Author: srdubya <stevewy@gmail.com>
Date: Thu Dec 18 09:02:14 2014 -0700
Fixed word movement for B,E,&W.
commit f730b8abc8221536091524655e84bf3f48fcbbb9
Author: Dan Thompson <dan_j_thompson@hotmail.com>
Date: Mon Dec 15 20:24:52 2014 -0800
Allow for clean exit on AppDomain unload.
In a "hosted" scenario, the shell might be hosted in an alternate AppDomain
so that it can be loaded/unloaded independent of the process. This change
allows the unload to happen cleanly (without a rude threadabort tearing
through stuff).
commit ba540e34f4d94e26f39307818be4695be5e07844
Author: srdubya <stevewy@gmail.com>
Date: Sat Dec 13 10:06:01 2014 -0700
Getting ready to fix dot word movement problem.
commit eaf4f0b155013a7ecc30dda1747aa39a47dda1f7
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Dec 2 09:35:11 2014 -0800
Fix exception after certain keywords
Rendering in PSReadline assumed all input had corresponding tokens,
but the PowerShell parser doesn't return any tokens after in at least
one case - after input like 'process foo'.
The fix is to gracefully handle running out of tokens. Fixes#148.
commit 74659cbb3189c3d925ed4b602f377d8167674f73
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Nov 25 19:35:22 2014 -0800
Bind Alt+F7 to ClearHistory
cmd/PowerShell Windows mode supports clearing history with Alt+F7, so PSReadline will too.
commit 69b083764203fa0f7194f0c16a96109b38cf1081
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Nov 19 13:33:11 2014 -0800
Better documentation for custom key bindings
Fixes#170
commit b94c7d6827b65215e03aae1c3ee6430826ba4b19
Merge: 1cdcf9d2a ffedd7980
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Oct 28 21:13:27 2014 -0700
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
Conflicts:
PSReadLine/Changes.txt
commit 1cdcf9d2a50cd0a7ce433f84c78e2caeabbe43b7
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Oct 16 18:33:01 2014 -0700
Add bindings to scroll the screen up/down by line
New functions:
ScrollDisplayUpLine
ScrollDisplayDownLine
And corresponding key bindings Ctrl+PageUp/Ctrl+PageDown
These functions accept a numeric argument, but the DigitArgument
implementation isn't compatible with scrolling the screen, so
it's not that useful unless a custom binding wants to do
something interesting, like scroll half a screen.
commit 23f584e11dece2c882e6c23c4bf8844d3af85a72
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Oct 16 17:42:21 2014 -0700
ClearScreen now clears the screen, not the buffer
ClearScreen is meant to just clear the screen, not the full buffer.
The command cls (or Clear-host) will clear the full buffer.
commit eaf14629477fceb980d39c31a15da962e2978007
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Oct 14 19:29:35 2014 -0700
Raise PowerShell.OnIdle if needed
If there are any registered handlers for the engine event PowerShell.OnIdle,
raise the event that PowerShell would have raised so the event handler
can do it's work.
Fixes#169
commit c728a939da4f990e0a797289461a6ba642ce3a21
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Oct 14 09:43:42 2014 -0700
Add Remove-PSReadlineKeyHandler
Sometimes you just don't want a key binding for whatever reason, so now you can remove a binding.
Note that unbound keys won't fall back to what happens in "cooked" editing mode.
In raw editing mode (which is what PSReadline uses), conhost only handles a very small
set of key bindings and those bindings weren't available to PSReadline anyway.
Fixes#154
commit cc2de256504b078df2c3ec3686ac6425eef0d364
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Oct 8 09:24:12 2014 -0700
Fix null reference exception in AcceptAndValidate
commit ffedd7980d75dae94a218515c8c4819222bdf87b
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Oct 6 11:32:48 2014 -0700
Bind Ctrl+P/Ctrl+N like Up/Down arrow in Emacs mode
commit cddcef8f309eba2d375620d9072de5eefe6a2328
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Oct 1 23:23:22 2014 -0700
Support exit process with Ctrl+D in Emacs mode
Added new function DeleteCharOrExit bound to Ctrl+D
in emacs mode.
Fixes#121.
commit 9b76b08399a2424af900f7b85857a9e5bd9a547b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Sep 26 18:22:44 2014 -0700
Stop using static parameter binder
The static parameter binder is causing too many false errors
so I'm removing the checks it was doing.
commit b5d5634e7cc1fe949cb593299e174e0e873e89d3
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Sep 26 18:15:19 2014 -0700
Fix exception after AcceptAndGetNext
The "current" line cleared after accepting via AcceptAndGetNext
and we would crash trying to recall this current line.
I've changed how history search works after AcceptAndGetNext
to work in a more natural way so that arrow keys can be used
to recall commands near the accepted command instead of
searching for other commands with the same prefix.
Fixes#152.
commit 0dca3aac9595963c3697d0cdb93f429dda5d3e4d
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Sep 23 19:34:51 2014 -0700
Rethrow exceptions during unit tests
The error reporting message that was added gets in the way of
ensuring tests fail in a more reasonable way. So if I can tell
the unit tests are running, just rethrow the exception.
commit a48127b4dd9b7ff05ec55831d4310e2e0b6db7e8
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Sep 19 08:34:40 2014 -0700
Fix MTA bug with Cut
commit c53d4b06ed27d0e2c2b4c9012e36c59677b2dbbc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Sep 11 09:08:04 2014 -0700
Add -ValidationHandler for ValidateAndAcceptLine
To support custom validation, for e.g. to allow someone
to reject command lines where arguments are not valid,
you can now specify a custom validation handler script block.
commit a29f1f553be339337646b09a048b5e20f794ff6b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Sep 9 23:09:15 2014 -0700
Update changes.txt
commit faed5680e4e27a5cdf93c75731710012c82ebef8
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Sep 9 23:08:50 2014 -0700
Make Enter default to ValidateAndAcceptLine
commit 400bf05c3ae438bdb34a8c1f8e91c4be0ccaf238
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Sep 9 17:36:59 2014 -0700
Add ValidateAndAcceptLine function
To avoid cluttering the screen and history with command lines
that don't work because of stupid errors like "command not found",
you can bind enter to ValidateAndAcceptLine.
commit 0da7ec8c995132c0f40c836cc74d75574ed1da82
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Sep 8 10:16:16 2014 -0700
Add color support for an error status message
commit 85064bf226a1b1c7032bbe1b2096b38e703376be
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Sep 9 17:39:40 2014 -0700
Update version number to 13
commit 67b63c5265ea54f2db1f2817ddb2dc977b285894
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Sep 8 09:27:31 2014 -0700
Make PowerShell ExecutionContext available to C#
commit 417c94a926e8dcd7a8e0347c09a840d89076dd62
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Aug 26 07:43:25 2014 -0700
Update version #
commit 2fd3840589a19d51943c17489006e2c436bc2b32
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Aug 13 19:13:14 2014 -0700
Fix MenuComplete to properly clear the menu
commit 4e3dd6f63fb9c95a19ce8ccbb68f0f5080ffd87d
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Aug 13 09:56:10 2014 -0700
Update changes.txt
commit 480b3fda7290d41c49eae43513e387b014623dd0
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Aug 13 09:01:44 2014 -0700
Clear emphasis if any before accepting a line.
commit ba9bdba7f4ccd8a8878be16625381fa1dac669cf
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Aug 6 19:44:23 2014 -0700
Better multi-line editing
These changes provide a more seemless editing experience when
the command input has multiple lines.
The history recall functions now avoid recalling history if the
input has multiple lines _and_ we aren't in the middle of
recalling history. If you do want to edit a recalled multi-line
line (ugh) then you can first use something like LeftArrow then
UpArrow will work like you would want.
BeginningOfLine/EndOfLine have been changed as well. If you're
already at the start/end of a line, you'll go to the start/end
of the input, otherwise you'll go to the start/end of the line.
Two new functions have been added for moving up/down lines in case
somebody wants to bind those independently of history, but I don't
see those being used much.
Fixes#47
commit f5647cbcabdf140b6937b81cf299eb4fa00e93fe
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jul 17 08:51:43 2014 -0700
Reset console mode for calls to external code
For an unknown reason - SetConsoleMode calls fail when setting certain
modes. One such case is when PowerShell calls SetConsoleMode in it's
implementation of PSHostRawUserInterface.ReadKey.
PowerTab calls this method - and it's possible that other custom
key handlers might want to use that api, so I will reset the console
mode to what it was before calling PSReadline for the duration of
the external code (tab completion or custom handlers) and reset it
when the external code completes.
Fixes#125.
commit d91401ac37363e871ee5ac57a370b231cf838c77
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jul 16 20:43:19 2014 -0700
Tweak yielding for event processing slightly
Based on feedback from Lee, the conditions under which
we need to pulse the pipeline can be even more restrictive
and a more minimal "useless bit of script" can be used.
commit 901adece353ac15031151bd6ff17a3d474aa35f3
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jul 16 08:28:27 2014 -0700
Remember script block for custom key bindings
For various reasons, we may need to know that a key binding
came from a script block so that is now saved in the key binding.
commit 31cfbc1689f9ad0d03e0d02991da7d0330fae969
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jul 16 07:22:58 2014 -0700
Add timeout in ReadKey for event processing
The pipeline thread is blocked when PSReadline is running.
When the pipeline thread is blocked, PowerShell won't process
any events.
I added a timeout of 300ms and check for event subscribers,
if there are any, then run a bit of useless PowerShell so that
the PowerShell engine will get a chance to process events.
Fixes#133.
commit 601cf56505b8424c25aedb31e0c8c6feabd530c1
Author: jazzdelightsme <dan_j_thompson@hotmail.com>
Date: Sun Jul 13 21:13:52 2014 -0700
Bind F8 to HistorySearch*, similar to cmd.exe.
It's not /exactly/ the same as cmd.exe. For instance, it doesn't cycle
through results, but since you can use Shift+F8, to go the other way, it
still gets the job done.
commit 550215264fefe2b99f4735d6975190006350de56
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Jun 28 12:16:19 2014 -0700
Fix undo bug
When recalling a line from history multiple times
and making edits to that line, the undo stack was incorrect.
The fix was to make a copy of the undo stack when recalling
from history.
Example repro:
ls Enter
UpArrow Escape dir Enter
UpArrow UpArrow Escape
commit e56368d5d2e020a9006cc2549046e252fe554a7b
Merge: 693318de6 8c602017f
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jun 27 23:26:51 2014 -0700
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit 693318de6d175fbc8457cce9df556feb89dc4199
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jun 27 21:05:59 2014 -0700
Correct enums in history save option
Fixes#123
commit d7f4471f1904d112f2618ad13fcfb1fd76668fd3
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jun 27 20:58:57 2014 -0700
Fix prompt error highlight characters
When deciding what character to color red for errors, we were
using IsSymbol - that was a bit too restrictive so it was changed
to be any non-whitespace and non-alphanumeric characters.
Fixes#127
commit 8c602017fb80e422658e36c648b8f70e631763a0
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Jun 13 14:38:58 2014 -0700
Update version # and change log for 1.0.0.11
commit 7630913270f3ee2026d32ad5e13916c55cd1f9d9
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Jun 13 13:57:31 2014 -0700
Fix MenuComplete to not use nested edit groups
I didn't feel like properly solving how to handle nested edit groups when
forgetting edits after an undo, but I forget that MenuComplete was
actually using nested edit groups.
MenuComplete doesn't really need nested edit groups, it was just convenient.
I switched to just remembering the edits to remove and saving a single edit
group for the final selection or removing them all if cancelled.
commit bd211ea4f705dc9f527fab27aeb575b09fe19caa
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 14:11:32 2014 -0700
Update version # and change log for 1.0.0.10
commit 1cc4d37ea7899eb34ccc1b7ad185bf4b172d400e
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 18:32:35 2014 -0700
Fix undo bug
There was a bug in undo code where if you undid some stuff, made an edit,
then started a grouped edit, the undo state was incorrect. A simple
repro was something like (in Windows mode)
a b c d Ctrl+z Ctrl+z Ctrl+z Shift+LeftArrow Ctrl+x
commit c4508fd0d5f256124b94bb58ffeac049202fa272
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 18:51:11 2014 -0700
Fix tests for recent changes
commit 73fdd14911f73a4f133ab03f32a3abe3585da729
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 18:31:05 2014 -0700
Change parenthesize sample to honor selection
commit 53807405054fd9680205ac146b1e54b19f864b45
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 14:09:17 2014 -0700
Attempt better recovery from an exception
If an exception occurs when editing the command line, display some
diagnostic information so that I might get a bug report. Also
attempt to restore the command line so they can continue editing.
commit 436216f44d3b5c1cdef605eb06ded4eb49d4fa42
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 13:22:15 2014 -0700
Change a couple key bindings
Bind MenuComplete to Ctrl+Space in Windows and Emacs mode
Bind YankLastArg to Alt+. in Windows mode
commit cd3d5a6230490f0fd207e1c72e18059e283b7e38
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 12:59:45 2014 -0700
Fix exception when setting history save path
commit 413b9eb5ff84fa35b4c26bcab3664f7a57fe1a69
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 12:57:36 2014 -0700
Fix ShowKeyBindings to not write blank lines
commit dfc12e906f7cf35790c091de2d15766a9dcf4c2b
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 12:17:20 2014 -0700
Fix a typo
commit 4c5cc57bf9f55bff44a9905b739f3e014a19ed53
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 12:16:39 2014 -0700
Update help for history saving options
commit f7161ae2f155f34d4f892603cd27d7bb89a3b25a
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Jun 12 12:14:58 2014 -0700
Fix initial creation of directory for history file.
commit 3aa00c46c1e75dc868a9206f2e3fff30fde1ef98
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jun 11 09:35:05 2014 -0700
Update changes
commit a7e98ce07d261f612d72622ec41b2b195ae704fd
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jun 11 09:34:38 2014 -0700
Update help for Ctrl+r/Ctrl+s
commit 8d02b0f870957b3c1f4924ef606a3fa0c25cb80a
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jun 11 09:25:06 2014 -0700
Small fix to MenuComplete
The cursor was placed incorrectly when showing the menu
at the bottom of the screen if you hadn't reached the
end of buffer yet.
commit 61891b41c9ca96d9dde08f8a1889a7b9cf4d6e53
Merge: 75b2d9a9b dcd09566f
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jun 11 09:02:58 2014 -0700
Merge branch 'SaveHistory'
commit dcd09566fcaaf492d0e13a2f7cf5590e75cf65fa
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Jun 11 09:01:28 2014 -0700
Auto-save history
Added options to save history automatically - either at exit or incrementally so that history can be shared across sessions.
Default is current to save incrementally.
Also added an option to not save history - useful for those importing history in their profile.
commit 0ff6a3ed24f851fd3cf391a68facde9942df4452
Merge: 24f3b0079 b495d2400
Author: srdubya <stevewy@gmail.com>
Date: Sun May 18 06:57:26 2014 -0600
Merge remote-tracking branch 'upstream/master'
Conflicts:
PSReadLine/PSReadLineResources.Designer.cs
PSReadLine/PSReadLineResources.resx
PSReadLine/UndoRedo.cs
Signed-off-by: srdubya <stevewy@gmail.com>
commit 75b2d9a9b9dc1688f8ee3d4573bc5c556a600f5a
Merge: 80b04250b b495d2400
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat May 17 23:07:57 2014 -0700
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit b495d2400d8e41bfa7bfb798f208044c0efdd9fa
Author: Jason Shirk <jason@truewheels.net>
Date: Fri May 16 18:16:35 2014 -0700
Add samples for marking/jumping to directories
For quick navigation, these examples let you mark a directory
and jump back to a directory with a couple of keys, all without
affecting the current command line.
commit 80b04250b181cef3fd63c472794674d77e316027
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed May 14 07:43:23 2014 -0700
Update Changes.txt
commit 34f63bf8fb50c5306c9c97358b693ca6eeb79849
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue May 13 17:44:31 2014 -0700
Recall the saved current line after end of history
When starting a search through history, we saved the
current line. A refactoring broke recalling this
saved line in one case (the default) so I added
some tests to make sure it doesn't regress again.
commit 06654dcb75a1e62177f18710a2f6b0c48f5accc7
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue May 13 09:03:02 2014 -0700
Ensure completion menu is visible
When displaying the completion menu, it might be rendered in a
non-visible area and needs to be made visible.
commit 96f235668887575aabfc07e07bcbc9304d35c68b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon May 12 07:41:42 2014 -0700
Add MenuComplete function
Some folks won't like the way menu complete works and the cleanest
way to invoke it is as a bindable function, so I'm adding that.
I considered emulating zsh more closely, but zsh is a little weird in
when it removes the possible completions.
commit 230476cc365515aa9a7fb974d634f77fb89517c2
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun May 11 13:33:22 2014 -0700
Fix menu completion for scrolling and wrapping
Menu completion would crash PowerShell when invoked from the end of the buffer.
The display also got messed up when the selected completion caused the line
length to exceed the buffer width and hence required wrapping.
commit 44fe1fe2a669419e7060bf414dd8d7585dfefccb
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue May 6 11:20:28 2014 -0700
Support menu completion
If completion is ambiguous, we will support interactively selecting
the completion using tabs and/or arrow keys after displaying the
possible completions.
This menu style completion can be cancelled with Ctrl+G or Escape.
Menu completion should be optional as not everybody will like it,
I will add an option and/or a function that makes this something
folks can customize.
Also fixed:
* Tooltips that contain newlines now look much better
* Undo groups handled a little better (maybe a non-issue before
menu completion.)
commit 77dea1787b614ea3bcf9aefb289997cfbe9dc6ec
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Apr 28 11:31:13 2014 -0700
Fix small bug with history no duplicates
Up/Down arrow with "no duplicates" would cause an exception
if you tried to go beyond the start/end of history.
commit 24f3b00797a3973bf1693920bb98ccbc36f01d24
Author: srdubya <stevewy@gmail.com>
Date: Mon Apr 21 19:20:25 2014 -0600
Improved Undo for 'c' commands.
commit 7e54ab29be5f3e4ed075c09f3bbeebbe554fa0d5
Author: srdubya <stevewy@gmail.com>
Date: Sat Apr 19 19:14:56 2014 -0600
Making UndoAll a non-VI specific key handler.
commit d6dd9b87d56cd02611f0e8b4fe3cb99f13b0c036
Merge: 5debc1cf5 25b79bf13
Author: srdubya <stevewy@gmail.com>
Date: Sat Apr 19 18:06:06 2014 -0600
Merge remote-tracking branch 'upstream/master'
Conflicts:
PSReadLine/History.cs
PSReadLine/Movement.cs
PSReadLine/PSReadLineResources.resx
PSReadLine/UndoRedo.cs
commit 5debc1cf5648fa12d223ed39ce6240887d8a58ed
Author: srdubya <stevewy@gmail.com>
Date: Sat Apr 19 08:59:33 2014 -0600
Moving many Vi* commands to more generic names.
commit b92952d778d46e2476f556df4d2ae048948100f5
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Apr 17 09:38:16 2014 -0700
Reset current history index when done w/ recall
After a series of UpArrow/DownArrow (or whatever keys
are bound to the history search/recall), I am reseting
the current history index. This avoids a problem where
the current line might not match the line saved in history
for that history index.
There is a small change in behavior that some might notice.
Say you are searching for some command, but you can't think
of something unique to search for in that exact command, but
you do remember something you can search for in a command entered
near that command actual command you want.
Before this change, you could use Ctrl+R to find the command near
the one you want, then use up/down arrows to get to the exact
command.
This will no longer work after this fix. Any other fix will
likely be more complicated, so if folks ever noticed the previous
behavior and complain that it no longer works.
Fixes#97
commit 48c66090199b1f15af7a238721f09c44a3955d66
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Apr 17 09:21:01 2014 -0700
*SearchHistory to recall current line
Like ordinary recall history, when you use the down arrow, you
eventually recall the current line (which is typically empty
but not always.)
SearchHistory was stopping at the first match instead of getting
back to the current line (which will be exactly the search string.)
commit ad636239dd1fbe6ef30a2196873b7a897b709420
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 18:06:48 2014 -0700
Move Ctrl+V entry for Get-PSReadlineKeyHandler output
commit 4bad9b07f66a9872c964a889386495f25c766083
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 18:05:35 2014 -0700
Support RevertLine for lines from previous sessions
commit 25b79bf1340aa0ccc033a7a6cc0a79a093b6a4d6
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 11:03:36 2014 -0700
Update for release
commit 3934046f69d4544c1c54b3057347b47d78ae8022
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 10:58:03 2014 -0700
Revert "Use runtime check to allow other console-based hosts to use PSReadline."
This reverts commit f5c94f7fe2da695190cc2584c32695f0eb7d8de7.
Conflicts:
PSReadLine/PublicAPI.cs
commit 97bfc27146ce692b645ea71a42aec96fc95ef161
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 09:14:47 2014 -0700
Add api to get selection state.
commit 79905c0974f16d212595fcf5ce265c7eb746788a
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 09:00:30 2014 -0700
HistorySearch changed to use emphasis
Like interactive search, history search now uses emphasis
to make it obvious what is being searched. With this change,
the cursor will also always move to the end as it's much
less useful to have the cursor near the start of the line.
commit 800860c51ee3c40f38f289cb48b8a09b375ba375
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 08:39:32 2014 -0700
Change eol behavior for NextWord/ForwardWord
Cmd and bash place the cursor at the end of the last word
instead of one past the end of the word when moving by word.
PSReadline emulated that behavior, but it's inconsistent with
word movement on the rest of the line and it's inconvenient
because you typically need to use the right arrow or end
to edit at the end of the line.
I've removed the emulated behavior, the cursor will now move
to the end of the line.
commit b6c9584703d1233c47257436410bb2f10f366882
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Apr 16 08:33:35 2014 -0700
HistoryNoDupes - Search/InteractiveSearch History
commit a985c974cfd74cc18342198f7e591a54a257fba6
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Apr 14 14:51:24 2014 -0700
HistoryNoDupes to store but not recall dupes
HistorySearch and InteractiveSearch still need work though
commit c703edae0831c8cb23bd27bdb7ffbda4697c1fc1
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Apr 13 11:21:30 2014 -0700
Cleanup some Resharper issues
commit cdd50113f18e8a434189808f09e586ab0df822b4
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Apr 13 10:43:57 2014 -0700
Support digit args for word/character movement
commit 816cd6cf8b86e1c7e918ea105d77f1b2a6ab6fc0
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Apr 12 10:16:11 2014 -0700
Add key bindings in Windows mode
Windows mode now has by default:
* Interactive history search (Ctrl+R/Ctrl+S)
* DigitArgument (Alt+Num)
commit abef5c2dc9d34e702144a35307671933816227ec
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Apr 4 13:02:25 2014 -0700
Fix#99 - completion in remote sessions
When powershell has entered a remote session via Enter-PSSession,
completion was completing against the local session.
The fix is to use the remote runspace when calling the completion
api. The remote runspace isn't exactly exposed in a clean way
from the host, so the fix is mixed between a bit of PowerShell
and C#.
commit 67d0936cd81b12fd03d9da5d87ac13cd3ec843b0
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 29 10:23:03 2014 -0600
Attempting to comply with Jason's preferred formatting.
commit b3dc32c0bad29e07b363a1a235ea7a151bf60536
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 29 10:16:02 2014 -0600
Added ShowKeyBindings cnt-alt-? key binding.
Fixing missed inadvertant formatting change.
commit fa40af83b74055819ded1f737db4c7f59a75bf35
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 29 09:39:24 2014 -0600
Attempting to improve Get-PSReadlineKeyHandler for vi mode.
commit f308df0f8b45c9d62ad6f413c4477cfed27a2586
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 29 07:00:30 2014 -0600
Cleaned up formatting changes in common files.
Further minimized changes to originals.
commit ebcdf029f0ef081d3764f9f78b5090914f956af3
Author: srdubya <stevewy@gmail.com>
Date: Sat Mar 22 08:16:03 2014 -0600
Adding VI edit mode, along with unit tests.
Note, these items need work:
- No support for Yank/Paste yet.
- No support for 'G' history goto yet.
- Undo works, but not as desired in some cases.
commit 7471399ad4c198c742c2f9b9da4cc0cd444b16b4
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Mar 8 16:25:12 2014 -0800
More cleanup from removing Fakes
commit c5cd2f03b486face037d3494b6ea475e0869fae2
Merge: 24cf00ed2 906de61b3
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Mar 8 16:15:27 2014 -0800
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
Conflicts:
PSReadLine/PublicAPI.cs
commit 24cf00ed234837caf59df63b7680cb8595e141f6
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Mar 8 15:52:44 2014 -0800
Replace Fakes with simple mock object
Fakes are handy, but require Visual Studio Professional.
To enable folks using Express, I added a mock interface
for the bits that need mocking.
commit 906de61b3b031ea44ddbbbd7fb918a800152d986
Author: jazzdelightsme <dan_j_thompson@hotmail.com>
Date: Tue Mar 4 18:12:42 2014 -0800
Use runtime check to allow other console-based hosts to use PSReadline.
The host check in the .psd1 only allows you to specify one host. To allow
other hosts to use PSReadline, but still try to give a helpful error to
people trying to use PSReadline in other, non-console hosts (like the ISE),
we instead do a runtime check using IModuleAssemblyInitializer, wherein we
check to see if the current process has a non-hidden console window, and
emit an error if not.
commit 366cf077623d43c23cc22f9e1fa350fb25ebba8d
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Feb 26 18:53:34 2014 -0800
Add post-mortem debugging aid
commit 8eb4c0c64ebf0a543fe6b5e25eacfa88a4816871
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Feb 26 17:18:34 2014 -0800
Generate Function param + ValidateSet dynamically
It was annoying to always update the ValidateSet attribute each
time I added a new Function to support. Dynamically generating
the parameter with ValidateSet works nicely.
commit 553e9ad4424f85b145a8dfffc9de0938a219caad
Author: Dan Thompson <dan_j_thompson@hotmail.com>
Date: Sat Feb 22 21:15:49 2014 -0800
Mark ReadKeyThreadProc thread as background to prevent hang on exit.
PowerShell.exe does not exhibit the hang because it hosts the CLR and does
some teardown differently, but pure-managed hosts will get stuck waiting
for this thread unless it is marked as a "background" thread.
commit c45b1a930a9f18ccb0d04175140ca5b02b0dac86
Author: Dan Thompson <dan_j_thompson@hotmail.com>
Date: Sat Feb 22 21:45:19 2014 -0800
Replace slow DateTime.Now calls with Stopwatch (QueryPerformanceCounter)
It's an order of magnitude faster. We don't need all the fancy time info
given by DateTime.Now anyway; we just need an accurate timestamp.
There's also a correctness issue: when dealing with TimeSpans (what you
get when subtracting DateTimes), the Milliseconds property is not the
same as the TotalMilliseconds property.
commit 66ece9630d9a446e2c65377014410942f34b87ae
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Feb 23 23:50:13 2014 -0800
Copy all module files to build dir
commit 59049ab174d38a27a229108f31049dbf05ac5ff4
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Feb 23 23:31:37 2014 -0800
Add function CopyOrCancelLine
Ctrl+C should copy selected text if any is selected. Otherwise
it will cancel editing.
On the off chance somebody prefers the old behavior, CancelLine
is unchanged, but it is no longer bound.
Fixes#87
commit fc5983782a3c2184418bad1aa7e3279b58fa50de
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Feb 23 23:08:13 2014 -0800
Add SelectAll function (Ctrl+A)
Fixes#84
commit 3d1cc6a2cd35e3394c814163f15bafbe07ef1c32
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Feb 23 20:27:30 2014 -0800
Fix#89
Backspace after a failed history search made searching always fail
until starting a new interactive history search.
commit 22ded640722349ed23b0cf2a5d9a502e259f3131
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Feb 14 14:39:29 2014 -0800
Add missing default arguments
commit 63c00d30ebe710e08c576c2ebe9fd27714ab2ccf
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Feb 6 08:24:12 2014 -0800
Add new functions to select to start/end of line
Function SelectBackwardsLine is bound to Shift+Home
Function SelectLine is bound to Shift+End
commit e4bce53095f64cd33a0da1b5ecb0541a6b2dfae8
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Feb 5 23:42:05 2014 -0800
Update version number
commit 1305a5a8f4f7139dcfd185f9cfca3af838ebd82c
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Feb 5 23:38:37 2014 -0800
Update ValidateSet for key handler functions
commit 274368daa733ca9345e67ff1d18366be145d03ad
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Feb 5 23:38:10 2014 -0800
Fix colors in CaptureScreen
commit 81ea49455285327a2d52b888e6c66e29e5208f3c
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Feb 5 23:11:37 2014 -0800
Add screen scrolling support
New functions:
* ScrollScreenUp
* ScrollScreenDown
* ScrollScreenTop
* ScrollScreenToCursor
commit 31e98dd6b634b7b689dfa476cc7dcfc26ce14e81
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Feb 5 22:41:35 2014 -0800
Ensure token state matches buffer
There was a small bug where typing very quickly could cause
random errors - incorrect edits or null references.
commit ff99d190f593101a3a1edf6a6ceea55a4dfbe933
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Feb 5 15:53:53 2014 -0800
Tests for directory completion
When completing a directory, we want to always add a trailing
backslash, and if the directory is quoted, make sure the backslash
is inside the quotes _and_ the cursor is placed inside the quotes
so it's quicker to type more of the path.
commit c6a4de2174d906f426a4411c6e26b76d543fcc93
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Feb 4 19:18:49 2014 -0800
Add ShellNextWord
ShellForwardWord was behaving like *NextWord or *ForwardWord
depending on the edit mode.
Instead, we should have 2 functions so people can bind as they choose
regardless of the edit mode.
commit cfbd44dfb3a276cb390e64cdd28fc30bf29553dc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Feb 3 09:49:40 2014 -0800
Small fixes to ShowCompletions
commit 758c136a2369b5fb081ebf382ec117dcbcedfa4b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Feb 3 09:48:59 2014 -0800
Support replacing selected text in SelfInsert
commit e116a67d62ae6a683ddd2ec98568f0c6ed6c385b
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Jan 26 23:35:33 2014 -0800
PublicAPI tests
commit f51833d2c16adc6e77ccb010bb224f7d168216ce
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Jan 26 20:21:22 2014 -0800
InvokePrompt tests
Removed Console.WriteLine replacement as it didn't work for InvokePrompt.
Changed test harness to override VS and actually write stdout to the screen.
commit 39198375fe2ca36c6ee85aa1f38e33216dd098d6
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Jan 25 22:04:04 2014 -0800
YankLastArg/YankNthArg tests and minor fixes
commit 99753d94ab714b40b280217596053fcc9ca9a3f8
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Jan 25 14:52:05 2014 -0800
Always reset bindings when setting edit mode
As a misguided optimization, if the edit mode is specified
but not changing, we skipped setting the key bindings.
commit bf48a71acb916526067bd9207591bd83c18716bc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jan 24 23:01:08 2014 -0800
Fix WriteLine to properly scroll
commit bcead39ebee95bb5f29efa770eb7c7ab915f2ff8
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 23 07:34:22 2014 -0800
Interactive history search fixes and tests
Fixed some very minor issues with interactive history search including:
* Actually work if started with a forward search
* Support Backspace even if bound to a custom command
* Remove emphasis when search is in a failed state
* Don't use current line as search text when starting search
Tests added cover close the most important stuff, when I get closer
to 100% coverage I'll add a few more tests.
commit 326fb0397ab411b3186384891fee55026e15deff
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Jan 21 16:55:05 2014 -0800
More tests...
commit 84690f543b56cd422d2962967cb2f42fdd7903cc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jan 17 11:07:29 2014 -0800
Fix DigitArgument bug
Multiple Alt+- before any digits would cause an exception.
commit 8f2f14dfc032801f8cbda7c9f76641b48f5957d3
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jan 17 11:06:33 2014 -0800
Exclude debug code from code coverage
commit 894cb8ef4d0a16ae18ab9357aa610fb3366478dc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 16 16:09:32 2014 -0800
Add some begin/end of history tests
commit fb46544a935679200c776b7c05fe7d5813117f3d
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 16 14:17:15 2014 -0800
Avoid hanging when a test fails
A recent change to the test framework moved calling the validation
actions to the thread that reads keys. If an exception occurs on
that thread, the test would hang.
Instead, we'll catch the exception and throw it from the main test thread.
commit a4376b195b01d0d02b447ccfe88805d4ec2ec953
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 16 08:54:32 2014 -0800
CancelLine tests
commit e6dea08c7aa812e76a4911e7e79f2a657490e3b5
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 16 08:32:07 2014 -0800
Fix cut/paste typo
commit 515c8483d26570d34393f0f152b872774eb65023
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Jan 14 19:31:28 2014 -0800
Refactor test code to mirror code to test
commit b9035677ac2577272f25aa254c7d7f1f1dd16be4
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sun Jan 12 14:11:04 2014 -0800
Refactor code to multiple files
commit 4b10d1713ee0cc3b4118ea25665c1e28ab032b0d
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Jan 9 23:28:02 2014 -0800
Simplify tests with a different test hook
commit d152449a3010ac9871678b546cb5482836dda7df
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Jan 7 10:09:40 2014 -0800
New tests
commit b23507ccd999f62190e3fb6a954790fc5cbc469f
Merge: 4d87baf0f 0f00966bb
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Jan 6 15:15:22 2014 -0800
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit 0f00966bb57963f90d45c99bc1da539da23d9787
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Jan 6 12:24:43 2014 -0800
Place cursor for custom handlers using Delete
commit 4d87baf0fbfa9fa110a6c37ba24a3a477822310c
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Jan 6 09:18:19 2014 -0800
Fix conversion from string=>ConsoleKey for digits
commit e66c519cab5c882a47d800263e7c679d6a9fdd7f
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jan 3 22:26:28 2014 -0800
Add function InvokePrompt to re-evaluate prompt
InvokePrompt can be used from a custom key handler to invoke the
prompt function again. This is done in a way that minimizes changes
to the display - the previous prompt is overwritten and the cursor
is placed where it was before the prompt was evaluated previously.
The current input is also preserved.
commit 01575ace3342ab3d5e1be326935987b74c77543e
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Jan 3 00:09:49 2014 -0800
Add CaptureScreen function
CaputureScreen is used to copy lines from the screen to the clipboard.
Text is copied in plain text as well as rtf with colors.
Rtf looks best in Outlook - which is my primary reason for adding the feature.
commit 60dc59d7c4a59ed1086aa04260e99f39cfeaaf0a
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Dec 28 16:22:35 2013 -0800
Add keyboard selection + cut/copy support
Shift+Left/Right arrow now selects text
Shift+Ctrl+Left/Right arrow now selects words (Windows mode)
Alt+Shift+F/Alt+Shift+B now select words (Emacs mode)
Del/Backspace deletes highlighted region
Ctrl+X cuts to system clipboard (Windows mode)
Shift+Ctrl+C copys selection or full line to system clipboard (Windws mode)
New unbound function KillRegion which kills text b/w cursor and mark (unbound)
commit 9064fb14414c870a53e557b403acd6c6cbc1f1d4
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Dec 14 13:23:47 2013 -0800
Improve key->string conversion
The strings shown for commands like Get-PSReadlineKeyHandler or
shown from functions WhatIsKey and ShowKeyBindings should now
match what you can use with Set-PSReadlineKeyHandler.
These strings will also omit +Shift in most cases because it
is usually clear from the character, e.g. the following are
equivalent but the former is preferred.
Ctrl+?
Ctrl+Shift+/
commit 75446b5eeae3d0d2498c7c3fc76dac9d128f7007
Author: jason@truewheels.net <jason@truewheels.net>
Date: Sat Dec 14 12:24:26 2013 -0800
Support passing non-int args to CharacterSearch
CharacterSearch/CharacterSearchBackward can now accept
a string of length 1 or a character so a handler can
hard code the character to search, e.g.
Set-PSReadlineKeyHandler -Key 'Alt+|' -ScriptBlock {
[PSConsoleUtilities.PSConsoleReadLine]::CharacterSearch($null, '|')
}
commit 6cacffc9b3efe54487a93141a7439139d476aed6
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Dec 11 22:41:57 2013 -0800
Add new functions WhatIsKey and ShowKeyBindings
WhatIsKey prompts for a key and then shows what it is bound to.
ShowKeyBindings is like running Get-PSReadlineKeyBindings, but
does so without needing to run a command and preserves the current
input line.
commit c5b82bead7f8ee73f91ed668f4b38e5604b0d255
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Dec 10 15:34:48 2013 -0800
Unbound functions in Get-PSReadlineKeyHandler
Get-PSReadlineKeyHandler will now return unbound functions by default.
A couple of parameters were added so you can get just the bound/unbound
parameters if so desired.
OutputType was also added to Get-PSReadlineKeyHandler.
The OutputType was cleaned up a bit - BriefDescription was renamed to Function
and LongDescription was renamed to ShortDescription.
commit 408c286d1b5099d7ee502899c3c4c25f3badf1db
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Dec 10 13:23:21 2013 -0800
Add missing function descriptions
commit 517e063eaece66db9c8c70083e4dd3c0181353d3
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Dec 10 10:51:33 2013 -0800
Update about topic
commit 97038a6b69c0a36100e3adbf7d84ac222184fe5c
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Dec 10 09:14:37 2013 -0800
Fix syntax, add missing parameters and cleanup
commit e87c41cacdda234ba97fc93d20ca39246a84b628
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Dec 10 09:13:28 2013 -0800
Use SwitchParameter instead of bool
commit b4cd04c4e76206b4bded42bf275188ce67d0be9f
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Dec 9 18:25:19 2013 -0800
Change for parameter name consistency
commit f428d202253c476ce73dfc5e4eea1e84f404c058
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Dec 9 18:24:02 2013 -0800
Fix generating ValidateSet for Function parameter
commit 961f163ba70f6aaaca700fafafbd10a4e4c8febe
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Dec 9 13:12:24 2013 -0800
Update version number
commit 727248a3c36b4cbbf13dd7f74e50a468bc0f9382
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Dec 9 13:07:05 2013 -0800
Add Windows mode bindings for character searching
F3/Shift+F3 are now bound to character searching in Windows mode.
This roughly matches Visual Studio bindings.
Note that traditionally F3 copies text from previous line starting
using the position of the cursor in the current line. It's not
hard to implement, but I'm not sure it's a useful feature, especially
with YankLastArg (which I could see mapping to F3 but probably won't.)
commit 9978fdf717b45ce10d7da131ab64e1998d756b58
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Dec 9 11:26:35 2013 -0800
Add AcceptAndGetNext (Ctrl+O in Emacs mode)
Add support to execute the current command and recall the following command after the current command finishes.
commit 59648c673f70e2b91a65671662483da20636a358
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Dec 9 09:29:09 2013 -0800
Add CharacterSearch/CharacterSearchBackward
commit 8a16a501cef8288c4205afb443f5d0e6ca86a8bc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Fri Dec 6 14:03:40 2013 -0800
Implement yank-last-arg/yank-nth-arg
Support for yank-last-arg and yank-nth-arg has been added.
Combined with digit-argument, these functions provide a nice way
to copy arguments from previous commands fairly easily.
For example, to copy the 2nd argument from a command 2 entries back,
you can use: Alt+2 Alt+. Alt+.
I also tweaked digit-argument slightly so that when you start with
a negative argument (Alt--) the first digit can override the -1.
In Bash, to enter something like -2, you have to think backwards
and type Alt-2 Alt-- because Alt-- Alt-2 ends up giving you -12.
commit 4678057eef4d4e97cc16f4f7b6954cea3ac26c0a
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Dec 5 22:17:48 2013 -0800
Use case insensitive history search by default
PowerShell is mostly case insensitive, so history search should also ignore case.
There are uncommon situations where someone may want to use a case sensitive search,
so an option is provided to control the search.
commit 48dd4963b436e5d397a966f70fbdd23e20dcc091
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Dec 5 21:59:44 2013 -0800
Fix exception with long status line
Long status lines (which can happen rarely on purpose but easily by accident)
were causing an exception in Render() because it assumed the status region
would only ever be 1 line.
commit 75e5afb39204f993001782ae6bcb5760446f0d86
Author: jason@truewheels.net <jason@truewheels.net>
Date: Thu Dec 5 21:09:10 2013 -0800
Use less hacky way of prompting y/n
A bug report indicated some odd behavior after being prompted y/n and hitting tab.
While I can't reproduce the problem, I suspect it has something to do with how
the prompt is being cleared.
After introducing the status line for Ctrl+R, I realized I could use that for
prompting y/n, so hopefully this change addresses the reported bug.
commit dc5fbe566a7086ff6827260fb180f3c5655d32cc
Author: jason@truewheels.net <jason@truewheels.net>
Date: Tue Dec 3 20:02:56 2013 -0800
Initial digit-argument support
Add support for digit-argument - currently only honored for self-insert.
commit d49adea546849730bce89a330f55ee6f645d7b81
Author: jason@truewheels.net <jason@truewheels.net>
Date: Wed Nov 27 14:57:04 2013 -0800
Add backslash to directories when completing
commit c2d10a35881227e160c7819eddcd9b3950fc75f2
Author: jason@truewheels.net <jason@truewheels.net>
Date: Mon Nov 25 23:33:46 2013 -0800
Fix bug w/ multiple kills not accumulating sanely
commit 290d9f83ae7775a2262836e85cd3526e14f54add
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Nov 25 19:25:06 2013 -0800
Add UnixWordRubout support (Ctrl+W) in Emacs mode
UnixWordRubout is like BackwardKillWord except it uses whitespace to define word boundaries.
commit eb42b90f815e7ef4b88e3a8ec0745fe70b31a4e5
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Nov 25 19:14:13 2013 -0800
Add Windows mode bindings for [Backward]KillWord
Like Visual Studio, Windows mode will use:
Ctrl+Backspace - BackwardKillWord
Ctrl+Delete - KillWord
commit 927fa36681d4cc1f65c0015abd0c9b47a363f5c5
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Nov 25 18:39:53 2013 -0800
Add delimiter support in *Word related functions
Functions including:
* NextWord (Windows mode)
* ForwardWord (Emacs mode)
* BackwardWord
* KillWord
* BackwardKillWord
now use delimiters instead of being token based. The
delimiters can be specified by
Set-PSReadlineOption -WordDelimiters "..."
To see the current set of delimiters:
(Get-PSReadlineOption).WordDelimiters
commit cf976577a2248a4a289f67b52567397686c93fef
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Nov 22 23:54:21 2013 -0800
Rename *Word functions to Shell*Word
The implementation of the various *Word functions more closely matches Bash's Shell*Word so I've renamed the functions.
The next step is to implement the configurable character based word boundaries.
commit c6e0f7a4797aef7b2ed7f89e5583261eb51e88ee
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Nov 21 14:18:25 2013 -0800
Support some accidental shift-key to act like key
Apparently people accidently hit Shift+Backspace often enough that it's annoying
when it doesn't delete the previous character.
To fix this - we'll pretend shift wasn't pressed if we see unbound keys where
the character is a control character, but the only modifier was shift. Realistically
this is just Backspace because Shift+Return is bound, but maybe there's another
I'm missing.
commit 58a1dc1855667a845991845a3a72b0e578c0040f
Author: Jason Shirk <jason@truewheels.net>
Date: Sat Nov 16 11:50:41 2013 -0800
Version update
commit e7171e7cd015fc447448b8dee8b5bf871bbd7008
Author: Jason Shirk <jason@truewheels.net>
Date: Sat Nov 16 10:44:14 2013 -0800
Correctly set history point after Ctrl-C
commit f2a71716cbc32021b2e7d57a2cd0eafe71c68e3f
Author: Jason Shirk <jason@truewheels.net>
Date: Sat Nov 16 10:01:36 2013 -0800
Fix ugly scrolling introduced with Ctrl-R support
commit f5346d0f23255b7f8147723a5ed17aeb3d92131e
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Nov 15 07:29:12 2013 -0800
Fix Undo after Paste
commit c506fa66dba2a23e8e40248f2791d007f4d6af38
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Nov 15 00:30:50 2013 -0800
Ctrl-R support
commit b2d71ab6d232b36525f6ee2505a365a6abf9e3dd
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Oct 25 11:49:46 2013 -0700
Add PSReadLine.psd1 back as ascii
commit 4bbd408fd0a81d95c1018e49f1b2195d7eb305a1
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Oct 25 11:49:06 2013 -0700
Remove psd1 file so I can add it back as ascii
commit 12a7603a9b24b983d800e4b76addd1a356a947db
Merge: 013851048 7c6cf5430
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Oct 25 10:08:44 2013 -0700
Merge pull request #55 from cbadke/SynchVersion
Automatically apply version from dll to powershell module manifest
commit 013851048aa18a9bbf7ade0650b41f004c8f3139
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Oct 24 19:02:21 2013 -0700
Fix bug where console paste mixes up keys
Console paste was broken by the fix to exit w/o delay because
I needed to reconsider the logic of ReadKey instead of just refactoring
the code onto another thread.
commit 7c6cf5430226a9c7ff5b65cd4e8eb5fa59264a46
Author: Curtis Badke <curtis@badkid.ca>
Date: Thu Oct 24 19:45:59 2013 -0600
Automatically apply version from dll to powershell module manifest
commit 8651dd754dd74dced42be3d14e8a0a4df416f3c6
Merge: 5e92d7465 59e032d4a
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Oct 24 18:38:00 2013 -0700
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit 59e032d4ad6be6e2061ce5ebf192210503646919
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Oct 23 10:21:10 2013 -0700
Fix the slow exit problem
Moved the call to Console.ReadKey to it's own thread
so I can control exiting ReadLine on the pipeline execution thread
and unblock PowerShell so that it will execute any Exiting
event handlers then let the process shut down before the OS
forcibly terminates the process.
commit 5e92d74652c2e0360134c00f1eda75a95c484b8c
Author: Jason Shirk <jason@truewheels.net>
Date: Tue Oct 22 07:01:33 2013 -0700
Add ClearScreen
ClearScreen clears the screen then redraws the current line at the top of the screen.
commit a84e9a2ab701667d88a721751df1df4bf0737b3e
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Oct 21 08:20:11 2013 -0700
Add brace matching support
commit f78cd838c93eefd478ba604d0ff00c33c97838da
Author: Jason Shirk <jason@truewheels.net>
Date: Sun Oct 20 18:20:06 2013 -0700
Fix completion at end of line
commit d1870d4a95c5ed5923161fc522254bdc4cbe3946
Author: Jason Shirk <jason@truewheels.net>
Date: Sun Oct 20 16:53:30 2013 -0700
PossibleCompletions fixes
Fixes to PossibleCompletions:
* Truncate when list item/tooltip has `n
* Prompt when too many (default 100) completions
* Add option to configure how many completions before prompting
commit 13008c01ade1b1b3e70dea08a30db9723319ba86
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Oct 16 10:38:04 2013 -0700
Update for release
commit 6fbc62852da3bc0a7e632915da056330b688901e
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Oct 16 10:35:59 2013 -0700
Fix bug with console paste not displaying everything
commit a8a031670f9f156937bc44178481ceb1ecdb9358
Author: Jason Shirk <jason@truewheels.net>
Date: Tue Oct 15 17:49:14 2013 -0700
Remove .Net 4.5 dependency by removing EventSource.
commit 36caaeb1b61b7926ac3e904011ef41df43282fb8
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Oct 14 11:18:43 2013 -0700
Update version.
commit 0914756db9155837ed5617e80783d78002522846
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Oct 14 10:52:12 2013 -0700
Update help files.
commit 1491339aff830975b054c52f8b7f9f2afc161e52
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Oct 11 09:54:18 2013 -0700
Remove SetBufferState
SetBufferState doesn't support Undo/Redo. I want to encourage handlers
to always support undo, so it's best to remove a code path that can't
easily support undo.
commit 0cc188af70f711ff9a3af75f1d9faff4982fa59f
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Oct 11 09:37:23 2013 -0700
Speed up pasting from console
Pasting from the console was slow for 2 primary reasons:
* StringBuilder is pathologically slow if you "Insert" at the end
* Rendering requires parsing, this was happening for every character
The first issue is trival to fix - call Append when truly appending.
To address the second issue, I'm queueing up characters when we
want to read a character. If enough characters are queued up, we
ignore requests to render if we've rendered recently. This is
fine because we know we'll render soon because queued characters
will come along that will force us to render again.
commit ec95d0ac255cfcf81879ce40c5b4aa666ad85ae1
Author: Jason Shirk <jason@truewheels.net>
Date: Sun Oct 6 09:01:51 2013 -0700
Add Get-PSReadlineOption cmdlet
commit c29a4e81d4468c2fc7301bef9b9e22fe04125256
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Oct 4 10:51:57 2013 -0700
Refactor options to their own class
Introduce a class for options for a Get-PSReadlineOptions cmdlet.
commit 0c2db7427c9db8330445c5c56f885d6e0fa10a50
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Oct 4 07:48:06 2013 -0700
Remove old unneeded module initializer.
commit 3fd18cc244ec4f1d4f62685f48ac69f6b484bc4d
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Oct 3 23:22:42 2013 -0700
Rename a couple parameters
commit 79cae6659fcdb469a706325065631f236cb72e11
Merge: 9fff1ca91 474e6b688
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Oct 3 23:18:04 2013 -0700
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit 9fff1ca91e0d028a34bccbc93edc5d38faf3d670
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Oct 3 23:17:02 2013 -0700
Simplify adding handlers to builtin functions
commit 5b2ba4a552ca5dc6842c79de35ca2a047a05b409
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Oct 3 18:50:01 2013 -0700
Make Insert/Replace public
Insert and Replace are now public so handlers can support undo.
commit 474e6b6880e530e9a46390dc9272504ae3bb1565
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Sep 30 13:58:17 2013 -0700
Fix loading history
Changes to support undo broke loading history.
commit 04312111a950047b4f5e2878dc1d1478ed0b984b
Author: Jason Shirk <jason@truewheels.net>
Date: Sat Sep 28 09:35:42 2013 -0700
Add bindings for {Beginning|End}OfHistory
commit d03f65cb1218260c8be63055059ba540341bf7f7
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Sep 27 20:36:16 2013 -0700
Initial undo/redo support
commit 055e543b8d464a26d72b838245de4b23ddcab32d
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Sep 25 08:45:11 2013 -0700
Use string instead of StringBuffer in HistoryItem
commit 3d9c5b10428dd4563ba218eade7d5d2d4045f06e
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Sep 25 08:36:27 2013 -0700
Save current line for recall during history commands
commit df7daf21a4111ae8f8c994ce1d44f754d5cee49b
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Sep 23 22:11:39 2013 -0700
Lay some groundwork to support undo
commit 88dc3065ef07e54b4b1a8ab175b959436f6e3103
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Sep 23 09:02:00 2013 -0700
Make displaying history in debugger simpler
commit d274a18d8da67be87632bc711744916d1746e8eb
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 19 14:58:38 2013 -0700
Add coloring support for Member names
commit 251caaccccf4ec723bfe7eb33daa02676be0c63d
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 19 13:53:57 2013 -0700
Fix coloring in generic tokens
commit 634422bf792afc7eda9e6daec1cd79e809579c48
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 19 11:57:36 2013 -0700
Correctly classify assignment tokens as operators
commit 76565d908bbf055bf3a573a73e37e45bc4f987a2
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 19 11:52:06 2013 -0700
Handle multi-line input better with CancelLine
Like cmd, we leave the input visible, but I appended
^C (or whatever key was used to cancel) so there is
a clue input was canceled.
Multi-line input is preserved as well.
commit 6787a81542fa170899055f6ba7a1dcbf911c85a5
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 19 11:32:25 2013 -0700
Don't add empty lines to history
commit 110cada611bf587ab417bebf992816ad7ed16ec5
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 19 09:18:19 2013 -0700
Add demo mode and ETW trace
Added ETW tracing for key presses (a key logger!) so it can be used
in a variety of ways, e.g. when doing performance profiling, you can
add a message of sorts via key presses if you turn on the provider.
The ETW tracing code depends on CLR 4.5, this might force some folks
to upgrade.
Added PSReadline.EnableDemoMode which uses the ETW trace to display
key presses while you type. This is useful for talks and producing
screen captures to show the editing experience.
commit fe984b6c5fb378e642d21543aa40935719598451
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Sep 13 09:16:53 2013 -0700
New release
commit 67056bdd5874d789ddd25c1a0e2ccb54f57d9afb
Author: Jason Shirk <jason@truewheels.net>
Date: Fri Sep 13 08:49:33 2013 -0700
Remove MinimumHistoryCommandLength
People seem to prefer all commands in history, so it seems better to have
fewer options.
The following can be used if the previous functionality is desired:
Set-PSReadlineOption -AddToHistoryHandler { $args[0].Length -gt 3 }
commit eb7eafb4b7758e7a4084874e82e73cd8d13b449f
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 12 22:41:34 2013 -0700
Read PowerShell history into PSReadline on import
Added a public api to add command lines to PSReadline history.
Use this api when the module is loaded so people that
persist their history can recall those command lines without
any additional changes to their profile.
commit 05caf627045e5ddc0783ea79444f2cb03f850d0c
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 12 19:13:08 2013 -0700
Add Ctrl+End/Ctrl+Home emulation in cmd mode
Ctrl+End deletes to end of line
Ctrl+Home deletes to start of line
Neither puts deleted text in the clipboard/kill ring.
commit 7885d0bd660639c125f491369e2cc0b0d21f679f
Author: Jason Shirk <jason@truewheels.net>
Date: Thu Sep 12 06:03:29 2013 -0700
Fix cut and paste error that broke Ctrl-C
commit 7668dc9a9d89352040623863ce64c0f1d6d4eb57
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Sep 11 17:55:30 2013 -0700
Support 2 key chords
Support for 2 key chords has been added.
There is a small breaking change in Set-PSReadlineKeyHandler
because the -CtrlX switch is no longer needed. It could have
been left in, but it's better to just remove it - not very
many people use this module yet.
The signature of key handlers was also changed to better support
features that have not yet been implemented. The signature change
shouldn't affect any existing key handlers because default arguments
should cover those cases.
commit 4154fbedd6ec088422fcfa22794dfab699ae88d3
Author: Jason Shirk <jason@truewheels.net>
Date: Tue Sep 10 22:52:12 2013 -0700
Add default mapping for Ctrl+C to Emacs mode
commit f94cd9b255551ac944e0bec9d03065743e00ec10
Author: Jason Shirk <jason@truewheels.net>
Date: Tue Sep 10 18:35:37 2013 -0700
Handle Ctrl+C like PowerShell/cmd
Ctrl+C was being processed by the system - fix was to
change the console mode.
After that, to emulate cooked input mode, we return
to the host with an empty buffer so the input is
preserved and the prompt is evaluated again.
commit d01e0d9671151ffc57101e3ca8ee94e533726e78
Author: Jason Shirk <jason@truewheels.net>
Date: Tue Sep 10 10:49:30 2013 -0700
Make Ding public for use from custom key handlers.
commit b157d4f5a4f2adecc477dd3d73a7840b63e2dfc1
Author: Jason Shirk <jason@truewheels.net>
Date: Tue Sep 10 09:26:14 2013 -0700
Support alternate keyboards
Control keys that weren't bound to actions were ignored to avoid
adding ugly glyphs. Unfortunately with some keyboard layouts,
important keys like '|' are entered with Control.
Fix is to never ignore control keys and display the actual control
sequence like ^P. This means some characters can now span more
than one cell. I haven't done enough work yet to support CJK
characters, hopefully it will be as simple as the couple changes
needed for this fix.
commit 9961445ae9a9906e8bb0d2a098ffb1e39ac102db
Author: Jason Shirk <jason@truewheels.net>
Date: Mon Jul 22 10:00:33 2013 -0700
Add Paste from clipboard.
commit 7ca945fdbbdbbf562482df7edbd9f853290c7ab2
Author: Jason Shirk <jason@truewheels.net>
Date: Sun Jul 21 15:49:02 2013 -0700
Add about topic.
commit 5e6b56de6791ef83fa60ab622a4117b39053d63b
Merge: fc820e7de 0f22712df
Author: Jason Shirk <jason@truewheels.net>
Date: Sun Jul 21 15:42:16 2013 -0700
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit fc820e7de785caa5059d1b4b52bd96610a9e733e
Author: Jason Shirk <jason@truewheels.net>
Date: Sun Jul 21 15:41:18 2013 -0700
Update doc comments to reflect reality
Add a key binding for showing completions in cmd mode.
Add an api to set the cursor position.
commit b113fcd5b477f93335c19f0ad69616f931263282
Author: Jason Shirk <jason@truewheels.net>
Date: Sun Jul 14 00:25:29 2013 -0700
Make this more of a real module.
commit 0f22712df3479f2aebf81d0b444ea76e4154f85b
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Jun 26 19:06:22 2013 -0700
Add cursor position as out parameter to GetBufferState.
commit 38374837e2330d123b0038defd3706253365b565
Author: Jason Shirk <jason@truewheels.net>
Date: Wed Jun 19 22:37:57 2013 -0700
Add api to get token/ast buffer state.
commit acde74038a9993aabc64250725ff1643cb2cf04a
Merge: 2e385b01f e1ed59645
Author: Jason Shirk <jason@truewheels.net>
Date: Fri May 24 23:12:46 2013 -0700
Merge branch 'master' of https://github.com/lzybkr/PSReadLine
commit e1ed59645c129a3f51db2da3ed251aff31d0f0e3
Merge: b2d7b4559 4d70792d3
Author: Jason Shirk <jason@truewheels.net>
Date: Fri May 24 23:12:10 2013 -0700
Merge pull request #7 from oising/master
consolekeyinfo converter work + tests
commit 2e385b01fc54fb12c6ed8392a1501e3e9d1f1d4c
Author: Jason Shirk <jason@truewheels.net>
Date: Fri May 24 19:56:34 2013 -0700
Add Get-PSReadlineKeyHandler
To make it easier to see what keys are bound, you can use the command Get-PSReadlineKeyHandler.
The command Set-PSReadlineKeyHandler also adds support for binding Ctrl-X prefixed commands in Emacs mode.
commit 4d70792d3591f3227fcc55be6b57993147f8fa4a
Author: oising <oising@gmail.com>
Date: Fri May 24 15:54:07 2013 -0400
implemented consolekeyinfo converter; added unit tests; tweaked parameters on set-psreadlinehandler
commit b2d7b455976fecc35829a1adb925d9b6426e48ab
Author: Jason Shirk <jason@truewheels.net>
Date: Sun May 19 09:04:40 2013 -0700
Fix some more end of buffer problems.
commit 6e33c1c14f9adf82d7a207647a0d391a37a82d4b
Author: Jason Shirk <jason@truewheels.net>
Date: Sun May 19 09:02:59 2013 -0700
Add function keys.
commit 3120d6758865e78f3f0c810a3fadad54001ed61d
Author: Jason Shirk <jason@truewheels.net>
Date: Wed May 15 12:42:26 2013 -0700
Fix a couple small completion bugs
commit 845e48e44511c47f73b05ec4564b7002e5d2ea2e
Author: Jason Shirk <jason@truewheels.net>
Date: Wed May 15 00:15:16 2013 -0700
Fix problem with ShowCompletions at end of buffer
When the cursor was at the end of the buffer, ShowCompletions would cause an exception trying to move the cursor outside the buffer.
Fixed by writing an explicit newline - done using the native Console api so it isn't redirected by the test framework.
commit 6c7f261296f46f74f90d3fd67effbbdb3d019163
Author: Jason Shirk <jason@truewheels.net>
Date: Mon May 13 23:28:35 2013 -0700
Don't insert garbage for non-printable keys.
Function keys and Meta keys should not insert anything if the key is not bound to any action.
commit 5eb2943854958df75cb5b2bdde67c95d5d98d462
Author: Jason Shirk <jason@truewheels.net>
Date: Sun May 12 23:52:15 2013 -0700
Initial checkin.
Instead of using `dotnet publish`, we can use `dotnet build` and the new
`netcoreapp1.0` framework with a new dependency on
`Microsoft.NETCore.App` to generate output that does not include the
runtime, but can be run anywhere (given the installation of the
runtime).
While we cannot yet adopt a dependency on the shared host until .NET
Core RTM, we are forced to switch to this system anyway because the
latest RC3 packages and CLI do not support `netstandardapp1.5`. See
dotnet/cli#2482.
Thus we're in an in-between state where we have to use `netcoreapp1.0`,
but cannot use `"Microsoft.NETCore.App": { "type": "platform" }` to
utilize the shared host, as we need to continue to ship our host.
Without specifying "platform", we retain the status quo with respect to
build steps and outputs.
Additionally, there is no longer a good reason to use the RC3 packages,
and it has been advised we switch to RC2 since the
`Microsoft.NETCore.App` is only available for RC2. We must update
packages because our current version can no longer be debugged.
This resolves#817.
A PowerShell instance is created to load and execute profile code.
However, if the profile has a parse error, the instance never gets
created, thus we have to check that it's not null before disposing it.
When an assembly that exists outside of the trusted platform assembly
list but in the GAC on Windows was loaded, the use of `Assembly.Load`
before the `LoadFromAssemblyPath` caused a recursive loop to occur.
This happens because an `Assembly.Load` on a not-yet-loaded
assembly is overridden, thus calling back into the
`AssemblyLoadContext.Load` override.
By attempting to load from the file path first, we avoid this loop.
However, loading TPA assemblies by their path throws an exception, so
now we catch this particular exception and attempt the load through
`Assembly.Load`.
This is safe for TPA assemblies since they're already loaded, thus the
`Assembly.Load` does not re-load the assembly, but simply returns it.
This action is completely valid on both Windows and Linux (and OS X)
operating systems; tested with `mklink` and `ln -s` respectively.
Note that targets for hard links must exist, thus we check specifically
for symbolic links.
Both the path globber in session state and the `New-Item` implementation
needed to be fixed to allow the target not to exist.
Resolves#801.
Also enable symbolic link tests on Windows.
While Windows will automatically open a URL used as a process by
launching a browser, OS X needs to use `open <URL>`, and Linux needs to
use `xdg-open <URL>` (the most distribution-independent way).
Resolves#802.
- Get rid of the assumption that all framework assemlbies live in
the same place
- Enable build scenario (assemlbies are referenced directly from unpacked
nuget packages)
- Fix#766
- Re-enable Add-Type tests
This should resolve#791.
Instead of checking if `Assembly.Load` returned null (it doesn't), check
if it threw `FileNotFoundException`, which it will if it doesn't find
the assembly.
The aliases which conflict with Linux native commands were consolidated
and removed with the pre-processor definition `LINUX`. Additionally,
several "conflicts" are purposefully kept and likewise consolidated.
They are kept because Bash itself stomps on the native commands with its
own built-ins, and so we're adopting the same behavior.
The `clear` and `more` aliases are edge cases where the functions they
call are already fixed for Linux, and so we keep these too.
Resolves#567.
- Add files produced by cmake in powershell-native to it's own gitignore
- Add files that VS creates to the root-level gitignore
- Add .exe files that are content to the root-level gitignore
CMake will now output the artifacts of the native build into the
ConsoleHost project, where .NET CLI picks it up as content and deploys
it automatically.
So that the resource manager doesn't try to load a non-existent
satellite assembly (and thus throw).
The culture `en-US` is the default `CurrentCulture` on all platforms I
tested, specifically not `en`.
Note that there is a problem with the FullCLR build where some other
assembly is still attempting to reference `Logging.resources` instead of
`System.Management.Automation.Logging.resources`.
Specifically this enables us to leverage `dotnet-resgen` to
auto-generate the `resx` files into `resources` files for the default
culture, which are then compiled into the SMA assembly.
This requires a change to the C# bindings. The Windows build system
takes `file.resx` and compiles `file.resources`, but CLI prepends the
assembly name, thus compiling `SMA.file.resources`. So the resource
manager in the generated bindings must be adjusted to look for
`SMA.file` instead of `file`.
Note that C# bindings cannot yet be auto-generated.
Given localized resources of the form `file.en-US.resx`, `dotnet-resgen`
will create a satellite assembly and publish it to
`en-US/SMA.resources.dll`, so #666 will not be a technical problem.
No longer necessary to restore/build. Removing them allows NuGet to
restore only the packages necessary for the current platform, vastly
reducing cache sizes and restore time.
My `~/.nuget/packages` directory was almost 1GB smaller with this
change.
The primary reason to do this is that the VS Code debugger is not
compatible with rc2.
Secondarily, we want to continue tracking CoreCLR/FX master branch,
which means to continue with the latest release candidates. Since we are
releasing in August, we will be able to pick up the converged RTM
version before release.
The only advantage of rc2 is that it is frozen; but we have this anyway
because we snap to particular builds.