1. 25 Apr, 2019 1 commit
    • Stephen Leake's avatar
      Add new file completion tables, change project.el to allow using them · d2a5283a
      Stephen Leake authored
      * lisp/file-complete-root-relative.el: New file.
      
      * lisp/uniquify-files.el: New file.
      
      * test/lisp/progmodes/uniquify-files-resources/: New directory
      containing files for testing uniquify-files.
      
      * test/lisp/progmodes/uniquify-files-test.el: New file; test
      uniquify-files.
      
      * lisp/files.el (path-files): New function; useful with new completion
      tables.
      
      * lisp/progmodes/project.el (project-file-completion-table): Use
      file-complete-root-relative completion table.
      (project-find-file): Add optional FILENAME parameter.
      (project--completing-read-strict): Rewrite to just use the given
      completion table; extracting the common directory is now done by
      file-complete-root-relative. This also allows using the new
      uniquify-files completion table.
      
      * lisp/minibuffer.el (completion-category-defaults): Add
      uniquify-file.
      (completing-read-default): Add final step to call completion table
      with 'alist action if supported.
      d2a5283a