Skip to content

Commit 288f3d6

Browse files
committed
Add markdown grammar
1 parent ac06e95 commit 288f3d6

35 files changed

+59496
-1
lines changed

markdown/binding.go

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package markdown
2+
3+
//#include "parser.h"
4+
//TSLanguage *tree_sitter_markdown();
5+
import "C"
6+
import (
7+
"unsafe"
8+
9+
sitter "github.com/smacker/go-tree-sitter"
10+
)
11+
12+
func GetLanguage() *sitter.Language {
13+
ptr := unsafe.Pointer(C.tree_sitter_markdown())
14+
return sitter.NewLanguage(ptr)
15+
}

markdown/binding_test.go

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package markdown_test
2+
3+
import (
4+
"context"
5+
"testing"
6+
7+
sitter "github.com/smacker/go-tree-sitter"
8+
"github.com/smacker/go-tree-sitter/markdown"
9+
"github.com/stretchr/testify/assert"
10+
)
11+
12+
func TestGrammar(t *testing.T) {
13+
assert := assert.New(t)
14+
15+
n, err := sitter.ParseCtx(context.Background(), []byte("# This is a header"), markdown.GetLanguage())
16+
assert.NoError(err)
17+
assert.Equal(
18+
"(document (atx_heading (atx_h1_marker) (heading_content (text))))",
19+
n.String(),
20+
)
21+
}

0 commit comments

Comments
 (0)