Files
dotfiles/home/Documents/PowerShell/Microsoft.PowerShell_profile.ps1.tmpl
Ryan Walters 9fb2c304f3 feat: add Windows Terminal helper function across all shells
Add `wt` function to launch Windows Terminal with WSL in current directory across Bash, Fish, Nushell, and PowerShell. The function supports passing additional arguments while maintaining the current working directory context.
2025-11-01 11:08:32 -05:00

97 lines
2.9 KiB
Cheetah

# {{ template "banner.tmpl" .}}
# PowerShell Profile for Windows
# Managed by chezmoi
# Editor configuration
$env:EDITOR = "micro"
# OpenAI API Key
$env:OPENAI_API_KEY = "{{ dopplerProjectJson.OPENAI_CHATGPT_CLI }}"
# mise - polyglot tool version manager
# Activates mise if installed (provides tools like vault, node, python, etc.)
if (Get-Command mise -ErrorAction SilentlyContinue) {
Invoke-Expression (& mise activate pwsh | Out-String)
}
# ----------------------
# Core Aliases
# ----------------------
Set-Alias -Name nano -Value micro
Set-Alias -Name vim -Value nvim
Set-Alias -Name lg -Value lazygit
# Directory listing - lsd (modern ls replacement)
function ls { lsd $args }
function l { lsd -l $args }
function la { lsd -a $args }
function lla { lsd -la $args }
function lt { lsd --tree $args }
function ll { lsd -AlFh $args }
# Reload shell profile
function es { & $PROFILE }
# ----------------------
# Chezmoi Aliases
# ----------------------
Set-Alias -Name ch -Value chezmoi
function cha { chezmoi apply --interactive }
function chlg { lazygit --path {{ .chezmoi.config.sourceDir }} }
# ----------------------
# Windows Terminal
# ----------------------
# Launch Windows Terminal in current directory
function wt {
if ($args.Count -eq 0) {
wt.exe -w 0 sp wsl --cd $PWD.Path
} else {
wt.exe -w 0 $args wsl --cd $PWD.Path
}
}
# ----------------------
# Git Aliases
# ----------------------
function ga { git add $args }
function gaa { git add . }
function gaaa { git add --all }
function gau { git add --update }
function gb { git branch $args }
function gbd { git branch --delete $args }
function gc { git commit $args }
function gcm { git commit --message $args }
function gcf { git commit --fixup $args }
function gco { git checkout $args }
function gcob { git checkout -b $args }
function gcom { git checkout master }
function gcos { git checkout staging }
function gcod { git checkout develop }
function gd { git diff $args }
function gda { git diff HEAD }
function glg { git log --graph --oneline --decorate --all }
function gld { git log --pretty=format:"%h %ad %s" --date=short --all }
function gm { git merge --no-ff $args }
function gma { git merge --abort }
function gmc { git merge --continue }
function gp { git pull $args }
function gpr { git pull --rebase $args }
function gr { git rebase $args }
function gs { git status $args }
function gss { git status --short }
function gst { git stash $args }
function gsta { git stash apply $args }
function gstd { git stash drop $args }
function gstl { git stash list }
function gstp { git stash pop $args }
function gsts { git stash save $args }
function glf { git log --all --grep="$args" }
# Clipboard aliases (Windows native)
function cdp { Set-Location (Get-Clipboard) }
# Initialize completions if available
if (Get-Command chezmoi -ErrorAction SilentlyContinue) {
chezmoi completion powershell | Out-String | Invoke-Expression
}