Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it possible to access internal PSReadline functionality? Specificially "Paste"? #233

Closed
andrewducker opened this issue May 14, 2015 · 21 comments

Comments

@andrewducker
Copy link
Contributor

I want to do something like:
Get-Content (Get-PSReadlineOption).HistorySavePath | out-gridview -passthru | Paste-AtCommandLine

to give me my complete history in a big list, and then stick it into the console window.

I can do all of the bit up to the end - and then stick it in the clipboard instead, but there doesn't seem to be a way of telling PSReadLine that I want this text to be the next command line.

Is this possible?

Thanks!

@nightroman
Copy link
Contributor

@andrewducker I like your idea, thank you. I implemented it in this way. In my profile I added binding to F7 (like history in CMD):

Set-PSReadlineKeyHandler -Key F7 -BriefDescription History -LongDescription 'Show history' -ScriptBlock {
    $r = [System.Collections.ArrayList](Get-Content (Get-PSReadlineOption).HistorySavePath)
    $r.Reverse()
    $r = $r | Out-GridView -PassThru
    if (!$r) {return}
    [PSConsoleUtilities.PSConsoleReadLine]::RevertLine()
    [PSConsoleUtilities.PSConsoleReadLine]::Insert($r)
}

I hope you may find this useful.

@andrewducker
Copy link
Contributor Author

Thank you! That's exactly what I wanted, and a massive improvement over the previous F7 functionality!

@andrewducker
Copy link
Contributor Author

Improvement - this will refine the search based on whatever is on the current console line (the buffer):

Set-PSReadlineKeyHandler -Key F7 -BriefDescription History -LongDescription 'Show history' -ScriptBlock {
    $line = $null
    $cursor = $null
    [PSConsoleUtilities.PSConsoleReadline]::GetBufferState([ref]$line, [ref]$cursor)
    if($line){
        $r = [System.Collections.ArrayList](Get-Content (Get-PSReadlineOption).HistorySavePath | sls $line)
    }
    else{
        $r = [System.Collections.ArrayList](Get-Content (Get-PSReadlineOption).HistorySavePath)
    }
    $r.Reverse()
    $r = $r | Out-GridView -PassThru
    if (!$r) {return}
    [PSConsoleUtilities.PSConsoleReadLine]::RevertLine()
    [PSConsoleUtilities.PSConsoleReadLine]::Insert($r)
}

@nightroman
Copy link
Contributor

Yes, now it is even better. I used this as well and also added Get-Unique in order to remove adjacent duplicates (a rare case when Get-Unique is actually useful). My version so far (just the scriptblock without Set-PSReadlineKeyHandler):

$history = [System.Collections.ArrayList]([System.IO.File]::ReadAllLines((Get-PSReadlineOption).HistorySavePath))
$history.Reverse()

$line = $null
[PSConsoleUtilities.PSConsoleReadline]::GetBufferState([ref]$line, [ref]$null)
if ($line) {
    $history = $history -match [regex]::Escape($line)
}

$command = $history | Get-Unique | Out-GridView -Title "History $line" -PassThru
if ($command) {
    [PSConsoleUtilities.PSConsoleReadLine]::RevertLine()
    [PSConsoleUtilities.PSConsoleReadLine]::Insert(($command -join '; '))
}

@lzybkr
Copy link
Member

lzybkr commented May 14, 2015

Very cool - this should go in SamplePSReadlineProfile.ps1 - feel free to submit a pull request.

@KirkMunro
Copy link

KirkMunro commented May 14, 2015

I don't have the latest PSReadLine module (1.0.0.12 on my system right now I think), but this had some issues with commands that span multiple lines in the tests that I ran. There were also some challenges with how it
handles lines containing backticks. But that may be due to the version of PSReadLine I'm working with -- I simply don't have time to check right now. Just wanted to share in case there was an issue with this for the
latest version.

@lzybkr
Copy link
Member

lzybkr commented May 14, 2015

Hmm, yeah - there is some minimal processing done on the file history file for multiple lines. Maybe I should just add a api to get the history.

