Introduce a Project API
commitf8c720b55b9419c849ea9febe6f888761a61949b
authorDmitry Gutov <dgutov@yandex.ru>
Fri, 10 Jul 2015 01:34:41 +0000 (10 04:34 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Fri, 10 Jul 2015 01:40:09 +0000 (10 04:40 +0300)
tree1b8c1d5e3846eff794d04f69cbb71d54dab82922
parent78c3e14aafb6125ea584c78e13df41a35f18c51e
Introduce a Project API

* lisp/progmodes/project.el: New file.

* lisp/cedet/ede.el: (project-try-ede): New function.
(project-root): New implementation.

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Set project-search-path-function.
(elisp--xref-find-references): Delegate some logic to
project-search-path.
(elisp-search-path): New function.
(elisp-xref-find): Don't implement `matches' anymore.

* lisp/progmodes/etags.el: Don't implement `matches'.
Delegate some logic to project-search-path.
(etags-search-path): New function.

* lisp/progmodes/xref.el (xref-find-function):
Remove `matches' from the API.
(xref-find-regexp): Move whatever common logic was in elisp and
etags implementations, and search the directories returned by
project-directories and project-search-path.
lisp/cedet/ede.el
lisp/progmodes/elisp-mode.el
lisp/progmodes/etags.el
lisp/progmodes/project.el [new file with mode: 0644]
lisp/progmodes/xref.el