summaryrefslogtreecommitdiffstats
path: root/2020
diff options
context:
space:
mode:
authorTuấn-Anh Nguyễn <ubolonton@gmail.com>2020-12-06 13:35:32 +0700
committerTuấn-Anh Nguyễn <ubolonton@gmail.com>2020-12-06 13:42:49 +0700
commit8e110e52ca16433829408df9ff56afb2e2a01d78 (patch)
tree7df655eec3a2d4737565d8f5f8f8b09ccf3d8115 /2020
parentc9bc372d9c799624d5de70f14c10df3cf76b6ea3 (diff)
downloademacsconf-wiki-8e110e52ca16433829408df9ff56afb2e2a01d78.tar.xz
emacsconf-wiki-8e110e52ca16433829408df9ff56afb2e2a01d78.zip
Talk 23: Update witht additions from the pad
Diffstat (limited to '2020')
-rw-r--r--2020/info/23.md24
1 files changed, 14 insertions, 10 deletions
diff --git a/2020/info/23.md b/2020/info/23.md
index 3fb67867..d2ede631 100644
--- a/2020/info/23.md
+++ b/2020/info/23.md
@@ -1,10 +1,10 @@
# Incremental Parsing with emacs-tree-sitter
Tuấn-Anh Nguyễn
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm"]]
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm"]]
[Download .webm video, 720p, 84M](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen.webm)
-[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm"]]
+[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm"]]
[Download Q&A .webm video, 720p, 153MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen.webm)
Tree-sitter is a parser generator and an incremental parsing library.
@@ -19,8 +19,8 @@ improvements and contribution from the community.
<!-- from the pad --->
-- Actual start and end time (EST): Start: 2020-11-29T09.49.24; Q&A: 2020-11-29T10.13.56; End: 2020-11-29T10.31.44
-
+- Actual start and end time (EST): Start: 2020-11-29T09.49.24; Q&A: 2020-11-29T10.13.56; End: 2020-11-29T10.31.44
+- Slides: <https://ubolonton.org/slides/emacs-tree-sitter-emacsconf2020.pdf>
# Questions
@@ -42,7 +42,7 @@ Core library dynamic module, would be better to be included in core Emacs eventu
## Q17: Is there a link to the slides?
-Yes, will post in IRC later. (FIXME: add link here).
+Yes, will post in IRC later.
Slides: <https://ubolonton.org/slides/emacs-tree-sitter-emacsconf2020.pdf>
@@ -77,6 +77,9 @@ Custom helm code
The usual approach is hoping someone else made a precompiled version for you and download it. Otherwise you'll have to set up a development environment with mingw-msys or whatever.
+- No, both tree-sitter and tree-sitter-langs provide pre-compiled binaries for macOS, Linux, and Windows.
+
+Yes, it should work out-of-the-box on Windows, provided that Emacs was compiled with module support turned on.
## Q11: Is it possible to use this for refactoring too?
@@ -108,6 +111,7 @@ I meant the lisp and user interfaces being unified, not the implementations of t
For the time being it looks like nvim-treesitter also uses the S-exp syntax for queries so it shouldn't be too hard. See <https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/rust/highlights.scm>
+- No effort has been spent on compatibility yet. Each editor has its own existing conventions for highlighting. Having a common set of basic "capture names" is possible, and will require efforts from multiple editor communities. (Emacs and NeoVim for now. The editor that introduced tree-sitter, Atom, hasn't used these queries for highlighting.)
## Q6: Will it ever be possible to write tree-sitter grammars in a Lisp, or will JS be required?
@@ -137,13 +141,13 @@ An obstacle here is Org not having anything anywhere close to a formal grammar,
FIXME: Add link to a emacs-tree-sitter project/snippet for org-mode.
- Not sure if it is what you have in mind, but there is <https://github.com/gagbo/tree-sitter-org>
-
+ - Yes, this is it.
## Q2: Will elisp performance be more competitive with gccemacs enough to make tree-sitter in elisp more attractive? (+1)+1
-The point of this project is to reuse other people's efforts, not rewriting them.
+~~The point of this project is to reuse other people's efforts, not rewriting them.~~
-The garbage collection may still pose some problems and introduce GC latency.
+It's a possibility. In terms of probability, probably not. It's a huge amount of work. The GC latency is also a fundamental issue.
## Q1: Do you think that his package can be included into emacs/GNU ELPA?
@@ -156,8 +160,8 @@ Yes, it is just matter of paperwork.
- Project description: emacs-tree-sitter is an Emacs Lisp binding for tree-sitter, an incremental parsing library.
- <https://github.com/ubolonton/emacs-tree-sitter> (<- bindings)
+ - <https://ubolonton.github.io/emacs-tree-sitter/> (<- documentation)
- <https://tree-sitter.github.io/tree-sitter/> (<- parser)
- Regular expressions are not powerful enough.
- LSP has high latency and is resource intensive, oft.
-- Extended video version will get uploaded eventually after the event. (FIXME: add link)
-
+- An updated video version was uploaded after the event, with the missing introduction to Tree-sitter added.