From c795ec14c8a2cc9122435edf4a5a1d7085344a29 Mon Sep 17 00:00:00 2001 From: Brandon Conway Date: Sat, 17 Oct 2015 00:45:03 -0700 Subject: [PATCH 1/3] Add seeing is believing --- layers/+lang/ruby/README.org | 9 +++++++++ layers/+lang/ruby/packages.el | 18 +++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/layers/+lang/ruby/README.org b/layers/+lang/ruby/README.org index 82bda3b30456..16801bfb121b 100644 --- a/layers/+lang/ruby/README.org +++ b/layers/+lang/ruby/README.org @@ -10,6 +10,7 @@ - [[#key-bindings][Key bindings]] - [[#ruby-enh-ruby-mode-robe-inf-ruby-ruby-tools][Ruby (enh-ruby-mode, robe, inf-ruby, ruby-tools)]] - [[#ruby-test-mode][ruby-test-mode]] + - [[#seeing-is-believing][seeing-is-believing]] * Description @@ -32,6 +33,7 @@ based on your version manager): - =pry= and =pry-doc= are required for *jump to definition* and *code documentation* (=robe-mode=) - =ruby_parser= is required for *goto-step_definition* in =feature-mode= +- =seeing_is_believing= helps you evaluate code inline You can install the gems in the context of your current project by adding them to the =Gemfile=, e.g.: @@ -88,3 +90,10 @@ a couple of useful keybindings: |-------------+---------------------| | ~SPC m t b~ | run test file | | ~SPC m t t~ | run test at pointer | + +** seeing-is-believing + +| Key Binding | Description | +|-----------------+----------------------------------| +| ~ m s b~ | Run seeing is believing | +| ~ m s c~ | Clear seeing is believing output | diff --git a/layers/+lang/ruby/packages.el b/layers/+lang/ruby/packages.el index 90a7b93f5259..404ba2cc25f6 100644 --- a/layers/+lang/ruby/packages.el +++ b/layers/+lang/ruby/packages.el @@ -19,7 +19,8 @@ flycheck robe ruby-test-mode - ruby-tools)) + ruby-tools + seeing-is-believing)) (when ruby-version-manager (add-to-list 'ruby-packages ruby-version-manager)) @@ -126,3 +127,18 @@ (spacemacs|add-company-hook enh-ruby-mode) (with-eval-after-load 'company-dabbrev-code (push 'enh-ruby-mode company-dabbrev-code-modes)))) + +(defun seeing-is-believing/init-seeing-is-believing () + (use-package seeing-is-believing + :defer t + :commands (seeing-is-believing seeing-is-believing-run seeing-is-believing-clear) + :if (executable-find "seeing_is_believing") + :init + (progn + (add-hook 'ruby-mode-hook 'seeing-is-believing) + (evil-leader/set-key-for-mode 'ruby-mode "msb" 'seeing-is-believing-run) + (evil-leader/set-key-for-mode 'enh-ruby-mode "msb" 'seeing-is-believing-run) + (evil-leader/set-key-for-mode 'ruby-mode "msc" 'seeing-is-believing-clear) + (evil-leader/set-key-for-mode 'enh-ruby-mode "msc" 'seeing-is-believing-clear))) + ) + From 8b72c67bcc94caa8e778c4c7dda8790bd4095ef5 Mon Sep 17 00:00:00 2001 From: Brandon Conway Date: Thu, 3 Mar 2016 14:32:50 -0800 Subject: [PATCH 2/3] Fix broken lisp convention --- layers/+lang/ruby/packages.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/layers/+lang/ruby/packages.el b/layers/+lang/ruby/packages.el index 404ba2cc25f6..92c22e527894 100644 --- a/layers/+lang/ruby/packages.el +++ b/layers/+lang/ruby/packages.el @@ -139,6 +139,5 @@ (evil-leader/set-key-for-mode 'ruby-mode "msb" 'seeing-is-believing-run) (evil-leader/set-key-for-mode 'enh-ruby-mode "msb" 'seeing-is-believing-run) (evil-leader/set-key-for-mode 'ruby-mode "msc" 'seeing-is-believing-clear) - (evil-leader/set-key-for-mode 'enh-ruby-mode "msc" 'seeing-is-believing-clear))) - ) + (evil-leader/set-key-for-mode 'enh-ruby-mode "msc" 'seeing-is-believing-clear)))) From 1be883797526f48408b5a2b78bbeacafa48f54cb Mon Sep 17 00:00:00 2001 From: Brandon Conway Date: Fri, 13 May 2016 10:25:31 -0700 Subject: [PATCH 3/3] Refactor hooks and key bindings --- layers/+lang/ruby/packages.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/layers/+lang/ruby/packages.el b/layers/+lang/ruby/packages.el index dd7407be285d..299834fb211b 100644 --- a/layers/+lang/ruby/packages.el +++ b/layers/+lang/ruby/packages.el @@ -61,11 +61,12 @@ :if (executable-find "seeing_is_believing") :init (progn - (add-hook 'ruby-mode-hook 'seeing-is-believing) - (evil-leader/set-key-for-mode 'ruby-mode "msb" 'seeing-is-believing-run) - (evil-leader/set-key-for-mode 'enh-ruby-mode "msb" 'seeing-is-believing-run) - (evil-leader/set-key-for-mode 'ruby-mode "msc" 'seeing-is-believing-clear) - (evil-leader/set-key-for-mode 'enh-ruby-mode "msc" 'seeing-is-believing-clear)))) + (dolist (hook '(ruby-mode-hook enh-ruby-mode-hook)) + (add-hook hook 'seeing-is-believing)) + (dolist (mode '(ruby-mode enh-ruby-mode)) + (spacemacs/set-leader-keys-for-major-mode mode + "sb" 'seeing-is-believing-run + "sc" 'seeing-is-believing-clear))))) (defun ruby/init-chruby () (use-package chruby