export def --env "pj starship config" [name: string] { if (which ^starship | is-empty) { echo "starship is not installed." return } let cfg = ($env.NU_POLYJUICE_PATH | path join ".." "starship" $"starship_($name).toml") $env.STARSHIP_CONFIG = $cfg } export def --env "pj starship list" [] { if (which ^starship | is-empty) { echo "starship is not installed." return } ls ($env.NU_POLYJUICE_PATH | path join ".." "starship") -s | get name | parse -r '^(starship_(?.*).toml)$' | get name } export def "pj starship doctor" [] { let installed = ((which ^starship | length) > 0) let prompt_type = ($env.PROMPT_COMMAND? | describe) let right_prompt_type = ($env.PROMPT_COMMAND_RIGHT? | describe) let prompt_cmd = (($env.PROMPT_COMMAND? | to nuon --serialize) | default "") let right_prompt_cmd = (($env.PROMPT_COMMAND_RIGHT? | to nuon --serialize) | default "") let prompt_uses_starship = ($prompt_cmd | str contains "starship' prompt") let right_prompt_uses_starship = ($right_prompt_cmd | str contains "starship' prompt") { starship_installed: $installed starship_path: ((which ^starship | get path.0?) | default "") starship_version: (if $installed { (^starship --version | str trim) } else { "" }) STARSHIP_SHELL: ($env.STARSHIP_SHELL? | default "") STARSHIP_CONFIG: ($env.STARSHIP_CONFIG? | default "") prompt_command_type: $prompt_type prompt_command_uses_starship: $prompt_uses_starship prompt_command_right_type: $right_prompt_type prompt_command_right_uses_starship: $right_prompt_uses_starship } }