badness 0.0.1

An LSP, formatter, and linter for LaTeX
Documentation
{
  "commands": {
    "part": { "args": ["opt", { "kind": "req", "prose": true }], "sectioning": 0 },
    "chapter": { "args": ["opt", { "kind": "req", "prose": true }], "sectioning": 1 },
    "section": { "args": ["opt", { "kind": "req", "prose": true }], "sectioning": 2 },
    "subsection": { "args": ["opt", { "kind": "req", "prose": true }], "sectioning": 3 },
    "subsubsection": { "args": ["opt", { "kind": "req", "prose": true }], "sectioning": 4 },
    "paragraph": { "args": ["opt", { "kind": "req", "prose": true }], "sectioning": 5 },
    "subparagraph": { "args": ["opt", { "kind": "req", "prose": true }], "sectioning": 6 },

    "frac": { "args": ["req", "req"] },
    "sqrt": { "args": ["opt", "req"] },
    "textbf": { "args": [{ "kind": "req", "prose": true }] },
    "textit": { "args": [{ "kind": "req", "prose": true }] },
    "textrm": { "args": [{ "kind": "req", "prose": true }] },
    "texttt": { "args": ["req"] },
    "emph": { "args": [{ "kind": "req", "prose": true }] },
    "underline": { "args": [{ "kind": "req", "prose": true }] },
    "footnote": { "args": ["opt", { "kind": "req", "prose": true }] },
    "footnotetext": { "args": ["opt", { "kind": "req", "prose": true }] },
    "caption": { "args": ["opt", { "kind": "req", "prose": true }] },
    "includegraphics": { "args": ["opt", "req"] },
    "usepackage": { "args": ["opt", "req"] },
    "documentclass": { "args": ["opt", "req"] },
    "newcommand": { "args": ["req", "opt", "req"] },
    "renewcommand": { "args": ["req", "opt", "req"] },
    "label": { "args": ["req"] },
    "ref": { "args": ["req"] },
    "cite": { "args": ["opt", "req"] },
    "href": { "args": ["req", "req"] },

    "verb": { "verbatim": true },
    "verb*": { "verbatim": true },
    "lstinline": { "verbatim": true }
  },

  "environments": {
    "tabular": { "args": ["opt", "req"] },
    "tabular*": { "args": ["req", "opt", "req"] },
    "array": { "args": ["opt", "req"] },
    "minipage": { "args": ["opt", "req"] },
    "multicols": { "args": ["req"] },
    "thebibliography": { "args": ["req"] },

    "verbatim": { "verbatimBody": true },
    "verbatim*": { "verbatimBody": true },
    "Verbatim": { "verbatimBody": true },
    "Verbatim*": { "verbatimBody": true },
    "alltt": { "verbatimBody": true },
    "lstlisting": { "args": ["opt"], "verbatimBody": true },
    "minted": { "args": ["opt", "req"], "verbatimBody": true },

    "math": { "math": true },
    "displaymath": { "math": true },
    "equation": { "math": true },
    "equation*": { "math": true },
    "align": { "math": true },
    "align*": { "math": true },
    "alignat": { "math": true },
    "alignat*": { "math": true },
    "gather": { "math": true },
    "gather*": { "math": true },
    "multline": { "math": true },
    "multline*": { "math": true },
    "flalign": { "math": true },
    "flalign*": { "math": true },
    "eqnarray": { "math": true },
    "eqnarray*": { "math": true }
  }
}