From cba7535866e98219c5eb42539194f94170328a8e Mon Sep 17 00:00:00 2001 From: Edward Delaporte Date: Wed, 19 Feb 2025 16:23:16 -0600 Subject: [PATCH] Add function to quickly find journal files --- files/Microsoft.PowerShell_profile.ps1 | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/files/Microsoft.PowerShell_profile.ps1 b/files/Microsoft.PowerShell_profile.ps1 index e39aab2..7aef53d 100644 --- a/files/Microsoft.PowerShell_profile.ps1 +++ b/files/Microsoft.PowerShell_profile.ps1 @@ -29,10 +29,49 @@ function journal { } nvim $path } + function dotfiles { nvim "$HOME\dotfiles" } +function open { + param ( + [string]$searchText + ) + $directories = @( + "$HOME\Box\Journal", + "$HOME\Box\SecDevLimited", + "$HOME\Box\Privacy & Cybersecurity\Cybersecurity Development" + ) + + $totalFiles = 0 + $processedFiles = 0 + + foreach ($directory in $directories) { + if (Test-Path $directory) { + $totalFiles += (Get-ChildItem -Path $directory -Recurse -File).Count + } else { + Write-Host "Directory '$directory' does not exist." + } + } + + $resultFiles = @() + $textFileExtensions = @(".txt", ".log", ".csv", ".json", ".xml", ".md") + foreach ($directory in $directories) { + Get-ChildItem -Path $directory -Recurse -File | Where-Object { $textFileExtensions -contains $_.Extension } | ForEach-Object { + $fileContent = Get-Content -Path $_.FullName -Raw + + if ($fileContent -match $searchText) { + $resultFiles += $_.FullName + } + $processedFiles++ + Write-Progress -Activity "Searching Files" -Status "$processedFiles / $totalFiles files processed" -PercentComplete (($processedFiles / $totalFiles) * 100) + } + } + nvim $resultFiles +} + + # Vi New-Alias vi nvim New-Alias vim nvim -- 2.47.3