aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorj-james2020-11-15 07:22:29 +0000
committerj-james2020-11-15 07:40:20 +0000
commitd6b8c141238a5b01531454814c8604ee941259b4 (patch)
treef31e2c35acbdcde8710a9436e7608c9948378d2c
parentf596f02da0e7546cae9babad11922b5c4af91381 (diff)
Rename and refactor novim-mode to vim-heresy
-rw-r--r--README.md33
-rw-r--r--autoload/heresy.vim (renamed from autoload/novim_mode.vim)56
-rw-r--r--doc/heresy.txt (renamed from doc/novim_mode.txt)66
-rw-r--r--plugin/heresy.vim (renamed from plugin/novim_mode.vim)12
-rw-r--r--spec/heresy_spec.rb (renamed from spec/novim_mode_spec.rb)0
-rw-r--r--spec/spec_helper.rb2
6 files changed, 83 insertions, 86 deletions
diff --git a/README.md b/README.md
index 0c99738..07ba6ca 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# No Vim Keybindings Mode [![Build Status](https://travis-ci.org/tombh/novim-mode.svg?branch=master)](https://travis-ci.org/tombh/novim-mode)
+# heresy.vim
Some, indeed many, may say this is counter-productive or even sacrilegious. But Vim is a lot more than just a keybinding paradigm; firstly it has one of the richest plugin ecosystems of any editor, but also it is a -if not *the* most- ubiquitous text editor that's been battle tested for over 25 years. There are more reasons to use it than merely its famous shortcut vocabulary.
@@ -6,13 +6,11 @@ This plugin is an attempt to expose everything else about Vim without the overhe
Vim itself already has support for something similar in its optional [`mswin.vim`](https://github.com/vim/vim/blob/master/runtime/mswin.vim) config file. However it still assumes the necessity of Normal Mode and such heritage as `SHIFT+INSERT`-style combinations. This plugin however, attempts to avoid Normal Mode unless absolutely necessary, say for interacting with the NERDTree buffer, wherein Insert Mode has no purpose.
-The name `novim-mode` is a nod to the prevalence of 'vim-mode' plugins and extensions available in environments outside the editor, such as web browsers. In the same way that the love of Vim has led to efforts to export it elsewhere, 'novim-mode' is the love of 'conventional' editing imported into Vim.
-
## Installation
Use your favourite plugin manager, eg, for vim-plug;
-`Plug 'tombh/novim-mode'`
+`Plug 'j-james/vim-heresy'`
Note that Vim before v7.5 and Neovim before v0.1.5 have a bug where Insert Mode is inappropriately set for some panes.
@@ -25,9 +23,9 @@ If you are new to Vim, then perhaps the only remaining confusion after installin
### Keybindings
#### Vim in the terminal
-Both Vim and Neovim can be used both as GUI apps and in the terminal. However, original Vim in the terminal has problems with many key combinations - essentially most combinations that are not a plain `CTRL+KEY`. To get around this you can use the [vim-fixkey](https://github.com/drmikehenry/vim-fixkey) plugin. It does have some caveats, which you can read about in its docs, but basically it just makes recording macros a little bit more tricky because of the timing between `Esc` combinations. `vim-fixkey` also doesn't enable `ALT+non-alphanumeric` combinations, but `novim-mode` usually has alphanumeric siblings which you can still use. However, if you are not particularly tied to Vim, you can use Neovim in the terminal which has much better support for key combinations and will work without the need for `vim-fixkey`. Note that the GUI versions of both Vim and Neovim also don't have these key combination problems.
+Both Vim and Neovim can be used both as GUI apps and in the terminal. However, original Vim in the terminal has problems with many key combinations - essentially most combinations that are not a plain `CTRL+KEY`. To get around this you can use the [vim-fixkey](https://github.com/drmikehenry/vim-fixkey) plugin. It does have some caveats, which you can read about in its docs, but basically it just makes recording macros a little bit more tricky because of the timing between `Esc` combinations. `vim-fixkey` also doesn't enable `ALT+non-alphanumeric` combinations, but `vim-heresy` usually has alphanumeric siblings which you can still use. However, if you are not particularly tied to Vim, you can use Neovim in the terminal which has much better support for key combinations and will work without the need for `vim-fixkey`. Note that the GUI versions of both Vim and Neovim also don't have these key combination problems.
-Most terminal emulators (ie. `xterm`, `rxvt`, `PuTTY`, etc) default to intercepting `CTRL+S` to suspend output (`CTRL+Q` unsuspends if you're wondering), if so you will need to disable this behaviour to use `novim-mode`'s shortcuts for saving and quitting. Most often you simply need to add the following to your `~/.bashrc`, `~/.zshrc` or similar:
+Most terminal emulators (ie. `xterm`, `rxvt`, `PuTTY`, etc) default to intercepting `CTRL+S` to suspend output (`CTRL+Q` unsuspends if you're wondering), if so you will need to disable this behaviour to use `vim-heresy`'s shortcuts for saving and quitting. Most often you simply need to add the following to your `~/.bashrc`, `~/.zshrc` or similar:
```sh
stty -ixon
@@ -91,25 +89,25 @@ inoremap <C-P> <C-O>:CtrlP<CR>
Overriding or disabling shortcuts in this plugin can be done in several ways. The simplest way is to use:
```vim
-let g:novim_mode_use_shortcuts = 0
+let g:heresy_use_shortcuts = 0
inoremap ... custom mapping ...
-call novim_mode#StartNoVimMode()
+call heresy#StartHeresy()
```
Shortcuts are also grouped roughly under the headings described above, so you may be able to disable one of the following:
```vim
-let g:novim_mode_use_general_app_shortcuts = 1
-let g:novim_mode_use_pane_controls = 1
-let g:novim_mode_use_copypasting = 1
-let g:novim_mode_use_indenting = 1
-let g:novim_mode_use_finding = 1
-let g:novim_mode_use_undoing = 1
-let g:novim_mode_use_text_tricks = 1
+let g:heresy_use_general_app_shortcuts = 1
+let g:heresy_use_pane_controls = 1
+let g:heresy_use_copypasting = 1
+let g:heresy_use_indenting = 1
+let g:heresy_use_finding = 1
+let g:heresy_use_undoing = 1
+let g:heresy_use_text_tricks = 1
" Small fixes to HOME and PAGEUP behaviour
-let g:novim_mode_use_editor_fixes = 1
+let g:heresy_use_editor_fixes = 1
" Allows scrolling through wrapped lines one visual line at a time
-let g:novim_mode_use_better_wrap_navigation = 1
+let g:heresy_use_better_wrap_navigation = 1
```
Lastly you can unmap a mapping using commands such as `nunmap`, `iunmap`, `sunmap`, etc.
@@ -119,4 +117,3 @@ Lastly you can unmap a mapping using commands such as `nunmap`, `iunmap`, `sunma
* In Neovim there seems to be a bug where only `SHIFT+TAB` and not `TAB` works for indenting during selection mode.
* Mapping `<CTRL+M>` internally means mapping `<RETURN>`. This is a throwback to Vim's days as a pure terminal application.
* `CTRL+BACKSPACE` internally represents `<CTRL+H>`, which can be annoying. Again this is a throwback to Vim's days as a pure terminal application.
-
diff --git a/autoload/novim_mode.vim b/autoload/heresy.vim
index 9d09d58..9b25d32 100644
--- a/autoload/novim_mode.vim
+++ b/autoload/heresy.vim
@@ -75,13 +75,13 @@ function! s:InsertAndSelectionBehaviour()
endfunction
" All shortcuts in one function so they can be more easily controlled.
-function! g:SetNoVimModeShortcuts()
+function! g:SetHeresyShortcuts()
" Basic interactions with the editor
- if g:novim_mode_use_general_app_shortcuts == 1
+ if g:heresy_use_app_shortcuts == 1
" CTRL+q to completely exit vim
- inoremap <silent> <C-Q> <C-O>:call novim_mode#ExitVim()<CR>
- snoremap <silent> <C-Q> <C-O>:call novim_mode#ExitVim()<CR>
- nnoremap <silent> <C-Q> :call novim_mode#ExitVim()<CR>
+ inoremap <silent> <C-Q> <C-O>:call heresy#ExitVim()<CR>
+ snoremap <silent> <C-Q> <C-O>:call heresy#ExitVim()<CR>
+ nnoremap <silent> <C-Q> :call heresy#ExitVim()<CR>
" CTRL+n for new file
inoremap <C-N> <C-O>:edit<Space>
@@ -92,7 +92,7 @@ function! g:SetNoVimModeShortcuts()
inoremap <silent> <C-S> <C-O>:update<CR>
" Goto line number
- inoremap <C-G> <C-O>:call novim_mode#GotoLine()<CR>
+ inoremap <C-G> <C-O>:call heresy#GotoLine()<CR>
" ALT+; for command prompt
inoremap <M-;> <C-O>:
@@ -108,7 +108,7 @@ function! g:SetNoVimModeShortcuts()
endif
" General fixes to editor behaviour
- if g:novim_mode_use_editor_fixes == 1
+ if g:heresy_use_editor_fixes == 1
" Fix HOME to go back to the first non-whitespace character of the line.
inoremap <silent> <Home> <C-O>^
" The same but for selection behaviour
@@ -116,11 +116,11 @@ function! g:SetNoVimModeShortcuts()
snoremap <silent> <S-Home> <C-O>^
" Tweaks PageUp behaviour to get cursor to first line on top page
- inoremap <silent> <PageUp> <C-O>:call novim_mode#PageUp()<CR>
+ inoremap <silent> <PageUp> <C-O>:call heresy#PageUp()<CR>
endif
" Move between splits, panes, windows, etc and close them
- if g:novim_mode_use_pane_controls == 1
+ if g:heresy_use_pane_controls == 1
inoremap <silent> <M-Left> <C-O><C-W><Left>
snoremap <silent> <M-Left> <Esc><C-W><Left>
nnoremap <silent> <M-Left> <C-W><Left>
@@ -138,22 +138,22 @@ function! g:SetNoVimModeShortcuts()
set hidden
" CTRL+w to delete current pane-like things.
- inoremap <silent> <C-W> <C-O>:call novim_mode#ClosePane()<CR>
- snoremap <silent> <C-W> <C-O>:call novim_mode#ClosePane()<CR>
- nnoremap <silent> <C-W> :call novim_mode#ClosePane()<CR>
+ inoremap <silent> <C-W> <C-O>:call heresy#ClosePane()<CR>
+ snoremap <silent> <C-W> <C-O>:call heresy#ClosePane()<CR>
+ nnoremap <silent> <C-W> :call heresy#ClosePane()<CR>
end
" Selecting, copy, paste, etc
- if g:novim_mode_use_copypasting == 1
+ if g:heresy_use_copypasting == 1
" One of those curious features of Vim: without `onemore` when pasting
" at the end of a line, pasted text gets put *before* the cursor.
set virtualedit=onemore
" NB. All these use the system clipboard.
- inoremap <C-V> <C-O>:call novim_mode#Paste()<CR>
+ inoremap <C-V> <C-O>:call heresy#Paste()<CR>
" The odd <Space><Backspace> here is because one-off Normal Mode commands
" don't seem to work as expected when some text is selected. Also just
" using <Backspace> on its own seems to cause weird behaviour too.
- snoremap <C-V> <Space><Backspace><C-O>:call novim_mode#Paste()<CR>
+ snoremap <C-V> <Space><Backspace><C-O>:call heresy#Paste()<CR>
cnoremap <C-V> <C-R>"
snoremap <C-C> <C-O>"+ygv
inoremap <C-C> <C-O>"+Y
@@ -172,7 +172,7 @@ function! g:SetNoVimModeShortcuts()
endif
" Indenting
- if g:novim_mode_use_indenting == 1
+ if g:heresy_use_indenting == 1
" TODO: In Neovim TAB doesn't work in mswin selection mode, but SHIFT+TAB does??
snoremap <Tab> <C-O>>gv
inoremap <M-]> <C-T>
@@ -183,7 +183,7 @@ function! g:SetNoVimModeShortcuts()
snoremap <M-[> <C-O><gv
endif
- if g:novim_mode_use_finding == 1
+ if g:heresy_use_finding == 1
" Find
inoremap <C-F> <C-O>/
" Find selected word under cursor
@@ -197,7 +197,7 @@ function! g:SetNoVimModeShortcuts()
endif
" Undo/redo
- if g:novim_mode_use_undoing == 1
+ if g:heresy_use_undoing == 1
" Use <M-o><C-Z> for native terminal backgrounding.
" The <Esc>s used in the `snoremap` commands seem to prevent the selection
" process itself being put in the undo history - so now the undo actually undoes
@@ -215,7 +215,7 @@ function! g:SetNoVimModeShortcuts()
" Useful, but not necessarily core or conventional, shortcuts for manipulating
" text.
- if g:novim_mode_use_text_tricks == 1
+ if g:heresy_use_text_tricks == 1
" CTRL+ALTt+k deletes the current line under the cursor
" TODO: Doesn't work in terminal vim, even with vim-fixkey
inoremap <silent> <C-M-K> <C-O>"_dd
@@ -282,7 +282,7 @@ endfunction
" Try to intuitively and intelligently close things like buffers, splits,
" panes, quicklist, etc, basically anything that looks like a pane.
-function! novim_mode#ClosePane()
+function! heresy#ClosePane()
if s:IsEditableBuffer() == 1
" TODO: These aren't actually formally associated with a buffer, although
" conceptually they often are (eg; linting errors, file search).
@@ -305,20 +305,20 @@ function! novim_mode#ClosePane()
endfunction
" TODO: Mention any unsaved buffers
-function! novim_mode#ExitVim()
+function! heresy#ExitVim()
let l:confirmed = confirm('Do you really want to quit Vim?', "&Yes\n&No", 2)
if l:confirmed == 1
quitall!
endif
endfunction
-function! novim_mode#GotoLine()
+function! heresy#GotoLine()
let l:line_number = input('Goto line: ')
execute line_number
endfunction
" Just to get PAGEUP to move to the first line when on the first page.
-function! novim_mode#PageUp()
+function! heresy#PageUp()
" If current line is higher than the size of the buffer
if line(".") > s:BufferLines()
" Normal PageUp
@@ -329,21 +329,21 @@ function! novim_mode#PageUp()
endif
endfunction
-function! novim_mode#Paste()
+function! heresy#Paste()
set paste
execute 'normal! "+P'
set nopaste
call feedkeys("\<Right>")
endfunction
-function! g:novim_mode#StartNoVimMode()
+function! g:heresy#StartHeresy()
call s:InsertAndSelectionBehaviour()
- if g:novim_mode_use_better_wrap_navigation == 1
+ if g:heresy_use_better_wrap_navigation == 1
call s:SetWrappedTextNavigation()
endif
- if g:novim_mode_use_shortcuts == 1
- call g:SetNoVimModeShortcuts()
+ if g:heresy_use_shortcuts == 1
+ call g:SetHeresyShortcuts()
endif
endfunction
diff --git a/doc/novim_mode.txt b/doc/heresy.txt
index ee277cd..72d8123 100644
--- a/doc/novim_mode.txt
+++ b/doc/heresy.txt
@@ -1,25 +1,25 @@
-*novim_mode.txt* Vim keybindings for 'conventional' editor behaviour
+*heresy.txt* Vim keybindings for 'conventional' editor behaviour
- NOVIM MODE DOCUMENTATION
+ VIM-HERESY DOCUMENTATION
==============================================================================
-CONTENTS |novim-mode-contents|
+CONTENTS |vim-heresy-contents|
- Introduction ................................... |novim-mode-introduction|
- Installation ................................... |novim-mode-installation|
- Usage ................................................. |novim-mode-usage|
- Keybindings ..................................... |novim-mode-keybindings|
- Interoperability ........................... |novim-mode-interoperability|
- Known Issues ................................... |novim-mode-known-issues|
- References ................................. |novim-mode-known-references|
+ Introduction ................................... |vim-heresy-introduction|
+ Installation ................................... |vim-heresy-installation|
+ Usage ................................................. |vim-heresy-usage|
+ Keybindings ..................................... |vim-heresy-keybindings|
+ Interoperability ........................... |vim-heresy-interoperability|
+ Known Issues ................................... |vim-heresy-known-issues|
+ References ................................. |vim-heresy-known-references|
==============================================================================
-1. Introduction *novim-mode* *novim-mode-introduction*
+1. Introduction *vim-heresy* *vim-heresy-introduction*
-Novim-mode makes Vim behave like a 'conventional', non-modal editor. Where key
+vim-heresy makes Vim behave like a 'conventional', non-modal editor. Where key
presses default to inserting text, `CTRL+S` saves the file and so on. In the
same way that 'vim-mode' plugins are available for other editors to enable
-Vim-style keybindings, so too is 'novim-mode' available in Vim to enable
+Vim-style keybindings, so too is 'vim-heresy' available in Vim to enable
'traditional'-style keybindings.
Vim is one of the most battle-tested, ubiquitous and extensible editors
@@ -28,15 +28,15 @@ then you will be able to instantly benefit from all that is valuable about
Vim without the learning curve of Normal Mode.
==============================================================================
-2. Installation *novim-mode-installation*
+2. Installation *vim-heresy-installation*
Use your favourite plugin manager, eg, for vim-plug; >
- Plug 'tombh/novim-mode'`
+ Plug 'j-james/vim-heresy'`
<
==============================================================================
-3. Usage *novim-mode-usage*
+3. Usage *vim-heresy-usage*
Most keybindings should work as you might expect from, say Atom or Sublime
Text; `SHIFT+ARROW` to select and `CTRL+C/V` to copy/paste. But don't expect
@@ -56,13 +56,13 @@ like [vim-buftabline](https://github.com/ap/vim-buftabline) to give a familiar
list of open files along the top of the editor.
==============================================================================
-4. Keybindings *novim-mode-keybindings*
+4. Keybindings *vim-heresy-keybindings*
Vim in the terminal
-Both Vim and Neovim can be used both as GUI apps and in the terminal. However, original Vim in the terminal has problems with many key combinations - essentially most combinations that are not a plain `CTRL+KEY`. To get around this you can use the `vim-fixkey`[2] plugin. It does have some caveats, which you can read about in its docs, but basically it just makes recording macros a little bit more tricky because of the timing between `Esc` combinations. `vim-fixkey` also doesn't enable `ALT+non-alphanumeric` combinations, but `novim-mode` usually has alphanumeric siblings which you can still use. However, if you are not particularly tied to Vim, you can use Neovim in the terminal which has much better support for key combinations and will work without the need for `vim-fixkey`. Note that the GUI versions of both Vim and Neovim also don't have these key combination problems.
+Both Vim and Neovim can be used both as GUI apps and in the terminal. However, original Vim in the terminal has problems with many key combinations - essentially most combinations that are not a plain `CTRL+KEY`. To get around this you can use the `vim-fixkey`[2] plugin. It does have some caveats, which you can read about in its docs, but basically it just makes recording macros a little bit more tricky because of the timing between `Esc` combinations. `vim-fixkey` also doesn't enable `ALT+non-alphanumeric` combinations, but `vim-heresy` usually has alphanumeric siblings which you can still use. However, if you are not particularly tied to Vim, you can use Neovim in the terminal which has much better support for key combinations and will work without the need for `vim-fixkey`. Note that the GUI versions of both Vim and Neovim also don't have these key combination problems.
-Most terminal emulators (ie. `xterm`, `rxvt`, `PuTTY`, etc) default to intercepting `CTRL+S` to suspend output (`CTRL+Q` unsuspends if you're wondering), if so you will need to disable this behaviour to use `novim-mode`'s shortcuts for saving and quitting. Most often you simply need to add the following to your `~/.bashrc`, `~/.zshrc` or similar: >
+Most terminal emulators (ie. `xterm`, `rxvt`, `PuTTY`, etc) default to intercepting `CTRL+S` to suspend output (`CTRL+Q` unsuspends if you're wondering), if so you will need to disable this behaviour to use `vim-heresy`'s shortcuts for saving and quitting. Most often you simply need to add the following to your `~/.bashrc`, `~/.zshrc` or similar: >
stty -ixon
stty stop undef
@@ -120,7 +120,7 @@ Other text manipulation tricks
does not recognise the difference between cases when using `CTRL` combinations
and documenting in uppercase implies something of this distinction.
==============================================================================
-5. Interoperability *novim-mode-interoperability*
+5. Interoperability *vim-heresy-interoperability*
When adding a new binding of your own that needs Normal mode, you should use
`<C-O>` before the targeted command, for example; >
@@ -132,9 +132,9 @@ When adding a new binding of your own that needs Normal mode, you should use
Overriding or disabling shortcuts in this plugin can be done in several
ways. The simplest way is to use: >
- let g:novim_mode_use_shortcuts = 0
+ let g:heresy_use_shortcuts = 0
inoremap ... custom mapping ...
- call novim_mode#StartNoVimMode()
+ call heresy#StartHeresy()
<
Alternatively you can unmap a mapping using commands such as `nunmap`,
@@ -144,21 +144,21 @@ Lastly shorcuts are also grouped roughly under the headings described above,
so you may be able to disable one of the
following: >
- let g:novim_mode_use_general_app_shortcuts = 1
- let g:novim_mode_use_pane_controls = 1
- let g:novim_mode_use_copypasting = 1
- let g:novim_mode_use_indenting = 1
- let g:novim_mode_use_finding = 1
- let g:novim_mode_use_undoing = 1
- let g:novim_mode_use_text_tricks = 1
+ let g:heresy_use_general_app_shortcuts = 1
+ let g:heresy_use_pane_controls = 1
+ let g:heresy_use_copypasting = 1
+ let g:heresy_use_indenting = 1
+ let g:heresy_use_finding = 1
+ let g:heresy_use_undoing = 1
+ let g:heresy_use_text_tricks = 1
" Small fixes to HOME and PAGEUP behaviour
- let g:novim_mode_use_editor_fixes = 1
+ let g:heresy_use_editor_fixes = 1
" Allows scrolling through wrapped lines one visual line at a time
- let g:novim_mode_use_better_wrap_navigation = 1
+ let g:heresy_use_better_wrap_navigation = 1
<
==============================================================================
-6. Known Issues *novim-mode-known-issues*
+6. Known Issues *vim-heresy-known-issues*
* There seems to be a bug where only `SHIFT+TAB` and not `TAB` works for
indenting during selection mode. Again this may be fixed by simulating
@@ -169,7 +169,7 @@ following: >
Again this is a throwback to Vim's days as a pure terminal application.
==============================================================================
-7. References *novim-mode-references*
+7. References *vim-heresy-references*
[1] https://github.com/terryma/vim-multiple-cursors
[2] https://github.com/drmikehenry/vim-fixkey
diff --git a/plugin/novim_mode.vim b/plugin/heresy.vim
index c30d5de..e318f95 100644
--- a/plugin/novim_mode.vim
+++ b/plugin/heresy.vim
@@ -1,5 +1,5 @@
-" novim_mode.vim - 'Conventional' editor keybindings plugin
-" Author: tombh
+" heresy.vim - Make Vim behave more like a "normal" editor
+" Author: j-james
" Version: 0.1
"
" ============================================================================
@@ -29,7 +29,7 @@ function! s:init_settings(settings)
elseif type(value) == 1
let sub = '"%s"'
endif
- let fmt = printf("let g:novim_mode_%%s=get(g:, 'novim_mode_%%s', %s)",
+ let fmt = printf("let g:heresy_%%s=get(g:, 'heresy_%%s', %s)",
\ sub)
exec printf(fmt, key, key, value)
endfor
@@ -38,13 +38,13 @@ endfunction
call s:init_settings(s:settings)
if has('timers') == 0
- echo "Novim-mode: Your Vim version (Vim <7.5 or Neovim <0.1.5) doesn't "
+ echo "vim-heresy: Your Vim version (Vim <7.5 or Neovim <0.1.5) doesn't "
echo "support `timer()`, which causes a bug where Insert Mode is "
- echo "innapropriately set for some panes."
+ echo "inappropriately set for some panes."
endif
" Plugin entry point
-call g:novim_mode#StartNoVimMode()
+call g:heresy#StartHeresy()
let &cpo = s:save_cpo
unlet s:save_cpo
diff --git a/spec/novim_mode_spec.rb b/spec/heresy_spec.rb
index ce19704..ce19704 100644
--- a/spec/novim_mode_spec.rb
+++ b/spec/heresy_spec.rb
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index cfe5a51..ad1d144 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -13,7 +13,7 @@ Vimrunner::RSpec.configure do |config|
# Load the plugin
plugin_path = File.expand_path('../..', __FILE__)
- vim.add_plugin(plugin_path, 'plugin/novim_mode.vim')
+ vim.add_plugin(plugin_path, 'plugin/heresy.vim')
# The returned value is the Client available in the tests.
vim