8.4 KiB
vim-polyglot
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 and updates 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
- Install Pathogen, Vundle, NeoBundle, or Plug package manager for Vim.
- Use this repository as submodule or package.
Optionally download one of the releases and unpack it directly under ~/.vim
directory.
Language packs
- ansible (syntax, indent, ftplugin, ftdetect)
- arduino (syntax, indent, ftdetect)
- blade (syntax, indent, ftplugin, 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)
- cryptol (syntax, compiler, ftplugin, ftdetect)
- cql (syntax, ftdetect)
- css (syntax)
- cucumber (syntax, indent, compiler, ftplugin, ftdetect)
- dart (syntax, indent, autoload, ftplugin, ftdetect)
- dockerfile (syntax, ftdetect)
- elixir (syntax, indent, compiler, ftplugin, ftdetect)
- elm (syntax, indent, autoload, ftplugin, ftdetect)
- emberscript (syntax, indent, ftplugin, ftdetect)
- emblem (syntax, indent, ftplugin, ftdetect)
- erlang (syntax, indent, ftdetect)
- fish (syntax, indent, compiler, autoload, ftplugin, 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)
- nim (syntax, compiler, 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)
- r-lang (syntax, ftplugin)
- ragel (syntax)
- 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)
- typescript (syntax, indent, compiler, ftplugin, ftdetect)
- vala (syntax, indent, ftdetect)
- vbnet (syntax)
- vcl (syntax, ftdetect)
- vm (syntax, indent, ftdetect)
- xls (syntax)
- yaml (syntax, ftplugin)
- 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.