-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjerk.el
executable file
·65 lines (48 loc) · 1.99 KB
/
jerk.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
;;; jerk.el --- Cross-application yanking -*- lexical-binding: t; -*-
;; Copyright (C) 2016 Aaron Harris
;; Author: Aaron Harris <[email protected]>
;; Keywords: convenience kill-ring
;; Dependencies: `morgue', `s'
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This module contains commands that yank text originating from other
;; applications while "cleaning it up" in some way. See the
;; individual functions for more information.
;;
;; Because these commands are designed for very specific
;; circumstances, none of them are autoloaded by default. To use
;; them, you must first require this module or autoload specific
;; commands yourself.
;;; Code:
(require 'morgue)
(require 's)
;;; MS Access
;;;==========
(defun jerk-access ()
"Yank a kill from MS Access, cleaning it up in the process.
More specifically, remove the first line of the most recent kill,
place the result back on the kill ring (leaving the original
in-place), then yank.
This function is intended to handle kills originating from MS
Access datasheets. Such kills include a header row containing
the field names, which this function removes."
(interactive)
(morgue-yank
(morgue-zap "\n")))
(defun jerk-access-inline ()
"As `jerk-access', but also convert all whitespace to spaces."
(interactive)
(morgue-yank
(morgue-zap "\n")
#'s-collapse-whitespace))
(provide 'jerk)
;;; jerk.el ends here