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

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

[elpa] externals/eev 2b04415e95 1/2: Rewrote eev-kla.el almost completel


From: ELPA Syncer
Subject: [elpa] externals/eev 2b04415e95 1/2: Rewrote eev-kla.el almost completely.
Date: Sun, 6 Mar 2022 23:57:27 -0500 (EST)

branch: externals/eev
commit 2b04415e95fd7308ff8d43d14b505cf54509479e
Author: Eduardo Ochs <eduardoochs@gmail.com>
Commit: Eduardo Ochs <eduardoochs@gmail.com>

    Rewrote eev-kla.el almost completely.
---
 ChangeLog  |   4 +++
 VERSION    |   4 +--
 eev-kla.el | 115 ++++++++++++++++++++++++++++++++++++++++++++-----------------
 3 files changed, 89 insertions(+), 34 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f453baffb1..50c03d2af3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2022-03-07  Eduardo Ochs  <eduardoochs@gmail.com>
+
+       * eev-kla.el: rewritten almost completely.
+
 2022-03-03  Eduardo Ochs  <eduardoochs@gmail.com>
 
        * eev-intro.el (find-eev-quick-intro): rewrote the section "10.2.
diff --git a/VERSION b/VERSION
index e8701c529f..8881439aab 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Thu Mar  3 18:41:29 GMT 2022
-Thu Mar  3 15:41:29 -03 2022
+Mon Mar  7 04:33:45 GMT 2022
+Mon Mar  7 01:33:45 -03 2022
diff --git a/eev-kla.el b/eev-kla.el
index 63ed0e2a5d..2308f21cfb 100644
--- a/eev-kla.el
+++ b/eev-kla.el
@@ -1,4 +1,4 @@
-;;; eev-kla.el -- kill link to anchor and variants.  -*- lexical-binding: nil; 
-*-
+;;; eev-kla.el -- kill link to anchor and friends.  -*- lexical-binding: nil; 
-*-
 
 ;; Copyright (C) 2012-2021 Free Software Foundation, Inc.
 ;;
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <eduardoochs@gmail.com>
 ;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version:    20220224
+;; Version:    20220307
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-kla.el>
@@ -144,6 +144,10 @@
 ;;
 ;;         Copied to the kill ring: (find-eevfile "eev-kla.el")
 ;;
+;;   3) `M-x eeklas'
+;;
+;;   4) `M-x eeklfs'
+;;
 ;;   3) `M-x ee-preferred-c-show', that shows the current directory
 ;;      and the value of `ee-preferred-c' at the window at the right.
 ;;      This is useful to check if the ".dir-locals.el" file was
@@ -193,12 +197,33 @@
 
 
 ;; «utils»  (to ".utils")
+;; Tests: (ee-kl-c)
+;;        (ee-kl-dir)
+;;        (ee-kl-fname)
+;;                   ee-edir
+;;        (ee-kl-dir   "e")
+;;                         (ee-efile "textmodes/fill.el")
+;;        (ee-kl-fname "e" (ee-efile "textmodes/fill.el"))
 ;;
-(defun ee-kl-dir (c)
-  (ee-expand (eval (read (format "ee-%sdir" c)))))
+(defun ee-kl-c ()
+  (or ee-preferred-c (error "`ee-preferred-c' is nil here!")))
 
