1 -- sarge_test.adb - Implementation file for the Sarge command line argument parser test.
11 -- 2019/04/10, Maya Posch
17 with Ada.Strings.Unbounded;
18 use Ada.Strings.Unbounded;
19 with Ada.Strings.Unbounded.Text_IO;
20 use Ada.Strings.Unbounded.Text_IO;
23 procedure Sarge_Test is
25 function "+"(S : in String) return Unbounded_String renames Ada.Strings.Unbounded.To_Unbounded_String;
27 kittens: Unbounded_String;
28 number: Unbounded_String;
31 -- Create Sarge instance, set stuff, parse stuff.
32 Sarge.setArgument(+"h", +"help", +"Get help.", False);
33 Sarge.setArgument(+"k", +"kittens", +"K is for kittens. Everyone needs kittens in their life.", True);
34 Sarge.setArgument(+"n", +"number", +"Gimme a number. Any number.", True);
35 Sarge.setArgument(+"a", +"apple", +"Just an apple.", False);
36 Sarge.setArgument(+"b", +"bear", +"Look, it's a bear.", False);
37 Sarge.setDescription(+"Sarge command line argument parsing testing app. For demonstration purposes and testing.");
38 Sarge.setUsage(+"sarge_test <options>");
40 if Sarge.parseArguments /= True then
41 put_line("Couldn't parse arguments...");
45 put_line("Number of flags found: " & Sarge.flagCount'Image);
47 if Sarge.exists(+"help") /= False then
50 put_line("No help requested...");
53 -- Read out Kittens and Number.
54 if Sarge.getFlag(+"kittens", kittens) = True then
55 put_line("Got kittens: " & kittens);
58 if Sarge.getFlag(+"number", number) = True then
59 put_line("Got number: " & number);