Re: Emacs tip for easily adding Reviewed-by tags & friends

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

 



On Thu, Mar 15, 2018 at 11:36:28AM +0000, Daniel P. Berrangé wrote:
It is nice that git has the short-hand for adding Signed-off-by, but
adding other tags during reviews is kind of tedious and long winded.
eg "ACK" is much shorter than typing "Reviewed-by: ...blah blah blah.."

Good editors have a way to setup macros though, and so I thought I'd
share the emacs approach to making life easy again...

In my $HOME/.emacs.d/abbrev_defs file I have this:

(define-abbrev-table 'global-abbrev-table
 '(
   ("8rev" "Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>" nil 1)
   ("8ack" "Acked-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>" nil 1)
   ("8test" "Tested-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>" nil 1)
   ("8sob" "Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>" nil 1)
  ))

Now, if I type the "8rev" [1] and then hit space-bar or enter, emacs expands
it to the full "Reviewed-by: ....blah blah blah..." line. This makes adding
the full tags just as quick & easy as it was to type a traditional "ACK".

Anyone have an equivalent tip for Vim ?

Perhaps we could add them to the hacking file.


Since we're sharing O:-) I had a script that extracted the mail from the 'From'
mail header, so that you can reply from any address and don't need to
change it.  It also jumps to a newline in case you are not in start of
the line.  It'd be trivial to modify for arbitrary tags, of course.

#+begin_src emacs-lisp
 (defun npx/message-get-from ()
   "Get the address from the 'From' field of the current message"
   (save-excursion
     (goto-char (point-min))
     (let ((beg (search-forward "From: "))
           (end (line-end-position)))
       (buffer-substring-no-properties beg end))))

 (defun npx/insert-tag-reviewed-by ()
   "Inserts 'Reviewed-by: Real Name <email>' in the current position in buffer"
   (interactive)
   (let ((from (npx/message-get-from)))
     (when (not (equalp (point) (line-beginning-position)))
       (move-end-of-line nil)
       (newline 2))
     (insert "Reviewed-by: " from)
     (newline)))

 (global-set-key (kbd "C-c r") 'npx/insert-tag-reviewed-by)
#+end_src

HTH,
Martin

Regards,
Daniel

[1] Why the leading "8" you might ask ?  I've no idea. I just got this
   tip from QEMU developers - guess you just want some character seq
   that you're unlikely to want to type for real, to avoid accidental
   expansions.
--
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux