9.0 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)
- crystal (syntax, indent, autoload, 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)
- jasmine (syntax, ftdetect)
- javascript (syntax, indent, ftplugin, 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)
- mako (syntax, indent, ftplugin, ftdetect)
- markdown (syntax, 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)
- pgsql (syntax, ftdetect)
- php (syntax)
- plantuml (syntax, ftplugin, ftdetect)
- powershell (syntax, indent, ftplugin, ftdetect)
- protobuf (syntax, indent, ftdetect)
- pug (syntax, indent, ftplugin, ftdetect)
- puppet (syntax, indent, ftplugin, ftdetect)
- purescript (syntax, indent, 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, ftplugin, 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, ftplugin, 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)
Updating
You can either wait for new patch release with updates or run the ./build
script by yourself.
Troubleshooting
Please make sure you have syntax on
in your .vimrc
, otherwise syntax files are not loaded at all.
Individual language packs can be disabled by setting g:polyglot_disabled
as follows:
" ~/.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.
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.