diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6dd17758..1949415e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,7 +11,7 @@
## 1. Bug reports / GitHub issues
Please note that the preferred channel for posting bug reports is the
-[issue tracker at GitHub][0]. Reports posted elsewhere are less likely
+[issue tracker at GitHub][bug_tracker]. Reports posted elsewhere are less likely
to be seen by the core team.
When reporting a bug make sure you search the existing GitHub issues
@@ -39,14 +39,14 @@ too:
## 2. Submitting a patch
Before you consider adding features to syntastic, _please_ spend a few minutes
-(re-)reading the latest version of the [manual][1]. Syntastic is changing
+(re-)reading the latest version of the [manual][manual]. Syntastic is changing
rapidly at times, and it's possible that some features you want to add exist
already.
To submit a patch:
-* fork the [repo][2] on GitHub;
-* make a [topic branch][3] and start hacking;
+* fork the [repo][github] on GitHub;
+* make a [topic branch][branches] and start hacking;
* submit a pull request based off your topic branch.
Small, focused patches are preferred.
@@ -69,14 +69,14 @@ Follow the coding conventions/styles used in the syntastic core:
* don't use `l:` prefixes for variables unless actually required (i.e.
almost never);
* code for maintainability; we would rather a function be a couple of
-lines longer and have (for example) some [explaining variables][4] to
+lines longer and have (for example) some [explaining variables][variables] to
aid readability.
## 4. Syntax checker notes
-Make sure to read the [guide][5] if you plan to add new syntax checkers.
+Make sure to read the [guide][guide] if you plan to add new syntax checkers.
Use the existing checkers as templates, rather than writing everything
from scratch.
@@ -97,9 +97,9 @@ let errorformat =
\ '%-G%.%#'
```
-[0]: https://github.com/scrooloose/syntastic/issues
-[1]: https://github.com/scrooloose/syntastic/blob/master/doc/syntastic.txt
-[2]: https://github.com/scrooloose/syntastic
-[3]: https://github.com/dchelimsky/rspec/wiki/Topic-Branches#using-topic-branches-when-contributing-patches
-[4]: http://www.refactoring.com/catalog/extractVariable.html
-[5]: https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide
+[bug_tracker]: https://github.com/scrooloose/syntastic/issues
+[manual]: https://github.com/scrooloose/syntastic/blob/master/doc/syntastic.txt
+[github]: https://github.com/scrooloose/syntastic
+[branches]: https://github.com/dchelimsky/rspec/wiki/Topic-Branches#using-topic-branches-when-contributing-patches
+[variables]: http://www.refactoring.com/catalog/extractVariable.html
+[guide]: https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide
diff --git a/README.markdown b/README.markdown
index 07106032..685d8408 100644
--- a/README.markdown
+++ b/README.markdown
@@ -46,37 +46,38 @@
## 1\. Introduction
-Syntastic is a syntax checking plugin for [Vim][13] that runs files through
+Syntastic is a syntax checking plugin for [Vim][vim] that runs files through
external syntax checkers and displays any resulting errors to the user. This
can be done on demand, or automatically as files are saved. If syntax errors
are detected, the user is notified and is happy because they didn't have to
compile their code or execute their script to find them.
At the time of this writing, syntastic has checking plugins for ActionScript,
-Ada, Ansible configurations, API Blueprint, AppleScript, AsciiDoc, ASM,
-BEMHTML, Bro, Bourne shell, C, C++, C#, Cabal, Chef, CoffeeScript, Coco,
-Coq, CSS, Cucumber, CUDA, D, Dart, DocBook, Dockerfile, Dust, Elixir,
+Ada, Ansible configurations, API Blueprint, AppleScript, AsciiDoc, Assembly
+languages, BEMHTML, Bro, Bourne shell, C, C++, C#, Cabal, Chef, CoffeeScript,
+Coco, Coq, CSS, Cucumber, CUDA, D, Dart, DocBook, Dockerfile, Dust, Elixir,
Erlang, eRuby, Fortran, Gentoo metadata, GLSL, Go, Haml, Haskell, Haxe,
Handlebars, HSS, HTML, Java, JavaScript, JSON, JSX, LESS, Lex, Limbo, LISP,
LLVM intermediate language, Lua, Markdown, MATLAB, Mercury, NASM, Nix,
Objective-C, Objective-C++, OCaml, Perl, Perl POD, PHP, gettext Portable
-Object, OS X and iOS property lists, Pug (formerly Jade), Puppet, Python, QML,
-R, Racket, RDF TriG, RDF Turtle, Relax NG, reStructuredText, RPM spec, Ruby,
-SASS/SCSS, Scala, Slim, SML, Sphinx, SQL, Stylus, Tcl, TeX, Texinfo, Twig,
-TypeScript, Vala, Verilog, VHDL, VimL, xHtml, XML, XSLT, XQuery, YACC, YAML,
-YANG data models, z80, Zope page templates, and zsh. See the [wiki][3] for
-details about the corresponding supported checkers.
+Object, OS X and iOS property lists, Pug (formerly Jade), Puppet, Python,
+QML, R, Racket, RDF TriG, RDF Turtle, Relax NG, reStructuredText, RPM spec,
+Ruby, SASS/SCSS, Scala, Slim, SML, Sphinx, SQL, Stylus, Tcl, TeX, Texinfo,
+Twig, TypeScript, Vala, Verilog, VHDL, VimL, xHtml, XML, XSLT, XQuery,
+YACC, YAML, YANG data models, z80, Zope page templates, and Zsh. See the
+[manual][checkers] for details about the corresponding supported checkers
+(`:help syntastic-checkers` in Vim).
A number of third-party Vim plugins also provide checkers for syntastic,
-for example: [merlin][30], [omnisharp-vim][25], [rust.vim][12],
-[syntastic-extras][26], [syntastic-more][27], [vim-crystal][29],
-[vim-eastwood][28], and [vim-swift][24].
+for example: [merlin][merlin], [omnisharp-vim][omnisharp], [rust.vim][rust],
+[syntastic-extras][myint], [syntastic-more][roktas], [vim-crystal][crystal],
+[vim-eastwood][eastwood], and [vim-swift][swift].
Below is a screenshot showing the methods that Syntastic uses to display syntax
errors. Note that, in practise, you will only have a subset of these methods
enabled.
-![Screenshot 1][0]
+![Screenshot 1][screenshot]
1. Errors are loaded into the location list for the corresponding window.
2. When the cursor is on a line containing an error, the error message is echoed in the command window.
@@ -94,7 +95,7 @@ enabled.
### 2.1\. Requirements
Syntastic itself has rather relaxed requirements: it doesn't have any external
-dependencies, and it needs a version of [Vim][13] compiled with a few common
+dependencies, and it needs a version of [Vim][vim] compiled with a few common
features: `autocmd`, `eval`, `file_in_path`, `modify_fname`, `quickfix`,
`reltime`, and `user_commands`. Not all possible combinations of features that
include the ones above make equal sense on all operating systems, but Vim
@@ -102,8 +103,8 @@ version 7 or later with the "normal", "big", or "huge" feature sets should be
fine.
Syntastic should work with any modern plugin managers for Vim, such as
-[NeoBundle][14], [Pathogen][1], [Vim-Addon-Manager][15], [Vim-Plug][16], or
-[Vundle][17]. Instructions for installing syntastic with [Pathogen][1] are
+[NeoBundle][neobundle], [Pathogen][pathogen], [Vim-Addon-Manager][vam], [Vim-Plug][plug], or
+[Vundle][vundle]. Instructions for installing syntastic with [Pathogen][pathogen] are
included below for completeness.
Starting with Vim version 7.4.1486 you can also load syntastic using the
@@ -115,20 +116,21 @@ syntastic is present only in versions 7.4.1486 and later.
Last but not least: syntastic doesn't know how to do any syntax checks by
itself. In order to get meaningful results you need to install external
checkers corresponding to the types of files you use. Please consult the
-[wiki][3] for a list of supported checkers.
+[manual][checkers] (`:help syntastic-checkers` in Vim) for a list of supported
+checkers.
### 2.2\. Installing syntastic with Pathogen
-If you already have [Pathogen][1] working then skip [Step 1](#step1) and go to
+If you already have [Pathogen][pathogen] working then skip [Step 1](#step1) and go to
[Step 2](#step2).
#### 2.2.1\. Step 1: Install pathogen.vim
-First I'll show you how to install Tim Pope's [Pathogen][1] so that it's easy to
+First I'll show you how to install Tim Pope's [Pathogen][pathogen] so that it's easy to
install syntastic. Do this in your terminal so that you get the `pathogen.vim`
file and the directories it needs:
```sh
@@ -155,7 +157,7 @@ Quit vim and start it back up to reload it, then type:
:Helptags
```
If you get an error when you do this, then you probably didn't install
-[Pathogen][1] right. Go back to [Step 1](#step1) and make sure you did the
+[Pathogen][pathogen] right. Go back to [Step 1](#step1) and make sure you did the
following:
1. Created both the `~/.vim/autoload` and `~/.vim/bundle` directories.
@@ -192,10 +194,11 @@ __4.1. Q. I installed syntastic but it isn't reporting any errors...__
A. The most likely reason is that none of the syntax checkers that it requires
are installed. For example: by default, python requires either `flake8` or
-`pylint` to be installed and in your `$PATH`. To see which executables are
-supported, look at the [wiki][3]. Note that aliases do not work; the actual
-executables must be available in your `$PATH`. Symbolic links are okay though.
-You can see syntastic's idea of available checkers by running `:SyntasticInfo`.
+`pylint` to be installed and in your `$PATH`. Read the [manual][checkers]
+(`:help syntastic-checkers` in Vim) to find out what executables are
+supported. Note that aliases do not work; the actual executables must be
+available in your `$PATH`. Symbolic links are okay though. You can see
+syntastic's idea of available checkers by running `:SyntasticInfo`.
A second probable reason is that none of the available checkers are
enabled. Syntastic comes preconfigured with a default list of enabled checkers
@@ -222,7 +225,7 @@ on Windows.
Finally, another reason it could fail is that either the command line options
or the error output for a syntax checker may have changed. In this case, make
sure you have the latest version of the syntax checker installed. If it still
-fails then post an [issue][4] - or better yet, create a pull request.
+fails then post an [issue][bug_tracker] - or better yet, create a pull request.
@@ -238,18 +241,18 @@ let g:syntastic_python_python_exec = '/path/to/python3'
__4.3. Q. Are there any local checkers for HTML5 that I can use with syntastic?__
-[HTML Tidy][18] has a fork named [HTML Tidy for HTML5][19]. It's a drop
+[HTML Tidy][tidy_old] has a fork named [HTML Tidy for HTML5][tidy]. It's a drop
in replacement, and syntastic can use it without changes. Just install it
somewhere and point `g:syntastic_html_tidy_exec` to its executable:
```vim
let g:syntastic_html_tidy_exec = 'tidy5'
```
-Alternatively, you can install [vnu.jar][21] from the [validator.nu][20]
-project and run it as a [HTTP server][23]:
+Alternatively, you can install [vnu.jar][vnu_jar] from the [validator.nu][vnu]
+project and run it as a [HTTP server][vnu_server]:
```sh
$ java -Xss512k -cp /path/to/vnu.jar nu.validator.servlet.Main 8888
```
-Then you can [configure][22] syntastic to use it:
+Then you can configure syntastic to use it:
```vim
let g:syntastic_html_validator_api = 'http://localhost:8888/'
```
@@ -260,7 +263,7 @@ __4.4. Q. The `perl` checker has stopped working...__
A. The `perl` checker runs `perl -c` against your file, which in turn
__executes__ any `BEGIN`, `UNITCHECK`, and `CHECK` blocks, and any `use`
-statements in your file (cf. [perlrun][10]). This is probably fine if you
+statements in your file (cf. [perlrun][perlrun]). This is probably fine if you
wrote the file yourself, but it's a security problem if you're checking
third-party files. Since there is currently no way to disable this behaviour
while still producing useful results, the checker is now disabled by default.
@@ -274,7 +277,7 @@ let g:syntastic_enable_perl_checker = 1
__4.5. Q. What happened to the `rustc` checker?__
-A. It is now part of the [rust.vim][12] plugin. If you install this plugin the
+A. It is now part of the [rust.vim][rust] plugin. If you install this plugin the
checker should be picked up automatically by syntastic.
@@ -282,7 +285,7 @@ checker should be picked up automatically by syntastic.
__4.6. Q. What happened to the `xcrun` checker?__
A. The `xcrun` checker used to have a security problem and it has been removed.
-A better checker for __Swift__ is part of the [vim-swift][24] plugin. If you
+A better checker for __Swift__ is part of the [vim-swift][swift] plugin. If you
install this plugin the checker should be picked up automatically by syntastic.
@@ -324,8 +327,8 @@ A. Stick a line like this in your `vimrc`:
let g:syntastic__checkers = ['']
```
-To see the list of supported checkers for your filetype look at the
-[wiki][3].
+To see the list of supported checkers for your filetype read the
+[manual][checkers] (`:help syntastic-checkers` in Vim).
e.g. Python has the following checkers, among others: `flake8`, `pyflakes`,
`pylint` and a native `python` checker.
@@ -406,7 +409,7 @@ A. Vim provides several built-in commands for this. See `:help :lnext` and
`:help :lprevious`.
If you use these commands a lot then you may want to add shortcut mappings to
-your `vimrc`, or install something like [unimpaired][2], which provides such
+your `vimrc`, or install something like [unimpaired][unimpaired], which provides such
mappings (among other things).
@@ -427,50 +430,50 @@ cabbrev bd =(getcmdtype()==#':' && getcmdpos()==1 ? 'lclose\|bdele
## 5\. Resources
The preferred place for posting suggestions, reporting bugs, and general
-discussions related to syntastic is the [issue tracker at GitHub][4].
-A guide for writing syntax checkers can be found in the [wiki][11].
-There are also a dedicated [google group][5], and a
-[syntastic tag at StackOverflow][6].
+discussions related to syntastic is the [issue tracker at GitHub][bug_tracker].
+A guide for writing syntax checkers can be found in the [wiki][guide].
+There are also a dedicated [google group][google_group], and a
+[syntastic tag at StackOverflow][stack_overflow].
Syntastic aims to provide a common interface to syntax checkers for as many
languages as possible. For particular languages, there are, of course, other
plugins that provide more functionality than syntastic. You might want to take
-a look at [ghcmod-vim][31], [jedi-vim][7], [python-mode][8], [vim-go][32], or
-[YouCompleteMe][9].
+a look at [ghcmod-vim][ghcmod], [jedi-vim][jedi], [python-mode][python_mode], [vim-go][vimgo], or
+[YouCompleteMe][ycm].
-[0]: https://github.com/scrooloose/syntastic/raw/master/_assets/screenshot_1.png
-[1]: https://github.com/tpope/vim-pathogen
-[2]: https://github.com/tpope/vim-unimpaired
-[3]: https://github.com/scrooloose/syntastic/wiki/Syntax-Checkers
-[4]: https://github.com/scrooloose/syntastic/issues
-[5]: https://groups.google.com/group/vim-syntastic
-[6]: http://stackoverflow.com/questions/tagged/syntastic
-[7]: https://github.com/davidhalter/jedi-vim
-[8]: https://github.com/klen/python-mode
-[9]: http://valloric.github.io/YouCompleteMe/
-[10]: http://perldoc.perl.org/perlrun.html#*-c*
-[11]: https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide
-[12]: https://github.com/rust-lang/rust.vim
-[13]: http://www.vim.org/
-[14]: https://github.com/Shougo/neobundle.vim
-[15]: https://github.com/MarcWeber/vim-addon-manager
-[16]: https://github.com/junegunn/vim-plug/
-[17]: https://github.com/gmarik/Vundle.vim
-[18]: http://tidy.sourceforge.net/
-[19]: http://www.htacg.org/tidy-html5/
-[20]: http://about.validator.nu/
-[21]: https://github.com/validator/validator/releases/latest
-[22]: https://github.com/scrooloose/syntastic/wiki/HTML%3A---validator
-[23]: http://validator.github.io/validator/#standalone
-[24]: https://github.com/kballard/vim-swift
-[25]: https://github.com/OmniSharp/omnisharp-vim
-[26]: https://github.com/myint/syntastic-extras
-[27]: https://github.com/roktas/syntastic-more
-[28]: https://github.com/venantius/vim-eastwood
-[29]: https://github.com/rhysd/vim-crystal
-[30]: https://github.com/the-lambda-church/merlin
-[31]: https://github.com/eagletmt/ghcmod-vim
-[32]: https://github.com/fatih/vim-go
+[screenshot]: https://github.com/scrooloose/syntastic/raw/master/_assets/screenshot_1.png
+
+[bug_tracker]: https://github.com/scrooloose/syntastic/issues
+[checkers]: https://github.com/scrooloose/syntastic/blob/master/doc/syntastic-checkers.txt
+[crystal]: https://github.com/rhysd/vim-crystal
+[eastwood]: https://github.com/venantius/vim-eastwood
+[ghcmod]: https://github.com/eagletmt/ghcmod-vim
+[google_group]: https://groups.google.com/group/vim-syntastic
+[guide]: https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide
+[jedi]: https://github.com/davidhalter/jedi-vim
+[merlin]: https://github.com/the-lambda-church/merlin
+[myint]: https://github.com/myint/syntastic-extras
+[neobundle]: https://github.com/Shougo/neobundle.vim
+[omnisharp]: https://github.com/OmniSharp/omnisharp-vim
+[pathogen]: https://github.com/tpope/vim-pathogen
+[perlrun]: http://perldoc.perl.org/perlrun.html#*-c*
+[plug]: https://github.com/junegunn/vim-plug/
+[python_mode]: https://github.com/klen/python-mode
+[roktas]: https://github.com/roktas/syntastic-more
+[rust]: https://github.com/rust-lang/rust.vim
+[stack_overflow]: http://stackoverflow.com/questions/tagged/syntastic
+[swift]: https://github.com/kballard/vim-swift
+[tidy]: http://www.htacg.org/tidy-html5/
+[tidy_old]: http://tidy.sourceforge.net/
+[unimpaired]: https://github.com/tpope/vim-unimpaired
+[vam]: https://github.com/MarcWeber/vim-addon-manager
+[vim]: http://www.vim.org/
+[vimgo]: https://github.com/fatih/vim-go
+[vnu]: http://about.validator.nu/
+[vnu_jar]: https://github.com/validator/validator/releases/latest
+[vnu_server]: http://validator.github.io/validator/#standalone
+[vundle]: https://github.com/gmarik/Vundle.vim
+[ycm]: http://valloric.github.io/YouCompleteMe/