mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-01 06:37:46 +00:00
Add catppuccin macchiato theme (#935)
This commit is contained in:
parent
149d9584c4
commit
7bf4491cbf
1 changed files with 152 additions and 0 deletions
152
themes/nu-themes/catppuccin-macchiato.nu
Normal file
152
themes/nu-themes/catppuccin-macchiato.nu
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
# Retrieve the theme settings
|
||||||
|
export def main [] {
|
||||||
|
const color_palette = {
|
||||||
|
rosewater: "#f4dbd6"
|
||||||
|
flamingo: "#f0c6c6"
|
||||||
|
pink: "#f5bde6"
|
||||||
|
mauve: "#c6a0f6"
|
||||||
|
red: "#ed8796"
|
||||||
|
maroon: "#ee99a0"
|
||||||
|
peach: "#f5a97f"
|
||||||
|
yellow: "#eed49f"
|
||||||
|
green: "#a6da95"
|
||||||
|
teal: "#8bd5ca"
|
||||||
|
sky: "#91d7e3"
|
||||||
|
sapphire: "#7dc4e4"
|
||||||
|
blue: "#8aadf4"
|
||||||
|
lavender: "#b7bdf8"
|
||||||
|
text: "#cad3f5",
|
||||||
|
subtext1: "#b8c0e0"
|
||||||
|
subtext0: "#a5adcb"
|
||||||
|
overlay2: "#939ab7"
|
||||||
|
overlay1: "#8087a2"
|
||||||
|
overlay0: "#6e738d"
|
||||||
|
surface2: "#5b6078"
|
||||||
|
surface1: "#494d64"
|
||||||
|
surface0: "#363a4f"
|
||||||
|
base: "#24273a"
|
||||||
|
mantle: "#1e2030"
|
||||||
|
crust: "#181926"
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
separator: $color_palette.overlay0
|
||||||
|
leading_trailing_space_bg: { attr: "n" }
|
||||||
|
header: { fg: $color_palette.blue attr: "b" }
|
||||||
|
empty: $color_palette.lavender
|
||||||
|
bool: $color_palette.lavender
|
||||||
|
int: $color_palette.peach
|
||||||
|
duration: $color_palette.text
|
||||||
|
filesize: {|e|
|
||||||
|
if $e < 1mb {
|
||||||
|
$color_palette.green
|
||||||
|
} else if $e < 100mb {
|
||||||
|
$color_palette.yellow
|
||||||
|
} else if $e < 500mb {
|
||||||
|
$color_palette.peach
|
||||||
|
} else if $e < 800mb {
|
||||||
|
$color_palette.maroon
|
||||||
|
} else if $e > 800mb {
|
||||||
|
$color_palette.red
|
||||||
|
}
|
||||||
|
}
|
||||||
|
date: {|| (date now) - $in |
|
||||||
|
if $in < 1hr {
|
||||||
|
$color_palette.green
|
||||||
|
} else if $in < 1day {
|
||||||
|
$color_palette.yellow
|
||||||
|
} else if $in < 3day {
|
||||||
|
$color_palette.peach
|
||||||
|
} else if $in < 1wk {
|
||||||
|
$color_palette.maroon
|
||||||
|
} else if $in > 1wk {
|
||||||
|
$color_palette.red
|
||||||
|
}
|
||||||
|
}
|
||||||
|
range: $color_palette.text
|
||||||
|
float: $color_palette.text
|
||||||
|
string: $color_palette.text
|
||||||
|
nothing: $color_palette.text
|
||||||
|
binary: $color_palette.text
|
||||||
|
'cell-path': $color_palette.text
|
||||||
|
row_index: { fg: $color_palette.mauve attr: "b" }
|
||||||
|
record: $color_palette.text
|
||||||
|
list: $color_palette.text
|
||||||
|
block: $color_palette.text
|
||||||
|
hints: $color_palette.overlay1
|
||||||
|
search_result: { fg: $color_palette.red bg: $color_palette.text }
|
||||||
|
|
||||||
|
shape_and: { fg: $color_palette.pink attr: "b" }
|
||||||
|
shape_binary: { fg: $color_palette.pink attr: "b" }
|
||||||
|
shape_block: { fg: $color_palette.blue attr: "b" }
|
||||||
|
shape_bool: $color_palette.teal
|
||||||
|
shape_custom: $color_palette.green
|
||||||
|
shape_datetime: { fg: $color_palette.teal attr: "b" }
|
||||||
|
shape_directory: $color_palette.teal
|
||||||
|
shape_external: $color_palette.teal
|
||||||
|
shape_externalarg: { fg: $color_palette.green attr: "b" }
|
||||||
|
shape_filepath: $color_palette.teal
|
||||||
|
shape_flag: { fg: $color_palette.blue attr: "b" }
|
||||||
|
shape_float: { fg: $color_palette.pink attr: "b" }
|
||||||
|
shape_garbage: { fg: $color_palette.text bg: $color_palette.red attr: "b" }
|
||||||
|
shape_globpattern: { fg: $color_palette.teal attr: "b" }
|
||||||
|
shape_int: { fg: $color_palette.pink attr: "b" }
|
||||||
|
shape_internalcall: { fg: $color_palette.teal attr: "b" }
|
||||||
|
shape_list: { fg: $color_palette.teal attr: "b" }
|
||||||
|
shape_literal: $color_palette.blue
|
||||||
|
shape_match_pattern: $color_palette.green
|
||||||
|
shape_matching_brackets: { attr: "u" }
|
||||||
|
shape_nothing: $color_palette.teal
|
||||||
|
shape_operator: $color_palette.peach
|
||||||
|
shape_or: { fg: $color_palette.pink attr: "b" }
|
||||||
|
shape_pipe: { fg: $color_palette.pink attr: "b" }
|
||||||
|
shape_range: { fg: $color_palette.peach attr: "b" }
|
||||||
|
shape_record: { fg: $color_palette.teal attr: "b" }
|
||||||
|
shape_redirection: { fg: $color_palette.pink attr: "b" }
|
||||||
|
shape_signature: { fg: $color_palette.green attr: "b" }
|
||||||
|
shape_string: $color_palette.green
|
||||||
|
shape_string_interpolation: { fg: $color_palette.teal attr: "b" }
|
||||||
|
shape_table: { fg: $color_palette.blue attr: "b" }
|
||||||
|
shape_variable: $color_palette.pink
|
||||||
|
|
||||||
|
background: $color_palette.base
|
||||||
|
foreground: $color_palette.text
|
||||||
|
cursor: $color_palette.blue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update the Nushell configuration
|
||||||
|
export def --env "set color_config" [] {
|
||||||
|
$env.config.color_config = (main)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update terminal colors
|
||||||
|
export def "update terminal" [] {
|
||||||
|
let theme = (main)
|
||||||
|
|
||||||
|
# Set terminal colors
|
||||||
|
let osc_screen_foreground_color = '10;'
|
||||||
|
let osc_screen_background_color = '11;'
|
||||||
|
let osc_cursor_color = '12;'
|
||||||
|
|
||||||
|
$"
|
||||||
|
(ansi -o $osc_screen_foreground_color)($theme.foreground)(char bel)
|
||||||
|
(ansi -o $osc_screen_background_color)($theme.background)(char bel)
|
||||||
|
(ansi -o $osc_cursor_color)($theme.cursor)(char bel)
|
||||||
|
"
|
||||||
|
# Line breaks above are just for source readability
|
||||||
|
# but create extra whitespace when activating. Collapse
|
||||||
|
# to one line and print with no-newline
|
||||||
|
| str replace --all "\n" ''
|
||||||
|
| print -n $"($in)\r"
|
||||||
|
}
|
||||||
|
|
||||||
|
export module activate {
|
||||||
|
export-env {
|
||||||
|
set color_config
|
||||||
|
update terminal
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Activate the theme when sourced
|
||||||
|
use activate
|
Loading…
Add table
Add a link
Reference in a new issue