[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/rec-mode 9c6d63d 50/98: rec-mode: copy/kill fields and
From: |
Stefan Monnier |
Subject: |
[elpa] externals/rec-mode 9c6d63d 50/98: rec-mode: copy/kill fields and records commands. |
Date: |
Thu, 12 Nov 2020 13:18:38 -0500 (EST) |
branch: externals/rec-mode
commit 9c6d63db42da3da8e88a1e8f4e55e08b378c5a21
Author: Jose E. Marchesi <jemarch@gnu.org>
Commit: Antoine Kalmbach <ane@iki.fi>
rec-mode: copy/kill fields and records commands.
---
etc/rec-mode.el | 77 +++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 53 insertions(+), 24 deletions(-)
diff --git a/etc/rec-mode.el b/etc/rec-mode.el
index e1f988d..e09b3e7 100644
--- a/etc/rec-mode.el
+++ b/etc/rec-mode.el
@@ -145,6 +145,10 @@ hidden by default in navigation mode.")
(define-key map "\C-csq" 'rec-cmd-select-fast)
(define-key map "\C-css" 'rec-cmd-select-sex)
(define-key map "\C-cI" 'rec-cmd-show-info)
+ (define-key map "\C-cf\C-w" 'rec-cmd-kill-field)
+ (define-key map "\C-cf\M-w" 'rec-cmd-copy-field)
+ (define-key map "\C-cr\C-w" 'rec-cmd-kill-record)
+ (define-key map "\C-cr\M-w" 'rec-cmd-copy-record)
(define-key map (kbd "TAB") 'rec-cmd-goto-next-field)
(define-key map "\C-cb" 'rec-cmd-jump-back)
(define-key map "\C-c\C-c" 'rec-finish-editing)
@@ -165,6 +169,12 @@ hidden by default in navigation mode.")
(define-key map "t" 'rec-cmd-show-type)
(define-key map "m" 'rec-cmd-trim-field-value)
(define-key map "c" 'rec-cmd-compile)
+ (define-key map "f\C-w" 'rec-cmd-kill-field)
+ (define-key map "f\M-w" 'rec-cmd-copy-field)
+ (define-key map "r\C-w" 'rec-cmd-kill-record)
+ (define-key map "r\M-w" 'rec-cmd-copy-record)
+ (define-key map "f\C-w" 'rec-cmd-kill-field)
+ (define-key map "f\M-w" 'rec-cmd-copy-field)
(define-key map "sq" 'rec-cmd-select-fast)
(define-key map "ss" 'rec-cmd-select-sex)
(define-key map "\C-ct" 'rec-find-type)
@@ -1676,22 +1686,6 @@ will be used for fields of any type."
(when pos
(goto-char pos))))
-(defun rec-kill-field ()
- "Kill the current field"
- (interactive)
- (let ((begin-pos (rec-beginning-of-field-pos))
- (end-pos (rec-end-of-field-pos)))
- (when (and begin-pos end-pos)
- (kill-region begin-pos end-pos))))
-
-(defun rec-copy-field ()
- "Copy the current field"
- (interactive)
- (let ((begin-pos (rec-beginning-of-field-pos))
- (end-pos (rec-end-of-field-pos)))
- (when (and begin-pos end-pos)
- (copy-region-as-kill begin-pos end-pos))))
-
(defun rec-delete-field ()
"Delete the current field"
(interactive)
@@ -2001,14 +1995,49 @@ This command is especially useful with enumerated
types."
(rec-unfold-field)
(rec-fold-field))))
-;; (defun rec-cmd-create-new-record ()
-;; "Create a new record with some default fields in the current
-;; record set."
-;; (interactive)
-;; (let ((key (rec-key))
-;; (mandatory (rec-mandatory-fields))
-;; fields record)
-;; (when (not (member key mandatory))
+(defun rec-cmd-kill-field ()
+ "Kill the current field"
+ (interactive)
+ (let ((begin-pos (rec-beginning-of-field-pos))
+ (end-pos (rec-end-of-field-pos)))
+ (if (and begin-pos end-pos)
+ (kill-region begin-pos end-pos)
+ (message "Not in a field"))))
+
+(defun rec-cmd-copy-field ()
+ "Copy the current field"
+ (interactive)
+ (let ((begin-pos (rec-beginning-of-field-pos))
+ (end-pos (rec-end-of-field-pos)))
+ (if (and begin-pos end-pos)
+ (progn
+ (copy-region-as-kill begin-pos end-pos)
+ (message "Field copied to kill buffer"))
+ (message "Not in a field"))))
+
+(defun rec-cmd-kill-record ()
+ "Kill the current record"
+ (interactive)
+ (let ((begin-pos (rec-beginning-of-record-pos))
+ (end-pos (rec-end-of-record-pos)))
+ (if (and begin-pos end-pos)
+ (progn
+ (when (not (equal begin-pos (point-min)))
+ ;; Delete the newline before the record as well.
+ (setq begin-pos (- begin-pos 1)))
+ (kill-region begin-pos end-pos))
+ (message "Not in a record"))))
+
+(defun rec-cmd-copy-record ()
+ "Copy the current record"
+ (interactive)
+ (let ((begin-pos (rec-beginning-of-record-pos))
+ (end-pos (rec-end-of-record-pos)))
+ (if (and begin-pos end-pos)
+ (progn
+ (copy-region-as-kill begin-pos end-pos)
+ (message "record copied to kill buffer"))
+ (message "Not in a record"))))
;;;; Definition of modes
- [elpa] externals/rec-mode 75e53c1 73/98: prepare for 1.5.90, (continued)
- [elpa] externals/rec-mode 75e53c1 73/98: prepare for 1.5.90, Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 4eb296f 94/98: Add Info mode manual, Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode b03b215 07/98: Trailing blanks removed., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 6c82c97 13/98: ob-rec.el is not part of Emacs., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 884d53e 20/98: Initial implementation of encrypted fields., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode f111394 29/98: rec-mode: more work in the field types., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 37fa271 21/98: rec-mode: fix error when saving a newly created file, Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 19d0cef 35/98: rec-mode: support for selection expressions in rec-count., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 2204ecc 40/98: rec-mode: support for editing date fields using the calendar., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 88bab07 45/98: rec-mode: time-stamps are now triggered with n'., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 9c6d63d 50/98: rec-mode: copy/kill fields and records commands.,
Stefan Monnier <=
- [elpa] externals/rec-mode 5eabbdb 52/98: syntax-check fixes., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 241e824 55/98: rec-mode: don't move the pointer after switching to edit buffer or edit type mode., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode d505c30 61/98: rec-mode: visiting an empty file works again., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 903c1dc 59/98: rec-mode: check for the validity of the contents of the buffers before going to navigation mode., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 979fcef 69/98: ob-rec.el: support for :groupby and :join added., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 34714d3 85/98: rec-mode: fix typo and run the actual hooks., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode e1ad9fe 84/98: rec-mode: fix setq typo, Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode e4419ae 87/98: Copyright years updated to 2019., Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 105ff13 88/98: Updated copyright years, Stefan Monnier, 2020/11/12
- [elpa] externals/rec-mode 053f28a 90/98: Lexical binding, style and compatibility fixes, Stefan Monnier, 2020/11/12