From 7f34ece5e62b7aaa63803aad9973e67b0fd4cc65 Mon Sep 17 00:00:00 2001 From: Ardis Lu Date: Fri, 27 Dec 2024 15:24:20 -0800 Subject: [PATCH] Add Open-HistoryFile --- ArdisUtilities/ArdisUtilities.psd1 | 2 +- ArdisUtilities/ArdisUtilities.psm1 | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ArdisUtilities/ArdisUtilities.psd1 b/ArdisUtilities/ArdisUtilities.psd1 index 9108994..119a60f 100644 --- a/ArdisUtilities/ArdisUtilities.psd1 +++ b/ArdisUtilities/ArdisUtilities.psd1 @@ -4,7 +4,7 @@ GUID = '57a6bea3-0ea5-44b3-95d2-71d122772f1c' Author = 'Ardis Lu' Description = 'My personal utility functions.' - FunctionsToExport = @('Invoke-RandomFile', 'ConvertTo-Base64String', 'Get-StringHash', 'Get-SizeDurationRatio', 'Get-ExtendedFileProperty', 'Get-DocumentationIP', 'Get-DocumentationPhoneNumber', 'Test-TcpPort', 'Get-HelpAsMarkdown', 'Open-ParentFolder', 'Get-SubresourceIntegrity', 'Open-TemporaryBrowser') + FunctionsToExport = @('Invoke-RandomFile', 'ConvertTo-Base64String', 'Get-StringHash', 'Get-SizeDurationRatio', 'Get-ExtendedFileProperty', 'Get-DocumentationIP', 'Get-DocumentationPhoneNumber', 'Test-TcpPort', 'Get-HelpAsMarkdown', 'Open-ParentFolder', 'Get-SubresourceIntegrity', 'Open-TemporaryBrowser', 'Open-HistoryFile') CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @() diff --git a/ArdisUtilities/ArdisUtilities.psm1 b/ArdisUtilities/ArdisUtilities.psm1 index 8113432..9488ea7 100644 --- a/ArdisUtilities/ArdisUtilities.psm1 +++ b/ArdisUtilities/ArdisUtilities.psm1 @@ -1051,3 +1051,24 @@ function Open-TemporaryBrowser { [System.Diagnostics.Process]::Start($execPath, "--user-data-dir=`"$temp`" $(if ($CORS) {'--disable-web-security'})") | Out-Null } } + +function Open-HistoryFile { + <# + .SYNOPSIS + Opens the current session's persistent history file in a text editor. + + .DESCRIPTION + Besides the in-memory session history which can be retrieved using Get-History, the PSReadLine module also + maintains a persistent history of commands in a text file saved on disk. This command locates this text + file using (Get-PSReadlineOption).HistorySavePath then opens it using Invoke-Item. + + .EXAMPLE + PS> Open-HistoryFile + + Opens the default text editor on the persistent history file. + #> + + process { + Invoke-Item (Get-PSReadlineOption).HistorySavePath + } +} -- 2.47.3