diff --git a/starship.toml b/starship.toml new file mode 100644 index 0000000..d518e60 --- /dev/null +++ b/starship.toml @@ -0,0 +1,89 @@ +# Multi-line prompt with project context +format = """ +[╭─](bold blue) $directory\ +$fill\ +$git_branch$git_status$kubernetes$python$nodejs$rust$golang$docker_context +[╰─](bold blue)$character""" + +# Add fill module for right alignment +[fill] +symbol = " " +style = "bold blue" + +# Directory display with single-letter truncation +[directory] +style = "bold white" +truncation_length = 1 +truncate_to_repo = true +fish_style_pwd_dir_length = 1 +format = "[$path]($style)" + +# Command prompt character +[character] +success_symbol = "[❯](bold green)" +error_symbol = "[❯](bold red)" +vimcmd_symbol = "[❮](bold green)" + +# Git branch display +[git_branch] +format = "[$symbol$branch]($style)" +style = "bold purple" +symbol = " " # Git branch symbol + +# Git status indicators +[git_status] +format = '([\[$ahead_behind$staged$modified$deleted\]]($style) )' +style = "bold cyan" +# Repository status compared to remote +ahead = "⇡${count}" # Local repo has ${count} commits not pushed to remote +behind = "⇣${count}" # Remote has ${count} commits not in local repo +diverged = "⇕⇡${ahead_count}⇣${behind_count}" # Local and remote have diverged + +# Working tree status +staged = "+${count}" # Number of staged files +modified = "!${count}" # Number of files with unstaged changes +deleted = "✘${count}" # Number of deleted files +untracked = "" # Hide untracked files indicator (was "?${count}") + +# Note: Other git status symbols available but hidden for cleaner display: +# conflicted = "✖" # Merge conflicts +# stashed = "≡" # Stashed changes +# renamed = "»" # Renamed files + +# Kubernetes context +[kubernetes] +format = '[$symbol$context( \($namespace\))]($style) ' +style = "bold blue" +symbol = "☸ " +disabled = true # Default to disabled +detect_files = ["k8s", "kubernetes", "k3d.yaml", "kubeconfig.yaml"] # Only show in directories with these files + +# Python environment +[python] +format = '[$symbol$virtualenv]($style) ' +style = "bold yellow" +symbol = "🐍 " + +# Node.js +[nodejs] +format = '[$symbol($version )]($style)' +style = "bold green" +symbol = "⬢ " + +# Rust +[rust] +format = '[$symbol($version )]($style)' +style = "bold red" +symbol = "🦀 " + +# Docker +[docker_context] +format = '[$symbol$context]($style) ' +style = "bold blue" +symbol = "🐋 " + +# Golang +[golang] +format = '[$symbol($version )]($style)' +style = "bold cyan" +symbol = "Go "