diff options
Diffstat (limited to '2020/subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen-autogen.sbv')
-rw-r--r-- | 2020/subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen-autogen.sbv | 1086 |
1 files changed, 0 insertions, 1086 deletions
diff --git a/2020/subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen-autogen.sbv b/2020/subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen-autogen.sbv deleted file mode 100644 index 866a383f..00000000 --- a/2020/subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen-autogen.sbv +++ /dev/null @@ -1,1086 +0,0 @@ -0:00:00.960,0:00:05.600 -uh okay so the first question is is uh - -0:00:03.679,0:00:08.000 -do you think that this package can be - -0:00:05.600,0:00:11.760 -included into Emacs or - -0:00:08.000,0:00:11.760 -uh empire uh - -0:00:12.320,0:00:18.560 -I think uh it most definitely can is - -0:00:15.360,0:00:21.760 -just a matter of paperwork but - -0:00:18.560,0:00:24.480 -the reason I initially wanted to make it - -0:00:21.760,0:00:25.039 -like a central package is that so that I - -0:00:24.480,0:00:28.720 -can - -0:00:25.039,0:00:31.920 -experiment with it more - -0:00:28.720,0:00:34.320 -like have more freedom to experiment but - -0:00:31.920,0:00:35.680 -eventually I think is a good candidate - -0:00:34.320,0:00:37.920 -for inclusion into - -0:00:35.680,0:00:37.920 -core - -0:00:38.800,0:00:42.640 -and because because currently not in - -0:00:41.200,0:00:44.480 -corey mass there are a couple of - -0:00:42.640,0:00:47.840 -problems with it - -0:00:44.480,0:00:50.960 -mostly in terms of performance - -0:00:47.840,0:00:53.280 -for example like anytime we want to - -0:00:50.960,0:00:54.160 -access the text in a buffer we need to - -0:00:53.280,0:00:57.360 -make - -0:00:54.160,0:01:00.480 -a copy of the text into a string - -0:00:57.360,0:01:03.520 -and then right after reading from that - -0:01:00.480,0:01:05.280 -text we need to free it right away and - -0:01:03.520,0:01:09.040 -that results in a lot of garbage - -0:01:05.280,0:01:11.920 -collection so it would be better - -0:01:09.040,0:01:12.240 -either the treasure could be included in - -0:01:11.920,0:01:15.680 -core - -0:01:12.240,0:01:16.799 -imax or dynamic dynamic model support - -0:01:15.680,0:01:19.439 -can be - -0:01:16.799,0:01:21.920 -augmented with direct text access - -0:01:19.439,0:01:21.920 -somehow - -0:01:24.080,0:01:27.200 -so the second question is will release - -0:01:26.400,0:01:30.320 -performance - -0:01:27.200,0:01:33.040 -be more competitive with cce max - -0:01:30.320,0:01:35.520 -enough so electricity in english is more - -0:01:33.040,0:01:35.520 -attractive - -0:01:35.670,0:01:43.439 -[Music] - -0:01:38.240,0:01:45.840 -I think it's possible but uh yeah - -0:01:43.439,0:01:46.799 -not sure about the amount of effort it - -0:01:45.840,0:01:52.000 -can be - -0:01:46.799,0:01:52.000 -multi-years effort and one thing that - -0:01:52.960,0:02:00.640 -even though gce max can make uh - -0:01:56.479,0:02:00.640 -it is fast enough there's - -0:02:00.719,0:02:05.280 -there's one thing that it uh cannot have - -0:02:03.119,0:02:09.679 -which is that because it's the lisp - -0:02:05.280,0:02:12.480 -it needs the garage collector so - -0:02:09.679,0:02:14.000 -we may experiment experience some kind - -0:02:12.480,0:02:17.360 -of - -0:02:14.000,0:02:19.920 -gcc post if we use live whereas the - -0:02:17.360,0:02:24.720 -currently transistor is written in c - -0:02:19.920,0:02:24.720 -so there's no such latency - -0:02:28.400,0:02:32.400 -the next question is do you think three - -0:02:31.040,0:02:36.080 -sister would be useful - -0:02:32.400,0:02:38.319 -for all buffers I can imagine it being - -0:02:36.080,0:02:39.599 -used to keep a post ast about an arc - -0:02:38.319,0:02:42.560 -buffer - -0:02:39.599,0:02:43.920 -light off element and update it in real - -0:02:42.560,0:02:46.239 -time - -0:02:43.920,0:02:47.760 -yeah actually this is a very interesting - -0:02:46.239,0:02:50.800 -idea - -0:02:47.760,0:02:53.760 -I saw someone started - -0:02:50.800,0:02:55.120 -resistor grammar for all already I don't - -0:02:53.760,0:02:58.159 -have a link right now but - -0:02:55.120,0:03:01.040 -I can look for it - -0:02:58.159,0:03:01.680 -I'll try looking for it and put the link - -0:03:01.040,0:03:05.840 -in - -0:03:01.680,0:03:05.840 -here later - -0:03:09.599,0:03:15.519 -yeah yes someone has written here the uh - -0:03:13.280,0:03:17.040 -and the biggest problem with uh right - -0:03:15.519,0:03:20.560 -now is that it doesn't have - -0:03:17.040,0:03:20.560 -formal grammar so - -0:03:21.360,0:03:24.400 -so the effort - -0:03:22.380,0:03:27.120 -[Applause] - -0:03:24.400,0:03:28.799 -be quite big I think but but once we - -0:03:27.120,0:03:31.519 -have that because the - -0:03:28.799,0:03:33.840 -tree sitter can be run on the web as - -0:03:31.519,0:03:33.840 -well - -0:03:34.239,0:03:38.080 -we can on the web and in many other - -0:03:37.440,0:03:40.720 -places - -0:03:38.080,0:03:41.840 -if we have a grammar for a traditional - -0:03:40.720,0:03:45.680 -grammar for all - -0:03:41.840,0:03:49.680 -we can bring off more - -0:03:45.680,0:03:52.000 -like everywhere that's a very cool - -0:03:49.680,0:03:52.000 -thought - -0:03:56.000,0:04:00.480 -next one is could this be used with - -0:03:58.080,0:04:03.200 -packages like smart parents that aim to - -0:04:00.480,0:04:07.120 -bring structural editing to - -0:04:03.200,0:04:11.360 -non-s expression based languages - -0:04:07.120,0:04:14.720 -yes that is actually one of the - -0:04:11.360,0:04:17.280 -intended use cases initially - -0:04:14.720,0:04:18.880 -it's definitely possible but it's just - -0:04:17.280,0:04:29.840 -that no one has - -0:04:18.880,0:04:29.840 -only started writing the integration yet - -0:04:37.199,0:04:41.919 -and next one - -0:04:40.639,0:04:45.040 -could you show the source that was - -0:04:41.919,0:04:48.479 -matched by the parser in the debug view - -0:04:45.040,0:04:53.440 -in addition to the grammar part matched - -0:04:48.479,0:04:53.440 -uh yeah that's actually um - -0:04:54.960,0:04:59.280 -on my to-do list but I haven't had time - -0:04:57.759,0:05:02.560 -for it yet - -0:04:59.280,0:05:06.560 -so uh if you go to the treesita - -0:05:02.560,0:05:08.800 -website it also has an - -0:05:06.560,0:05:11.840 -online playground where you can input - -0:05:08.800,0:05:11.840 -the code and see the - -0:05:12.000,0:05:16.000 -parse tree in real time and it's - -0:05:14.400,0:05:19.360 -actually - -0:05:16.000,0:05:22.840 -a lot more fancy than what we have in - -0:05:19.360,0:05:25.919 -imax currently so - -0:05:22.840,0:05:27.120 -yeah I just don't have time for it yes - -0:05:25.919,0:05:30.240 -so - -0:05:27.120,0:05:30.240 -some help here would be - -0:05:30.320,0:05:41.730 -very appreciated - -0:05:38.700,0:05:41.730 -[Music] - -0:05:49.919,0:05:54.240 -the next question is will it ever be - -0:05:52.000,0:05:55.280 -possible to write resetter grammars in a - -0:05:54.240,0:05:59.520 -lisp - -0:05:55.280,0:05:59.520 -or will javascript be required - -0:06:00.560,0:06:05.280 -yeah that is already answered in the - -0:06:02.800,0:06:07.600 -part so the - -0:06:05.280,0:06:08.639 -the transcript is actually just used as - -0:06:07.600,0:06:12.160 -a sort of - -0:06:08.639,0:06:14.639 -preprocessor so the - -0:06:12.160,0:06:15.680 -python generator actually works on the - -0:06:14.639,0:06:19.280 -on a json - -0:06:15.680,0:06:20.240 -structure so uh it's definitely possible - -0:06:19.280,0:06:24.240 -to replace - -0:06:20.240,0:06:24.240 -javascript with lists for this - -0:06:29.039,0:06:32.160 -how extensive will the compatibility - -0:06:31.280,0:06:35.360 -between - -0:06:32.160,0:06:35.840 -highlighting grammars for e-max and - -0:06:35.360,0:06:41.039 -those - -0:06:35.840,0:06:41.039 -for veeam nail view - -0:06:44.560,0:06:51.680 -so so right now the - -0:06:48.720,0:06:52.000 -nail vim and Emacs used a different set - -0:06:51.680,0:06:55.440 -of - -0:06:52.000,0:06:59.520 -the highlighting queries and - -0:06:55.440,0:07:03.039 -item probably uses another set of - -0:06:59.520,0:07:04.960 -patterns as well I think it makes sense - -0:07:03.039,0:07:07.680 -because - -0:07:04.960,0:07:08.479 -each editor has its own like existing - -0:07:07.680,0:07:11.919 -conventions - -0:07:08.479,0:07:15.599 -for syntax highlighting so - -0:07:11.919,0:07:18.560 -at least in the beginning I don't expect - -0:07:15.599,0:07:21.520 -there is any compatibility between - -0:07:18.560,0:07:21.520 -different editors - -0:07:21.599,0:07:26.639 -but I think in the long run it will be - -0:07:27.280,0:07:31.360 -would it better if there's some kind of - -0:07:29.520,0:07:34.880 -effort to - -0:07:31.360,0:07:37.440 -unify the at least provide the - -0:07:34.880,0:07:39.759 -most common patterns that should work - -0:07:37.440,0:07:39.759 -across - -0:07:42.840,0:07:45.840 -editors - -0:07:51.759,0:07:55.280 -next one is could there be a - -0:07:53.520,0:07:57.919 -standardized approach - -0:07:55.280,0:08:00.319 -to coding automatic refactoring in the - -0:07:57.919,0:08:00.319 -future - -0:08:01.039,0:08:04.160 -so that whichever language mode you're - -0:08:02.639,0:08:12.960 -using you could see many - -0:08:04.160,0:08:16.400 -available refactoring operations - -0:08:12.960,0:08:18.639 -I'm not sure about this because the - -0:08:16.400,0:08:18.639 -like - -0:08:19.919,0:08:23.840 -most of uh refactoring operations are - -0:08:22.240,0:08:26.960 -actually very - -0:08:23.840,0:08:28.720 -like highly specific to a language or at - -0:08:26.960,0:08:32.800 -least to class of - -0:08:28.720,0:08:32.800 -class of languages so - -0:08:33.599,0:08:40.719 -so so maybe it's not like uh one single - -0:08:37.839,0:08:41.519 -approach for all the languages but maybe - -0:08:40.719,0:08:43.760 -uh - -0:08:41.519,0:08:44.959 -one for object-oriented oriented - -0:08:43.760,0:08:49.920 -languages - -0:08:44.959,0:08:49.920 -one for lisp like language for example - -0:08:50.160,0:08:55.839 -maybe one for javascript and typestream - -0:09:02.959,0:09:07.519 -next question is uh I'm completely new - -0:09:05.360,0:09:10.160 -to trisita how do I use it - -0:09:07.519,0:09:11.519 -as an end user is there any easy example - -0:09:10.160,0:09:14.000 -config out there - -0:09:11.519,0:09:15.440 -the organizer otherwise that shows - -0:09:14.000,0:09:18.959 -standard usage - -0:09:15.440,0:09:18.959 -with whatever programming language - -0:09:18.960,0:09:23.920 -[Music] - -0:09:20.480,0:09:23.920 -yeah there's no um - -0:09:27.600,0:09:32.000 -uh actually that uh so the project has - -0:09:30.880,0:09:36.399 -the documentation - -0:09:32.000,0:09:40.720 -site but it's not very expensive yet - -0:09:36.399,0:09:44.000 -I think we need to add more examples - -0:09:40.720,0:09:44.000 -to the documentation - -0:09:48.720,0:09:53.519 -can language major mode authors start - -0:09:51.200,0:09:56.240 -taking advantage of this now - -0:09:53.519,0:09:57.279 -or is it intended to be used as a minor - -0:09:56.240,0:10:00.399 -mode - -0:09:57.279,0:10:01.600 -uh actually it's both so it's intended - -0:10:00.399,0:10:04.480 -to be used - -0:10:01.600,0:10:05.920 -as a minor mode but it's also intended - -0:10:04.480,0:10:09.839 -to - -0:10:05.920,0:10:13.519 -be depended on by the major mode - -0:10:09.839,0:10:13.920 -so basically it it wants to be a minor - -0:10:13.519,0:10:17.200 -mode - -0:10:13.920,0:10:19.839 -that is dependent on by the other - -0:10:17.200,0:10:19.839 -major modes - -0:10:21.839,0:10:29.279 -and by it here I mean the the base - -0:10:25.680,0:10:29.279 -minor mode tree system mode - -0:10:30.839,0:10:37.120 -so uh question - -0:10:34.079,0:10:40.160 -11 is it possible to use this - -0:10:37.120,0:10:43.360 -for refactoring tool - -0:10:40.160,0:10:46.720 -uh yeah but - -0:10:43.360,0:10:47.680 -um like for the kind of refactoring - -0:10:46.720,0:10:52.079 -inside uh - -0:10:47.680,0:10:52.079 -buffer it is uh - -0:10:52.640,0:10:57.040 -it's very doable right now but you need - -0:10:55.040,0:11:01.120 -to write some glue code - -0:10:57.040,0:11:04.000 -but for for the kind of more - -0:11:01.120,0:11:04.399 -extensive refactoring where you want to - -0:11:04.000,0:11:09.120 -touch - -0:11:04.399,0:11:09.120 -uh like all files in a project - -0:11:09.279,0:11:12.839 -there needs there needs to be some kind - -0:11:11.440,0:11:15.920 -of the project - -0:11:12.839,0:11:18.399 -and another project and uh - -0:11:15.920,0:11:19.200 -understanding of the language uh model - -0:11:18.399,0:11:21.120 -system - -0:11:19.200,0:11:22.560 -like how they are laid out in the file - -0:11:21.120,0:11:24.480 -system as well - -0:11:22.560,0:11:26.240 -and with that understanding that there - -0:11:24.480,0:11:29.920 -should be passing of - -0:11:26.240,0:11:30.480 -the files even files on the file system - -0:11:29.920,0:11:34.000 -that - -0:11:30.480,0:11:37.760 -are not yet loaded into Emacs - -0:11:34.000,0:11:40.320 -so that sounds like something more - -0:11:37.760,0:11:40.320 -a lot more - -0:11:41.040,0:11:44.560 -a lot more extensive - -0:11:46.320,0:11:50.000 -and it probably probably sounds like - -0:11:49.519,0:11:52.160 -something - -0:11:50.000,0:11:54.560 -something like an id in uh inside your - -0:11:52.160,0:11:57.839 -max already like a replacement for - -0:11:54.560,0:11:57.839 -for lsp - -0:12:07.360,0:12:11.440 -so next question is the that pop-up mx - -0:12:10.480,0:12:14.480 -window - -0:12:11.440,0:12:14.480 -how do you get that - -0:12:15.200,0:12:20.320 -is the custom hem code I wrote a long - -0:12:18.720,0:12:24.800 -time ago - -0:12:20.320,0:12:26.480 -but but right now the best way to - -0:12:24.800,0:12:29.440 -to have something like that is probably - -0:12:26.480,0:12:33.200 -the what is written here like uh - -0:12:29.440,0:12:39.839 -ham boss frame or iv spring - -0:12:33.200,0:12:43.680 -is a lot easier now - -0:12:39.839,0:12:46.320 -is there a folding mode for tree sitter - -0:12:43.680,0:12:48.079 -nowadays there's no folding mode for - -0:12:46.320,0:12:52.000 -three sitters yet - -0:12:48.079,0:12:54.880 -but uh - -0:12:52.000,0:12:58.720 -uh but I think it would better be better - -0:12:54.880,0:12:58.720 -if it's integrated with the - -0:12:59.440,0:13:03.120 -like current currently there are - -0:13:02.079,0:13:04.880 -multiple - -0:13:03.120,0:13:07.200 -I'm not sure they're moving forward - -0:13:04.880,0:13:10.240 -there are like code folding frameworks - -0:13:07.200,0:13:12.800 -inside imax already or some the - -0:13:10.240,0:13:13.920 -code showing packages like third party - -0:13:12.800,0:13:15.680 -packaging - -0:13:13.920,0:13:17.680 -and I think it's better to integrate - -0:13:15.680,0:13:20.000 -with these mods - -0:13:17.680,0:13:22.560 -rather than writing something new - -0:13:20.000,0:13:22.560 -entirely - -0:13:32.399,0:13:36.639 -are there any language major modes that - -0:13:34.800,0:13:40.079 -have integrated already - -0:13:36.639,0:13:42.800 -uh not yet - -0:13:40.079,0:13:43.440 -so the there was a proposed web assembly - -0:13:42.800,0:13:46.839 -mode - -0:13:43.440,0:13:50.000 -but it's a new major mode in terms of - -0:13:46.839,0:13:52.880 -existing major mode there is the - -0:13:50.000,0:13:52.880 -typescript mode - -0:13:53.279,0:13:57.519 -but they're only discussing about - -0:13:55.600,0:14:02.079 -integration - -0:13:57.519,0:14:04.639 -they're not integrated yet - -0:14:02.079,0:14:05.360 -I think I can try writing the - -0:14:04.639,0:14:09.199 -integration - -0:14:05.360,0:14:11.839 -sometimes next month - -0:14:09.199,0:14:12.720 -uh basically what they want right now is - -0:14:11.839,0:14:16.160 -the - -0:14:12.720,0:14:19.199 -syntax highlighting and handling - -0:14:16.160,0:14:22.959 -synthetic highlighting and - -0:14:19.199,0:14:27.760 -code indentation for tsx - -0:14:22.959,0:14:31.839 -which is the embedded react - -0:14:27.760,0:14:31.839 -syntax inside typescript - -0:14:32.160,0:14:40.000 -so it turns out passing these tests - -0:14:36.399,0:14:40.000 -is very troublesome so - -0:14:40.639,0:14:47.040 -so trees that would be a crystal would - -0:14:43.920,0:14:47.040 -be a lot of help there - -0:14:49.920,0:14:59.839 -is there any link to the slides yes - -0:14:53.279,0:14:59.839 -I'll post it in irc later - -0:14:59.920,0:15:04.240 -regarding imax integration we will - -0:15:01.920,0:15:05.440 -always need to be a foreign library or - -0:15:04.240,0:15:09.920 -can it be included - -0:15:05.440,0:15:09.920 -linked directly in compilation - -0:15:10.839,0:15:17.600 -uh if if this is about the - -0:15:14.480,0:15:21.839 -core library itself - -0:15:17.600,0:15:23.440 -then I think it's uh answered it in the - -0:15:21.839,0:15:27.440 -first question - -0:15:23.440,0:15:29.920 -right now is a right now it's a - -0:15:27.440,0:15:30.959 -dynamic model but in the long run it - -0:15:29.920,0:15:34.000 -will better if - -0:15:30.959,0:15:39.839 -it's included in core Emacs - -0:15:34.000,0:15:41.360 -for the language definitions themselves - -0:15:39.839,0:15:43.279 -it should be better if they are - -0:15:41.360,0:15:46.639 -distributed uh - -0:15:43.279,0:15:49.199 -separately like that right now so each - -0:15:46.639,0:15:49.680 -uh for each language there will be a - -0:15:49.199,0:15:52.639 -shared - -0:15:49.680,0:15:55.839 -library that will be loaded by the core - -0:15:52.639,0:15:55.839 -library at runtime - -0:16:00.480,0:16:04.240 -so the last question is the python mode - -0:16:02.480,0:16:06.160 -example is pretty good - -0:16:04.240,0:16:07.600 -is that something that one can use - -0:16:06.160,0:16:11.759 -already - -0:16:07.600,0:16:11.759 -yes I'm using it at work right now - -0:16:12.320,0:16:17.360 -I think that's all for that's all the - -0:16:14.639,0:16:17.360 -questions right - -0:16:19.199,0:16:27.839 -you are now unmuted yeah I think that's - -0:16:23.440,0:16:30.399 -all the questions on the pads so far um - -0:16:27.839,0:16:32.399 -so thank you but um there may be more - -0:16:30.399,0:16:36.639 -questions coming on irc - -0:16:32.399,0:16:39.680 -um I'll try to have a look - -0:16:36.639,0:16:40.560 -and we still have about 10 or 15 more - -0:16:39.680,0:16:43.600 -minutes so - -0:16:40.560,0:16:46.880 -um there's no rush to wrap up in case um - -0:16:43.600,0:16:46.880 -anyone has any more questions - -0:16:48.160,0:16:51.360 -uh yeah I just realized that uh I mixed - -0:16:50.880,0:16:54.959 -up the - -0:16:51.360,0:16:56.000 -video editing and I uh lost an entire - -0:16:54.959,0:17:00.880 -session on the - -0:16:56.000,0:17:00.880 -introduction to treesita oh - -0:17:01.120,0:17:05.839 -no worries - -0:17:06.640,0:17:20.079 -you are now muted - -0:17:18.079,0:17:21.679 -sounds like a perfect opportunity for - -0:17:20.079,0:17:24.000 -you to redo the introduction if you'd - -0:17:21.679,0:17:24.000 -like to - -0:17:24.640,0:17:30.000 -uh actually uh forgot a lot of that - -0:17:30.799,0:17:35.760 -and I'm with uh tired now so no I don't - -0:17:33.760,0:17:39.200 -think I can do it - -0:17:35.760,0:17:43.520 -it's uh 30 minutes until my bedtime - -0:17:39.200,0:17:46.640 -oh yeah yeah okay you are now unmuted - -0:17:43.520,0:17:50.480 -so in that case maybe we should - -0:17:46.640,0:17:54.240 -um we should let tona - -0:17:50.480,0:17:56.960 -get started going to bed and um and - -0:17:54.240,0:17:57.840 -I mean then I will figure out what to do - -0:17:56.960,0:17:59.360 -with the time - -0:17:57.840,0:18:02.160 -should we start the next talk early - -0:17:59.360,0:18:05.360 -since it's pre-recorded - -0:18:02.160,0:18:07.919 -um yeah we can do we can do that um - -0:18:05.360,0:18:09.919 -but um yeah tonight it you know right - -0:18:07.919,0:18:10.480 -now it's pretty late there um no worries - -0:18:09.919,0:18:12.720 -but - -0:18:10.480,0:18:13.520 -yeah if you know over the next few days - -0:18:12.720,0:18:16.559 -or weeks - -0:18:13.520,0:18:20.240 -if you would like to um you know - -0:18:16.559,0:18:22.080 -do a quick pre-recording or recording - -0:18:20.240,0:18:24.320 -to add the introduction and then stitch - -0:18:22.080,0:18:26.559 -it in with what you had already sent me - -0:18:24.320,0:18:30.160 -um by all means please do that and I - -0:18:26.559,0:18:33.760 -will upload the edited version - -0:18:30.160,0:18:33.760 -uh yeah yeah I'll try to do that - -0:18:34.880,0:18:39.760 -thank you yep thank you so much bye - |