]> git.wincent.com - docvim.git/commitdiff
Remove redundant integration tests
authorGreg Hurrell <greg@hurrell.net>
Sat, 11 Jun 2016 07:01:35 +0000 (00:01 -0700)
committerGreg Hurrell <greg@hurrell.net>
Sat, 11 Jun 2016 07:01:35 +0000 (00:01 -0700)
This and more now covered by tests/fixtures/integration.

Closes: https://github.com/wincent/docvim/issues/10
31 files changed:
tests/fixtures/markdown/integration-ferret-ftplugin-qf.golden [deleted file]
tests/fixtures/markdown/integration-ferret-ftplugin-qf.vim [deleted symlink]
tests/fixtures/markdown/integration-ferret-plugin.golden [deleted file]
tests/fixtures/markdown/integration-ferret-plugin.vim [deleted symlink]
tests/fixtures/markdown/integration-ferret-private.golden [deleted file]
tests/fixtures/markdown/integration-ferret-private.vim [deleted symlink]
tests/fixtures/markdown/integration-pinnacle.golden [deleted file]
tests/fixtures/markdown/integration-pinnacle.vim [deleted symlink]
tests/fixtures/parser/integration-docvim.golden [deleted file]
tests/fixtures/parser/integration-docvim.vim [deleted symlink]
tests/fixtures/parser/integration-ferret-ftplugin-qf.golden [deleted file]
tests/fixtures/parser/integration-ferret-ftplugin-qf.vim [deleted symlink]
tests/fixtures/parser/integration-ferret-plugin.golden [deleted file]
tests/fixtures/parser/integration-ferret-plugin.vim [deleted symlink]
tests/fixtures/parser/integration-ferret-private.golden [deleted file]
tests/fixtures/parser/integration-ferret-private.vim [deleted symlink]
tests/fixtures/parser/integration-pinnacle.golden [deleted file]
tests/fixtures/parser/integration-pinnacle.vim [deleted symlink]
tests/fixtures/shared/integration-docvim.vim [deleted file]
tests/fixtures/shared/integration-ferret-ftplugin-qf.vim [deleted file]
tests/fixtures/shared/integration-ferret-plugin.vim [deleted file]
tests/fixtures/shared/integration-ferret-private.vim [deleted file]
tests/fixtures/shared/integration-pinnacle.vim [deleted file]
tests/fixtures/vim/integration-ferret-ftplugin-qf.golden [deleted file]
tests/fixtures/vim/integration-ferret-ftplugin-qf.vim [deleted symlink]
tests/fixtures/vim/integration-ferret-plugin.golden [deleted file]
tests/fixtures/vim/integration-ferret-plugin.vim [deleted symlink]
tests/fixtures/vim/integration-ferret-private.golden [deleted file]
tests/fixtures/vim/integration-ferret-private.vim [deleted symlink]
tests/fixtures/vim/integration-pinnacle.golden [deleted file]
tests/fixtures/vim/integration-pinnacle.vim [deleted symlink]