-(defun ee-kl-fname (c fname)
-  (ee-remove-prefix (ee-kl-dir c) (ee-expand fname)))
+(defun ee-kl-dir (&optional c)
+  (ee-expand (eval (read (format "ee-%sdir" (or c (ee-kl-c)))))))
+
+(defun ee-kl-fname (&optional c fname)
+  (ee-remove-prefix (ee-kl-dir c) (ee-expand (or fname buffer-file-name))))
+
+;; Tests: (ee-kl-anchor)
+;;        (ee-kl-region)
+;;        (ee-kl-kill "(FOO \"BAR\")")
+;;
+(defun ee-kl-anchor ()
+  (ee-copy-preceding-tag-to-kill-ring))
+
+(defun ee-kl-region ()
+  (if (not (use-region-p)) (error "The region is not active!"))
+  (buffer-substring-no-properties (point) (mark)))
 
 (defun ee-kl-kill (sexp)
   (kill-new (concat sexp "\n"))
@@ -206,6 +231,32 @@
 
 
 
+;; Tests:
+;;   (defun find-2ae (sexp) (find-2a nil `(find-estring ,sexp :end)))
+;;   (find-2ae ' (concat "FOO\n" "BAR") )
+;;   (find-2ae ' (ee-kla-sexp  "eev" "foo.el" "ANCHOR") )
+;;   (find-2ae ' (ee-klas-sexp "eev" "foo.el" "ANCHOR" "FOO\nBAR") )
+;;   (find-2ae ' (ee-klf-sexp  "eev" "foo.el") )
+;;   (find-2ae ' (ee-klfs-sexp "eev" "foo.el" "FOO\nBAR") )
+;;        
+(defun ee-kla-sexp (c fname anchor)
+  (format "(find-%s \"%s\" \"%s\")" c fname anchor))
+
+(defun ee-klas-sexp (c fname anchor str)
+  (format "(find-%s \"%s\" \"%s\" %s)" c fname anchor (ee-S str)))
+
+(defun ee-klf-sexp (c fname)
+  (format "(find-%sfile \"%s\")" c fname))
+
+(defun ee-klfs-sexp (c fname str)
+  (format "(find-%sfile \"%s\" %s)" c fname (ee-S str)))
+
+
+
+
+
+
+
 ;;;            _    _       
 ;;;   ___  ___| | _| | __ _ 
 ;;;  / _ \/ _ \ |/ / |/ _` |
@@ -213,46 +264,46 @@
 ;;;  \___|\___|_|\_\_|\__,_|
 ;;;                         
 ;; «eekla»  (to ".eekla")
-;; <K>ill <L>ink to <A>nchor.
+;; <K>ill <L>ink to <A>nchor,
+;; <K>ill <L>ink to <A>nchor and <S>tring,
+;; <K>ill <L>ink to <File>.
+;; <K>ill <L>ink to <File> and <S>tring.
 ;; More precisely: produce a link to the preceding anchor and put it
 ;; in the kill-ring.
 
-(defun ee-kla-sexp (c fname anchor)
-  (format "(find-%s \"%s\" \"%s\")" c (ee-kl-fname c fname) anchor))
+;; (eek "C-e 4*<left> C-SPC <<klas>>")
+
 
 (defun eekla ()
-  "Put in the kill ring a link to the preceding anchor."
+  "<K>ill <L>ink to <A>nchor.
+Put in the kill ring a link to the preceding anchor."
   (interactive)
-  (let* ((c (or ee-preferred-c (error "`ee-preferred-c' is nil here!")))
-         (fname buffer-file-name)
-        (anchor (ee-copy-preceding-tag-to-kill-ring)))
-    (ee-kl-kill (ee-kla-sexp c fname anchor))))
-
-
-;;;            _    _  __ 
-;;;   ___  ___| | _| |/ _|
-;;;  / _ \/ _ \ |/ / | |_ 
-;;; |  __/  __/   <| |  _|
-;;;  \___|\___|_|\_\_|_|  
-;;;                       
-;; «eeklf»  (to ".eeklf")
-;; <K>ill <L>ink to <File>.
+  (ee-kl-kill (ee-kla-sexp (ee-kl-c) (ee-kl-fname) (ee-kl-anchor))))
 
-(defun ee-klf-sexp (c fname)
-  (format "(find-%sfile \"%s\")" c (ee-kl-fname c fname)))
+(defun eeklas ()
+  "<K>ill <L>ink to <A>nchor and <S>tring.
+Put in the kill ring a link to the preceding anchor."
+  (interactive)
+  (ee-kl-kill (ee-klas-sexp (ee-kl-c) (ee-kl-fname) (ee-kl-anchor) 
(ee-kl-region))))
 
 (defun eeklf ()
-  "Put in the kill ring a link to this file."
+  "<K>ill <L>ink to <F>ile."
   (interactive)
-  (let* ((c (or ee-preferred-c (error "`ee-preferred-c' is nil here!")))
-         (fname buffer-file-name))
-    (ee-kl-kill (ee-klf-sexp c fname))))
+  (ee-kl-kill (ee-klf-sexp (ee-kl-c) (ee-kl-fname))))
+
+(defun eeklfs ()
+  "<K>ill <L>ink to <F>ile and <S>tring."
+  (interactive)
+  (ee-kl-kill (ee-klfs-sexp (ee-kl-c) (ee-kl-fname) (ee-kl-region))))
+
 
 
 ;; «aliases»  (to ".aliases")
 ;; I use these aliases:
-;; (defalias 'kla 'eekla)
-;; (defalias 'klf 'eeklf)
+;; (defalias 'kla  'eekla)
+;; (defalias 'klas 'eeklas)
+;; (defalias 'klf  'eeklf)
+;; (defalias 'klfs 'eeklfs)
 
 
 



reply via email to

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