Skip to content

Latest commit

 

History

History
330 lines (327 loc) · 31.8 KB

File metadata and controls

330 lines (327 loc) · 31.8 KB

Table of contents

  1. Features
  2. Installation
  3. Dependencies
  4. License
  5. Tutorial
    1. Argument passing
      1. Positional and keyword arguments
      2. Special options
      3. Option name aliases and modifications
      4. Argument value delimiters and intermixing
      5. Flags
    2. Argparser invokation
      1. Argparser sourcing
      2. Arguments definition and retrieval
    3. Argparser configuration
      1. Configuration file
      2. Command-line options
      3. Option inheritance
    4. Arguments definition files
    5. Help and usage messages
      1. Help messages
      2. Usage messages
    6. Help and usage message files
    7. Help and usage message localization
    8. Version messages
    9. Error and warning messages
    10. Message styles
    11. Standalone usage
      1. Argparser introspection
      2. Invokation from other shells
  6. Comparison of command-line parsers
    1. Feature comparison
    2. Example scripts
      1. getopts
      2. getopt
      3. shFlags
      4. docopts
      5. Argparser
    3. Runtime comparison
    4. Code length comparison
    5. Summary
  7. Roadmap
    1. Release and versioning policy
    2. Release notes
      1. v1.3.2 "Dasyprocta fuliginosa"
      2. v1.3.1 "Dasyprocta coibae"
      3. v1.3.0 "Dasyprocta azarae"
      4. v1.2.1 "Callospermophilus madrensis"
      5. v1.2.0 "Callospermophilus lateralis"
      6. v1.1.2 "Biswamoyopterus laoensis"
      7. v1.1.1 "Biswamoyopterus gaoligongensis"
      8. v1.1.0 "Biswamoyopterus biswasi"
      9. v1.0.1 "Acomys cahirinus"
      10. v1.0.0 "Acomys airensis"
    3. Future enhancements
      1. Argument relations
      2. Environment variables and configuration files
      3. Single-hyphen long options
      4. Usage message include directives
      5. License note
      6. Programmable argument completion
      7. POSIX compliance
      8. Alternative option prefixes (+//)
    4. Known bugs
    5. Deprecations and removals
  8. Contribution guide
    1. General advice
      1. Language
      2. Commit messages
    2. Code
      1. Adding functionality
      2. Coding style
      3. ShellCheck
    3. Documentation
      1. Files
      2. Documentation style
    4. Translations
  9. Reference
    1. Arguments definition
      1. Argument ID (id)
      2. Short option names (short_opts)
      3. Long option names (long_opts)
      4. Value names (val_names)
      5. Default values (defaults)
      6. Choice values (choices)
      7. Data type (type)
      8. Argument count (arg_no)
      9. Argument group (arg_group)
      10. Notes (notes)
      11. Help text (help)
    2. Colors and styles
    3. Include directives
      1. @All directive
      2. @<ArgumentGroup> directive
      3. @Description directive
      4. @Header directive
      5. @Help directive
      6. @Remark directive
      7. @Usage directive
    4. Environment variables
      1. Overview
      2. ARGPARSER_ADD_HELP
      3. ARGPARSER_ADD_USAGE
      4. ARGPARSER_ADD_VERSION
      5. ARGPARSER_ALLOW_ARG_INTERMIXING
      6. ARGPARSER_ALLOW_FLAG_INVERSION
      7. ARGPARSER_ALLOW_FLAG_NEGATION
      8. ARGPARSER_ALLOW_OPTION_ABBREVIATION
      9. ARGPARSER_ALLOW_OPTION_MERGING
      10. ARGPARSER_ARG_ARRAY_NAME
      11. ARGPARSER_ARG_DEF_FILE
      12. ARGPARSER_ARG_DELIMITER_1
      13. ARGPARSER_ARG_DELIMITER_2
      14. ARGPARSER_ARGS
      15. ARGPARSER_CHECK_ARG_DEF
      16. ARGPARSER_CHECK_ENV_VARS
      17. ARGPARSER_CONFIG_FILE
      18. ARGPARSER_COUNT_FLAGS
      19. ARGPARSER_CREATE_ARG_DEF
      20. ARGPARSER_DEBUG
      21. ARGPARSER_ERROR_EXIT_CODE
      22. ARGPARSER_ERROR_STYLE
      23. ARGPARSER_HELP_ARG_GROUP
      24. ARGPARSER_HELP_DESCRIPTION
      25. ARGPARSER_HELP_EXIT_CODE
      26. ARGPARSER_HELP_FILE
      27. ARGPARSER_HELP_FILE_INCLUDE_CHAR
      28. ARGPARSER_HELP_FILE_KEEP_COMMENTS
      29. ARGPARSER_HELP_OPTIONS
      30. ARGPARSER_HELP_STYLE
      31. ARGPARSER_LANGUAGE
      32. ARGPARSER_MAX_COL_WIDTH_1
      33. ARGPARSER_MAX_COL_WIDTH_2
      34. ARGPARSER_MAX_COL_WIDTH_3
      35. ARGPARSER_MAX_WIDTH
      36. ARGPARSER_POSITIONAL_ARG_GROUP
      37. ARGPARSER_READ_ARGS
      38. ARGPARSER_SCRIPT_NAME
      39. ARGPARSER_SET_ARGS
      40. ARGPARSER_SET_ARRAYS
      41. ARGPARSER_SILENCE_ERRORS
      42. ARGPARSER_SILENCE_WARNINGS
      43. ARGPARSER_STYLE_FILE
      44. ARGPARSER_TRANSLATION_FILE
      45. ARGPARSER_UNSET_ARGS
      46. ARGPARSER_UNSET_ENV_VARS
      47. ARGPARSER_UNSET_FUNCTIONS
      48. ARGPARSER_USAGE_EXIT_CODE
      49. ARGPARSER_USAGE_FILE
      50. ARGPARSER_USAGE_FILE_INCLUDE_CHAR
      51. ARGPARSER_USAGE_FILE_KEEP_COMMENTS
      52. ARGPARSER_USAGE_MESSAGE_OPTION_TYPE
      53. ARGPARSER_USAGE_MESSAGE_ORIENTATION
      54. ARGPARSER_USAGE_OPTIONS
      55. ARGPARSER_USAGE_STYLE
      56. ARGPARSER_USE_LONG_OPTIONS
      57. ARGPARSER_USE_SHORT_OPTIONS
      58. ARGPARSER_USE_STYLES
      59. ARGPARSER_USE_STYLES_IN_FILES
      60. ARGPARSER_VERSION_EXIT_CODE
      61. ARGPARSER_VERSION_NUMBER
      62. ARGPARSER_VERSION_OPTIONS
      63. ARGPARSER_VERSION_STYLE
      64. ARGPARSER_WARNING_STYLE
      65. ARGPARSER_WRITE_ARGS
    5. Translations
      1. Positional arguments
      2. Help options
      3. Help description
      4. Error
      5. Errors
      6. Warning
      7. Warnings
      8. Usage
      9. Arguments
      10. Options
      11. Mandatory arguments
      12. Deprecated
      13. Default
      14. --help
      15. --usage
      16. --version
      17. false
      18. true
      19. Error env var bool
      20. Error env var char
      21. Error env var identifier
      22. Error env var int
      23. Error env var uint
      24. Error env var file 0001
      25. Error env var file 0010
      26. Error env var file 0011
      27. Error env var file 0100
      28. Error env var file 0101
      29. Error env var file 0110
      30. Error env var file 0111
      31. Error env var file 1111
      32. Error env var delimiters reserved
      33. Error env var styles
      34. Error env var style usage
      35. Error env var option type
      36. Error env var orientation
      37. Error env var delimiters identical
      38. Error env var short name empty
      39. Error env var short name length
      40. Error env var short name duplication 1
      41. Error env var short name duplication 2
      42. Error env var short options
      43. Error env var long options
      44. Error env var files
      45. Error arg array 1
      46. Error arg array 2
      47. Error arg array 3
      48. Error no arg def
      49. Error arg def id
      50. Error arg def file id
      51. Error arg def field count
      52. Error arg def file field count
      53. Error arg def choice range hyphens
      54. Error arg def choice range
      55. Error arg def short name empty
      56. Error arg def short name help
      57. Error arg def short name usage
      58. Error arg def short name version
      59. Error arg def short name length
      60. Error arg def short name duplication 1
      61. Error arg def short name duplication 2
      62. Error arg def long name empty
      63. Error arg def long name help
      64. Error arg def long name usage
      65. Error arg def long name version
      66. Error arg def long name length
      67. Error arg def long name duplication 1
      68. Error arg def long name duplication 2
      69. Error arg def pos default flag
      70. Error arg def pos default 1
      71. Error arg def pos default 2
      72. Error arg def pos choice true
      73. Error arg def pos choice default
      74. Error arg def pos optionals
      75. Error arg def pos optional infinite
      76. Error arg def pos flag
      77. Error arg def pos infinites
      78. Error arg def pos infinite optional 1
      79. Error arg def pos infinite optional 2
      80. Error arg def pos type
      81. Error arg def pos bool
      82. Error arg def pos char
      83. Error arg def pos float
      84. Error arg def pos int
      85. Error arg def pos uint
      86. Error arg def pos note
      87. Error arg def option default flag
      88. Error arg def option default 1
      89. Error arg def option default 2
      90. Error arg def option choice flag
      91. Error arg def option choice true
      92. Error arg def option choice default
      93. Error arg def option type
      94. Error arg def option bool
      95. Error arg def option char
      96. Error arg def option float
      97. Error arg def option int
      98. Error arg def option uint
      99. Error arg def option note
      100. Error arg double hyphen
      101. Error arg double plus
      102. Error arg inversion
      103. Error arg unknown
      104. Error long option match
      105. Error long option negation
      106. Error long option unknown
      107. Error short option merge
      108. Error short option unknown
      109. Error pos arg count 1
      110. Error pos arg count 2
      111. Error arg no flag 1
      112. Error arg no flag 2
      113. Error arg no flag 3
      114. Error mandatory arg
      115. Error wrong arg number 1
      116. Error wrong arg number 2
      117. Error wrong arg number 3
      118. Error wrong arg number 4
      119. Error arg choice
      120. Error arg bool
      121. Error arg char
      122. Error arg float
      123. Error arg int
      124. Error arg uint
      125. Error YAML
      126. Error style file equals sign
      127. Error style file frame styles
      128. Error style file text styles
      129. Error include directive
      130. Warning no identifier
      131. Warning no translation
      132. Warning style file message key
      133. Warning deprecation
      134. Warning wrong arg number 1
      135. Warning wrong arg number 2
      136. Warning wrong arg number 3
      137. Warning wrong arg number 4

🡄 Shell Argparser           1. Features 🡆