- rename `default` to `power`($env.NU_POWER_MODE, avoid misleading)
- apply `ansi -e {fg: $arg}` to theme configuration of `register` and `inject`(consistent with how it is configured in NU_POWER_SCHEMA)
- added atuin_stat

Co-authored-by: agent <agent@nuc>
This commit is contained in:
fj0r 2023-04-28 19:54:40 +08:00 committed by GitHub
parent 724f89c330
commit 17103049f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 32 additions and 11 deletions

View File

@ -5,7 +5,7 @@ use power.nu
power inject 0 1 {source: git, color: '#504945'}
use power_kube.nu
power inject 1 2 {source: kube, color: '#504945'} {
context: (ansi magenta)
context: purple
}
power init
```
@ -32,7 +32,7 @@ power init
`$env.NU_POWER_SCHEMA` support configuring dynamically
## mode
- `let-env NU_POWER_MODE = '<default|fast>'` fast mode and default mode (experimental)
- `let-env NU_POWER_MODE = '<power|fast>'` fast mode and default mode (experimental)
- `let-env NU_POWER_DECORATOR = '<power|plain>'` power mode and plain mode
- `let-env NU_POWER_FRAME = '<default|fill>'` two line prompt (experimental)

View File

@ -324,7 +324,7 @@ export def-env init [] {
match $env.NU_POWER_FRAME {
'default' => {
match $env.NU_POWER_MODE {
'default' => {
'power' => {
let-env PROMPT_COMMAND = (wraptime
'power dynamic left'
(left_prompt $env.NU_POWER_SCHEMA.0)
@ -385,7 +385,12 @@ export def-env register [name source theme] {
$env.NU_PROMPT_COMPONENTS | upsert $name {|| $source }
)
let-env NU_POWER_THEME = (
$env.NU_POWER_THEME | upsert $name $theme
$env.NU_POWER_THEME
| upsert $name ($theme
| transpose k v
| reduce -f {} {|it, acc|
$acc | insert $it.k (ansi -e {fg: $it.v})
})
)
}
@ -415,7 +420,7 @@ export def-env inject [pos idx define theme?] {
if $n.k in $prev_cols {
let-env NU_POWER_THEME = (
$env.NU_POWER_THEME | update $kind {|conf|
$conf | get $kind | update $n.k $n.v
$conf | get $kind | update $n.k (ansi -e {fg: $n.v})
}
)
}
@ -446,7 +451,7 @@ export-env {
let-env NU_POWER_MODE = (default_env
NU_POWER_MODE
'fast' # default | fast
'fast' # power | fast
)
let-env NU_POWER_SCHEMA = (default_env

View File

@ -147,7 +147,7 @@ export-env {
)
power register git (git_stat) {
default : (ansi blue)
no_upstream: (ansi red)
default : blue
no_upstream: red
}
}

View File

@ -28,8 +28,8 @@ def kube_stat [] {
export-env {
power register kube (kube_stat) {
context: (ansi red)
separator: (ansi yellow)
namespace: (ansi cyan_bold)
context: red
separator: yellow
namespace: cyan_bold
}
}

View File

@ -0,0 +1,16 @@
export def atuin_stat [] {
{||
let theme = $env.NU_POWER_THEME.atuin
if not ($env.ATUIN_SESSION? | is-empty) {
$theme.on
} else {
$nothing
}
}
}
export-env {
power register atuin (atuin_stat) {
on: white
}
}