Package: Ada.Command_Line.Remove

Description

For example, if the original command line has three arguments A B C, so that Argument_Count is initially three, then after removing B, the second argument, Argument_Count will be 2, and Argument (2) will return C.

Header

package Ada.Command_Line.Remove is
 
pragma Preelaborate (Remove);

Other Items:

procedure Remove_Argument (Number : in Positive);
Removes the argument identified by Number, which must be in the range 1 .. Argument_Count (i.e. an in range argument number which reflects removals). If Number is out of range Constraint_Error will be raised.

Note: the numbering of arguments greater than Number is affected by the call. If you need a loop through the arguments, removing some as you go, run the loop in reverse to avoid confusion from this renumbering:

for J in reverse 1 .. Argument_Count loop if Should_Remove (Arguments (J)) then Remove_Argument (J); end if; end loop;

Reversing the loop in this manner avoids the confusion.


procedure Remove_Arguments (From : Positive; To : Natural);
Removes arguments in the given From..To range. From must be in the range 1 .. Argument_Count and To in the range 0 .. Argument_Count. Constraint_Error is raised if either argument is out of range. If To is less than From, then the call has no effect.

procedure Remove_Argument (Argument : String);
Removes the argument which matches the given string Argument. Has no effect if no argument matches the string. If more than one argument matches the string, all are removed.

procedure Remove_Arguments (Argument_Prefix : String);
Removes all arguments whose prefix matches Argument_Prefix. Has no effect if no argument matches the string. For example a call to Remove_Arguments ("--") removes all arguments starting with --.
end Ada.Command_Line.Remove;