Signal drop!
Relay (operand.online) is unreachable.
Usually, a dropped signal means an upgrade is happening. Hold on!
Sorry, no connección.
Hang in there while we get back on track
gram:build
> ./config/nushell/session.nu
Lenses
(coming soon!)
# session manager: [zellij](https://zellij.dev)
def "sessions" [] { zellij list-sessions | columnar | reject column1 | rename name age bind }
def recess [] { session end; sessions; }
def "session end" [] { zellij da }
def "session choose" [] {
((ls ~/.config/zellij/session/ | get name) ++ (sessions | get name)) |
each {|l| basename $l '.kdl' } |
uniq | str join "\n" | fzf }
def "session running" []: nothing -> bool {
$env | items {|k,s| $k} | any {|k| $k == ZELLIJ } }
def "session name" [name?:string]: nothing -> string {
if ($name != null) { $name } else { basename $env.PWD | tr . _ } | str trim }
def "session has" [name?:string]: nothing -> bool {
(session name $name) in (sessions).name }
def "session hop" [name?:string] {
let name = if ($name == null) { session choose } else { $name }
if (session has $name) {
zellij attach $name
} else {
let schema = if ($"~/.config/zellij/session/($name).kdl" | path expand | path exists) {
[ -l $name ] } else {[]}
zellij ...($schema) -s $name
} }
def "session record" [name?:string] {
let name = if ($name == null) { session choose } else { $name }
asciinema rec --command $"nu -e 'session hop ($name)'" $"($env.HOME)/rec/session.run.($name).(clock | str trim).rec"
}
def "session play" [] { asciinema play (ls ~/rec/ | sort-by modified | last).name; }
def hop [name?:string] { session hop $name }