branch: elpa/clojure-ts-mode commit dcbd3b04dd9c69bd8f6273340e55368195edb10d Author: dannyfreeman <danny@dfreeman.email> Commit: dannyfreeman <danny@dfreeman.email>
Fix bulleted markdown list, not displaying properly --- doc/design.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/design.md b/doc/design.md index 00790f6fcf..99bf6d68da 100644 --- a/doc/design.md +++ b/doc/design.md @@ -114,10 +114,10 @@ Instead, it is up to the emacs-lisp code and other consumers of the tree-sitter- There are some pros and cons of this decision for tree-sitter-clojure to only consider syntax and not semantics. Some of the (non-exhaustive) upsides: - - No semantic false positives or negatives in the parse tree. - - Simple grammar to maintain with less nodes and rules - - Small, fast grammar (with a small set of grammar rules, tree-sitter-clojure has one of the smallest binaries and fastest grammars in widespread use) - - Stability: the grammar changes infrequently and is very stable for downstream consumers +- No semantic false positives or negatives in the parse tree. +- Simple grammar to maintain with less nodes and rules +- Small, fast grammar (with a small set of grammar rules, tree-sitter-clojure has one of the smallest binaries and fastest grammars in widespread use) +- Stability: the grammar changes infrequently and is very stable for downstream consumers And the primary downside: Semantics must be (re)-implemented in tools that consume the grammar. While this results in more work for tooling authors, the tools that use the grammar are easier to change than the grammar itself. The inaccurate nature of statically interpreting Clojure semantics means that not every decision made for the grammar would meet the needs of the various grammar consumers. This would lead to bugs and feature requests. Nearly all changes to the grammar will result i [...]