set_mode(3f) - [ARGUMENTS:M_CLI2] turn on optional modes (LICENSE:PD)
Synopsis
Description
Options
Example
Author
License
subroutine set_mode(key,mode)
character(len=*),intent(in) :: key logical,intent(in),optional :: mode
Allow optional behaviors.
KEY name of option The following values are allowed:
o response_file - enable use of response file o ignorecase - ignore case in long key names. So the user does not have to remember if the option is --IgnoreCase or --ignorecase or --ignoreCase o underdash - treat dash in keyword as an underscore. So the user should not have to remember if the option is --ignore_case or --ignore-case. o strict - allow Boolean keys to be bundled, but requires a single dash prefix be used for short key names and long names must be prefixed with two dashes. o lastonly - when multiple keywords occur keep the rightmost value specified instead of appending the values together. MODE set to .true. to activate the optional mode. Set to .false. to deactivate the mode. It is .true. by default.
Sample program:
program demo_set_mode use M_CLI2, only : set_args, lget, set_mode implicit none character(len=*),parameter :: all=(*(g0)) ! ! enable use of response files call set_mode(response_file) ! ! Any dash in a keyword is treated as an underscore call set_mode(underdash) ! ! The case of long keywords are ignored. ! Values and short names remain case-sensitive call set_mode(ignorecase) ! ! short single-character boolean keys may be bundled ! but it is required that a single dash is used for ! short keys and a double dash for long keywords. call set_mode(strict) ! call set_args( --switch_X:X F --switch-Y:Y F --ox:O F -t F -x F -o F) ! print all,--switch_X or -X ... ,lget(switch_X) print all,--switch_Y or -Y ... ,lget(switch_Y) print all,--ox or -O ... ,lget(ox) print all,-o ... ,lget(o) print all,-x ... ,lget(x) print all,-t ... ,lget(t) end program demo_set_mode
John S. Urban, 2019
Public Domain
Nemo Release 3.1 | set_mode (3m_cli2) | February 10, 2023 |