[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)