From 8e110e52ca16433829408df9ff56afb2e2a01d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tu=E1=BA=A5n-Anh=20Nguy=E1=BB=85n?= Date: Sun, 6 Dec 2020 13:35:32 +0700 Subject: Talk 23: Update witht additions from the pad --- 2020/info/23.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to '2020') 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. -- 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: # 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: @@ -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 +- 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 - + - 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. - (<- bindings) + - (<- documentation) - (<- 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. -- cgit v1.2.3