# ─── Top-level settings (must appear before any [section] headers) ─────────────
palette      = "{{ .chezmoi.config.data.theme }}"
add_newline  = false
format       = "$directory$git_branch$git_status$python$nodejs$rust$golang$docker_context"
right_format = "$cmd_duration$status$time"

# ─── Palettes ────────────────────────────────────────────────────────────────
[palettes.apex-neon]
void   = "#050505"
text   = "#ededed"
dim    = "#737373"
razor  = "#ff0044"
tech   = "#00eaff"
toxic  = "#00ff99"
amber  = "#ffb700"
azure  = "#0088cc"
sacred = "#9d00ff"

[palettes.apex-aeon]
void   = "#f5f5f5"
text   = "#0a0a0a"
dim    = "#737373"
razor  = "#ff0044"
tech   = "#007a88"
toxic  = "#00b377"
amber  = "#d18f00"
azure  = "#005577"
sacred = "#7a3cff"

# ─── Character — disabled, vi mode handled by Nu PROMPT_INDICATOR_VI_* ────────
[character]
disabled = true

# ─── Directory ───────────────────────────────────────────────────────────────
[directory]
style             = "bold fg:tech"
truncation_length = 4
truncate_to_repo  = true
format            = "[$path]($style)"
home_symbol       = "~"

# ─── Git ─────────────────────────────────────────────────────────────────────
# Branch: space · branch-name  (trailing space creates gap before git_status)
[git_branch]
style  = "fg:tech"
symbol = ""
format = " [·](fg:dim) [$branch]($style) "

# Status: compact symbols, no leading space needed (git_branch provides it)
[git_status]
style      = "fg:razor"
format     = "([$all_status$ahead_behind]($style))"
conflicted = "✖"
ahead      = "↑${count}"
behind     = "↓${count}"
diverged   = "⇕↑${ahead_count}↓${behind_count}"
untracked  = "?"
stashed    = "≡"
modified   = "✦"
staged     = "+"
renamed    = "»"
deleted    = "✗"

# ─── Language versions — dim, abbreviated, separator-prefixed ────────────────
[python]
style          = "fg:dim"
format         = "( [·](fg:dim) [py $version]($style))"
version_format = "${major}.${minor}"
detect_files   = ["pyproject.toml", "Pipfile", "requirements.txt", ".python-version", "setup.py", "uv.lock"]

[nodejs]
style          = "fg:dim"
format         = "( [·](fg:dim) [node $version]($style))"
version_format = "${major}"

[rust]
style          = "fg:dim"
format         = "( [·](fg:dim) [rs $version]($style))"
version_format = "${major}.${minor}"

[golang]
style          = "fg:dim"
format         = "( [·](fg:dim) [go $version]($style))"
version_format = "${major}.${minor}"

[docker_context]
style          = "fg:dim"
format         = "( [·](fg:dim) [󰡨 $context]($style))"
only_with_files = true

# ─── Right prompt ────────────────────────────────────────────────────────────
[cmd_duration]
min_time          = 2_000
style             = "fg:amber"
format            = "[$duration]($style) "
show_milliseconds = false

[status]
disabled       = false
format         = "[$symbol]($style)"
symbol         = "✗"
success_symbol = "✓"
style          = "bold fg:razor"
success_style  = "bold fg:toxic"

[time]
disabled    = false
style       = "fg:dim"
format      = " [$time]($style)"
time_format = "%H:%M"
