diff options
| author | m4siri <git@m4siri.com> | 2025-11-30 20:47:11 +0545 |
|---|---|---|
| committer | m4siri <git@m4siri.com> | 2025-11-30 20:50:52 +0545 |
| commit | a5e3b1140ec34399e172e0405eb99f323e275a24 (patch) | |
| tree | d3b436ed072a86e53d3fae7a2ebdf35a7337f19f /init.nu | |
lc starting today - 2025-11-30
Diffstat (limited to 'init.nu')
| -rwxr-xr-x | init.nu | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -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 + } + +} |