diff --git a/tests/fixtures/markdown/integration-ferret-ftplugin-qf.golden b/tests/fixtures/markdown/integration-ferret-ftplugin-qf.golden
deleted file mode 100644 (file)
index d5f8a9f..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-## Options
-
-<p align="right"><a name="gferretqfoptions" href="#user-content-gferretqfoptions"><code>g:FerretQFOptions</code></a></p>
-### `g:FerretQFOptions` (boolean, default: 1)
-
-Controls whether to set up setting overrides for <strong>`quickfix`</strong> windows. These are various settings, such as <strong>`norelativenumber`</strong>, <strong>`nolist`</strong> and <strong>`nowrap`</strong>, that are intended to make the <strong>`quickfix`</strong> window, which is typically very small relative to other windows, more usable.
-
-A full list of overridden settings can be found in <strong>`ferret-overrides`</strong>.
-
-To prevent the custom settings from being applied, set <strong>`g:FerretQFOptions`</strong> to 0:
-
-```
-let g:FerretQFOptions=0
-```
-
-<p align="right"><a name="gferretqfmap" href="#user-content-gferretqfmap"><code>g:FerretQFMap</code></a></p>
-### `g:FerretQFMap` (boolean, default: 1)
-
-Controls whether to set up mappings in the <strong>`quickfix`</strong> results window for deleting results. The mappings include:
-
-- `d` (<strong>`visual-mode`</strong>): delete visual selection
-- `dd` (<strong>`Normal-mode`</strong>): delete current line
-- `d`{motion} (<strong>`Normal-mode`</strong>): delete range indicated by {motion}
-
-To prevent these mappings from being set up, set to 0:
-
-```
-let g:FerretQFMap=0
-```
diff --git a/tests/fixtures/markdown/integration-ferret-ftplugin-qf.vim b/tests/fixtures/markdown/integration-ferret-ftplugin-qf.vim
deleted file mode 120000 (symlink)
index 4051b06..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-ftplugin-qf.vim
\ No newline at end of file
diff --git a/tests/fixtures/markdown/integration-ferret-plugin.golden b/tests/fixtures/markdown/integration-ferret-plugin.golden
deleted file mode 100644 (file)
index 704cbf7..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-# ferret
-
-## Intro
-
-> "ferret (verb)<br />(ferret something out) search tenaciously for and find something: she had the ability to ferret out the facts."
-
-<p align="right"><a name="ferret-features" href="#user-content-ferret-features"><code>ferret-features</code></a></p>
-Ferret improves Vim's multi-file search in four ways:
-
-### 1. Powerful multi-file search
-
-Ferret provides an <strong>[`:Ack`](#user-content-ack)</strong> command for searching across multiple files using The Silver Searcher (https://github.com/ggreer/the_silver_searcher), Ack (http://beyondgrep.com/), or Grep (http://www.gnu.org/software/grep/). Support for passing options through to the underlying search command exists, along with the ability to use full regular expression syntax without doing special escaping.
-
-Shortcut mappings are provided to start an <strong>[`:Ack`](#user-content-ack)</strong> search (<leader>a) or to search for the word currently under the cursor (<leader>s).
-
-Results are normally displayed in the <strong>`quickfix`</strong> window, but Ferret also provides a <strong>[`:Lack`](#user-content-lack)</strong> command that behaves like <strong>[`:Ack`](#user-content-ack)</strong> but uses the <strong>`location-list`</strong> instead, and a <leader>l mapping as a shortcut to <strong>[`:Lack`](#user-content-lack)</strong>.
-
-Finally, Ferret offers integration with dispatch.vim (https://github.com/tpope/vim-dispatch), which enables asynchronous searching despite the fact that Vim itself is single-threaded.
-
-### 2. Streamlined multi-file replace
-
-The companion to <strong>[`:Ack`](#user-content-ack)</strong> is <strong>[`:Acks`](#user-content-acks)</strong> (mnemonic: "Ack substitute", accessible via shortcut <leader>r), which allows you to run a multi-file replace across all the files placed in the <strong>`quickfix`</strong> window by a previous invocation of <strong>[`:Ack`](#user-content-ack)</strong>.
-
-### 3. Quickfix listing enhancements
-
-The <strong>`quickfix`</strong> listing itself is enhanced with settings to improve its usability, and natural mappings that allow quick removal of items from the list (for example, you can reduce clutter in the listing by removing lines that you don't intend to make changes to).
-
-Additionally, Vim's <strong>`:cn`</strong>, <strong>`:cp`</strong>, <strong>`:cnf`</strong> and <strong>`:cpf`</strong> commands are tweaked to make it easier to immediately identify matches by centering them within the viewport.
-
-### 4. Easy operations on files in the quickfix listing
-
-Finally, Ferret provides a <strong>[`:Qargs`](#user-content-qargs)</strong> command that puts the files currently in the <strong>`quickfix`</strong> listing into the <strong>`:args`</strong> list, where they can be operated on in bulk via the <strong>`:argdo`</strong> command. This is what's used under the covers by <strong>[`:Acks`](#user-content-acks)</strong> to do its work.
-
-## Installation
-
-To install Ferret, use your plug-in management system of choice.
-
-If you don't have a "plug-in management system of choice", I recommend Pathogen (https://github.com/tpope/vim-pathogen) due to its simplicity and robustness. Assuming that you have Pathogen installed and configured, and that you want to install Ferret into `~/.vim/bundle`, you can do so with:
-
-```
-git clone https://github.com/wincent/ferret.git ~/.vim/bundle/ferret
-```
-
-Alternatively, if you use a Git submodule for each Vim plug-in, you could do the following after `cd`-ing into the top-level of your Git superproject:
-
-```
-git submodule add https://github.com/wincent/ferret.git ~/vim/bundle/ferret
-git submodule init
-```
-
-To generate help tags under Pathogen, you can do so from inside Vim with:
-
-```
-:call pathogen#helptags()
-```
-
-## Commands
-
-<p align="right"><a name="ack" href="#user-content-ack"><code>:Ack</code></a></p>
-### `:Ack {pattern} {options}`
-
-Searches for {pattern} in all the files under the current directory (see <strong>`:pwd`</strong>), unless otherwise overridden via {options}, and displays the results in the <strong>`quickfix`</strong> listing.
-
-`ag` (The Silver Searcher) will be used preferentially if present on the system, because it is faster, falling back to `ack` and then `grep` as needed.
-
-If dispatch.vim is installed the search process will run asynchronously via the <strong>`:Make`</strong> command, otherwise it will be run synchronously via <strong>`:cexpr`</strong>. Asynchronous searches are preferred because they do not block, despite the fact that Vim itself is single threaded. The <strong>`g:FerretDispatch`</strong> option can be used to prevent the use of dispatch.vim.
-
-The {pattern} is passed through as-is to the underlying search program, and no escaping is required other than preceding spaces by a single backslash. For example, to search for "\bfoo[0-9]{2} bar\b" (ie. using `ag`'s Perl-style regular expression syntax), you could do:
-
-```
-:Ack \bfoo[0-9]{2}\ bar\b
-```
-
-Likewise, {options} are passed through. In this example, we pass the `-w` option (to search on word boundaries), and scope the search to the "foo" and "bar" subdirectories: >
-
-```
-:Ack -w something foo bar
-```
-
-As a convenience <leader>a is set-up (<strong>[`<Plug>(FerretAck)`](#user-content-plugferretack)</strong>) as a shortcut to enter <strong>`Cmdline-mode`</strong> with `:Ack` inserted on the <strong>`Cmdline`</strong>. Likewise <leader>s (<strong>[`<Plug>(FerretAckWord)`](#user-content-plugferretackword)</strong>) is a shortcut for running <strong>[`:Ack`](#user-content-ack)</strong> with the word currently under the cursor.
-
-<p align="right"><a name="lack" href="#user-content-lack"><code>:Lack</code></a></p>
-### `:Lack {pattern} {options}`
-
-Just like <strong>[`:Ack`](#user-content-ack)</strong>, but instead of using the <strong>`quickfix`</strong> listing, which is global across an entire Vim instance, it uses the <strong>`location-list`</strong>, which is a per-window construct.
-
-Note that <strong>[`:Lack`](#user-content-lack)</strong> always runs synchronously via <strong>`:cexpr`</strong>, because dispatch.vim doesn't currently support the <strong>`location-list`</strong>.
-
-<p align="right"><a name="acks" href="#user-content-acks"><code>:Acks</code></a></p>
-### `:Acks /{pattern}/{replacement}/`
-
-Takes all of the files currently in the <strong>`quickfix`</strong> listing and performs a substitution of all instances of {pattern} (a standard Vim search <strong>`pattern`</strong>) by {replacement}.
-
-A typical sequence consists of an <strong>[`:Ack`](#user-content-ack)</strong> invocation to populate the <strong>`quickfix`</strong> listing and then <strong>[`:Acks`](#user-content-acks)</strong> (mnemonic: "Ack substitute") to perform replacements. For example, to replace "foo" with "bar" across all files in the current directory:
-
-```
-:Ack foo
-:Acks /foo/bar/
-```
-
-<p align="right"><a name="qargs" href="#user-content-qargs"><code>:Qargs</code></a></p>
-### `:Qargs`
-
-This is a utility function that is used by the <strong>[`:Acks`](#user-content-acks)</strong> command but is also generally useful enough to warrant being exposed publicly.
-
-It takes the files currently in the <strong>`quickfix`</strong> listing and sets them as <strong>`:args`</strong> so that they can be operated on en masse via the <strong>`:argdo`</strong> command.
-
-## Mappings
-
-### Circumstances where mappings do not get set up
-
-Note that Ferret will not try to set up the <leader> mappings if any of the following are true:
-
-- A mapping for already exists.
-- An alternative mapping for the same functionality has already been set up from a <strong>`.vimrc`</strong>.
-- The mapping has been suppressed by setting <strong>`g:FerretMap`</strong> to 1 in your <strong>`.vimrc`</strong>.
-
-### Mappings specific to the quickfix window
-
-Additionally, Ferret will set up special mappings in <strong>`quickfix`</strong> listings, unless prevented from doing so by <strong>`g:FerretQFMap`</strong>:
-
-- `d` (<strong>`visual-mode`</strong>): delete visual selection
-- `dd` (<strong>`Normal-mode`</strong>): delete current line
-- `d`{motion} (<strong>`Normal-mode`</strong>): delete range indicated by {motion}
-
-### `<Plug>(FerretAck)`
-
-Ferret maps <leader>a to <strong>[`<Plug>(FerretAck)`](#user-content-plugferretack)</strong>, which triggers the <strong>[`:Ack`](#user-content-ack)</strong> command. To use an alternative mapping instead, create a different one in your <strong>`.vimrc`</strong> instead using <strong>`:nmap`</strong>:
-
-```
-" Instead of <leader>a, use <leader>x.
-nmap <leader>x <Plug>(FerretAck)
-```
-
-### `<Plug>(FerretLack)`
-
-Ferret maps <leader>l to <strong>[`<Plug>(FerretLack)`](#user-content-plugferretlack)</strong>, which triggers the <strong>[`:Lack`](#user-content-lack)</strong> command. To use an alternative mapping instead, create a different one in your <strong>`.vimrc`</strong> instead using <strong>`:nmap`</strong>:
-
-```
-" Instead of <leader>l, use <leader>y.
-nmap <leader>y <Plug>(FerretLack)
-```
-
-### `<Plug>(FerretAckWord)`
-
-Ferret maps <leader>s (mnemonix: "selection) to <strong>[`<Plug>(FerretAckWord)`](#user-content-plugferretackword)</strong>, which uses <strong>[`:Ack`](#user-content-ack)</strong> to search for the word currently under the cursor. To use an alternative mapping instead, create a different one in your <strong>`.vimrc`</strong> instead using <strong>`:nmap`</strong>:
-
-```
-" Instead of <leader>s, use <leader>z.
-nmap <leader>z <Plug>(FerretAckWord)
-```
-
-### `<Plug>(FerretAcks)`
-
-Ferret maps <leader>r (mnemonic: "replace") to <strong>[`<Plug>(FerretAcks)`](#user-content-plugferretacks)</strong>, which triggers the <strong>[`:Acks`](#user-content-acks)</strong> command and fills the prompt with the last search term from Ferret. to use an alternative mapping instead, create a different one in your <strong>`.vimrc`</strong> instead using <strong>`:nmap`</strong>:
-
-```
-" Instead of <leader>r, use <leader>u.
-nmap <leader>u <Plug>(FerretAcks)
-```
-
-## Options
-
-<p align="right"><a name="gferretloaded" href="#user-content-gferretloaded"><code>g:FerretLoaded</code></a></p>
-### `g:FerretLoaded` (any, default: none)
-
-To prevent Ferret from being loaded, set <strong>`g:FerretLoaded`</strong> to any value in your <strong>`.vimrc`</strong>. For example:
-
-```
-let g:FerretLoaded=1
-```
-
-<p align="right"><a name="gferretmap" href="#user-content-gferretmap"><code>g:FerretMap</code></a></p>
-### `g:FerretMap` (boolean, default: 1)
-
-Controls whether to set up the Ferret mappings, such as <strong>[`<Plug>(FerretAck)`](#user-content-plugferretack)</strong> (see <strong>[`ferret-mappings`](#user-content-ferret-mappings)</strong> for a full list). To prevent any mapping from being configured, set to 0:
-
-```
-let g:FerretMap=0
-```
-
-<p align="right"><a name="gferretqfcommands" href="#user-content-gferretqfcommands"><code>g:FerretQFCommands</code></a></p>
-### `g:FerretQFCommands` (boolean, default: 1)
-
-Controls whether to set up custom versions of the <strong>`quickfix`</strong> commands, <strong>`:cn`</strong>, <strong>`:cnf`</strong>, <strong>`:cp`</strong> an <strong>`:cpf`</strong>. These overrides vertically center the match within the viewport on each jump. To prevent the custom versions from being configured, set to 0:
-
-```
-let g:FerretQFCommands=0
-```
-
-## Custom autocommands
-
-<p align="right"><a name="ferretdidwrite" href="#user-content-ferretdidwrite"><code>FerretDidWrite</code></a> <a name="ferretwillwrite" href="#user-content-ferretwillwrite"><code>FerretWillWrite</code></a></p>
-For maximum compatibility with other plug-ins, Ferret runs the following "User" autocommands before and after running the file writing operations during <strong>[`:Acks`](#user-content-acks)</strong>:
-
-- FerretWillWrite
-- FerretDidWrite
-
-For example, to call a pair of custom functions in response to these events, you might do:
-
-```
-autocmd! User FerretWillWrite
-autocmd User FerretWillWrite call CustomWillWrite()
-autocmd! User FerretDidWrite
-autocmd User FerretDidWrite call CustomDidWrite()
-```
-
-## Overrides
-
-Ferret overrides the 'grepformat' and 'grepprg' settings, preferentially setting `ag`, `ack` or `grep` as the 'grepprg' (in that order) and configuring a suitable 'grepformat'.
-
-Additionally, Ferret includes an <strong>`ftplugin`</strong> for the <strong>`quickfix`</strong> listing that adjusts a number of settings to improve the usability of search results.
-
-<p align="right"><a name="ferret-nolist" href="#user-content-ferret-nolist"><code>ferret-nolist</code></a></p>
-'nolist'
-
-Turned off to reduce visual clutter in the search results, and because 'list' is most useful in files that are being actively edited, which is not the case for <strong>`quickfix`</strong> results.
-
-<p align="right"><a name="ferret-norelativenumber" href="#user-content-ferret-norelativenumber"><code>ferret-norelativenumber</code></a></p>
-'norelativenumber'
-
-Turned off, because it is more useful to have a sense of absolute progress through the results list than to have the ability to jump to nearby results (especially seeing as the most common operations are moving to the next or previous file, which are both handled nicely by <strong>`:cnf`</strong> and <strong>`:cpf`</strong> respectively).
-
-<p align="right"><a name="ferret-nowrap" href="#user-content-ferret-nowrap"><code>ferret-nowrap</code></a></p>
-'nowrap'
-
-Turned off to avoid ugly wrapping that makes the results list hard to read, and because in search results, the most relevant information is the filename, which is on the left and is usually visible even without wrapping.
-
-<p align="right"><a name="ferret-number" href="#user-content-ferret-number"><code>ferret-number</code></a></p>
-'number'
-
-Turned on to give a sense of absolute progress through the results.
-
-<p align="right"><a name="ferret-scrolloff" href="#user-content-ferret-scrolloff"><code>ferret-scrolloff</code></a></p>
-'scrolloff'
-
-Set to 0 because the <strong>`quickfix`</strong> listing is usually small by default, so trying to keep the current line away from the edge of the viewpoint is futile; by definition it is usually near the edge.
-
-<p align="right"><a name="ferret-nocursorline" href="#user-content-ferret-nocursorline"><code>ferret-nocursorline</code></a></p>
-'nocursorline'
-
-Turned off to reduce visual clutter.
-
-To prevent any of these <strong>`quickfix`</strong>-specific overrides from being set up, you can set <strong>`g:FerretQFOptions`</strong> to 0 in your <strong>`.vimrc`</strong>:
-
-```
-let g:FerretQFOptions=0
-```
-
-## Troubleshooting
-
-<p align="right"><a name="ferret-quotes" href="#user-content-ferret-quotes"><code>ferret-quotes</code></a></p>
-### Ferret fails to find patterns containing spaces
-
-As described in the documentation for <strong>[`:Ack`](#user-content-ack)</strong>, the search pattern is passed through as-is to the underlying search command, and no escaping is required other than preceding spaces by a single backslash.
-
-So, to find "foo bar", you would search like:
-
-```
-:Ack foo\ bar
-```
-
-Unescaped spaces in the search are treated as argument separators, so a command like the following means pass the `-w` option through, search for pattern "foo", and limit search to the "bar" directory:
-
-```
-:Ack -w foo bar
-```
-
-Note that including quotes will not do what you intend.
-
-```
- " Search for '"foo' in the 'bar"' directory:
- :Ack "foo bar"
-
- " Search for "'foo' in the "bar'" directory:
- :Ack 'foo bar'
-```
-
-This approach to escaping is taken in order to make it straightfoward to use powerful Perl-compatible regular expression syntax in an unambiguous way without having to worry about shell escaping rules:
-
-```
-:Ack \blog\((['"]).*?\1\) -i --ignore-dir=src/vendor src dist build
-```
-
-## FAQ
-
-### Why do Ferret commands start with "Ack", "Lack" and so on?
-
-Ferret was originally the thinnest of wrappers (7 lines of code in my <strong>`.vimrc`</strong>) around `ack`. The earliest traces of it can be seen in the initial commit to my dotfiles repo in May, 2009 (https://wt.pe/h).
-
-So, even though Ferret has a new name now and actually prefers `ag` over `ack` when available, I prefer to keep the command names intact and benefit from years of accumulated muscle-memory.
-
-## Related
-
-Just as Ferret aims to improve the multi-file search and replace experience, Loupe does the same for within-file searching:
-
-https://github.com/wincent/loupe
-
-## Website
-
-The official Ferret source code repo is at:
-
-http://git.wincent.com/ferret.git
-
-A mirror exists at:
-
-https://github.com/wincent/ferret
-
-Official releases are listed at:
-
-http://www.vim.org/scripts/script.php?script_id=5220
-
-## License
-
-Copyright 2015-present Greg Hurrell. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-## Development
-
-### Contributing patches
-
-Patches can be sent via mail to greg@hurrell.net, or as GitHub pull requests at: https://github.com/wincent/ferret/pulls
-
-### Cutting a new release
-
-At the moment the release process is manual:
-
-- Perform final sanity checks and manual testing
-- Update the <strong>[`ferret-history`](#user-content-ferret-history)</strong> section of the documentation
-- Verify clean work tree:
-
-```
-git status
-```
-
-- Tag the release:
-
-```
-git tag -s -m "$VERSION release" $VERSION
-```
-
-- Publish the code:
-
-```
-git push origin master --follow-tags
-git push github master --follow-tags
-```
-
-- Produce the release archive:
-
-```
-git archive -o ferret-$VERSION.zip HEAD -- .
-```
-
-- Upload to http://www.vim.org/scripts/script.php?script_id=5220
-
-## Authors
-
-Ferret is written and maintained by Greg Hurrell <greg@hurrell.net>.
-
-The idea for vim-dispatch integration was taken from Miles Sterrett's ack.vim plug-in (https://github.com/mileszs/ack.vim).
-
-Other contributors that have submitted patches include (in alphabetical order):
-
-- Daniel Silva
-- Joe Lencioni
-- Nelo-Thara Wallus
-- Vaibhav Sagar
-
-## History
-
-0.3.1 (not yet released)
-
-- Fix broken <strong>[`:Qargs`](#user-content-qargs)</strong> command (patch from Daniel Silva).
-
-0.3 (24 July 2015)
-
-- Added highlighting of search pattern and related <strong>`g:FerretHlsearch`</strong> option (patch from Nelo-Thara Wallus).
-- Add better error reporting for failed or incorrect searches.
-
-0.2 (16 July 2015)
-
-- Added <strong>[`FerretDidWrite`](#user-content-ferretdidwrite)</strong> and <strong>[`FerretWillWrite`](#user-content-ferretwillwrite)</strong> autocommands (patch from Joe Lencioni).
-- Add <strong>[`<Plug>(FerretAcks)`](#user-content-plugferretacks)</strong> mapping (patch from Nelo-Thara Wallus).
-
-0.1 (8 July 2015)
-
-- Initial release, extracted from my dotfiles (https://github.com/wincent/wincent).
diff --git a/tests/fixtures/markdown/integration-ferret-plugin.vim b/tests/fixtures/markdown/integration-ferret-plugin.vim
deleted file mode 120000 (symlink)
index 4634fa0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-plugin.vim
\ No newline at end of file
diff --git a/tests/fixtures/markdown/integration-ferret-private.golden b/tests/fixtures/markdown/integration-ferret-private.golden
deleted file mode 100644 (file)
index 4bc15a6..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-## Options
-
-<p align="right"><a name="gferretdispatch" href="#user-content-gferretdispatch"><code>g:FerretDispatch</code></a></p>
-### `g:FerretDispatch` (boolean, default: 1)
-
-Controls whether to use vim-dispatch (and specifically, <strong>`:Make`</strong>) to run <strong>`:Ack`</strong> searches asynchronously, when available. To prevent vim-dispatch from being used, set to 0:
-
-```
-let g:FerretDispatch=0
-```
-
-<p align="right"><a name="gferrethlsearch" href="#user-content-gferrethlsearch"><code>g:FerretHlsearch</code></a></p>
-### `g:FerretHlsearch` (boolean, default: none)
-
-Controls whether Ferret should attempt to highlight the search pattern when running <strong>`:Ack`</strong> or <strong>`:Lack`</strong>. If left unset, Ferret will respect the current 'hlsearch' setting. To force highlighting on or off irrespective of 'hlsearch', set <strong>`g:FerretHlsearch`</strong> to 1 (on) or 0 (off):
-
-```
-let g:FerretHlsearch=0
-```
diff --git a/tests/fixtures/markdown/integration-ferret-private.vim b/tests/fixtures/markdown/integration-ferret-private.vim
deleted file mode 120000 (symlink)
index b19e38c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-private.vim
\ No newline at end of file
diff --git a/tests/fixtures/markdown/integration-pinnacle.golden b/tests/fixtures/markdown/integration-pinnacle.golden
deleted file mode 100644 (file)
index b8c66e9..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-# Pinnacle
-
-## Intro
-
-Pinnacle provides functions for manipulating <strong>`:highlight`</strong> groups.
-
-## Installation
-
-To install Pinnacle, use your plug-in management system of choice.
-
-If you don't have a "plug-in management system of choice", I recommend Pathogen (https://github.com/tpope/vim-pathogen) due to its simplicity and robustness. Assuming that you have Pathogen installed and configured, and that you want to install vim-docvim into `~/.vim/bundle`, you can do so with:
-
-```
-git clone https://github.com/wincent/pinnacle.git ~/.vim/bundle/pinnacle
-```
-
-Alternatively, if you use a Git submodule for each Vim plug-in, you could do the following after `cd`-ing into the top-level of your Git superproject:
-
-```
-git submodule add https://github.com/wincent/pinnacle.git ~/vim/bundle/pinnacle
-git submodule init
-```
-
-To generate help tags under Pathogen, you can do so from inside Vim with:
-
-```
-:call pathogen#helptags()
-```
-
-## Website
-
-The official Pinnacle source code repo is at:
-
-http://git.wincent.com/pinnacle.git
-
-Mirrors exist at:
-
-- https://github.com/wincent/pinnacle
-- https://gitlab.com/wincent/pinnacle
-- https://bitbucket.org/ghurrell/pinnacle
-
-Official releases are listed at:
-
-http://www.vim.org/scripts/script.php?script_id=[TODO]
-
-## License
-
-Copyright (c) 2016-present Greg Hurrell
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-## Development
-
-### Contributing patches
-
-Patches can be sent via mail to greg@hurrell.net, or as GitHub pull requests at: https://github.com/wincent/pinnacle/pulls
-
-### Cutting a new release
-
-At the moment the release process is manual:
-
-- Perform final sanity checks and manual testing
-- Update the <strong>[`pinnacle-history`](#user-content-pinnacle-history)</strong> section of the documentation
-- Verify clean work tree:
-
-```
-git status
-```
-
-- Tag the release:
-
-```
-git tag -s -m "$VERSION release" $VERSION
-```
-
-- Publish the code:
-
-```
-git push origin master --follow-tags
-git push github master --follow-tags
-```
-
-- Produce the release archive:
-
-```
-git archive -o vim-docvim-$VERSION.zip HEAD -- .
-```
-
-- Upload to http://www.vim.org/scripts/script.php?script_id=[TODO]
-
-## Authors
-
-Pinnacle is written and maintained by Greg Hurrell <greg@hurrell.net>.
-
-## History
-
-### 0.1 (30 March 2016)
-
-- Initial release.
diff --git a/tests/fixtures/markdown/integration-pinnacle.vim b/tests/fixtures/markdown/integration-pinnacle.vim
deleted file mode 120000 (symlink)
index e209dd2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-pinnacle.vim
\ No newline at end of file
diff --git a/tests/fixtures/parser/integration-docvim.golden b/tests/fixtures/parser/integration-docvim.golden
deleted file mode 100644 (file)
index 559325e..0000000
+++ /dev/null
@@ -1,938 +0,0 @@
-Project
-  [ DocBlock
-      [ PluginAnnotation
-          "docvim" "Syntax highlighting for docvim comments"
-      , TOC
-          [ "Intro"
-          , "Installation"
-          , "Related"
-          , "Website"
-          , "License"
-          , "Development"
-          , "Authors"
-          , "History"
-          ]
-      ]
-  , LinkTargets [ "vim-docvim" ]
-  , HeadingAnnotation "Intro"
-  , Paragraph
-      [ Plaintext "vim-docvim"
-      , Whitespace
-      , Plaintext "provides"
-      , Whitespace
-      , Plaintext "additional"
-      , Whitespace
-      , Plaintext "syntax"
-      , Whitespace
-      , Plaintext "highlighting"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "script"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "contain"
-      , Whitespace
-      , Plaintext "embedded"
-      , Whitespace
-      , Plaintext "docvim"
-      , Whitespace
-      , Plaintext "comments."
-      ]
-  , Paragraph
-      [ Plaintext "docvim"
-      , Whitespace
-      , Plaintext "(the"
-      , Whitespace
-      , Plaintext "tool,"
-      , Whitespace
-      , Plaintext "not"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "plug-in)"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "documentation"
-      , Whitespace
-      , Plaintext "generator"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "processes"
-      , Whitespace
-      , Plaintext "those"
-      , Whitespace
-      , Plaintext "embedded"
-      , Whitespace
-      , Plaintext "comments"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "produces"
-      , Whitespace
-      , Plaintext "documentation"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "Markdown"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "\"help\""
-      , Whitespace
-      , Plaintext "formats."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "avoid"
-      , Whitespace
-      , Plaintext "confusion,"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "document"
-      , Whitespace
-      , Plaintext "refers"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "plug-in"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "\"vim-docvim\""
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "separate"
-      , Whitespace
-      , Plaintext "generation"
-      , Whitespace
-      , Plaintext "tool"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "\"docvim\"."
-      ]
-  , HeadingAnnotation "Installation"
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "install"
-      , Whitespace
-      , Plaintext "vim-docvim,"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Plaintext "plug-in"
-      , Whitespace
-      , Plaintext "management"
-      , Whitespace
-      , Plaintext "system"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "choice."
-      ]
-  , Paragraph
-      [ Plaintext "If"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "don't"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "\"plug-in"
-      , Whitespace
-      , Plaintext "management"
-      , Whitespace
-      , Plaintext "system"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "choice\","
-      , Whitespace
-      , Plaintext "I"
-      , Whitespace
-      , Plaintext "recommend"
-      , Whitespace
-      , Plaintext "Pathogen"
-      , Whitespace
-      , Plaintext "(https://github.com/tpope/vim-pathogen)"
-      , Whitespace
-      , Plaintext "due"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "its"
-      , Whitespace
-      , Plaintext "simplicity"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "robustness."
-      , Whitespace
-      , Plaintext "Assuming"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "Pathogen"
-      , Whitespace
-      , Plaintext "installed"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "configured,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "want"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "install"
-      , Whitespace
-      , Plaintext "vim-docvim"
-      , Whitespace
-      , Plaintext "into"
-      , Whitespace
-      , Code "~/.vim/bundle"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "with:"
-      ]
-  , Fenced
-      [ "git clone https://github.com/wincent/vim-docvim.git ~/.vim/bundle/vim-docvim"
-      ]
-  , Paragraph
-      [ Plaintext "Alternatively,"
-      , Whitespace
-      , Plaintext "if"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "Git"
-      , Whitespace
-      , Plaintext "submodule"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "each"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "plug-in,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "could"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "after"
-      , Whitespace
-      , Code "cd"
-      , Plaintext "-ing"
-      , Whitespace
-      , Plaintext "into"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "top-level"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Plaintext "Git"
-      , Whitespace
-      , Plaintext "superproject:"
-      ]
-  , Fenced
-      [ "git submodule add https://github.com/wincent/vim-docvim.git ~/vim/bundle/vim-docvim"
-      , "git submodule init"
-      ]
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "generate"
-      , Whitespace
-      , Plaintext "help"
-      , Whitespace
-      , Plaintext "tags"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "Pathogen,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "inside"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "with:"
-      ]
-  , Fenced [ ":call pathogen#helptags()" ]
-  , HeadingAnnotation "Related"
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "docvim"
-      , Whitespace
-      , Plaintext "tool"
-      , Whitespace
-      , Plaintext "itself"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "Haskell"
-      , Whitespace
-      , Plaintext "module,"
-      , Whitespace
-      , Plaintext "available"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph
-      [ Plaintext "http://hackage.haskell.org/package/docvim" ]
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "official"
-      , Whitespace
-      , Plaintext "source"
-      , Whitespace
-      , Plaintext "code"
-      , Whitespace
-      , Plaintext "repo"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph [ Plaintext "http://git.wincent.com/docvim.git" ]
-  , Paragraph
-      [ Plaintext "Mirrors"
-      , Whitespace
-      , Plaintext "exist"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , List
-      [ ListItem [ Plaintext "https://github.com/wincent/docvim" ]
-      , ListItem [ Plaintext "https://gitlab.com/wincent/docvim" ]
-      , ListItem [ Plaintext "https://bitbucket.org/ghurrell/docvim" ]
-      ]
-  , HeadingAnnotation "Website"
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "official"
-      , Whitespace
-      , Plaintext "vim-docvim"
-      , Whitespace
-      , Plaintext "source"
-      , Whitespace
-      , Plaintext "code"
-      , Whitespace
-      , Plaintext "repo"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph [ Plaintext "http://git.wincent.com/vim-docvim.git" ]
-  , Paragraph
-      [ Plaintext "A"
-      , Whitespace
-      , Plaintext "mirror"
-      , Whitespace
-      , Plaintext "exists"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph [ Plaintext "https://github.com/wincent/vim-docvim" ]
-  , Paragraph
-      [ Plaintext "Official"
-      , Whitespace
-      , Plaintext "releases"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "listed"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph
-      [ Plaintext
-          "http://www.vim.org/scripts/script.php?script_id=[TODO]"
-      ]
-  , HeadingAnnotation "License"
-  , Paragraph
-      [ Plaintext "Copyright"
-      , Whitespace
-      , Plaintext "(c)"
-      , Whitespace
-      , Plaintext "2015-present"
-      , Whitespace
-      , Plaintext "Greg"
-      , Whitespace
-      , Plaintext "Hurrell"
-      ]
-  , Paragraph
-      [ Plaintext "Permission"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "hereby"
-      , Whitespace
-      , Plaintext "granted,"
-      , Whitespace
-      , Plaintext "free"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "charge,"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "any"
-      , Whitespace
-      , Plaintext "person"
-      , Whitespace
-      , Plaintext "obtaining"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "copy"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "software"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "associated"
-      , Whitespace
-      , Plaintext "documentation"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "(the"
-      , Whitespace
-      , Plaintext "\"Software\"),"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "deal"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "restriction,"
-      , Whitespace
-      , Plaintext "including"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "limitation"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "rights"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "use,"
-      , Whitespace
-      , Plaintext "copy,"
-      , Whitespace
-      , Plaintext "modify,"
-      , Whitespace
-      , Plaintext "merge,"
-      , Whitespace
-      , Plaintext "publish,"
-      , Whitespace
-      , Plaintext "distribute,"
-      , Whitespace
-      , Plaintext "sublicense,"
-      , Whitespace
-      , Plaintext "and/or"
-      , Whitespace
-      , Plaintext "sell"
-      , Whitespace
-      , Plaintext "copies"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "permit"
-      , Whitespace
-      , Plaintext "persons"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "whom"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "furnished"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so,"
-      , Whitespace
-      , Plaintext "subject"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "conditions:"
-      ]
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "above"
-      , Whitespace
-      , Plaintext "copyright"
-      , Whitespace
-      , Plaintext "notice"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "permission"
-      , Whitespace
-      , Plaintext "notice"
-      , Whitespace
-      , Plaintext "shall"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "included"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "all"
-      , Whitespace
-      , Plaintext "copies"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "substantial"
-      , Whitespace
-      , Plaintext "portions"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software."
-      ]
-  , Paragraph
-      [ Plaintext "THE"
-      , Whitespace
-      , Plaintext "SOFTWARE"
-      , Whitespace
-      , Plaintext "IS"
-      , Whitespace
-      , Plaintext "PROVIDED"
-      , Whitespace
-      , Plaintext "\"AS"
-      , Whitespace
-      , Plaintext "IS\","
-      , Whitespace
-      , Plaintext "WITHOUT"
-      , Whitespace
-      , Plaintext "WARRANTY"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "KIND,"
-      , Whitespace
-      , Plaintext "EXPRESS"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "IMPLIED,"
-      , Whitespace
-      , Plaintext "INCLUDING"
-      , Whitespace
-      , Plaintext "BUT"
-      , Whitespace
-      , Plaintext "NOT"
-      , Whitespace
-      , Plaintext "LIMITED"
-      , Whitespace
-      , Plaintext "TO"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "WARRANTIES"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "MERCHANTABILITY,"
-      , Whitespace
-      , Plaintext "FITNESS"
-      , Whitespace
-      , Plaintext "FOR"
-      , Whitespace
-      , Plaintext "A"
-      , Whitespace
-      , Plaintext "PARTICULAR"
-      , Whitespace
-      , Plaintext "PURPOSE"
-      , Whitespace
-      , Plaintext "AND"
-      , Whitespace
-      , Plaintext "NONINFRINGEMENT."
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "NO"
-      , Whitespace
-      , Plaintext "EVENT"
-      , Whitespace
-      , Plaintext "SHALL"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "AUTHORS"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "COPYRIGHT"
-      , Whitespace
-      , Plaintext "HOLDERS"
-      , Whitespace
-      , Plaintext "BE"
-      , Whitespace
-      , Plaintext "LIABLE"
-      , Whitespace
-      , Plaintext "FOR"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "CLAIM,"
-      , Whitespace
-      , Plaintext "DAMAGES"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "OTHER"
-      , Whitespace
-      , Plaintext "LIABILITY,"
-      , Whitespace
-      , Plaintext "WHETHER"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "AN"
-      , Whitespace
-      , Plaintext "ACTION"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "CONTRACT,"
-      , Whitespace
-      , Plaintext "TORT"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "OTHERWISE,"
-      , Whitespace
-      , Plaintext "ARISING"
-      , Whitespace
-      , Plaintext "FROM,"
-      , Whitespace
-      , Plaintext "OUT"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "CONNECTION"
-      , Whitespace
-      , Plaintext "WITH"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "SOFTWARE"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "USE"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "OTHER"
-      , Whitespace
-      , Plaintext "DEALINGS"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "SOFTWARE."
-      ]
-  , HeadingAnnotation "Development"
-  , SubheadingAnnotation "Contributing patches"
-  , Paragraph
-      [ Plaintext "Patches"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "sent"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "mail"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "greg@hurrell.net,"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "GitHub"
-      , Whitespace
-      , Plaintext "pull"
-      , Whitespace
-      , Plaintext "requests"
-      , Whitespace
-      , Plaintext "at:"
-      , Whitespace
-      , Plaintext "https://github.com/wincent/vim-docvim/pulls"
-      ]
-  , SubheadingAnnotation "Cutting a new release"
-  , Paragraph
-      [ Plaintext "At"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "moment"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "release"
-      , Whitespace
-      , Plaintext "process"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "manual:"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Perform"
-          , Whitespace
-          , Plaintext "final"
-          , Whitespace
-          , Plaintext "sanity"
-          , Whitespace
-          , Plaintext "checks"
-          , Whitespace
-          , Plaintext "and"
-          , Whitespace
-          , Plaintext "manual"
-          , Whitespace
-          , Plaintext "testing"
-          ]
-      , ListItem
-          [ Plaintext "Update"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Link "docvim-history"
-          , Whitespace
-          , Plaintext "section"
-          , Whitespace
-          , Plaintext "of"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "documentation"
-          ]
-      , ListItem
-          [ Plaintext "Verify"
-          , Whitespace
-          , Plaintext "clean"
-          , Whitespace
-          , Plaintext "work"
-          , Whitespace
-          , Plaintext "tree:"
-          ]
-      ]
-  , Fenced [ "git status" ]
-  , List
-      [ ListItem
-          [ Plaintext "Tag"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "release:"
-          ]
-      ]
-  , Fenced [ "git tag -s -m \"$VERSION release\" $VERSION" ]
-  , List
-      [ ListItem
-          [ Plaintext "Publish"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "code:"
-          ]
-      ]
-  , Fenced
-      [ "git push origin master --follow-tags"
-      , "git push github master --follow-tags"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Produce"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "release"
-          , Whitespace
-          , Plaintext "archive:"
-          ]
-      ]
-  , Fenced [ "git archive -o vim-docvim-$VERSION.zip HEAD -- ." ]
-  , List
-      [ ListItem
-          [ Plaintext "Upload"
-          , Whitespace
-          , Plaintext "to"
-          , Whitespace
-          , Plaintext
-              "http://www.vim.org/scripts/script.php?script_id=[TODO]"
-          ]
-      ]
-  , HeadingAnnotation "Authors"
-  , Paragraph
-      [ Plaintext "vim-docvim"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "written"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "maintained"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "Greg"
-      , Whitespace
-      , Plaintext "Hurrell"
-      , Whitespace
-      , Plaintext "<greg@hurrell.net>."
-      ]
-  , HeadingAnnotation "History"
-  , Paragraph
-      [ Plaintext "0.1"
-      , Whitespace
-      , Plaintext "(not"
-      , Whitespace
-      , Plaintext "yet"
-      , Whitespace
-      , Plaintext "released)"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Initial" , Whitespace , Plaintext "release." ]
-      ]
-  ]
diff --git a/tests/fixtures/parser/integration-docvim.vim b/tests/fixtures/parser/integration-docvim.vim
deleted file mode 120000 (symlink)
index bd13891..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-docvim.vim
\ No newline at end of file
diff --git a/tests/fixtures/parser/integration-ferret-ftplugin-qf.golden b/tests/fixtures/parser/integration-ferret-ftplugin-qf.golden
deleted file mode 100644 (file)
index 0ae56a7..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-Project
-  [ Project
-      [ Unit
-          [ LetStatement
-              { letLexpr = "s:options"
-              , letValue = "get(g:, 'FerretQFOptions', 1)"
-              }
-          , GenericStatement "if s:options"
-          , GenericStatement "setlocal nolist"
-          , GenericStatement "if exists('+relativenumber')"
-          , GenericStatement "setlocal norelativenumber"
-          , GenericStatement "endif"
-          , GenericStatement "setlocal nowrap"
-          , GenericStatement "setlocal number"
-          , LetStatement
-              { letLexpr = "s:original_scrolloff" , letValue = "&scrolloff" }
-          , GenericStatement "set scrolloff=0"
-          , GenericStatement "if has('autocmd')"
-          , GenericStatement "augroup FerretQF"
-          , GenericStatement "autocmd!"
-          , GenericStatement
-              "autocmd BufLeave <buffer> execute 'set scrolloff=' . s:original_scrolloff"
-          , GenericStatement
-              "autocmd BufEnter <buffer> set scrolloff=0 | setlocal nocursorline"
-          , GenericStatement "augroup END"
-          , GenericStatement "endif"
-          , GenericStatement "endif"
-          , LetStatement
-              { letLexpr = "s:map" , letValue = "get(g:, 'FerretQFMap', 1)" }
-          , GenericStatement "if s:map"
-          , GenericStatement
-              "nnoremap <buffer> <silent> d :set operatorfunc=ferret#private#qf_delete_motion<CR>g@"
-          , GenericStatement
-              "nnoremap <buffer> <silent> dd :call ferret#private#qf_delete()<CR>"
-          , GenericStatement
-              "vnoremap <buffer> <silent> d :call ferret#private#qf_delete()<CR>"
-          , GenericStatement "endif"
-          ]
-      ]
-  , OptionsAnnotation
-  , OptionAnnotation "g:FerretQFOptions" "boolean" (Just "1")
-  , Paragraph
-      [ Plaintext "Controls"
-      , Whitespace
-      , Plaintext "whether"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up"
-      , Whitespace
-      , Plaintext "setting"
-      , Whitespace
-      , Plaintext "overrides"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "windows."
-      , Whitespace
-      , Plaintext "These"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "various"
-      , Whitespace
-      , Plaintext "settings,"
-      , Whitespace
-      , Plaintext "such"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Link "norelativenumber"
-      , Plaintext ","
-      , Whitespace
-      , Link "nolist"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Link "nowrap"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "intended"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "make"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "window,"
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "typically"
-      , Whitespace
-      , Plaintext "very"
-      , Whitespace
-      , Plaintext "small"
-      , Whitespace
-      , Plaintext "relative"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "other"
-      , Whitespace
-      , Plaintext "windows,"
-      , Whitespace
-      , Plaintext "more"
-      , Whitespace
-      , Plaintext "usable."
-      ]
-  , Paragraph
-      [ Plaintext "A"
-      , Whitespace
-      , Plaintext "full"
-      , Whitespace
-      , Plaintext "list"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "overridden"
-      , Whitespace
-      , Plaintext "settings"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "found"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Link "ferret-overrides"
-      , Plaintext "."
-      ]
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "custom"
-      , Whitespace
-      , Plaintext "settings"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "applied,"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Link "g:FerretQFOptions"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "0:"
-      ]
-  , Fenced [ "let g:FerretQFOptions=0" ]
-  , OptionAnnotation "g:FerretQFMap" "boolean" (Just "1")
-  , Paragraph
-      [ Plaintext "Controls"
-      , Whitespace
-      , Plaintext "whether"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up"
-      , Whitespace
-      , Plaintext "mappings"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "results"
-      , Whitespace
-      , Plaintext "window"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "deleting"
-      , Whitespace
-      , Plaintext "results."
-      , Whitespace
-      , Plaintext "The"
-      , Whitespace
-      , Plaintext "mappings"
-      , Whitespace
-      , Plaintext "include:"
-      ]
-  , List
-      [ ListItem
-          [ Code "d"
-          , Whitespace
-          , Plaintext "("
-          , Link "visual-mode"
-          , Plaintext "):"
-          , Whitespace
-          , Plaintext "delete"
-          , Whitespace
-          , Plaintext "visual"
-          , Whitespace
-          , Plaintext "selection"
-          ]
-      , ListItem
-          [ Code "dd"
-          , Whitespace
-          , Plaintext "("
-          , Link "Normal-mode"
-          , Plaintext "):"
-          , Whitespace
-          , Plaintext "delete"
-          , Whitespace
-          , Plaintext "current"
-          , Whitespace
-          , Plaintext "line"
-          ]
-      , ListItem
-          [ Code "d"
-          , Plaintext "{motion}"
-          , Whitespace
-          , Plaintext "("
-          , Link "Normal-mode"
-          , Plaintext "):"
-          , Whitespace
-          , Plaintext "delete"
-          , Whitespace
-          , Plaintext "range"
-          , Whitespace
-          , Plaintext "indicated"
-          , Whitespace
-          , Plaintext "by"
-          , Whitespace
-          , Plaintext "{motion}"
-          ]
-      ]
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "these"
-      , Whitespace
-      , Plaintext "mappings"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up,"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "0:"
-      ]
-  , Fenced [ "let g:FerretQFMap=0" ]
-  ]
diff --git a/tests/fixtures/parser/integration-ferret-ftplugin-qf.vim b/tests/fixtures/parser/integration-ferret-ftplugin-qf.vim
deleted file mode 120000 (symlink)
index 4051b06..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-ftplugin-qf.vim
\ No newline at end of file
diff --git a/tests/fixtures/parser/integration-ferret-plugin.golden b/tests/fixtures/parser/integration-ferret-plugin.golden
deleted file mode 100644 (file)
index e6c951a..0000000
+++ /dev/null
@@ -1,4183 +0,0 @@
-Project
-  [ DocBlock
-      [ PluginAnnotation "ferret" "Ferret plug-in for Vim"
-      , TOC
-          [ "Intro"
-          , "Installation"
-          , "Commands"
-          , "Mappings"
-          , "Options"
-          , "Custom autocommands"
-          , "Overrides"
-          , "Troubleshooting"
-          , "FAQ"
-          , "Related"
-          , "Website"
-          , "License"
-          , "Development"
-          , "Authors"
-          , "History"
-          ]
-      ]
-  , HeadingAnnotation "Intro"
-  , Blockquote
-      [ Paragraph
-          [ Plaintext "\"ferret"
-          , Whitespace
-          , Plaintext "(verb)"
-          , BreakTag
-          , Plaintext "(ferret"
-          , Whitespace
-          , Plaintext "something"
-          , Whitespace
-          , Plaintext "out)"
-          , Whitespace
-          , Plaintext "search"
-          , Whitespace
-          , Plaintext "tenaciously"
-          , Whitespace
-          , Plaintext "for"
-          , Whitespace
-          , Plaintext "and"
-          , Whitespace
-          , Plaintext "find"
-          , Whitespace
-          , Plaintext "something:"
-          , Whitespace
-          , Plaintext "she"
-          , Whitespace
-          , Plaintext "had"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "ability"
-          , Whitespace
-          , Plaintext "to"
-          , Whitespace
-          , Plaintext "ferret"
-          , Whitespace
-          , Plaintext "out"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "facts.\""
-          ]
-      ]
-  , LinkTargets [ "ferret-features" ]
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "improves"
-      , Whitespace
-      , Plaintext "Vim's"
-      , Whitespace
-      , Plaintext "multi-file"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "four"
-      , Whitespace
-      , Plaintext "ways:"
-      ]
-  , SubheadingAnnotation "1. Powerful multi-file search"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "provides"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "searching"
-      , Whitespace
-      , Plaintext "across"
-      , Whitespace
-      , Plaintext "multiple"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "using"
-      , Whitespace
-      , Plaintext "The"
-      , Whitespace
-      , Plaintext "Silver"
-      , Whitespace
-      , Plaintext "Searcher"
-      , Whitespace
-      , Plaintext "(https://github.com/ggreer/the_silver_searcher),"
-      , Whitespace
-      , Plaintext "Ack"
-      , Whitespace
-      , Plaintext "(http://beyondgrep.com/),"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "Grep"
-      , Whitespace
-      , Plaintext "(http://www.gnu.org/software/grep/)."
-      , Whitespace
-      , Plaintext "Support"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "passing"
-      , Whitespace
-      , Plaintext "options"
-      , Whitespace
-      , Plaintext "through"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "underlying"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "exists,"
-      , Whitespace
-      , Plaintext "along"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "ability"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "full"
-      , Whitespace
-      , Plaintext "regular"
-      , Whitespace
-      , Plaintext "expression"
-      , Whitespace
-      , Plaintext "syntax"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "doing"
-      , Whitespace
-      , Plaintext "special"
-      , Whitespace
-      , Plaintext "escaping."
-      ]
-  , Paragraph
-      [ Plaintext "Shortcut"
-      , Whitespace
-      , Plaintext "mappings"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "provided"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "start"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "(<leader>a)"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "word"
-      , Whitespace
-      , Plaintext "currently"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "cursor"
-      , Whitespace
-      , Plaintext "(<leader>s)."
-      ]
-  , Paragraph
-      [ Plaintext "Results"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "normally"
-      , Whitespace
-      , Plaintext "displayed"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "window,"
-      , Whitespace
-      , Plaintext "but"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "also"
-      , Whitespace
-      , Plaintext "provides"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Link ":Lack"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "behaves"
-      , Whitespace
-      , Plaintext "like"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "but"
-      , Whitespace
-      , Plaintext "uses"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "location-list"
-      , Whitespace
-      , Plaintext "instead,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "<leader>l"
-      , Whitespace
-      , Plaintext "mapping"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "shortcut"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Link ":Lack"
-      , Plaintext "."
-      ]
-  , Paragraph
-      [ Plaintext "Finally,"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "offers"
-      , Whitespace
-      , Plaintext "integration"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "dispatch.vim"
-      , Whitespace
-      , Plaintext "(https://github.com/tpope/vim-dispatch),"
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "enables"
-      , Whitespace
-      , Plaintext "asynchronous"
-      , Whitespace
-      , Plaintext "searching"
-      , Whitespace
-      , Plaintext "despite"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "fact"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "itself"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "single-threaded."
-      ]
-  , SubheadingAnnotation "2. Streamlined multi-file replace"
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "companion"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Link ":Acks"
-      , Whitespace
-      , Plaintext "(mnemonic:"
-      , Whitespace
-      , Plaintext "\"Ack"
-      , Whitespace
-      , Plaintext "substitute\","
-      , Whitespace
-      , Plaintext "accessible"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "shortcut"
-      , Whitespace
-      , Plaintext "<leader>r),"
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "allows"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "run"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "multi-file"
-      , Whitespace
-      , Plaintext "replace"
-      , Whitespace
-      , Plaintext "across"
-      , Whitespace
-      , Plaintext "all"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "placed"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "window"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "previous"
-      , Whitespace
-      , Plaintext "invocation"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Link ":Ack"
-      , Plaintext "."
-      ]
-  , SubheadingAnnotation "3. Quickfix listing enhancements"
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "itself"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "enhanced"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "settings"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "improve"
-      , Whitespace
-      , Plaintext "its"
-      , Whitespace
-      , Plaintext "usability,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "natural"
-      , Whitespace
-      , Plaintext "mappings"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "allow"
-      , Whitespace
-      , Plaintext "quick"
-      , Whitespace
-      , Plaintext "removal"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "items"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "list"
-      , Whitespace
-      , Plaintext "(for"
-      , Whitespace
-      , Plaintext "example,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "reduce"
-      , Whitespace
-      , Plaintext "clutter"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "removing"
-      , Whitespace
-      , Plaintext "lines"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "don't"
-      , Whitespace
-      , Plaintext "intend"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "make"
-      , Whitespace
-      , Plaintext "changes"
-      , Whitespace
-      , Plaintext "to)."
-      ]
-  , Paragraph
-      [ Plaintext "Additionally,"
-      , Whitespace
-      , Plaintext "Vim's"
-      , Whitespace
-      , Link ":cn"
-      , Plaintext ","
-      , Whitespace
-      , Link ":cp"
-      , Plaintext ","
-      , Whitespace
-      , Link ":cnf"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Link ":cpf"
-      , Whitespace
-      , Plaintext "commands"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "tweaked"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "make"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "easier"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "immediately"
-      , Whitespace
-      , Plaintext "identify"
-      , Whitespace
-      , Plaintext "matches"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "centering"
-      , Whitespace
-      , Plaintext "them"
-      , Whitespace
-      , Plaintext "within"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "viewport."
-      ]
-  , SubheadingAnnotation
-      "4. Easy operations on files in the quickfix listing"
-  , Paragraph
-      [ Plaintext "Finally,"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "provides"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Link ":Qargs"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "puts"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "currently"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "into"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":args"
-      , Whitespace
-      , Plaintext "list,"
-      , Whitespace
-      , Plaintext "where"
-      , Whitespace
-      , Plaintext "they"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "operated"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "bulk"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":argdo"
-      , Whitespace
-      , Plaintext "command."
-      , Whitespace
-      , Plaintext "This"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "what's"
-      , Whitespace
-      , Plaintext "used"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "covers"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Link ":Acks"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "its"
-      , Whitespace
-      , Plaintext "work."
-      ]
-  , HeadingAnnotation "Installation"
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "install"
-      , Whitespace
-      , Plaintext "Ferret,"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Plaintext "plug-in"
-      , Whitespace
-      , Plaintext "management"
-      , Whitespace
-      , Plaintext "system"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "choice."
-      ]
-  , Paragraph
-      [ Plaintext "If"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "don't"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "\"plug-in"
-      , Whitespace
-      , Plaintext "management"
-      , Whitespace
-      , Plaintext "system"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "choice\","
-      , Whitespace
-      , Plaintext "I"
-      , Whitespace
-      , Plaintext "recommend"
-      , Whitespace
-      , Plaintext "Pathogen"
-      , Whitespace
-      , Plaintext "(https://github.com/tpope/vim-pathogen)"
-      , Whitespace
-      , Plaintext "due"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "its"
-      , Whitespace
-      , Plaintext "simplicity"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "robustness."
-      , Whitespace
-      , Plaintext "Assuming"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "Pathogen"
-      , Whitespace
-      , Plaintext "installed"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "configured,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "want"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "install"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "into"
-      , Whitespace
-      , Code "~/.vim/bundle"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "with:"
-      ]
-  , Fenced
-      [ "git clone https://github.com/wincent/ferret.git ~/.vim/bundle/ferret"
-      ]
-  , Paragraph
-      [ Plaintext "Alternatively,"
-      , Whitespace
-      , Plaintext "if"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "Git"
-      , Whitespace
-      , Plaintext "submodule"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "each"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "plug-in,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "could"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "after"
-      , Whitespace
-      , Code "cd"
-      , Plaintext "-ing"
-      , Whitespace
-      , Plaintext "into"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "top-level"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Plaintext "Git"
-      , Whitespace
-      , Plaintext "superproject:"
-      ]
-  , Fenced
-      [ "git submodule add https://github.com/wincent/ferret.git ~/vim/bundle/ferret"
-      , "git submodule init"
-      ]
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "generate"
-      , Whitespace
-      , Plaintext "help"
-      , Whitespace
-      , Plaintext "tags"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "Pathogen,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "inside"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "with:"
-      ]
-  , Fenced [ ":call pathogen#helptags()" ]
-  , Project
-      [ Unit
-          [ GenericStatement
-              "if exists('g:FerretLoaded') || &compatible || v:version < 700"
-          , GenericStatement "finish"
-          , GenericStatement "endif"
-          , LetStatement { letLexpr = "g:FerretLoaded " , letValue = "1" }
-          , LetStatement
-              { letLexpr = "s:cpoptions " , letValue = "&cpoptions" }
-          , GenericStatement "set cpoptions&vim"
-          , GenericStatement
-              "if executable('ag') \" The Silver Searcher: faster than ack."
-          , LetStatement
-              { letLexpr = "s:ackprg "
-              , letValue = "'ag --column --nocolor --nogroup'"
-              }
-          , GenericStatement
-              "elseif executable('ack') \" Ack: better than grep."
-          , LetStatement
-              { letLexpr = "s:ackprg " , letValue = "'ack --column'" }
-          , GenericStatement
-              "elseif executable('grep') \" Grep: it's just grep."
-          , LetStatement
-              { letLexpr = "s:ackprg "
-              , letValue = "&grepprg \" default is: grep -n $* /dev/null"
-              }
-          , GenericStatement "endif"
-          , GenericStatement "if !empty(s:ackprg)"
-          , LetStatement { letLexpr = "&grepprg" , letValue = "s:ackprg" }
-          , GenericStatement "set grepformat=%f:%l:%c:%m"
-          , GenericStatement "endif"
-          , GenericStatement "if has('autocmd')"
-          , GenericStatement "augroup Ferret"
-          , GenericStatement "autocmd!"
-          , GenericStatement "autocmd QuickFixCmdPost [^l]* nested cwindow"
-          , GenericStatement "autocmd QuickFixCmdPost l* nested lwindow"
-          , GenericStatement "augroup END"
-          , GenericStatement "endif"
-          , GenericStatement
-              "command! -nargs=+ -complete=file Ack call ferret#private#ack(<q-args>)"
-          , GenericStatement
-              "command! -nargs=+ -complete=file Lack call ferret#private#lack(<q-args>)"
-          , GenericStatement
-              "command! -nargs=1 Acks call ferret#private#acks(<q-args>)"
-          , LetStatement
-              { letLexpr = "s:map" , letValue = "get(g:, 'FerretMap', 1)" }
-          , GenericStatement "if s:map"
-          , GenericStatement
-              "if !hasmapto('<Plug>(FerretAck)') && maparg('<leader>a', 'n') ==# ''"
-          , GenericStatement "nmap <unique> <leader>a <Plug>(FerretAck)"
-          , GenericStatement "endif"
-          , GenericStatement "nnoremap <Plug>(FerretAck) :Ack<space>"
-          , GenericStatement
-              "if !hasmapto('<Plug>FerretLack') && maparg('<leader>l', 'n') ==# ''"
-          , GenericStatement "nmap <unique> <leader>l <Plug>(FerretLack)"
-          , GenericStatement "endif"
-          , GenericStatement "nnoremap <Plug>(FerretLack) :Lack<space>"
-          , GenericStatement
-              "if !hasmapto('<Plug>(FerretAckWord)') && maparg('<leader>s', 'n') ==# ''"
-          , GenericStatement "nmap <unique> <leader>s <Plug>(FerretAckWord)"
-          , GenericStatement "endif"
-          , GenericStatement
-              "nnoremap <Plug>(FerretAckWord) :Ack <C-r><C-w><CR>"
-          , GenericStatement
-              "if !hasmapto('<Plug>(FerretAcks)') && maparg('<leader>r', 'n') ==# ''"
-          , GenericStatement "nmap <unique> <leader>r <Plug>(FerretAcks)"
-          , GenericStatement "endif"
-          , GenericStatement
-              "nnoremap <Plug>(FerretAcks) :Acks <c-r>=(exists('g:ferret_lastsearch') ? '/' . g:ferret_lastsearch . '//' : ' ')<CR><Left>"
-          , GenericStatement "endif"
-          , GenericStatement
-              "command! -bar Qargs execute 'args' ferret#private#qargs()"
-          , LetStatement
-              { letLexpr = "s:commands"
-              , letValue = "get(g:, 'FerretQFCommands', 1)"
-              }
-          , GenericStatement "if s:commands"
-          , GenericStatement
-              "cabbrev <silent> <expr> cn ((getcmdtype() == ':' && getcmdpos() == 3) ? 'cn <bar> normal zz' : 'cn')"
-          , GenericStatement
-              "cabbrev <silent> <expr> cnf ((getcmdtype() == ':' && getcmdpos() == 4) ? 'cnf <bar> normal zz' : 'cnf')"
-          , GenericStatement
-              "cabbrev <silent> <expr> cp ((getcmdtype() == ':' && getcmdpos() == 3) ? 'cp <bar> normal zz' : 'cp')"
-          , GenericStatement
-              "cabbrev <silent> <expr> cpf ((getcmdtype() == ':' && getcmdpos() == 4) ? 'cpf <bar> normal zz' : 'cpf')"
-          , GenericStatement "endif"
-          , LetStatement
-              { letLexpr = "&cpoptions " , letValue = "s:cpoptions" }
-          , UnletStatement { unletBang = False , unletBody = "s:cpoptions" }
-          ]
-      ]
-  , CommandsAnnotation
-  , CommandAnnotation "Ack" (Just "{pattern} {options}")
-  , Paragraph
-      [ Plaintext "Searches"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "{pattern}"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "all"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "current"
-      , Whitespace
-      , Plaintext "directory"
-      , Whitespace
-      , Plaintext "(see"
-      , Whitespace
-      , Link ":pwd"
-      , Plaintext "),"
-      , Whitespace
-      , Plaintext "unless"
-      , Whitespace
-      , Plaintext "otherwise"
-      , Whitespace
-      , Plaintext "overridden"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "{options},"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "displays"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "results"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing."
-      ]
-  , Paragraph
-      [ Code "ag"
-      , Whitespace
-      , Plaintext "(The"
-      , Whitespace
-      , Plaintext "Silver"
-      , Whitespace
-      , Plaintext "Searcher)"
-      , Whitespace
-      , Plaintext "will"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "used"
-      , Whitespace
-      , Plaintext "preferentially"
-      , Whitespace
-      , Plaintext "if"
-      , Whitespace
-      , Plaintext "present"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "system,"
-      , Whitespace
-      , Plaintext "because"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "faster,"
-      , Whitespace
-      , Plaintext "falling"
-      , Whitespace
-      , Plaintext "back"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Code "ack"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "then"
-      , Whitespace
-      , Code "grep"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "needed."
-      ]
-  , Paragraph
-      [ Plaintext "If"
-      , Whitespace
-      , Plaintext "dispatch.vim"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "installed"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "process"
-      , Whitespace
-      , Plaintext "will"
-      , Whitespace
-      , Plaintext "run"
-      , Whitespace
-      , Plaintext "asynchronously"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":Make"
-      , Whitespace
-      , Plaintext "command,"
-      , Whitespace
-      , Plaintext "otherwise"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "will"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "run"
-      , Whitespace
-      , Plaintext "synchronously"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Link ":cexpr"
-      , Plaintext "."
-      , Whitespace
-      , Plaintext "Asynchronous"
-      , Whitespace
-      , Plaintext "searches"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "preferred"
-      , Whitespace
-      , Plaintext "because"
-      , Whitespace
-      , Plaintext "they"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "not"
-      , Whitespace
-      , Plaintext "block,"
-      , Whitespace
-      , Plaintext "despite"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "fact"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "itself"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "single"
-      , Whitespace
-      , Plaintext "threaded."
-      , Whitespace
-      , Plaintext "The"
-      , Whitespace
-      , Link "g:FerretDispatch"
-      , Whitespace
-      , Plaintext "option"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "used"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "dispatch.vim."
-      ]
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "{pattern}"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "passed"
-      , Whitespace
-      , Plaintext "through"
-      , Whitespace
-      , Plaintext "as-is"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "underlying"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "program,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "no"
-      , Whitespace
-      , Plaintext "escaping"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "required"
-      , Whitespace
-      , Plaintext "other"
-      , Whitespace
-      , Plaintext "than"
-      , Whitespace
-      , Plaintext "preceding"
-      , Whitespace
-      , Plaintext "spaces"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "single"
-      , Whitespace
-      , Plaintext "backslash."
-      , Whitespace
-      , Plaintext "For"
-      , Whitespace
-      , Plaintext "example,"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "\"\\bfoo[0-9]{2}"
-      , Whitespace
-      , Plaintext "bar\\b\""
-      , Whitespace
-      , Plaintext "(ie."
-      , Whitespace
-      , Plaintext "using"
-      , Whitespace
-      , Code "ag"
-      , Plaintext "'s"
-      , Whitespace
-      , Plaintext "Perl-style"
-      , Whitespace
-      , Plaintext "regular"
-      , Whitespace
-      , Plaintext "expression"
-      , Whitespace
-      , Plaintext "syntax),"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "could"
-      , Whitespace
-      , Plaintext "do:"
-      ]
-  , Fenced [ ":Ack \\bfoo[0-9]{2}\\ bar\\b" ]
-  , Paragraph
-      [ Plaintext "Likewise,"
-      , Whitespace
-      , Plaintext "{options}"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "passed"
-      , Whitespace
-      , Plaintext "through."
-      , Whitespace
-      , Plaintext "In"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "example,"
-      , Whitespace
-      , Plaintext "we"
-      , Whitespace
-      , Plaintext "pass"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Code "-w"
-      , Whitespace
-      , Plaintext "option"
-      , Whitespace
-      , Plaintext "(to"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "word"
-      , Whitespace
-      , Plaintext "boundaries),"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "scope"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "\"foo\""
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "\"bar\""
-      , Whitespace
-      , Plaintext "subdirectories:"
-      , Whitespace
-      , Plaintext ">"
-      ]
-  , Fenced [ ":Ack -w something foo bar" ]
-  , Paragraph
-      [ Plaintext "As"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "convenience"
-      , Whitespace
-      , Plaintext "<leader>a"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "set-up"
-      , Whitespace
-      , Plaintext "("
-      , Link "<Plug>(FerretAck)"
-      , Plaintext ")"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "shortcut"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "enter"
-      , Whitespace
-      , Link "Cmdline-mode"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Code ":Ack"
-      , Whitespace
-      , Plaintext "inserted"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "Cmdline"
-      , Plaintext "."
-      , Whitespace
-      , Plaintext "Likewise"
-      , Whitespace
-      , Plaintext "<leader>s"
-      , Whitespace
-      , Plaintext "("
-      , Link "<Plug>(FerretAckWord)"
-      , Plaintext ")"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "shortcut"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "running"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "word"
-      , Whitespace
-      , Plaintext "currently"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "cursor."
-      ]
-  , CommandAnnotation "Lack" (Just "{pattern} {options}")
-  , Paragraph
-      [ Plaintext "Just"
-      , Whitespace
-      , Plaintext "like"
-      , Whitespace
-      , Link ":Ack"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "but"
-      , Whitespace
-      , Plaintext "instead"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "using"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing,"
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "global"
-      , Whitespace
-      , Plaintext "across"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Plaintext "entire"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "instance,"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "uses"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "location-list"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "per-window"
-      , Whitespace
-      , Plaintext "construct."
-      ]
-  , Paragraph
-      [ Plaintext "Note"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Link ":Lack"
-      , Whitespace
-      , Plaintext "always"
-      , Whitespace
-      , Plaintext "runs"
-      , Whitespace
-      , Plaintext "synchronously"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Link ":cexpr"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "because"
-      , Whitespace
-      , Plaintext "dispatch.vim"
-      , Whitespace
-      , Plaintext "doesn't"
-      , Whitespace
-      , Plaintext "currently"
-      , Whitespace
-      , Plaintext "support"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "location-list"
-      , Plaintext "."
-      ]
-  , CommandAnnotation "Acks" (Just "/{pattern}/{replacement}/")
-  , Paragraph
-      [ Plaintext "Takes"
-      , Whitespace
-      , Plaintext "all"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "currently"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "performs"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "substitution"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "all"
-      , Whitespace
-      , Plaintext "instances"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "{pattern}"
-      , Whitespace
-      , Plaintext "(a"
-      , Whitespace
-      , Plaintext "standard"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Link "pattern"
-      , Plaintext ")"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "{replacement}."
-      ]
-  , Paragraph
-      [ Plaintext "A"
-      , Whitespace
-      , Plaintext "typical"
-      , Whitespace
-      , Plaintext "sequence"
-      , Whitespace
-      , Plaintext "consists"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "invocation"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "populate"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "then"
-      , Whitespace
-      , Link ":Acks"
-      , Whitespace
-      , Plaintext "(mnemonic:"
-      , Whitespace
-      , Plaintext "\"Ack"
-      , Whitespace
-      , Plaintext "substitute\")"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "perform"
-      , Whitespace
-      , Plaintext "replacements."
-      , Whitespace
-      , Plaintext "For"
-      , Whitespace
-      , Plaintext "example,"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "replace"
-      , Whitespace
-      , Plaintext "\"foo\""
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "\"bar\""
-      , Whitespace
-      , Plaintext "across"
-      , Whitespace
-      , Plaintext "all"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "current"
-      , Whitespace
-      , Plaintext "directory:"
-      ]
-  , Fenced [ ":Ack foo" , ":Acks /foo/bar/" ]
-  , CommandAnnotation "Qargs" Nothing
-  , Paragraph
-      [ Plaintext "This"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "utility"
-      , Whitespace
-      , Plaintext "function"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "used"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":Acks"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "but"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "also"
-      , Whitespace
-      , Plaintext "generally"
-      , Whitespace
-      , Plaintext "useful"
-      , Whitespace
-      , Plaintext "enough"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "warrant"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "exposed"
-      , Whitespace
-      , Plaintext "publicly."
-      ]
-  , Paragraph
-      [ Plaintext "It"
-      , Whitespace
-      , Plaintext "takes"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "currently"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "sets"
-      , Whitespace
-      , Plaintext "them"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Link ":args"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "they"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "operated"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "en"
-      , Whitespace
-      , Plaintext "masse"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":argdo"
-      , Whitespace
-      , Plaintext "command."
-      ]
-  , MappingsAnnotation
-  , SubheadingAnnotation
-      "Circumstances where mappings do not get set up"
-  , Paragraph
-      [ Plaintext "Note"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "will"
-      , Whitespace
-      , Plaintext "not"
-      , Whitespace
-      , Plaintext "try"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "<leader>"
-      , Whitespace
-      , Plaintext "mappings"
-      , Whitespace
-      , Plaintext "if"
-      , Whitespace
-      , Plaintext "any"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "true:"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "A"
-          , Whitespace
-          , Plaintext "mapping"
-          , Whitespace
-          , Plaintext "for"
-          , Whitespace
-          , Plaintext "already"
-          , Whitespace
-          , Plaintext "exists."
-          ]
-      , ListItem
-          [ Plaintext "An"
-          , Whitespace
-          , Plaintext "alternative"
-          , Whitespace
-          , Plaintext "mapping"
-          , Whitespace
-          , Plaintext "for"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "same"
-          , Whitespace
-          , Plaintext "functionality"
-          , Whitespace
-          , Plaintext "has"
-          , Whitespace
-          , Plaintext "already"
-          , Whitespace
-          , Plaintext "been"
-          , Whitespace
-          , Plaintext "set"
-          , Whitespace
-          , Plaintext "up"
-          , Whitespace
-          , Plaintext "from"
-          , Whitespace
-          , Plaintext "a"
-          , Whitespace
-          , Link ".vimrc"
-          , Plaintext "."
-          ]
-      , ListItem
-          [ Plaintext "The"
-          , Whitespace
-          , Plaintext "mapping"
-          , Whitespace
-          , Plaintext "has"
-          , Whitespace
-          , Plaintext "been"
-          , Whitespace
-          , Plaintext "suppressed"
-          , Whitespace
-          , Plaintext "by"
-          , Whitespace
-          , Plaintext "setting"
-          , Whitespace
-          , Link "g:FerretMap"
-          , Whitespace
-          , Plaintext "to"
-          , Whitespace
-          , Plaintext "1"
-          , Whitespace
-          , Plaintext "in"
-          , Whitespace
-          , Plaintext "your"
-          , Whitespace
-          , Link ".vimrc"
-          , Plaintext "."
-          ]
-      ]
-  , SubheadingAnnotation "Mappings specific to the quickfix window"
-  , Paragraph
-      [ Plaintext "Additionally,"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "will"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up"
-      , Whitespace
-      , Plaintext "special"
-      , Whitespace
-      , Plaintext "mappings"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listings,"
-      , Whitespace
-      , Plaintext "unless"
-      , Whitespace
-      , Plaintext "prevented"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "doing"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Link "g:FerretQFMap"
-      , Plaintext ":"
-      ]
-  , List
-      [ ListItem
-          [ Code "d"
-          , Whitespace
-          , Plaintext "("
-          , Link "visual-mode"
-          , Plaintext "):"
-          , Whitespace
-          , Plaintext "delete"
-          , Whitespace
-          , Plaintext "visual"
-          , Whitespace
-          , Plaintext "selection"
-          ]
-      , ListItem
-          [ Code "dd"
-          , Whitespace
-          , Plaintext "("
-          , Link "Normal-mode"
-          , Plaintext "):"
-          , Whitespace
-          , Plaintext "delete"
-          , Whitespace
-          , Plaintext "current"
-          , Whitespace
-          , Plaintext "line"
-          ]
-      , ListItem
-          [ Code "d"
-          , Plaintext "{motion}"
-          , Whitespace
-          , Plaintext "("
-          , Link "Normal-mode"
-          , Plaintext "):"
-          , Whitespace
-          , Plaintext "delete"
-          , Whitespace
-          , Plaintext "range"
-          , Whitespace
-          , Plaintext "indicated"
-          , Whitespace
-          , Plaintext "by"
-          , Whitespace
-          , Plaintext "{motion}"
-          ]
-      ]
-  , MappingAnnotation "<Plug>(FerretAck)"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "maps"
-      , Whitespace
-      , Plaintext "<leader>a"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Link "<Plug>(FerretAck)"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "triggers"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "command."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Plaintext "alternative"
-      , Whitespace
-      , Plaintext "mapping"
-      , Whitespace
-      , Plaintext "instead,"
-      , Whitespace
-      , Plaintext "create"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "different"
-      , Whitespace
-      , Plaintext "one"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Link ".vimrc"
-      , Whitespace
-      , Plaintext "instead"
-      , Whitespace
-      , Plaintext "using"
-      , Whitespace
-      , Link ":nmap"
-      , Plaintext ":"
-      ]
-  , Fenced
-      [ "\" Instead of <leader>a, use <leader>x."
-      , "nmap <leader>x <Plug>(FerretAck)"
-      ]
-  , MappingAnnotation "<Plug>(FerretLack)"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "maps"
-      , Whitespace
-      , Plaintext "<leader>l"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Link "<Plug>(FerretLack)"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "triggers"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":Lack"
-      , Whitespace
-      , Plaintext "command."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Plaintext "alternative"
-      , Whitespace
-      , Plaintext "mapping"
-      , Whitespace
-      , Plaintext "instead,"
-      , Whitespace
-      , Plaintext "create"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "different"
-      , Whitespace
-      , Plaintext "one"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Link ".vimrc"
-      , Whitespace
-      , Plaintext "instead"
-      , Whitespace
-      , Plaintext "using"
-      , Whitespace
-      , Link ":nmap"
-      , Plaintext ":"
-      ]
-  , Fenced
-      [ "\" Instead of <leader>l, use <leader>y."
-      , "nmap <leader>y <Plug>(FerretLack)"
-      ]
-  , MappingAnnotation "<Plug>(FerretAckWord)"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "maps"
-      , Whitespace
-      , Plaintext "<leader>s"
-      , Whitespace
-      , Plaintext "(mnemonix:"
-      , Whitespace
-      , Plaintext "\"selection)"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Link "<Plug>(FerretAckWord)"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "uses"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "word"
-      , Whitespace
-      , Plaintext "currently"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "cursor."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Plaintext "alternative"
-      , Whitespace
-      , Plaintext "mapping"
-      , Whitespace
-      , Plaintext "instead,"
-      , Whitespace
-      , Plaintext "create"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "different"
-      , Whitespace
-      , Plaintext "one"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Link ".vimrc"
-      , Whitespace
-      , Plaintext "instead"
-      , Whitespace
-      , Plaintext "using"
-      , Whitespace
-      , Link ":nmap"
-      , Plaintext ":"
-      ]
-  , Fenced
-      [ "\" Instead of <leader>s, use <leader>z."
-      , "nmap <leader>z <Plug>(FerretAckWord)"
-      ]
-  , MappingAnnotation "<Plug>(FerretAcks)"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "maps"
-      , Whitespace
-      , Plaintext "<leader>r"
-      , Whitespace
-      , Plaintext "(mnemonic:"
-      , Whitespace
-      , Plaintext "\"replace\")"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Link "<Plug>(FerretAcks)"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "triggers"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link ":Acks"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "fills"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "prompt"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "last"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "term"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "Ferret."
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Plaintext "alternative"
-      , Whitespace
-      , Plaintext "mapping"
-      , Whitespace
-      , Plaintext "instead,"
-      , Whitespace
-      , Plaintext "create"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "different"
-      , Whitespace
-      , Plaintext "one"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Link ".vimrc"
-      , Whitespace
-      , Plaintext "instead"
-      , Whitespace
-      , Plaintext "using"
-      , Whitespace
-      , Link ":nmap"
-      , Plaintext ":"
-      ]
-  , Fenced
-      [ "\" Instead of <leader>r, use <leader>u."
-      , "nmap <leader>u <Plug>(FerretAcks)"
-      ]
-  , OptionsAnnotation
-  , OptionAnnotation "g:FerretLoaded" "any" Nothing
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "loaded,"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Link "g:FerretLoaded"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "any"
-      , Whitespace
-      , Plaintext "value"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Link ".vimrc"
-      , Plaintext "."
-      , Whitespace
-      , Plaintext "For"
-      , Whitespace
-      , Plaintext "example:"
-      ]
-  , Fenced [ "let g:FerretLoaded=1" ]
-  , OptionAnnotation "g:FerretMap" "boolean" (Just "1")
-  , Paragraph
-      [ Plaintext "Controls"
-      , Whitespace
-      , Plaintext "whether"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "mappings,"
-      , Whitespace
-      , Plaintext "such"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Link "<Plug>(FerretAck)"
-      , Whitespace
-      , Plaintext "(see"
-      , Whitespace
-      , Link "ferret-mappings"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "full"
-      , Whitespace
-      , Plaintext "list)."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "any"
-      , Whitespace
-      , Plaintext "mapping"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "configured,"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "0:"
-      ]
-  , Fenced [ "let g:FerretMap=0" ]
-  , OptionAnnotation "g:FerretQFCommands" "boolean" (Just "1")
-  , Paragraph
-      [ Plaintext "Controls"
-      , Whitespace
-      , Plaintext "whether"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up"
-      , Whitespace
-      , Plaintext "custom"
-      , Whitespace
-      , Plaintext "versions"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "commands,"
-      , Whitespace
-      , Link ":cn"
-      , Plaintext ","
-      , Whitespace
-      , Link ":cnf"
-      , Plaintext ","
-      , Whitespace
-      , Link ":cp"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Link ":cpf"
-      , Plaintext "."
-      , Whitespace
-      , Plaintext "These"
-      , Whitespace
-      , Plaintext "overrides"
-      , Whitespace
-      , Plaintext "vertically"
-      , Whitespace
-      , Plaintext "center"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "match"
-      , Whitespace
-      , Plaintext "within"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "viewport"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "each"
-      , Whitespace
-      , Plaintext "jump."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "custom"
-      , Whitespace
-      , Plaintext "versions"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "configured,"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "0:"
-      ]
-  , Fenced [ "let g:FerretQFCommands=0" ]
-  , FooterAnnotation
-  , HeadingAnnotation "Custom autocommands"
-  , LinkTargets [ "FerretWillWrite" , "FerretDidWrite" ]
-  , Paragraph
-      [ Plaintext "For"
-      , Whitespace
-      , Plaintext "maximum"
-      , Whitespace
-      , Plaintext "compatibility"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "other"
-      , Whitespace
-      , Plaintext "plug-ins,"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "runs"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "\"User\""
-      , Whitespace
-      , Plaintext "autocommands"
-      , Whitespace
-      , Plaintext "before"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "after"
-      , Whitespace
-      , Plaintext "running"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "file"
-      , Whitespace
-      , Plaintext "writing"
-      , Whitespace
-      , Plaintext "operations"
-      , Whitespace
-      , Plaintext "during"
-      , Whitespace
-      , Link ":Acks"
-      , Plaintext ":"
-      ]
-  , List
-      [ ListItem [ Plaintext "FerretWillWrite" ]
-      , ListItem [ Plaintext "FerretDidWrite" ]
-      ]
-  , Paragraph
-      [ Plaintext "For"
-      , Whitespace
-      , Plaintext "example,"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "call"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "pair"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "custom"
-      , Whitespace
-      , Plaintext "functions"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "response"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "these"
-      , Whitespace
-      , Plaintext "events,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "might"
-      , Whitespace
-      , Plaintext "do:"
-      ]
-  , Fenced
-      [ "autocmd! User FerretWillWrite"
-      , "autocmd User FerretWillWrite call CustomWillWrite()"
-      , "autocmd! User FerretDidWrite"
-      , "autocmd User FerretDidWrite call CustomDidWrite()"
-      ]
-  , HeadingAnnotation "Overrides"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "overrides"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "'grepformat'"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "'grepprg'"
-      , Whitespace
-      , Plaintext "settings,"
-      , Whitespace
-      , Plaintext "preferentially"
-      , Whitespace
-      , Plaintext "setting"
-      , Whitespace
-      , Code "ag"
-      , Plaintext ","
-      , Whitespace
-      , Code "ack"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Code "grep"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "'grepprg'"
-      , Whitespace
-      , Plaintext "(in"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "order)"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "configuring"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "suitable"
-      , Whitespace
-      , Plaintext "'grepformat'."
-      ]
-  , Paragraph
-      [ Plaintext "Additionally,"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "includes"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Link "ftplugin"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "adjusts"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "number"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "settings"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "improve"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "usability"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "results."
-      ]
-  , IndentAnnotation
-  , LinkTargets [ "ferret-nolist" ]
-  , Paragraph [ Plaintext "'nolist'" ]
-  , Paragraph
-      [ Plaintext "Turned"
-      , Whitespace
-      , Plaintext "off"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "reduce"
-      , Whitespace
-      , Plaintext "visual"
-      , Whitespace
-      , Plaintext "clutter"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "results,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "because"
-      , Whitespace
-      , Plaintext "'list'"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "most"
-      , Whitespace
-      , Plaintext "useful"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "actively"
-      , Whitespace
-      , Plaintext "edited,"
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "not"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "case"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "results."
-      ]
-  , LinkTargets [ "ferret-norelativenumber" ]
-  , Paragraph [ Plaintext "'norelativenumber'" ]
-  , Paragraph
-      [ Plaintext "Turned"
-      , Whitespace
-      , Plaintext "off,"
-      , Whitespace
-      , Plaintext "because"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "more"
-      , Whitespace
-      , Plaintext "useful"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "sense"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "absolute"
-      , Whitespace
-      , Plaintext "progress"
-      , Whitespace
-      , Plaintext "through"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "results"
-      , Whitespace
-      , Plaintext "list"
-      , Whitespace
-      , Plaintext "than"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "ability"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "jump"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "nearby"
-      , Whitespace
-      , Plaintext "results"
-      , Whitespace
-      , Plaintext "(especially"
-      , Whitespace
-      , Plaintext "seeing"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "most"
-      , Whitespace
-      , Plaintext "common"
-      , Whitespace
-      , Plaintext "operations"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "moving"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "next"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "previous"
-      , Whitespace
-      , Plaintext "file,"
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "both"
-      , Whitespace
-      , Plaintext "handled"
-      , Whitespace
-      , Plaintext "nicely"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Link ":cnf"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Link ":cpf"
-      , Whitespace
-      , Plaintext "respectively)."
-      ]
-  , LinkTargets [ "ferret-nowrap" ]
-  , Paragraph [ Plaintext "'nowrap'" ]
-  , Paragraph
-      [ Plaintext "Turned"
-      , Whitespace
-      , Plaintext "off"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "avoid"
-      , Whitespace
-      , Plaintext "ugly"
-      , Whitespace
-      , Plaintext "wrapping"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "makes"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "results"
-      , Whitespace
-      , Plaintext "list"
-      , Whitespace
-      , Plaintext "hard"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "read,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "because"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "results,"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "most"
-      , Whitespace
-      , Plaintext "relevant"
-      , Whitespace
-      , Plaintext "information"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "filename,"
-      , Whitespace
-      , Plaintext "which"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "left"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "usually"
-      , Whitespace
-      , Plaintext "visible"
-      , Whitespace
-      , Plaintext "even"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "wrapping."
-      ]
-  , LinkTargets [ "ferret-number" ]
-  , Paragraph [ Plaintext "'number'" ]
-  , Paragraph
-      [ Plaintext "Turned"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "give"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "sense"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "absolute"
-      , Whitespace
-      , Plaintext "progress"
-      , Whitespace
-      , Plaintext "through"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "results."
-      ]
-  , LinkTargets [ "ferret-scrolloff" ]
-  , Paragraph [ Plaintext "'scrolloff'" ]
-  , Paragraph
-      [ Plaintext "Set"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "0"
-      , Whitespace
-      , Plaintext "because"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Link "quickfix"
-      , Whitespace
-      , Plaintext "listing"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "usually"
-      , Whitespace
-      , Plaintext "small"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "default,"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "trying"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "keep"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "current"
-      , Whitespace
-      , Plaintext "line"
-      , Whitespace
-      , Plaintext "away"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "edge"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "viewpoint"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "futile;"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "definition"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "usually"
-      , Whitespace
-      , Plaintext "near"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "edge."
-      ]
-  , LinkTargets [ "ferret-nocursorline" ]
-  , Paragraph [ Plaintext "'nocursorline'" ]
-  , Paragraph
-      [ Plaintext "Turned"
-      , Whitespace
-      , Plaintext "off"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "reduce"
-      , Whitespace
-      , Plaintext "visual"
-      , Whitespace
-      , Plaintext "clutter."
-      ]
-  , DedentAnnotation
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "any"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "these"
-      , Whitespace
-      , Link "quickfix"
-      , Plaintext "-specific"
-      , Whitespace
-      , Plaintext "overrides"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "up,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Link "g:FerretQFOptions"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "0"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Link ".vimrc"
-      , Plaintext ":"
-      ]
-  , Fenced [ "let g:FerretQFOptions=0" ]
-  , HeadingAnnotation "Troubleshooting"
-  , LinkTargets [ "ferret-quotes" ]
-  , SubheadingAnnotation
-      "Ferret fails to find patterns containing spaces"
-  , Paragraph
-      [ Plaintext "As"
-      , Whitespace
-      , Plaintext "described"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "documentation"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Link ":Ack"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "pattern"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "passed"
-      , Whitespace
-      , Plaintext "through"
-      , Whitespace
-      , Plaintext "as-is"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "underlying"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "command,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "no"
-      , Whitespace
-      , Plaintext "escaping"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "required"
-      , Whitespace
-      , Plaintext "other"
-      , Whitespace
-      , Plaintext "than"
-      , Whitespace
-      , Plaintext "preceding"
-      , Whitespace
-      , Plaintext "spaces"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "single"
-      , Whitespace
-      , Plaintext "backslash."
-      ]
-  , Paragraph
-      [ Plaintext "So,"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "find"
-      , Whitespace
-      , Plaintext "\"foo"
-      , Whitespace
-      , Plaintext "bar\","
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "would"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "like:"
-      ]
-  , Fenced [ ":Ack foo\\ bar" ]
-  , Paragraph
-      [ Plaintext "Unescaped"
-      , Whitespace
-      , Plaintext "spaces"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "treated"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "argument"
-      , Whitespace
-      , Plaintext "separators,"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "like"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "means"
-      , Whitespace
-      , Plaintext "pass"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Code "-w"
-      , Whitespace
-      , Plaintext "option"
-      , Whitespace
-      , Plaintext "through,"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "pattern"
-      , Whitespace
-      , Plaintext "\"foo\","
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "limit"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "\"bar\""
-      , Whitespace
-      , Plaintext "directory:"
-      ]
-  , Fenced [ ":Ack -w foo bar" ]
-  , Paragraph
-      [ Plaintext "Note"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "including"
-      , Whitespace
-      , Plaintext "quotes"
-      , Whitespace
-      , Plaintext "will"
-      , Whitespace
-      , Plaintext "not"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "what"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "intend."
-      ]
-  , Fenced
-      [ " \" Search for '\"foo' in the 'bar\"' directory:"
-      , " :Ack \"foo bar\""
-      , ""
-      , " \" Search for \"'foo' in the \"bar'\" directory:"
-      , " :Ack 'foo bar'"
-      ]
-  , Paragraph
-      [ Plaintext "This"
-      , Whitespace
-      , Plaintext "approach"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "escaping"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "taken"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "order"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "make"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "straightfoward"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "powerful"
-      , Whitespace
-      , Plaintext "Perl-compatible"
-      , Whitespace
-      , Plaintext "regular"
-      , Whitespace
-      , Plaintext "expression"
-      , Whitespace
-      , Plaintext "syntax"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "an"
-      , Whitespace
-      , Plaintext "unambiguous"
-      , Whitespace
-      , Plaintext "way"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "having"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "worry"
-      , Whitespace
-      , Plaintext "about"
-      , Whitespace
-      , Plaintext "shell"
-      , Whitespace
-      , Plaintext "escaping"
-      , Whitespace
-      , Plaintext "rules:"
-      ]
-  , Fenced
-      [ ":Ack \\blog\\((['\"]).*?\\1\\) -i --ignore-dir=src/vendor src dist build"
-      ]
-  , HeadingAnnotation "FAQ"
-  , SubheadingAnnotation
-      "Why do Ferret commands start with \"Ack\", \"Lack\" and so on?"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "was"
-      , Whitespace
-      , Plaintext "originally"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "thinnest"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "wrappers"
-      , Whitespace
-      , Plaintext "(7"
-      , Whitespace
-      , Plaintext "lines"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "code"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "my"
-      , Whitespace
-      , Link ".vimrc"
-      , Plaintext ")"
-      , Whitespace
-      , Plaintext "around"
-      , Whitespace
-      , Code "ack"
-      , Plaintext "."
-      , Whitespace
-      , Plaintext "The"
-      , Whitespace
-      , Plaintext "earliest"
-      , Whitespace
-      , Plaintext "traces"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "it"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "seen"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "initial"
-      , Whitespace
-      , Plaintext "commit"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "my"
-      , Whitespace
-      , Plaintext "dotfiles"
-      , Whitespace
-      , Plaintext "repo"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "May,"
-      , Whitespace
-      , Plaintext "2009"
-      , Whitespace
-      , Plaintext "(https://wt.pe/h)."
-      ]
-  , Paragraph
-      [ Plaintext "So,"
-      , Whitespace
-      , Plaintext "even"
-      , Whitespace
-      , Plaintext "though"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "has"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "new"
-      , Whitespace
-      , Plaintext "name"
-      , Whitespace
-      , Plaintext "now"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "actually"
-      , Whitespace
-      , Plaintext "prefers"
-      , Whitespace
-      , Code "ag"
-      , Whitespace
-      , Plaintext "over"
-      , Whitespace
-      , Code "ack"
-      , Whitespace
-      , Plaintext "when"
-      , Whitespace
-      , Plaintext "available,"
-      , Whitespace
-      , Plaintext "I"
-      , Whitespace
-      , Plaintext "prefer"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "keep"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "command"
-      , Whitespace
-      , Plaintext "names"
-      , Whitespace
-      , Plaintext "intact"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "benefit"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "years"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "accumulated"
-      , Whitespace
-      , Plaintext "muscle-memory."
-      ]
-  , HeadingAnnotation "Related"
-  , Paragraph
-      [ Plaintext "Just"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "aims"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "improve"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "multi-file"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "replace"
-      , Whitespace
-      , Plaintext "experience,"
-      , Whitespace
-      , Plaintext "Loupe"
-      , Whitespace
-      , Plaintext "does"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "same"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "within-file"
-      , Whitespace
-      , Plaintext "searching:"
-      ]
-  , Paragraph [ Plaintext "https://github.com/wincent/loupe" ]
-  , HeadingAnnotation "Website"
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "official"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "source"
-      , Whitespace
-      , Plaintext "code"
-      , Whitespace
-      , Plaintext "repo"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph [ Plaintext "http://git.wincent.com/ferret.git" ]
-  , Paragraph
-      [ Plaintext "A"
-      , Whitespace
-      , Plaintext "mirror"
-      , Whitespace
-      , Plaintext "exists"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph [ Plaintext "https://github.com/wincent/ferret" ]
-  , Paragraph
-      [ Plaintext "Official"
-      , Whitespace
-      , Plaintext "releases"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "listed"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph
-      [ Plaintext "http://www.vim.org/scripts/script.php?script_id=5220"
-      ]
-  , HeadingAnnotation "License"
-  , Paragraph
-      [ Plaintext "Copyright"
-      , Whitespace
-      , Plaintext "2015-present"
-      , Whitespace
-      , Plaintext "Greg"
-      , Whitespace
-      , Plaintext "Hurrell."
-      , Whitespace
-      , Plaintext "All"
-      , Whitespace
-      , Plaintext "rights"
-      , Whitespace
-      , Plaintext "reserved."
-      ]
-  , Paragraph
-      [ Plaintext "Redistribution"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "source"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "binary"
-      , Whitespace
-      , Plaintext "forms,"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "modification,"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "permitted"
-      , Whitespace
-      , Plaintext "provided"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "conditions"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "met:"
-      ]
-  , Paragraph
-      [ Plaintext "1."
-      , Whitespace
-      , Plaintext "Redistributions"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "source"
-      , Whitespace
-      , Plaintext "code"
-      , Whitespace
-      , Plaintext "must"
-      , Whitespace
-      , Plaintext "retain"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "above"
-      , Whitespace
-      , Plaintext "copyright"
-      , Whitespace
-      , Plaintext "notice,"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "list"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "conditions"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "disclaimer."
-      , Whitespace
-      , Plaintext "2."
-      , Whitespace
-      , Plaintext "Redistributions"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "binary"
-      , Whitespace
-      , Plaintext "form"
-      , Whitespace
-      , Plaintext "must"
-      , Whitespace
-      , Plaintext "reproduce"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "above"
-      , Whitespace
-      , Plaintext "copyright"
-      , Whitespace
-      , Plaintext "notice,"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "list"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "conditions"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "disclaimer"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "documentation"
-      , Whitespace
-      , Plaintext "and/or"
-      , Whitespace
-      , Plaintext "other"
-      , Whitespace
-      , Plaintext "materials"
-      , Whitespace
-      , Plaintext "provided"
-      , Whitespace
-      , Plaintext "with"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "distribution."
-      ]
-  , Paragraph
-      [ Plaintext "THIS"
-      , Whitespace
-      , Plaintext "SOFTWARE"
-      , Whitespace
-      , Plaintext "IS"
-      , Whitespace
-      , Plaintext "PROVIDED"
-      , Whitespace
-      , Plaintext "BY"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "COPYRIGHT"
-      , Whitespace
-      , Plaintext "HOLDERS"
-      , Whitespace
-      , Plaintext "AND"
-      , Whitespace
-      , Plaintext "CONTRIBUTORS"
-      , Whitespace
-      , Plaintext "\"AS"
-      , Whitespace
-      , Plaintext "IS\""
-      , Whitespace
-      , Plaintext "AND"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "EXPRESS"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "IMPLIED"
-      , Whitespace
-      , Plaintext "WARRANTIES,"
-      , Whitespace
-      , Plaintext "INCLUDING,"
-      , Whitespace
-      , Plaintext "BUT"
-      , Whitespace
-      , Plaintext "NOT"
-      , Whitespace
-      , Plaintext "LIMITED"
-      , Whitespace
-      , Plaintext "TO,"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "IMPLIED"
-      , Whitespace
-      , Plaintext "WARRANTIES"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "MERCHANTABILITY"
-      , Whitespace
-      , Plaintext "AND"
-      , Whitespace
-      , Plaintext "FITNESS"
-      , Whitespace
-      , Plaintext "FOR"
-      , Whitespace
-      , Plaintext "A"
-      , Whitespace
-      , Plaintext "PARTICULAR"
-      , Whitespace
-      , Plaintext "PURPOSE"
-      , Whitespace
-      , Plaintext "ARE"
-      , Whitespace
-      , Plaintext "DISCLAIMED."
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "NO"
-      , Whitespace
-      , Plaintext "EVENT"
-      , Whitespace
-      , Plaintext "SHALL"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "COPYRIGHT"
-      , Whitespace
-      , Plaintext "HOLDERS"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "CONTRIBUTORS"
-      , Whitespace
-      , Plaintext "BE"
-      , Whitespace
-      , Plaintext "LIABLE"
-      , Whitespace
-      , Plaintext "FOR"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "DIRECT,"
-      , Whitespace
-      , Plaintext "INDIRECT,"
-      , Whitespace
-      , Plaintext "INCIDENTAL,"
-      , Whitespace
-      , Plaintext "SPECIAL,"
-      , Whitespace
-      , Plaintext "EXEMPLARY,"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "CONSEQUENTIAL"
-      , Whitespace
-      , Plaintext "DAMAGES"
-      , Whitespace
-      , Plaintext "(INCLUDING,"
-      , Whitespace
-      , Plaintext "BUT"
-      , Whitespace
-      , Plaintext "NOT"
-      , Whitespace
-      , Plaintext "LIMITED"
-      , Whitespace
-      , Plaintext "TO,"
-      , Whitespace
-      , Plaintext "PROCUREMENT"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "SUBSTITUTE"
-      , Whitespace
-      , Plaintext "GOODS"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "SERVICES;"
-      , Whitespace
-      , Plaintext "LOSS"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "USE,"
-      , Whitespace
-      , Plaintext "DATA,"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "PROFITS;"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "BUSINESS"
-      , Whitespace
-      , Plaintext "INTERRUPTION)"
-      , Whitespace
-      , Plaintext "HOWEVER"
-      , Whitespace
-      , Plaintext "CAUSED"
-      , Whitespace
-      , Plaintext "AND"
-      , Whitespace
-      , Plaintext "ON"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "THEORY"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "LIABILITY,"
-      , Whitespace
-      , Plaintext "WHETHER"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "CONTRACT,"
-      , Whitespace
-      , Plaintext "STRICT"
-      , Whitespace
-      , Plaintext "LIABILITY,"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "TORT"
-      , Whitespace
-      , Plaintext "(INCLUDING"
-      , Whitespace
-      , Plaintext "NEGLIGENCE"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "OTHERWISE)"
-      , Whitespace
-      , Plaintext "ARISING"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "WAY"
-      , Whitespace
-      , Plaintext "OUT"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "USE"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "THIS"
-      , Whitespace
-      , Plaintext "SOFTWARE,"
-      , Whitespace
-      , Plaintext "EVEN"
-      , Whitespace
-      , Plaintext "IF"
-      , Whitespace
-      , Plaintext "ADVISED"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "POSSIBILITY"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "SUCH"
-      , Whitespace
-      , Plaintext "DAMAGE."
-      ]
-  , HeadingAnnotation "Development"
-  , SubheadingAnnotation "Contributing patches"
-  , Paragraph
-      [ Plaintext "Patches"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "sent"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "mail"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "greg@hurrell.net,"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "GitHub"
-      , Whitespace
-      , Plaintext "pull"
-      , Whitespace
-      , Plaintext "requests"
-      , Whitespace
-      , Plaintext "at:"
-      , Whitespace
-      , Plaintext "https://github.com/wincent/ferret/pulls"
-      ]
-  , SubheadingAnnotation "Cutting a new release"
-  , Paragraph
-      [ Plaintext "At"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "moment"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "release"
-      , Whitespace
-      , Plaintext "process"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "manual:"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Perform"
-          , Whitespace
-          , Plaintext "final"
-          , Whitespace
-          , Plaintext "sanity"
-          , Whitespace
-          , Plaintext "checks"
-          , Whitespace
-          , Plaintext "and"
-          , Whitespace
-          , Plaintext "manual"
-          , Whitespace
-          , Plaintext "testing"
-          ]
-      , ListItem
-          [ Plaintext "Update"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Link "ferret-history"
-          , Whitespace
-          , Plaintext "section"
-          , Whitespace
-          , Plaintext "of"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "documentation"
-          ]
-      , ListItem
-          [ Plaintext "Verify"
-          , Whitespace
-          , Plaintext "clean"
-          , Whitespace
-          , Plaintext "work"
-          , Whitespace
-          , Plaintext "tree:"
-          ]
-      ]
-  , Fenced [ "git status" ]
-  , List
-      [ ListItem
-          [ Plaintext "Tag"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "release:"
-          ]
-      ]
-  , Fenced [ "git tag -s -m \"$VERSION release\" $VERSION" ]
-  , List
-      [ ListItem
-          [ Plaintext "Publish"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "code:"
-          ]
-      ]
-  , Fenced
-      [ "git push origin master --follow-tags"
-      , "git push github master --follow-tags"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Produce"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "release"
-          , Whitespace
-          , Plaintext "archive:"
-          ]
-      ]
-  , Fenced [ "git archive -o ferret-$VERSION.zip HEAD -- ." ]
-  , List
-      [ ListItem
-          [ Plaintext "Upload"
-          , Whitespace
-          , Plaintext "to"
-          , Whitespace
-          , Plaintext "http://www.vim.org/scripts/script.php?script_id=5220"
-          ]
-      ]
-  , HeadingAnnotation "Authors"
-  , Paragraph
-      [ Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "written"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "maintained"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "Greg"
-      , Whitespace
-      , Plaintext "Hurrell"
-      , Whitespace
-      , Plaintext "<greg@hurrell.net>."
-      ]
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "idea"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "vim-dispatch"
-      , Whitespace
-      , Plaintext "integration"
-      , Whitespace
-      , Plaintext "was"
-      , Whitespace
-      , Plaintext "taken"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "Miles"
-      , Whitespace
-      , Plaintext "Sterrett's"
-      , Whitespace
-      , Plaintext "ack.vim"
-      , Whitespace
-      , Plaintext "plug-in"
-      , Whitespace
-      , Plaintext "(https://github.com/mileszs/ack.vim)."
-      ]
-  , Paragraph
-      [ Plaintext "Other"
-      , Whitespace
-      , Plaintext "contributors"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "submitted"
-      , Whitespace
-      , Plaintext "patches"
-      , Whitespace
-      , Plaintext "include"
-      , Whitespace
-      , Plaintext "(in"
-      , Whitespace
-      , Plaintext "alphabetical"
-      , Whitespace
-      , Plaintext "order):"
-      ]
-  , List
-      [ ListItem [ Plaintext "Daniel" , Whitespace , Plaintext "Silva" ]
-      , ListItem [ Plaintext "Joe" , Whitespace , Plaintext "Lencioni" ]
-      , ListItem
-          [ Plaintext "Nelo-Thara" , Whitespace , Plaintext "Wallus" ]
-      , ListItem [ Plaintext "Vaibhav" , Whitespace , Plaintext "Sagar" ]
-      ]
-  , HeadingAnnotation "History"
-  , Paragraph
-      [ Plaintext "0.3.1"
-      , Whitespace
-      , Plaintext "(not"
-      , Whitespace
-      , Plaintext "yet"
-      , Whitespace
-      , Plaintext "released)"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Fix"
-          , Whitespace
-          , Plaintext "broken"
-          , Whitespace
-          , Link ":Qargs"
-          , Whitespace
-          , Plaintext "command"
-          , Whitespace
-          , Plaintext "(patch"
-          , Whitespace
-          , Plaintext "from"
-          , Whitespace
-          , Plaintext "Daniel"
-          , Whitespace
-          , Plaintext "Silva)."
-          ]
-      ]
-  , Paragraph
-      [ Plaintext "0.3"
-      , Whitespace
-      , Plaintext "(24"
-      , Whitespace
-      , Plaintext "July"
-      , Whitespace
-      , Plaintext "2015)"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Added"
-          , Whitespace
-          , Plaintext "highlighting"
-          , Whitespace
-          , Plaintext "of"
-          , Whitespace
-          , Plaintext "search"
-          , Whitespace
-          , Plaintext "pattern"
-          , Whitespace
-          , Plaintext "and"
-          , Whitespace
-          , Plaintext "related"
-          , Whitespace
-          , Link "g:FerretHlsearch"
-          , Whitespace
-          , Plaintext "option"
-          , Whitespace
-          , Plaintext "(patch"
-          , Whitespace
-          , Plaintext "from"
-          , Whitespace
-          , Plaintext "Nelo-Thara"
-          , Whitespace
-          , Plaintext "Wallus)."
-          ]
-      , ListItem
-          [ Plaintext "Add"
-          , Whitespace
-          , Plaintext "better"
-          , Whitespace
-          , Plaintext "error"
-          , Whitespace
-          , Plaintext "reporting"
-          , Whitespace
-          , Plaintext "for"
-          , Whitespace
-          , Plaintext "failed"
-          , Whitespace
-          , Plaintext "or"
-          , Whitespace
-          , Plaintext "incorrect"
-          , Whitespace
-          , Plaintext "searches."
-          ]
-      ]
-  , Paragraph
-      [ Plaintext "0.2"
-      , Whitespace
-      , Plaintext "(16"
-      , Whitespace
-      , Plaintext "July"
-      , Whitespace
-      , Plaintext "2015)"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Added"
-          , Whitespace
-          , Link "FerretDidWrite"
-          , Whitespace
-          , Plaintext "and"
-          , Whitespace
-          , Link "FerretWillWrite"
-          , Whitespace
-          , Plaintext "autocommands"
-          , Whitespace
-          , Plaintext "(patch"
-          , Whitespace
-          , Plaintext "from"
-          , Whitespace
-          , Plaintext "Joe"
-          , Whitespace
-          , Plaintext "Lencioni)."
-          ]
-      , ListItem
-          [ Plaintext "Add"
-          , Whitespace
-          , Link "<Plug>(FerretAcks)"
-          , Whitespace
-          , Plaintext "mapping"
-          , Whitespace
-          , Plaintext "(patch"
-          , Whitespace
-          , Plaintext "from"
-          , Whitespace
-          , Plaintext "Nelo-Thara"
-          , Whitespace
-          , Plaintext "Wallus)."
-          ]
-      ]
-  , Paragraph
-      [ Plaintext "0.1"
-      , Whitespace
-      , Plaintext "(8"
-      , Whitespace
-      , Plaintext "July"
-      , Whitespace
-      , Plaintext "2015)"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Initial"
-          , Whitespace
-          , Plaintext "release,"
-          , Whitespace
-          , Plaintext "extracted"
-          , Whitespace
-          , Plaintext "from"
-          , Whitespace
-          , Plaintext "my"
-          , Whitespace
-          , Plaintext "dotfiles"
-          , Whitespace
-          , Plaintext "(https://github.com/wincent/wincent)."
-          ]
-      ]
-  ]
diff --git a/tests/fixtures/parser/integration-ferret-plugin.vim b/tests/fixtures/parser/integration-ferret-plugin.vim
deleted file mode 120000 (symlink)
index 4634fa0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-plugin.vim
\ No newline at end of file
diff --git a/tests/fixtures/parser/integration-ferret-private.golden b/tests/fixtures/parser/integration-ferret-private.golden
deleted file mode 100644 (file)
index 33692b7..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-Project
-  [ Project
-      [ Unit
-          [ FunctionDeclaration
-              { functionBang = True
-              , functionName = "s:delete"
-              , functionArguments =
-                  ArgumentList [ Argument "first" , Argument "last" ]
-              , functionAttributes = []
-              , functionBody =
-                  [ LetStatement { letLexpr = "l:list" , letValue = "getqflist()" }
-                  , LetStatement { letLexpr = "l:line" , letValue = "a:first" }
-                  , GenericStatement "while l:line >= a:first && l:line <= a:last"
-                  , LetStatement { letLexpr = "l:list[l:line - 1]" , letValue = "0" }
-                  , LetStatement { letLexpr = "l:line" , letValue = "l:line + 1" }
-                  , GenericStatement "endwhile"
-                  , GenericStatement "call setqflist(l:list, 'r')"
-                  , GenericStatement "execute 'cc ' . a:first"
-                  , GenericStatement "execute \"normal \\<C-W>\\<C-P>\""
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "s:dispatch"
-              , functionArguments = ArgumentList []
-              , functionAttributes = []
-              , functionBody =
-                  [ Empty
-                  , LetStatement
-                      { letLexpr = "l:dispatch"
-                      , letValue = "get(g:, 'FerretDispatch', 1)"
-                      }
-                  , GenericStatement "return l:dispatch && exists(':Make') == 2"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "s:error"
-              , functionArguments = ArgumentList [ Argument "message" ]
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ GenericStatement "call inputsave()"
-                  , GenericStatement "echohl ErrorMsg"
-                  , GenericStatement
-                      "call input(a:message . ': press ENTER to continue')"
-                  , GenericStatement "echohl NONE"
-                  , GenericStatement "call inputrestore()"
-                  , GenericStatement "echo"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "s:parse"
-              , functionArguments = ArgumentList [ Argument "arg" ]
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ GenericStatement "if exists('g:ferret_lastsearch')"
-                  , UnletStatement
-                      { unletBang = False , unletBody = "g:ferret_lastsearch" }
-                  , GenericStatement "endif"
-                  , LetStatement
-                      { letLexpr = "l:escaped_spaces_replaced_with_markers"
-                      , letValue = "substitute(a:arg, '\\\\ ', '<!!S!!>', 'g')"
-                      }
-                  , LetStatement
-                      { letLexpr = "l:split_on_spaces"
-                      , letValue = "split(l:escaped_spaces_replaced_with_markers)"
-                      }
-                  , LetStatement { letLexpr = "l:expanded_args" , letValue = "[]" }
-                  , GenericStatement "for l:arg in l:split_on_spaces"
-                  , GenericStatement "if l:arg =~# '^-'"
-                  , GenericStatement "call add(l:expanded_args, l:arg)"
-                  , GenericStatement "elseif exists('g:ferret_lastsearch')"
-                  , LetStatement
-                      { letLexpr = "l:file_args"
-                      , letValue =
-                          "glob(l:arg, 1, 1) \" Ignore 'wildignore', return a list."
-                      }
-                  , GenericStatement "if len(l:file_args)"
-                  , GenericStatement "call extend(l:expanded_args, l:file_args)"
-                  , GenericStatement "else"
-                  , GenericStatement "call add(l:expanded_args, l:arg)"
-                  , GenericStatement "endif"
-                  , GenericStatement "else"
-                  , LetStatement
-                      { letLexpr = "g:ferret_lastsearch"
-                      , letValue = "substitute(l:arg, '<!!S!!>', ' ', 'g')"
-                      }
-                  , GenericStatement "call add(l:expanded_args, l:arg)"
-                  , GenericStatement "endif"
-                  , GenericStatement "endfor"
-                  , LetStatement
-                      { letLexpr = "l:each_word_shell_escaped"
-                      , letValue = "map(l:expanded_args, 'shellescape(v:val)')"
-                      }
-                  , LetStatement
-                      { letLexpr = "l:joined"
-                      , letValue = "join(l:each_word_shell_escaped)"
-                      }
-                  , GenericStatement
-                      "return substitute(l:joined, '<!!S!!>', ' ', 'g')"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#post"
-              , functionArguments = ArgumentList [ Argument "type" ]
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ GenericStatement "if has('autocmd')"
-                  , GenericStatement "augroup FerretPostQF"
-                  , GenericStatement "autocmd!"
-                  , GenericStatement "augroup END"
-                  , GenericStatement "endif"
-                  , LetStatement
-                      { letLexpr = "l:lastsearch "
-                      , letValue = "get(g:, 'ferret_lastsearch', '')"
-                      }
-                  , LetStatement
-                      { letLexpr = "l:qflist "
-                      , letValue = "a:type == 'qf' ? getqflist() : getloclist(0)"
-                      }
-                  , LetStatement
-                      { letLexpr = "l:tip "
-                      , letValue = "' [see `:help ferret-quotes`]'"
-                      }
-                  , GenericStatement "if len(l:qflist) == 0"
-                  , LetStatement
-                      { letLexpr = "l:base "
-                      , letValue =
-                          "'No results for search pattern `' . l:lastsearch . '`'"
-                      }
-                  , GenericStatement
-                      "if l:lastsearch =~ '\\v^([' . \"'\" . '\"])[^ \\1]+\\1$'"
-                  , GenericStatement "call s:error(l:base . l:tip)"
-                  , GenericStatement "else"
-                  , GenericStatement "call s:error(l:base)"
-                  , GenericStatement "endif"
-                  , GenericStatement "else"
-                  , LetStatement
-                      { letLexpr = "l:invalid "
-                      , letValue = "filter(copy(l:qflist), 'v:val.valid == 0')"
-                      }
-                  , GenericStatement "if len(l:invalid) == len(l:qflist)"
-                  , GenericStatement "redraw!"
-                  , GenericStatement "echohl ErrorMsg"
-                  , GenericStatement "for l:item in l:invalid"
-                  , GenericStatement "echomsg l:item.text"
-                  , GenericStatement "endfor"
-                  , GenericStatement "echohl NONE"
-                  , LetStatement
-                      { letLexpr = "l:base "
-                      , letValue = "'Search for `' . l:lastsearch . '` failed'"
-                      }
-                  , LetStatement
-                      { letLexpr = "l:suffix "
-                      , letValue = "a:type == 'qf' && s:dispatch() ?"
-                      }
-                  , GenericStatement "\\ ' (run `:messages` to see details)' : ''"
-                  , GenericStatement
-                      "if l:lastsearch =~ '\\v^[' . \"'\" . '\"].+[^' . \"'\" . '\"]$'"
-                  , GenericStatement "call s:error(l:base . l:tip . l:suffix)"
-                  , GenericStatement "else"
-                  , GenericStatement "call s:error(l:base . l:suffix)"
-                  , GenericStatement "endif"
-                  , GenericStatement "endif"
-                  , GenericStatement "endif"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#ack"
-              , functionArguments = ArgumentList [ Argument "command" ]
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ LetStatement
-                      { letLexpr = "l:command" , letValue = "s:parse(a:command)" }
-                  , GenericStatement "call ferret#private#hlsearch()"
-                  , GenericStatement "if empty(&grepprg)"
-                  , GenericStatement "return"
-                  , GenericStatement "endif"
-                  , GenericStatement "if s:dispatch()"
-                  , GenericStatement "if has('autocmd')"
-                  , GenericStatement "augroup FerretPostQF"
-                  , GenericStatement "autocmd!"
-                  , GenericStatement
-                      "autocmd QuickfixCmdPost cgetfile call ferret#private#post('qf')"
-                  , GenericStatement "augroup END"
-                  , GenericStatement "endif"
-                  , LetStatement
-                      { letLexpr = "l:original_makeprg" , letValue = "&l:makeprg" }
-                  , LetStatement
-                      { letLexpr = "l:original_errorformat"
-                      , letValue = "&l:errorformat"
-                      }
-                  , GenericStatement "try"
-                  , LetStatement
-                      { letLexpr = "&l:makeprg"
-                      , letValue = "&grepprg . ' ' . l:command"
-                      }
-                  , LetStatement
-                      { letLexpr = "&l:errorformat" , letValue = "&grepformat" }
-                  , GenericStatement "Make"
-                  , GenericStatement "catch"
-                  , GenericStatement "if has('autocmd')"
-                  , GenericStatement "augroup! FerretPostQF"
-                  , GenericStatement "endif"
-                  , GenericStatement "finally"
-                  , LetStatement
-                      { letLexpr = "&l:makeprg" , letValue = "l:original_makeprg" }
-                  , LetStatement
-                      { letLexpr = "&l:errorformat"
-                      , letValue = "l:original_errorformat"
-                      }
-                  , GenericStatement "endtry"
-                  , GenericStatement "else"
-                  , GenericStatement "cexpr system(&grepprg . ' ' . l:command)"
-                  , GenericStatement "cwindow"
-                  , GenericStatement "call ferret#private#post('qf')"
-                  , GenericStatement "endif"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#lack"
-              , functionArguments = ArgumentList [ Argument "command" ]
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ LetStatement
-                      { letLexpr = "l:command" , letValue = "s:parse(a:command)" }
-                  , GenericStatement "call ferret#private#hlsearch()"
-                  , GenericStatement "if empty(&grepprg)"
-                  , GenericStatement "return"
-                  , GenericStatement "endif"
-                  , LexprStatement
-                      { lexprBang = False
-                      , lexprExpr = "system(&grepprg . ' ' . l:command)"
-                      }
-                  , LwindowStatement { lwindowHeight = Nothing }
-                  , GenericStatement "call ferret#private#post('location')"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#hlsearch"
-              , functionArguments = ArgumentList []
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ GenericStatement "if has('extra_search')"
-                  , Empty
-                  , LetStatement
-                      { letLexpr = "l:hlsearch"
-                      , letValue = "get(g:, 'FerretHlsearch', &hlsearch)"
-                      }
-                  , GenericStatement "if l:hlsearch"
-                  , LetStatement
-                      { letLexpr = "@/" , letValue = "g:ferret_lastsearch" }
-                  , GenericStatement
-                      "call feedkeys(\":let &hlsearch=1 | echo \\<CR>\", 'n')"
-                  , GenericStatement "endif"
-                  , GenericStatement "endif"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#acks"
-              , functionArguments = ArgumentList [ Argument "command" ]
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ GenericStatement
-                      "if match(a:command, '\\v^/.+/.*/$') == -1 \" crude sanity check"
-                  , GenericStatement
-                      "echoerr 'Ferret: Expected a substitution expression (/foo/bar/); got: ' . a:command"
-                  , GenericStatement "return"
-                  , GenericStatement "endif"
-                  , LetStatement
-                      { letLexpr = "l:filenames" , letValue = "ferret#private#qargs()" }
-                  , GenericStatement "if l:filenames ==# ''"
-                  , GenericStatement
-                      "echoerr 'Ferret: Quickfix filenames must be present, but there are none'"
-                  , GenericStatement "return"
-                  , GenericStatement "endif"
-                  , GenericStatement "execute 'args' l:filenames"
-                  , GenericStatement
-                      "if v:version > 703 || v:version == 703 && has('patch438')"
-                  , GenericStatement
-                      "silent doautocmd <nomodeline> User FerretWillWrite"
-                  , GenericStatement "else"
-                  , GenericStatement "silent doautocmd User FerretWillWrite"
-                  , GenericStatement "endif"
-                  , GenericStatement
-                      "execute 'argdo' '%s' . a:command . 'ge | update'"
-                  , GenericStatement
-                      "if v:version > 703 || v:version == 703 && has('patch438')"
-                  , GenericStatement
-                      "silent doautocmd <nomodeline> User FerretDidWrite"
-                  , GenericStatement "else"
-                  , GenericStatement "silent doautocmd User FerretDidWrite"
-                  , GenericStatement "endif"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#qargs"
-              , functionArguments = ArgumentList []
-              , functionAttributes = [ "abort" ]
-              , functionBody =
-                  [ LetStatement { letLexpr = "l:buffer_numbers" , letValue = "{}" }
-                  , GenericStatement "for l:item in getqflist()"
-                  , LetStatement
-                      { letLexpr = "l:buffer_numbers[l:item['bufnr']]"
-                      , letValue = "bufname(l:item['bufnr'])"
-                      }
-                  , GenericStatement "endfor"
-                  , GenericStatement
-                      "return join(map(values(l:buffer_numbers), 'fnameescape(v:val)'))"
-                  ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#qf_delete"
-              , functionArguments = ArgumentList []
-              , functionAttributes = [ "range" ]
-              , functionBody =
-                  [ GenericStatement "call s:delete(a:firstline, a:lastline)" ]
-              }
-          , FunctionDeclaration
-              { functionBang = True
-              , functionName = "ferret#private#qf_delete_motion"
-              , functionArguments =
-                  ArgumentList [ Argument "type" , Argument "..." ]
-              , functionAttributes = []
-              , functionBody =
-                  [ LetStatement
-                      { letLexpr = "l:selection" , letValue = "&selection" }
-                  , LetStatement
-                      { letLexpr = "&selection" , letValue = "'inclusive'" }
-                  , LetStatement
-                      { letLexpr = "l:firstline" , letValue = "line(\"'[\")" }
-                  , LetStatement
-                      { letLexpr = "l:lastline" , letValue = "line(\"']\")" }
-                  , GenericStatement "call s:delete(l:firstline, l:lastline)"
-                  , LetStatement
-                      { letLexpr = "&selection" , letValue = "l:selection" }
-                  ]
-              }
-          ]
-      ]
-  , OptionsAnnotation
-  , OptionAnnotation "g:FerretDispatch" "boolean" (Just "1")
-  , Paragraph
-      [ Plaintext "Controls"
-      , Whitespace
-      , Plaintext "whether"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "vim-dispatch"
-      , Whitespace
-      , Plaintext "(and"
-      , Whitespace
-      , Plaintext "specifically,"
-      , Whitespace
-      , Link ":Make"
-      , Plaintext ")"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "run"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "searches"
-      , Whitespace
-      , Plaintext "asynchronously,"
-      , Whitespace
-      , Plaintext "when"
-      , Whitespace
-      , Plaintext "available."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "prevent"
-      , Whitespace
-      , Plaintext "vim-dispatch"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "being"
-      , Whitespace
-      , Plaintext "used,"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "0:"
-      ]
-  , Fenced [ "let g:FerretDispatch=0" ]
-  , OptionAnnotation "g:FerretHlsearch" "boolean" Nothing
-  , Paragraph
-      [ Plaintext "Controls"
-      , Whitespace
-      , Plaintext "whether"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "should"
-      , Whitespace
-      , Plaintext "attempt"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "highlight"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "search"
-      , Whitespace
-      , Plaintext "pattern"
-      , Whitespace
-      , Plaintext "when"
-      , Whitespace
-      , Plaintext "running"
-      , Whitespace
-      , Link ":Ack"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Link ":Lack"
-      , Plaintext "."
-      , Whitespace
-      , Plaintext "If"
-      , Whitespace
-      , Plaintext "left"
-      , Whitespace
-      , Plaintext "unset,"
-      , Whitespace
-      , Plaintext "Ferret"
-      , Whitespace
-      , Plaintext "will"
-      , Whitespace
-      , Plaintext "respect"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "current"
-      , Whitespace
-      , Plaintext "'hlsearch'"
-      , Whitespace
-      , Plaintext "setting."
-      , Whitespace
-      , Plaintext "To"
-      , Whitespace
-      , Plaintext "force"
-      , Whitespace
-      , Plaintext "highlighting"
-      , Whitespace
-      , Plaintext "on"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "off"
-      , Whitespace
-      , Plaintext "irrespective"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "'hlsearch',"
-      , Whitespace
-      , Plaintext "set"
-      , Whitespace
-      , Link "g:FerretHlsearch"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "1"
-      , Whitespace
-      , Plaintext "(on)"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "0"
-      , Whitespace
-      , Plaintext "(off):"
-      ]
-  , Fenced [ "let g:FerretHlsearch=0" ]
-  ]
diff --git a/tests/fixtures/parser/integration-ferret-private.vim b/tests/fixtures/parser/integration-ferret-private.vim
deleted file mode 120000 (symlink)
index b19e38c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-private.vim
\ No newline at end of file
diff --git a/tests/fixtures/parser/integration-pinnacle.golden b/tests/fixtures/parser/integration-pinnacle.golden
deleted file mode 100644 (file)
index b2b66fa..0000000
+++ /dev/null
@@ -1,777 +0,0 @@
-Project
-  [ DocBlock
-      [ PluginAnnotation
-          "Pinnacle" "Highlight group manipulation for Vim"
-      , TOC
-          [ "Intro"
-          , "Installation"
-          , "Website"
-          , "License"
-          , "Development"
-          , "Authors"
-          , "History"
-          ]
-      ]
-  , HeadingAnnotation "Intro"
-  , Paragraph
-      [ Plaintext "Pinnacle"
-      , Whitespace
-      , Plaintext "provides"
-      , Whitespace
-      , Plaintext "functions"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "manipulating"
-      , Whitespace
-      , Link ":highlight"
-      , Whitespace
-      , Plaintext "groups."
-      ]
-  , HeadingAnnotation "Installation"
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "install"
-      , Whitespace
-      , Plaintext "Pinnacle,"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Plaintext "plug-in"
-      , Whitespace
-      , Plaintext "management"
-      , Whitespace
-      , Plaintext "system"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "choice."
-      ]
-  , Paragraph
-      [ Plaintext "If"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "don't"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "\"plug-in"
-      , Whitespace
-      , Plaintext "management"
-      , Whitespace
-      , Plaintext "system"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "choice\","
-      , Whitespace
-      , Plaintext "I"
-      , Whitespace
-      , Plaintext "recommend"
-      , Whitespace
-      , Plaintext "Pathogen"
-      , Whitespace
-      , Plaintext "(https://github.com/tpope/vim-pathogen)"
-      , Whitespace
-      , Plaintext "due"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "its"
-      , Whitespace
-      , Plaintext "simplicity"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "robustness."
-      , Whitespace
-      , Plaintext "Assuming"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "have"
-      , Whitespace
-      , Plaintext "Pathogen"
-      , Whitespace
-      , Plaintext "installed"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "configured,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "that"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "want"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "install"
-      , Whitespace
-      , Plaintext "vim-docvim"
-      , Whitespace
-      , Plaintext "into"
-      , Whitespace
-      , Code "~/.vim/bundle"
-      , Plaintext ","
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "with:"
-      ]
-  , Fenced
-      [ "git clone https://github.com/wincent/pinnacle.git ~/.vim/bundle/pinnacle"
-      ]
-  , Paragraph
-      [ Plaintext "Alternatively,"
-      , Whitespace
-      , Plaintext "if"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "use"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "Git"
-      , Whitespace
-      , Plaintext "submodule"
-      , Whitespace
-      , Plaintext "for"
-      , Whitespace
-      , Plaintext "each"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "plug-in,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "could"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "after"
-      , Whitespace
-      , Code "cd"
-      , Plaintext "-ing"
-      , Whitespace
-      , Plaintext "into"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "top-level"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "your"
-      , Whitespace
-      , Plaintext "Git"
-      , Whitespace
-      , Plaintext "superproject:"
-      ]
-  , Fenced
-      [ "git submodule add https://github.com/wincent/pinnacle.git ~/vim/bundle/pinnacle"
-      , "git submodule init"
-      ]
-  , Paragraph
-      [ Plaintext "To"
-      , Whitespace
-      , Plaintext "generate"
-      , Whitespace
-      , Plaintext "help"
-      , Whitespace
-      , Plaintext "tags"
-      , Whitespace
-      , Plaintext "under"
-      , Whitespace
-      , Plaintext "Pathogen,"
-      , Whitespace
-      , Plaintext "you"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so"
-      , Whitespace
-      , Plaintext "from"
-      , Whitespace
-      , Plaintext "inside"
-      , Whitespace
-      , Plaintext "Vim"
-      , Whitespace
-      , Plaintext "with:"
-      ]
-  , Fenced [ ":call pathogen#helptags()" ]
-  , HeadingAnnotation "Website"
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "official"
-      , Whitespace
-      , Plaintext "Pinnacle"
-      , Whitespace
-      , Plaintext "source"
-      , Whitespace
-      , Plaintext "code"
-      , Whitespace
-      , Plaintext "repo"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph [ Plaintext "http://git.wincent.com/pinnacle.git" ]
-  , Paragraph
-      [ Plaintext "Mirrors"
-      , Whitespace
-      , Plaintext "exist"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , List
-      [ ListItem [ Plaintext "https://github.com/wincent/pinnacle" ]
-      , ListItem [ Plaintext "https://gitlab.com/wincent/pinnacle" ]
-      , ListItem [ Plaintext "https://bitbucket.org/ghurrell/pinnacle" ]
-      ]
-  , Paragraph
-      [ Plaintext "Official"
-      , Whitespace
-      , Plaintext "releases"
-      , Whitespace
-      , Plaintext "are"
-      , Whitespace
-      , Plaintext "listed"
-      , Whitespace
-      , Plaintext "at:"
-      ]
-  , Paragraph
-      [ Plaintext
-          "http://www.vim.org/scripts/script.php?script_id=[TODO]"
-      ]
-  , HeadingAnnotation "License"
-  , Paragraph
-      [ Plaintext "Copyright"
-      , Whitespace
-      , Plaintext "(c)"
-      , Whitespace
-      , Plaintext "2016-present"
-      , Whitespace
-      , Plaintext "Greg"
-      , Whitespace
-      , Plaintext "Hurrell"
-      ]
-  , Paragraph
-      [ Plaintext "Permission"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "hereby"
-      , Whitespace
-      , Plaintext "granted,"
-      , Whitespace
-      , Plaintext "free"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "charge,"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "any"
-      , Whitespace
-      , Plaintext "person"
-      , Whitespace
-      , Plaintext "obtaining"
-      , Whitespace
-      , Plaintext "a"
-      , Whitespace
-      , Plaintext "copy"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "software"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "associated"
-      , Whitespace
-      , Plaintext "documentation"
-      , Whitespace
-      , Plaintext "files"
-      , Whitespace
-      , Plaintext "(the"
-      , Whitespace
-      , Plaintext "\"Software\"),"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "deal"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "restriction,"
-      , Whitespace
-      , Plaintext "including"
-      , Whitespace
-      , Plaintext "without"
-      , Whitespace
-      , Plaintext "limitation"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "rights"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "use,"
-      , Whitespace
-      , Plaintext "copy,"
-      , Whitespace
-      , Plaintext "modify,"
-      , Whitespace
-      , Plaintext "merge,"
-      , Whitespace
-      , Plaintext "publish,"
-      , Whitespace
-      , Plaintext "distribute,"
-      , Whitespace
-      , Plaintext "sublicense,"
-      , Whitespace
-      , Plaintext "and/or"
-      , Whitespace
-      , Plaintext "sell"
-      , Whitespace
-      , Plaintext "copies"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software,"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "permit"
-      , Whitespace
-      , Plaintext "persons"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "whom"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "furnished"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "do"
-      , Whitespace
-      , Plaintext "so,"
-      , Whitespace
-      , Plaintext "subject"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "following"
-      , Whitespace
-      , Plaintext "conditions:"
-      ]
-  , Paragraph
-      [ Plaintext "The"
-      , Whitespace
-      , Plaintext "above"
-      , Whitespace
-      , Plaintext "copyright"
-      , Whitespace
-      , Plaintext "notice"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "this"
-      , Whitespace
-      , Plaintext "permission"
-      , Whitespace
-      , Plaintext "notice"
-      , Whitespace
-      , Plaintext "shall"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "included"
-      , Whitespace
-      , Plaintext "in"
-      , Whitespace
-      , Plaintext "all"
-      , Whitespace
-      , Plaintext "copies"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "substantial"
-      , Whitespace
-      , Plaintext "portions"
-      , Whitespace
-      , Plaintext "of"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "Software."
-      ]
-  , Paragraph
-      [ Plaintext "THE"
-      , Whitespace
-      , Plaintext "SOFTWARE"
-      , Whitespace
-      , Plaintext "IS"
-      , Whitespace
-      , Plaintext "PROVIDED"
-      , Whitespace
-      , Plaintext "\"AS"
-      , Whitespace
-      , Plaintext "IS\","
-      , Whitespace
-      , Plaintext "WITHOUT"
-      , Whitespace
-      , Plaintext "WARRANTY"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "KIND,"
-      , Whitespace
-      , Plaintext "EXPRESS"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "IMPLIED,"
-      , Whitespace
-      , Plaintext "INCLUDING"
-      , Whitespace
-      , Plaintext "BUT"
-      , Whitespace
-      , Plaintext "NOT"
-      , Whitespace
-      , Plaintext "LIMITED"
-      , Whitespace
-      , Plaintext "TO"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "WARRANTIES"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "MERCHANTABILITY,"
-      , Whitespace
-      , Plaintext "FITNESS"
-      , Whitespace
-      , Plaintext "FOR"
-      , Whitespace
-      , Plaintext "A"
-      , Whitespace
-      , Plaintext "PARTICULAR"
-      , Whitespace
-      , Plaintext "PURPOSE"
-      , Whitespace
-      , Plaintext "AND"
-      , Whitespace
-      , Plaintext "NONINFRINGEMENT."
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "NO"
-      , Whitespace
-      , Plaintext "EVENT"
-      , Whitespace
-      , Plaintext "SHALL"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "AUTHORS"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "COPYRIGHT"
-      , Whitespace
-      , Plaintext "HOLDERS"
-      , Whitespace
-      , Plaintext "BE"
-      , Whitespace
-      , Plaintext "LIABLE"
-      , Whitespace
-      , Plaintext "FOR"
-      , Whitespace
-      , Plaintext "ANY"
-      , Whitespace
-      , Plaintext "CLAIM,"
-      , Whitespace
-      , Plaintext "DAMAGES"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "OTHER"
-      , Whitespace
-      , Plaintext "LIABILITY,"
-      , Whitespace
-      , Plaintext "WHETHER"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "AN"
-      , Whitespace
-      , Plaintext "ACTION"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "CONTRACT,"
-      , Whitespace
-      , Plaintext "TORT"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "OTHERWISE,"
-      , Whitespace
-      , Plaintext "ARISING"
-      , Whitespace
-      , Plaintext "FROM,"
-      , Whitespace
-      , Plaintext "OUT"
-      , Whitespace
-      , Plaintext "OF"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "CONNECTION"
-      , Whitespace
-      , Plaintext "WITH"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "SOFTWARE"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "USE"
-      , Whitespace
-      , Plaintext "OR"
-      , Whitespace
-      , Plaintext "OTHER"
-      , Whitespace
-      , Plaintext "DEALINGS"
-      , Whitespace
-      , Plaintext "IN"
-      , Whitespace
-      , Plaintext "THE"
-      , Whitespace
-      , Plaintext "SOFTWARE."
-      ]
-  , HeadingAnnotation "Development"
-  , SubheadingAnnotation "Contributing patches"
-  , Paragraph
-      [ Plaintext "Patches"
-      , Whitespace
-      , Plaintext "can"
-      , Whitespace
-      , Plaintext "be"
-      , Whitespace
-      , Plaintext "sent"
-      , Whitespace
-      , Plaintext "via"
-      , Whitespace
-      , Plaintext "mail"
-      , Whitespace
-      , Plaintext "to"
-      , Whitespace
-      , Plaintext "greg@hurrell.net,"
-      , Whitespace
-      , Plaintext "or"
-      , Whitespace
-      , Plaintext "as"
-      , Whitespace
-      , Plaintext "GitHub"
-      , Whitespace
-      , Plaintext "pull"
-      , Whitespace
-      , Plaintext "requests"
-      , Whitespace
-      , Plaintext "at:"
-      , Whitespace
-      , Plaintext "https://github.com/wincent/pinnacle/pulls"
-      ]
-  , SubheadingAnnotation "Cutting a new release"
-  , Paragraph
-      [ Plaintext "At"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "moment"
-      , Whitespace
-      , Plaintext "the"
-      , Whitespace
-      , Plaintext "release"
-      , Whitespace
-      , Plaintext "process"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "manual:"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Perform"
-          , Whitespace
-          , Plaintext "final"
-          , Whitespace
-          , Plaintext "sanity"
-          , Whitespace
-          , Plaintext "checks"
-          , Whitespace
-          , Plaintext "and"
-          , Whitespace
-          , Plaintext "manual"
-          , Whitespace
-          , Plaintext "testing"
-          ]
-      , ListItem
-          [ Plaintext "Update"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Link "pinnacle-history"
-          , Whitespace
-          , Plaintext "section"
-          , Whitespace
-          , Plaintext "of"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "documentation"
-          ]
-      , ListItem
-          [ Plaintext "Verify"
-          , Whitespace
-          , Plaintext "clean"
-          , Whitespace
-          , Plaintext "work"
-          , Whitespace
-          , Plaintext "tree:"
-          ]
-      ]
-  , Fenced [ "git status" ]
-  , List
-      [ ListItem
-          [ Plaintext "Tag"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "release:"
-          ]
-      ]
-  , Fenced [ "git tag -s -m \"$VERSION release\" $VERSION" ]
-  , List
-      [ ListItem
-          [ Plaintext "Publish"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "code:"
-          ]
-      ]
-  , Fenced
-      [ "git push origin master --follow-tags"
-      , "git push github master --follow-tags"
-      ]
-  , List
-      [ ListItem
-          [ Plaintext "Produce"
-          , Whitespace
-          , Plaintext "the"
-          , Whitespace
-          , Plaintext "release"
-          , Whitespace
-          , Plaintext "archive:"
-          ]
-      ]
-  , Fenced [ "git archive -o vim-docvim-$VERSION.zip HEAD -- ." ]
-  , List
-      [ ListItem
-          [ Plaintext "Upload"
-          , Whitespace
-          , Plaintext "to"
-          , Whitespace
-          , Plaintext
-              "http://www.vim.org/scripts/script.php?script_id=[TODO]"
-          ]
-      ]
-  , HeadingAnnotation "Authors"
-  , Paragraph
-      [ Plaintext "Pinnacle"
-      , Whitespace
-      , Plaintext "is"
-      , Whitespace
-      , Plaintext "written"
-      , Whitespace
-      , Plaintext "and"
-      , Whitespace
-      , Plaintext "maintained"
-      , Whitespace
-      , Plaintext "by"
-      , Whitespace
-      , Plaintext "Greg"
-      , Whitespace
-      , Plaintext "Hurrell"
-      , Whitespace
-      , Plaintext "<greg@hurrell.net>."
-      ]
-  , HeadingAnnotation "History"
-  , SubheadingAnnotation "0.1 (30 March 2016)"
-  , List
-      [ ListItem
-          [ Plaintext "Initial" , Whitespace , Plaintext "release." ]
-      ]
-  ]
diff --git a/tests/fixtures/parser/integration-pinnacle.vim b/tests/fixtures/parser/integration-pinnacle.vim
deleted file mode 120000 (symlink)
index e209dd2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-pinnacle.vim
\ No newline at end of file
diff --git a/tests/fixtures/shared/integration-docvim.vim b/tests/fixtures/shared/integration-docvim.vim
deleted file mode 100644 (file)
index e4d6511..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-""
-" @plugin docvim Syntax highlighting for docvim comments
-"
-"                                                                    *vim-docvim*
-" # Intro
-"
-" vim-docvim provides additional syntax highlighting for Vim script files that
-" contain embedded docvim comments.
-"
-" docvim (the tool, not this plug-in) is a documentation generator that
-" processes those embedded comments and produces documentation in Markdown and
-" Vim "help" formats. To avoid confusion, this document refers to the Vim
-" plug-in as "vim-docvim" and the separate generation tool as "docvim".
-"
-"
-" # Installation
-"
-" To install vim-docvim, use your plug-in management system of choice.
-"
-" If you don't have a "plug-in management system of choice", I recommend
-" Pathogen (https://github.com/tpope/vim-pathogen) due to its simplicity and
-" robustness. Assuming that you have Pathogen installed and configured, and that
-" you want to install vim-docvim into `~/.vim/bundle`, you can do so with:
-"
-" ```
-" git clone https://github.com/wincent/vim-docvim.git ~/.vim/bundle/vim-docvim
-" ```
-"
-" Alternatively, if you use a Git submodule for each Vim plug-in, you could do
-" the following after `cd`-ing into the top-level of your Git superproject:
-"
-" ```
-" git submodule add https://github.com/wincent/vim-docvim.git ~/vim/bundle/vim-docvim
-" git submodule init
-" ```
-"
-" To generate help tags under Pathogen, you can do so from inside Vim with:
-"
-" ```
-" :call pathogen#helptags()
-" ```
-"
-"
-" # Related
-"
-" The docvim tool itself is a Haskell module, available at:
-"
-"   http://hackage.haskell.org/package/docvim
-"
-" The official source code repo is at:
-"
-"   http://git.wincent.com/docvim.git
-"
-" Mirrors exist at:
-"
-"   - https://github.com/wincent/docvim
-"   - https://gitlab.com/wincent/docvim
-"   - https://bitbucket.org/ghurrell/docvim
-"
-"
-" # Website
-"
-" The official vim-docvim source code repo is at:
-"
-"   http://git.wincent.com/vim-docvim.git
-"
-" A mirror exists at:
-"
-"   https://github.com/wincent/vim-docvim
-"
-" Official releases are listed at:
-"
-"   http://www.vim.org/scripts/script.php?script_id=[TODO]
-"
-"
-" # License
-"
-" Copyright (c) 2015-present Greg Hurrell
-"
-" Permission is hereby granted, free of charge, to any person obtaining
-" a copy of this software and associated documentation files (the
-" "Software"), to deal in the Software without restriction, including
-" without limitation the rights to use, copy, modify, merge, publish,
-" distribute, sublicense, and/or sell copies of the Software, and to
-" permit persons to whom the Software is furnished to do so, subject to
-" the following conditions:
-"
-" The above copyright notice and this permission notice shall be
-" included in all copies or substantial portions of the Software.
-"
-" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-"
-"
-" # Development
-"
-" ## Contributing patches
-"
-" Patches can be sent via mail to greg@hurrell.net, or as GitHub pull requests
-" at: https://github.com/wincent/vim-docvim/pulls
-"
-" ## Cutting a new release
-"
-" At the moment the release process is manual:
-"
-" - Perform final sanity checks and manual testing
-" - Update the |docvim-history| section of the documentation
-" - Verify clean work tree:
-"
-" ```
-" git status
-" ```
-"
-" - Tag the release:
-"
-" ```
-" git tag -s -m "$VERSION release" $VERSION
-" ```
-"
-" - Publish the code:
-"
-" ```
-" git push origin master --follow-tags
-" git push github master --follow-tags
-" ```
-"
-" - Produce the release archive:
-"
-" ```
-" git archive -o vim-docvim-$VERSION.zip HEAD -- .
-" ```
-"
-" - Upload to http://www.vim.org/scripts/script.php?script_id=[TODO]
-"
-"
-" # Authors
-"
-" vim-docvim is written and maintained by Greg Hurrell <greg@hurrell.net>.
-"
-"
-" # History
-"
-" 0.1 (not yet released)
-"
-" - Initial release.
diff --git a/tests/fixtures/shared/integration-ferret-ftplugin-qf.vim b/tests/fixtures/shared/integration-ferret-ftplugin-qf.vim
deleted file mode 100644 (file)
index 2d277d9..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-" Copyright 2015-present Greg Hurrell. All rights reserved.
-" Licensed under the terms of the BSD 2-clause license.
-
-""
-" @option g:FerretQFOptions boolean 1
-"
-" Controls whether to set up setting overrides for |quickfix| windows. These are
-" various settings, such as |norelativenumber|, |nolist| and |nowrap|, that are
-" intended to make the |quickfix| window, which is typically very small relative
-" to other windows, more usable.
-"
-" A full list of overridden settings can be found in |ferret-overrides|.
-"
-" To prevent the custom settings from being applied, set |g:FerretQFOptions|
-" to 0:
-"
-" ```
-" let g:FerretQFOptions=0
-" ```
-let s:options=get(g:, 'FerretQFOptions', 1)
-if s:options
-  setlocal nolist
-  if exists('+relativenumber')
-    setlocal norelativenumber
-  endif
-  setlocal nowrap
-  setlocal number
-
-  " Want to set scrolloff only for the qf window, but it is a global option.
-  let s:original_scrolloff=&scrolloff
-  set scrolloff=0
-
-  if has('autocmd')
-    augroup FerretQF
-      autocmd!
-      autocmd BufLeave <buffer> execute 'set scrolloff=' . s:original_scrolloff
-      autocmd BufEnter <buffer> set scrolloff=0 | setlocal nocursorline
-    augroup END
-  endif
-endif
-
-""
-" @option g:FerretQFMap boolean 1
-"
-" Controls whether to set up mappings in the |quickfix| results window for
-" deleting results. The mappings include:
-"
-" - `d` (|visual-mode|): delete visual selection
-" - `dd` (|Normal-mode|): delete current line
-" - `d`{motion} (|Normal-mode|): delete range indicated by {motion}
-"
-" To prevent these mappings from being set up, set to 0:
-"
-" ```
-" let g:FerretQFMap=0
-" ```
-let s:map=get(g:, 'FerretQFMap', 1)
-if s:map
-  " Make it easy to remove entries from the quickfix listing.
-  " TODO: distinguish between quickfix and location list
-  nnoremap <buffer> <silent> d :set operatorfunc=ferret#private#qf_delete_motion<CR>g@
-  nnoremap <buffer> <silent> dd :call ferret#private#qf_delete()<CR>
-  vnoremap <buffer> <silent> d :call ferret#private#qf_delete()<CR>
-endif
diff --git a/tests/fixtures/shared/integration-ferret-plugin.vim b/tests/fixtures/shared/integration-ferret-plugin.vim
deleted file mode 100644 (file)
index b4c6f1c..0000000
+++ /dev/null
@@ -1,601 +0,0 @@
-" Copyright 2015-present Greg Hurrell. All rights reserved.
-" Licensed under the terms of the BSD 2-clause license.
-
-""
-" @plugin ferret Ferret plug-in for Vim
-"
-" # Intro
-"
-" > "ferret (verb)<br />
-" > (ferret something out) search tenaciously for and find something: she had
-" > the ability to ferret out the facts."
-"
-"                                                               *ferret-features*
-" Ferret improves Vim's multi-file search in four ways:
-"
-" ## 1. Powerful multi-file search
-"
-" Ferret provides an |:Ack| command for searching across multiple files using
-" The Silver Searcher (https://github.com/ggreer/the_silver_searcher), Ack
-" (http://beyondgrep.com/), or Grep (http://www.gnu.org/software/grep/). Support
-" for passing options through to the underlying search command exists, along
-" with the ability to use full regular expression syntax without doing special
-" escaping.
-"
-" Shortcut mappings are provided to start an |:Ack| search (<leader>a) or to
-" search for the word currently under the cursor (<leader>s).
-"
-" Results are normally displayed in the |quickfix| window, but Ferret also
-" provides a |:Lack| command that behaves like |:Ack| but uses the
-" |location-list| instead, and a <leader>l mapping as a shortcut to |:Lack|.
-"
-" Finally, Ferret offers integration with dispatch.vim
-" (https://github.com/tpope/vim-dispatch), which enables asynchronous searching
-" despite the fact that Vim itself is single-threaded.
-"
-" ## 2. Streamlined multi-file replace
-"
-" The companion to |:Ack| is |:Acks| (mnemonic: "Ack substitute", accessible via
-" shortcut <leader>r), which allows you to run a multi-file replace across all
-" the files placed in the |quickfix| window by a previous invocation of |:Ack|.
-"
-" ## 3. Quickfix listing enhancements
-"
-" The |quickfix| listing itself is enhanced with settings to improve its
-" usability, and natural mappings that allow quick removal of items from the
-" list (for example, you can reduce clutter in the listing by removing lines
-" that you don't intend to make changes to).
-"
-" Additionally, Vim's |:cn|, |:cp|, |:cnf| and |:cpf| commands are tweaked to
-" make it easier to immediately identify matches by centering them within the
-" viewport.
-"
-" ## 4. Easy operations on files in the quickfix listing
-"
-" Finally, Ferret provides a |:Qargs| command that puts the files currently in
-" the |quickfix| listing into the |:args| list, where they can be operated on in
-" bulk via the |:argdo| command. This is what's used under the covers by |:Acks|
-" to do its work.
-"
-"
-" # Installation
-"
-" To install Ferret, use your plug-in management system of choice.
-"
-" If you don't have a "plug-in management system of choice", I recommend
-" Pathogen (https://github.com/tpope/vim-pathogen) due to its simplicity and
-" robustness. Assuming that you have Pathogen installed and configured, and that
-" you want to install Ferret into `~/.vim/bundle`, you can do so with:
-"
-" ```
-" git clone https://github.com/wincent/ferret.git ~/.vim/bundle/ferret
-" ```
-"
-" Alternatively, if you use a Git submodule for each Vim plug-in, you could do
-" the following after `cd`-ing into the top-level of your Git superproject:
-"
-" ```
-" git submodule add https://github.com/wincent/ferret.git ~/vim/bundle/ferret
-" git submodule init
-" ```
-"
-" To generate help tags under Pathogen, you can do so from inside Vim with:
-"
-" ```
-" :call pathogen#helptags()
-" ```
-"
-" @mappings
-"
-" ## Circumstances where mappings do not get set up
-"
-" Note that Ferret will not try to set up the <leader> mappings if any of the
-" following are true:
-"
-" - A mapping for already exists.
-" - An alternative mapping for the same functionality has already been set up
-"   from a |.vimrc|.
-" - The mapping has been suppressed by setting |g:FerretMap| to 1 in your
-"   |.vimrc|.
-"
-" ## Mappings specific to the quickfix window
-"
-" Additionally, Ferret will set up special mappings in |quickfix| listings,
-" unless prevented from doing so by |g:FerretQFMap|:
-"
-" - `d` (|visual-mode|): delete visual selection
-" - `dd` (|Normal-mode|): delete current line
-" - `d`{motion} (|Normal-mode|): delete range indicated by {motion}
-"
-"
-" @footer
-"
-" # Custom autocommands
-"
-"                                                *FerretWillWrite* *FerretDidWrite*
-" For maximum compatibility with other plug-ins, Ferret runs the following
-" "User" autocommands before and after running the file writing operations
-" during |:Acks|:
-"
-" - FerretWillWrite
-" - FerretDidWrite
-"
-" For example, to call a pair of custom functions in response to these events,
-" you might do:
-"
-" ```
-" autocmd! User FerretWillWrite
-" autocmd User FerretWillWrite call CustomWillWrite()
-" autocmd! User FerretDidWrite
-" autocmd User FerretDidWrite call CustomDidWrite()
-" ```
-"
-"
-" # Overrides
-"
-" Ferret overrides the 'grepformat' and 'grepprg' settings, preferentially
-" setting `ag`, `ack` or `grep` as the 'grepprg' (in that order) and configuring
-" a suitable 'grepformat'.
-"
-" Additionally, Ferret includes an |ftplugin| for the |quickfix| listing that
-" adjusts a number of settings to improve the usability of search results.
-"
-" @indent
-"                                                                 *ferret-nolist*
-"   'nolist'
-"
-"   Turned off to reduce visual clutter in the search results, and because
-"   'list' is most useful in files that are being actively edited, which is not
-"   the case for |quickfix| results.
-"
-"                                                       *ferret-norelativenumber*
-"   'norelativenumber'
-"
-"   Turned off, because it is more useful to have a sense of absolute progress
-"   through the results list than to have the ability to jump to nearby results
-"   (especially seeing as the most common operations are moving to the next or
-"   previous file, which are both handled nicely by |:cnf| and |:cpf|
-"   respectively).
-"
-"                                                                 *ferret-nowrap*
-"   'nowrap'
-"
-"   Turned off to avoid ugly wrapping that makes the results list hard to read,
-"   and because in search results, the most relevant information is the
-"   filename, which is on the left and is usually visible even without wrapping.
-"
-"                                                                 *ferret-number*
-"   'number'
-"
-"   Turned on to give a sense of absolute progress through the results.
-"
-"                                                              *ferret-scrolloff*
-"   'scrolloff'
-"
-"   Set to 0 because the |quickfix| listing is usually small by default, so
-"   trying to keep the current line away from the edge of the viewpoint is
-"   futile; by definition it is usually near the edge.
-"
-"                                                           *ferret-nocursorline*
-"   'nocursorline'
-"
-"   Turned off to reduce visual clutter.
-"
-" @dedent
-"
-" To prevent any of these |quickfix|-specific overrides from being set up, you
-" can set |g:FerretQFOptions| to 0 in your |.vimrc|:
-"
-" ```
-" let g:FerretQFOptions=0
-" ```
-"
-"
-" # Troubleshooting
-"
-"                                                                 *ferret-quotes*
-" ## Ferret fails to find patterns containing spaces
-"
-" As described in the documentation for |:Ack|, the search pattern is passed
-" through as-is to the underlying search command, and no escaping is required
-" other than preceding spaces by a single backslash.
-"
-" So, to find "foo bar", you would search like:
-"
-" ```
-" :Ack foo\ bar
-" ```
-"
-" Unescaped spaces in the search are treated as argument separators, so a
-" command like the following means pass the `-w` option through, search for
-" pattern "foo", and limit search to the "bar" directory:
-"
-" ```
-" :Ack -w foo bar
-" ```
-"
-" Note that including quotes will not do what you intend.
-"
-" ```
-" " Search for '"foo' in the 'bar"' directory:
-" :Ack "foo bar"
-"
-" " Search for "'foo' in the "bar'" directory:
-" :Ack 'foo bar'
-" ```
-"
-" This approach to escaping is taken in order to make it straightfoward to use
-" powerful Perl-compatible regular expression syntax in an unambiguous way
-" without having to worry about shell escaping rules:
-"
-" ```
-" :Ack \blog\((['"]).*?\1\) -i --ignore-dir=src/vendor src dist build
-" ```
-"
-"
-" # FAQ
-"
-" ## Why do Ferret commands start with "Ack", "Lack" and so on?
-"
-" Ferret was originally the thinnest of wrappers (7 lines of code in my
-" |.vimrc|) around `ack`. The earliest traces of it can be seen in the initial
-" commit to my dotfiles repo in May, 2009 (https://wt.pe/h).
-"
-" So, even though Ferret has a new name now and actually prefers `ag` over `ack`
-" when available, I prefer to keep the command names intact and benefit from
-" years of accumulated muscle-memory.
-"
-"
-"
-" # Related
-"
-" Just as Ferret aims to improve the multi-file search and replace experience,
-" Loupe does the same for within-file searching:
-"
-"   https://github.com/wincent/loupe
-"
-"
-" # Website
-"
-" The official Ferret source code repo is at:
-"
-"   http://git.wincent.com/ferret.git
-"
-" A mirror exists at:
-"
-"   https://github.com/wincent/ferret
-"
-" Official releases are listed at:
-"
-"   http://www.vim.org/scripts/script.php?script_id=5220
-"
-"
-" # License
-"
-" Copyright 2015-present Greg Hurrell. All rights reserved.
-"
-" Redistribution and use in source and binary forms, with or without
-" modification, are permitted provided that the following conditions are met:
-"
-" 1. Redistributions of source code must retain the above copyright notice,
-"    this list of conditions and the following disclaimer.
-" 2. Redistributions in binary form must reproduce the above copyright notice,
-"    this list of conditions and the following disclaimer in the documentation
-"    and/or other materials provided with the distribution.
-"
-" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
-" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-" POSSIBILITY OF SUCH DAMAGE.
-"
-"
-" # Development
-"
-" ## Contributing patches
-"
-" Patches can be sent via mail to greg@hurrell.net, or as GitHub pull requests
-" at: https://github.com/wincent/ferret/pulls
-"
-" ## Cutting a new release
-"
-" At the moment the release process is manual:
-"
-" - Perform final sanity checks and manual testing
-" - Update the |ferret-history| section of the documentation
-" - Verify clean work tree:
-"
-" ```
-" git status
-" ```
-"
-" - Tag the release:
-"
-" ```
-" git tag -s -m "$VERSION release" $VERSION
-" ```
-"
-" - Publish the code:
-"
-" ```
-" git push origin master --follow-tags
-" git push github master --follow-tags
-" ```
-"
-" - Produce the release archive:
-"
-" ```
-" git archive -o ferret-$VERSION.zip HEAD -- .
-" ```
-"
-" - Upload to http://www.vim.org/scripts/script.php?script_id=5220
-"
-"
-" # Authors
-"
-" Ferret is written and maintained by Greg Hurrell <greg@hurrell.net>.
-"
-" The idea for vim-dispatch integration was taken from Miles Sterrett's ack.vim
-" plug-in (https://github.com/mileszs/ack.vim).
-"
-" Other contributors that have submitted patches include (in alphabetical
-" order):
-"
-" - Daniel Silva
-" - Joe Lencioni
-" - Nelo-Thara Wallus
-" - Vaibhav Sagar
-"
-"
-" # History
-"
-" 0.3.1 (not yet released)
-"
-" - Fix broken |:Qargs| command (patch from Daniel Silva).
-"
-" 0.3 (24 July 2015)
-"
-" - Added highlighting of search pattern and related |g:FerretHlsearch| option
-"   (patch from Nelo-Thara Wallus).
-" - Add better error reporting for failed or incorrect searches.
-"
-" 0.2 (16 July 2015)
-"
-" - Added |FerretDidWrite| and |FerretWillWrite| autocommands (patch from Joe
-"   Lencioni).
-" - Add |<Plug>(FerretAcks)| mapping (patch from Nelo-Thara Wallus).
-"
-" 0.1 (8 July 2015)
-"
-" - Initial release, extracted from my dotfiles
-"   (https://github.com/wincent/wincent).
-
-""
-" @option g:FerretLoaded any
-"
-" To prevent Ferret from being loaded, set |g:FerretLoaded| to any value in your
-" |.vimrc|. For example:
-"
-" ```
-" let g:FerretLoaded=1
-" ```
-if exists('g:FerretLoaded') || &compatible || v:version < 700
-  finish
-endif
-let g:FerretLoaded = 1
-
-" Temporarily set 'cpoptions' to Vim default as per `:h use-cpo-save`.
-let s:cpoptions = &cpoptions
-set cpoptions&vim
-
-if executable('ag') " The Silver Searcher: faster than ack.
-  let s:ackprg = 'ag --column --nocolor --nogroup'
-elseif executable('ack') " Ack: better than grep.
-  let s:ackprg = 'ack --column'
-elseif executable('grep') " Grep: it's just grep.
-  let s:ackprg = &grepprg " default is: grep -n $* /dev/null
-endif
-
-if !empty(s:ackprg)
-  let &grepprg=s:ackprg
-  set grepformat=%f:%l:%c:%m
-endif
-
-if has('autocmd')
-  augroup Ferret
-    autocmd!
-    autocmd QuickFixCmdPost [^l]* nested cwindow
-    autocmd QuickFixCmdPost l* nested lwindow
-  augroup END
-endif
-
-""
-" @command :Ack {pattern} {options}
-"
-" Searches for {pattern} in all the files under the current directory (see
-" |:pwd|), unless otherwise overridden via {options}, and displays the results
-" in the |quickfix| listing.
-"
-" `ag` (The Silver Searcher) will be used preferentially if present on the
-" system, because it is faster, falling back to `ack` and then `grep` as needed.
-"
-" If dispatch.vim is installed the search process will run asynchronously via
-" the |:Make| command, otherwise it will be run synchronously via |:cexpr|.
-" Asynchronous searches are preferred because they do not block, despite the
-" fact that Vim itself is single threaded. The |g:FerretDispatch| option can be
-" used to prevent the use of dispatch.vim.
-"
-" The {pattern} is passed through as-is to the underlying search program, and no
-" escaping is required other than preceding spaces by a single backslash. For
-" example, to search for "\bfoo[0-9]{2} bar\b" (ie. using `ag`'s Perl-style
-" regular expression syntax), you could do:
-"
-" ```
-" :Ack \bfoo[0-9]{2}\ bar\b
-" ```
-"
-" Likewise, {options} are passed through. In this example, we pass the `-w`
-" option (to search on word boundaries), and scope the search to the "foo" and
-" "bar" subdirectories: >
-"
-" ```
-" :Ack -w something foo bar
-" ```
-"
-" As a convenience <leader>a is set-up (|<Plug>(FerretAck)|) as a shortcut to
-" enter |Cmdline-mode| with `:Ack` inserted on the |Cmdline|. Likewise <leader>s
-" (|<Plug>(FerretAckWord)|) is a shortcut for running |:Ack| with the word
-" currently under the cursor.
-command! -nargs=+ -complete=file Ack call ferret#private#ack(<q-args>)
-
-""
-" @command :Lack {pattern} {options}
-"
-" Just like |:Ack|, but instead of using the |quickfix| listing, which is global
-" across an entire Vim instance, it uses the |location-list|, which is a
-" per-window construct.
-"
-" Note that |:Lack| always runs synchronously via |:cexpr|, because dispatch.vim
-" doesn't currently support the |location-list|.
-command! -nargs=+ -complete=file Lack call ferret#private#lack(<q-args>)
-
-""
-" @command :Acks /{pattern}/{replacement}/
-"
-" Takes all of the files currently in the |quickfix| listing and performs a
-" substitution of all instances of {pattern} (a standard Vim search |pattern|)
-" by {replacement}.
-"
-" A typical sequence consists of an |:Ack| invocation to populate the |quickfix|
-" listing and then |:Acks| (mnemonic: "Ack substitute") to perform replacements.
-" For example, to replace "foo" with "bar" across all files in the current
-" directory:
-"
-" ```
-" :Ack foo
-" :Acks /foo/bar/
-" ```
-command! -nargs=1 Acks call ferret#private#acks(<q-args>)
-
-""
-" @option g:FerretMap boolean 1
-"
-" Controls whether to set up the Ferret mappings, such as |<Plug>(FerretAck)|
-" (see |ferret-mappings| for a full list). To prevent any mapping from being
-" configured, set to 0:
-"
-" ```
-" let g:FerretMap=0
-" ```
-let s:map=get(g:, 'FerretMap', 1)
-if s:map
-  if !hasmapto('<Plug>(FerretAck)') && maparg('<leader>a', 'n') ==# ''
-    ""
-    " @mapping <Plug>(FerretAck)
-    "
-    " Ferret maps <leader>a to |<Plug>(FerretAck)|, which triggers the |:Ack|
-    " command. To use an alternative mapping instead, create a different one in
-    " your |.vimrc| instead using |:nmap|:
-    "
-    " ```
-    " " Instead of <leader>a, use <leader>x.
-    " nmap <leader>x <Plug>(FerretAck)
-    " ```
-    nmap <unique> <leader>a <Plug>(FerretAck)
-  endif
-  nnoremap <Plug>(FerretAck) :Ack<space>
-
-  if !hasmapto('<Plug>FerretLack') && maparg('<leader>l', 'n') ==# ''
-    ""
-    " @mapping <Plug>(FerretLack)
-    "
-    " Ferret maps <leader>l to |<Plug>(FerretLack)|, which triggers the |:Lack|
-    " command. To use an alternative mapping instead, create a different one in
-    " your |.vimrc| instead using |:nmap|:
-    "
-    " ```
-    " " Instead of <leader>l, use <leader>y.
-    " nmap <leader>y <Plug>(FerretLack)
-    " ```
-    nmap <unique> <leader>l <Plug>(FerretLack)
-  endif
-  nnoremap <Plug>(FerretLack) :Lack<space>
-
-  if !hasmapto('<Plug>(FerretAckWord)') && maparg('<leader>s', 'n') ==# ''
-    " Call :Ack with word currently under cursor (mnemonic: selection).
-
-
-    ""
-    " @mapping <Plug>(FerretAckWord)
-    "
-    " Ferret maps <leader>s (mnemonix: "selection) to |<Plug>(FerretAckWord)|,
-    " which uses |:Ack| to search for the word currently under the cursor. To
-    " use an alternative mapping instead, create a different one in your
-    " |.vimrc| instead using |:nmap|:
-    "
-    " ```
-    " " Instead of <leader>s, use <leader>z.
-    " nmap <leader>z <Plug>(FerretAckWord)
-    " ```
-    nmap <unique> <leader>s <Plug>(FerretAckWord)
-  endif
-  nnoremap <Plug>(FerretAckWord) :Ack <C-r><C-w><CR>
-
-  if !hasmapto('<Plug>(FerretAcks)') && maparg('<leader>r', 'n') ==# ''
-    ""
-    " @mapping <Plug>(FerretAcks)
-    "
-    " Ferret maps <leader>r (mnemonic: "replace") to |<Plug>(FerretAcks)|, which
-    " triggers the |:Acks| command and fills the prompt with the last search
-    " term from Ferret. to use an alternative mapping instead, create a
-    " different one in your |.vimrc| instead using |:nmap|:
-    "
-    " ```
-    " " Instead of <leader>r, use <leader>u.
-    " nmap <leader>u <Plug>(FerretAcks)
-    " ```
-    nmap <unique> <leader>r <Plug>(FerretAcks)
-  endif
-  nnoremap <Plug>(FerretAcks)
-        \ :Acks <c-r>=(exists('g:ferret_lastsearch') ? '/' . g:ferret_lastsearch . '//' : ' ')<CR><Left>
-endif
-
-""
-" @command :Qargs
-"
-" This is a utility function that is used by the |:Acks| command but is also
-" generally useful enough to warrant being exposed publicly.
-"
-" It takes the files currently in the |quickfix| listing and sets them as
-" |:args| so that they can be operated on en masse via the |:argdo| command.
-command! -bar Qargs execute 'args' ferret#private#qargs()
-
-""
-" @option g:FerretQFCommands boolean 1
-"
-" Controls whether to set up custom versions of the |quickfix| commands, |:cn|,
-" |:cnf|, |:cp| an |:cpf|. These overrides vertically center the match within
-" the viewport on each jump. To prevent the custom versions from being
-" configured, set to 0:
-"
-" ```
-" let g:FerretQFCommands=0
-" ```
-let s:commands=get(g:, 'FerretQFCommands', 1)
-if s:commands
-  " Keep quickfix result centered, if possible, when jumping from result to result.
-  cabbrev <silent> <expr> cn ((getcmdtype() == ':' && getcmdpos() == 3) ? 'cn <bar> normal zz' : 'cn')
-  cabbrev <silent> <expr> cnf ((getcmdtype() == ':' && getcmdpos() == 4) ? 'cnf <bar> normal zz' : 'cnf')
-  cabbrev <silent> <expr> cp ((getcmdtype() == ':' && getcmdpos() == 3) ? 'cp <bar> normal zz' : 'cp')
-  cabbrev <silent> <expr> cpf ((getcmdtype() == ':' && getcmdpos() == 4) ? 'cpf <bar> normal zz' : 'cpf')
-endif
-
-" Restore 'cpoptions' to its former value.
-let &cpoptions = s:cpoptions
-unlet s:cpoptions
diff --git a/tests/fixtures/shared/integration-ferret-private.vim b/tests/fixtures/shared/integration-ferret-private.vim
deleted file mode 100644 (file)
index 72b68b4..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-" Copyright 2015-present Greg Hurrell. All rights reserved.
-" Licensed under the terms of the BSD 2-clause license.
-
-" Remove lines a:first through a:last from the quickfix listing.
-function! s:delete(first, last)
-  let l:list=getqflist()
-  let l:line=a:first
-
-  while l:line >= a:first && l:line <= a:last
-    " Non-dictionary items will be ignored. This effectively deletes the line.
-    let l:list[l:line - 1]=0
-    let l:line=l:line + 1
-  endwhile
-  call setqflist(l:list, 'r')
-
-  " Show to next entry.
-  execute 'cc ' . a:first
-
-  " Move focus back to quickfix listing.
-  execute "normal \<C-W>\<C-P>"
-endfunction
-
-" Returns 1 if we should/can use vim-dispatch.
-function! s:dispatch()
-  ""
-  " @option g:FerretDispatch boolean 1
-  "
-  " Controls whether to use vim-dispatch (and specifically, |:Make|) to run
-  " |:Ack| searches asynchronously, when available. To prevent vim-dispatch from
-  " being used, set to 0:
-  "
-  " ```
-  " let g:FerretDispatch=0
-  " ```
-  let l:dispatch=get(g:, 'FerretDispatch', 1)
-  return l:dispatch && exists(':Make') == 2
-endfunction
-
-" Use `input()` to show error output to user. Ideally, we would do this in a way
-" that didn't require user interaction, but this is the only reliable mechanism
-" that works for all cases. Alternatives considered:
-"
-" (1) Using `:echomsg`
-"
-"     When not using vim-dispatch, the screen is getting cleared before the
-"     user sees it, even with a pre-emptive `:redraw!` beforehand. Note that
-"     we can get the message to linger on the screen by making it multi-line and
-"     forcing Vim to show a prompt (see `:h hit-enter-prompt`), but this is not
-"     reliable because the number of lines required to force the prompt will
-"     vary by system, depending on the value of `'cmdheight'`.
-"
-"     When using vim-dispatch, anything we output ends up getting swallowed
-"     before the user sees it, because something it is doing is clearing the
-"     screen. This is true no matter how many lines we output.
-"
-" (2) Writing back into the quickfix/location list
-"
-"     This interacts poorly with vim-dispatch. If we write back an error message
-"     and then call `:copen 1`, vim-dispatch ends up closing the listing before
-"     the user sees it.
-"
-" (3) Using `:echoerr`
-"
-"     This works, but presents to the user as an exception (see `:h :echoerr`).
-"
-function! s:error(message) abort
-  call inputsave()
-  echohl ErrorMsg
-  call input(a:message . ': press ENTER to continue')
-  echohl NONE
-  call inputrestore()
-  echo
-endfunction
-
-" Parses arguments, extracting a search pattern (which is stored in
-" g:ferret_lastsearch) and escaping space-delimited arguments for use by
-" `system()`. A string containing all the escaped arguments is returned.
-"
-" The basic strategy is to split on spaces, expand wildcards for non-option
-" arguments, shellescape each word, and join.
-"
-" To support an edge-case (the ability to search for strings with spaces in
-" them, however, we swap out escaped spaces first (subsituting the unlikely
-" "<!!S!!>") and then swap them back in at the end. This allows us to perform
-" searches like:
-"
-"   :Ack -i \bFoo_?Bar\b
-"   :Ack that's\ nice\ dear
-"
-" and so on...
-function! s:parse(arg) abort
-  if exists('g:ferret_lastsearch')
-    unlet g:ferret_lastsearch
-  endif
-
-  let l:escaped_spaces_replaced_with_markers=substitute(a:arg, '\\ ', '<!!S!!>', 'g')
-  let l:split_on_spaces=split(l:escaped_spaces_replaced_with_markers)
-  let l:expanded_args=[]
-
-  for l:arg in l:split_on_spaces
-    if l:arg =~# '^-'
-      " Options get passed through as-is.
-      call add(l:expanded_args, l:arg)
-    elseif exists('g:ferret_lastsearch')
-      let l:file_args=glob(l:arg, 1, 1) " Ignore 'wildignore', return a list.
-      if len(l:file_args)
-        call extend(l:expanded_args, l:file_args)
-      else
-        " Let through to `ag`/`ack`/`grep`, which will throw ENOENT.
-        call add(l:expanded_args, l:arg)
-      endif
-    else
-      " First non-option arg is considered to be search pattern.
-      let g:ferret_lastsearch=substitute(l:arg, '<!!S!!>', ' ', 'g')
-      call add(l:expanded_args, l:arg)
-    endif
-  endfor
-
-  let l:each_word_shell_escaped=map(l:expanded_args, 'shellescape(v:val)')
-  let l:joined=join(l:each_word_shell_escaped)
-  return substitute(l:joined, '<!!S!!>', ' ', 'g')
-endfunction
-
-function! ferret#private#post(type) abort
-  if has('autocmd')
-    augroup FerretPostQF
-      autocmd!
-    augroup END
-  endif
-
-  let l:lastsearch = get(g:, 'ferret_lastsearch', '')
-  let l:qflist = a:type == 'qf' ? getqflist() : getloclist(0)
-  let l:tip = ' [see `:help ferret-quotes`]'
-  if len(l:qflist) == 0
-    let l:base = 'No results for search pattern `' . l:lastsearch . '`'
-
-    " Search pattern has no spaces and is entirely enclosed in quotes;
-    " eg 'foo' or "bar"
-    if l:lastsearch =~ '\v^([' . "'" . '"])[^ \1]+\1$'
-      call s:error(l:base . l:tip)
-    else
-      call s:error(l:base)
-    endif
-  else
-    " Find any "invalid" entries in the list.
-    let l:invalid = filter(copy(l:qflist), 'v:val.valid == 0')
-    if len(l:invalid) == len(l:qflist)
-      " Every item in the list was invalid.
-      redraw!
-      echohl ErrorMsg
-      for l:item in l:invalid
-        echomsg l:item.text
-      endfor
-      echohl NONE
-
-      let l:base = 'Search for `' . l:lastsearch . '` failed'
-
-      " When using vim-dispatch, the messages printed above get cleared, so the
-      " only way to see them is with `:messages`.
-      let l:suffix = a:type == 'qf' && s:dispatch() ?
-            \ ' (run `:messages` to see details)' :
-            \ ''
-
-      " If search pattern looks like `'foo` or `"bar`, it means the user
-      " probably tried to search for 'foo bar' or "bar baz" etc.
-      if l:lastsearch =~ '\v^[' . "'" . '"].+[^' . "'" . '"]$'
-        call s:error(l:base . l:tip . l:suffix)
-      else
-        call s:error(l:base . l:suffix)
-      endif
-    endif
-  endif
-endfunction
-
-function! ferret#private#ack(command) abort
-  let l:command=s:parse(a:command)
-  call ferret#private#hlsearch()
-
-  if empty(&grepprg)
-    return
-  endif
-
-  " Prefer vim-dispatch unless otherwise instructed.
-  if s:dispatch()
-    if has('autocmd')
-      augroup FerretPostQF
-        autocmd!
-        autocmd QuickfixCmdPost cgetfile call ferret#private#post('qf')
-      augroup END
-    endif
-    let l:original_makeprg=&l:makeprg
-    let l:original_errorformat=&l:errorformat
-    try
-      let &l:makeprg=&grepprg . ' ' . l:command
-      let &l:errorformat=&grepformat
-      Make
-    catch
-      if has('autocmd')
-        augroup! FerretPostQF
-      endif
-    finally
-      let &l:makeprg=l:original_makeprg
-      let &l:errorformat=l:original_errorformat
-    endtry
-  else
-    cexpr system(&grepprg . ' ' . l:command)
-    cwindow
-    call ferret#private#post('qf')
-  endif
-endfunction
-
-function! ferret#private#lack(command) abort
-  let l:command=s:parse(a:command)
-  call ferret#private#hlsearch()
-
-  if empty(&grepprg)
-    return
-  endif
-
-  lexpr system(&grepprg . ' ' . l:command)
-  lwindow
-  call ferret#private#post('location')
-endfunction
-
-function! ferret#private#hlsearch() abort
-  if has('extra_search')
-    ""
-    " @option g:FerretHlsearch boolean
-    "
-    " Controls whether Ferret should attempt to highlight the search pattern
-    " when running |:Ack| or |:Lack|. If left unset, Ferret will respect the
-    " current 'hlsearch' setting. To force highlighting on or off irrespective
-    " of 'hlsearch', set |g:FerretHlsearch| to 1 (on) or 0 (off):
-    "
-    " ```
-    " let g:FerretHlsearch=0
-    " ```
-    let l:hlsearch=get(g:, 'FerretHlsearch', &hlsearch)
-    if l:hlsearch
-      let @/=g:ferret_lastsearch
-      call feedkeys(":let &hlsearch=1 | echo \<CR>", 'n')
-    endif
-  endif
-endfunction
-
-" Run the specified substitution command on all the files in the quickfix list
-" (mnemonic: "Ack substitute").
-"
-" Specifically, the sequence:
-"
-"   :Ack foo
-"   :Acks /foo/bar/
-"
-" is equivalent to:
-"
-"   :Ack foo
-"   :Qargs
-"   :argdo %s/foo/bar/ge | update
-"
-" (Note: there's nothing specific to Ack in this function; it's just named this
-" way for mnemonics, as it will most often be preceded by an :Ack invocation.)
-function! ferret#private#acks(command) abort
-  if match(a:command, '\v^/.+/.*/$') == -1 " crude sanity check
-    echoerr 'Ferret: Expected a substitution expression (/foo/bar/); got: ' . a:command
-    return
-  endif
-
-  let l:filenames=ferret#private#qargs()
-  if l:filenames ==# ''
-    echoerr 'Ferret: Quickfix filenames must be present, but there are none'
-    return
-  endif
-
-  execute 'args' l:filenames
-
-  if v:version > 703 || v:version == 703 && has('patch438')
-    silent doautocmd <nomodeline> User FerretWillWrite
-  else
-    silent doautocmd User FerretWillWrite
-  endif
-  execute 'argdo' '%s' . a:command . 'ge | update'
-  if v:version > 703 || v:version == 703 && has('patch438')
-    silent doautocmd <nomodeline> User FerretDidWrite
-  else
-    silent doautocmd User FerretDidWrite
-  endif
-endfunction
-
-" Populate the :args list with the filenames currently in the quickfix window.
-function! ferret#private#qargs() abort
-  let l:buffer_numbers={}
-  for l:item in getqflist()
-    let l:buffer_numbers[l:item['bufnr']]=bufname(l:item['bufnr'])
-  endfor
-  return join(map(values(l:buffer_numbers), 'fnameescape(v:val)'))
-endfunction
-
-" Visual mode deletion and `dd` mapping (special case).
-function! ferret#private#qf_delete() range
-  call s:delete(a:firstline, a:lastline)
-endfunction
-
-" Motion-based deletion from quickfix listing.
-function! ferret#private#qf_delete_motion(type, ...)
-  " Save.
-  let l:selection=&selection
-  let &selection='inclusive'
-
-  let l:firstline=line("'[")
-  let l:lastline=line("']")
-  call s:delete(l:firstline, l:lastline)
-
-  " Restore.
-  let &selection=l:selection
-endfunction
diff --git a/tests/fixtures/shared/integration-pinnacle.vim b/tests/fixtures/shared/integration-pinnacle.vim
deleted file mode 100644 (file)
index 66db788..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-""
-" @plugin Pinnacle Highlight group manipulation for Vim
-"
-" # Intro
-"
-" Pinnacle provides functions for manipulating |:highlight| groups.
-"
-"
-" # Installation
-"
-" To install Pinnacle, use your plug-in management system of choice.
-"
-" If you don't have a "plug-in management system of choice", I recommend
-" Pathogen (https://github.com/tpope/vim-pathogen) due to its simplicity and
-" robustness. Assuming that you have Pathogen installed and configured, and that
-" you want to install vim-docvim into `~/.vim/bundle`, you can do so with:
-"
-" ```
-" git clone https://github.com/wincent/pinnacle.git ~/.vim/bundle/pinnacle
-" ```
-"
-" Alternatively, if you use a Git submodule for each Vim plug-in, you could do
-" the following after `cd`-ing into the top-level of your Git superproject:
-"
-" ```
-" git submodule add https://github.com/wincent/pinnacle.git ~/vim/bundle/pinnacle
-" git submodule init
-" ```
-"
-" To generate help tags under Pathogen, you can do so from inside Vim with:
-"
-" ```
-" :call pathogen#helptags()
-" ```
-"
-"
-" # Website
-"
-" The official Pinnacle source code repo is at:
-"
-"   http://git.wincent.com/pinnacle.git
-"
-" Mirrors exist at:
-"
-"   - https://github.com/wincent/pinnacle
-"   - https://gitlab.com/wincent/pinnacle
-"   - https://bitbucket.org/ghurrell/pinnacle
-"
-" Official releases are listed at:
-"
-"   http://www.vim.org/scripts/script.php?script_id=[TODO]
-"
-"
-" # License
-"
-" Copyright (c) 2016-present Greg Hurrell
-"
-" Permission is hereby granted, free of charge, to any person obtaining
-" a copy of this software and associated documentation files (the
-" "Software"), to deal in the Software without restriction, including
-" without limitation the rights to use, copy, modify, merge, publish,
-" distribute, sublicense, and/or sell copies of the Software, and to
-" permit persons to whom the Software is furnished to do so, subject to
-" the following conditions:
-"
-" The above copyright notice and this permission notice shall be
-" included in all copies or substantial portions of the Software.
-"
-" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-"
-"
-" # Development
-"
-" ## Contributing patches
-"
-" Patches can be sent via mail to greg@hurrell.net, or as GitHub pull requests
-" at: https://github.com/wincent/pinnacle/pulls
-"
-" ## Cutting a new release
-"
-" At the moment the release process is manual:
-"
-" - Perform final sanity checks and manual testing
-" - Update the |pinnacle-history| section of the documentation
-" - Verify clean work tree:
-"
-" ```
-" git status
-" ```
-"
-" - Tag the release:
-"
-" ```
-" git tag -s -m "$VERSION release" $VERSION
-" ```
-"
-" - Publish the code:
-"
-" ```
-" git push origin master --follow-tags
-" git push github master --follow-tags
-" ```
-"
-" - Produce the release archive:
-"
-" ```
-" git archive -o vim-docvim-$VERSION.zip HEAD -- .
-" ```
-"
-" - Upload to http://www.vim.org/scripts/script.php?script_id=[TODO]
-"
-"
-" # Authors
-"
-" Pinnacle is written and maintained by Greg Hurrell <greg@hurrell.net>.
-"
-"
-" # History
-"
-" ## 0.1 (30 March 2016)
-"
-" - Initial release.
diff --git a/tests/fixtures/vim/integration-ferret-ftplugin-qf.golden b/tests/fixtures/vim/integration-ferret-ftplugin-qf.golden
deleted file mode 100644 (file)
index 1a90e93..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-OPTIONS
-
-
-                                                             *g:FerretQFOptions*
-|g:FerretQFOptions|                                         boolean (default: 1)
-
-Controls whether to set up setting overrides for |quickfix| windows. These are
-various settings, such as |norelativenumber|, |nolist| and |nowrap|, that are
-intended to make the |quickfix| window, which is typically very small relative
-to other windows, more usable.
-
-A full list of overridden settings can be found in |ferret-overrides|.
-
-To prevent the custom settings from being applied, set |g:FerretQFOptions| to
-0:
->
-    let g:FerretQFOptions=0
-<
-
-                                                                 *g:FerretQFMap*
-|g:FerretQFMap|                                             boolean (default: 1)
-
-Controls whether to set up mappings in the |quickfix| results window for
-deleting results. The mappings include:
-
-- `d` (|visual-mode|): delete visual selection
-- `dd` (|Normal-mode|): delete current line
-- `d`{motion} (|Normal-mode|): delete range indicated by {motion}
-
-To prevent these mappings from being set up, set to 0:
->
-    let g:FerretQFMap=0
-<
diff --git a/tests/fixtures/vim/integration-ferret-ftplugin-qf.vim b/tests/fixtures/vim/integration-ferret-ftplugin-qf.vim
deleted file mode 120000 (symlink)
index 4051b06..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-ftplugin-qf.vim
\ No newline at end of file
diff --git a/tests/fixtures/vim/integration-ferret-plugin.golden b/tests/fixtures/vim/integration-ferret-plugin.golden
deleted file mode 100644 (file)
index 91a67cf..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-*ferret.txt*                    Ferret plug-in for Vim                    *ferret*
-
-CONTENTS                                                       *ferret-contents*
-
-1. Intro                  |ferret-intro|
-2. Installation           |ferret-installation|
-3. Commands               |ferret-commands|
-4. Mappings               |ferret-mappings|
-5. Options                |ferret-options|
-6. Custom autocommands    |ferret-custom-autocommands|
-7. Overrides              |ferret-overrides|
-8. Troubleshooting        |ferret-troubleshooting|
-9. FAQ                    |ferret-faq|
-10. Related               |ferret-related|
-11. Website               |ferret-website|
-12. License               |ferret-license|
-13. Development           |ferret-development|
-14. Authors               |ferret-authors|
-15. History               |ferret-history|
-
-INTRO                                                             *ferret-intro*
-
-    "ferret (verb)
-    (ferret something out) search tenaciously for and find something: she
-    had the ability to ferret out the facts."
-
-
-                                                               *ferret-features*
-Ferret improves Vim's multi-file search in four ways:
-
-1. Powerful multi-file search ~
-
-Ferret provides an |:Ack| command for searching across multiple files using
-The Silver Searcher (https://github.com/ggreer/the_silver_searcher), Ack
-(http://beyondgrep.com/), or Grep (http://www.gnu.org/software/grep/).
-Support for passing options through to the underlying search command exists,
-along with the ability to use full regular expression syntax without doing
-special escaping.
-
-Shortcut mappings are provided to start an |:Ack| search (<leader>a) or to
-search for the word currently under the cursor (<leader>s).
-
-Results are normally displayed in the |quickfix| window, but Ferret also
-provides a |:Lack| command that behaves like |:Ack| but uses the |location-list|
-instead, and a <leader>l mapping as a shortcut to |:Lack|.
-
-Finally, Ferret offers integration with dispatch.vim
-(https://github.com/tpope/vim-dispatch), which enables asynchronous
-searching despite the fact that Vim itself is single-threaded.
-
-2. Streamlined multi-file replace ~
-
-The companion to |:Ack| is |:Acks| (mnemonic: "Ack substitute", accessible via
-shortcut <leader>r), which allows you to run a multi-file replace across all
-the files placed in the |quickfix| window by a previous invocation of |:Ack|.
-
-3. Quickfix listing enhancements ~
-
-The |quickfix| listing itself is enhanced with settings to improve its
-usability, and natural mappings that allow quick removal of items from the
-list (for example, you can reduce clutter in the listing by removing lines
-that you don't intend to make changes to).
-
-Additionally, Vim's |:cn|, |:cp|, |:cnf| and |:cpf| commands are tweaked to make it
-easier to immediately identify matches by centering them within the viewport.
-
-4. Easy operations on files in the quickfix listing ~
-
-Finally, Ferret provides a |:Qargs| command that puts the files currently in
-the |quickfix| listing into the |:args| list, where they can be operated on in
-bulk via the |:argdo| command. This is what's used under the covers by |:Acks|
-to do its work.
-
-INSTALLATION                                               *ferret-installation*
-
-To install Ferret, use your plug-in management system of choice.
-
-If you don't have a "plug-in management system of choice", I recommend
-Pathogen (https://github.com/tpope/vim-pathogen) due to its simplicity and
-robustness. Assuming that you have Pathogen installed and configured, and
-that you want to install Ferret into `~/.vim/bundle`, you can do so with:
->
-    git clone https://github.com/wincent/ferret.git ~/.vim/bundle/ferret
-<
-Alternatively, if you use a Git submodule for each Vim plug-in, you could do
-the following after `cd`-ing into the top-level of your Git superproject:
->
-    git submodule add https://github.com/wincent/ferret.git ~/vim/bundle/ferret
-    git submodule init
-<
-To generate help tags under Pathogen, you can do so from inside Vim with:
->
-    :call pathogen#helptags()
-<
-COMMANDS                                                       *ferret-commands*
-
-:Ack {pattern} {options}                                                  *:Ack*
-
-Searches for {pattern} in all the files under the current directory (see
-|:pwd|), unless otherwise overridden via {options}, and displays the results
-in the |quickfix| listing.
-
-`ag` (The Silver Searcher) will be used preferentially if present on the
-system, because it is faster, falling back to `ack` and then `grep` as needed.
-
-If dispatch.vim is installed the search process will run asynchronously via
-the |:Make| command, otherwise it will be run synchronously via |:cexpr|.
-Asynchronous searches are preferred because they do not block, despite the
-fact that Vim itself is single threaded. The |g:FerretDispatch| option can be
-used to prevent the use of dispatch.vim.
-
-The {pattern} is passed through as-is to the underlying search program, and
-no escaping is required other than preceding spaces by a single backslash.
-For example, to search for "\bfoo[0-9]{2} bar\b" (ie. using `ag`'s Perl-style
-regular expression syntax), you could do:
->
-    :Ack \bfoo[0-9]{2}\ bar\b
-<
-Likewise, {options} are passed through. In this example, we pass the `-w`
-option (to search on word boundaries), and scope the search to the "foo" and
-"bar" subdirectories: >
->
-    :Ack -w something foo bar
-<
-As a convenience <leader>a is set-up (|<Plug>(FerretAck)|) as a shortcut to
-enter |Cmdline-mode| with `:Ack` inserted on the |Cmdline|. Likewise <leader>s
-(|<Plug>(FerretAckWord)|) is a shortcut for running |:Ack| with the word
-currently under the cursor.
-
-:Lack {pattern} {options}                                                *:Lack*
-
-Just like |:Ack|, but instead of using the |quickfix| listing, which is global
-across an entire Vim instance, it uses the |location-list|, which is a
-per-window construct.
-
-Note that |:Lack| always runs synchronously via |:cexpr|, because dispatch.vim
-doesn't currently support the |location-list|.
-
-:Acks /{pattern}/{replacement}/                                          *:Acks*
-
-Takes all of the files currently in the |quickfix| listing and performs a
-substitution of all instances of {pattern} (a standard Vim search |pattern|)
-by {replacement}.
-
-A typical sequence consists of an |:Ack| invocation to populate the |quickfix|
-listing and then |:Acks| (mnemonic: "Ack substitute") to perform replacements.
-For example, to replace "foo" with "bar" across all files in the current
-directory:
->
-    :Ack foo
-    :Acks /foo/bar/
-<
-:Qargs                                                                  *:Qargs*
-
-This is a utility function that is used by the |:Acks| command but is also
-generally useful enough to warrant being exposed publicly.
-
-It takes the files currently in the |quickfix| listing and sets them as |:args|
-so that they can be operated on en masse via the |:argdo| command.
-
-MAPPINGS                                                       *ferret-mappings*
-
-Circumstances where mappings do not get set up ~
-
-Note that Ferret will not try to set up the <leader> mappings if any of the
-following are true:
-
-- A mapping for already exists.
-- An alternative mapping for the same functionality has already been set up
-  from a |.vimrc|.
-- The mapping has been suppressed by setting |g:FerretMap| to 1 in your |.vimrc|.
-
-Mappings specific to the quickfix window ~
-
-Additionally, Ferret will set up special mappings in |quickfix| listings,
-unless prevented from doing so by |g:FerretQFMap|:
-
-- `d` (|visual-mode|): delete visual selection
-- `dd` (|Normal-mode|): delete current line
-- `d`{motion} (|Normal-mode|): delete range indicated by {motion}
-
-
-                                                             *<Plug>(FerretAck)*
-Ferret maps <leader>a to |<Plug>(FerretAck)|, which triggers the |:Ack| command.
-To use an alternative mapping instead, create a different one in your |.vimrc|
-instead using |:nmap|:
->
-    " Instead of <leader>a, use <leader>x.
-    nmap <leader>x <Plug>(FerretAck)
-<
-
-                                                            *<Plug>(FerretLack)*
-Ferret maps <leader>l to |<Plug>(FerretLack)|, which triggers the |:Lack|
-command. To use an alternative mapping instead, create a different one in
-your |.vimrc| instead using |:nmap|:
->
-    " Instead of <leader>l, use <leader>y.
-    nmap <leader>y <Plug>(FerretLack)
-<
-
-                                                         *<Plug>(FerretAckWord)*
-Ferret maps <leader>s (mnemonix: "selection) to |<Plug>(FerretAckWord)|, which
-uses |:Ack| to search for the word currently under the cursor. To use an
-alternative mapping instead, create a different one in your |.vimrc| instead
-using |:nmap|:
->
-    " Instead of <leader>s, use <leader>z.
-    nmap <leader>z <Plug>(FerretAckWord)
-<
-
-                                                            *<Plug>(FerretAcks)*
-Ferret maps <leader>r (mnemonic: "replace") to |<Plug>(FerretAcks)|, which
-triggers the |:Acks| command and fills the prompt with the last search term
-from Ferret. to use an alternative mapping instead, create a different one
-in your |.vimrc| instead using |:nmap|:
->
-    " Instead of <leader>r, use <leader>u.
-    nmap <leader>u <Plug>(FerretAcks)
-<
-OPTIONS                                                         *ferret-options*
-
-
-                                                                *g:FerretLoaded*
-|g:FerretLoaded|                                             any (default: none)
-
-To prevent Ferret from being loaded, set |g:FerretLoaded| to any value in your
-|.vimrc|. For example:
->
-    let g:FerretLoaded=1
-<
-
-                                                                   *g:FerretMap*
-|g:FerretMap|                                               boolean (default: 1)
-
-Controls whether to set up the Ferret mappings, such as |<Plug>(FerretAck)|
-(see |ferret-mappings| for a full list). To prevent any mapping from being
-configured, set to 0:
->
-    let g:FerretMap=0
-<
-
-                                                            *g:FerretQFCommands*
-|g:FerretQFCommands|                                        boolean (default: 1)
-
-Controls whether to set up custom versions of the |quickfix| commands, |:cn|,
-|:cnf|, |:cp| an |:cpf|. These overrides vertically center the match within the
-viewport on each jump. To prevent the custom versions from being configured,
-set to 0:
->
-    let g:FerretQFCommands=0
-<
-CUSTOM AUTOCOMMANDS                                 *ferret-custom-autocommands*
-
-
-                                                *FerretDidWrite* *FerretWillWrite*
-For maximum compatibility with other plug-ins, Ferret runs the following
-"User" autocommands before and after running the file writing operations
-during |:Acks|:
-
-- FerretWillWrite
-- FerretDidWrite
-
-For example, to call a pair of custom functions in response to these events,
-you might do:
->
-    autocmd! User FerretWillWrite
-    autocmd User FerretWillWrite call CustomWillWrite()
-    autocmd! User FerretDidWrite
-    autocmd User FerretDidWrite call CustomDidWrite()
-<
-OVERRIDES                                                     *ferret-overrides*
-
-Ferret overrides the 'grepformat' and 'grepprg' settings, preferentially
-setting `ag`, `ack` or `grep` as the 'grepprg' (in that order) and configuring a
-suitable 'grepformat'.
-
-Additionally, Ferret includes an |ftplugin| for the |quickfix| listing that
-adjusts a number of settings to improve the usability of search results.
-
-
-                                                                 *ferret-nolist*
-'nolist'
-
-Turned off to reduce visual clutter in the search results, and because
-'list' is most useful in files that are being actively edited, which is not
-the case for |quickfix| results.
-
-
-                                                       *ferret-norelativenumber*
-'norelativenumber'
-
-Turned off, because it is more useful to have a sense of absolute progress
-through the results list than to have the ability to jump to nearby results
-(especially seeing as the most common operations are moving to the next or
-previous file, which are both handled nicely by |:cnf| and |:cpf| respectively).
-
-
-                                                                 *ferret-nowrap*
-'nowrap'
-
-Turned off to avoid ugly wrapping that makes the results list hard to read,
-and because in search results, the most relevant information is the
-filename, which is on the left and is usually visible even without wrapping.
-
-
-                                                                 *ferret-number*
-'number'
-
-Turned on to give a sense of absolute progress through the results.
-
-
-                                                              *ferret-scrolloff*
-'scrolloff'
-
-Set to 0 because the |quickfix| listing is usually small by default, so trying
-to keep the current line away from the edge of the viewpoint is futile; by
-definition it is usually near the edge.
-
-
-                                                           *ferret-nocursorline*
-'nocursorline'
-
-Turned off to reduce visual clutter.
-
-To prevent any of these |quickfix|-specific overrides from being set up, you
-can set |g:FerretQFOptions| to 0 in your |.vimrc|:
->
-    let g:FerretQFOptions=0
-<
-TROUBLESHOOTING                                         *ferret-troubleshooting*
-
-
-                                                                 *ferret-quotes*
-Ferret fails to find patterns containing spaces ~
-
-As described in the documentation for |:Ack|, the search pattern is passed
-through as-is to the underlying search command, and no escaping is required
-other than preceding spaces by a single backslash.
-
-So, to find "foo bar", you would search like:
->
-    :Ack foo\ bar
-<
-Unescaped spaces in the search are treated as argument separators, so a
-command like the following means pass the `-w` option through, search for
-pattern "foo", and limit search to the "bar" directory:
->
-    :Ack -w foo bar
-<
-Note that including quotes will not do what you intend.
->
-     " Search for '"foo' in the 'bar"' directory:
-     :Ack "foo bar"
-
-     " Search for "'foo' in the "bar'" directory:
-     :Ack 'foo bar'
-<
-This approach to escaping is taken in order to make it straightfoward to use
-powerful Perl-compatible regular expression syntax in an unambiguous way
-without having to worry about shell escaping rules:
->
-    :Ack \blog\((['"]).*?\1\) -i --ignore-dir=src/vendor src dist build
-<
-FAQ                                                                 *ferret-faq*
-
-Why do Ferret commands start with "Ack", "Lack" and so on? ~
-
-Ferret was originally the thinnest of wrappers (7 lines of code in my
-|.vimrc|) around `ack`. The earliest traces of it can be seen in the initial
-commit to my dotfiles repo in May, 2009 (https://wt.pe/h).
-
-So, even though Ferret has a new name now and actually prefers `ag` over `ack`
-when available, I prefer to keep the command names intact and benefit from
-years of accumulated muscle-memory.
-
-RELATED                                                         *ferret-related*
-
-Just as Ferret aims to improve the multi-file search and replace experience,
-Loupe does the same for within-file searching:
-
-https://github.com/wincent/loupe
-
-WEBSITE                                                         *ferret-website*
-
-The official Ferret source code repo is at:
-
-http://git.wincent.com/ferret.git
-
-A mirror exists at:
-
-https://github.com/wincent/ferret
-
-Official releases are listed at:
-
-http://www.vim.org/scripts/script.php?script_id=5220
-
-LICENSE                                                         *ferret-license*
-
-Copyright 2015-present Greg Hurrell. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice,
-this list of conditions and the following disclaimer. 2. Redistributions in
-binary form must reproduce the above copyright notice, this list of
-conditions and the following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-DEVELOPMENT                                                 *ferret-development*
-
-Contributing patches ~
-
-Patches can be sent via mail to greg@hurrell.net, or as GitHub pull requests
-at: https://github.com/wincent/ferret/pulls
-
-Cutting a new release ~
-
-At the moment the release process is manual:
-
-- Perform final sanity checks and manual testing
-- Update the |ferret-history| section of the documentation
-- Verify clean work tree:
->
-    git status
-<
-- Tag the release:
->
-    git tag -s -m "$VERSION release" $VERSION
-<
-- Publish the code:
->
-    git push origin master --follow-tags
-    git push github master --follow-tags
-<
-- Produce the release archive:
->
-    git archive -o ferret-$VERSION.zip HEAD -- .
-<
-- Upload to http://www.vim.org/scripts/script.php?script_id=5220
-
-AUTHORS                                                         *ferret-authors*
-
-Ferret is written and maintained by Greg Hurrell <greg@hurrell.net>.
-
-The idea for vim-dispatch integration was taken from Miles Sterrett's
-ack.vim plug-in (https://github.com/mileszs/ack.vim).
-
-Other contributors that have submitted patches include (in alphabetical
-order):
-
-- Daniel Silva
-- Joe Lencioni
-- Nelo-Thara Wallus
-- Vaibhav Sagar
-
-HISTORY                                                         *ferret-history*
-
-0.3.1 (not yet released)
-
-- Fix broken |:Qargs| command (patch from Daniel Silva).
-
-0.3 (24 July 2015)
-
-- Added highlighting of search pattern and related |g:FerretHlsearch| option
-  (patch from Nelo-Thara Wallus).
-- Add better error reporting for failed or incorrect searches.
-
-0.2 (16 July 2015)
-
-- Added |FerretDidWrite| and |FerretWillWrite| autocommands (patch from Joe
-  Lencioni).
-- Add |<Plug>(FerretAcks)| mapping (patch from Nelo-Thara Wallus).
-
-0.1 (8 July 2015)
-
-- Initial release, extracted from my dotfiles
-  (https://github.com/wincent/wincent).
diff --git a/tests/fixtures/vim/integration-ferret-plugin.vim b/tests/fixtures/vim/integration-ferret-plugin.vim
deleted file mode 120000 (symlink)
index 4634fa0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-plugin.vim
\ No newline at end of file
diff --git a/tests/fixtures/vim/integration-ferret-private.golden b/tests/fixtures/vim/integration-ferret-private.golden
deleted file mode 100644 (file)
index 208f331..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-OPTIONS
-
-
-                                                              *g:FerretDispatch*
-|g:FerretDispatch|                                          boolean (default: 1)
-
-Controls whether to use vim-dispatch (and specifically, |:Make|) to run |:Ack|
-searches asynchronously, when available. To prevent vim-dispatch from being
-used, set to 0:
->
-    let g:FerretDispatch=0
-<
-
-                                                              *g:FerretHlsearch*
-|g:FerretHlsearch|                                       boolean (default: none)
-
-Controls whether Ferret should attempt to highlight the search pattern when
-running |:Ack| or |:Lack|. If left unset, Ferret will respect the current
-'hlsearch' setting. To force highlighting on or off irrespective of
-'hlsearch', set |g:FerretHlsearch| to 1 (on) or 0 (off):
->
-    let g:FerretHlsearch=0
-<
diff --git a/tests/fixtures/vim/integration-ferret-private.vim b/tests/fixtures/vim/integration-ferret-private.vim
deleted file mode 120000 (symlink)
index b19e38c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-ferret-private.vim
\ No newline at end of file
diff --git a/tests/fixtures/vim/integration-pinnacle.golden b/tests/fixtures/vim/integration-pinnacle.golden
deleted file mode 100644 (file)
index 03f575d..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-*pinnacle.txt*           Highlight group manipulation for Vim           *pinnacle*
-
-CONTENTS                                                     *pinnacle-contents*
-
-1. Intro             |pinnacle-intro|
-2. Installation      |pinnacle-installation|
-3. Website           |pinnacle-website|
-4. License           |pinnacle-license|
-5. Development       |pinnacle-development|
-6. Authors           |pinnacle-authors|
-7. History           |pinnacle-history|
-
-INTRO                                                           *pinnacle-intro*
-
-Pinnacle provides functions for manipulating |:highlight| groups.
-
-INSTALLATION                                             *pinnacle-installation*
-
-To install Pinnacle, use your plug-in management system of choice.
-
-If you don't have a "plug-in management system of choice", I recommend
-Pathogen (https://github.com/tpope/vim-pathogen) due to its simplicity and
-robustness. Assuming that you have Pathogen installed and configured, and
-that you want to install vim-docvim into `~/.vim/bundle`, you can do so with:
->
-    git clone https://github.com/wincent/pinnacle.git ~/.vim/bundle/pinnacle
-<
-Alternatively, if you use a Git submodule for each Vim plug-in, you could do
-the following after `cd`-ing into the top-level of your Git superproject:
->
-    git submodule add https://github.com/wincent/pinnacle.git ~/vim/bundle/pinnacle
-    git submodule init
-<
-To generate help tags under Pathogen, you can do so from inside Vim with:
->
-    :call pathogen#helptags()
-<
-WEBSITE                                                       *pinnacle-website*
-
-The official Pinnacle source code repo is at:
-
-http://git.wincent.com/pinnacle.git
-
-Mirrors exist at:
-
-- https://github.com/wincent/pinnacle
-- https://gitlab.com/wincent/pinnacle
-- https://bitbucket.org/ghurrell/pinnacle
-
-Official releases are listed at:
-
-http://www.vim.org/scripts/script.php?script_id=[TODO]
-
-LICENSE                                                       *pinnacle-license*
-
-Copyright (c) 2016-present Greg Hurrell
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-
-DEVELOPMENT                                               *pinnacle-development*
-
-Contributing patches ~
-
-Patches can be sent via mail to greg@hurrell.net, or as GitHub pull requests
-at: https://github.com/wincent/pinnacle/pulls
-
-Cutting a new release ~
-
-At the moment the release process is manual:
-
-- Perform final sanity checks and manual testing
-- Update the |pinnacle-history| section of the documentation
-- Verify clean work tree:
->
-    git status
-<
-- Tag the release:
->
-    git tag -s -m "$VERSION release" $VERSION
-<
-- Publish the code:
->
-    git push origin master --follow-tags
-    git push github master --follow-tags
-<
-- Produce the release archive:
->
-    git archive -o vim-docvim-$VERSION.zip HEAD -- .
-<
-- Upload to http://www.vim.org/scripts/script.php?script_id=[TODO]
-
-AUTHORS                                                       *pinnacle-authors*
-
-Pinnacle is written and maintained by Greg Hurrell <greg@hurrell.net>.
-
-HISTORY                                                       *pinnacle-history*
-
-0.1 (30 March 2016) ~
-
-- Initial release.
diff --git a/tests/fixtures/vim/integration-pinnacle.vim b/tests/fixtures/vim/integration-pinnacle.vim
deleted file mode 120000 (symlink)
index e209dd2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../shared/integration-pinnacle.vim
\ No newline at end of file