all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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 --]

  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.