aboutsummaryrefslogtreecommitdiff
path: root/documents
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2024-06-02 00:39:06 +0200
committersrdusr <trevorgray@srdusr.com>2024-06-02 00:39:06 +0200
commit348b2a569680f76fa19d7700aede96e02ced1239 (patch)
tree4a22015d2997f3cb6da5775236f7d5d021206c1e /documents
parent9495b7740ef6484661d79515848e0c563b40b3f3 (diff)
downloaddotfiles-348b2a569680f76fa19d7700aede96e02ced1239.tar.gz
dotfiles-348b2a569680f76fa19d7700aede96e02ced1239.zip
Add Microsoft.PowerShell_profile.ps1
Diffstat (limited to 'documents')
-rw-r--r--documents/powershell/Microsoft.PowerShell_profile.ps153
1 files changed, 53 insertions, 0 deletions
diff --git a/documents/powershell/Microsoft.PowerShell_profile.ps1 b/documents/powershell/Microsoft.PowerShell_profile.ps1
new file mode 100644
index 0000000..db4d580
--- /dev/null
+++ b/documents/powershell/Microsoft.PowerShell_profile.ps1
@@ -0,0 +1,53 @@
+# THIS IS NEEDED FOR GIT TAB COMPLETION
+Import-Module posh-git
+
+# Set-PoshPrompt -Theme Paradox
+# Set-PoshPrompt -Theme ~/.mytheme.tokyonight.omp.yaml
+# Set-PoshPrompt -Theme ~/.omp/themes/tokyonight.omp.yaml
+oh-my-posh init pwsh --config ~/.omp/themes/tokyonight.omp.yaml | Invoke-Expression
+
+# Dotfiles special git command
+function global:config {
+ git --git-dir="$env:USERPROFILE\.cfg" --work-tree="$env:USERPROFILE" $args
+}
+
+# Chocolatey profile
+$ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
+if (Test-Path $ChocolateyProfile) {
+ Import-Module "$ChocolateyProfile"
+}
+
+# PSReadLine extension to provide VI keybindings
+Set-PSReadlineOption -EditMode vi
+Set-PSReadLineKeyHandler -Key Tab -Function Complete
+Set-PSReadLineKeyHandler -Key Ctrl+r -Function ReverseSearchHistory
+
+# Remove gl, gp, gm aliases for git commands
+Remove-Alias -Force -Name gl
+Remove-Alias -Force -Name gp
+Remove-Alias -Force -Name gm
+
+# Custom git functions
+function gs { git status }
+function gf { git fetch }
+function gl { git pull }
+function gp { git push }
+function gpt { git push --tags }
+function gP { git push --force-with-lease }
+function ga { git add }
+function gcam { git commit -am }
+function gd { git diff }
+function gw { git diff --word-diff }
+function glog { git log }
+function gdog { git log --graph --oneline --all }
+function gadog { git log --graph --decorate --all }
+function gb { git branch }
+function gba { git branch --all }
+function gco { git checkout }
+function gm { git merge }
+
+# For zoxide v0.8.0+
+Invoke-Expression (& {
+ $hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
+ (zoxide init --hook $hook powershell | Out-String)
+})