e)\b">
        <token type="Keyword"/>
      </rule>
      <rule pattern="(true|false)\b">
        <token type="KeywordConstant"/>
      </rule>
      <rule pattern="(addressint|boolean|pointer|string|array|real4|real8|nat1|int8|int4|int2|nat2|nat4|nat8|int1|real|char|enum|nat|int)\b">
        <token type="KeywordType"/>
      </rule>
      <rule pattern="\d+i">
        <token type="LiteralNumber"/>
      </rule>
      <rule pattern="\d+\.\d*([Ee][-+]\d+)?i">
        <token type="LiteralNumber"/>
      </rule>
      <rule pattern="\.\d+([Ee][-+]\d+)?i">
        <token type="LiteralNumber"/>
      </rule>
      <rule pattern="\d+[Ee][-+]\d+i">
        <token type="LiteralNumber"/>
      </rule>
      <rule pattern="\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)">
        <token type="LiteralNumberFloat"/>
      </rule>
      <rule pattern="\.\d+([eE][+\-]?\d+)?">
        <token type="LiteralNumberFloat"/>
      </rule>
      <rule pattern="0[0-7]+">
        <token type="LiteralNumberOct"/>
      </rule>
      <rule pattern="0[xX][0-9a-fA-F]+">
        <token type="LiteralNumberHex"/>
      </rule>
      <rule pattern="(0|[1-9][0-9]*)">
        <token type="LiteralNumberInteger"/>
      </rule>
      <rule pattern="(div|mod|rem|\*\*|=|&lt;|&gt;|&gt;=|&lt;=|not=|not|and|or|xor|=&gt;|in|shl|shr|-&gt;|~|~=|~in|&amp;|:=|\.\.|[\^+\-*/&amp;#])">
        <token type="Operator"/>
      </rule>
      <rule pattern="&#39;(\\[&#39;&#34;\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])&#39;">
        <token type="LiteralStringChar"/>
      </rule>
      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
        <token type="LiteralString"/>
      </rule>
      <rule pattern="[()\[\]{}.,:]">
        <token type="Punctuation"/>
      </rule>
      <rule pattern="[^\W\d]\w*">
        <token type="NameOther"/>
      </rule>
    </state>
  </rules>
</lexer>
			By default, the result of %[1]sgh%[1]s commands are output in line-based plain text format.
			Some commands support passing the %[1]s--json%[1]s flag, which converts the output to JSON format.
			Once in JSON, the output can be further formatted according to a required formatting string by
			adding either the %[1]s--jq%[1]s or %[1]s--template%[1]s flag. This is useful for selecting a subset of data,
			creating new data structures, displaying the data in a different format, or as input to another
			command line script.

			The %[1]s--json%[1]s flag requires a comma separated list of fields to fetch. To view the possible JSON
			field names for a command omit the string argument to the %[1]s--json%[1]s flag when you run the command.
			Note that you must pass the %[1]s--json%[1]s flag and field names to use the %[1]s--jq%[1]s or %[1]s--template%[1]s flags.

			The %[1]s--jq%[1]s flag requires a string argument in jq query syntax, and will only print
			those JSON values which match the query. jq queries can be used to select elements from an
			array, fields from an object, create a new array, and more. The %[1]sjq%[1]s utility does not need
			to be installed on the system to use this formatting directive. When connected to a terminal,
			the output is automatically pretty-printed. To learn about jq query syntax, see:
			<https://jqlang.github.io/jq/manual/>

			The %[1]s--template%[1]s flag requires a string argument in Go template syntax, and will only print
			those JSON values which match the query.

			In addition to the Go template functions in the standard library, the following functions can be used
			with this formatting directive:
			- %[1]sautocolor%[1]s: like %[1]scolor%[1]s, but only emits color to terminals
			- %[1]scolor <style> <input>%[1]s: colorize input using <https://github.com/mgutz/ansi>
			- %[1]sjoin <sep> <list>%[1]s: joins values in the list using a separator
			- %[1]spluck <field> <list>%[1]s: collects values of a field from all items in the input
			- %[1]stablerow <fields>...%[1]s: aligns fields in output vertically as a table
			- %[1]stablerender%[1]s: renders fields added by tablerow in place
			- %[1]stimeago <time>%[1]s: renders a timestamp as relative to now
			- %[1]stimefmt <format> <time>%[1]s: formats a timestamp using Go's %[1]sTime.Format%[1]s function
			- %[1]struncate <length> <input>%[1]s: ensures input fits within length
			- %[1]shyperlink <url> <text>%[1]s: renders a terminal hyperlink

			The following Sprig template library functions can also be used with this formatting directive:
			- %[1]scontains <arg> <string>%[1]s: checks if %[1]sstring%[1]s contains %[1]sarg%[1]s
			- %[1]shasPrefix <prefix> <string>%[1]s: checks if %[1]sstring%[1]s starts with %[1]sprefix%[1]s
			- %[1]shasSuffix <suffix> <string>%[1]s: checks if %[1]sstring%[1]s ends with %[1]ssuffix%[1]s
			- %[1]sregexMatch <regex> <string>%[1]s: checks if %[1]sstring%[1]s has any matches for %[1]sregex%[1]s

			For more information about the Sprig library, see <https://masterminds.github.io/sprig/>.

			To learn more about Go templates, see: <https://golang.org/pkg/text/template/>.
		