[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master 1e3b0f2: Improve doc strings of project.el
From: |
Eli Zaretskii |
Subject: |
Re: master 1e3b0f2: Improve doc strings of project.el |
Date: |
Sun, 21 Jun 2020 18:08:04 +0300 |
> Cc: theo@thornhill.no, philip@warpmail.net, emacs-devel@gnu.org
> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Sun, 21 Jun 2020 02:11:18 +0300
>
> I don't want to dismiss the critique outright. Believe it or not, I really do
> want you, personally, to be happier and more productive as a result of things
> I do here. I spent several hours today just thinking about this discussion.
> But our workflows are different, and expectations are different as well, and
> it seems that your requests tend to conflict with some design choices I have
> originally made.
>
>
> One of them was to make the VC project a hands-off backend, one that
> immediately "just works" (or tries to), with a few possibilities for
> customization through local variables.
This must be supported, of course. And the backend which treats an
entire directory with its subdirectories as a project must also be
supported.
I'm not arguing for dropping any of these two. I'm arguing for adding
yet another possibility, whereby the files belonging to a project are
selected by the user, whether by marking in a Dired-like directory
display, or by explicitly naming each file to be added, or by
drag-n-drop.
Based on the discussion of non file-visiting buffers related to a
project, I think there should also be a command that would allow the
user to include/exclude such buffers from the project, because it
doesn't make sense to me to decide up front that any *shell* or *grep*
or whatever buffers are automatically considered to be part of the
project based on something as ephemeral as their default-directory.
> You seem to think (and this is only my guess, of course) that a project is a
> unit of work. And that whatever files, or activities, are pertinent to your
> current goal, are a part of that project. Hence, if you do a search anywhere,
> in any directory, but in pursuit of that goal, the search results are
> certainly a part of the current project. It is certainly a valid viewpoint,
> but one that I have never considered before.
I think it needs to be considered because it's a valid use case and
happens in practice. It would be useful to support it OOTB. Even if
all the files belonging to a project are in the same directory, the
MO where _all_ (or a vast majority) of the files in a directory belong
to the project is a serious limitation, and we shouldn't impose it on
our users. Granted, one can produce a large enough exclude/ignore
list to leave only a handful of files, but if just 5% or 10% of files
in a directory should be part of a project, excluding the other 90% or
95% is a nuisance and an unnatural thing to do.
> So I'm not sure where to go from here. If the latter viewpoint has more
> supporters, perhaps an new, alternative backend is the way to go. This would
> be a test of the API, how well it adapts to different goals.
I'm not talking in terms of backends, I'm talking in terms of
user-facing features. I think we should decide whether a feature such
as the above should be part of what project.el supports, and then
consider how to implement it. I don't see why the implementation
should be very complicated, FWIW, so there's no need to bring the
implementation into the picture, not yet.
> And project-switch-to-buffer should work with all kinds of projects.
>
> Yes. And one such kind is an ad-hoc collection of files and buffers,
> where only the user knows which ones he/she is interested in and which
> ones he/she isn't. Every IDE I saw supports something like that, so
> we should do that as well, IMO.
>
> I'm curious about those "every IDE". I don't recall such a feature in ones I
> tried. Perhaps I just didn't use it, of course.
Few examples below:
Code::Blocks:
https://www.cs.odu.edu/~zeil/FAQs/Public/newIDEProject/index.html#creating-a-project-from-existing-code
Visual Studio:
https://docs.microsoft.com/en-us/visualstudio/ide/creating-solutions-and-projects?view=vs-2019
Look under "Create a project from existing code files", "Add files
to a solution", "Create empty solutions"
QNX:
https://www.qnx.com/developers/docs/6.4.1/ide_en/user_guide/tutorials.html
Netbeans:
https://netbeans.apache.org/kb/docs/cnd/quickstart.html#_adding_existing_files_to_your_project
TI's Code Composer:
http://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_project-management.html#adding-or-linking-source-files-to-project
- Re: master 1e3b0f2: Improve doc strings of project.el, (continued)
- Re: master 1e3b0f2: Improve doc strings of project.el, Eli Zaretskii, 2020/06/20
- Re: master 1e3b0f2: Improve doc strings of project.el, Dmitry Gutov, 2020/06/20
- Re: master 1e3b0f2: Improve doc strings of project.el, Dmitry Gutov, 2020/06/20
- Re: master 1e3b0f2: Improve doc strings of project.el, Eli Zaretskii, 2020/06/20
- Re: master 1e3b0f2: Improve doc strings of project.el, Basil L. Contovounesios, 2020/06/20
- Re: master 1e3b0f2: Improve doc strings of project.el, Eli Zaretskii, 2020/06/20
- RE: master 1e3b0f2: Improve doc strings of project.el, Drew Adams, 2020/06/20
- Re: master 1e3b0f2: Improve doc strings of project.el, Dmitry Gutov, 2020/06/20
- Re: master 1e3b0f2: Improve doc strings of project.el,
Eli Zaretskii <=
- Re: master 1e3b0f2: Improve doc strings of project.el, Juri Linkov, 2020/06/21
- Re: master 1e3b0f2: Improve doc strings of project.el, Eli Zaretskii, 2020/06/21
- Re: master 1e3b0f2: Improve doc strings of project.el, Dmitry Gutov, 2020/06/27
- Re: master 1e3b0f2: Improve doc strings of project.el, Eli Zaretskii, 2020/06/28
- Re: master 1e3b0f2: Improve doc strings of project.el, Dmitry Gutov, 2020/06/28
- Re: master 1e3b0f2: Improve doc strings of project.el, Eli Zaretskii, 2020/06/29
- Re: master 1e3b0f2: Improve doc strings of project.el, Stephen Leake, 2020/06/29
- Re: master 1e3b0f2: Improve doc strings of project.el, Juri Linkov, 2020/06/29
- Re: master 1e3b0f2: Improve doc strings of project.el, Dmitry Gutov, 2020/06/28
- Re: master 1e3b0f2: Improve doc strings of project.el, Eli Zaretskii, 2020/06/29