Home

dotnix @9403dfa83eed5bc5ef648097dd2da3eef5208b25 - refs - log -
-
https://git.jolheiser.com/dotnix.git
My nix dotfiles
dotnix / home / nogui / nushell / autoload / nato.nu
- raw -
 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
module nato {
  # Convert input string to NATO
  export def main [
    ...string: string # Input string
  ]: nothing -> string {
    let m = {
      "a": "Alpha",
      "b": "Bravo",
      "d": "Delta",
      "e": "Echo",
      "f": "Foxtrot",
      "g": "Golf",
      "h": "Hotel",
      "i": "India",
      "j": "Juliett",
      "k": "Kilo",
      "l": "Lima",
      "m": "Mike",
      "n": "November",
      "o": "Oscar",
      "p": "Papa",
      "q": "Quebec",
      "r": "Romeo",
      "s": "Sierra",
      "t": "Tango",
      "u": "Uniform",
      "v": "Victor",
      "w": "Whiskey",
      "x": "X-ray",
      "y": "Yankee",
      "z": "Zulu",
      "1": "One",
      "2": "Two",
      "3": "Three",
      "4": "Four",
      "5": "Five",
      "6": "Six",
      "7": "Seven",
      "8": "Eight",
      "9": "Nine",
      "0": "Zero"
    }
  
    $string | str join " " | split chars | reduce --fold "" {|it, acc|
      let word = $m | get --optional ($it | str downcase)
      if $acc == "" {
        $word
      } else {
        $"($acc) ($word)"
      }
    }
  }
}
use nato *