clash-brush-parser 0.3.0

POSIX/bash shell tokenizer and parsers (used by brush-shell)
Documentation
---
source: clash-brush-parser/src/tokenizer.rs
assertion_line: 1410
expression: "test_tokenizer(r\"cat <<HERE\nSOMETHING\nHERE\n\")?"
---
TokenizerResult(
  input: "cat <<HERE\nSOMETHING\nHERE\n",
  result: [
    Word("cat", SourceSpan(
      start: SourcePosition(
        index: 0,
        line: 1,
        column: 1,
      ),
      end: SourcePosition(
        index: 3,
        line: 1,
        column: 4,
      ),
    )),
    Operator("<<", SourceSpan(
      start: SourcePosition(
        index: 4,
        line: 1,
        column: 5,
      ),
      end: SourcePosition(
        index: 6,
        line: 1,
        column: 7,
      ),
    )),
    Word("HERE", SourceSpan(
      start: SourcePosition(
        index: 6,
        line: 1,
        column: 7,
      ),
      end: SourcePosition(
        index: 10,
        line: 1,
        column: 11,
      ),
    )),
    Word("SOMETHING\n", SourceSpan(
      start: SourcePosition(
        index: 11,
        line: 2,
        column: 1,
      ),
      end: SourcePosition(
        index: 26,
        line: 4,
        column: 1,
      ),
    )),
    Word("HERE", SourceSpan(
      start: SourcePosition(
        index: 26,
        line: 4,
        column: 1,
      ),
      end: SourcePosition(
        index: 26,
        line: 4,
        column: 1,
      ),
    )),
    Operator("\n", SourceSpan(
      start: SourcePosition(
        index: 10,
        line: 1,
        column: 11,
      ),
      end: SourcePosition(
        index: 11,
        line: 2,
        column: 1,
      ),
    )),
  ],
)