<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="generator" content="Asciidoctor 2.0.23"/>
<title>parse-options API</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"/>
<style>
/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment the following line when using as a custom stylesheet */
/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */
html{font-family:sans-serif;-webkit-text-size-adjust:100%}
a{background:none}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
b,strong{font-weight:bold}
abbr{font-size:.9em}
abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
dfn{font-style:italic}
hr{height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
audio,video{display:inline-block}
audio:not([controls]){display:none;height:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type=checkbox],input[type=radio]{padding:0}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
*,::before,::after{box-sizing:border-box}
html,body{font-size:100%}
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
a:hover{cursor:pointer}
img,object,embed{max-width:100%;height:auto}
object,embed{height:100%}
img{-ms-interpolation-mode:bicubic}
.left{float:left!important}
.right{float:right!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
.text-justify{text-align:justify!important}
.hide{display:none}
img,object,svg{display:inline-block;vertical-align:middle}
textarea{height:auto;min-height:50px}
select{width:100%}
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}
a{color:#2156a5;text-decoration:underline;line-height:inherit}
a:hover,a:focus{color:#1d4b8f}
a img{border:0}
p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
ul,ol{margin-left:1.5em}
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
ul.square{list-style-type:square}
ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
dl dt{margin-bottom:.3125em;font-weight:bold}
dl dd{margin-bottom:1.25em}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
h1{font-size:2.75em}
h2{font-size:2.3125em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
h4{font-size:1.4375em}}
table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
table thead,table tfoot{background:#f7f8f7}
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
table tr.even,table tr.alt{background:#f8f8f7}
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
.center{margin-left:auto;margin-right:auto}
.stretch{width:100%}
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
.clearfix::after,.float-group::after{clear:both}
:not(pre).nobreak{word-wrap:normal}
:not(pre).nowrap{white-space:nowrap}
:not(pre).pre-wrap{white-space:pre-wrap}
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
pre>code{display:block}
pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
em em{font-style:normal}
strong strong{font-weight:400}
.keyseq{color:rgba(51,51,51,.8)}
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
.keyseq kbd:first-child{margin-left:0}
.keyseq kbd:last-child{margin-right:0}
.menuseq,.menuref{color:#000}
.menuseq b:not(.caret),.menuref{font-weight:inherit}
.menuseq{word-spacing:-.02em}
.menuseq b.caret{font-size:1.25em;line-height:.8}
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
b.button::before{content:"[";padding:0 3px 0 2px}
b.button::after{content:"]";padding:0 2px 0 3px}
p a>code:hover{color:rgba(0,0,0,.9)}
#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
#content{margin-top:1.25em}
#content::before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
#header>h1:only-child{border-bottom:1px solid #dddddf;padding-bottom:8px}
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span::before{content:"\00a0\2013\00a0"}
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber::after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc li{line-height:1.3334;margin-top:.3334em}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#7a2518;font-size:1.2em}
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}
#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
#content #toc>:first-child{margin-top:0}
#content #toc>:last-child{margin-bottom:0}
#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
#content{margin-bottom:.625em}
.sect1{padding-bottom:.625em}
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
.sect1{padding-bottom:1.25em}}
.sect1:last-child{padding-bottom:0}
.sect1+.sect1{border-top:1px solid #e7e7e9}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
details{margin-left:1.25rem}
details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)}
details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
.admonitionblock>table td.icon{text-align:center;width:80px}
.admonitionblock>table td.icon img{max-width:none}
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
.listingblock>.content{position:relative}
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
.listingblock:hover code[data-lang]::before{display:block}
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
.listingblock pre.highlightjs{padding:0}
.listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
.listingblock pre.prettyprint{border-width:0}
.prettyprint{background:#f7f7f8}
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
pre.prettyprint li code[data-lang]::before{opacity:1}
pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
table.linenotable td.code{padding-left:.75em}
table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
pre.pygments span.linenos{display:inline-block;margin-right:.75em}
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
.quoteblock blockquote{margin:0;padding:0;border:0}
.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
.verseblock{margin:0 1em 1.25em}
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
.verseblock pre strong{font-weight:400}
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
.quoteblock .attribution br,.verseblock .attribution br{display:none}
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0}
.quoteblock.abstract{margin:0 1em 1.25em;display:block}
.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
p.tableblock:last-child{margin-bottom:0}
td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
table.grid-all>*>tr>*{border-width:1px}
table.grid-cols>*>tr>*{border-width:0 1px}
table.grid-rows>*>tr>*{border-width:1px 0}
table.frame-all{border-width:1px}
table.frame-ends{border-width:1px 0}
table.frame-sides{border-width:0 1px}
table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7}
th.halign-left,td.halign-left{text-align:left}
th.halign-right,td.halign-right{text-align:right}
th.halign-center,td.halign-center{text-align:center}
th.valign-top,td.valign-top{vertical-align:top}
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
th.valign-middle,td.valign-middle{vertical-align:middle}
table thead th,table tfoot th{font-weight:bold}
tbody tr th{background:#f7f8f7}
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
p.tableblock>code:only-child{background:none;padding:0}
p.tableblock{font-size:1em}
ol{margin-left:1.75em}
ul li ol{margin-left:1.5em}
dl dd{margin-left:1.125em}
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
ul.unstyled,ol.unstyled{margin-left:0}
li>p:empty:only-child::before{content:"";display:inline-block}
ul.checklist>li>p:first-child{margin-left:-1em}
ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
ul.inline>li{margin-left:1.25em}
.unstyled dl dt{font-weight:400;font-style:normal}
ol.arabic{list-style-type:decimal}
ol.decimal{list-style-type:decimal-leading-zero}
ol.loweralpha{list-style-type:lower-alpha}
ol.upperalpha{list-style-type:upper-alpha}
ol.lowerroman{list-style-type:lower-roman}
ol.upperroman{list-style-type:upper-roman}
ol.lowergreek{list-style-type:lower-greek}
.hdlist>table,.colist>table{border:0;background:none}
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
td.hdlist2{word-wrap:anywhere}
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
.colist td:not([class]):first-child img{max-width:none}
.colist td:not([class]):last-child{padding:.25em 0}
.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
.imageblock.left{margin:.25em .625em 1.25em 0}
.imageblock.right{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
sup.footnote a:active,sup.footnoteref a:active,#footnotes .footnote a:first-of-type:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
div.unbreakable{page-break-inside:avoid}
.big{font-size:larger}
.small{font-size:smaller}
.underline{text-decoration:underline}
.overline{text-decoration:overline}
.line-through{text-decoration:line-through}
.aqua{color:#00bfbf}
.aqua-background{background:#00fafa}
.black{color:#000}
.black-background{background:#000}
.blue{color:#0000bf}
.blue-background{background:#0000fa}
.fuchsia{color:#bf00bf}
.fuchsia-background{background:#fa00fa}
.gray{color:#606060}
.gray-background{background:#7d7d7d}
.green{color:#006000}
.green-background{background:#007d00}
.lime{color:#00bf00}
.lime-background{background:#00fa00}
.maroon{color:#600000}
.maroon-background{background:#7d0000}
.navy{color:#000060}
.navy-background{background:#00007d}
.olive{color:#606000}
.olive-background{background:#7d7d00}
.purple{color:#600060}
.purple-background{background:#7d007d}
.red{color:#bf0000}
.red-background{background:#fa0000}
.silver{color:#909090}
.silver-background{background:#bcbcbc}
.teal{color:#006060}
.teal-background{background:#007d7d}
.white{color:#bfbfbf}
.white-background{background:#fafafa}
.yellow{color:#bfbf00}
.yellow-background{background:#fafa00}
span.icon>.fa{cursor:default}
a span.icon>.fa{cursor:inherit}
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
.conum[data-value] *{color:#fff!important}
.conum[data-value]+b{display:none}
.conum[data-value]::after{content:attr(data-value)}
pre .conum[data-value]{position:relative;top:-.125em}
b.conum *{color:inherit!important}
.conum:not([data-value]):empty{display:none}
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@page{margin:1.25cm .75cm}
@media print{*{box-shadow:none!important;text-shadow:none!important}
html{font-size:80%}
a{color:inherit!important;text-decoration:underline!important}
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
abbr[title]{border-bottom:1px dotted}
abbr[title]::after{content:" (" attr(title) ")"}
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
thead{display:table-header-group}
svg{max-width:100%}
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
#header,#content,#footnotes,#footer{max-width:none}
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
body.book #header{text-align:center}
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
body.book #header .details{border:0!important;display:block;padding:0!important}
body.book #header .details span:first-child{margin-left:0!important}
body.book #header .details br{display:block}
body.book #header .details br+span::before{content:none!important}
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
.listingblock code[data-lang]::before{display:block}
#footer{padding:0 .9375em}
.hide-on-print{display:none!important}
.print-only{display:block!important}
.hide-for-print{display:none!important}
.show-for-print{display:inherit!important}}
@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
.sect1{padding:0!important}
.sect1+.sect1{border:0}
#footer{background:none}
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
</style>
</head>
<body class="article">
<div id="header">
<h1>parse-options API</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>The parse-options API is used to parse and massage options in Git
and to provide a usage help with consistent look.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_basics">Basics</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The argument vector <code>argv</code>[] may usually contain mandatory or optional
<em>non-option arguments</em>, e.g. a filename or a branch, <em>options</em>, and
<em>subcommands</em>.
Options are optional arguments that start with a dash and
that allow to change the behavior of a command.</p>
</div>
<div class="ulist">
<ul>
<li>
<p>There are basically three types of options:
<em>boolean</em> options,
options with (mandatory) <em>arguments</em> and
options with <em>optional arguments</em>
(i.e. a boolean option that can be adjusted).</p>
</li>
<li>
<p>There are basically two forms of options:
<em>Short options</em> consist of one dash (<code>-</code>) and one alphanumeric
character.
<em>Long options</em> begin with two dashes (<code>--</code>) and some
alphanumeric characters.</p>
</li>
<li>
<p>Options are case-sensitive.
Please define <em>lower-case long options</em> only.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The parse-options API allows:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><em>stuck</em> and <em>separate form</em> of options with arguments.
<code>-oArg</code> is stuck, <code>-o</code> <code>Arg</code> is separate form.
<code>--option=Arg</code> is stuck, <code>--option</code> <code>Arg</code> is separate form.</p>
</li>
<li>
<p>Long options may be <em>abbreviated</em>, as long as the abbreviation
is unambiguous.</p>
</li>
<li>
<p>Short options may be bundled, e.g. <code>-a</code> <code>-b</code> can be specified as <code>-ab</code>.</p>
</li>
<li>
<p>Boolean long options can be <em>negated</em> (or <em>unset</em>) by prepending
<code>no-</code>, e.g. <code>--no-abbrev</code> instead of <code>--abbrev</code>. Conversely,
options that begin with <code>no-</code> can be <em>negated</em> by removing it.
Other long options can be unset (e.g., set string to NULL, set
integer to 0) by prepending <code>no-</code>.</p>
</li>
<li>
<p>Options and non-option arguments can clearly be separated using the <code>--</code>
option, e.g. <code>-a</code> <code>-b</code> <code>--option</code> <code>--</code> <code>--this-is-a-file</code> indicates that
<code>--this-is-a-file</code> must not be processed as an option.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Subcommands are special in a couple of ways:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Subcommands only have long form, and they have no double dash prefix, no
negated form, and no description, and they don&#8217;t take any arguments, and
can&#8217;t be abbreviated.</p>
</li>
<li>
<p>There must be exactly one subcommand among the arguments, or zero if the
command has a default operation mode.</p>
</li>
<li>
<p>All arguments following the subcommand are considered to be arguments of
the subcommand, and, conversely, arguments meant for the subcommand may
not precede the subcommand.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Therefore, if the options array contains at least one subcommand and
<code>parse_options</code>() encounters the first dashless argument, it will either:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>stop and return, if that dashless argument is a known subcommand, setting
<code>value</code> to the function pointer associated with that subcommand, storing
the name of the subcommand in argv[0], and leaving the rest of the
arguments unprocessed, or</p>
</li>
<li>
<p>stop and return, if it was invoked with the <code>PARSE_OPT_SUBCOMMAND_OPTIONAL</code>
flag and that dashless argument doesn&#8217;t match any subcommands, leaving
<code>value</code> unchanged and the rest of the arguments unprocessed, or</p>
</li>
<li>
<p>show error and usage, and abort.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_steps_to_parse_options">Steps to parse options</h2>
<div class="sectionbody">
<div class="olist arabic">
<ol class="arabic">
<li>
<p>#include "parse-options.<code>h</code>"</p>
</li>
<li>
<p>define a NULL-terminated
<code>static</code> <code>const</code> <code>char</code> <code>*</code> <code>const</code> <code>builtin_foo_usage</code>[] array
containing alternative usage strings</p>
</li>
<li>
<p>define <code>builtin_foo_options</code> array as described below
in section <em>Data Structure</em>.</p>
</li>
<li>
<p>in <code>cmd_foo</code>(<code>int</code> <code>argc,</code> <code>const</code> <code>char</code> <code>**argv,</code> <code>const</code> <code>char</code> <code>*prefix</code>)
call</p>
<div class="literalblock">
<div class="content">
<pre>argc = parse_options(argc, argv, prefix, builtin_foo_options, builtin_foo_usage, flags);</pre>
</div>
</div>
<div class="paragraph">
<p><code>parse_options</code>() will filter out the processed options of <code>argv</code>[] and leave the
non-option arguments in <code>argv</code>[].
<code>argc</code> is updated appropriately because of the assignment.</p>
</div>
<div class="paragraph">
<p>You can also pass NULL instead of a usage array as the fifth parameter of
parse_options(), to avoid displaying a help screen with usage info and
option list.  This should only be done if necessary, e.g. to implement
a limited parser for only a subset of the options that needs to be run
before the full parser, which in turn shows the full help message.</p>
</div>
<div class="paragraph">
<p>Flags are the bitwise-or of:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>PARSE_OPT_KEEP_DASHDASH</code></dt>
<dd>
<p>Keep the <code>--</code> that usually separates options from
non-option arguments.</p>
</dd>
<dt class="hdlist1"><code>PARSE_OPT_STOP_AT_NON_OPTION</code></dt>
<dd>
<p>Usually the whole argument vector is massaged and reordered.
Using this flag, processing is stopped at the first non-option
argument.</p>
</dd>
<dt class="hdlist1"><code>PARSE_OPT_KEEP_ARGV0</code></dt>
<dd>
<p>Keep the first argument, which contains the program name.  It&#8217;s
removed from argv[] by default.</p>
</dd>
<dt class="hdlist1"><code>PARSE_OPT_KEEP_UNKNOWN_OPT</code></dt>
<dd>
<p>Keep unknown options instead of erroring out.  This doesn&#8217;t
work for all combinations of arguments as users might expect
it to do.  E.g. if the first argument in <code>--unknown</code> <code>--known</code>
takes a value (which we can&#8217;t know), the second one is
mistakenly interpreted as a known option.  Similarly, if
<code>PARSE_OPT_STOP_AT_NON_OPTION</code> is set, the second argument in
<code>--unknown</code> <code>value</code> will be mistakenly interpreted as a
non-option, not as a value belonging to the unknown option,
the parser early.  That&#8217;s why parse_options() errors out if
both options are set.
Note that non-option arguments are always kept, even without
this flag.</p>
</dd>
<dt class="hdlist1"><code>PARSE_OPT_NO_INTERNAL_HELP</code></dt>
<dd>
<p>By default, parse_options() handles <code>-h</code>, <code>--help</code> and
<code>--help-all</code> internally, by showing a help screen.  This option
turns it off and allows one to add custom handlers for these
options, or to just leave them unknown.</p>
</dd>
<dt class="hdlist1"><code>PARSE_OPT_SUBCOMMAND_OPTIONAL</code></dt>
<dd>
<p>Don&#8217;t error out when no subcommand is specified.</p>
</dd>
</dl>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>Note that <code>PARSE_OPT_STOP_AT_NON_OPTION</code> is incompatible with subcommands;
while <code>PARSE_OPT_KEEP_DASHDASH</code> and <code>PARSE_OPT_KEEP_UNKNOWN_OPT</code> can only be
used with subcommands when combined with <code>PARSE_OPT_SUBCOMMAND_OPTIONAL</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_data_structure">Data Structure</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The main data structure is an array of the <code>option</code> struct,
say <code>static</code> <code>struct</code> <code>option</code> <code>builtin_add_options</code>[].
There are some macros to easily define options:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>OPT__ABBREV</code>(&amp;int_var)</dt>
<dd>
<p>Add <code>--abbrev</code>[<code>=</code><em>&lt;n&gt;</em>].</p>
</dd>
<dt class="hdlist1"><code>OPT__COLOR</code>(&amp;int_var, <code>description</code>)</dt>
<dd>
<p>Add <code>--color</code>[<code>=</code><em>&lt;when&gt;</em>] and <code>--no-color</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT__DRY_RUN</code>(&amp;int_var, <code>description</code>)</dt>
<dd>
<p>Add <code>-n,</code> <code>--dry-run</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT__FORCE</code>(&amp;int_var, <code>description</code>)</dt>
<dd>
<p>Add <code>-f,</code> <code>--force</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT__QUIET</code>(&amp;int_var, <code>description</code>)</dt>
<dd>
<p>Add <code>-q,</code> <code>--quiet</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT__VERBOSE</code>(&amp;int_var, <code>description</code>)</dt>
<dd>
<p>Add <code>-v,</code> <code>--verbose</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_GROUP</code>(<code>description</code>)</dt>
<dd>
<p>Start an option group. <code>description</code> is a short string that
describes the group or an empty string.
Start the description with an upper-case letter.</p>
</dd>
<dt class="hdlist1"><code>OPT_BOOL</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description</code>)</dt>
<dd>
<p>Introduce a boolean option. <code>int_var</code> is set to one with
<code>--option</code> and set to zero with <code>--no-option</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_COUNTUP</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description</code>)</dt>
<dd>
<p>Introduce a count-up option.
Each use of <code>--option</code> increments <code>int_var</code>, starting from zero
(even if initially negative), and <code>--no-option</code> resets it to
zero. To determine if <code>--option</code> or <code>--no-option</code> was encountered at
all, initialize <code>int_var</code> to a negative value, and if it is still
negative after parse_options(), then neither <code>--option</code> nor
<code>--no-option</code> was seen.</p>
</dd>
<dt class="hdlist1"><code>OPT_BIT</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description,</code> <code>mask</code>)</dt>
<dd>
<p>Introduce a boolean option.
If used, <code>int_var</code> is bitwise-ored with <code>mask</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_NEGBIT</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description,</code> <code>mask</code>)</dt>
<dd>
<p>Introduce a boolean option.
If used, <code>int_var</code> is bitwise-anded with the inverted <code>mask</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_SET_INT</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description,</code> <code>integer</code>)</dt>
<dd>
<p>Introduce an integer option.
<code>int_var</code> is set to <code>integer</code> with <code>--option</code>, and
reset to zero with <code>--no-option</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_STRING</code>(<code>short,</code> <code>long,</code> &amp;str_var, <code>arg_str,</code> <code>description</code>)</dt>
<dd>
<p>Introduce an option with string argument.
The string argument is put into <code>str_var</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_STRING_LIST</code>(<code>short,</code> <code>long,</code> &amp;struct <code>string_list,</code> <code>arg_str,</code> <code>description</code>)</dt>
<dd>
<p>Introduce an option with string argument.
The string argument is stored as an element in <code>string_list</code>.
Use of <code>--no-option</code> will clear the list of preceding values.</p>
</dd>
<dt class="hdlist1"><code>OPT_INTEGER</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description</code>)</dt>
<dd>
<p>Introduce an option with integer argument. The argument must be a
integer and may include a suffix of <em>k</em>, <em>m</em> or <em>g</em> to
scale the provided value by 1024, 1024^2 or 1024^3 respectively.
The scaled value is put into <code>int_var</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_UNSIGNED</code>(<code>short,</code> <code>long,</code> &amp;unsigned_long_var, <code>description</code>)</dt>
<dd>
<p>Introduce an option with an unsigned integer argument. The argument must be a
non-negative integer and may include a suffix of <em>k</em>, <em>m</em> or <em>g</em> to
scale the provided value by 1024, 1024^2 or 1024^3 respectively.
The scaled value is put into <code>unsigned_long_var</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_EXPIRY_DATE</code>(<code>short,</code> <code>long,</code> &amp;timestamp_t_var, <code>description</code>)</dt>
<dd>
<p>Introduce an option with expiry date argument, see <code>parse_expiry_date</code>().
The timestamp is put into <code>timestamp_t_var</code>.</p>
</dd>
<dt class="hdlist1"><code>OPT_CALLBACK</code>(<code>short,</code> <code>long,</code> &amp;var, <code>arg_str,</code> <code>description,</code> <code>func_ptr</code>)</dt>
<dd>
<p>Introduce an option with argument.
The argument will be fed into the function given by <code>func_ptr</code>
and the result will be put into <code>var</code>.
See <em>Option Callbacks</em> below for a more elaborate description.</p>
</dd>
<dt class="hdlist1"><code>OPT_FILENAME</code>(<code>short,</code> <code>long,</code> &amp;var, <code>description</code>)</dt>
<dd>
<p>Introduce an option with a filename argument.
The filename will be prefixed by passing the filename along with
the prefix argument of <code>parse_options</code>() to <code>prefix_filename</code>().</p>
</dd>
<dt class="hdlist1"><code>OPT_NUMBER_CALLBACK</code>(&amp;var, <code>description,</code> <code>func_ptr</code>)</dt>
<dd>
<p>Recognize numerical options like -123 and feed the integer as
if it was an argument to the function given by <code>func_ptr</code>.
The result will be put into <code>var</code>.  There can be only one such
option definition.  It cannot be negated and it takes no
arguments.  Short options that happen to be digits take
precedence over it.</p>
</dd>
<dt class="hdlist1"><code>OPT_COLOR_FLAG</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description</code>)</dt>
<dd>
<p>Introduce an option that takes an optional argument that can
have one of three values: "always", "never", or "auto".  If the
argument is not given, it defaults to "always".  The <code>--no-</code> form
works like <code>--long=never</code>; it cannot take an argument.  If
"always", set <code>int_var</code> to 1; if "never", set <code>int_var</code> to 0; if
"auto", set <code>int_var</code> to 1 if stdout is a tty or a pager,
0 otherwise.</p>
</dd>
<dt class="hdlist1"><code>OPT_NOOP_NOARG</code>(<code>short,</code> <code>long</code>)</dt>
<dd>
<p>Introduce an option that has no effect and takes no arguments.
Use it to hide deprecated options that are still to be recognized
and ignored silently.</p>
</dd>
<dt class="hdlist1"><code>OPT_PASSTHRU</code>(<code>short,</code> <code>long,</code> &amp;char_var, <code>arg_str,</code> <code>description,</code> <code>flags</code>)</dt>
<dd>
<p>Introduce an option that will be reconstructed into a char* string,
which must be initialized to NULL. This is useful when you need to
pass the command-line option to another command. Any previous value
will be overwritten, so this should only be used for options where
the last one specified on the command line wins.</p>
</dd>
<dt class="hdlist1"><code>OPT_PASSTHRU_ARGV</code>(<code>short,</code> <code>long,</code> &amp;strvec_var, <code>arg_str,</code> <code>description,</code> <code>flags</code>)</dt>
<dd>
<p>Introduce an option where all instances of it on the command-line will
be reconstructed into a strvec. This is useful when you need to
pass the command-line option, which can be specified multiple times,
to another command.</p>
</dd>
<dt class="hdlist1"><code>OPT_CMDMODE</code>(<code>short,</code> <code>long,</code> &amp;int_var, <code>description,</code> <code>enum_val</code>)</dt>
<dd>
<p>Define an "operation mode" option, only one of which in the same
group of "operating mode" options that share the same <code>int_var</code>
can be given by the user. <code>int_var</code> is set to <code>enum_val</code> when the
option is used, but an error is reported if other "operating mode"
option has already set its value to the same <code>int_var</code>.
In new commands consider using subcommands instead.</p>
</dd>
<dt class="hdlist1"><code>OPT_SUBCOMMAND</code>(<code>long,</code> &amp;fn_ptr, <code>subcommand_fn</code>)</dt>
<dd>
<p>Define a subcommand.  <code>subcommand_fn</code> is put into <code>fn_ptr</code> when
this subcommand is used.</p>
</dd>
</dl>
</div>
<div class="paragraph">
<p>The last element of the array must be <code>OPT_END</code>().</p>
</div>
<div class="paragraph">
<p>If not stated otherwise, interpret the arguments as follows:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>short</code> is a character for the short option
(e.g. 'e' for <code>-e</code>, use <code>0</code> to omit),</p>
</li>
<li>
<p><code>long</code> is a string for the long option
(e.g. "example" for <code>--example</code>, use <code>NULL</code> to omit),</p>
</li>
<li>
<p><code>int_var</code> is an integer variable,</p>
</li>
<li>
<p><code>str_var</code> is a string variable (<code>char</code> <code>*</code>),</p>
</li>
<li>
<p><code>arg_str</code> is the string that is shown as argument
(e.g. "branch" will result in <em>&lt;branch&gt;</em>).
If set to <code>NULL</code>, three dots (<code>...</code>) will be displayed.</p>
</li>
<li>
<p><code>description</code> is a short string to describe the effect of the option.
It shall begin with a lower-case letter and a full stop (.) shall be
omitted at the end.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_option_callbacks">Option Callbacks</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The function must be defined in this form:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>int func(const struct option *opt, const char *arg, int unset)</pre>
</div>
</div>
<div class="paragraph">
<p>The callback mechanism is as follows:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Inside <code>func</code>, the only interesting member of the structure
given by <code>opt</code> is the void pointer <code>opt-</code>&gt;<code>value</code>.
<code>*opt-</code>&gt;<code>value</code> will be the value that is saved into <code>var</code>, if you
use <code>OPT_CALLBACK</code>().
For example, do <code>*</code>(<code>unsigned</code> <code>long</code> <code>*</code>)<code>opt-</code>&gt;<code>value</code> <code>=</code> <code>42</code>; to get 42
into an <code>unsigned</code> <code>long</code> variable.</p>
</li>
<li>
<p>Return value <code>0</code> indicates success and non-zero return
value will invoke <code>usage_with_options</code>() and, thus, die.</p>
</li>
<li>
<p>If the user negates the option, <code>arg</code> is <code>NULL</code> and <code>unset</code> is 1.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_sophisticated_option_parsing">Sophisticated option parsing</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If you need, for example, option callbacks with optional arguments
or without arguments at all, or if you need other special cases,
that are not handled by the macros above, you need to specify the
members of the <code>option</code> structure manually.</p>
</div>
<div class="paragraph">
<p>This is not covered in this document, but well documented
in <code>parse-options.h</code> itself.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_examples">Examples</h2>
<div class="sectionbody">
<div class="paragraph">
<p>See <code>test-parse-options.c</code> and
<code>builtin/add.c</code>,
<code>builtin/clone.c</code>,
<code>builtin/commit.c</code>,
<code>builtin/fetch.c</code>,
<code>builtin/fsck.c</code>,
<code>builtin/rm.c</code>
for real-world examples.</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-06-20 18:10:42 -0700
</div>
</div>
</body>
</html>