-
Notifications
You must be signed in to change notification settings - Fork 0
/
u.nu
59 lines (53 loc) · 1.16 KB
/
u.nu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# u.nu / utils.nu
# Should be imported before use.
# Load Rime user dir configuration from local file.
export-env {
load-env (
open -r rime_user_dir | str trim | {
RIME_USER_DIR: ($in | path expand)
}
)
}
export def main [] {
# default function.
}
# Git add, commit.
export def gacp [
--message (-m): string
] {
git diff
input -s "Press enter to continue, C-c to interrupt"
git add .
match ($message | describe) {
'string' => {git commit -m $message}
_ => {git commit}
}
git push
}
export alias g = gacp
export def build [] {
}
export alias b = build
# move to Rime user dir.
export def move [
--keep-backup (-k)
] {
use std assert
let pwd = pwd
let file = 'toned_zhupin.schema.yaml'
assert ($file | path exists)
cd $env.RIME_USER_DIR
if not $keep_backup {
try {
# Without `-f`, `mv` won't overwrite. `cp` will.
mv -v $file ($file + '.bak')
} catch {
match (input "bak file exists. Overwrite? (y/N) ") {
'y' => {mv -vf $file ($file + '.bak')}
_ => {error make {msg: "Aborted due to existing bak file"}}
}
}
}
cp -v ($pwd | path join $file) .
}
export alias m = move