blob: 70399475cff26810f9ff46b6799939f81d39dc71 (
plain)
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
|
#! /usr/bin/env nu
def main [ name: string idx?: int ] {
let name = $name | str kebab-case | str downcase
let idx = if ($idx | is-empty) {
(
glob "*_*"
| each {|l| $l | split row '/' | last | split row '_' | first | into int }
| sort
| last
| $in + 1
| (if $in < 10 { $"0($in)" } else { $in } )
)
} else { $idx }
let problem_name = $"($idx)_($name)"
let existing = glob * | where $it =~ $name
let tmp_dir = $"/tmp/($problem_name)"
if ($existing | is-not-empty) {
let ans = input $"Override existing '($existing)'? \(y/n\): "
match $ans {
'y' | 'Y' | 'yes' => { mv $problem_name $tmp_dir },
_ => return
}
}
cargo new $problem_name --name $name --vcs none
if $env.LAST_EXIT_CODE == 0 {
if ($existing | is-not-empty) {
rm -r $tmp_dir
}
} else {
mv $tmp_dir $problem_name
}
}
|