uh okay so the first question is is uh
do you think that this package can be
included into Emacs or
uh empire uh
I think uh it most definitely can is
just a matter of paperwork but
the reason I initially wanted to make it
like a central package is that so that I
can
experiment with it more
like have more freedom to experiment but
eventually I think is a good candidate
for inclusion into
core
and because because currently not in
corey mass there are a couple of
problems with it
mostly in terms of performance
for example like anytime we want to
access the text in a buffer we need to
make
a copy of the text into a string
and then right after reading from that
text we need to free it right away and
that results in a lot of garbage
collection so it would be better
either the treasure could be included in
core
imax or dynamic dynamic model support
can be
augmented with direct text access
somehow
so the second question is will release
performance
be more competitive with cce max
enough so electricity in english is more
attractive
[Music]
I think it's possible but uh yeah
not sure about the amount of effort it
can be
multi-years effort and one thing that
even though gce max can make uh
it is fast enough there's
there's one thing that it uh cannot have
which is that because it's the lisp
it needs the garage collector so
we may experiment experience some kind
of
gcc post if we use live whereas the
currently transistor is written in c
so there's no such latency
the next question is do you think three
sister would be useful
for all buffers I can imagine it being
used to keep a post ast about an arc
buffer
light off element and update it in real
time
yeah actually this is a very interesting
idea
I saw someone started
resistor grammar for all already I don't
have a link right now but
I can look for it
I'll try looking for it and put the link
in
here later
yeah yes someone has written here the uh
and the biggest problem with uh right
now is that it doesn't have
formal grammar so
so the effort
[Applause]
be quite big I think but but once we
have that because the
tree sitter can be run on the web as
well
we can on the web and in many other
places
if we have a grammar for a traditional
grammar for all
we can bring off more
like everywhere that's a very cool
thought
next one is could this be used with
packages like smart parents that aim to
bring structural editing to
non-s expression based languages
yes that is actually one of the
intended use cases initially
it's definitely possible but it's just
that no one has
only started writing the integration yet
and next one
could you show the source that was
matched by the parser in the debug view
in addition to the grammar part matched
uh yeah that's actually um
on my to-do list but I haven't had time
for it yet
so uh if you go to the treesita
website it also has an
online playground where you can input
the code and see the
parse tree in real time and it's
actually
a lot more fancy than what we have in
imax currently so
yeah I just don't have time for it yes
so
some help here would be
very appreciated
[Music]
the next question is will it ever be
possible to write resetter grammars in a
lisp
or will javascript be required
yeah that is already answered in the
part so the
the transcript is actually just used as
a sort of
preprocessor so the
python generator actually works on the
on a json
structure so uh it's definitely possible
to replace
javascript with lists for this
how extensive will the compatibility
between
highlighting grammars for e-max and
those
for veeam nail view
so so right now the
nail vim and Emacs used a different set
of
the highlighting queries and
item probably uses another set of
patterns as well I think it makes sense
because
each editor has its own like existing
conventions
for syntax highlighting so
at least in the beginning I don't expect
there is any compatibility between
different editors
but I think in the long run it will be
would it better if there's some kind of
effort to
unify the at least provide the
most common patterns that should work
across
editors
next one is could there be a
standardized approach
to coding automatic refactoring in the
future
so that whichever language mode you're
using you could see many
available refactoring operations
I'm not sure about this because the
like
most of uh refactoring operations are
actually very
like highly specific to a language or at
least to class of
class of languages so
so so maybe it's not like uh one single
approach for all the languages but maybe
uh
one for object-oriented oriented
languages
one for lisp like language for example
maybe one for javascript and typestream
next question is uh I'm completely new
to trisita how do I use it
as an end user is there any easy example
config out there
the organizer otherwise that shows
standard usage
with whatever programming language
[Music]
yeah there's no um
uh actually that uh so the project has
the documentation
site but it's not very expensive yet
I think we need to add more examples
to the documentation
can language major mode authors start
taking advantage of this now
or is it intended to be used as a minor
mode
uh actually it's both so it's intended
to be used
as a minor mode but it's also intended
to
be depended on by the major mode
so basically it it wants to be a minor
mode
that is dependent on by the other
major modes
and by it here I mean the the base
minor mode tree system mode
so uh question
11 is it possible to use this
for refactoring tool
uh yeah but
um like for the kind of refactoring
inside uh
buffer it is uh
it's very doable right now but you need
to write some glue code
but for for the kind of more
extensive refactoring where you want to
touch
uh like all files in a project
there needs there needs to be some kind
of the project
and another project and uh
understanding of the language uh model
system
like how they are laid out in the file
system as well
and with that understanding that there
should be passing of
the files even files on the file system
that
are not yet loaded into Emacs
so that sounds like something more
a lot more
a lot more extensive
and it probably probably sounds like
something
something like an id in uh inside your
max already like a replacement for
for lsp
so next question is the that pop-up mx
window
how do you get that
is the custom hem code I wrote a long
time ago
but but right now the best way to
to have something like that is probably
the what is written here like uh
ham boss frame or iv spring
is a lot easier now
is there a folding mode for tree sitter
nowadays there's no folding mode for
three sitters yet
but uh
uh but I think it would better be better
if it's integrated with the
like current currently there are
multiple
I'm not sure they're moving forward
there are like code folding frameworks
inside imax already or some the
code showing packages like third party
packaging
and I think it's better to integrate
with these mods
rather than writing something new
entirely
are there any language major modes that
have integrated already
uh not yet
so the there was a proposed web assembly
mode
but it's a new major mode in terms of
existing major mode there is the
typescript mode
but they're only discussing about
integration
they're not integrated yet
I think I can try writing the
integration
sometimes next month
uh basically what they want right now is
the
syntax highlighting and handling
synthetic highlighting and
code indentation for tsx
which is the embedded react
syntax inside typescript
so it turns out passing these tests
is very troublesome so
so trees that would be a crystal would
be a lot of help there
is there any link to the slides yes
I'll post it in irc later
regarding imax integration we will
always need to be a foreign library or
can it be included
linked directly in compilation
uh if if this is about the
core library itself
then I think it's uh answered it in the
first question
right now is a right now it's a
dynamic model but in the long run it
will better if
it's included in core Emacs
for the language definitions themselves
it should be better if they are
distributed uh
separately like that right now so each
uh for each language there will be a
shared
library that will be loaded by the core
library at runtime
so the last question is the python mode
example is pretty good
is that something that one can use
already
yes I'm using it at work right now
I think that's all for that's all the
questions right
you are now unmuted yeah I think that's
all the questions on the pads so far um
so thank you but um there may be more
questions coming on irc
um I'll try to have a look
and we still have about 10 or 15 more
minutes so
um there's no rush to wrap up in case um
anyone has any more questions
uh yeah I just realized that uh I mixed
up the
video editing and I uh lost an entire
session on the
introduction to treesita oh
no worries
you are now muted
sounds like a perfect opportunity for
you to redo the introduction if you'd
like to
uh actually uh forgot a lot of that
and I'm with uh tired now so no I don't
think I can do it
it's uh 30 minutes until my bedtime
oh yeah yeah okay you are now unmuted
so in that case maybe we should
um we should let tona
get started going to bed and um and
I mean then I will figure out what to do
with the time
should we start the next talk early
since it's pre-recorded
um yeah we can do we can do that um
but um yeah tonight it you know right
now it's pretty late there um no worries
but
yeah if you know over the next few days
or weeks
if you would like to um you know
do a quick pre-recording or recording
to add the introduction and then stitch
it in with what you had already sent me
um by all means please do that and I
will upload the edited version
uh yeah yeah I'll try to do that
thank you yep thank you so much bye