]> apps.delaporte.us Git - dotfiles.git/commitdiff
Add function to quickly find journal files
authorEdward Delaporte <delaport@illinois.edu>
Wed, 19 Feb 2025 22:23:16 +0000 (16:23 -0600)
committerEdward Delaporte <delaport@illinois.edu>
Wed, 19 Feb 2025 22:23:16 +0000 (16:23 -0600)
files/Microsoft.PowerShell_profile.ps1

index e39aab217935d2e506ef3e76477912f0be750fd0..7aef53dfcf0fa5587779de660b1c3e17ff3ec2a0 100644 (file)
@@ -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