From: "João Távora" <joaotavora@gmail.com>
To: Ergus <spacibba@aol.com>
Cc: Philip Kaludercic <philipk@posteo.net>,
Stefan Monnier <monnier@iro.umontreal.ca>,
Dmitry Gutov <dgutov@yandex.ru>,
emacs-devel <emacs-devel@gnu.org>,
Noam Postavsky <npostavs@users.sourceforge.net>
Subject: Re: What to do about unmaintained ELPA packages
Date: Tue, 31 May 2022 00:04:43 +0100 [thread overview]
Message-ID: <CALDnm50-Mnqy05S-OEqBWnp0WehB-48Ae5erMN5n_pdJoFZFPg@mail.gmail.com> (raw)
In-Reply-To: <20220530225133.nw55m4mi6bco5c2x@Ergus>
[-- Attachment #1: Type: text/plain, Size: 6644 bytes --]
Ergus,
I think you're veering a little bit from the issue here, but the goal is not
to throw anything away: I was just expounding my vision of a new
snippet system with less code, less bugs, and less friction that is driven
by LSP servers as more reliable owners and maintainers of snippet
collections.
For 2. I open one-shot ~/tmp/test.cpp files and type M-x eglot and get
decent
results all the time. Also bear works nicely for me. But mostly the C++
projects I've been doing lately use Cmake which creates a
compile-commands.json file anyway.
For number 5, just have yasnippet installed, simple as that: Eglo should
pick it up by default. Any other problems, please start a conversation in
Eglot's "discussions" panel, or, if you have complete information on how to
recreate a given situation problem, create an issue.
Anyway, it sounds like you are describing LSP/Eglot shortcomings. Sure,
there
are a lot of them, but trying to stop it is like trying to stop the tide,
at least
I feel it is. And it's been working fine for me (actually I've only very
recently
actually started using it, after having created maintained Eglot for it for
4+
years).
João
On Mon, May 30, 2022 at 11:51 PM Ergus <spacibba@aol.com> wrote:
> On Mon, May 30, 2022 at 03:46:11PM +0100, Jo�o T�vora wrote:
> >On Mon, May 30, 2022 at 7:58 AM Philip Kaludercic <philipk@posteo.net>
> >wrote:
> >
> >> Dmitry Gutov <dgutov@yandex.ru> writes:
> >>
> >> Considering the number of issues that have been gathering in the above
> >> mentioned issue tracker, I find it increasingly difficult to say it is
> >> "stable". It is far from being "bitrotten", but there is plenty of
> >> space between the two.
> >
> >
> >Yes, I agree with this characterization. Yasnippet's "display engine",
> >though
> >highly tested (automatically and manually) is complex. I recall some bugs
> >when interacting with other packages that make heavy use of indenting
> tricks
> >and overlays. While these are the minority (as far as I know), Org is one
> >such package and it's pretty prominent.
> >
> >On the other hand, last time browsed the issue tracker, there were very
> >many
> >specialized feature requests that wouldn't (IMO) make sense in the
> Yasnippet
> >engine. Integrating them would be hard and awkward and it would turn it
> >into
> >something else entirely. So, in that sense, Yasnippet is stable.
> >
> >One interesting area of Yasnippet development is in its 'snippet-engine'
> >branch, in a file called simply snippet.e'. It is the product of an
> >exchange of
> >ideas between me and Stefan Monnier some years ago. It's a bare-bones
> >version
> >of Yasnippet's snippet expansion and navigation engine, more efficient and
> >Lisp-friendly. The goal was to replace Yasnippet's engine in the master
> >branch
> >with it.
> >
> >Alas, motivation fizzled and work stalled. But it was pretty spiffy and
> >almost
> >done. As I recall, snippet definitions were simply Elisp forms, written
> in
> >a
> >nice DSL which was not particularly obtrusive. snippet.el is more or less
> >yasnippet.el done right.
> >
> >snippet.el could be useful in light of a relatively recent development:
> >LSP.
> >
> >If I've ever actually used Yasnippet recently, it's been through
> LSP/eglot,
> >completely transparently. When used though LSP, a lot of Yasnippet's
> >legacy,
> >bug-prone, wish-I-was-Textmate, dont-really-know-elisp code isn't being
> >exercised at all.
> >
> >I've personally abandoned the idea of maintaining personal or shared
> >language-specific snippet collections via many little text files. I would
> >guess
> >others have, too. LSP servers simply maintain that collection for you, as
> >they do so many other things, and that's agreeable to me.
> >
> >It's true that LSP still uses the Textmate snippet description language,
> and
> >snippet.el accepts Lisp forms (as it should). But translating from the
> >former
> >to the latter isn't very hard (in fact someone over at the repo did it
> some
> >years
> >ago).
> >
> >To summarize, I don't have any particularly strong opinion on what should
> >be done
> >with Yasnippet. In fact, I don't even know what problem Philip is trying
> to
> >solve!
> >Is it just the general idea of abandonment of the fact that people's issue
> >reports
> >go unanswered? If the latter, then I think archiving the repo would make
> >sense. No
> >more issue reports would come in and one could advertise the Emacs bug
> >tracker.
> >Would that improve things?
> >
> >I do think that it's important to preserve the documentation though, as
> >many people
> >seem to refer to it still. Or maybe transfer it to a more GNU ELPAish
> >location/format.
> >
> >Who knows if the description above motivates someone to pick up
> >'snippet.el',
> >finalize it, and make a new GNU ELPA package? Or maybe it motivates
> someone
> >to pick up the maintenance of the existing Yasnippet.
> >
> >So let me and Noam know if you wish me to do something admin with the
> >repository.
> >While Noam is the official maintainer, I think I still retain those
> rights.
> >
> >Jo�o
>
>
> Hi Joao:
>
> So far depending too much on lsp has some issues I am not sure they are
> all already solved in order to make yasnippet substitute its backends:
>
> 1) LSP+Tramp works pretty bad; specially with relatively big/medium
> projects it becaumes extremely slow and gives the error message of
> reentrant calls... also it depends on having LSP on the remote host.
>
> 2) It is difficult to use LSP for quick tests.. suppose it wants to test
> a simple program... usually I open /tmp/main.c and start writing... with
> LSP Eglot it needs to know how to compile it to give completions like
> inserting main(int argc...). flymake depends on a Makefile, LSP of a
> database...
>
> 3) Bear is also problematic as it now adds a lost of extra dependencies,
> so projects with autotools has a problem to create the build
> database...
>
> 4) When build is out of source (something that is becoming more common
> in autotools and cmake also prefers) the build and database creation and
> update requires constant extra effort, something most of the IDE do for
> the user.
>
> 5) Do you have documented how to make eglot integration with yasnippet?
> Because I can't make it work.
>
> If you have ways to go around these issues I will be very grated if you
> share them, so I could try eglot+yasnippet for daily use.
>
> Thanks in advance Ergus.
>
--
João Távora
[-- Attachment #2: Type: text/html, Size: 8093 bytes --]
next prev parent reply other threads:[~2022-05-30 23:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-29 21:34 What to do about unmaintained ELPA packages Philip Kaludercic
2022-05-29 21:41 ` Stefan Monnier
2022-05-29 21:54 ` Dmitry Gutov
2022-05-29 23:08 ` Tim Cross
2022-05-30 11:14 ` Akib Azmain Turja
2022-05-30 6:58 ` Philip Kaludercic
2022-05-30 13:45 ` Lars Ingebrigtsen
2022-05-30 14:46 ` João Távora
2022-05-30 22:51 ` Ergus
2022-05-30 23:04 ` João Távora [this message]
2022-05-31 16:42 ` Philip Kaludercic
2022-05-31 22:08 ` João Távora
2022-06-01 5:57 ` Bozhidar Batsov
2022-06-01 22:56 ` Richard Stallman
2022-05-30 22:53 ` Richard Stallman
2022-05-31 10:31 ` Akib Azmain Turja
2022-05-31 12:33 ` Stefan Monnier
2022-05-31 13:39 ` Akib Azmain Turja
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CALDnm50-Mnqy05S-OEqBWnp0WehB-48Ae5erMN5n_pdJoFZFPg@mail.gmail.com \
--to=joaotavora@gmail.com \
--cc=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=npostavs@users.sourceforge.net \
--cc=philipk@posteo.net \
--cc=spacibba@aol.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.