From 6e39c0f00d804327984fa2f056fbf21f230a52e5 Mon Sep 17 00:00:00 2001 From: Ryan Lue Date: Wed, 9 Aug 2017 14:28:26 +0800 Subject: [PATCH 1/2] Add RunExamples() function to support running by visual selection --- README.md | 2 +- plugin/rspec.vim | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fa41df4..a575a97 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Add your preferred key mappings to your `.vimrc` file. ```vim " RSpec.vim mappings map t :call RunCurrentSpecFile() -map s :call RunNearestSpec() +map e :call RunExamples() " runs examples under cursor or in visual selection map l :call RunLastSpec() map a :call RunAllSpecs() ``` diff --git a/plugin/rspec.vim b/plugin/rspec.vim index 34f7372..6703183 100644 --- a/plugin/rspec.vim +++ b/plugin/rspec.vim @@ -21,14 +21,21 @@ function! RunCurrentSpecFile() endif endfunction +" Preserved for backwards compatibility function! RunNearestSpec() + call RunExamples() +endfunction + +function! RunExamples() range if s:InSpecFile() + let line_arg = ":" . join(range(a:firstline, a:lastline), ":") + let s:last_spec_file = s:CurrentFilePath() - let s:last_spec_file_with_line = s:last_spec_file . ":" . line(".") - let s:last_spec = s:last_spec_file_with_line - call s:RunSpecs(s:last_spec_file_with_line) - elseif exists("s:last_spec_file_with_line") - call s:RunSpecs(s:last_spec_file_with_line) + let s:last_spec_example = s:last_spec_file . line_arg + let s:last_spec = s:last_spec_examples + call s:RunSpecs(s:last_spec_examples) + elseif exists("s:last_spec_examples") + call s:RunSpecs(s:last_spec_examples) endif endfunction From 3440c3c928121b4d0794a08c2ee56b4c03683701 Mon Sep 17 00:00:00 2001 From: Ryan Lue Date: Wed, 9 Aug 2017 14:38:32 +0800 Subject: [PATCH 2/2] Fix typo in RunExamples() function --- plugin/rspec.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/rspec.vim b/plugin/rspec.vim index 6703183..bcb5571 100644 --- a/plugin/rspec.vim +++ b/plugin/rspec.vim @@ -31,7 +31,7 @@ function! RunExamples() range let line_arg = ":" . join(range(a:firstline, a:lastline), ":") let s:last_spec_file = s:CurrentFilePath() - let s:last_spec_example = s:last_spec_file . line_arg + let s:last_spec_examples = s:last_spec_file . line_arg let s:last_spec = s:last_spec_examples call s:RunSpecs(s:last_spec_examples) elseif exists("s:last_spec_examples")