emacs-devel
[Top][All Lists]
Advanced

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

Re: Builder, a build system integration for Emacs


From: BTuin
Subject: Re: Builder, a build system integration for Emacs
Date: Wed, 24 May 2023 22:09:52 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0

Le 24/05/2023 à 08:32, Juri Linkov a écrit :
This is exactly what Builder does: if you want to compile, it will detect
which build systems are present in the project and provide you choices of
commands to execute.  You can see that as an autocomplete for M-x compile.

After asking you to chose the command, it will actually pass the string to
the function `compile'.  So it doesn't re-implement anything.
It's just a layer over `compile', to remove repetitive tasks.

I know you can customize `compile-command', but you can only have one value
by project, you need to set it for each project and you can't switch
between values.  It doesn't help you if you want to switch to debug or
another target, or to run tests, or if you have multiple build systems on
your project.

Like 'tex-compile-commands', a new variable 'compile-commands' could
support a list of default commands.  You can fill it with default values,
then the user can select one of them by using completion.


Of course, but then you'll want to filter according to the available build systems on the project to make it more convenient, because there are a lot of build systems. Also, you'd want to create categories (such as compile, test, configure...) so you don't have to search for your command.
Add some facilities to make it more configurable and flexible...
And finally you would have, well, more or less Builder  :D

`tex-compile-commands' works fine because its scope is very limited: only one "build system". But with Make, Autotools, CMake, Meson, Cargo, Xmake, Dune, QMake, ASDF, and many, many more, it would get messy very quickly.





reply via email to

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