emacs-devel
[Top][All Lists]
Advanced

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

Re: running EDE from a file that is not under a project root dir


From: Stephen Leake
Subject: Re: running EDE from a file that is not under a project root dir
Date: Wed, 05 Aug 2015 01:43:00 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (windows-nt)

Eric Ludlam <address@hidden> writes:

> On 08/04/2015 02:13 PM, Stephen Leake wrote:
>> I often have "notes" files that are outside a project directory. For
>> example, my Emacs notes are not in the emacs/master directory; it is
>> controlled by git, and I don't want to commit my notes to that, nor
>> clutter .gitignore.
>>
>> At the same time, I'd like to be able to invoke "search for symbol at
>> point" from the notes text buffer; I have notes on functions/vars I'm
>> using at the moment.
>
> ...
>
>> My question is this; what is the minimum change I should make to EDE to
>> support these use cases?
>>
>> I think I need three things:
>>
>> - add a "file patterns" element to the EDE project (or target?) data
>> structure, and have semantic-symref-derive-find-filepatterns check that
>> before the alists.
>
> I'm not sure what matching file patterns has to do with core project
> functionality.  Your use case sounds like something that would want a
> specialized tool, the same way there are tools that jump between 'doc'
> and 'code'.

If I'm debugging the elisp code that implements Emacs Ada mode, I will
often want to search for an elisp symbol while in an Ada mode buffer. So
I'd like an elisp project that is simply global; active in all buffers.

> For example, if you keep notes in org mode (I assume everyone here
> uses org mode these days) 

Not me; plain text suits me just fine.

> then perhaps what is needed is tooling that knows how to keep TODO
> files in an org file tied to a project and the desired language, and
> then the project would form the root of any symref call.

Ok; consider my request one implementation of such tooling. It happens
to work in any buffer, not just org (or LaTeX or markdown or ...).

> I suspect symref needs a tweak so that the major mode in question is
> passed along far enough to get into the pattern matcher.  Once that is
> done, a tool that goes from your notes to src could call symref
> however it is needed.

"the major mode in question" is elisp, here; that's the kind of file
this project is managing (at least, that's my intent). But other
projects could easily manage more than one major mode; I have projects
that contain Ada, C, Makefile, LaTeX, texinfo. I guess the major mode
could be a list.

>> - add an ede-global-project variable that I can set to my current
>> project, to bypass the project root detection.
>>
>>      I've proposed the same change to project.el; there, it can be used
>>      by one of the project-find functions.
>
> I find the global project concept scary.  I can't say how many times
> I've edited Emacs code that was wasn't on my load path because I had
> multiple checkouts of the same code.  Mostly just too many times.

You misunderstand my point. I don't want a project that includes all
files on the disk (which is what I think you are refering to); I want a
single project that is active in all buffers.

Most other IDEs I've used have the notion of a single active project;
the splash screen asks for the project to open.

That's how Emacs Ada mode works; the user selects the single active
project. They can later select another one.

>> - some way to set up the EDE project object for elisp, especially the
>> file patterns.
>
> I don't think you need to do anything project specific here.  Symref
> doesn't do anything with EDE past getting the root.

No, it also gets the file pattern list.

>>      The EDE info manual in Emacs master mentions ede-proj-elisp.el in
>>      section 8 Extending EDE, but I don't see that file in Emacs master
>>      git.
>
> That is a piece of the large Make/Automake project system that builds
> makefiles for you.

I think you are saying the file ede-proj-elisp.el is in some CEDET
repository, but not in Emacs core? I'll go look.

-- 
-- Stephe



reply via email to

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