1. 28 Dec, 2015 1 commit
    • Dmitry Gutov's avatar
      Rename project-library-roots to project-external-roots · 17ab0d10
      Dmitry Gutov authored
      * lisp/progmodes/project.el (project-library-roots): Rename to
      project-external-roots.
      (project-library-roots-function): Rename to
      project-vc-external-roots-function.  Only use it in the VC
      backend, for now.  Update project-external-roots accordingly.
      (project-vc-library-roots): Remove.
      (project-or-libraries-find-regexp):
      Rename to project-or-external-find-regexp.
      
      * lisp/progmodes/elisp-mode.el (elisp-library-roots):
      Rename to elisp-load-path-roots.
      
      * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
      an anonymous function for the default value of
      project-vc-external-roots-function.
      17ab0d10
  2. 15 Nov, 2015 1 commit
  3. 10 Nov, 2015 4 commits
  4. 08 Nov, 2015 3 commits
  5. 06 Nov, 2015 1 commit
    • Dmitry Gutov's avatar
      Rename "search path" to "library roots" · 97769720
      Dmitry Gutov authored
      * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
      of the elements from CL-LIST1.
      
      * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
      Update WRT to the above change.
      
      * lisp/progmodes/project.el (project-search-path-function): Rename
      to project-library-roots-function, update the documentation and
      references.
      (project-search-path): Likewise, to project-library-roots.
      (project-roots): Clarify documentation.
      (project-vc-search-path): Likewise, to project-vc-library-roots.
      (project-library-roots): In addition to the renames, thread the
      results through file-name-as-directory.
      (project-prune-directories): Accept a variable number of
      arguments.  Rename to project-combine-directories.
      (project-subtract-directories): New function.
      
      * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
      Append project-roots and project-library-roots together.
      
      * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
      97769720
  6. 10 Aug, 2015 1 commit
    • Dmitry Gutov's avatar
      Add project-vc-search-path and project-vc-ignores · 6f9b2334
      Dmitry Gutov authored
      * lisp/progmodes/project.el (project-vc): New group.
      (project-vc-search-path, project-vc-ignores): New variables.
      (project--value-in-dir): Utility function.
      (project-search-path, project-ignores): Use them.
      
      * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
      at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
      6f9b2334
  7. 05 Aug, 2015 1 commit
  8. 01 Aug, 2015 1 commit
    • Dmitry Gutov's avatar
      Add a second argument to project-ignores · 543bb9bc
      Dmitry Gutov authored
      * lisp/progmodes/project.el (project-ignores): Add a second
      argument DIR.
      
      * lisp/progmodes/project.el (project-ignores): Only include the VC
      ignores if DIR is the VC root.
      
      * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
      543bb9bc
  9. 31 Jul, 2015 1 commit
    • Dmitry Gutov's avatar
      Rename project-directories to project-roots · 6a79a169
      Dmitry Gutov authored
      * lisp/progmodes/project.el (project-search-path-function)
      (project-search-path): Update the docstring.
      (project-directories): Rename to `project-roots', update all
      callers and implementations accordingly.
      (project-root): Remove.
      
      * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
      as the default file mask.
      6a79a169
  10. 20 Jul, 2015 1 commit
  11. 12 Jul, 2015 1 commit
    • Dmitry Gutov's avatar
      Add `project-ignores' · 62d5d465
      Dmitry Gutov authored
      * lisp/progmodes/project.el (project-ignores): New generic
      function, and an implementation for the	VC project type.
      
      * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
      variant of rgrep-default-command that handles a generic list of
      ignores.
      (xref-collect-matches): Use it, and pass through to it the value
      of the newly added argument.
      (xref-find-regexp): Handle ignored paths within the project.
      Remove outdated comment.
      
      * lisp/vc/vc.el (vc-default-ignore-completion-table):
      Skip the comments and the empty lines.
      62d5d465
  12. 10 Jul, 2015 1 commit
    • Dmitry Gutov's avatar
      Introduce a Project API · f8c720b5
      Dmitry Gutov authored
      * 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.
      f8c720b5