]> apps.delaporte.us Git - dotfiles.git/blobdiff - files/Microsoft.PowerShell_profile.ps1
Add function to quickly find journal files
[dotfiles.git] / files / Microsoft.PowerShell_profile.ps1
index 4b70fe83950fa9bc26ddeefe9567e16109b45e0d..7aef53dfcf0fa5587779de660b1c3e17ff3ec2a0 100644 (file)
@@ -1,8 +1,8 @@
-$env:src = "~\src"
-Import-Module $env:src\dotfiles\psmodules\add_to_profile.psm1
-Add-ToProfile $env:src\dotfiles\files\paths.ps1
-Add-ToProfile $env:src\dotfiles\files\env.ps1
-Add-ToProfile $env:src\dotfiles\files\load_modules.ps1
+$env:src = "$HOME\src"
+$env:dotfiles = "$HOME\dotfiles"
+Import-Module $env:dotfiles\psmodules\add_to_profile.psm1
+Add-ToProfile $env:dotfiles\files\paths.ps1
+Add-ToProfile $env:dotfiles\files\env.ps1
 
 # Delay loading PoshGit for speed. 
 function Enable-PoshGit {
@@ -12,8 +12,74 @@ New-Alias pg    Enable-PoshGit
 
 Set-Alias code codium  # Prefer Codium
 
+# Dashboard
+New-Alias dash   Show-MyDashboard # from dash.psm1
+New-Alias today Get-JournalAgenda
+function journal {
+    param(
+        [switch]$limited = $false,
+        [switch]$shared = $false
+    )
+    $path = "$HOME\Box\Journal"
+    if($limited) {
+        $path = "$HOME\Box\SecDevLimited"
+    }
+    if($shared) {
+        $path = "$HOME\Box\Privacy & Cybersecurity\Cybersecurity Development"
+    }
+    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
+
 # You can pry my unix commands out of my cold dead fingers
-Set-Alias which get-command
+if($iswindows) {
+       Set-Alias which get-command
+}
 # Reject Windows heritage, act like Vi
 # Set-PSReadlineOption -HistorySavePath $env:src\PSHistory.log
 Set-PSReadlineOption -BellStyle Visual
@@ -22,11 +88,29 @@ Set-PSReadlineOption -EditMode Vi
 
 Write-Host "+ Type 'pg' to enable PoshGit"
 Write-Host 'See $env:realProfile for version controlled profile file.'
-# Let's face it, I'm about to cd into my source directory
-if((Get-Location).Path -eq $HOME){ cd $env:src }
 
-function Get-JournalAgenda() {
-    # Write-Host "Reading from $HOME\Journal\{YYYY}\{MM}-{DD}.md"
-    agenda.exe -path "$HOME\Journal\{YYYY}\{MM}-{DD}.md"
+# Load dotfiles modules
+$env:psmodules = "$env:dotfiles\psmodules"
+Import-Module "$env:psmodules\dash.psm1"
+Import-Module $env:psmodules\file_management.psm1
+Import-Module "$env:psmodules\fix_vpn.psm1"
+
+$maybe_mods = @(
+       "$env:src\travel-times\travel-times.psm1",
+       "$env:src\powershell-scripts\modules\AgileGitHubCLI.psm1"
+       )
+$maybe_mods | ForEach-Object {
+       if(Test-Path $_) {
+               Import-Module $_
+       } else {
+               Write-Host "Not found: $_"
+       }
 }
-New-Alias today Get-JournalAgenda
\ No newline at end of file
+
+$env:nvim_config = "$HOME\AppData\Local\nvim"
+
+# Load local source modules
+# Import-Module $env:src\powershell-scripts\modules\MarkdownGitHub.psm1
+
+# Let's face it, I'm about to cd into my source directory
+if((Get-Location).Path -eq $HOME){ cd $env:src }