unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* emacs-tree-sitter and Emacs
@ 2020-03-30  3:23 Jorge Javier Araya Navarro
  2020-03-30 13:07 ` Eli Zaretskii
  2020-03-30 14:11 ` Stefan Monnier
  0 siblings, 2 replies; 46+ messages in thread
From: Jorge Javier Araya Navarro @ 2020-03-30  3:23 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 3369 bytes --]

Hi!

I'm the second contributor of emacs-tree-sitter, a fine dude linked the
mail thread where emacs-tree-sitter was mentioned and I went through it.

First off, in the issue tracker we have a ticket open for making this
project available on GNU ELPA, Ubolonton seems willing to make that a
reality but this package has some special requirements that would make
impossible to submit it to GNU ELPA or MELPA, for instance, we need to ship
with grammars for some languages that require compiling and AFAIK there is
no way to build external dependencies in *ELPA.[1]

That said, most GNU/Linux distributions ship Emacs with the modules feature
turned off, AFAIK, which for me personally (and maybe Ubolonton would agree
with me) is worrisome: I would like to everybody enjoy the benefits of this
project without having to re-compile Emacs, not sure if this happens
because Emacs itself ships with the flag turned off by default,
clarification about this is welcome.

I have gone through th0rex's pull request[2] and nothing suggests that
hooks are being used in order to do the fontification of buffers, the only
hook we have is `tree-sitter--after-change', it does re-parsing and keeps
the tree updated; the plan seems to use font-lock. There are some "edge
cases" with fontification like, for instance, multiple-language files, that
the project still has to find an answer[3].

Indeed, projects like this and lsp have their entire development cycle
confined to the comfort of Github, but (and I only speak for myself) it
never crossed my mind to send an email here requesting any kind of help or
advice, the time I needed a code review for one of my branch while the
project owner was absent I actually made a post on Reddit. Don't get me
wrong, I (and I presume this is the case for Ubolonton too) have no beef
against emacs-devel or any of the maintainers, is that emacs-devel wasn't
front and center in my mind when I had to seek help.

th0rex informed us that he won't be able to keep working on his pull
request for some time, I think in some months are left to go, but after
that he would present something better than what is currently shown[4]. In
any case, he had some issues with fontification and I would appreciate if
someone here with more experience in Emacs Lisp and font-lock could take a
look and comment the pull request. I understand font-lock is documented but
for me at least was too dense to wrap my mind around it, I would suggest
code examples would come handy, not sure if the suggestion sounds absurd.

Finally, I'm planning to tackle indentation for my next pull request. It
come as a surprise that Emacs has no "central" indentation engine but that
instead each major mode ships with its own indentation engine. Maybe
someone here could point me in the right direction? it seems this entry in
the Emacs Lisp reference manual about indentation covers the facilities
common to each engine of all major modes[5].

Hopefully can eventually join the conversation. I'm looking forward to the
replies.

[1]: https://github.com/ubolonton/emacs-tree-sitter/issues/1
[2]: https://github.com/ubolonton/emacs-tree-sitter/pull/16
[3]: https://github.com/ubolonton/emacs-tree-sitter/issues/33
[4]:
https://github.com/ubolonton/emacs-tree-sitter/pull/16#issuecomment-591402521
[5]:
https://www.gnu.org/software/emacs/manual/html_node/elisp/Indentation.html

[-- Attachment #2: Type: text/html, Size: 8240 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2020-04-04  0:00 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-30  3:23 emacs-tree-sitter and Emacs Jorge Javier Araya Navarro
2020-03-30 13:07 ` Eli Zaretskii
2020-03-30 14:00   ` Stefan Monnier
2020-04-01  0:08     ` Stephen Leake
2020-04-01  0:27   ` Stephen Leake
2020-04-01 13:20     ` Eli Zaretskii
2020-04-01 19:51       ` Stephen Leake
2020-04-02 14:03         ` Eli Zaretskii
2020-04-02 14:27           ` Michael Welsh Duggan
2020-04-02 15:15             ` Eli Zaretskii
2020-04-02 15:24               ` Michael Welsh Duggan
2020-04-02 16:10                 ` Eli Zaretskii
2020-04-02 16:19                   ` Michael Welsh Duggan
2020-04-02 17:18                     ` Yuan Fu
2020-04-02 17:39                       ` Stefan Monnier
2020-04-02 18:17                         ` Yuan Fu
2020-04-02 18:26                           ` Stefan Monnier
2020-04-03  2:16                           ` Stephen Leake
2020-04-02 18:29                       ` Eli Zaretskii
2020-04-02 18:27                     ` Eli Zaretskii
2020-04-02 18:50                       ` Michael Welsh Duggan
2020-04-02 19:03                         ` Eli Zaretskii
2020-04-02 19:39                           ` 조성빈
2020-04-03  6:37                             ` Eli Zaretskii
2020-04-03 17:27                               ` Stephen Leake
2020-04-02 19:48                           ` Stefan Monnier
2020-04-03  2:06               ` Stephen Leake
2020-04-03  7:33                 ` Eli Zaretskii
2020-04-03 17:24                   ` Stephen Leake
2020-04-03 18:39                     ` Eli Zaretskii
2020-04-02 15:33             ` martin rudalics
2020-04-03  1:55           ` Stephen Leake
2020-04-03  4:47             ` Jorge Javier Araya Navarro
2020-04-03  7:32             ` Eli Zaretskii
2020-04-03 17:05               ` Stephen Leake
2020-04-03 18:19                 ` Eli Zaretskii
2020-04-04  0:00                   ` Stephen Leake
2020-04-01 13:28     ` Stefan Monnier
2020-03-30 14:11 ` Stefan Monnier
2020-03-30 17:00   ` Jorge Javier Araya Navarro
2020-03-30 17:07     ` Dmitry Gutov
2020-03-30 17:09       ` Jorge Javier Araya Navarro
2020-03-30 17:22     ` Stefan Monnier
2020-03-30 17:34       ` Jorge Javier Araya Navarro
2020-03-30 17:50       ` Stefan Monnier
2020-04-01  0:30       ` Stephen Leake

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).