~/talk

Incremental Parsing with emacs-tree-sitter

Talkat EmacsConf 2020 · 2020-11-28..11-29· [compilers-and-language-design]
slides:none on file

Emacs integration embeds the C tree-sitter library via a dynamic module and three packages: TSC core, tree-sitter main mode and a precompiled tree-sitter-langs bundle for three platforms; parsers can also compile to WebAssembly for web use. Incremental parsing updates the syntax tree in real time, with initial parse tens of milliseconds and incremental reparses sub-millisecond. Syntax highlighting, string interpolation, decorators, function names and property accessors are detected and highlighted correctly.

AI-written summary · about

  1. 0:00Introduction
  2. 0:23Problem with regex parsing
  3. 1:49Language-specific parsers
  4. 3:14Language server protocol issues
  5. 4:17Tree-sitter introduction
  6. 5:22Why Tree-sitter is fast
  7. 6:04Tree-sitter’s uniform API
  8. 6:50Emacs integration progress
  9. 7:55Tree-sitter modes demo
  10. 9:35Syntax highlighting with queries
  11. 10:59Core data structures overview
  12. 12:28Named vs anonymous nodes
  13. 14:04Query language basics
  14. 15:30Highlighting function names
  15. 16:40Distinguishing string types
  16. 19:27Project-specific highlighting
  17. 21:55Language bundle package
  18. 22:39Community contribution areas
  19. 23:44Integrating Tree-sitter
  20. 25:12Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.