mirror of
https://github.com/Cian-H/dotfiles.git
synced 2025-12-22 19:31:57 +00:00
Fixed shell prompt config property
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
use ~/.config/nushell/prompt.nu *
|
||||
|
||||
# Use nushell functions to define your right and left prompt
|
||||
$env.STARSHIP_SHELL = "nu"
|
||||
$env.PROMPT_COMMAND = {|| create_left_prompt }
|
||||
$env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
|
||||
|
||||
|
||||
@@ -1,24 +1,21 @@
|
||||
def get_env [s: string]: string -> string {
|
||||
def get_env [s: string]: string -> any {
|
||||
try { $env | get --ignore-errors $s } catch { "" }
|
||||
}
|
||||
|
||||
def get_status []: nothing -> string {
|
||||
match (get_env "LAST_EXIT_CODE") {
|
||||
"0" => "0",
|
||||
_ => "1",
|
||||
}
|
||||
export def was_successful []: nothing -> bool {
|
||||
(get_env "LAST_EXIT_CODE") == 0
|
||||
}
|
||||
|
||||
export def create_left_prompt []: nothing -> string {
|
||||
^starship prompt --cmd-duration (get_env "CMD_DURATION_MS") --status (get_status) --terminal-width (term size).columns
|
||||
^starship prompt --cmd-duration (get_env "CMD_DURATION_MS") $'--status=($env.LAST_EXIT_CODE)' --terminal-width (term size).columns
|
||||
}
|
||||
|
||||
export def create_right_prompt []: nothing -> string {
|
||||
^starship prompt --right --cmd-duration (get_env "CMD_DURATION_MS") --status (get_status) --terminal-width (term size).columns
|
||||
^starship prompt --right --cmd-duration (get_env "CMD_DURATION_MS") $'--status=($env.LAST_EXIT_CODE)' --terminal-width (term size).columns
|
||||
}
|
||||
|
||||
export def create_continuation_prompt []: nothing -> string {
|
||||
^starship prompt --continuation --cmd-duration (get_env "CMD_DURATION_MS") --status (get_status) --terminal-width (term size).columns
|
||||
^starship prompt --continuation --cmd-duration (get_env "CMD_DURATION_MS") $'--status=($env.LAST_EXIT_CODE)' --terminal-width (term size).columns
|
||||
}
|
||||
|
||||
def parse_ms_to_human_readable [ms: string]: string -> string {
|
||||
@@ -41,12 +38,12 @@ def parse_ms_to_human_readable [ms: string]: string -> string {
|
||||
}
|
||||
|
||||
export def create_transient_prompt_left []: nothing -> string {
|
||||
if (get_env "LAST_EXIT_CODE") == "0" {
|
||||
if (was_successful) {
|
||||
$"(ansi green_bold)(ansi reset)"
|
||||
} else {
|
||||
$"(ansi red_bold)(ansi reset)"
|
||||
}
|
||||
}
|
||||
export def create_transient_prompt_indicator []: nothing -> string {
|
||||
$"(ansi blue_bold) (parse_ms_to_human_readable (get_env "CMD_DURATION_MS")) (if (get_env "LAST_EXIT_CODE") == "0" { ansi green_bold } else { ansi red_bold })(ansi reset) "
|
||||
$"(ansi blue_bold) (parse_ms_to_human_readable (get_env "CMD_DURATION_MS")) (if (was_successful) { ansi green_bold } else { ansi red_bold })(ansi reset) "
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user