badness 0.5.0

A language server, formatter, and linter for LaTeX
{
  "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 }], "inline": true },
    "textit": { "args": [{ "kind": "req", "prose": true }], "inline": true },
    "textrm": { "args": [{ "kind": "req", "prose": true }], "inline": true },
    "texttt": { "args": ["req"] },
    "emph": { "args": [{ "kind": "req", "prose": true }], "inline": true },
    "underline": { "args": [{ "kind": "req", "prose": true }], "inline": true },
    "footnote": { "args": ["opt", { "kind": "req", "prose": true }], "inline": true },
    "footnotetext": { "args": ["opt", { "kind": "req", "prose": true }], "inline": 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"], "inline": true },
    "eqref": { "args": ["req"], "inline": true },
    "cref": { "args": ["req"], "inline": true },
    "Cref": { "args": ["req"], "inline": true },
    "crefrange": { "args": ["req", "req"], "inline": true },
    "Crefrange": { "args": ["req", "req"], "inline": true },
    "autoref": { "args": ["req"], "inline": true },
    "nameref": { "args": ["req"], "inline": true },
    "pageref": { "args": ["req"], "inline": true },
    "vref": { "args": ["req"], "inline": true },
    "Vref": { "args": ["req"], "inline": true },
    "labelcref": { "args": ["req"], "inline": true },
    "href": { "args": ["req", "req"] },

    "cite": { "args": ["opt", { "kind": "req", "collapse": true }], "inline": true },
    "nocite": { "args": [{ "kind": "req", "collapse": true }] },
    "citep": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "citet": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "citealp": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "citealt": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "citeauthor": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "citeyear": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "citeyearpar": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "parencite": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "textcite": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "autocite": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "footcite": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },
    "smartcite": { "args": ["opt", "opt", { "kind": "req", "collapse": true }], "inline": true },

    "DocInput": { "args": ["req"] },
    "DescribeMacro": { "args": ["req"] },
    "DescribeEnv": { "args": ["req"] },
    "StopEventually": { "args": ["req"] },

    "verb": { "verbatim": true },
    "verb*": { "verbatim": true },
    "lstinline": { "args": ["opt"], "verbatim": true },
    "mintinline": { "args": ["opt", "req"], "verbatim": true },
    "url": { "verbatim": true },
    "path": { "verbatim": true },
    "code": { "verbatim": true },

    "hline": { "rule": true },
    "hdashline": { "rule": true },
    "toprule": { "args": ["opt"], "rule": true },
    "midrule": { "args": ["opt"], "rule": true },
    "bottomrule": { "args": ["opt"], "rule": true },
    "cmidrule": { "args": ["opt", "req"], "rule": true },
    "cline": { "args": ["req"], "rule": true },
    "specialrule": { "args": ["req", "req", "req"], "rule": true },
    "addlinespace": { "args": ["opt"], "rule": true },
    "morecmidrules": { "rule": true }
  },

  "environments": {
    "document": { "noIndent": true },
    "appendix": { "noIndent": true },

    "itemize": { "list": true },
    "enumerate": { "list": true },
    "description": { "list": true },

    "figure": { "block": true, "outline": "float" },
    "figure*": { "block": true, "outline": "float" },
    "table": { "block": true, "outline": "float" },
    "table*": { "block": true, "outline": "float" },
    "center": { "block": true },
    "flushleft": { "block": true },
    "flushright": { "block": true },
    "quote": { "block": true },
    "quotation": { "block": true },
    "verse": { "block": true },
    "abstract": { "block": true },
    "titlepage": { "block": true },
    "frame": { "block": true },
    "tikzpicture": { "block": true },

    "theorem": { "block": true, "outline": "theorem" },
    "lemma": { "block": true, "outline": "theorem" },
    "proof": { "block": true, "outline": "theorem" },
    "corollary": { "block": true, "outline": "theorem" },
    "proposition": { "block": true, "outline": "theorem" },
    "definition": { "block": true, "outline": "theorem" },
    "remark": { "block": true, "outline": "theorem" },
    "example": { "block": true, "outline": "theorem" },

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

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

    "macro": { "args": ["req"], "block": true },
    "environment": { "args": ["req"], "block": true },
    "macrocode": { "code": true, "block": true },
    "macrocode*": { "code": true, "block": true },

    "Code": { "verbatimBody": true, "block": true },
    "CodeInput": { "verbatimBody": true, "block": true },
    "CodeOutput": { "verbatimBody": true, "block": true },
    "Sinput": { "verbatimBody": true, "block": true },
    "Soutput": { "verbatimBody": true, "block": true },
    "Scode": { "verbatimBody": true, "block": true },

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

    "aligned": { "math": true, "align": true },
    "alignedat": { "math": true, "align": true },
    "split": { "math": true, "align": true },
    "cases": { "math": true, "align": true },
    "dcases": { "math": true, "align": true },
    "matrix": { "math": true, "align": true },
    "pmatrix": { "math": true, "align": true },
    "bmatrix": { "math": true, "align": true },
    "Bmatrix": { "math": true, "align": true },
    "vmatrix": { "math": true, "align": true },
    "Vmatrix": { "math": true, "align": true },
    "smallmatrix": { "math": true, "align": true }
  }
}