Skip to content

Latest commit

 

History

History
338 lines (335 loc) · 32.9 KB

toc.md

File metadata and controls

338 lines (335 loc) · 32.9 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 invocation
      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. Invocation 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_ALLOW_POSITIONAL_DELIMITER_END
      11. ARGPARSER_ALLOW_POSITIONAL_DELIMITER_START
      12. ARGPARSER_ARG_ARRAY_NAME
      13. ARGPARSER_ARG_DEF_FILE
      14. ARGPARSER_ARG_DELIMITER_1
      15. ARGPARSER_ARG_DELIMITER_2
      16. ARGPARSER_ARGS
      17. ARGPARSER_CHECK_ARG_DEF
      18. ARGPARSER_CHECK_ENV_VARS
      19. ARGPARSER_CONFIG_FILE
      20. ARGPARSER_COUNT_FLAGS
      21. ARGPARSER_CREATE_ARG_DEF
      22. ARGPARSER_DEBUG
      23. ARGPARSER_ERROR_EXIT_CODE
      24. ARGPARSER_ERROR_STYLE
      25. ARGPARSER_FLAG_NEGATION_PREFIXES
      26. ARGPARSER_HELP_ARG_GROUP
      27. ARGPARSER_HELP_DESCRIPTION
      28. ARGPARSER_HELP_EXIT_CODE
      29. ARGPARSER_HELP_FILE
      30. ARGPARSER_HELP_FILE_INCLUDE_CHAR
      31. ARGPARSER_HELP_FILE_KEEP_COMMENTS
      32. ARGPARSER_HELP_OPTIONS
      33. ARGPARSER_HELP_STYLE
      34. ARGPARSER_LANGUAGE
      35. ARGPARSER_MAX_COL_WIDTH_1
      36. ARGPARSER_MAX_COL_WIDTH_2
      37. ARGPARSER_MAX_COL_WIDTH_3
      38. ARGPARSER_MAX_WIDTH
      39. ARGPARSER_POSITIONAL_ARG_GROUP
      40. ARGPARSER_READ_ARGS
      41. ARGPARSER_SCRIPT_NAME
      42. ARGPARSER_SET_ARGS
      43. ARGPARSER_SET_ARRAYS
      44. ARGPARSER_SILENCE_ERRORS
      45. ARGPARSER_SILENCE_WARNINGS
      46. ARGPARSER_STYLE_FILE
      47. ARGPARSER_TRANSLATION_FILE
      48. ARGPARSER_UNSET_ARGS
      49. ARGPARSER_UNSET_ENV_VARS
      50. ARGPARSER_UNSET_FUNCTIONS
      51. ARGPARSER_USAGE_EXIT_CODE
      52. ARGPARSER_USAGE_FILE
      53. ARGPARSER_USAGE_FILE_INCLUDE_CHAR
      54. ARGPARSER_USAGE_FILE_KEEP_COMMENTS
      55. ARGPARSER_USAGE_MESSAGE_OPTION_TYPE
      56. ARGPARSER_USAGE_MESSAGE_ORIENTATION
      57. ARGPARSER_USAGE_OPTIONS
      58. ARGPARSER_USAGE_STYLE
      59. ARGPARSER_USE_COLORS
      60. ARGPARSER_USE_LONG_OPTIONS
      61. ARGPARSER_USE_SHORT_OPTIONS
      62. ARGPARSER_USE_STYLES
      63. ARGPARSER_USE_STYLES_IN_FILES
      64. ARGPARSER_USE_UNICODE
      65. ARGPARSER_VERSION_EXIT_CODE
      66. ARGPARSER_VERSION_NUMBER
      67. ARGPARSER_VERSION_OPTIONS
      68. ARGPARSER_VERSION_STYLE
      69. ARGPARSER_WARNING_STYLE
      70. 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 option name empty
      39. Error env var option name duplication 1
      40. Error env var option name duplication 2
      41. Error env var option name duplication 3
      42. Error env var option name duplication 4
      43. Error env var short options
      44. Error env var long options
      45. Error env var files
      46. Error env var negation prefix empty
      47. Error arg array 1
      48. Error arg array 2
      49. Error arg array 3
      50. Error no arg def
      51. Error arg def id
      52. Error arg def file id
      53. Error arg def field count
      54. Error arg def file field count
      55. Error arg def choice range hyphens
      56. Error arg def choice range
      57. Error arg def short name empty
      58. Error arg def short name help
      59. Error arg def short name usage
      60. Error arg def short name version
      61. Error arg def short name length
      62. Error arg def short name duplication 1
      63. Error arg def short name duplication 2
      64. Error arg def long name empty
      65. Error arg def long name help
      66. Error arg def long name usage
      67. Error arg def long name version
      68. Error arg def long name length
      69. Error arg def long name duplication 1
      70. Error arg def long name duplication 2
      71. Error arg def pos default flag
      72. Error arg def pos default 1
      73. Error arg def pos default 2
      74. Error arg def pos choice true
      75. Error arg def pos choice default
      76. Error arg def pos optionals
      77. Error arg def pos optional infinite
      78. Error arg def pos flag
      79. Error arg def pos infinites
      80. Error arg def pos infinite optional 1
      81. Error arg def pos infinite optional 2
      82. Error arg def pos type
      83. Error arg def pos bool
      84. Error arg def pos char
      85. Error arg def pos float
      86. Error arg def pos int
      87. Error arg def pos uint
      88. Error arg def pos note
      89. Error arg def option default flag
      90. Error arg def option default 1
      91. Error arg def option default 2
      92. Error arg def option choice flag
      93. Error arg def option choice true
      94. Error arg def option choice default
      95. Error arg def option type
      96. Error arg def option bool
      97. Error arg def option char
      98. Error arg def option float
      99. Error arg def option int
      100. Error arg def option uint
      101. Error arg def option note
      102. Error arg double hyphen
      103. Error arg double plus
      104. Error arg inversion
      105. Error arg unknown
      106. Error long option match
      107. Error long option negation
      108. Error long option unknown
      109. Error short option merge
      110. Error short option unknown
      111. Error pos arg count 1
      112. Error pos arg count 2
      113. Error pos arg count 3
      114. Error arg no flag 1
      115. Error arg no flag 2
      116. Error arg no flag 3
      117. Error mandatory arg
      118. Error wrong arg number 1
      119. Error wrong arg number 2
      120. Error wrong arg number 3
      121. Error wrong arg number 4
      122. Error arg choice
      123. Error arg bool
      124. Error arg char
      125. Error arg float
      126. Error arg int
      127. Error arg uint
      128. Error YAML
      129. Error style file equals sign
      130. Error style file frame styles
      131. Error style file text styles
      132. Error include directive
      133. Warning no identifier
      134. Warning no translation
      135. Warning style file message key
      136. Warning deprecation
      137. Warning wrong arg number 1
      138. Warning wrong arg number 2
      139. Warning wrong arg number 3
      140. Warning wrong arg number 4

🡄 Shell Argparser           1. Features 🡆