A solid language pack for Vim.

Last update: May 24, 2022

vim-polyglot

build Maintenance

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 120+ times faster than the 604 packages it consists of.
  • It is also more secure (scripts loaded for every filetype are generated by vim-polyglot)
  • Best syntax and indentation support (no other features). Hand-selected language packs.
  • Automatically detects indentation (includes performance-optimized version of vim-sleuth, can be disabled)

*To be completely honest, optimized ftdetect script takes around 10ms to load.

Installation

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

For example when using Plug (which I recommend):

set nocompatible

call plug#begin()

Plug 'sheerun/vim-polyglot'

call plug#end()

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

You can also use Vim 8 built-in package manager:

git clone --depth 1 https://github.com/sheerun/vim-polyglot ~/.vim/pack/plugins/start/vim-polyglot

Language packs

On top of all language packs from vim repository, vim-polyglot includes:

  • acpiasl (Syntax highlighting for asl and dsl files)
  • ansible
  • apiblueprint (API Blueprint syntax highlighting for apib files)
  • applescript (AppleScript syntax highlighting for applescript and scpt files)
  • arduino (Processing syntax highlighting for pde and ino files)
  • asciidoc (AsciiDoc syntax highlighting for asciidoc, adoc and asc files)
  • autohotkey (AutoHotkey syntax highlighting for ahk and ahkl files)
  • blade (Blade syntax highlighting for blade and blade.php files)
  • brewfile
  • c/c++ (C++ and C syntax highlighting for cpp, c++, cc, cp, cxx and 17 more files)
  • caddyfile
  • carp (Syntax highlighting for carp files)
  • cjsx
  • clojure (Clojure syntax highlighting for clj, boot, cl2, cljc, cljs, cljs.hl, cljscm, cljx, hic and edn files)
  • cmake (CMake syntax highlighting for cmake and cmake.in files)
  • coffee-script (CoffeeScript and Literate CoffeeScript syntax highlighting for coffee, cake, cjsx, iced, coffeekup, cson, litcoffee and coffee.md files)
  • cpp-modern
  • cql (Syntax highlighting for cql files)
  • cryptol (Syntax highlighting for cry, cyl, lcry and lcyl files)
  • crystal (Crystal and HTML+ECR syntax highlighting for cr and ecr files)
  • csv (CSV syntax highlighting for csv, tsv and tab files)
  • cucumber (Gherkin syntax highlighting for feature and story files)
  • cue (Syntax highlighting for cue files)
  • dart (Dart syntax highlighting for dart and drt files)
  • dhall (Dhall syntax highlighting for dhall files)
  • dlang (D syntax highlighting for d, di, lst, dd, ddoc and sdl files)
  • docker-compose
  • elixir (Elixir and HTML+EEX syntax highlighting for ex, exs, eex, html.leex and leex files)
  • elm (Elm syntax highlighting for elm files)
  • emberscript (EmberScript syntax highlighting for em and emberscript files)
  • emblem (Syntax highlighting for emblem and em files)
  • erlang (Erlang syntax highlighting for erl, app.src, es, escript, hrl, xrl, yrl, app and yaws files)
  • fennel (Syntax highlighting for fnl files)
  • ferm (Syntax highlighting for ferm files)
  • fish (fish syntax highlighting for fish files)
  • flatbuffers (Syntax highlighting for fbs files)
  • fsharp (F# syntax highlighting for fs, fsi and fsx files)
  • gdscript (GDScript syntax highlighting for gd files)
  • git (Git Config syntax highlighting for gitconfig files)
  • gitignore
  • gleam (Syntax highlighting for gleam files)
  • glsl (GLSL syntax highlighting for glsl, fp, frag, frg, fs and 16 more files)
  • gmpl (Syntax highlighting for mod files)
  • gnuplot (Gnuplot syntax highlighting for gp, gnu, gnuplot, p, plot, plt and gpi files)
  • go (Go syntax highlighting for go and tmpl files)
  • gradle
  • graphql (GraphQL syntax highlighting for graphql, gql and graphqls files)
  • haml (Haml syntax highlighting for haml, haml.deface, hamlc and hamlbars files)
  • handlebars (Mustache and Handlebars syntax highlighting for mustache, hogan, hulk, hjs, handlebars, hbs, hdbs and hb files)
  • haproxy (HAProxy syntax highlighting)
  • haskell (Haskell syntax highlighting for hs, hs-boot, hsc, bpk and hsig files)
  • haxe (Haxe syntax highlighting for hx and hxsl files)
  • hcl (HCL syntax highlighting for hcl, nomad and workflow files)
  • helm
  • help
  • hive (HiveQL syntax highlighting for q, hql and ql files)
  • hjson (Syntax highlighting for hjson files)
  • html5
  • i3 (Syntax highlighting for i3.config and i3config files)
  • icalendar (Syntax highlighting for ics files)
  • idris2 (Syntax highlighting for idr, ipkg and lidr files)
  • idris (Idris syntax highlighting for idr and lidr files)
  • ion (Syntax highlighting for ion files)
  • javascript-sql
  • javascript (JavaScript syntax highlighting for js, bones, cjs, es, es6 and 18 more files)
  • jenkins (Syntax highlighting for jenkinsfile and Jenkinsfile files)
  • jq (JSONiq syntax highlighting for jq files)
  • json5 (JSON5 syntax highlighting for json5 files)
  • json (JSON syntax highlighting for json, avsc, geojson, gltf, har and 13 more files)
  • jsonc (Syntax highlighting for cjson and jsonc files)
  • jsonnet (Jsonnet syntax highlighting for jsonnet and libsonnet files)
  • jst (EJS syntax highlighting for ejs, ect and jst files)
  • jsx (Syntax highlighting for jsx files)
  • julia (Julia syntax highlighting for jl files)
  • kotlin (Kotlin syntax highlighting for kt, ktm and kts files)
  • ledger (Syntax highlighting for ldg, ledger and journal files)
  • lilypond (LilyPond syntax highlighting for ly and ily files)
  • livescript (LiveScript syntax highlighting for ls files)
  • llvm (LLVM syntax highlighting for ll and td files)
  • log (Syntax highlighting for log and LOG files)
  • lua (Lua syntax highlighting for lua, fcgi, nse, p8, rbxs, rockspec and wlua files)
  • mako (Mako syntax highlighting for mako and mao files)
  • markdown (Markdown syntax highlighting for md, markdown, mdown, mdwn, mkd, mkdn, mkdown, ronn, scd and workbook files)
  • mathematica (Mathematica syntax highlighting for mathematica, cdf, m, ma, mt and 6 more files)
  • mdx (Syntax highlighting for mdx files)
  • meson (Meson syntax highlighting for wrap files)
  • mint (Syntax highlighting for mint files)
  • moonscript (MoonScript syntax highlighting for moon files)
  • nginx (Nginx syntax highlighting for nginx, nginxconf and vhost files)
  • nim (Nim syntax highlighting for nim, nim.cfg, nimble, nimrod and nims files)
  • nix (Nix syntax highlighting for nix files)
  • objc (Objective-C syntax highlighting for m and h files)
  • ocaml (OCaml syntax highlighting for ml, eliom, eliomi, ml4, mli and 13 more files)
  • octave (Syntax highlighting for oct and m files)
  • odin (Odin syntax highlighting for odin files)
  • opencl (OpenCL syntax highlighting for cl and opencl files)
  • perl (Perl syntax highlighting for pl, al, cgi, fcgi, perl and 12 more files)
  • pest (Syntax highlighting for pest files)
  • pgsql (PLpgSQL syntax highlighting for pgsql files)
  • php (PHP syntax highlighting for php, aw, ctp, fcgi, inc and 7 more files)
  • plantuml (PlantUML syntax highlighting for puml, iuml, plantuml, uml and pu files)
  • pony (Pony syntax highlighting for pony files)
  • powershell (PowerShell syntax highlighting for ps1, psd1, psm1, pssc and ps1xml files)
  • protobuf (Protocol Buffer syntax highlighting for proto files)
  • pug (Pug syntax highlighting for jade and pug files)
  • puppet (Puppet syntax highlighting for pp and epp files)
  • purescript (PureScript syntax highlighting for purs files)
  • python-compiler
  • python-indent
  • python (Python syntax highlighting for py, cgi, fcgi, gyp, gypi and 14 more files)
  • qmake (QMake syntax highlighting for pro and pri files)
  • qml (QML syntax highlighting for qml and qbs files)
  • r-lang (R syntax highlighting for r, rsx, s, S and rd files)
  • racket (Racket syntax highlighting for rkt, rktd, rktl and scrbl files)
  • ragel (Ragel syntax highlighting for rl files)
  • raku (Raku syntax highlighting for 6pl, 6pm, nqp, p6, p6l and 12 more files)
  • raml (RAML syntax highlighting for raml files)
  • razor (HTML+Razor syntax highlighting for cshtml and razor files)
  • reason (Reason syntax highlighting for re and rei files)
  • requirements (Syntax highlighting for pip files)
  • rspec
  • rst (reStructuredText syntax highlighting for rst, rest, rest.txt and rst.txt files)
  • ruby (Ruby and HTML+ERB syntax highlighting for rb, builder, eye, fcgi, gemspec and 26 more files)
  • rust (Rust syntax highlighting for rs and rs.in files)
  • scala (Scala syntax highlighting for scala, kojo and sc files)
  • scss (SCSS syntax highlighting for scss files)
  • sh (Shell syntax highlighting for sh, bash, bats, cgi, command and 7 more files)
  • slim (Slim syntax highlighting for slim files)
  • slime (Syntax highlighting for slime files)
  • smt2 (SMT syntax highlighting for smt2 and smt files)
  • solidity (Solidity syntax highlighting for sol files)
  • stylus (Stylus syntax highlighting for styl and stylus files)
  • svelte (Svelte syntax highlighting for svelte files)
  • svg-indent
  • svg (SVG syntax highlighting for svg files)
  • sway
  • swift (Swift syntax highlighting for swift files)
  • sxhkd (Syntax highlighting for sxhkdrc files)
  • systemd (Syntax highlighting for automount, dnssd, link, mount, netdev and 9 more files)
  • terraform (Syntax highlighting for tf and tfvars files)
  • textile (Textile syntax highlighting for textile files)
  • thrift (Thrift syntax highlighting for thrift files)
  • tmux
  • toml (TOML syntax highlighting for toml files)
  • tptp (Syntax highlighting for p, tptp and ax files)
  • twig (Twig syntax highlighting for twig and xml.twig files)
  • typescript (TypeScript and TSX syntax highlighting for ts and tsx files)
  • unison (Syntax highlighting for u and uu files)
  • v (V syntax highlighting for v, vv and vsh files)
  • vala (Vala syntax highlighting for vala, vapi and valadoc files)
  • vbnet (Visual Basic .NET syntax highlighting for vb and vbhtml files)
  • vcl (VCL syntax highlighting for vcl files)
  • velocity (Syntax highlighting for vm files)
  • vue (Vue syntax highlighting for vue and wpy files)
  • xdc (Syntax highlighting for xdc files)
  • xml (XML syntax highlighting for xml, adml, admx, ant, axml and 94 more files)
  • xsl (XSLT syntax highlighting for xslt and xsl files)
  • yard
  • zephir (Zephir syntax highlighting for zep files)
  • zig (Zig syntax highlighting for zir, zig and zir files)
  • zinit

Updating

You can either wait for new patch release with updates or run make by yourself.

Troubleshooting

Please make sure you have set nocompatible in your .vimrc (or use something like sheerun/vimrc)

Individual language packs can be disabled by setting g:polyglot_disabled as follows:

Please declare this variable before polyglot is loaded (at the top of .vimrc)

let g:polyglot_disabled = ['markdown']

The list of available languages to disable is shown above.

If you wish to use filetype detection by Vim Polyglot but you'd like to use your own syntax-highlighting plugin, you can append .plugin to disabled entry, like below. Disabling Vim Polyglot filetype plugin won't disable native Vim filetype plugin.

let g:polyglot_disabled = ['markdown.plugin']

Please note that disabling a language won't make in your vim startup any faster / slower (only for specific this specific filetype). All plugins are lazily loaded only when they are really needed.

Autoindent

Vim Polyglot tries to automatically detect indentation settings (just like vim-sleuth). If this feature is not working for you for some reason, please file an issue and disable it temporarily with:

let g:polyglot_disabled = ['autoindent']

Reindent

If you want to disable reindening of the current line in insert mode (see vim 'indentkeys') you can turn it off with:

autocmd BufEnter * set indentexpr=

This will not affect smart autoindenting when starting a new line.

Default settings

Vim Polyglot includes vim-sensible plugin, which is usually necessary for editing any language. This can be disabled with:

let g:polyglot_disabled = ['sensible']

No ftdetect

If you want to use vim-polyglot plugins, but not ftdetect autocommands, the you can disable it as so:

let g:polyglot_disabled = ['ftdetect']

Contributing

Language packs are periodically updated using automated scripts/build script.

Feel free to add your language to packages.yaml + heuristics.yaml, and send pull-request. You can run make test to run rough tests. And make dev for easy development.

License

See linked repositories for detailed license information. This repository is MIT-licensed.

GitHub

https://github.com/sheerun/vim-polyglot
Comments
  • 1. Improper install of vim-polyglot. Please add 'packload' to .vimrc but vim-polyglot is not installed as opt package

    Does this bug happen when you install plugin without vim-polyglot? No

    Describe the bug: I'm using https://github.com/k-takata/minpac to install packages & I'm installing vim-polyglot as a start package that will get loaded automatically when neovim starts not as an opt one. So I shouldn't get this message.

    To Reproduce:

    • git clone --depth 1 https://github.com/sheerun/vim-polyglot ~/.vim/pack/plugins/start/sheerun/vim-polyglot
    • open neovim
    Reviewed by ahmedelgabri at 2020-09-30 08:52
  • 2. Neovim/Vim8 support broken because of `vim9script` in `autoload/polyglot/ft.vim`

    Does this bug happen when you install plugin without vim-polyglot?

    No.

    Describe the bug:

    Changes to autoload/polyglot/ft.vim in b77c5f11070ecb2ff343aa18b4ea859e6168f16c seems to introduce a bunch of Vim 9 stuff not supported by Neovim (and never will be?). It also breaks on older versions of Vim.

    To Reproduce:

    Open a shell script, e.g. nvim foo.sh.

    Reviewed by lithammer at 2022-02-17 07:37
  • 3. C++ Folding Blocks Bug

    The c++ fold syntax behaves buggy with block folds. Any block fold seems to end on the last fold found in the file. E.g:

    func1()
    { //<--- fold starts here
    
    }
    
    func2()
    {
    
    }//<---- fold ends here
    

    This error does not occur is C files (only C++). Also this bug seems to only apply to a newly written c++ file when it has been written to for the first time which seems to imply that the error happens during some parsing stage when the file buffer is newly loaded. Also comment folds have no affect on this bug (as far as I've observed)

    Reviewed by theNerd247 at 2015-01-22 19:32
  • 4. set noswapfile

    Describe the bug: In commit 739102e06df4fe5bca752d1163b954603912bc98 swap files had been disabled. I don't think that silently disabling swap files by default is a good idea and I learned about it the hard way.

    To Reproduce:

    :set swapfile?
    noswapfile
    

    Workaround:

    let g:polyglot_disabled = ['sensible']
    
    Reviewed by magras at 2020-11-26 22:20
  • 5. JSX detection no longer working after upgrade

    I upgraded this plugin to the latest version yesterday, and since then JSX syntax highlighting is nolonger working. I had a look through previous issues and found https://github.com/sheerun/vim-polyglot/issues/460, which I initially presumed was the same issue. However my issue related to vim and not neovim, and checking out the plugin at the commit for the fix here: https://github.com/sheerun/vim-polyglot/commit/16774887a3fe26a09326585f871748ddf158905e gets highlighting to work again.

    I traced through subsequent commits, and pinpointed this commit which is the point where jsx highlighting stops working again:

    https://github.com/sheerun/vim-polyglot/commit/cdb8e233c2e01c835ec78ae453c9793ade224309

    My workaround for the time being will be to run this plugin at the commit previous to this, by adding this command to .vimrc:

    silent! let g:plugs['vim-polyglot'].commit = 'ff282f610f871114fc5fa51f8c43d8b371aebbaf'
    
    Reviewed by danbroooks at 2020-08-26 07:49
  • 6. g:polyglot_disabled = ['autoindent'] doesn't allow vim-sleuth to load

    Does this bug happen when you install plugin without vim-polyglot? No

    Describe the bug: For reasons unrelated to this bug I would like to disable the polyglot version of the indent detection and continue using vim-sleuth. Now, I can only speculate, but I assume, by default, vim-polyglot somehow detects that vim-sleuth is loaded and unloads it, since no vim-sleuth commands are available starting from vim-polyglot v4.8.0?

    Is it possible to make it so g:polyglot_disabled = ['autoindent'] also lets vim-sleuth be loaded normally?

    To Reproduce:

    • Have vim-sleuth and vim-polyglot (version v4.8.0+) installed.
    • Have g:polyglot_disabled = ['autoindent'] applied
    • Verify :Sleuth is not found
    Reviewed by andrey-bolduzev at 2020-09-08 21:11
  • 7. Javascript indentation

    Does this bug happen when you install plugin without vim-polyglot? No Describe the bug: When I add vim-polyglot plugin, the indentation for javascript blocks stops to work. To Reproduce:

      componentWillMount () {
        const { session, dispatch, randomMethod } = this.props .  <--- place cursor anywhere on this line and press O (for entering the insertation mode)
        randomMethod(session.token)
      }
    
    

    desired behaviour:

      componentWillMount () {
        const { session, dispatch, randomMethod } = this.props
        | <-- cursor is placed here
        randomMethod(session.token)
      }
    
    

    actual behavour:

      componentWillMount () {
        const { session, dispatch, randomMethod } = this.props
    | <-- cursor is placed here
        randomMethod(session.token)
      }
    
    

    part of my ~/.vimrc with plugins and stuff related with indent etc.:

    
    ...
    set wrap
    set textwidth=79
    set tabstop=2
    set expandtab
    set shiftwidth=2
    set autoindent
    set smartindent
    
    filetype on
    filetype plugin on
    filetype indent on
    
    ...
    " Unmanaged plugin (manually installed and updated)
    Plug 'pangloss/vim-javascript'
    Plug 'mxw/vim-jsx'
    Plug 'vim-airline/vim-airline'
    Plug 'justinmk/vim-sneak'
    Plug 'tpope/vim-surround'
    Plug 'dyng/ctrlsf.vim'
    Plug 'tpope/vim-fugitive'
    Plug 'morhetz/gruvbox'
    Plug 'w0rp/ale'
    Plug '/usr/local/opt/fzf'
    Plug 'junegunn/fzf.vim'
    Plug 'unblevable/quick-scope'
    "Plug 'sheerun/vim-polyglot'
    Plug 'jiangmiao/auto-pairs'
    Plug 'mileszs/ack.vim'
    Plug 'scrooloose/nerdtree'
    Plug 'scrooloose/nerdcommenter'
    Plug 'mhinz/vim-startify'
    Plug 'ntpeters/vim-better-whitespace'
    Plug 'Yggdroot/indentLine'
    Plug 'tpope/vim-cucumber'
    Plug 'tpope/vim-rhubarb'
    Plug 'ludovicchabant/vim-gutentags'
    Plug 'Valloric/YouCompleteMe'
    Plug 'docunext/closetag.vim'
    Plug 'mattn/emmet-vim'
    Plug 'vim-scripts/argtextobj.vim'
    Plug 'vim-scripts/SearchComplete'
    Plug 'tpope/vim-endwise'
    "  Initialize plugin system
    call plug#end()
    

    Edit: Apparently this issue only exists in Vim 8.1, switching to Neovim resolves the problem.

    Reviewed by nidzola at 2019-04-05 23:23
  • 8. Custom C/C++ syntax broken after commit cbde2571d4f79770ac552fe75440de72893bc73a

    I use a custom function to highlight C/C++ objects and it was working perfectly before the aforementioned commit: 'Respect symlinks for resolving vim-polyglot as fallback, closes #601'

    The problem seems to be that the custom .vim/after/syntax/c.vim is the only file read , where before, the custom changes were applied on top of bfrg/vim-cpp-modern/after/syntax/c.vim

    Before:

    Screen Shot 2020-10-25 at 12 22 54

    After: Screen Shot 2020-10-25 at 12 22 30

    Reviewed by kostiskalkounos at 2020-10-25 11:27
  • 9. Improve filetype detection heuristics (e.g. objectivec vs mathematica)

    Does this bug happen when you install plugin without vim-polyglot?

    No.

    Describe the bug:

    Setting g:filetype_m = 'objc' gets overridden by vim-polyglot on line 391 of ftdetect/polyglot.vim.

    Likewise, setting au BufRead,BufNewFile *.m set filetype=objc within ftdetect/objc.vim or equivalents in $VIMRUNTIME/filetype.vim get overridden.

    To Reproduce:

    Put the configurations described above. Load without vim-polyglot and observe the filetype is set to objc. With vim-polyglot, observe the filetype is set to mma.

    Reviewed by chipsenkbeil at 2020-06-06 00:06
  • 10. Make syntax concealing optional for JSON + Markdown.

    Allow users to toggle concealing off for JSON and Markdown using the following new options:

    " turn off JSON conceal *mirrors vim-json's setting
    let g:vim_json_syntax_conceal = 0
    
    " turn off Markdown conceal
    let g:vim_markdown_syntax_conceal = 0
    

    Default is on, so should have the same expected behavior OOB. I can add more options for other languages, but these were the 2 that affected me personally.

    Reviewed by robhurring at 2016-05-04 15:11
  • 11. Polyglot overwrite tab size for Fortran fixed format

    Does this bug happen when you install plugin without vim-polyglot? no

    Describe the bug: Polyglot seems to overwrite the setting for tab size in neovim while editing fortran77 (fixed format) code. With polyglot enabled the tab size for fortran77 is 6. Removing the entire polyglot plugin fixed the issue. I tried disabling polyglot just for fortran with the following

    let g:polyglot_disabled = ['fortran']

    but it does not fixed the issue.

    To Reproduce: Set tab size other than 6.

    set tabstop=2

    Install and enable polyglot, then try using tab in a fortran77 file.

    Reviewed by rapid-tap at 2020-10-18 02:41
  • 12. Puppet highlighting is not loaded

    Seems as if puppet highlighting is not loaded properly. If i clone the module used in this repo manually, it works.
    I've tried a make build to ensure latest version is present to no avail.
    Example: this snippet from the PostgreSQL module:

    # @api private
    class postgresql::repo (
      $version = undef,
      $proxy = undef,
      $baseurl = undef,
    ) {
      case $::osfamily {
        'RedHat', 'Linux': {
          if $version == undef {
            fail("The parameter 'version' for 'postgresql::repo' is undefined. You must always define it when osfamily == Redhat or Linux")
          }
          class { 'postgresql::repo::yum_postgresql_org': }
        }
    
        'Debian': {
          class { 'postgresql::repo::apt_postgresql_org': }
        }
    
        default: {
          fail("Unsupported managed repository for osfamily: ${::osfamily}, operatingsystem: ${::operatingsystem}, module ${module_name} currently only supports managing repos for osfamily RedHat and Debian")
        }
      }
    }
    
    Reviewed by jinithin at 2022-05-04 14:02
  • 13. Increased startup time?

    Hi there! Can you advice me, please, what may I doing wrong, if in my setup vim-polyglot takes about 60+ms (timing differs time to time, it may even be 200+ sometimes) from startuptime in total?

    Here is the grep from the startup log:

    $  sed -nre "/polyglot/{[email protected]${HOME}/.local/share/nvim/site/pack/packer/[email protected]@;p}" startup.log
    020.546  000.017  000.017: sourcing /vim-polyglot/filetype.vim
    021.644  000.039  000.039: sourcing /vim-polyglot/ftdetect/polyglot.vim
    049.683  029.938  029.480: sourcing /vim-polyglot/autoload/polyglot/init.vim
    049.711  030.226  000.288: sourcing /vim-polyglot/filetype.vim
    057.288  003.353  003.353: sourcing /vim-polyglot/plugin/polyglot.vim
    078.686  000.032  000.032: sourcing /vim-polyglot/filetype.vim
    079.657  000.022  000.022: sourcing /vim-polyglot/filetype.vim
    080.981  000.030  000.030: sourcing /vim-polyglot/filetype.vim
    214.224  000.227  000.227: sourcing /vim-polyglot/plugin/polyglot.vim
    257.451  001.261  001.261: sourcing /vim-polyglot/autoload/polyglot/sleuth.vim
    

    As I can see here, time consumers are /autoload/polyglot/init.vim and /filetype.vim. And I have totally no idea even if it is just as planned or not :shrug:

    Reviewed by msva at 2022-04-28 09:04
  • 14. [filetype.lua] Incompatible with neovim filetype.lua

    Does this bug happen when you install plugin without vim-polyglot?

    Describe the bug:

    When polyglot.vim enabled, the neovim filetype.lua not worked. May related with filetypedetect autogroup.

    To Reproduce:

    Reviewed by hiberabyss at 2022-04-24 07:33
Emacs support for Apple's Swift programming language.

swift-mode Major-mode for Apple's Swift programming language. Installation Install swift-mode package from MELPA. To install without MELPA, download l

May 17, 2022
Scribe-iOS is a pack of iOS and iPadOS keyboards for language learners
Scribe-iOS is a pack of iOS and iPadOS keyboards for language learners

Scribe-iOS is a pack of iOS and iPadOS keyboards for language learners. Features include translation (beta), verb conjugation and word annotation that give users the tools needed to communicate with confidence.

May 19, 2022
Vim runtime files for Swift
Vim runtime files for Swift

Swift.vim Syntax and indent files for Swift If you don't have a preferred installation method check out vim-plug. Examples Syntastic Integration swift

May 13, 2022
XVim2 - Vim key-bindings for Xcode 9

XVim2 XVim2 is a Vim plugin for Xcode intending to offer a compelling Vim experience without the need to give up any Xcode features. Xcode 9 or above,

May 2, 2022
OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices.
OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices.

Text Chat Accelerator Pack iOS This project is deprecated The OpenTok Text Chat Accelerator Pack for iOS project is now a part of Accelerator Core iOS

Jan 26, 2022
Use Swift to pack ambiguous image that display differently on Apple and Other devices

Aibmoe Use Swift to pack ambiguous image that display differently on Apple and O

Feb 3, 2022
A flexible container view featuring a solid background with rounded corners.
A flexible container view featuring a solid background with rounded corners.

A flexible container view featuring a solid background with rounded corners.

Jan 22, 2022
Simple utility to change macOS Big Sur menu bar color by appending a solid color or gradient rectangle to a wallpaper image
Simple utility to change macOS Big Sur menu bar color by appending a solid color or gradient rectangle to a wallpaper image

Change menu bar color in macOS Big Sur Simple utility to change macOS Big Sur menu bar color by appending a solid color or gradient rectangle to a wal

May 17, 2022
Implemented MVVM-C (Coordinator) architecture pattern for the project. Which is satisfying SOLID principles altogether. Protocol oriented development has been followed.

BreakingBad BreakingBad API doc Implemented MVVM-C (Coordinator) architecture pattern for the project. Which is satisfying SOLID principples altogethe

Mar 10, 2022
Repositório para estudos dos 5 princípios conhecidos como SOLID.

SOLID ?? Repositório para estudos dos 5 princípios conhecidos como SOLID. O que é SOLID? SOLID é um acrônimo dos cinco primeiros princípios da program

Mar 8, 2022
An advanced Swift (IOS Native) application that uses SOLID architectural principles, consumes a RESTFUL Service, downloads & images using best practices.
An advanced Swift (IOS Native) application that uses SOLID architectural principles, consumes a RESTFUL Service, downloads & images using best practices.

dog-playground-ios An advanced Swift (IOS Native) application that uses SOLID architectural principles, consumes a RESTFUL Service, downloads &amp; im

Jan 10, 2022
Localization of the application with ability to change language "on the fly" and support for plural form in any language.
Localization of the application with ability to change language

L10n-swift is a simple framework that improves localization in swift app, providing cleaner syntax and in-app language switching. Overview ?? Features

May 20, 2022
A repository for showcasing my knowledge of the Swift programming language, and continuing to learn the language.
A repository for showcasing my knowledge of the Swift programming language, and continuing to learn the language.

Learning Swift (programming language) I know very little about programming in the Swift programming language. This document will go over all my knowle

Nov 27, 2021
A repository for showcasing my knowledge of the Objective-C++ programming language, and continuing to learn the language.

Learning Objective-C-Plus-Plus I hardly know anything about the Objective-C++ programming language. This document will go over all of my knowledge of

Mar 27, 2022
A repository for showcasing my knowledge of the Objective-C programming language, and continuing to learn the language.
A repository for showcasing my knowledge of the Objective-C programming language, and continuing to learn the language.

Learning Objective-C I hardly know anything about the Objective-C programming language. This document will go over all of my knowledge of the Objectiv

Mar 8, 2022
Launch App in selected language, or set as Default language

app lang switcher alfred workflow Launch App in selected language, or set as Default language. Credits: This is a swift clone of AlfredWorkflow-App-La

Mar 21, 2022
Explanations and samples about the Swift programming language
Explanations and samples about the Swift programming language

About Swift Contents Explanations and samples about: Swift Programming Language Swift Standard Library Target audience Developers familiar with object

May 10, 2022
A collection useful tips for the Swift language
A collection useful tips for the Swift language

SwiftTips The following is a collection of tips I find to be useful when working with the Swift language. More content is available on my Twitter acco

May 3, 2022
Emacs support for Apple's Swift programming language.

swift-mode Major-mode for Apple's Swift programming language. Installation Install swift-mode package from MELPA. To install without MELPA, download l

May 17, 2022
The Package Manager for the Swift Programming Language

Swift Package Manager Project The Swift Package Manager is a tool for managing distribution of source code, aimed at making it easy to share your code

May 18, 2022