emacs-devel
[Top][All Lists]
Advanced

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

Re: An anonymous IRC user's opinion


From: Eli Zaretskii
Subject: Re: An anonymous IRC user's opinion
Date: Wed, 09 Oct 2024 16:13:58 +0300

> From: Johan Myréen <johan.myreen@gmail.com>
> Date: Wed, 9 Oct 2024 14:09:13 +0300
> 
> I see this more as a documentation problem. Emacs lacks "official" 
> documentation on how to configure an
> environment to do certain things, which includes installing certain Elisp 
> packages, and configuring them.

My analysis is different.  Emacs lacks volunteers who'd sit down and
write documentation on how to configure Emacs for this or that job.
Once that is written, and written well, admitting it into Emacs is
usually a no-brainer.

Mind you: the above is an extremely non-trivial job, because the sheer
number of possible "jobs" which Emacs can support is mind-boggling.
Even if someone describes in excruciating detail how to configure
Emacs for Rust development, that only helps people who need to develop
programs in Rust, but doesn't help at all to, say, someone who needs to
write a thesis about some academic subject, or read email from Gmail
or even develop C++ programs, or...

> In the good old days software development meant editing a few C files in 
> Emacs and then running make.
> This no longer meets the expectations people have of a software development 
> environment. For example,
> creating a contemporary environment to write and build software using the 
> Rust programming language and
> Emacs, you need Rust mode, rust-ts-mode for Treesitter integration, Eglot to 
> communicate with
> rust-analyzer (a Language Server implementation for Rust) for completion and 
> goto definition, Company
> mode for code completion, Magit for version control, DAP mode for debugging, 
> and so on. Many of these
> packages have alternative implementations, for example rustic-mode instead of 
> rust-mode.

This is an exaggeration to some degree.  rust-ts-mode is part of
Emacs, and could be turned on automatically when a Rust file is
visited; we didn't do that because we are unsure whether users of an
unbundled Rust mode will protest.  Eglot is part of Emacs, but it
cannot be started automatically because the LSP server, which is a
separate piece of software, needs to be installed and configured
first; are we supposed to be held responsible for that as well?  We do
have TAGS support for Rust (goto definition etc., so alternative to
LSP), and the new etags-regen-mode might just make the job of using
TAGS much easier and seamless.  Magit is nice, but not really
necessary, since we have VC built in, which doesn't need to be
configured.  DAP is not necessary, since Emacs has a GDB front-end
(which doesn't need to be configured, just invoked with a single
command), and GDB supports debugging Rust programs.

So things are not that bad, are they?

I do agree that good tutorials which would mention all this stuff
would make things better, at least for those who read documentation
(how many do?), but that needs volunteers to sit down and write that
up.  Would you please consider doing something like that for some jobs
with which you are familiar?

> I'm not saying you can't edit Rust code without all these packages, but these 
> packages combined provide
> the minimum that the competition (e.g. Visual Studio Code) offers.

I'm guessing VSCode comes with pre-configured LSP servers, a single
Rust mode, and a single Git interface.  Am I mistaken?  If so, is that
how we want to treat our users? will they agree to be treated like
that?



reply via email to

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