Browse code
feat(emacs): implement ^R for helm
Ed L authored on 24/01/2020 18:58:28
Showing 1 changed files
Showing 1 changed files
... | ... |
@@ -348,21 +348,27 @@ With a prefix ARG invalidates the cache first." |
348 | 348 |
:config |
349 | 349 |
(define-key evil-normal-state-map " d" 'helm-imenu-in-all-buffers)) |
350 | 350 |
|
351 |
-(defun fwoar--paste-from-register-mru-buffer (register) |
|
352 |
- (interactive |
|
353 |
- (let ((overlay (make-overlay (point) (point))) |
|
354 |
- (string "\"")) |
|
355 |
- (unwind-protect |
|
356 |
- (progn |
|
357 |
- ;; display " in the buffer while reading register |
|
358 |
- (put-text-property 0 1 'face 'minibuffer-prompt string) |
|
359 |
- (put-text-property 0 1 'cursor t string) |
|
360 |
- (overlay-put overlay 'after-string string) |
|
361 |
- (list (or evil-this-register (read-char)))) |
|
362 |
- (delete-overlay overlay)))) |
|
363 |
- (let ((filename (with-current-buffer helm-current-buffer |
|
364 |
- (evil-get-register register t)))) |
|
365 |
- (insert filename))) |
|
351 |
+(defun fwoar--read-register-name () |
|
352 |
+ (let ((overlay (make-overlay (point) (point))) |
|
353 |
+ (string "\"")) |
|
354 |
+ (unwind-protect |
|
355 |
+ (progn |
|
356 |
+ ;; display " in the buffer while reading register |
|
357 |
+ (put-text-property 0 1 'face 'minibuffer-prompt string) |
|
358 |
+ (put-text-property 0 1 'cursor t string) |
|
359 |
+ (overlay-put overlay 'after-string string) |
|
360 |
+ (list (or evil-this-register (read-char)))) |
|
361 |
+ (delete-overlay overlay)))) |
|
362 |
+ |
|
363 |
+(defun fwoar--paste-register-from-helm-current-buffer (register) |
|
364 |
+ (interactive (fwoar--read-register-name)) |
|
365 |
+ (let ((filename (with-current-buffer helm-current-buffer |
|
366 |
+ (if (equal register |
|
367 |
+ (elt (kbd "C-w") 0)) |
|
368 |
+ (word-at-point) |
|
369 |
+ (evil-get-register register t))))) |
|
370 |
+ (when filename |
|
371 |
+ (insert filename)))) |
|
366 | 372 |
|
367 | 373 |
(use-package ag :ensure t) |
368 | 374 |
|
... | ... |
@@ -389,12 +395,8 @@ With a prefix ARG invalidates the cache first." |
389 | 395 |
(define-key evil-normal-state-map " j" 'helm-buffers-list) |
390 | 396 |
(define-key evil-normal-state-map " s" 'helm-occur) |
391 | 397 |
(define-key evil-normal-state-map " S" 'helm-projectile-rg) |
392 |
- (define-key helm-map |
|
393 |
- (kbd "C-r") |
|
394 |
- 'fwoar--paste-from-register-mru-buffer) |
|
395 |
- (define-key helm-map |
|
396 |
- (kbd "<right>") |
|
397 |
- 'helm-execute-persistent-action) |
|
398 |
+ (define-key helm-map (kbd "C-r") 'fwoar--paste-register-from-helm-current-buffer) |
|
399 |
+ (define-key helm-map (kbd "<right>") 'helm-execute-persistent-action) |
|
398 | 400 |
(define-key helm-map |
399 | 401 |
(kbd "<left>") |
400 | 402 |
'helm-find-files-up-one-level)) |