{
  "name": "nl",
  "description": "Line numbering filter",
  "parserDirectives": {
    "optionsMustPrecedeArgs": true
  },
  "options": [
    {
      "names": [
        "-b"
      ],
      "description": "Specify the logical page body lines to be numbered",
      "args": [
        {
          "name": "type",
          "suggestions": [
            "a",
            "t",
            "pexpr"
          ]
        }
      ]
    },
    {
      "names": [
        "-d"
      ],
      "description": "Specify the delimiter characters used to indicate the\nstart of a logical page section in the input file. At most two\ncharacters may be specified; if only one character is specified,\nthe first character is replaced and the second character remains unchanged",
      "args": [
        {
          "name": "delim",
          "suggestions": [
            "\\:"
          ]
        }
      ]
    },
    {
      "names": [
        "-f"
      ],
      "description": "Specify the same as -b type except for logical page footer lines",
      "args": [
        {
          "name": "type",
          "suggestions": [
            "n"
          ]
        }
      ]
    },
    {
      "names": [
        "-h"
      ],
      "description": "Specify the same as -b type except for logical page header lines",
      "args": [
        {
          "name": "type",
          "suggestions": [
            "n"
          ]
        }
      ]
    },
    {
      "names": [
        "-i"
      ],
      "description": "Specify the increment value used to number logical page lines",
      "args": [
        {
          "name": "incr",
          "suggestions": [
            "1"
          ]
        }
      ]
    },
    {
      "names": [
        "-l"
      ],
      "description": "If numbering of all lines is specified for the current\nlogical section using the corresponding -b a, -f a or -h a option, specify\nthe number of adjacent blank lines to be considered as one. For example,\n-l 2 results in only the second adjacent blank line being numbered",
      "args": [
        {
          "name": "num",
          "suggestions": [
            "1"
          ]
        }
      ]
    },
    {
      "names": [
        "-n"
      ],
      "description": "Specify the line numbering output format",
      "args": [
        {
          "name": "format",
          "suggestions": [
            "ln",
            "rn",
            "rz"
          ]
        }
      ]
    },
    {
      "names": [
        "-p"
      ],
      "description": "Specify that line numbering should not be restarted at logical page delimiters"
    },
    {
      "names": [
        "-s"
      ],
      "description": "Specify the characters used in separating the line\nnumber and the corresponding text line.  The default\nsep setting is a single tab character",
      "args": [
        {
          "name": "sep",
          "suggestions": [
            "\\t"
          ]
        }
      ]
    },
    {
      "names": [
        "-v"
      ],
      "description": "Specify the initial value used to number logical page lines; see also the description of the -p option",
      "args": [
        {
          "name": "startnum",
          "suggestions": [
            "1",
            "2",
            "3"
          ]
        }
      ]
    },
    {
      "names": [
        "-w"
      ],
      "description": "Specify the number of characters to be occupied by the\nline number; in case the width is insufficient to hold the line number,\nit will be truncated to its width least significant digits",
      "args": [
        {
          "name": "width",
          "suggestions": [
            "6",
            "5",
            "4",
            "3",
            "2",
            "1"
          ]
        }
      ]
    }
  ],
  "args": [
    {
      "name": "file",
      "description": "File(s) to number",
      "template": "filepaths"
    }
  ]
}
