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