emacs-devel
[Top][All Lists]
Advanced

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

Re: Unified project interface


From: Dmitry Gutov
Subject: Re: Unified project interface
Date: Tue, 28 Jul 2015 17:18:49 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0

On 07/28/2015 04:21 AM, Stephen Leake wrote:

Could you give an example?

Ada, gradle.

I meant an example (or several) of those declarations from an actual project file.

Here an excerpt from an imaginary Gemfile:

gem 'foo', '~> 1.2.3'
gem 'bar', path: '../bar'

Having the latter kind of declaration might not be considered the best idea, but it's often nice to be able to do that. Anyway, I'm sure there are corresponding configurations in other ecosystems that are more idiomatic.

I don't know who this "we" is, but I usually structure a large project
as a main with several lower level libraries, all of which I maintain,
and I edit them all together to implement new functionality in main. So
that has to be a choice.

IME, aside from a few libraries one (person/team/company) maintains themselves, there's also a long list of external dependencies.

In the example above, 'bar' will be one of project-directory-roots, and 'foo' will only be in project-search-path.

Actually, 'xref-find-regexp' should be named 'project-find-regexp' (or
prj-find-regexp). Keep 'xref' for strictly cross-reference stuff;

Sounds good to me. I'll make that change as soon as xref has a suitable public interface for that.

'project' is for more general project stuff.

It's also used in the xref-find-references implementations in elisp-mode and etags, which I'm inclined to converge into one default implementation that uses the info from the project package. I think that's fine.

Either that, or drop 'project' and just call it all 'xref'.

project is foremost intended to be used for third-party code. It's a feature that's been requested for a while.



reply via email to

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