[31m-- aish is another attempt of A. i. written with Ada.[m
[31m-- Aish is Copyright (C) 2024 Manuel De Girardi ; [m
[31m--[m
[31m--   This program is free software; you can redistribute it and/or modify[m
[31m--   it under the terms of the GNU General Public License as published by[m
[31m--   the Free Software Foundation; either version 2 of the License, or[m
[31m--   (at your option) any later version.[m
[31m--[m
[31m--   This program is distributed in the hope that it will be useful,[m
[31m--   but WITHOUT ANY WARRANTY; without even the implied warranty of[m
[31m--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the[m
[31m--   GNU General Public License for more details.[m
[31m--[m
[31m--   You should have received a copy of the GNU General Public License[m
[31m--   along with this program; if not, write to the Free Software[m
[31m--   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA[m
[31m--[m
[31m-- Date := "2024-04-29 20:25:34"[m
[31m-- Version := "1.1.0r"[m
[01;34mpackage[m Ai[31m.[mOptions [01;34mis[m
   [01;34mtype[m [01;30mOption_Tagged_Type[m [31m([mRequiered_Parameter [31m:[m [32mBoolean[m[31m)[m [01;34mis[m [01;34mtagged[m
     [31m-- Option type is tagged ; with Requiered_Parameters is Boolean ;[m
      [01;34mrecord[m
	 
	 Is_Setted    [31m:[m [32mBoolean[m            [31m:=[m False[31m;[m
	 [31m-- True if occure on Command line ; Default False ;[m
	 
	 Optionals_Flags [31m:[m Flag_Enum [31m:=[m None[31m;[m
	 [31m-- Flag of Option occurence ; Default Nul_Option ;[m
	 
	 [01;34mcase[m Requiered_Parameter [01;34mis[m
	    [31m-- case Requiered_Parameter is[m
	    [01;34mwhen[m False [31m=>[m	       
	    [31m-- when False =>[m
	       
	       [01;34mnull[m[31m;[m
	       
	       [31m--null ;[m
	       
	    [01;34mwhen[m True [31m=>[m
	       [31m-- when True =>[m
	       Value [31m:[m [01;34maccess[m [32mWide_String[m[31m;[m
	      
	      [31m-- Value is image of parameter.[m
	      
	 [01;34mend[m [01;34mcase[m[31m;[m
	 
      [01;34mend[m [01;34mrecord[m[31m;[m
   
   
   [01;34mtype[m Options_Kit [01;34mis[m 
     [31m-- Option_Kit is array ;[m
     [01;34marray[m [31m([mFlag_Enum[31m)[m 
     [31m-- range Options_Flags_Enum_Type enumeration[m
     [01;34mof[m [01;34maccess[m Option_Tagged_Type[31m;[m
   [31m-- of access to Option_Type ;[m
   
   
   Full_Line_Options_Kit [31m:[m [01;34mconstant[m Options_Kit [31m:=[m
     [31m-- Full_Options_Kit is constant Options_Kit_Array_Type     [m
     [31m([m
      [31m-- where[m
      None [31m=>[m 
     	[31m-- Nul_Option is[m
     	[01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m),[m
      [31m-- Default_Nul_Option ; defined line "37" ;[m
      
      Config_Filename [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Help [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m),[m
      
      Version [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m),[m
      Term_name  [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m      
      Initialize [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Add [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Remove [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Total [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m)[m
      
     [31m);[m     
   
   Full_File_Options_Kit [31m:[m [01;34mconstant[m Options_Kit [31m:=[m
     [31m-- Full_Options_Kit is constant Options_Kit_Array_Type     [m
     [31m([m
      [31m-- where[m
      None [31m=>[m 
     	[31m-- Nul_Option is[m
     	[01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m),[m
      [31m-- Default_Nul_Option ; defined line "37" ;[m
      
      Config_Filename [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Help [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m),[m
      
      Version [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m),[m
      Term_name  [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Initialize [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Add [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Remove [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mTrue[31m),[m
      Total [31m=>[m [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m)[m
      		
     [31m);[m     
   
   Default_Nul_Option [31m:[m [01;34mconstant[m [01;34maccess[m Option_Tagged_Type [31m:=[m
       [31m-- Default_Nul_Option is constant access to[m
     [01;34mnew[m [01;30mOption_Tagged_Type[m [31m([mFalse[31m);[m     
   [31m-- new Option_Tagged_Type(False);   [m
   
   [01;34mfunction[m Get_Options_From_Command_Line
     [31m-- To get Options_Kit_array_Type from argument in command_line ;[m
     
     [01;34mreturn[m Options_Kit[31m;[m
   [31m-- return Options_Kit_Array_Type;  [m
   
   
   [01;34mfunction[m Get_Options_From_File
     [31m([mFilename [31m:[m [01;34min[m [32mWide_String[m[31m)[m
     [31m-- To get Options_Kit_array_Type from argument in file ;[m
     
     [01;34mreturn[m Options_Kit[31m;[m
   [31m-- return Options_Kit_Array_Type;  [m

[01;34mend[m Ai[31m.[mOptions [31m;[m 
