* tree-sitter version? @ 2022-11-24 1:54 T.V Raman 2022-11-24 3:27 ` Yuan Fu 0 siblings, 1 reply; 31+ messages in thread From: T.V Raman @ 2022-11-24 1:54 UTC (permalink / raw) To: emacs-devel While building emacs from Github @HEAD, I noticed that configure checks for two different tree-sitter versions checking for tree-sitter >= 0.20.2... no checking for tree-sitter >= 0.6.3... yes Installing from apt-get on Debian, and later cloning and building tree-sitter from github both give 0.6.3 So what is 0.20 --asking only because 20 much-greater-than 6-- -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-24 1:54 tree-sitter version? T.V Raman @ 2022-11-24 3:27 ` Yuan Fu 2022-11-24 4:57 ` T.V Raman 0 siblings, 1 reply; 31+ messages in thread From: Yuan Fu @ 2022-11-24 3:27 UTC (permalink / raw) To: T.V Raman; +Cc: emacs-devel > On Nov 23, 2022, at 5:54 PM, T.V Raman <raman@google.com> wrote: > > While building emacs from Github @HEAD, I noticed that configure > checks for two different tree-sitter versions > checking for tree-sitter >= 0.20.2... no > checking for tree-sitter >= 0.6.3... yes > > > Installing from apt-get on Debian, and later cloning and building > tree-sitter from github both give 0.6.3 > > > > So what is 0.20 --asking only because 20 much-greater-than 6— The official latest version of tree-sitter right now is 0.20.7, the one we want is >=0.20.2 (which has the ability to change malloc implementation on runtime). However apprantly tree-sitter’s makefile wasn’t updated after 0.6.3 so the version number on the installed library is 0.6.3. Ideally we want to require >=0.20.2 and be done with it, but since most tree-sitter libraries installed on people’s machines are 0.6.3, we also accept 0.6.3 and use autotool magic to check for the ability to change malloc implementation. Yuan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-24 3:27 ` Yuan Fu @ 2022-11-24 4:57 ` T.V Raman 2022-11-24 5:02 ` Yuan Fu 0 siblings, 1 reply; 31+ messages in thread From: T.V Raman @ 2022-11-24 4:57 UTC (permalink / raw) To: Yuan Fu; +Cc: emacs-devel [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=gb18030, Size: 1575 bytes --] Yuan Fu <casouri@gmail.com> writes: Confusing times ahead! So: am I supposed to install tree-sitter from github or from debian's package manager? I first did the package-manager version, then pulled from github and installed that -- configure shows that tree-sitter is detected -- but calling any of the tree-sitter modes, eg c-ts-mode barfs with an error saying that support is not available. >> On Nov 23, 2022, at 5:54 PM, T.V Raman <raman@google.com> wrote: >> >> While building emacs from Github @HEAD, I noticed that configure >> checks for two different tree-sitter versions >> checking for tree-sitter >= 0.20.2... no >> checking for tree-sitter >= 0.6.3... yes >> >> >> Installing from apt-get on Debian, and later cloning and building >> tree-sitter from github both give 0.6.3 >> >> >> >> So what is 0.20 --asking only because 20 much-greater-than 6¡ª > > The official latest version of tree-sitter right now is 0.20.7, the > one we want is >=0.20.2 (which has the ability to change malloc > implementation on runtime). However apprantly tree-sitter¡¯s makefile > wasn¡¯t updated after 0.6.3 so the version number on the installed > library is 0.6.3. Ideally we want to require >=0.20.2 and be done with > it, but since most tree-sitter libraries installed on people¡¯s > machines are 0.6.3, we also accept 0.6.3 and use autotool magic to > check for the ability to change malloc implementation. > > Yuan > > -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) 7©4 Id: kg:/m/0285kf1 0Ü8 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-24 4:57 ` T.V Raman @ 2022-11-24 5:02 ` Yuan Fu 2022-11-24 5:54 ` Tassilo Horn 0 siblings, 1 reply; 31+ messages in thread From: Yuan Fu @ 2022-11-24 5:02 UTC (permalink / raw) To: T.V Raman; +Cc: emacs-devel > On Nov 23, 2022, at 8:57 PM, T.V Raman <raman@google.com> wrote: > > Yuan Fu <casouri@gmail.com> writes: > > > Confusing times ahead! > > So: am I supposed to install tree-sitter from github or from debian's > package manager? Either should be fine. > I first did the package-manager version, then pulled from github and > installed that -- configure shows that tree-sitter is detected -- but > calling any of the tree-sitter modes, eg c-ts-mode barfs with an error > saying that support is not available. If you call tree-sitter-available-p, what do you get? Most likely you don’t have the relevant language definition/grammar for those modes. You can probably find them on package managers, or you can build with the script here: https://github.com/casouri/tree-sitter-module Do you think the error message could be improved? IIRC the error reporting tells you you need language definitions, but maybe it should explicitly say language definition != tree-sitter library. Yuan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-24 5:02 ` Yuan Fu @ 2022-11-24 5:54 ` Tassilo Horn 2022-11-25 9:43 ` Yuan Fu 2022-11-25 15:06 ` T.V Raman 0 siblings, 2 replies; 31+ messages in thread From: Tassilo Horn @ 2022-11-24 5:54 UTC (permalink / raw) To: Yuan Fu; +Cc: T.V Raman, emacs-devel Yuan Fu <casouri@gmail.com> writes: Hi Yuan, >> So: am I supposed to install tree-sitter from github or from debian's >> package manager? > > Either should be fine. Ah, I was wondering the same when I wanted to give tree-sitter a try. I have tree-sitter 0.20.7 installed but the configure output said ">=0.20.2 no" but only reported a >= 0.6.x version. It still works fine. :-) >> I first did the package-manager version, then pulled from github and >> installed that -- configure shows that tree-sitter is detected -- but >> calling any of the tree-sitter modes, eg c-ts-mode barfs with an >> error saying that support is not available. > > If you call tree-sitter-available-p, what do you get? Most likely you > don’t have the relevant language definition/grammar for those > modes. You can probably find them on package managers, or you can > build with the script here: Indeed, that was the next trap I fell in. On Arch, tree-sitter is in the community repository (so basically almost official) whereas the language definitions are only on the AUR. Maybe the NEWS entry should tell more clearly that tree-sitter needs to be system-installed and also the language definitions need to be grabbed somewhere. BTW, how can a user decide that tree-sitter modes should be used? For example, when I open a json file I get js-json-mode, not json-ts-mode, which also works, so support is available. Should user's augment auto-mode-alist? Or is there some "enable TS whenever possible and the devs think its support is in a usable state for that language" toggle? Bye, Tassilo ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-24 5:54 ` Tassilo Horn @ 2022-11-25 9:43 ` Yuan Fu 2022-11-25 11:52 ` Eli Zaretskii 2022-11-25 15:08 ` T.V Raman 2022-11-25 15:06 ` T.V Raman 1 sibling, 2 replies; 31+ messages in thread From: Yuan Fu @ 2022-11-25 9:43 UTC (permalink / raw) To: Tassilo Horn; +Cc: T.V Raman, emacs-devel > On Nov 23, 2022, at 9:54 PM, Tassilo Horn <tsdh@gnu.org> wrote: > > Yuan Fu <casouri@gmail.com> writes: > > Hi Yuan, > >>> So: am I supposed to install tree-sitter from github or from debian's >>> package manager? >> >> Either should be fine. > > Ah, I was wondering the same when I wanted to give tree-sitter a try. I > have tree-sitter 0.20.7 installed but the configure output said > ">=0.20.2 no" but only reported a >= 0.6.x version. It still works > fine. :-) > >>> I first did the package-manager version, then pulled from github and >>> installed that -- configure shows that tree-sitter is detected -- but >>> calling any of the tree-sitter modes, eg c-ts-mode barfs with an >>> error saying that support is not available. >> >> If you call tree-sitter-available-p, what do you get? Most likely you >> don’t have the relevant language definition/grammar for those >> modes. You can probably find them on package managers, or you can >> build with the script here: > > Indeed, that was the next trap I fell in. On Arch, tree-sitter is in > the community repository (so basically almost official) whereas the > language definitions are only on the AUR. Maybe the NEWS entry should > tell more clearly that tree-sitter needs to be system-installed and also > the language definitions need to be grabbed somewhere. Yeah there will be a NEWS entry for tree-sitter. > > BTW, how can a user decide that tree-sitter modes should be used? For > example, when I open a json file I get js-json-mode, not json-ts-mode, > which also works, so support is available. Should user's augment > auto-mode-alist? Or is there some "enable TS whenever possible and the > devs think its support is in a usable state for that language" toggle? There is no global toggle, unfortunately. You could use auto-mode-alist or major-mode-remap-alist to enable tree-sitter modes, yes. I imagine there could be a third-party package that automatically enables tree-sitter for all supported nodes, maybe. Yuan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-25 9:43 ` Yuan Fu @ 2022-11-25 11:52 ` Eli Zaretskii 2022-11-25 15:08 ` T.V Raman 1 sibling, 0 replies; 31+ messages in thread From: Eli Zaretskii @ 2022-11-25 11:52 UTC (permalink / raw) To: Yuan Fu; +Cc: tsdh, raman, emacs-devel > From: Yuan Fu <casouri@gmail.com> > Date: Fri, 25 Nov 2022 01:43:39 -0800 > Cc: "T.V Raman" <raman@google.com>, > emacs-devel@gnu.org > > > BTW, how can a user decide that tree-sitter modes should be used? For > > example, when I open a json file I get js-json-mode, not json-ts-mode, > > which also works, so support is available. Should user's augment > > auto-mode-alist? Or is there some "enable TS whenever possible and the > > devs think its support is in a usable state for that language" toggle? > > There is no global toggle, unfortunately. You could use auto-mode-alist or major-mode-remap-alist to enable tree-sitter modes, yes. I imagine there could be a third-party package that automatically enables tree-sitter for all supported nodes, maybe. I'm not sure a global toggle would make sense at this time: even if the user has the tree-sitter library installed, there's no guarantee that the grammar for a particular language is also installed. Only the user knows whether it is or isn't. Enabling a mode just to get an error message makes little sense. Perhaps in the future distros will catch up and provide installation of grammars that includes everything available, but until they do, we are better off with individual toggles. There's also a question of user preferences: some might prefer the non-TS versions for whatever reasons. IMO, per-mode toggles is currently the best compromise, given that we don't yet have enough user feedback and experience to decide on more general knobs. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-25 9:43 ` Yuan Fu 2022-11-25 11:52 ` Eli Zaretskii @ 2022-11-25 15:08 ` T.V Raman 2022-11-25 16:25 ` Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) Daniel Martín 2022-11-28 21:36 ` tree-sitter version? Richard Stallman 1 sibling, 2 replies; 31+ messages in thread From: T.V Raman @ 2022-11-25 15:08 UTC (permalink / raw) To: casouri; +Cc: tsdh, raman, emacs-devel also the name "ts" as part of tree-sitter is an unfortunate confusion since ts-mode is for typescript. I initally wrongly assumed that ts-mode was some kind of global mode that would enable tree-support for all supported modes, given the names c-ts-mode etc.Yuan Fu writes: > > > > On Nov 23, 2022, at 9:54 PM, Tassilo Horn <tsdh@gnu.org> wrote: > > > > Yuan Fu <casouri@gmail.com> writes: > > > > Hi Yuan, > > > >>> So: am I supposed to install tree-sitter from github or from debian's > >>> package manager? > >> > >> Either should be fine. > > > > Ah, I was wondering the same when I wanted to give tree-sitter a try. I > > have tree-sitter 0.20.7 installed but the configure output said > > ">=0.20.2 no" but only reported a >= 0.6.x version. It still works > > fine. :-) > > > >>> I first did the package-manager version, then pulled from github and > >>> installed that -- configure shows that tree-sitter is detected -- but > >>> calling any of the tree-sitter modes, eg c-ts-mode barfs with an > >>> error saying that support is not available. > >> > >> If you call tree-sitter-available-p, what do you get? Most likely you > >> don’t have the relevant language definition/grammar for those > >> modes. You can probably find them on package managers, or you can > >> build with the script here: > > > > Indeed, that was the next trap I fell in. On Arch, tree-sitter is in > > the community repository (so basically almost official) whereas the > > language definitions are only on the AUR. Maybe the NEWS entry should > > tell more clearly that tree-sitter needs to be system-installed and also > > the language definitions need to be grabbed somewhere. > > Yeah there will be a NEWS entry for tree-sitter. > > > > > BTW, how can a user decide that tree-sitter modes should be used? For > > example, when I open a json file I get js-json-mode, not json-ts-mode, > > which also works, so support is available. Should user's augment > > auto-mode-alist? Or is there some "enable TS whenever possible and the > > devs think its support is in a usable state for that language" toggle? > > There is no global toggle, unfortunately. You could use auto-mode-alist or major-mode-remap-alist to enable tree-sitter modes, yes. I imagine there could be a third-party package that automatically enables tree-sitter for all supported nodes, maybe. > > Yuan -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 15:08 ` T.V Raman @ 2022-11-25 16:25 ` Daniel Martín 2022-11-25 16:33 ` Eli Zaretskii ` (2 more replies) 2022-11-28 21:36 ` tree-sitter version? Richard Stallman 1 sibling, 3 replies; 31+ messages in thread From: Daniel Martín @ 2022-11-25 16:25 UTC (permalink / raw) To: T.V Raman; +Cc: casouri, tsdh, emacs-devel "T.V Raman" <raman@google.com> writes: > also the name "ts" as part of tree-sitter is an unfortunate > confusion since ts-mode is for typescript. > > I initally wrongly assumed that ts-mode was some kind of global mode > that would enable tree-support for all supported modes, given the > names c-ts-mode etc. This is a good point. The Tree-sitter Elisp library itself and its commands already use the "treesit" abbreviation consistently. We're still on time to rename the new language modes to c-treesit-mode, and so on. Thoughts? ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 16:25 ` Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) Daniel Martín @ 2022-11-25 16:33 ` Eli Zaretskii 2022-11-25 16:38 ` Theodor Thornhill 2022-11-26 8:20 ` Yuan Fu 2 siblings, 0 replies; 31+ messages in thread From: Eli Zaretskii @ 2022-11-25 16:33 UTC (permalink / raw) To: Daniel Martín; +Cc: raman, casouri, tsdh, emacs-devel > From: Daniel Martín <mardani29@yahoo.es> > Cc: casouri@gmail.com, tsdh@gnu.org, emacs-devel@gnu.org > Date: Fri, 25 Nov 2022 17:25:09 +0100 > > "T.V Raman" <raman@google.com> writes: > > > also the name "ts" as part of tree-sitter is an unfortunate > > confusion since ts-mode is for typescript. > > > > I initally wrongly assumed that ts-mode was some kind of global mode > > that would enable tree-support for all supported modes, given the > > names c-ts-mode etc. > > This is a good point. The Tree-sitter Elisp library itself and its > commands already use the "treesit" abbreviation consistently. We're > still on time to rename the new language modes to c-treesit-mode, and so > on. Thoughts? I don't think we should rename. There's just one ts-mode, and many foo-ts-mode modes, so the latter win. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 16:25 ` Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) Daniel Martín 2022-11-25 16:33 ` Eli Zaretskii @ 2022-11-25 16:38 ` Theodor Thornhill 2022-11-25 17:50 ` Elliott Shugerman 2022-11-25 19:40 ` Eli Zaretskii 2022-11-26 8:20 ` Yuan Fu 2 siblings, 2 replies; 31+ messages in thread From: Theodor Thornhill @ 2022-11-25 16:38 UTC (permalink / raw) To: emacs-devel, Daniel Martín, T.V Raman; +Cc: casouri, tsdh On 25 November 2022 17:25:09 CET, "Daniel Martín" <mardani29@yahoo.es> wrote: >"T.V Raman" <raman@google.com> writes: > >> also the name "ts" as part of tree-sitter is an unfortunate >> confusion since ts-mode is for typescript. >> >> I initally wrongly assumed that ts-mode was some kind of global mode >> that would enable tree-support for all supported modes, given the >> names c-ts-mode etc. > >This is a good point. The Tree-sitter Elisp library itself and its >commands already use the "treesit" abbreviation consistently. We're >still on time to rename the new language modes to c-treesit-mode, and so >on. Thoughts? > I'd rather change ts-mode to typescript-mode or typescript-ts-mode. But we can discuss names, of course :-) Even better would be some construct we've discussed many times the last months: not letting a specific implementation "own" a major mode name. So c-mode could be powered by cc mode implementation _or_ treesit.el implementation, but not a merged thing. To me the natural progression would be to keep name as-is, then later when we have such a construct just delete the *-ts-modes. For Emacs 30 or 31. Theo ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 16:38 ` Theodor Thornhill @ 2022-11-25 17:50 ` Elliott Shugerman 2022-11-25 23:41 ` Rudolf Adamkovič 2022-11-25 19:40 ` Eli Zaretskii 1 sibling, 1 reply; 31+ messages in thread From: Elliott Shugerman @ 2022-11-25 17:50 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1704 bytes --] I am nobody, but FWIW, I'm in favor of using "treesit" instead of "ts" in the mode names. Even if tree sitter had a higher profile than typescript (NB: typescript's is in fact much higher, and this is unlikely to change no matter how much adoption tree sitter sees), the unambiguous naming scheme is preferable. Does anyone really mind the five additional characters? On Fri, Nov 25, 2022, 9:39 AM Theodor Thornhill <theo@thornhill.no> wrote: > > > On 25 November 2022 17:25:09 CET, "Daniel Martín" <mardani29@yahoo.es> > wrote: > >"T.V Raman" <raman@google.com> writes: > > > >> also the name "ts" as part of tree-sitter is an unfortunate > >> confusion since ts-mode is for typescript. > >> > >> I initally wrongly assumed that ts-mode was some kind of global mode > >> that would enable tree-support for all supported modes, given the > >> names c-ts-mode etc. > > > >This is a good point. The Tree-sitter Elisp library itself and its > >commands already use the "treesit" abbreviation consistently. We're > >still on time to rename the new language modes to c-treesit-mode, and so > >on. Thoughts? > > > > I'd rather change ts-mode to typescript-mode or typescript-ts-mode. But we > can discuss names, of course :-) > > Even better would be some construct we've discussed many times the last > months: not letting a specific implementation "own" a major mode name. So > c-mode could be powered by cc mode implementation _or_ treesit.el > implementation, but not a merged thing. > > To me the natural progression would be to keep name as-is, then later when > we have such a construct just delete the *-ts-modes. > > For Emacs 30 or 31. > > Theo > > [-- Attachment #2: Type: text/html, Size: 2410 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 17:50 ` Elliott Shugerman @ 2022-11-25 23:41 ` Rudolf Adamkovič 0 siblings, 0 replies; 31+ messages in thread From: Rudolf Adamkovič @ 2022-11-25 23:41 UTC (permalink / raw) To: Elliott Shugerman, emacs-devel Elliott Shugerman <eeshugerman@gmail.com> writes: > I am nobody, but FWIW, I'm in favor of using "treesit" instead of "ts" > in the mode names. +1. I originally stopped following this thread by mistake because I thought it discussed TypeScript. Also, it would never occur to me to search M-x for the string "ts" to see all the new Tree Sitter modes. So, 'ts' fits the bill perfectly, but in Vim and not Emacs. :) Rudy -- "One can begin to reason only when a clear picture has been formed in the imagination." -- Walter Warwick Sawyer, Mathematician's Delight, 1943 Rudolf Adamkovič <salutis@me.com> [he/him] Studenohorská 25 84103 Bratislava Slovakia ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 16:38 ` Theodor Thornhill 2022-11-25 17:50 ` Elliott Shugerman @ 2022-11-25 19:40 ` Eli Zaretskii 2022-11-25 19:58 ` Theodor Thornhill 1 sibling, 1 reply; 31+ messages in thread From: Eli Zaretskii @ 2022-11-25 19:40 UTC (permalink / raw) To: Theodor Thornhill; +Cc: emacs-devel, mardani29, raman, casouri, tsdh > Date: Fri, 25 Nov 2022 17:38:27 +0100 > From: Theodor Thornhill <theo@thornhill.no> > CC: casouri@gmail.com, tsdh@gnu.org > > I'd rather change ts-mode to typescript-mode or typescript-ts-mode. If there was no ts-mode before, I'm okay with renaming it to typescript-ts-mode. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 19:40 ` Eli Zaretskii @ 2022-11-25 19:58 ` Theodor Thornhill 2022-11-25 20:13 ` Theodor Thornhill via Emacs development discussions. 0 siblings, 1 reply; 31+ messages in thread From: Theodor Thornhill @ 2022-11-25 19:58 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, mardani29, raman, casouri, tsdh Eli Zaretskii <eliz@gnu.org> writes: >> Date: Fri, 25 Nov 2022 17:38:27 +0100 >> From: Theodor Thornhill <theo@thornhill.no> >> CC: casouri@gmail.com, tsdh@gnu.org >> >> I'd rather change ts-mode to typescript-mode or typescript-ts-mode. > > If there was no ts-mode before, I'm okay with renaming it to > typescript-ts-mode. Ok, patch coming up ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 19:58 ` Theodor Thornhill @ 2022-11-25 20:13 ` Theodor Thornhill via Emacs development discussions. 2022-11-26 1:04 ` Stefan Kangas 0 siblings, 1 reply; 31+ messages in thread From: Theodor Thornhill via Emacs development discussions. @ 2022-11-25 20:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, mardani29, raman, casouri, tsdh [-- Attachment #1: Type: text/plain, Size: 398 bytes --] Hi Eli, > >>> Date: Fri, 25 Nov 2022 17:38:27 +0100 >>> From: Theodor Thornhill <theo@thornhill.no> >>> CC: casouri@gmail.com, tsdh@gnu.org >>> >>> I'd rather change ts-mode to typescript-mode or typescript-ts-mode. >> >> If there was no ts-mode before, I'm okay with renaming it to >> typescript-ts-mode. > > Ok, patch coming up Feel free to commit this, Eli. I've only done a rename. Theo [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Rename-ts-mode-to-typescript-ts-mode.patch --] [-- Type: text/x-diff, Size: 9129 bytes --] From 5a8d0347ad4e3373ef849d9b818459121061b593 Mon Sep 17 00:00:00 2001 From: Theodor Thornhill <theo@thornhill.no> Date: Fri, 25 Nov 2022 21:04:18 +0100 Subject: [PATCH] Rename ts-mode to typescript-ts-mode * lisp/progmodes/ts-mode.el: File deleted. * lisp/progmodes/typescript-ts-mode.el: New mode typescript-ts-mode. * etc/NEWS: Mention the new mode. --- etc/NEWS | 2 +- .../{ts-mode.el => typescript-ts-mode.el} | 78 +++++++++---------- 2 files changed, 40 insertions(+), 40 deletions(-) rename lisp/progmodes/{ts-mode.el => typescript-ts-mode.el} (77%) diff --git a/etc/NEWS b/etc/NEWS index 0ffc849fec..3c9243784d 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -2969,7 +2969,7 @@ This is a lightweight variant of 'js-mode' that is used by default when visiting JSON files. \f -** New mode 'ts-mode'. +** New mode 'typescript-ts-mode'. A major mode based on the tree-sitter library for editing programs in the TypeScript language. It includes support for font-locking, indentation, and navigation. diff --git a/lisp/progmodes/ts-mode.el b/lisp/progmodes/typescript-ts-mode.el similarity index 77% rename from lisp/progmodes/ts-mode.el rename to lisp/progmodes/typescript-ts-mode.el index bdef1c4576..763686bf66 100644 --- a/lisp/progmodes/ts-mode.el +++ b/lisp/progmodes/typescript-ts-mode.el @@ -1,4 +1,4 @@ -;;; ts-mode.el --- tree sitter support for TypeScript -*- lexical-binding: t; -*- +;;; typescript-ts-mode.el --- tree sitter support for TypeScript -*- lexical-binding: t; -*- ;; Copyright (C) 2022 Free Software Foundation, Inc. @@ -30,14 +30,14 @@ (declare-function treesit-parser-create "treesit.c") -(defcustom ts-mode-indent-offset 2 - "Number of spaces for each indentation step in `ts-mode'." +(defcustom typescript-ts-mode-indent-offset 2 + "Number of spaces for each indentation step in `typescript-ts-mode'." :version "29.1" :type 'integer :safe 'integerp :group 'typescript) -(defvar ts-mode--syntax-table +(defvar typescript-ts-mode--syntax-table (let ((table (make-syntax-table))) ;; Taken from the cc-langs version (modify-syntax-entry ?_ "_" table) @@ -54,9 +54,9 @@ ts-mode--syntax-table (modify-syntax-entry ?` "\"" table) (modify-syntax-entry ?\240 "." table) table) - "Syntax table for `ts-mode'.") + "Syntax table for `typescript-ts-mode'.") -(defvar ts-mode--indent-rules +(defvar typescript-ts-mode--indent-rules `((tsx ((parent-is "program") parent-bol 0) ((node-is "}") parent-bol 0) @@ -65,33 +65,33 @@ ts-mode--indent-rules ((node-is ">") parent-bol 0) ((and (parent-is "comment") comment-end) comment-start -1) ((parent-is "comment") comment-start-skip 0) - ((parent-is "ternary_expression") parent-bol ts-mode-indent-offset) - ((parent-is "member_expression") parent-bol ts-mode-indent-offset) - ((parent-is "named_imports") parent-bol ts-mode-indent-offset) - ((parent-is "statement_block") parent-bol ts-mode-indent-offset) - ((parent-is "type_arguments") parent-bol ts-mode-indent-offset) - ((parent-is "variable_declarator") parent-bol ts-mode-indent-offset) - ((parent-is "arguments") parent-bol ts-mode-indent-offset) - ((parent-is "array") parent-bol ts-mode-indent-offset) - ((parent-is "formal_parameters") parent-bol ts-mode-indent-offset) - ((parent-is "template_substitution") parent-bol ts-mode-indent-offset) - ((parent-is "object_pattern") parent-bol ts-mode-indent-offset) - ((parent-is "object") parent-bol ts-mode-indent-offset) - ((parent-is "object_type") parent-bol ts-mode-indent-offset) - ((parent-is "enum_body") parent-bol ts-mode-indent-offset) - ((parent-is "arrow_function") parent-bol ts-mode-indent-offset) - ((parent-is "parenthesized_expression") parent-bol ts-mode-indent-offset) + ((parent-is "ternary_expression") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "member_expression") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "named_imports") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "statement_block") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "type_arguments") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "variable_declarator") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "arguments") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "array") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "formal_parameters") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "template_substitution") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "object_pattern") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "object") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "object_type") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "enum_body") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "arrow_function") parent-bol typescript-ts-mode-indent-offset) + ((parent-is "parenthesized_expression") parent-bol typescript-ts-mode-indent-offset) ;; TSX - ((parent-is "jsx_opening_element") parent ts-mode-indent-offset) + ((parent-is "jsx_opening_element") parent typescript-ts-mode-indent-offset) ((node-is "jsx_closing_element") parent 0) - ((parent-is "jsx_element") parent ts-mode-indent-offset) + ((parent-is "jsx_element") parent typescript-ts-mode-indent-offset) ((node-is "/") parent 0) - ((parent-is "jsx_self_closing_element") parent ts-mode-indent-offset) + ((parent-is "jsx_self_closing_element") parent typescript-ts-mode-indent-offset) (no-node parent-bol 0))) "Tree-sitter indent rules.") -(defvar ts-mode--keywords +(defvar typescript-ts-mode--keywords '("!" "abstract" "as" "async" "await" "break" "case" "catch" "class" "const" "continue" "debugger" "declare" "default" "delete" "do" "else" "enum" @@ -103,14 +103,14 @@ ts-mode--keywords "while" "with" "yield") "TypeScript keywords for tree-sitter font-locking.") -(defvar ts-mode--operators +(defvar typescript-ts-mode--operators '("=" "+=" "-=" "*=" "/=" "%=" "**=" "<<=" ">>=" ">>>=" "&=" "^=" "|=" "&&=" "||=" "??=" "==" "!=" "===" "!==" ">" ">=" "<" "<=" "+" "-" "*" "/" "%" "++" "--" "**" "&" "|" "^" "~" "<<" ">>" ">>>" "&&" "||" "!" "?.") "TypeScript operators for tree-sitter font-locking.") -(defvar ts-mode--font-lock-settings +(defvar typescript-ts-mode--font-lock-settings (treesit-font-lock-rules :language 'tsx :override t @@ -128,7 +128,7 @@ ts-mode--font-lock-settings :language 'tsx :override t :feature 'keyword - `([,@ts-mode--keywords] @font-lock-keyword-face + `([,@typescript-ts-mode--keywords] @font-lock-keyword-face [(this) (super)] @font-lock-keyword-face) :language 'tsx @@ -248,7 +248,7 @@ ts-mode--font-lock-settings :language 'tsx :feature 'operator - `([,@ts-mode--operators] @font-lock-operator-face + `([,@typescript-ts-mode--operators] @font-lock-operator-face (ternary_expression ["?" ":"] @font-lock-operator-face)) :language 'tsx @@ -278,19 +278,19 @@ ts-mode--font-lock-settings "Tree-sitter font-lock settings.") ;;;###autoload -(add-to-list 'auto-mode-alist '("\\.ts\\'" . ts-mode)) +(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode)) ;;;###autoload -(add-to-list 'auto-mode-alist '("\\.tsx\\'" . ts-mode)) +(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-ts-mode)) ;;;###autoload -(define-derived-mode ts-mode prog-mode "TypeScript" +(define-derived-mode typescript-ts-mode prog-mode "TypeScript" "Major mode for editing TypeScript." :group 'typescript - :syntax-table ts-mode--syntax-table + :syntax-table typescript-ts-mode--syntax-table (cond - ;; `ts-mode' requires tree-sitter to work, so we don't check if + ;; `typescript-ts-mode' requires tree-sitter to work, so we don't check if ;; user enables tree-sitter for it. ((treesit-ready-p 'tsx) ;; Tree-sitter. @@ -308,7 +308,7 @@ ts-mode (append "{}():;," electric-indent-chars)) ;; Indent. - (setq-local treesit-simple-indent-rules ts-mode--indent-rules) + (setq-local treesit-simple-indent-rules typescript-ts-mode--indent-rules) ;; Navigation. (setq-local treesit-defun-type-regexp @@ -318,7 +318,7 @@ ts-mode "lexical_declaration"))) ;; Font-lock. - (setq-local treesit-font-lock-settings ts-mode--font-lock-settings) + (setq-local treesit-font-lock-settings typescript-ts-mode--font-lock-settings) (setq-local treesit-font-lock-feature-list '((comment declaration) (constant expression identifier keyword number string) @@ -336,6 +336,6 @@ ts-mode (js-mode) (message "Tree-sitter for TypeScript isn't available, falling back to `js-mode'")))) -(provide 'ts-mode) +(provide 'typescript-ts-mode) -;;; ts-mode.el ends here +;;; typescript-ts-mode.el ends here -- 2.34.1 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 20:13 ` Theodor Thornhill via Emacs development discussions. @ 2022-11-26 1:04 ` Stefan Kangas 2022-11-26 6:45 ` Theodor Thornhill 0 siblings, 1 reply; 31+ messages in thread From: Stefan Kangas @ 2022-11-26 1:04 UTC (permalink / raw) To: Theodor Thornhill, Eli Zaretskii Cc: emacs-devel, mardani29, raman, casouri, tsdh Theodor Thornhill via "Emacs development discussions." <emacs-devel@gnu.org> writes: > Feel free to commit this, Eli. I've only done a rename. Thanks. However, note that it's better to rename the file in a separate commit, containing no other changes. That way, "git blame" provides stronger guarantees for providing correct attribution. (BTW, "git log" does too, but it needs a --follow flag.) So I did the rename separately, in your name, applied your patch on top, and pushed the result to master (commit 374f4e38c1). I also adjusted the commit message slightly to reflect this: Rename ts-mode to typescript-ts-mode * lisp/progmodes/typescript-ts-mode.el: Rename from 'ts-mode' to 'typescript-ts-mode'. Rename all symbols to match new prefix. * etc/NEWS: Mention the new mode name. Ref: https://lists.gnu.org/r/emacs-devel/2022-11/msg01587.html ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-26 1:04 ` Stefan Kangas @ 2022-11-26 6:45 ` Theodor Thornhill 0 siblings, 0 replies; 31+ messages in thread From: Theodor Thornhill @ 2022-11-26 6:45 UTC (permalink / raw) To: Stefan Kangas, Eli Zaretskii; +Cc: emacs-devel, mardani29, raman, casouri, tsdh On 26 November 2022 02:04:49 CET, Stefan Kangas <stefankangas@gmail.com> wrote: >Theodor Thornhill via "Emacs development discussions." ><emacs-devel@gnu.org> writes: > >> Feel free to commit this, Eli. I've only done a rename. > >Thanks. > >However, note that it's better to rename the file in a separate commit, >containing no other changes. That way, "git blame" provides stronger >guarantees for providing correct attribution. (BTW, "git log" does too, >but it needs a --follow flag.) > >So I did the rename separately, in your name, applied your patch on top, >and pushed the result to master (commit 374f4e38c1). I also adjusted >the commit message slightly to reflect this: > > Rename ts-mode to typescript-ts-mode > > * lisp/progmodes/typescript-ts-mode.el: Rename from 'ts-mode' to > 'typescript-ts-mode'. Rename all symbols to match new prefix. > * etc/NEWS: Mention the new mode name. > Ref: https://lists.gnu.org/r/emacs-devel/2022-11/msg01587.html Ah ok - thanks for the tip! And for applying :) Theo ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-25 16:25 ` Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) Daniel Martín 2022-11-25 16:33 ` Eli Zaretskii 2022-11-25 16:38 ` Theodor Thornhill @ 2022-11-26 8:20 ` Yuan Fu 2022-11-26 8:22 ` Theodor Thornhill 2022-11-26 8:31 ` Eli Zaretskii 2 siblings, 2 replies; 31+ messages in thread From: Yuan Fu @ 2022-11-26 8:20 UTC (permalink / raw) To: Daniel Martín; +Cc: T.V Raman, tsdh, emacs-devel > On Nov 25, 2022, at 8:25 AM, Daniel Martín <mardani29@yahoo.es> wrote: > > "T.V Raman" <raman@google.com> writes: > >> also the name "ts" as part of tree-sitter is an unfortunate >> confusion since ts-mode is for typescript. >> >> I initally wrongly assumed that ts-mode was some kind of global mode >> that would enable tree-support for all supported modes, given the >> names c-ts-mode etc. > > This is a good point. The Tree-sitter Elisp library itself and its > commands already use the "treesit" abbreviation consistently. We're > still on time to rename the new language modes to c-treesit-mode, and so > on. Thoughts? Yeah we should use treesit, if nothing better appears. We had a (short) discussion on better names than xxx-ts-mode, but no one had better idea, so the name stuck. Yuan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-26 8:20 ` Yuan Fu @ 2022-11-26 8:22 ` Theodor Thornhill 2022-11-26 8:31 ` Eli Zaretskii 1 sibling, 0 replies; 31+ messages in thread From: Theodor Thornhill @ 2022-11-26 8:22 UTC (permalink / raw) To: emacs-devel, Yuan Fu, Daniel Martín; +Cc: T.V Raman, tsdh On 26 November 2022 09:20:00 CET, Yuan Fu <casouri@gmail.com> wrote: > > >> On Nov 25, 2022, at 8:25 AM, Daniel Martín <mardani29@yahoo.es> wrote: >> >> "T.V Raman" <raman@google.com> writes: >> >>> also the name "ts" as part of tree-sitter is an unfortunate >>> confusion since ts-mode is for typescript. >>> >>> I initally wrongly assumed that ts-mode was some kind of global mode >>> that would enable tree-support for all supported modes, given the >>> names c-ts-mode etc. >> >> This is a good point. The Tree-sitter Elisp library itself and its >> commands already use the "treesit" abbreviation consistently. We're >> still on time to rename the new language modes to c-treesit-mode, and so >> on. Thoughts? > >Yeah we should use treesit, if nothing better appears. We had a (short) discussion on better names than xxx-ts-mode, but no one had better idea, so the name stuck. > >Yuan If nothing better appears today I can do the rename this evening :) Theo ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-26 8:20 ` Yuan Fu 2022-11-26 8:22 ` Theodor Thornhill @ 2022-11-26 8:31 ` Eli Zaretskii 2022-11-26 9:06 ` Theodor Thornhill 1 sibling, 1 reply; 31+ messages in thread From: Eli Zaretskii @ 2022-11-26 8:31 UTC (permalink / raw) To: Yuan Fu; +Cc: mardani29, raman, tsdh, emacs-devel > From: Yuan Fu <casouri@gmail.com> > Date: Sat, 26 Nov 2022 00:20:00 -0800 > Cc: "T.V Raman" <raman@google.com>, > tsdh@gnu.org, > emacs-devel@gnu.org > > > On Nov 25, 2022, at 8:25 AM, Daniel Martín <mardani29@yahoo.es> wrote: > > > > "T.V Raman" <raman@google.com> writes: > > > >> also the name "ts" as part of tree-sitter is an unfortunate > >> confusion since ts-mode is for typescript. > >> > >> I initally wrongly assumed that ts-mode was some kind of global mode > >> that would enable tree-support for all supported modes, given the > >> names c-ts-mode etc. > > > > This is a good point. The Tree-sitter Elisp library itself and its > > commands already use the "treesit" abbreviation consistently. We're > > still on time to rename the new language modes to c-treesit-mode, and so > > on. Thoughts? > > Yeah we should use treesit, if nothing better appears. We had a (short) discussion on better names than xxx-ts-mode, but no one had better idea, so the name stuck. Sorry, no more renames, and that is final. The branching point for emacs-29 is almost upon us, and we cannot afford such changes anymore. The justification is quite weak anyway. People who think "ts" means only "typescript" will have to adapt. (The tree-sitter library has all of its functions start with "ts_", so we didn't invent this shorthand out of thin air.) ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-26 8:31 ` Eli Zaretskii @ 2022-11-26 9:06 ` Theodor Thornhill 0 siblings, 0 replies; 31+ messages in thread From: Theodor Thornhill @ 2022-11-26 9:06 UTC (permalink / raw) To: emacs-devel, Eli Zaretskii, Yuan Fu; +Cc: mardani29, raman, tsdh On 26 November 2022 09:31:45 CET, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Yuan Fu <casouri@gmail.com> >> Date: Sat, 26 Nov 2022 00:20:00 -0800 >> Cc: "T.V Raman" <raman@google.com>, >> tsdh@gnu.org, >> emacs-devel@gnu.org >> >> > On Nov 25, 2022, at 8:25 AM, Daniel Martín <mardani29@yahoo.es> wrote: >> > >> > "T.V Raman" <raman@google.com> writes: >> > >> >> also the name "ts" as part of tree-sitter is an unfortunate >> >> confusion since ts-mode is for typescript. >> >> >> >> I initally wrongly assumed that ts-mode was some kind of global mode >> >> that would enable tree-support for all supported modes, given the >> >> names c-ts-mode etc. >> > >> > This is a good point. The Tree-sitter Elisp library itself and its >> > commands already use the "treesit" abbreviation consistently. We're >> > still on time to rename the new language modes to c-treesit-mode, and so >> > on. Thoughts? >> >> Yeah we should use treesit, if nothing better appears. We had a (short) discussion on better names than xxx-ts-mode, but no one had better idea, so the name stuck. > >Sorry, no more renames, and that is final. The branching point for emacs-29 >is almost upon us, and we cannot afford such changes anymore. The >justification is quite weak anyway. People who think "ts" means only >"typescript" will have to adapt. (The tree-sitter library has all of its >functions start with "ts_", so we didn't invent this shorthand out of thin >air.) > Ok :) Theo ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-25 15:08 ` T.V Raman 2022-11-25 16:25 ` Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) Daniel Martín @ 2022-11-28 21:36 ` Richard Stallman 2022-11-29 3:28 ` Eli Zaretskii 1 sibling, 1 reply; 31+ messages in thread From: Richard Stallman @ 2022-11-28 21:36 UTC (permalink / raw) To: T.V Raman; +Cc: casouri, tsdh, raman, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > also the name "ts" as part of tree-sitter is an unfortunate > confusion since ts-mode is for typescript. I suggest that we rename that mode to typescript-mode, for the sake of clarity and discoverability. That will help the people who'd want to use it notice its existence. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-28 21:36 ` tree-sitter version? Richard Stallman @ 2022-11-29 3:28 ` Eli Zaretskii 2022-12-04 23:13 ` Richard Stallman 0 siblings, 1 reply; 31+ messages in thread From: Eli Zaretskii @ 2022-11-29 3:28 UTC (permalink / raw) To: rms; +Cc: raman, casouri, tsdh, raman, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: casouri@gmail.com, tsdh@gnu.org, raman@google.com, > emacs-devel@gnu.org > Date: Mon, 28 Nov 2022 16:36:55 -0500 > > > also the name "ts" as part of tree-sitter is an unfortunate > > confusion since ts-mode is for typescript. > > I suggest that we rename that mode to typescript-mode, > for the sake of clarity and discoverability. > That will help the people who'd want to use it > notice its existence. It was renamed to typescript-ts-mode. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-29 3:28 ` Eli Zaretskii @ 2022-12-04 23:13 ` Richard Stallman 2022-12-05 3:27 ` Eli Zaretskii 0 siblings, 1 reply; 31+ messages in thread From: Richard Stallman @ 2022-12-04 23:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I suggest that we rename that mode to typescript-mode, > > for the sake of clarity and discoverability. > > That will help the people who'd want to use it > > notice its existence. > It was renamed to typescript-ts-mode. That eliminates the problem. It seems that we have a series of many pairs of major mode, FOO-mode and FOO-ts-mode, where FOO-ts-mode uses treesitter and FOO-mode does not use it. Is that correct? It is no disaster, but is this really the interface we want to use for enabling or disabling treesitter? I am sure we can make it cleaner. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-12-04 23:13 ` Richard Stallman @ 2022-12-05 3:27 ` Eli Zaretskii 2022-12-06 22:35 ` Richard Stallman 0 siblings, 1 reply; 31+ messages in thread From: Eli Zaretskii @ 2022-12-05 3:27 UTC (permalink / raw) To: rms; +Cc: emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: emacs-devel@gnu.org > Date: Sun, 04 Dec 2022 18:13:06 -0500 > > It seems that we have a series of many pairs of major mode, > FOO-mode and FOO-ts-mode, where FOO-ts-mode uses treesitter > and FOO-mode does not use it. Is that correct? Yes. > It is no disaster, but is this really the interface we want to use for > enabling or disabling treesitter? I am sure we can make it cleaner. For now this was deemed the cleanest, safest approach, given that we lack experience and user feedback. Several other ways were proposed, but we decided to delay their implementation until we understand better both what users prefer and how close to one another are the two varieties. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-12-05 3:27 ` Eli Zaretskii @ 2022-12-06 22:35 ` Richard Stallman 2022-12-07 3:31 ` Eli Zaretskii 0 siblings, 1 reply; 31+ messages in thread From: Richard Stallman @ 2022-12-06 22:35 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > It seems that we have a series of many pairs of major mode, > > FOO-mode and FOO-ts-mode, where FOO-ts-mode uses treesitter > > and FOO-mode does not use it. Is that correct? > Yes. > > It is no disaster, but is this really the interface we want to use for > > enabling or disabling treesitter? I am sure we can make it cleaner. > For now this was deemed the cleanest, safest approach, given that we lack > experience and user feedback. Several other ways were proposed, but we > decided to delay their implementation until we understand better both what > users prefer and how close to one another are the two varieties. That's reasonable. But sine this is an interim interface, let's explicitly announce it that way. We could say that people should be prepared for it to change in another Emacs version soon. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-12-06 22:35 ` Richard Stallman @ 2022-12-07 3:31 ` Eli Zaretskii 0 siblings, 0 replies; 31+ messages in thread From: Eli Zaretskii @ 2022-12-07 3:31 UTC (permalink / raw) To: rms; +Cc: emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: emacs-devel@gnu.org > Date: Tue, 06 Dec 2022 17:35:32 -0500 > > > For now this was deemed the cleanest, safest approach, given that we lack > > experience and user feedback. Several other ways were proposed, but we > > decided to delay their implementation until we understand better both what > > users prefer and how close to one another are the two varieties. > > That's reasonable. But sine this is an interim interface, > let's explicitly announce it that way. We could say that > people should be prepared for it to change in another Emacs > version soon. The user-level documentation of the tree-sitter support has yet to be written; I've been waiting for the situation to stabilize. When it is written, some language to this effect will be there. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: tree-sitter version? 2022-11-24 5:54 ` Tassilo Horn 2022-11-25 9:43 ` Yuan Fu @ 2022-11-25 15:06 ` T.V Raman 1 sibling, 0 replies; 31+ messages in thread From: T.V Raman @ 2022-11-25 15:06 UTC (permalink / raw) To: tsdh; +Cc: casouri, raman, emacs-devel So I built the lang-specific modules from the script cited earlier in the thread and copied the .so files to /usr/local/lib emacs seems happy, but at least it doesn't complain about not knowing about C. But for this to be usable, those modules need to be bundled with Emacs?Tassilo Horn writes: > Yuan Fu <casouri@gmail.com> writes: > > Hi Yuan, > > >> So: am I supposed to install tree-sitter from github or from debian's > >> package manager? > > > > Either should be fine. > > Ah, I was wondering the same when I wanted to give tree-sitter a try. I > have tree-sitter 0.20.7 installed but the configure output said > ">=0.20.2 no" but only reported a >= 0.6.x version. It still works > fine. :-) > > >> I first did the package-manager version, then pulled from github and > >> installed that -- configure shows that tree-sitter is detected -- but > >> calling any of the tree-sitter modes, eg c-ts-mode barfs with an > >> error saying that support is not available. > > > > If you call tree-sitter-available-p, what do you get? Most likely you > > don’t have the relevant language definition/grammar for those > > modes. You can probably find them on package managers, or you can > > build with the script here: > > Indeed, that was the next trap I fell in. On Arch, tree-sitter is in > the community repository (so basically almost official) whereas the > language definitions are only on the AUR. Maybe the NEWS entry should > tell more clearly that tree-sitter needs to be system-installed and also > the language definitions need to be grabbed somewhere. > > BTW, how can a user decide that tree-sitter modes should be used? For > example, when I open a json file I get js-json-mode, not json-ts-mode, > which also works, so support is available. Should user's augment > auto-mode-alist? Or is there some "enable TS whenever possible and the > devs think its support is in a usable state for that language" toggle? > > Bye, > Tassilo -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) @ 2022-11-26 3:22 daanturo 2022-11-26 7:43 ` Yuri Khan 0 siblings, 1 reply; 31+ messages in thread From: daanturo @ 2022-11-26 3:22 UTC (permalink / raw) To: eeshugerman; +Cc: emacs-devel How about instead of "*-ts-modef", we use "*-tst-mode" (for TreeSitTer) instead? It's only a character more but also there won't be confusion with Typescript anyway. -- Daanturo. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) 2022-11-26 3:22 Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) daanturo @ 2022-11-26 7:43 ` Yuri Khan 0 siblings, 0 replies; 31+ messages in thread From: Yuri Khan @ 2022-11-26 7:43 UTC (permalink / raw) To: CAEb3WWYcVxdCv3qfkjjAd4ZD-+aRJLy9W_yiHe_npL2-idLwRw Cc: eeshugerman, emacs-devel On Sat, 26 Nov 2022 at 14:15, daanturo <daanturo@gmail.com> wrote: > How about instead of "*-ts-modef", we use "*-tst-mode" (for TreeSitTer) > instead? Maybe this approaches “test” too closely. ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2022-12-07 3:31 UTC | newest] Thread overview: 31+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-11-24 1:54 tree-sitter version? T.V Raman 2022-11-24 3:27 ` Yuan Fu 2022-11-24 4:57 ` T.V Raman 2022-11-24 5:02 ` Yuan Fu 2022-11-24 5:54 ` Tassilo Horn 2022-11-25 9:43 ` Yuan Fu 2022-11-25 11:52 ` Eli Zaretskii 2022-11-25 15:08 ` T.V Raman 2022-11-25 16:25 ` Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) Daniel Martín 2022-11-25 16:33 ` Eli Zaretskii 2022-11-25 16:38 ` Theodor Thornhill 2022-11-25 17:50 ` Elliott Shugerman 2022-11-25 23:41 ` Rudolf Adamkovič 2022-11-25 19:40 ` Eli Zaretskii 2022-11-25 19:58 ` Theodor Thornhill 2022-11-25 20:13 ` Theodor Thornhill via Emacs development discussions. 2022-11-26 1:04 ` Stefan Kangas 2022-11-26 6:45 ` Theodor Thornhill 2022-11-26 8:20 ` Yuan Fu 2022-11-26 8:22 ` Theodor Thornhill 2022-11-26 8:31 ` Eli Zaretskii 2022-11-26 9:06 ` Theodor Thornhill 2022-11-28 21:36 ` tree-sitter version? Richard Stallman 2022-11-29 3:28 ` Eli Zaretskii 2022-12-04 23:13 ` Richard Stallman 2022-12-05 3:27 ` Eli Zaretskii 2022-12-06 22:35 ` Richard Stallman 2022-12-07 3:31 ` Eli Zaretskii 2022-11-25 15:06 ` T.V Raman -- strict thread matches above, loose matches on Subject: below -- 2022-11-26 3:22 Rename Tree-sitter major modes from "ts" to "treesit" (was Re: tree-sitter version?) daanturo 2022-11-26 7:43 ` Yuri Khan
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.