open-index/open-npm huggingface dataset:
npm package: @mbears/tree-sitter-markdown
Description: Markdown grammar for tree-sitter
Author: mbear
Latest version: 0.7.1-beta.6

# tree-sitter-markdown

[![npm](https://img.shields.io/npm/v/tree-sitter-markdown.svg)](https://www.npmjs.com/package/tree-sitter-markdown)
[![crates](https://img.shields.io/crates/v/tree-sitter-markdown.svg)](https://crates.io/crates/tree-sitter-markdown)
[![build](https://img.shields.io/travis/com/ikatyang/tree-sitter-markdown/master.svg)](https://travis-ci.com/ikatyang/tree-sitter-markdown/builds)

Markdown ([CommonMark Spec v0.29-gfm](https://github.github.com/gfm/)) grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter)

_Note: This grammar is based on the assumption that **[link label matchings](https://github.github.com/gfm/#matches) will never fail** since reference links can come before their reference definitions, which causes it hard to do incremental parsing without this assumption._

[Changelog](https://github.com/ikatyang/tree-sitter-markdown/blob/master/CHANGELOG.md)

## Install

```sh
npm install tree-sitter-markdown tree-sitter
```

## Usage

```js
const Parser = require("tree-sitter");
const Markdown = require("tree-sitter-markdown");

const parser = new Parser();
parser.setLanguage(Markdown);

const sourceCode = `
# foo
-     bar
  baz
`;

const tree = parser.parse(sourceCode);
console.log(tree.rootNode.toString());
// (document
//   (atx_heading
//     (atx_heading_marker)
//     (heading_content
//       (text)))
//   (tight_list
//     (list_item
//       (list_marker)
//       (indented_code_block
//         (text))
//       (paragraph
//         (text)))))
```

## License

MIT © [Ika](https://github.com/ikatyang)