unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* running EDE from a file that is not under a project root dir
@ 2015-08-04 18:13 Stephen Leake
  2015-08-04 23:18 ` Dmitry Gutov
  2015-08-05  1:57 ` Eric Ludlam
  0 siblings, 2 replies; 28+ messages in thread
From: Stephen Leake @ 2015-08-04 18:13 UTC (permalink / raw)
  To: emacs-devel

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.

Currently, I'm trying to use xref-find-references on the elisp function
temp-buffer-window-show (defined in window.el).

That delegates to semantic-symref-find-references-by-name, which is
where EDE comes in.

This uses semantic-symref-detect-symref-tool to get the search tool; it
picks grep (meaning grep-find), which is fine.

But then it uses semantic-symref-derive-find-filepatterns to get the
file patterns to pass to grep. Since I'm starting from a text-mode
buffer, that returns (*.letter *.article *.te?xt). Which is _not_ what I
want; I want *.el.

Creating an EDE project would not help, because
semantic-symref-derive-find-filepatterns doesn't use the EDE project,
only semantic-symref-filepattern-alist and auto-mode-alist.


A related use case is searching for C identifiers from a LaTeX
documentation file in a C project; then EDE will find the right root and
project, but still return the wrong file patterns.


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.

- 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.

- some way to set up the EDE project object for elisp, especially the
file patterns.

    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.
    
-- 
-- Stephe



^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2015-08-10 10:09 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-04 18:13 running EDE from a file that is not under a project root dir Stephen Leake
2015-08-04 23:18 ` Dmitry Gutov
2015-08-05  7:48   ` Stephen Leake
2015-08-05  9:30     ` Dmitry Gutov
2015-08-06  8:01       ` Stephen Leake
2015-08-06 10:34         ` Dmitry Gutov
2015-08-06 14:39           ` Stephen Leake
2015-08-06 21:45             ` Dmitry Gutov
2015-08-07 14:15               ` Stephen Leake
2015-08-05  1:57 ` Eric Ludlam
2015-08-05  6:43   ` Stephen Leake
2015-08-05  7:20     ` Stephen Leake
2015-08-05 15:09       ` Eli Zaretskii
2015-08-05 11:42     ` Eric Ludlam
2015-08-06  8:37       ` Stephen Leake
2015-08-06 10:55         ` David Engster
2015-08-06 14:55           ` Stephen Leake
2015-08-07 10:48             ` David Engster
2015-08-07 14:28               ` Stephen Leake
2015-08-07 14:53                 ` David Engster
2015-08-10 10:09             ` Steinar Bang
2015-08-06 11:44         ` Eric Ludlam
2015-08-06 15:03           ` Stephen Leake
2015-08-05 11:51     ` Eric Ludlam
2015-08-06  8:58       ` Stephen Leake
2015-08-08 15:26         ` Stephen Leake
2015-08-08 21:07           ` Eric Ludlam
2015-08-05  9:54   ` Dmitry Gutov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).