@nightroman
Copy link
Contributor

I have a solution which handles multiple lines. It is being tested. When it is done I will propose a PR.

@nightroman
Copy link
Contributor

On the other hand, if the API for getting history is expected relatively soon then this solution is somewhat a hack. @lzybkr please let me know if such a hack is still fine for now.

@nightroman
Copy link
Contributor

@lzybkr Any remarks? Is a hacky PR which handles multiple lines needed?

@lzybkr
Copy link
Member

lzybkr commented Jun 24, 2015

It's just a sample, so if you implemented, sure, I'll take it, and when I add a proper api, I'll update the sample.

@nightroman
Copy link
Contributor

Here it is, #255

andyleejordan pushed a commit to PowerShell/PowerShell that referenced this issue Apr 27, 2016
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@tr…
andyleejordan pushed a commit to andyleejordan/PowerShell that referenced this issue Aug 30, 2016
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@tr…
@muzzar78
Copy link

muzzar78 commented Oct 7, 2018

This is awesome. Any ideas on how to provide similar functionality in PS Core which is missing out-gridview?

@lzybkr
Copy link
Member

lzybkr commented Oct 7, 2018

@muzzar78 - @SeeminglyScience hinted that he's working on something that uses fzf.

@SeeminglyScience
Copy link
Contributor

You know, I hadn't considered leveraging fzf...

That demo was using my own implementation. I'm writing that mainly for use in EditorServicesCommandSuite, but if there is interest I could make it a separate project or contribute it to PSRL.

Without any changes it does a decent job at searching history:

psrl-history-demo

@SeeminglyScience
Copy link
Contributor

Actually fzf already does this really well. If you install it and want a similar history search option, put this in your profile:

Set-PSReadLineKeyHandler -Chord 'F1' -ScriptBlock {
    $history = [System.Linq.Enumerable]::Reverse(
        [System.Linq.Enumerable]::Distinct(
            [string[]]([Microsoft.PowerShell.PSConsoleReadLine]::GetHistoryItems().CommandLine)))

    # Enter alternate buffer for history search.
    $Host.UI.Write("$([char]27)[?1049h")
    try {
        $command = $history | fzf --header="PSReadLine History Search"
    } finally {
        # Leave alternate buffer to return to PSReadLine prompt.
        $Host.UI.Write("$([char]27)[?1049l")
    }

    if ($command) {
        [Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
        [Microsoft.PowerShell.PSConsoleReadLine]::Insert(($command -join '; '))
    }
}

@muzzar78
Copy link

muzzar78 commented Oct 7, 2018

Thanks, I just tried out fzf. It works ok. @SeeminglyScience Looks like your implementation has more polish with the highlighting

@MarkusAmshove
Copy link

MarkusAmshove commented Aug 13, 2019

I've also tried my luck to combine PSReadLine with fzf, but I get strange behavior after exiting fzf:

6JO7JTp5UJ

Is there a way to preserve the previous state of the console, or atleast clear the console and get a prompt + the inserted command?

I've tried @SeeminglyScience approach with the buffer, but that doesn't work, as it doesn't even show fzf correctly (notice the top right corner):

DmJypBfi7O

@kelleyma49
Copy link

@MarkusAmshove, try https://github.com/kelleyma49/PSFzf and let me know if it works better for you.

@tig
Copy link

tig commented Oct 8, 2020

I found this issue while looking for something else, but figured I'd post this new info.

You can now use out-consolegridview to get great "F7" behavior w/in the console. See:

https://gist.github.com/tig/cbbeab7f53efd73e329afd6d4b838191

@daxian-dbw
Copy link
Member

The API PSConsoleReadLine.GetHistoryItems() was already added. So I assume this issue can be closed now.

PS:2> [Microsoft.PowerShell.PSConsoleReadLine]::GetHistoryItems

OverloadDefinitions
-------------------
static Microsoft.PowerShell.PSConsoleReadLine+HistoryItem[] GetHistoryItems()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants