diff --git a/starship/.config/starship.toml b/starship/.config/starship.toml index d01d4d7..a218054 100644 --- a/starship/.config/starship.toml +++ b/starship/.config/starship.toml @@ -1,14 +1,13 @@ -# Get editor completions based on the config schema +# ── General Settings ── "$schema" = 'https://starship.rs/config-schema.json' - add_newline = false -palette = "solarized_light" +palette = "monokai_pro" command_timeout = 5000 -# Customize your prompt to ensure everything is on a single line +# ── Prompt Layout ── format = """\ ${custom.context}\ -$character\ +$status\ $directory\ $direnv\ $docker_context\ @@ -19,8 +18,8 @@ $rust\ $c\ $python\ $package\ -$line_break\ $jobs\ +$character\ """ right_format = """\ @@ -30,116 +29,111 @@ $git_status\ $git_metrics\ """ -# Git branch configuration -[git_branch] -format = "[$branch(:$remote_branch) ]($style)" +# ── Exit Status (last command) ── +[status] +format = "([$status]($style)) " style = "bold red" +disabled = false +map_symbol = true +success_symbol = "" # hide when exit code = 0 -# Git status configuration -[git_status] -format = '[$all_status ]($style)' -style = "bold green" - -# Git metric configuration -[git_metrics] -format = '([$added ]($added_style))([$deleted ]($deleted_style))' -added_style = "green" -deleted_style = "red" -disabled = true - -# Configure the overall look of the prompt +# ── Character ── [character] success_symbol = "[❯](bold green)" error_symbol = "[✗](bold red)" vimcmd_symbol = "[V](bold green)" -# Directory +# ── Directory ── [directory] format = "[$path ]($style)[$read_only]($read_only_style)" style = "bright-cyan" truncation_length = 3 truncation_symbol = "…/" -use_logical_path = true # speeds up when working with symlinks (optional) -fish_style_pwd_dir_length = 1 # makes truncation lighter and faster +use_logical_path = true +fish_style_pwd_dir_length = 1 -[line_break] -disabled = true - -[jobs] -format = '[$symbol$count ]($style)' -number_threshold = 4 - -[cmd_duration] -format = "[$duration ]($style)" -style = "yellow" - -[direnv] -format = '[$symbol$loaded/$allowed ]($style)' -disabled = false - -# Container -[container] -format = '[$symbol \[$name\] ]($style)' -style = "orange" - -# Docker -[docker_context] -format = '[$symbol$container ]($style)' -style = "blue" - -# C -[c] -format = "[$symbol($version(-$name)) ]($style)" -style = "bold green" -detect_files = ["Makefile"] - -# Conda -[conda] -format = "[$environment ]($style)" -style = "dimmed green" -disabled = false - -# Python -[python] -format = "[${symbol}(${version})(\\($virtualenv\\)) ]($style)" -# pyenv_version_name = true -style = "blue" -detect_files = ["Pipfile", "pyproject.toml", "poetry.lock", "requirements.txt"] - -# Golang -[golang] -format = "[$symbol($version)($mod_version) ]($style)" -style = "blue" - -# Rust -[rust] -format = "[$symbol$version ]($style)" -style = "purple" - -# Lua -[lua] -format = "[$symbol$version ]($style)" -style = "purple" - -# Package -[package] -format = "[$symbol$version ]($style)" -style = "208 bold" - -# Directory substitutions [directory.substitutions] +"~/.dotfiles" = "dot" "~/Documents/dev" = "dev" "~/.config" = "config" -"~/.dotfiles" = "dot" "~/.local" = "local" "~/Library/CloudStorage/GoogleDrive-*" = "GDrive" -# ── Context-Aware Session Tag ── +# ── Git ── +[git_branch] +format = "[$branch(:$remote_branch)]($style) " +style = "bold red" + +[git_status] +format = '[$all_status]($style) ' +style = "bold green" + +[git_metrics] +format = '([$added]($added_style))([$deleted]($deleted_style)) ' +added_style = "green" +deleted_style = "red" +disabled = true + +# ── Jobs ── +[jobs] +format = '[$symbol$count]($style) ' +number_threshold = 4 + +# ── Command Duration ── +[cmd_duration] +format = "[$duration ]($style) " +style = "yellow" + +# ── Direnv ── +[direnv] +format = '[$symbol$loaded/$allowed]($style) ' +disabled = false + +# ── Docker / Container ── +[container] +format = '[$symbol \[$name\]]($style) ' +style = "orange" + +[docker_context] +format = '[$symbol$container]($style) ' +style = "blue" + +# ── Language Modules ── +[c] +format = "[$symbol($version(-$name))]($style) " +style = "bold green" +detect_files = ["Makefile"] + +[conda] +format = "[$environment]($style) " +style = "dimmed green" +disabled = false + +[python] +format = "[${symbol}(${version})(\\($virtualenv\\))]($style) " +style = "blue" +detect_files = ["Pipfile", "pyproject.toml", "poetry.lock", "requirements.txt"] + +[golang] +format = "[$symbol($version)($mod_version)]($style) " +style = "blue" + +[rust] +format = "[$symbol$version]($style) " +style = "purple" + +[lua] +format = "[$symbol$version]($style) " +style = "purple" + +[package] +format = "[$symbol$version]($style) " +style = "208 bold" + +# ── Custom Context (WSL / Codespaces / Remote) ── [custom.context] command = ''' -case "$(uname -r)" in - *microsoft*) echo "WSL" ;; -esac +[ -n "$WSL_DISTRO_NAME" ] && echo "WSL" [ -n "$CODESPACES" ] && echo "Codespaces" [ -n "$SSH_CONNECTION" ] && echo "Remote" ''' @@ -148,7 +142,35 @@ shell = ['sh'] style = 'bold yellow' format = '[$output]($style)' -# Monokai Pro palette +# ── Color Palettes ── +[palettes.solarized_light] +rosewater = "#fdf6e3" +flamingo = "#d33682" +pink = "#d33682" +mauve = "#6c71c4" +red = "#dc322f" +maroon = "#cb4b16" +peach = "#cb4b16" +yellow = "#b58900" +green = "#859900" +teal = "#2aa198" +sky = "#268bd2" +sapphire = "#268bd2" +blue = "#268bd2" +lavender = "#6c71c4" +text = "#002b36" +subtext1 = "#073642" +subtext0 = "#586e75" +overlay2 = "#657b83" +overlay1 = "#839496" +overlay0 = "#93a1a1" +surface2 = "#eee8d5" +surface1 = "#fdf6e3" +surface0 = "#fdf6e3" +base = "#fdf6e3" +mantle = "#fdf6e3" +crust = "#fdf6e3" + [palettes.monokai_pro] rosewater = "#f1ebeb" flamingo = "#dc2566" @@ -176,32 +198,3 @@ surface0 = "#272822" base = "#272822" mantle = "#272822" crust = "#272822" - -# Solarized light palette -[palettes.solarized_light] -rosewater = "#fdf6e3" -flamingo = "#dc322f" -pink = "#dc322f" -mauve = "#6c71c4" -red = "#dc322f" -maroon = "#b58900" -peach = "#b58900" -yellow = "#b58900" -green = "#859900" -teal = "#2aa198" -sky = "#268bd2" -sapphire = "#268bd2" -blue = "#268bd2" -lavender = "#6c71c4" -text = "#586e75" -subtext1 = "#657b83" -subtext0 = "#93a1a1" -overlay2 = "#93a1a1" -overlay1 = "#657b83" -overlay0 = "#002b36" -surface2 = "#fdf6e3" -surface1 = "#fdf6e3" -surface0 = "#fdf6e3" -base = "#fdf6e3" -mantle = "#fdf6e3" -crust = "#fdf6e3"