The minimal UI of the Playground could benefit from some documentation to make it easier for the newer users to understand what's going on. Also added a link to the new documentation from the local playground.
Closes https://github.com/tree-sitter/tree-sitter/issues/1305
C++ has been a headache to deal with throughout the ecosystem and for
several downstream projects. It is difficult to get working with WASM,
and induces potential issues with compilation on Windows. It has been
proven that writing scanners in C is a much better alternative, and is
the recommended way to write scanners now. C++ support will likely be
removed in 0.21.0
Previously, `tree-sitter build-wasm` had the ability to build WASM
by using docker to pull in an image with a complete emscripten toolchain.
This commit adds the ability to use podman to do the same thing.
Using podman requires two notable changes:
1. Using the fully-qualified image name. Docker defaults to prepending
`docker.io` to the image name, but podman does not.
2. Podman will mount the `/src/` volume as belonging to root unless
`--userns=keep-id` is passed. I think podman's different
volume-ownership is related to podman's daemonless execution and
`--uidmap` functionality, but I'm not 100% sure.
To test, I ran
```sh
script/fetch-fixtures
script/generate-fixtures
script/generate-fixtures-wasm # <- the important one!
```
which worked as well as the docker version.
* Removed convention notes introduced in #1947 due to:
* It doesn't so strict for bindings and they may need to obey to some
target language conventions.
* For language grammars there is a note that states the same in the
`Creating Parsers` section.
* Removed `External Scanning` item introduced in 87a0517 commit
originated from #1612 due to unclear consistency with other
5 original statements. There is a similar explanation in the
`Other External Scanner Details` section.
Joined commit messages:
---
Closes: #2048
docs: add capnp, smali, thrift
Closes: #2026
Add Perl binding
Closes: #1989
Add Ada to the list of available parsers
Closes: #1980
Add clojure to list of available parsers
After some discussion in
https://github.com/sogaiu/tree-sitter-clojure/issues/28
I decided to submit an issue to the tree-sitter organization
to include tree-sitter-clojure in their list of available parsers.
This repository is used by a couple of editors and tools, and
I am using it to build a tree-sitter based programming mode
for Clojure in Emacs.
Since there are a couple of tools that depend on it, it seems
worthy of inclusion in an official list of tree-sitter grammars.
Closes: #1943
Add meson grammar to list.
Closes: #1926
docs(meson): add parse for meson
add meson
Closes: #1912
Merge branch 'master' into add-heex-parser
Closes: #1908
Add Apex to available parsers
Closes: #1876
Add tree-sitter-gleam to list of available parsers
Closes: #1862
DOCS: Add entries various SQL flavor parsers
Closes: #1857
Add Go to the available language bindings
Closes: #1856
docs: add jq grammar
Closes: #1828
Add tree sitter lalrpop
This is a parser for https://github.com/lalrpop/lalrpop,
a parser generator for use in Rust.
It is still in development because it should support some kind
of highlighting of the pseudo rust code used in rules.
Closes: #1733
Add YANG parser to parser list
I wrote this parser over summer vacation last year and I've been using it at work every day since.
Closes: #1728
Add link to m68k grammar
Link to m68k (Motorola 68000 assembly) grammar in docs.
Closes: #1697
Added rego language
Closes: #1694
docs: add Formula parser
Closes: #1672
docs: Add link to QML (Qt UI spec/programming language) parser
Closes: #1671
parser: add beancount parser link
Closes: #1623
Add link to llvm grammars
Add links to LLVM IR, MIR and TableGen parsers.
Closes: #1579
Add my Smali parser to the WIP list
Closes: #1575
Update index.md
Closes: #1563
Add re2c and sort alphabetically
Added re2c parser (lexer generator).
Sorted the list alphabetically case-insensitively.
Closes: #1209
add link to chess Portable Game Notation grammar
Closes: #1176
Add tree-sitter-lean.
Closes: #1123
Add parsers to list
---
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
Co-authored-by: Felipe Gasper <FGasper@users.noreply.github.com>
Co-authored-by: Emmanuel Briot <briot.emmanuel@gmail.com>
Co-authored-by: Danny Freeman <dannyfreeman@users.noreply.github.com>
Co-authored-by: Garrett D'Amore <garrett@damore.org>
Co-authored-by: ShootingStarDragons <ShootingStarDragons@protonmail.com>
Co-authored-by: Clay <connorlay@users.noreply.github.com>
Co-authored-by: Anthony Heber <anthony@heber.dev>
Co-authored-by: Jonathan Arnett <jonarnett90@gmail.com>
Co-authored-by: takegue <takegue@gmail.com>
Co-authored-by: Cédric Fabianski <cedric@bearer.sh>
Co-authored-by: flurie <flurie@gmail.com>
Co-authored-by: traxys <quentin+dev@familleboyer.net>
Co-authored-by: Tomas Sandven <597206+Hubro@users.noreply.github.com>
Co-authored-by: Graham Bates <info@grahambates.com>
Co-authored-by: Lex <mr.x97@mail.ru>
Co-authored-by: Ben Siraphob <bensiraphob@gmail.com>
Co-authored-by: Yuya Nishihara <yuya@tcha.org>
Co-authored-by: WeiZhang <kweizh@gmail.com>
Co-authored-by: Flakebi <flakebi@t-online.de>
Co-authored-by: Yotam <me@yotam.net>
Co-authored-by: Fymyte <34305318+Fymyte@users.noreply.github.com>
Co-authored-by: Alexandre A. Muller <muller@outlook.com>
Co-authored-by: Roland Walker <walker@pobox.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: Santos Gallegos <stsewd@protonmail.com>
* External scanners and infinite loops
* Terminal keywords in externals array
* Using error sentinel external token
* Good practice to erase state variables in deserialize func
* Emphasize external scanner is called first
* Documented test separator suffixes
* Documented partial precedences field
* Added external scanning to conflicting tokens rules
* Added earliest starting position to conflicting tokens rules
* Added note about lexical precedence vs. parse precedence
* Added note about tree-sitter calling external scanner with all
tokens marked valid during error recovery
Previously the rule names could not begin with an uppercase M or U
because the test output formatter assumed that they represent special
tokens: MISSING or UEXPECTED.
Fixes#1940.