emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What to do about unmaintained ELPA packages


From: João Távora
Subject: Re: What to do about unmaintained ELPA packages
Date: Tue, 31 May 2022 00:04:43 +0100

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]