PowerShell/src/Microsoft.PowerShell.PSReadLine/Changes.txt

294 lines
10 KiB
Plaintext
Raw Normal View History

Import PSReadLine sources 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/carnac Fixes #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.
2016-04-27 19:52:58 +02:00
### Version 1.2
New features:
* Vi editing mode
New functions:
* InsertLineAbove
- A new empty line is created above the current line regardless of where the cursor
is on the current line. The cursor moves to the beginning of the new line.
* InsertLineBelow
- A new empty line is created below the current line regardless of where the cursor
is on the current line. The cursor moves to the beginning of the new line.
New key bindings:
* Ctrl+Enter bound to InsertLineAbove in Windows mode
* Ctrl+Shift+Enter bound to InsertLineBelow in Windows mode
Bug fixes:
* Home the first line of multi-line input fixed
* CaptureScreen captures colors colors correctly instead of guessing
* CaptureScreen scrolls the screen to ensure the selected line is visible
* CaptureScreen allows j/k for up/down (for the vi fans)
* Fixed uncommon syntax coloring bug with bare words that start with a variable
* Added sample handler for F7 emulation
* Fixed sample handler for Set-StrictMode error
* Improved error message when errors occur in custom handlers
### Version 1.1 (shipped w/ Windows 10)
Breaking change:
* Namespace PSConsoleUtilities has been renamed to Microsoft.PowerShell
* Default history file location changed to match Windows 10
### Version 1.0.0.13
New features:
* Enter now does some extra validation before accepting the input. If there are any parse
errors or a command is not found, an error message is displayed, but you can continue editing,
the erroneous line will not be added to history, and the error message will be cleared after
you make an edit.
You can press Enter a second time to force accepting the line if you choose.
If you don't like the new behavior for Enter, you can revert to the old behavior with:
Set-PSReadlineKeyHandler -Key Enter -Function AcceptLine
Bug fixes:
* Occasional exception with AcceptAndGetNext (Ctrl+O) followed by something other than Enter
* Event handlers that register for the engine event PowerShell.OnIdle should work now.
* ClearScreen now scrolls the screen to preserve as much output as possible
* Fix exception on error input during rendering after certain keywords like process, begin, or end.
* Fix exception after undo from menu completion
* Support CancelLine (Ctrl+C) and Abort (Ctrl+G in emacs) to cancel DigitArgument
* History recall now ignores command lines from other currently running sessions, but you can
still find command lines from those sessions when searching history.
* Color any non-whitespace prompt character when there is an error, not just non-characters
* ScrollDisplayToCursor works a little better now.
New functions:
* ValidateAndAcceptLine
Validate the command line (by making sure there are no parse errors, commands all exist,
and possibly other sorts of validation), display an error if any errors, but don't add
the command to history and clear the error after an edit.
* DeleteCharOrExit
- emulate Ctrl+D in bash properly by exiting the process if the command line is empty
* ScrollDisplayUpLine, ScrollDisplayDownLine
Scroll the screen up or down by a line instead of by the screen
New key bindings:
* Ctrl+D bound to DeleteCharOrExit in Emacs mode
* Ctrl+N/Ctrl+P bound to NextHistory/PreviousHistory in Emacs mode
* Ctrl+PageUp bound to ScrollDisplayUpLine
* Ctrl+PageDown bound to ScrollDisplayDownLine
* Alt+F7 bound to ClearHistory in Windows mode
New options:
* Set-PSReadlineOption
-ErrorForegroundColor
-ErrorBackgroundColor
Colors used when ValidateAndAcceptLine reports an error
-CommandValidationHandler
A delegate that is called from ValidateAndAcceptLine that can perform custom validation
and also fix the command line, e.g. to correct common typos.
New cmdlet:
* Remove-PSReadlineKeyHandler
This will remove a key binding for previously bound keys.
Breaking change:
* Demo mode removed
- Trying to bind functions EnableDemoMode or DisableDemoMode will result in an error.
### Version 1.0.0.12
New features:
* Multi-line editing is now practical. Home/End go to the start/end of the current line or
start/end of the input in a reasonable way. Up/Down arrows will move across lines if the
input has multiple lines and you are not in the middle of recalling history.
Bug fixes:
* Color the prompt character if there is an error for any non-alphanumeric character
* Fix an issue related to undo (which was commonly hit via Escape) and using history search
* Fix a bug where PowerShell events are not written to the console until PSReadline returns
* Fixed so PowerTab now works with PSReadline
* Highlight from history search is cleared before accepting a line now.
* Fixed MenuComplete so it clears the menu (which only happened on some systems)
New functions:
* NextLine
* PreviousLine
- These functions are added for completeness, neither is particularly useful as the usual
bindings for UpArrow/DownArrow are smart enough to recall history or change lines
depending on the context.
New key bindings:
* F8/Shift+F8 bound to HistorySearchBackward/HistorySearchForward in Windows mode
### Version 1.0.0.11
Bug fixes:
* Fixed MenuComplete to actually work
### Version 1.0.0.10
New features:
* Added binding Ctrl+SpaceBar to MenuComplete in Windows and Emacs modes
- If you want to old behavior of Ctrl+Spacebar, bind it to PossibleCompletions
* Added binding Alt+. (YankLastArg) to Windows mode
* Added diagnostics when an exception occurs to help reporting bugs
Bug fixes:
* SaveHistoryPath option fixed
* Fix ShowKeyBindings to not write blank lines
* Fixed bug with undo
### Version 1.0.0.9
New features:
* MenuComplete - like an interactive show completion
* Automatically save history
- at process exit
- incrementally and shared across sessions
- don't save
See parameters HistorySaveStyle and HistorySavePath to Set-PSReadlineOption
* Added sample custom binding for quickly changing directories in SamplePSReadlineProfile.ps1
Bug fixes:
* Items loaded from history work with RevertLine
* Recalling current line after up arrow works again
### Version 1.0.0.8
New features:
* SamplePSReadlineProfile.ps1 added with examples of custom key bindings
* Word movement takes DigitArgument
* HistoryNoDuplicates now works a little differently
Spelling comments (#2066) * spelling: comments in src/Microsoft.Management.Infrastructure.CimCmdlets * spelling: comments in src/Microsoft.PackageManagement.ArchiverProviders * spelling: comments in src/Microsoft.PackageManagement.CoreProviders * spelling: comments in src/Microsoft.PackageManagement.MetaProvider.PowerShell * spelling: comments in src/Microsoft.PackageManagement.MsiProvider * spelling: comments in src/Microsoft.PackageManagement.MsuProvider * spelling: comments in src/Microsoft.PackageManagement.NuGetProvider * spelling: comments in src/Microsoft.PackageManagement.PackageSourceListProvider * spelling: comments in src/Microsoft.PackageManagement * spelling: comments in src/Microsoft.PowerShell.Activities * spelling: comments in src/Microsoft.PowerShell.Commands.Diagnostics * spelling: comments in src/Microsoft.PowerShell.Commands.Management * spelling: comments in src/Microsoft.PowerShell.Commands.Utility * spelling: comments in src/Microsoft.PowerShell.ConsoleHost * spelling: comments in src/Microsoft.PowerShell.Core.Activities * spelling: comments in src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext * spelling: comments in src/Microsoft.PowerShell.CoreCLR.Eventing * spelling: comments in src/Microsoft.PowerShell.Diagnostics.Activities * spelling: comments in src/Microsoft.PowerShell.GraphicalHost * spelling: comments in src/Microsoft.PowerShell.LocalAccounts * spelling: comments in src/Microsoft.PowerShell.Management.Activities * spelling: comments in src/Microsoft.PowerShell.PSReadLine * spelling: comments in src/Microsoft.PowerShell.PackageManagement * spelling: comments in src/Microsoft.PowerShell.ScheduledJob * spelling: comments in src/Microsoft.PowerShell.Security.Activities * spelling: comments in src/Microsoft.PowerShell.Security * spelling: comments in src/Microsoft.PowerShell.Utility.Activities * spelling: comments in src/Microsoft.PowerShell.Workflow.ServiceCore * spelling: comments in src/Microsoft.WSMan.Management.Activities * spelling: comments in src/Modules * spelling: comments in src/Schemas * spelling: comments in src/libpsl-native * spelling: comments in src/powershell-native * spelling: comments in build.psm1 * spelling: comments in src/System.Management.Automation/CoreCLR * spelling: comments in src/System.Management.Automation/DscSupport * spelling: comments in src/System.Management.Automation/cimSupport * spelling: comments in src/System.Management.Automation/commands * spelling: comments in src/System.Management.Automation/engine/Modules
2016-08-26 22:46:03 +02:00
- Duplicates are saved (it was a dubious memory optimization anyway)
Import PSReadLine sources 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/carnac Fixes #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.
2016-04-27 19:52:58 +02:00
- Recall will recall the most recently executed item instead of the first
* When at the last word, NextWord/ForwardWord now move to the end of line instead
of the last character of the word.
* HistorySearchBackward/HistorySearchForward changes behavior slightly:
- use emphasis like InteractiveHistorySearch
- cursor always moves to end like PreviousHistory/NextHistory
* New api GetSelectionState to get the current selection (if any).
* New functions:
- SelectBackwardsLine
- SelectLine
- SelectAll
- CopyOrCancelLine
* New key bindings in Windows mode:
- Alt+0 through Alt+9 and Alt+-: DigitArgument
- Ctrl+R/Ctrl+S for interactive history search
Bug fixes:
* Backspace after a failed interactive history search (Ctrl+R) caused searching
to fail if you typed anything other than backspace.
### Version 1.0.0.7
New features:
* CaptureScreen - copies selected portion of screen to clipboard in text and rtf
* InvokePrompt - re-evaluate the prompt while preserving the current input
* New functions to scroll the screen w/o using the mouse:
- ScrollScreenUp
- ScrollScreenDown
- ScrollScreenTop
- ScrollScreenToCursor
* Many small bug fixes
### Version 1.0.0.6
New features:
* CharacterSearch/CharacterSearchBackward
* AcceptAndGetNext (Ctrl+O in bash)
* Get-PSReadlineKeyHandler now returns unbound functions
* Get-PSReadlineKeyHandler has 2 new parameters: -Bound and -Unbound
* Set-PSReadlineKeyHandler parameter -LongDescription is now -Description
(not breaking because I left an alias)
* WhatIsKey - display binding for a key
* ShowKeyBindings - show all bound keys
* Keyboard selection of text for cut/copy/delete. New functions:
- Cut
- Copy
- KillRegion
- SelectBackwardChar
- SelectForwardChar
- SelectBackwardWord
- SelectForwardWord
- SelectNextWord
- SelectShellForwardWord
- SelectShellBackwardWord
Breaking change:
* The properties in the output of Get-PSReadlineKeyHandler have changed.
This is unlikely to break anyone though.
### Version 1.0.0.5
New features:
* Delimiter support in *Word functions
* DigitArgument (Alt-0,Alt-1,Alt-2,...,Alt-9,Alt--) to pass numeric arguments
* YankLastArg/YankNthArg to extract arguments from previous command lines
* History search is now case insensitive with an option to make it case sensitive
Bugs fixed:
* Shift+Backspace works like Backspace
* Ctrl+R with long search lines no longer causes big problems
Behavior change:
Spelling comments (#2066) * spelling: comments in src/Microsoft.Management.Infrastructure.CimCmdlets * spelling: comments in src/Microsoft.PackageManagement.ArchiverProviders * spelling: comments in src/Microsoft.PackageManagement.CoreProviders * spelling: comments in src/Microsoft.PackageManagement.MetaProvider.PowerShell * spelling: comments in src/Microsoft.PackageManagement.MsiProvider * spelling: comments in src/Microsoft.PackageManagement.MsuProvider * spelling: comments in src/Microsoft.PackageManagement.NuGetProvider * spelling: comments in src/Microsoft.PackageManagement.PackageSourceListProvider * spelling: comments in src/Microsoft.PackageManagement * spelling: comments in src/Microsoft.PowerShell.Activities * spelling: comments in src/Microsoft.PowerShell.Commands.Diagnostics * spelling: comments in src/Microsoft.PowerShell.Commands.Management * spelling: comments in src/Microsoft.PowerShell.Commands.Utility * spelling: comments in src/Microsoft.PowerShell.ConsoleHost * spelling: comments in src/Microsoft.PowerShell.Core.Activities * spelling: comments in src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext * spelling: comments in src/Microsoft.PowerShell.CoreCLR.Eventing * spelling: comments in src/Microsoft.PowerShell.Diagnostics.Activities * spelling: comments in src/Microsoft.PowerShell.GraphicalHost * spelling: comments in src/Microsoft.PowerShell.LocalAccounts * spelling: comments in src/Microsoft.PowerShell.Management.Activities * spelling: comments in src/Microsoft.PowerShell.PSReadLine * spelling: comments in src/Microsoft.PowerShell.PackageManagement * spelling: comments in src/Microsoft.PowerShell.ScheduledJob * spelling: comments in src/Microsoft.PowerShell.Security.Activities * spelling: comments in src/Microsoft.PowerShell.Security * spelling: comments in src/Microsoft.PowerShell.Utility.Activities * spelling: comments in src/Microsoft.PowerShell.Workflow.ServiceCore * spelling: comments in src/Microsoft.WSMan.Management.Activities * spelling: comments in src/Modules * spelling: comments in src/Schemas * spelling: comments in src/libpsl-native * spelling: comments in src/powershell-native * spelling: comments in build.psm1 * spelling: comments in src/System.Management.Automation/CoreCLR * spelling: comments in src/System.Management.Automation/DscSupport * spelling: comments in src/System.Management.Automation/cimSupport * spelling: comments in src/System.Management.Automation/commands * spelling: comments in src/System.Management.Automation/engine/Modules
2016-08-26 22:46:03 +02:00
* Word functions now use delimiters. The previous behavior is available
Import PSReadLine sources 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/carnac Fixes #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.
2016-04-27 19:52:58 +02:00
via a Shell*Word function, e.g. instead of KillWord, use ShellKillWord.
### Version 1.0.0.4
New features:
* Interactive history search (Ctrl+R)
* Brace matching function added (GotoBrace)
* Clear screen (Ctrl+L)
Bugs fixed:
* When showing possible completions, truncate at newline
* Prompt before showing a large number of completions
* Undo after paste works now
* Long pause after clicking on X to close powershell is now fixed
### Version 1.0.0.3
Bugs fixed:
* Removed CLR 4.5 dependency
* Fix bug where console paste didn't display everything in some cases
### Version 1.0.0.2
New features:
* Add a "demo mode" that shows keys pressed
* Add ETW event source for demo mode, key logger, macro recorder etc.
* Undo/redo
* Get-PSReadlineOption cmdlet
* Make specifying key handlers for builtins simpler
* Current un-entered line is saved and recalled when cycling through history
* Support syntax coloring of member names
Bugs fixed:
* Speed up pasting from the console
* Fix coloring of some operators
* Fix coloring in some command arguments
* Ctrl-C is handled a little better
Breaking changes:
* CLR 4.5 is now required.
* SetBufferState is gone because it doesn't support Undo/Redo
### Version 1.0.0.1
New features:
* History imported when module is loaded
* Ctrl+End/Ctrl+Home bindings emulate cmd
* Arbitrary two key chords
* Key handlers passed the invoking key and an optional argument
* Made Ding public for custom handlers
Bugs fixed:
* Alternate keyboards now supported
* Ctrl-C now properly emulates cmd
Breaking changes:
* MinimumHistoryCommandLength parameter removed from Set-PSReadlineOption
- Can use this instead:
Set-PSReadlineOption -AddToHistoryHandler { $args[0].Length -gt 3 }
### Version 1.0.0.0
Initial release