Guest User

Untitled

a guest
Jan 18th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. (require 'evil)
  2. (require 'cider)
  3. (require 'highlight)
  4. (require 'eval-sexp-fu)
  5.  
  6. (defun spacemacs//emacs-lisp-eval-region-and-print (beg end)
  7. (interactive)
  8.  
  9. (let* ((raw-result (with-output-to-string
  10. (eval-region beg end standard-output)))
  11. (result (when (>= (length raw-result) 1)
  12. (substring raw-result 1 -1))))
  13. (when result
  14. (cider--display-interactive-eval-result result end))))
  15.  
  16. (defvar spacemacs--generic-eval-region-alist
  17. '((clojure-mode . cider-eval-region)
  18. (emacs-lisp-mode . spacemacs//emacs-lisp-eval-region-and-print)
  19. (python-mode . python-shell-send-region)))
  20.  
  21. (defun spacemacs//get-eval-region-for-current-mode ()
  22. (interactive)
  23. (catch 'break
  24. (dolist (test spacemacs--generic-eval-region-alist)
  25. (let ((mode (car test))
  26. (val (cdr test)))
  27. (when (and (symbolp mode)
  28. (derived-mode-p mode)
  29. (symbolp val))
  30. (throw 'break val))))))
  31.  
  32. (defun spacemacs//generic-eval-region (beg end)
  33. (interactive)
  34. (let ((f (spacemacs//get-eval-region-for-current-mode)))
  35. (when (functionp f)
  36. (eval-sexp-fu-flash (cons beg end))
  37. (funcall f beg end))))
  38.  
  39. (evil-define-operator spacemacs//evil-generic-eval-operator (beg end)
  40. (spacemacs//generic-eval-region beg end))
  41.  
  42. ;(define-eval-sexp-fu-flash-command spacemacs//generic-eval-region
  43. ; (eval-sexp-fu-flash
  44. ; (save-excursion
  45. ; (let ((graph (evil-inner-paragraph)))
  46. ; (cons (first graph) (second graph))))))
  47.  
  48. (evil-leader/set-key "meo" 'spacemacs//evil-generic-eval-operator)
  49.  
  50. ;(evil-local-set-key "eo" 'spacemacs//evil-generic-eval-operator)
  51.  
  52. (comment
  53.  
  54.  
  55. (setq debug-on-error t)
  56.  
  57. (setq last-result "fooooo")
  58.  
  59. (substring last-result 1 -1)
  60.  
  61. (vconcat last-result)
  62.  
  63. nil
  64.  
  65. (+ 1 2
  66. (+ 1 2 3)
  67. 3 4)
  68.  
  69. (print major-mode)
  70. (print (spacemacs//get-eval-region-for-current-mode))
  71.  
  72. (defadvice text-scale-increase (around all-buffers (arg) activate)
  73. (dolist (buffer (buffer-list))
  74. (with-current-buffer buffer
  75. ad-do-it)))
  76. )
Add Comment
Please, Sign In to add comment