summaryrefslogtreecommitdiff
path: root/init.nu
diff options
context:
space:
mode:
authorm4siri <git@m4siri.com>2025-11-30 20:47:11 +0545
committerm4siri <git@m4siri.com>2025-11-30 20:50:52 +0545
commita5e3b1140ec34399e172e0405eb99f323e275a24 (patch)
treed3b436ed072a86e53d3fae7a2ebdf35a7337f19f /init.nu
lc starting today - 2025-11-30
Diffstat (limited to 'init.nu')
-rwxr-xr-xinit.nu39
1 files changed, 39 insertions, 0 deletions
diff --git a/init.nu b/init.nu
new file mode 100755
index 0000000..def503f
--- /dev/null
+++ b/init.nu
@@ -0,0 +1,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 "*_*"
+ | split row '/'
+ | get (($in | length) - 1)
+ | split row '_'
+ | get 0
+ | into int
+ | $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 {
+ rm -r $tmp_dir
+ } else {
+ mv $tmp_dir $problem_name
+ }
+
+}