Go to file
2015-12-17 10:47:00 +01:00
after Update 2015-12-17 10:44:58 +01:00
autoload Update 2015-12-17 10:44:58 +01:00
compiler Update 2015-12-17 10:44:58 +01:00
ftdetect Add nix support, closes #97 2015-12-17 10:47:00 +01:00
ftplugin Add nix support, closes #97 2015-12-17 10:47:00 +01:00
indent Update 2015-12-17 10:44:58 +01:00
spec Allow for reusing vim server locally (testing) 2013-12-27 16:44:34 +01:00
syntax Add nix support, closes #97 2015-12-17 10:47:00 +01:00
.gitattributes Do not ignore build script (can be useful for auto-updating) 2015-07-18 21:30:45 +02:00
.gitignore Add first version of build script 2013-09-12 15:50:45 +02:00
.travis.yml Try sudo-less build on travis 2015-12-06 12:12:02 +01:00
build Add nix support, closes #97 2015-12-17 10:47:00 +01:00
Gemfile Move specs location one level down 2013-09-14 20:20:59 +02:00
Gemfile.lock Move specs location one level down 2013-09-14 20:20:59 +02:00
plugin_guard.vim.template Allow disabling individual language packs 2015-07-18 23:04:34 +02:00
README.md Add nix support, closes #97 2015-12-17 10:47:00 +01:00

vim-polyglot Build Status

A collection of language packs for Vim.

One to rule them all, one to find them, one to bring them all and in the darkness bind them.

  • It won't affect your startup time, as scripts are loaded only on demand*.
  • It installs 70+ times faster than 70+ packages it consist of.
  • Solid syntax and indentation support. Only the best language packs.
  • All unnecessary files are ignored (like enormous documentation from php support).
  • No support for esoteric languages, only most popular ones (modern too, like slim).
  • Each build is tested by automated vimrunner script on CI. See spec directory.

*To be completely honest, concatenated ftdetect script takes around 3ms to load.

Installation

  1. Install Pathogen, Vundle, NeoBundle, or Plug package manager for Vim.
  2. Use this repository as submodule or package.

Optionally download one of the releases and unpack it directly under ~/.vim directory.

Language packs

  • arduino (syntax, indent, ftdetect)
  • blade (syntax, indent, ftdetect)
  • c++11 (syntax)
  • c/c++ (syntax)
  • cjsx (ftdetect, syntax, ftplugin)
  • clojure (syntax, indent, autoload, ftplugin, ftdetect)
  • coffee-script (syntax, indent, compiler, autoload, ftplugin, ftdetect)
  • css (syntax)
  • cucumber (syntax, indent, compiler, ftplugin, ftdetect)
  • dart (syntax, indent, autoload, ftplugin, ftdetect)
  • dockerfile (syntax, ftdetect)
  • elm (syntax, indent, autoload, ftplugin, ftdetect)
  • elixir (syntax, indent, compiler, ftplugin, ftdetect)
  • emberscript (syntax, indent, ftplugin, ftdetect)
  • emblem (syntax, indent, ftplugin, ftdetect)
  • erlang (syntax, indent, ftdetect)
  • git (syntax, indent, ftplugin, ftdetect)
  • glsl (syntax, indent, ftdetect)
  • go (syntax, compiler, indent, ftdetect)
  • groovy (syntax)
  • haml (syntax, indent, compiler, ftplugin, ftdetect)
  • handlebars (syntax, indent, ftplugin, ftdetect)
  • haskell (syntax, indent, ftplugin, ftdetect)
  • haxe (syntax, ftdetect)
  • html5 (syntax, indent, autoload, ftplugin)
  • jade (syntax, indent, ftplugin, ftdetect)
  • jasmine (syntax, ftdetect)
  • javascript (syntax, indent)
  • jinja (syntax, indent, ftdetect)
  • json (syntax, indent, ftdetect)
  • jst (syntax, indent, ftdetect)
  • jsx (ftdetect, after)
  • julia (syntax, indent, ftdetect)
  • kotlin (syntax, indent, ftdetect)
  • latex (syntax, indent, ftplugin)
  • less (syntax, indent, ftplugin, ftdetect)
  • liquid (syntax, indent, ftplugin, ftdetect)
  • markdown (syntax, ftplugin, ftdetect)
  • nginx (syntax, indent, ftdetect)
  • nix (syntax, ftplugin, ftdetect)
  • objc (ftplugin, syntax, indent)
  • ocaml (syntax, indent, ftplugin)
  • octave (syntax)
  • opencl (syntax, indent, ftplugin, ftdetect)
  • perl (syntax, indent, ftplugin, ftdetect)
  • php (syntax)
  • powershell (syntax, indent, ftplugin, ftdetect)
  • protobuf (syntax, ftdetect)
  • puppet (syntax, indent, ftplugin, ftdetect)
  • python (syntax, indent)
  • qml (syntax, indent, ftplugin, ftdetect)
  • ragel (syntax)
  • r-lang (syntax, ftplugin)
  • rspec (syntax, ftdetect)
  • ruby (syntax, indent, compiler, autoload, ftplugin, ftdetect)
  • rust (syntax, indent, compiler, autoload, ftplugin, ftdetect)
  • sbt (syntax, ftdetect)
  • scala (syntax, indent, compiler, ftplugin, ftdetect)
  • slim (syntax, indent, ftdetect)
  • solidity (syntax, indent, ftdetect)
  • stylus (syntax, indent, ftplugin, ftdetect)
  • swift (syntax, indent, ftplugin, ftdetect)
  • systemd (syntax, ftdetect)
  • textile (syntax, ftplugin, ftdetect)
  • thrift (syntax, ftdetect)
  • tmux (syntax, ftdetect)
  • tomdoc (syntax)
  • toml (syntax, ftplugin, ftdetect)
  • twig (syntax, ftplugin, ftdetect)
  • typescript (syntax, indent, compiler, ftplugin, ftdetect)
  • vala (syntax, indent, ftdetect)
  • vbnet (syntax)
  • vcl (syntax, ftdetect)
  • vm (syntax, indent, ftdetect)
  • xls (syntax)
  • yard (syntax)

Disabling a language pack

Individual language packs can be disabled by setting g:polyglot_disabled.

" ~/.vimrc
let g:polyglot_disabled = ['css']

Note that disabiling languages won't make in general your vim startup any faster / slower (only for specific file type). Vim-polyglot is selection of language plugins that are loaded only on demand.

Updating

You can either wait for new patch release with updates or run the ./build script by yourself.

Contributing

Language packs are periodically updated using automated build script.

Feel free to add your language, and send pull-request.

License

See linked repositories for detailed license information.