emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/sweeprolog a4d496e96c 2/3: Document sweeprolog-file-at-poi


From: ELPA Syncer
Subject: [nongnu] elpa/sweeprolog a4d496e96c 2/3: Document sweeprolog-file-at-point, file-name-at-point-functions
Date: Mon, 23 Jan 2023 05:01:04 -0500 (EST)

branch: elpa/sweeprolog
commit a4d496e96ca808c5ab343b5505689d07d89d8e73
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>

    Document sweeprolog-file-at-point, file-name-at-point-functions
---
 README.org    | 23 ++++++++++++++++++-----
 sweeprolog.el |  1 +
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/README.org b/README.org
index a93aa3001d..b5f1070e45 100644
--- a/README.org
+++ b/README.org
@@ -1094,19 +1094,32 @@ library directories.
 
 - Key: C-c C-o (sweeprolog-find-file-at-point) :: Resolve file
   specification at point and visit the specified file.
+- Function: sweeprolog-file-at-point &optional point :: Return the
+  file name specified by the Prolog file specification at POINT.
 
-You can follow file specifications that occur in =sweeprolog-mode=
-buffers with =C-c C-o= (or =M-x sweeprolog-find-file-at-point=) whenever
+You can follow file specifications that occur in ~sweeprolog-mode~
+buffers with ~C-c C-o~ (or ~M-x sweeprolog-find-file-at-point~) whenever
 point is over a valid file specification.  For example, consider a
-Prolog file buffer with the common directive =use_module/1=:
+Prolog file buffer with the common directive ~use_module/1~:
 
 #+begin_src prolog
   :- use_module(library(lists)).
 #+end_src
 
-With point in any position inside =library(lists)=, typing =C-c C-o= will
+With point in any position inside ~library(lists)~, typing ~C-c C-o~ will
 open the =lists.pl= file in the Prolog library.
 
+Sweep also extends Emacs's ~file-name-at-point-functions~ hook with the
+function ~sweeprolog-file-at-point~ that returns the resolved Prolog
+file specification at point, if any.  Emacs uses this hook to populate
+the "future history" of minibuffer prompts that read file names, such
+as the one you get when you type ~C-x C-f~ (~find-file~).  In particular
+this means that if point is in a Prolog file specification, you can
+type ~M-n~ after ~C-x C-f~ to populate the minibuffer with the
+corresponding file name.  You can then go ahead and visit the file by
+typing ~RET~, or you can edit the minibuffer contents and visit a nearby
+file instead.
+
 For more information about file specifications in SWI-Prolog, see
 
[[https://www.swi-prolog.org/pldoc/doc_for?object=absolute_file_name/3][absolute_file_name/3]]
 in the SWI-Prolog manual.
 
@@ -1909,7 +1922,7 @@ loaded or auto-loadable Prolog predicate.
 :ALT_TITLE: File Spec Expansion
 :END:
 
-Sweep defines a handler for the Emacs function =expand-file-file= that
+Sweep defines a handler for the Emacs function =expand-file-name= that
 recognizes Prolog file specifications, such as =library(lists)=, and
 expands them to their corresponding absolute paths.  This means that
 one can use Prolog file specifications with Emacs's standard =find-file=
diff --git a/sweeprolog.el b/sweeprolog.el
index 3876bfd3b7..a3502f8184 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -2953,6 +2953,7 @@ buffer to load."
                    #'sweeprolog-file-name-handler))
 
 (defun sweeprolog-file-at-point (&optional point)
+  "Return the file name specified by the Prolog file spec at POINT."
   (setq point (or point (point)))
   (let ((fap nil))
     (sweeprolog-analyze-term-at-point



reply via email to

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