This commit is contained in:
Adam Stankiewicz
2020-10-16 13:41:54 +02:00
parent cd919c0039
commit 3ee6ab9d13
21 changed files with 493 additions and 221 deletions

288
README.md
View File

@@ -44,159 +44,159 @@ If you need full functionality of any plugin, please use it directly with your p
On top of all language packs from [vim repository](https://github.com/vim/vim/tree/master/runtime), vim-polyglot includes: On top of all language packs from [vim repository](https://github.com/vim/vim/tree/master/runtime), vim-polyglot includes:
<!--Language Packs--> <!--Language Packs-->
- [acpiasl](https://github.com/martinlroth/vim-acpi-asl)(asl filetype) - [acpiasl](https://github.com/martinlroth/vim-acpi-asl) (asl filetype)
- [ansible](https://github.com/pearofducks/ansible-vim)(yaml.ansible filetype) - [ansible](https://github.com/pearofducks/ansible-vim) (yaml.ansible filetype)
- [apiblueprint](https://github.com/kylef/apiblueprint.vim)(apiblueprint filetype) - [apiblueprint](https://github.com/kylef/apiblueprint.vim) (apiblueprint filetype)
- [applescript](https://github.com/mityu/vim-applescript)(applescript filetype) - [applescript](https://github.com/mityu/vim-applescript) (applescript filetype)
- [arduino](https://github.com/sudar/vim-arduino-syntax)(arduino filetype) - [arduino](https://github.com/sudar/vim-arduino-syntax) (arduino filetype)
- [asciidoc](https://github.com/asciidoc/vim-asciidoc)(asciidoc filetype) - [asciidoc](https://github.com/asciidoc/vim-asciidoc) (asciidoc filetype)
- [autohotkey](https://github.com/hnamikaw/vim-autohotkey)(autohotkey filetype) - [autohotkey](https://github.com/hnamikaw/vim-autohotkey) (autohotkey filetype)
- [blade](https://github.com/jwalton512/vim-blade)(blade filetype) - [blade](https://github.com/jwalton512/vim-blade) (blade filetype)
- [brewfile](https://github.com/bfontaine/Brewfile.vim)(brewfile filetype) - [brewfile](https://github.com/bfontaine/Brewfile.vim) (brewfile filetype)
- [c/c++](https://github.com/vim-jp/vim-cpp)(cpp, and c filetypes) - [c/c++](https://github.com/vim-jp/vim-cpp) (cpp, and c filetypes)
- [caddyfile](https://github.com/isobit/vim-caddyfile)(caddyfile filetype) - [caddyfile](https://github.com/isobit/vim-caddyfile) (caddyfile filetype)
- [carp](https://github.com/hellerve/carp-vim)(carp filetype) - [carp](https://github.com/hellerve/carp-vim) (carp filetype)
- [cjsx](https://github.com/mtscout6/vim-cjsx) - [cjsx](https://github.com/mtscout6/vim-cjsx)
- [clojure](https://github.com/guns/vim-clojure-static)(clojure filetype) - [clojure](https://github.com/guns/vim-clojure-static) (clojure filetype)
- [cmake](https://github.com/pboettch/vim-cmake-syntax)(cmake filetype) - [cmake](https://github.com/pboettch/vim-cmake-syntax) (cmake filetype)
- [coffee-script](https://github.com/kchmck/vim-coffee-script)(coffee, litcoffe and litcoffee filetypes) - [coffee-script](https://github.com/kchmck/vim-coffee-script) (coffee, litcoffe and litcoffee filetypes)
- [cpp-modern](https://github.com/bfrg/vim-cpp-modern) - [cpp-modern](https://github.com/bfrg/vim-cpp-modern)
- [cql](https://github.com/elubow/cql-vim)(cql filetype) - [cql](https://github.com/elubow/cql-vim) (cql filetype)
- [cryptol](https://github.com/victoredwardocallaghan/cryptol.vim)(cryptol filetype) - [cryptol](https://github.com/victoredwardocallaghan/cryptol.vim) (cryptol filetype)
- [crystal](https://github.com/rhysd/vim-crystal)(crystal, ecrysta and ecrystal filetypes) - [crystal](https://github.com/rhysd/vim-crystal) (crystal, ecrysta and ecrystal filetypes)
- [csv](https://github.com/chrisbra/csv.vim)(csv filetype) - [csv](https://github.com/chrisbra/csv.vim) (csv filetype)
- [cucumber](https://github.com/tpope/vim-cucumber)(cucumber filetype) - [cucumber](https://github.com/tpope/vim-cucumber) (cucumber filetype)
- [cue](https://github.com/mgrabovsky/vim-cuesheet)(cuesheet filetype) - [cue](https://github.com/mgrabovsky/vim-cuesheet) (cuesheet filetype)
- [dart](https://github.com/dart-lang/dart-vim-plugin)(dart filetype) - [dart](https://github.com/dart-lang/dart-vim-plugin) (dart filetype)
- [dhall](https://github.com/vmchale/dhall-vim)(dhall filetype) - [dhall](https://github.com/vmchale/dhall-vim) (dhall filetype)
- [dlang](https://github.com/JesseKPhillips/d.vim)(d, dcov, dd, ddoc, dsd and dsdl filetypes) - [dlang](https://github.com/JesseKPhillips/d.vim) (d, dcov, dd, ddoc, dsd and dsdl filetypes)
- [dockerfile](https://github.com/ekalinin/Dockerfile.vim)(yaml.docker-compose filetype) - [dockerfile](https://github.com/ekalinin/Dockerfile.vim) (yaml.docker-compose filetype)
- [elixir](https://github.com/elixir-lang/vim-elixir)(elixir, eelixi and eelixir filetypes) - [elixir](https://github.com/elixir-lang/vim-elixir) (elixir, eelixi and eelixir filetypes)
- [elm](https://github.com/andys8/vim-elm-syntax)(elm filetype) - [elm](https://github.com/andys8/vim-elm-syntax) (elm filetype)
- [emberscript](https://github.com/yalesov/vim-ember-script)(ember-script filetype) - [emberscript](https://github.com/yalesov/vim-ember-script) (ember-script filetype)
- [emblem](https://github.com/yalesov/vim-emblem)(emblem filetype) - [emblem](https://github.com/yalesov/vim-emblem) (emblem filetype)
- [erlang](https://github.com/vim-erlang/vim-erlang-runtime)(erlang filetype) - [erlang](https://github.com/vim-erlang/vim-erlang-runtime) (erlang filetype)
- [fennel](https://github.com/bakpakin/fennel.vim)(fennel filetype) - [fennel](https://github.com/bakpakin/fennel.vim) (fennel filetype)
- [ferm](https://github.com/vim-scripts/ferm.vim)(ferm filetype) - [ferm](https://github.com/vim-scripts/ferm.vim) (ferm filetype)
- [fish](https://github.com/georgewitteman/vim-fish)(fish filetype) - [fish](https://github.com/georgewitteman/vim-fish) (fish filetype)
- [flatbuffers](https://github.com/dcharbon/vim-flatbuffers)(fbs filetype) - [flatbuffers](https://github.com/dcharbon/vim-flatbuffers) (fbs filetype)
- [fsharp](https://github.com/ionide/Ionide-vim)(fsharp filetype) - [fsharp](https://github.com/ionide/Ionide-vim) (fsharp filetype)
- [gdscript](https://github.com/calviken/vim-gdscript3)(gdscript3 filetype) - [gdscript](https://github.com/calviken/vim-gdscript3) (gdscript3 filetype)
- [git](https://github.com/tpope/vim-git)(gitconfig, gitrebase, gitsendemail, gitcommi and gitcommit filetypes) - [git](https://github.com/tpope/vim-git) (gitconfig, gitrebase, gitsendemail, gitcommi and gitcommit filetypes)
- [gitignore](https://github.com/fszymanski/fzf-gitignore)(gitignore filetype) - [gitignore](https://github.com/fszymanski/fzf-gitignore) (gitignore filetype)
- [glsl](https://github.com/tikhomirov/vim-glsl)(glsl filetype) - [glsl](https://github.com/tikhomirov/vim-glsl) (glsl filetype)
- [gmpl](https://github.com/maelvalais/gmpl.vim)(gmpl filetype) - [gmpl](https://github.com/maelvalais/gmpl.vim) (gmpl filetype)
- [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting)(gnuplot filetype) - [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting) (gnuplot filetype)
- [go](https://github.com/fatih/vim-go)(go, gomod, gohtmltmp and gohtmltmpl filetypes) - [go](https://github.com/fatih/vim-go) (go, gomod, gohtmltmp and gohtmltmpl filetypes)
- [gradle](https://github.com/tfnico/vim-gradle) - [gradle](https://github.com/tfnico/vim-gradle)
- [graphql](https://github.com/jparise/vim-graphql)(graphql filetype) - [graphql](https://github.com/jparise/vim-graphql) (graphql filetype)
- [haml](https://github.com/tpope/vim-haml)(haml filetype) - [haml](https://github.com/tpope/vim-haml) (haml filetype)
- [handlebars](https://github.com/mustache/vim-mustache-handlebars)(html.mustache, html.handlebar and html.handlebars filetypes) - [handlebars](https://github.com/mustache/vim-mustache-handlebars) (html.mustache, html.handlebar and html.handlebars filetypes)
- [haproxy](https://github.com/CH-DanReif/haproxy.vim)(haproxy filetype) - [haproxy](https://github.com/CH-DanReif/haproxy.vim) (haproxy filetype)
- [haskell](https://github.com/neovimhaskell/haskell-vim)(haskell filetype) - [haskell](https://github.com/neovimhaskell/haskell-vim) (haskell filetype)
- [haxe](https://github.com/yaymukund/vim-haxe)(haxe filetype) - [haxe](https://github.com/yaymukund/vim-haxe) (haxe filetype)
- [hcl](https://github.com/b4b4r07/vim-hcl)(hcl filetype) - [hcl](https://github.com/b4b4r07/vim-hcl) (hcl filetype)
- [helm](https://github.com/towolf/vim-helm)(helm filetype) - [helm](https://github.com/towolf/vim-helm) (helm filetype)
- [help](https://github.com/neovim/neovim/tree/master/runtime)(help filetype) - [help](https://github.com/neovim/neovim/tree/master/runtime) (help filetype)
- [hive](https://github.com/zebradil/hive.vim)(hive filetype) - [hive](https://github.com/zebradil/hive.vim) (hive filetype)
- [html5](https://github.com/sheerun/html5.vim) - [html5](https://github.com/sheerun/html5.vim)
- [i3](https://github.com/mboughaba/i3config.vim)(i3config filetype) - [i3](https://github.com/mboughaba/i3config.vim) (i3config filetype)
- [icalendar](https://github.com/chutzpah/icalendar.vim)(icalendar filetype) - [icalendar](https://github.com/chutzpah/icalendar.vim) (icalendar filetype)
- [idris2](https://github.com/edwinb/idris2-vim)(idris2, lidris and lidris2 filetypes) - [idris2](https://github.com/edwinb/idris2-vim) (idris2, lidris and lidris2 filetypes)
- [idris](https://github.com/idris-hackers/idris-vim)(idris filetype) - [idris](https://github.com/idris-hackers/idris-vim) (idris filetype)
- [ion](https://github.com/vmchale/ion-vim)(ion filetype) - [ion](https://github.com/vmchale/ion-vim) (ion filetype)
- [javascript-sql](https://github.com/statico/vim-javascript-sql) - [javascript-sql](https://github.com/statico/vim-javascript-sql)
- [javascript](https://github.com/pangloss/vim-javascript)(javascript, flo and flow filetypes) - [javascript](https://github.com/pangloss/vim-javascript) (javascript, flo and flow filetypes)
- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax)(Jenkinsfile filetype) - [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax) (Jenkinsfile filetype)
- [jq](https://github.com/vito-c/jq.vim)(jq filetype) - [jq](https://github.com/vito-c/jq.vim) (jq filetype)
- [json5](https://github.com/GutenYe/json5.vim)(json5 filetype) - [json5](https://github.com/GutenYe/json5.vim) (json5 filetype)
- [json](https://github.com/elzr/vim-json)(json filetype) - [json](https://github.com/elzr/vim-json) (json filetype)
- [jsonnet](https://github.com/google/vim-jsonnet)(jsonnet filetype) - [jsonnet](https://github.com/google/vim-jsonnet) (jsonnet filetype)
- [jst](https://github.com/briancollins/vim-jst)(jst filetype) - [jst](https://github.com/briancollins/vim-jst) (jst filetype)
- [jsx](https://github.com/MaxMEllon/vim-jsx-pretty)(javascriptreact filetype) - [jsx](https://github.com/MaxMEllon/vim-jsx-pretty) (javascriptreact filetype)
- [julia](https://github.com/JuliaEditorSupport/julia-vim)(julia filetype) - [julia](https://github.com/JuliaEditorSupport/julia-vim) (julia filetype)
- [kotlin](https://github.com/udalov/kotlin-vim)(kotlin filetype) - [kotlin](https://github.com/udalov/kotlin-vim) (kotlin filetype)
- [ledger](https://github.com/ledger/vim-ledger)(ledger filetype) - [ledger](https://github.com/ledger/vim-ledger) (ledger filetype)
- [lilypond](https://github.com/anowlcalledjosh/vim-lilypond)(lilypond filetype) - [lilypond](https://github.com/anowlcalledjosh/vim-lilypond) (lilypond filetype)
- [livescript](https://github.com/gkz/vim-ls)(livescript filetype) - [livescript](https://github.com/gkz/vim-ls) (livescript filetype)
- [llvm](https://github.com/rhysd/vim-llvm)(llvm, tablege and tablegen filetypes) - [llvm](https://github.com/rhysd/vim-llvm) (llvm, tablege and tablegen filetypes)
- [log](https://github.com/MTDL9/vim-log-highlighting)(log filetype) - [log](https://github.com/MTDL9/vim-log-highlighting) (log filetype)
- [lua](https://github.com/tbastos/vim-lua)(lua filetype) - [lua](https://github.com/tbastos/vim-lua) (lua filetype)
- [mako](https://github.com/sophacles/vim-bundle-mako)(mako filetype) - [mako](https://github.com/sophacles/vim-bundle-mako) (mako filetype)
- [markdown](https://github.com/plasticboy/vim-markdown)(markdown filetype) - [markdown](https://github.com/plasticboy/vim-markdown) (markdown filetype)
- [mathematica](https://github.com/voldikss/vim-mma)(mma filetype) - [mathematica](https://github.com/voldikss/vim-mma) (mma filetype)
- [mdx](https://github.com/jxnblk/vim-mdx-js)(markdown.mdx filetype) - [mdx](https://github.com/jxnblk/vim-mdx-js) (markdown.mdx filetype)
- [meson](https://github.com/mesonbuild/meson/tree/master/data/syntax-highlighting/vim)(meson, dosin and dosini filetypes) - [meson](https://github.com/mesonbuild/meson/tree/master/data/syntax-highlighting/vim) (meson, dosin and dosini filetypes)
- [moonscript](https://github.com/leafo/moonscript-vim)(moon filetype) - [moonscript](https://github.com/leafo/moonscript-vim) (moon filetype)
- [nginx](https://github.com/chr4/nginx.vim)(nginx filetype) - [nginx](https://github.com/chr4/nginx.vim) (nginx filetype)
- [nim](https://github.com/zah/nim.vim)(nim filetype) - [nim](https://github.com/zah/nim.vim) (nim filetype)
- [nix](https://github.com/LnL7/vim-nix)(nix filetype) - [nix](https://github.com/LnL7/vim-nix) (nix filetype)
- [objc](https://github.com/b4winckler/vim-objc)(objc filetype) - [objc](https://github.com/b4winckler/vim-objc) (objc filetype)
- [ocaml](https://github.com/rgrinberg/vim-ocaml)(ocaml, omake, opam, oasis, dune, ocamlbuild_tags, ocpbuild, ocpbuildroot, sexpli and sexplib filetypes) - [ocaml](https://github.com/rgrinberg/vim-ocaml) (ocaml, omake, opam, oasis, dune, ocamlbuild_tags, ocpbuild, ocpbuildroot, sexpli and sexplib filetypes)
- [octave](https://github.com/McSinyx/vim-octave)(octave filetype) - [octave](https://github.com/McSinyx/vim-octave) (octave filetype)
- [odin](https://github.com/Tetralux/odin.vim)(odin filetype) - [odin](https://github.com/Tetralux/odin.vim) (odin filetype)
- [opencl](https://github.com/petRUShka/vim-opencl)(opencl filetype) - [opencl](https://github.com/petRUShka/vim-opencl) (opencl filetype)
- [perl](https://github.com/vim-perl/vim-perl)(perl, pod, mason, tt2, tt2html, x and xs filetypes) - [perl](https://github.com/vim-perl/vim-perl) (perl, pod, mason, tt2, tt2html, x and xs filetypes)
- [pgsql](https://github.com/lifepillar/pgsql.vim)(sql filetype) - [pgsql](https://github.com/lifepillar/pgsql.vim) (sql filetype)
- [php](https://github.com/StanAngeloff/php.vim)(php filetype) - [php](https://github.com/StanAngeloff/php.vim) (php filetype)
- [plantuml](https://github.com/aklt/plantuml-syntax)(plantuml filetype) - [plantuml](https://github.com/aklt/plantuml-syntax) (plantuml filetype)
- [pony](https://github.com/jakwings/vim-pony)(pony filetype) - [pony](https://github.com/jakwings/vim-pony) (pony filetype)
- [powershell](https://github.com/PProvost/vim-ps1)(ps1, ps1xm and ps1xml filetypes) - [powershell](https://github.com/PProvost/vim-ps1) (ps1, ps1xm and ps1xml filetypes)
- [protobuf](https://github.com/uarun/vim-protobuf)(proto filetype) - [protobuf](https://github.com/uarun/vim-protobuf) (proto filetype)
- [pug](https://github.com/digitaltoad/vim-pug)(pug filetype) - [pug](https://github.com/digitaltoad/vim-pug) (pug filetype)
- [puppet](https://github.com/rodjek/vim-puppet)(puppet, embeddedpuppe and embeddedpuppet filetypes) - [puppet](https://github.com/rodjek/vim-puppet) (puppet, embeddedpuppe and embeddedpuppet filetypes)
- [purescript](https://github.com/purescript-contrib/purescript-vim)(purescript filetype) - [purescript](https://github.com/purescript-contrib/purescript-vim) (purescript filetype)
- [python-compiler](https://github.com/aliev/vim-compiler-python) - [python-compiler](https://github.com/aliev/vim-compiler-python)
- [python-indent](https://github.com/Vimjas/vim-python-pep8-indent) - [python-indent](https://github.com/Vimjas/vim-python-pep8-indent)
- [python](https://github.com/vim-python/python-syntax)(python filetype) - [python](https://github.com/vim-python/python-syntax) (python filetype)
- [qmake](https://github.com/artoj/qmake-syntax-vim)(qmake filetype) - [qmake](https://github.com/artoj/qmake-syntax-vim) (qmake filetype)
- [qml](https://github.com/peterhoeg/vim-qml)(qml filetype) - [qml](https://github.com/peterhoeg/vim-qml) (qml filetype)
- [r-lang](https://github.com/vim-scripts/R.vim)(r, rhel and rhelp filetypes) - [r-lang](https://github.com/vim-scripts/R.vim) (r, rhel and rhelp filetypes)
- [racket](https://github.com/wlangstroth/vim-racket)(racket filetype) - [racket](https://github.com/wlangstroth/vim-racket) (racket filetype)
- [ragel](https://github.com/jneen/ragel.vim)(ragel filetype) - [ragel](https://github.com/jneen/ragel.vim) (ragel filetype)
- [raku](https://github.com/Raku/vim-raku)(raku filetype) - [raku](https://github.com/Raku/vim-raku) (raku filetype)
- [raml](https://github.com/IN3D/vim-raml)(raml filetype) - [raml](https://github.com/IN3D/vim-raml) (raml filetype)
- [razor](https://github.com/adamclerk/vim-razor)(razor filetype) - [razor](https://github.com/adamclerk/vim-razor) (razor filetype)
- [reason](https://github.com/reasonml-editor/vim-reason-plus)(reason filetype) - [reason](https://github.com/reasonml-editor/vim-reason-plus) (reason filetype)
- [requirements](https://github.com/raimon49/requirements.txt.vim)(requirements filetype) - [requirements](https://github.com/raimon49/requirements.txt.vim) (requirements filetype)
- [rspec](https://github.com/keith/rspec.vim)(ruby filetype) - [rspec](https://github.com/keith/rspec.vim) (ruby filetype)
- [rst](https://github.com/marshallward/vim-restructuredtext)(rst filetype) - [rst](https://github.com/marshallward/vim-restructuredtext) (rst filetype)
- [ruby](https://github.com/vim-ruby/vim-ruby)(ruby, erub and eruby filetypes) - [ruby](https://github.com/vim-ruby/vim-ruby) (ruby, erub and eruby filetypes)
- [rust](https://github.com/rust-lang/rust.vim)(rust filetype) - [rust](https://github.com/rust-lang/rust.vim) (rust filetype)
- [scala](https://github.com/derekwyatt/vim-scala)(scala filetype) - [scala](https://github.com/derekwyatt/vim-scala) (scala filetype)
- [scss](https://github.com/cakebaker/scss-syntax.vim)(scss filetype) - [scss](https://github.com/cakebaker/scss-syntax.vim) (scss filetype)
- [sh](https://github.com/arzg/vim-sh)(sh, zs and zsh filetypes) - [sh](https://github.com/arzg/vim-sh) (sh, zs and zsh filetypes)
- [slim](https://github.com/slim-template/vim-slim)(slim filetype) - [slim](https://github.com/slim-template/vim-slim) (slim filetype)
- [slime](https://github.com/slime-lang/vim-slime-syntax)(slime filetype) - [slime](https://github.com/slime-lang/vim-slime-syntax) (slime filetype)
- [smt2](https://github.com/bohlender/vim-smt2)(smt2 filetype) - [smt2](https://github.com/bohlender/vim-smt2) (smt2 filetype)
- [solidity](https://github.com/tomlion/vim-solidity)(solidity filetype) - [solidity](https://github.com/tomlion/vim-solidity) (solidity filetype)
- [stylus](https://github.com/wavded/vim-stylus)(stylus filetype) - [stylus](https://github.com/wavded/vim-stylus) (stylus filetype)
- [svelte](https://github.com/evanleck/vim-svelte/tree/main)(svelte filetype) - [svelte](https://github.com/evanleck/vim-svelte/tree/main) (svelte filetype)
- [svg-indent](https://github.com/jasonshell/vim-svg-indent) - [svg-indent](https://github.com/jasonshell/vim-svg-indent)
- [svg](https://github.com/vim-scripts/svg.vim)(svg filetype) - [svg](https://github.com/vim-scripts/svg.vim) (svg filetype)
- [swift](https://github.com/keith/swift.vim)(swift filetype) - [swift](https://github.com/keith/swift.vim) (swift filetype)
- [sxhkd](https://github.com/baskerville/vim-sxhkdrc)(sxhkdrc filetype) - [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (sxhkdrc filetype)
- [systemd](https://github.com/wgwoods/vim-systemd-syntax)(systemd filetype) - [systemd](https://github.com/wgwoods/vim-systemd-syntax) (systemd filetype)
- [textile](https://github.com/timcharper/textile.vim)(textile filetype) - [textile](https://github.com/timcharper/textile.vim) (textile filetype)
- [thrift](https://github.com/solarnz/thrift.vim)(thrift filetype) - [thrift](https://github.com/solarnz/thrift.vim) (thrift filetype)
- [tmux](https://github.com/ericpruitt/tmux.vim/tree/master/vim)(tmux filetype) - [tmux](https://github.com/ericpruitt/tmux.vim/tree/master/vim) (tmux filetype)
- [toml](https://github.com/cespare/vim-toml)(toml filetype) - [toml](https://github.com/cespare/vim-toml) (toml filetype)
- [tptp](https://github.com/c-cube/vim-tptp)(tptp filetype) - [tptp](https://github.com/c-cube/vim-tptp) (tptp filetype)
- [twig](https://github.com/lumiliet/vim-twig)(html.twig, xml.twi and xml.twig filetypes) - [twig](https://github.com/lumiliet/vim-twig) (html.twig, xml.twi and xml.twig filetypes)
- [typescript](https://github.com/HerringtonDarkholme/yats.vim)(typescript, typescriptreac and typescriptreact filetypes) - [typescript](https://github.com/HerringtonDarkholme/yats.vim) (typescript, typescriptreac and typescriptreact filetypes)
- [unison](https://github.com/unisonweb/unison/tree/trunk/editor-support/vim)(unison filetype) - [unison](https://github.com/unisonweb/unison/tree/trunk/editor-support/vim) (unison filetype)
- [v](https://github.com/ollykel/v-vim)(vlang filetype) - [v](https://github.com/ollykel/v-vim) (vlang filetype)
- [vala](https://github.com/arrufat/vala.vim)(vala filetype) - [vala](https://github.com/arrufat/vala.vim) (vala filetype)
- [vbnet](https://github.com/vim-scripts/vbnet.vim)(vbnet filetype) - [vbnet](https://github.com/vim-scripts/vbnet.vim) (vbnet filetype)
- [vcl](https://github.com/smerrill/vcl-vim-plugin)(vcl filetype) - [vcl](https://github.com/smerrill/vcl-vim-plugin) (vcl filetype)
- [velocity](https://github.com/lepture/vim-velocity)(velocity filetype) - [velocity](https://github.com/lepture/vim-velocity) (velocity filetype)
- [vue](https://github.com/posva/vim-vue)(vue filetype) - [vue](https://github.com/posva/vim-vue) (vue filetype)
- [xdc](https://github.com/amal-khailtash/vim-xdc-syntax)(xdc filetype) - [xdc](https://github.com/amal-khailtash/vim-xdc-syntax) (xdc filetype)
- [xml](https://github.com/amadeus/vim-xml)(xml filetype) - [xml](https://github.com/amadeus/vim-xml) (xml filetype)
- [xsl](https://github.com/vim-scripts/XSLT-syntax)(xsl filetype) - [xsl](https://github.com/vim-scripts/XSLT-syntax) (xsl filetype)
- [yard](https://github.com/noprompt/vim-yardoc) - [yard](https://github.com/noprompt/vim-yardoc)
- [zephir](https://github.com/xwsoul/vim-zephir)(zephir filetype) - [zephir](https://github.com/xwsoul/vim-zephir) (zephir filetype)
- [zig](https://github.com/ziglang/zig.vim)(zir, zi and zig filetypes) - [zig](https://github.com/ziglang/zig.vim) (zir, zi and zig filetypes)
- [zinit](https://github.com/zinit-zsh/zplugin-vim-syntax) - [zinit](https://github.com/zinit-zsh/zplugin-vim-syntax)
<!--/Language Packs--> <!--/Language Packs-->

View File

@@ -330,7 +330,7 @@ function! s:download(branch)
let zip = s:script_root_dir . "fsac.zip" let zip = s:script_root_dir . "fsac.zip"
call system( call system(
\ 'curl -fLo ' . zip . ' --create-dirs ' . \ 'curl -fLo ' . zip . ' --create-dirs ' .
\ '"https://ci.appveyor.com/api/projects/fsautocomplete/fsautocomplete/artifacts/bin/pkgs/fsautocomplete.netcore.zip?branch=' . a:branch . '"' \ '"https://github.com/fsharp/FsAutoComplete/releases/latest/download/fsautocomplete.netcore.zip"'
\ ) \ )
if v:shell_error == 0 if v:shell_error == 0
call system('unzip -o -d ' . s:script_root_dir . "/fsac " . zip) call system('unzip -o -d ' . s:script_root_dir . "/fsac " . zip)

View File

@@ -524,7 +524,7 @@ function! go#config#ReferrersMode() abort
endfunction endfunction
function! go#config#ImplementsMode() abort function! go#config#ImplementsMode() abort
return get(g:, 'go_implements_mode', 'guru') return get(g:, 'go_implements_mode', 'gopls')
endfunction endfunction
function! go#config#GoplsCompleteUnimported() abort function! go#config#GoplsCompleteUnimported() abort
@@ -586,6 +586,21 @@ function! go#config#FillStructMode() abort
return get(g:, 'go_fillstruct_mode', 'fillstruct') return get(g:, 'go_fillstruct_mode', 'fillstruct')
endfunction endfunction
function! go#config#DebugMappings() abort
let l:default = {
\ '(go-debug-continue)': {'key': '<F5>'},
\ '(go-debug-print)': {'key': '<F6>'},
\ '(go-debug-breakpoint)': {'key': '<F9>'},
\ '(go-debug-next)': {'key': '<F10>'},
\ '(go-debug-step)': {'key': '<F11>'},
\ '(go-debug-halt)': {'key': '<F8>'},
\ }
let l:user = deepcopy(get(g:, 'go_debug_mappings', {}))
return extend(l:user, l:default, 'keep')
endfunction
" Set the default value. A value of "1" is a shortcut for this, for " Set the default value. A value of "1" is a shortcut for this, for
" compatibility reasons. " compatibility reasons.
if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1 if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1

View File

@@ -37,7 +37,7 @@ let s:NODOCPATTERN = '\C\VNo documentation found.'
function! julia#doc#lookup(keyword, ...) abort function! julia#doc#lookup(keyword, ...) abort
let juliapath = get(a:000, 0, g:julia#doc#juliapath) let juliapath = get(a:000, 0, g:julia#doc#juliapath)
let keyword = escape(a:keyword, '"\') let keyword = escape(a:keyword, '"\')
let cmd = printf('%s -E "@doc %s"', juliapath, keyword) let cmd = printf('%s --compile=min --optimize=0 -E "@doc %s"', juliapath, keyword)
return systemlist(cmd) return systemlist(cmd)
endfunction endfunction
@@ -238,7 +238,7 @@ endfunction
function! s:likely(str) abort function! s:likely(str) abort
" escape twice " escape twice
let str = escape(escape(a:str, '"\'), '"\') let str = escape(escape(a:str, '"\'), '"\')
let cmd = printf('%s -E "%s(\"%s\")"', g:julia#doc#juliapath, s:REPL_SEARCH, str) let cmd = printf('%s --compile=min --optimize=0 -E "%s(\"%s\")"', g:julia#doc#juliapath, s:REPL_SEARCH, str)
let output = systemlist(cmd) let output = systemlist(cmd)
return split(matchstr(output[0], '\C^search: \zs.*')) return split(matchstr(output[0], '\C^search: \zs.*'))
endfunction endfunction

View File

@@ -349,7 +349,7 @@ julia#function_assign2block()
statements are removed; if the result is empty, `nothing` is statements are removed; if the result is empty, `nothing` is
substituted. Leading macros (e.g. `@inline` or `@compat`) are substituted. Leading macros (e.g. `@inline` or `@compat`) are
recognized and preserved by the transformation. recognized and preserved by the transformation.
In order to make this functionality practical, it is advisable In order to make this functionality practical, it is advisable
to map it to some key combination, e.g.: to map it to some key combination, e.g.:
> >
@@ -386,6 +386,91 @@ g:julia_highlight_operators
Determines whether to apply syntax highlighting to operators. Determines whether to apply syntax highlighting to operators.
Default: on (set to `1`). Default: on (set to `1`).
*g:julia_indent_align_import*
g:julia_indent_align_import
In a multi-line import/using/export statment, the lines after
the first one use some special alignment rules by default,
e.g.:
>
import X: one,
two,
three
export four,
five,
six
<
When `g:julia_indent_align_import` is `0` instead, the usual
indentation is used:
>
import X: one,
two,
three
export four,
five,
six
*g:julia_indent_align_brackets*
g:julia_indent_align_brackets
In a multi-line bracketed expression (except for function
arguments, see |g:julia_indent_align_funcargs|), the lines
after the first one use some special alignment rules by
default, e.g.:
>
matrix = [1 2 3;
4 5 6]
tpl = (
abc = Dict(a=>1,
b=>2),
def = [1 2;
3 4],
xyz = SubArray{eltype(P),
N, P, I,
false}
)
<
When `g:julia_indent_align_brackets` is `0` instead, an extra
indent is used:
>
matrix = [1 2 3;
4 5 6]
tpl = (
abc = Dict(a=>1,
b=>2),
def = [1 2;
3 4],
xyz = SubArray{eltype(P),
N, P, I,
false}
)
<
*g:julia_indent_align_funcargs*
g:julia_indent_align_funcargs
In a function definition, when the arguments span multiple
lines, the lines after the first one get an extra indentation
step by default, e.g.:
>
function functionanme(
arg1, arg2,
arg3, arg4
)
# function body
end
<
By setting `g:julia_indent_align_funcargs` to `1`, the
arguments are aligned to the bracket instead (they work as any
other bracket with the default value of
|g:julia_indent_align_brackets|):
>
function functionanme(arg1, arg2,
arg3, arg4
)
# function body
end
<
============================================================================== ==============================================================================
ABOUT *julia-vim-about* ABOUT *julia-vim-about*

View File

@@ -1498,9 +1498,9 @@ other packages. Valid options are `gopls` and `guru`. By default it's `gopls`.
Use this option to define the command to be used for |:GoImplements|. Use this option to define the command to be used for |:GoImplements|.
The Implements feature in gopls is still new and being worked upon. The Implements feature in gopls is still new and being worked upon.
Valid options are `gopls` and `guru`. By default it's `guru`. Valid options are `gopls` and `guru`. By default it's `gopls`.
> >
let g:go_implements_mode = 'guru' let g:go_implements_mode = 'gopls'
< <
*'g:go_def_mapping_enabled'* *'g:go_def_mapping_enabled'*
@@ -2490,7 +2490,52 @@ Show only variables on the right-hand side: >
let g:go_debug_windows = { let g:go_debug_windows = {
\ 'vars': 'rightbelow 60vnew', \ 'vars': 'rightbelow 60vnew',
\ } \ }
*'g:go_debug_mappings'*
Contains custom key mapping information to customize the active mappings
when debugging.
Only the customizations desired need to be provided; the debugger will use its
default key mappings for any mapping not defined here.
This value should be a dictionary whose keys are the plugin mapping commands
(e.g. `(go-debug-continue)`). The values are dictionaries with two keys.
`key` and `attributes`.
`key` is expected to be the key to map (i.e. it's the `lhs` in a mapping).
`key` can be empty or missing to prevent a key mapping from being applied for
one the named mappings.
`arguments` is the string of `map-arguments` for the mapping (e.g.
`<nowait>`).
The first item must be the `lhs` to use for the mapping. The optional
second item is for `:map-arguments`. All mappings will always be `:map-local`,
so there is never a need to include `"<buffer>"` in the the arguments.
>
let g:go_debug_mappings = {
\ '(go-debug-continue)': {'key': 'c', 'arguments': '<nowait>'],
\ '(go-debug-stop)': {'key': 'q'},
\ '(go-debug-next)': {'key': 'n', 'arguments': '<nowait>'},
\ '(go-debug-step)': {'key': 's'},
\}
< <
Defaults are equivalent to:
>
let g:go_debug_mappings = {
\ '(go-debug-continue)': {'key': '<F5>'},
\ '(go-debug-print)': {'key': '<F6>'},
\ '(go-debug-breakpoint)': {'key': '<F9>'},
\ '(go-debug-next)': {'key': '<F10>'},
\ '(go-debug-step)': {'key': '<F11>'},
\ '(go-debug-halt)': {'key': '<F8>'},
\ }
<
Your user specified settings will be merged with the defaults.
*'g:go_debug_address'* *'g:go_debug_address'*
Server address `dlv` will listen on; must be in `hostname:port` format. Server address `dlv` will listen on; must be in `hostname:port` format.

View File

@@ -5,6 +5,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'falcon') == -1
" Author: Steven Oliver <oliver.steven@gmail.com> " Author: Steven Oliver <oliver.steven@gmail.com>
" Copyright: Copyright (c) 2009-2013 Steven Oliver " Copyright: Copyright (c) 2009-2013 Steven Oliver
" License: You may redistribute this under the same terms as Vim itself " License: You may redistribute this under the same terms as Vim itself
" Last Update: 2020 Oct 10
" -------------------------------------------------------------------------- " --------------------------------------------------------------------------
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer

View File

@@ -2,14 +2,14 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1
" Vim settings file " Vim settings file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66) " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
" Version: 0.50 " Version: (v52) 2020 October 07
" Last Change: 2020 Apr 20
" Patched By: Eisuke Kawashima
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-plugin from Vim " Usage: For instructions, do :help fortran-plugin from Vim
" Credits: " Credits:
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben " Version 0.1 was created in September 2000 by Ajit Thakkar.
" Fritz, and David Barnett. " Since then, useful suggestions and contributions have been made, in order, by:
" Stefano Zacchiroli, Hendrik Merx, Ben Fritz, David Barnett, Eisuke Kawashima,
" and Doug Kearns.
" Only do these settings when not done yet for this buffer " Only do these settings when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@@ -121,7 +121,7 @@ if !exists("b:match_words")
endif endif
" File filters for :browse e " File filters for :browse e
if has("gui_win32") && !exists("b:browsefilter") if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" . let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" .
\ "All Files (*.*)\t*.*\n" \ "All Files (*.*)\t*.*\n"
endif endif

View File

@@ -524,7 +524,7 @@ endfunction
"c. link this stuff with what the user wants "c. link this stuff with what the user wants
" ie. get the expression selected/under the cursor " ie. get the expression selected/under the cursor
let s:ocaml_word_char = '\w|[\u00ac-\uffff]|''' let s:ocaml_word_char = '\w|[\xc0-\xff]|'''
"In: the current mode (eg. "visual", "normal", etc.) "In: the current mode (eg. "visual", "normal", etc.)
"Out: the borders of the expression we are looking for the type "Out: the borders of the expression we are looking for the type

View File

@@ -2,14 +2,14 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1
" Vim indent file " Vim indent file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
" Version: 47 " Version: (v48) 2020 October 07
" Last Change: 2020 Apr 20
" Patched By: Eisuke Kawashima
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-indent from Vim " Usage: For instructions, do :help fortran-indent from Vim
" Credits: " Credits:
" Useful suggestions were made, in chronological order, by: " Version 0.1 was created in September 2000 by Ajit Thakkar.
" Albert Oliver Serra, Takuya Fujiwara and Philipp Edelmann. " Since then, useful suggestions and contributions have been made, in order, by:
" Albert Oliver Serra, Takuya Fujiwara, Philipp Edelmann, Eisuke Kawashima,
" and Louis Cochen.
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@@ -148,7 +148,7 @@ function FortranGetIndent(lnum)
\. 'type\|forall\|associate\|enum\|block\)\)\>' \. 'type\|forall\|associate\|enum\|block\)\)\>'
let ind = ind - shiftwidth() let ind = ind - shiftwidth()
" Fix indent for case statement immediately after select " Fix indent for case statement immediately after select
if prevstat =~? '\<select\s\+\(case\|type\)\>' if prevstat =~? '\<select\s*\(case\|type\)\>'
let ind = ind + shiftwidth() let ind = ind + shiftwidth()
endif endif
endif endif

View File

@@ -21,7 +21,7 @@ if exists("*GetJuliaIndent")
finish finish
endif endif
let s:skipPatterns = '\<julia\%(Comprehension\%(For\|If\)\|RangeKeyword\|Comment[LM]\|\%([bsv]\|ip\|big\|MIME\|Shell\|Printf\|Doc\)\=String\|RegEx\|SymbolS\?\)\>' let s:skipPatterns = '\<julia\%(Comprehension\%(For\|If\)\|RangeKeyword\|Comment\%([LM]\|Delim\)\|\%([bsv]\|ip\|big\|MIME\|Shell\|Printf\|Doc\)\=String\|RegEx\|SymbolS\?\)\>'
function JuliaMatch(lnum, str, regex, st, ...) function JuliaMatch(lnum, str, regex, st, ...)
let s = a:st let s = a:st
@@ -51,7 +51,7 @@ function GetJuliaNestingStruct(lnum, ...)
let blocks_stack = [] let blocks_stack = []
let num_closed_blocks = 0 let num_closed_blocks = 0
while 1 while 1
let fb = JuliaMatch(a:lnum, line, '@\@<!\<\%(if\|else\%(if\)\?\|while\|for\|try\|catch\|finally\|\%(staged\)\?function\|macro\|begin\|mutable\s\+struct\|\%(mutable\s\+\)\@<!struct\|\%(abstract\|primitive\)\s\+type\|immutable\|let\|\%(bare\)\?module\|quote\|do\)\>', s, e) let fb = JuliaMatch(a:lnum, line, '@\@<!\<\%(if\|else\%(if\)\?\|while\|for\|try\|catch\|finally\|\%(staged\)\?function\|macro\|begin\|mutable\s\+struct\|\%(mutable\s\+\)\@<!struct\|\%(abstract\|primitive\)\s\+type\|let\|\%(bare\)\?module\|quote\|do\)\>', s, e)
let fe = JuliaMatch(a:lnum, line, '@\@<!\<end\>', s, e) let fe = JuliaMatch(a:lnum, line, '@\@<!\<end\>', s, e)
if fb < 0 && fe < 0 if fb < 0 && fe < 0
@@ -255,14 +255,18 @@ function GetJuliaNestingBrackets(lnum, c)
endwhile endwhile
let first_open_bracket = -1 let first_open_bracket = -1
let last_open_bracket = -1 let last_open_bracket = -1
let infuncargs = 0
if len(brackets_stack) > 0 if len(brackets_stack) > 0
let first_open_bracket = brackets_stack[0][1] let first_open_bracket = brackets_stack[0][1]
let last_open_bracket = brackets_stack[-1][1] let last_open_bracket = brackets_stack[-1][1]
if brackets_stack[-1][0] == 'par' && IsFunctionArgPar(a:lnum, last_open_bracket)
let infuncargs = 1
endif
endif endif
return [first_open_bracket, last_open_bracket, last_closed_bracket] return [first_open_bracket, last_open_bracket, last_closed_bracket, infuncargs]
endfunction endfunction
let s:bracketBlocks = '\<julia\%(\%(\%(Printf\)\?Par\|SqBra\|CurBra\)Block\|ParBlockInRange\|StringVars\%(Par\|SqBra\|CurBra\)\|Dollar\%(Par\|SqBra\)\|QuotedParBlockS\?\)\>' let s:bracketBlocks = '\<julia\%(\%(\%(Printf\)\?Par\|SqBra\%(Idx\)\?\|CurBra\)Block\|ParBlockInRange\|StringVars\%(Par\|SqBra\|CurBra\)\|Dollar\%(Par\|SqBra\)\|QuotedParBlockS\?\)\>'
function IsInBrackets(lnum, c) function IsInBrackets(lnum, c)
let stack = map(synstack(a:lnum, a:c), 'synIDattr(v:val, "name")') let stack = map(synstack(a:lnum, a:c), 'synIDattr(v:val, "name")')
@@ -272,10 +276,40 @@ endfunction
function IsInDocString(lnum) function IsInDocString(lnum)
let stack = map(synstack(a:lnum, 1), 'synIDattr(v:val, "name")') let stack = map(synstack(a:lnum, 1), 'synIDattr(v:val, "name")')
call filter(stack, 'v:val =~# "\\<juliaDocString\\>"') call filter(stack, 'v:val =~# "\\<juliaDocString\\(Delim\\)\\?\\>"')
return len(stack) > 0 return len(stack) > 0
endfunction endfunction
function IsInContinuationImportLine(lnum)
let stack = map(synstack(a:lnum, 1), 'synIDattr(v:val, "name")')
call filter(stack, 'v:val =~# "\\<juliaImportLine\\>"')
if len(stack) == 0
return 0
endif
return JuliaMatch(a:lnum, getline(a:lnum), '\<\%(import\|using\|export\)\>', indent(a:lnum)) == -1
endfunction
function IsFunctionArgPar(lnum, c)
if a:c == 0
return 0
endif
let stack = map(synstack(a:lnum, a:c-1), 'synIDattr(v:val, "name")')
return stack[-1] == 'juliaFunctionBlock'
endfunction
function JumpToMatch(lnum, last_closed_bracket)
" we use the % command to skip back (tries to ues matchit if possible,
" otherwise resorts to vim's default, which is buggy but better than
" nothing)
call cursor(a:lnum, a:last_closed_bracket)
let percmap = maparg("%", "n")
if exists("g:loaded_matchit") && percmap =~# 'Match\%(it\|_wrapper\)'
normal %
else
normal! %
end
endfunction
" Auxiliary function to find a line which does not start in the middle of a " Auxiliary function to find a line which does not start in the middle of a
" multiline bracketed expression, to be used as reference for block " multiline bracketed expression, to be used as reference for block
" indentation. " indentation.
@@ -314,30 +348,29 @@ function GetJuliaIndent()
let lim = -1 let lim = -1
" Multiline bracketed expressions take precedence " Multiline bracketed expressions take precedence
let align_brackets = get(g:, "julia_indent_align_brackets", 1)
let align_funcargs = get(g:, "julia_indent_align_funcargs", 0)
let c = len(getline(lnum)) + 1 let c = len(getline(lnum)) + 1
while IsInBrackets(lnum, c) while IsInBrackets(lnum, c)
let [first_open_bracket, last_open_bracket, last_closed_bracket] = GetJuliaNestingBrackets(lnum, c) let [first_open_bracket, last_open_bracket, last_closed_bracket, infuncargs] = GetJuliaNestingBrackets(lnum, c)
" First scenario: the previous line has a hanging open bracket: " First scenario: the previous line has a hanging open bracket:
" set the indentation to match the opening bracket (plus an extra space) " set the indentation to match the opening bracket (plus an extra space)
" unless we're in a function arguments list or alignment is disabled, in
" which case we just add an extra indent
if last_open_bracket != -1 if last_open_bracket != -1
let st = last_open_bracket if (!infuncargs && align_brackets) || (infuncargs && align_funcargs)
let ind = virtcol([lnum, st + 1]) let st = last_open_bracket
let ind = virtcol([lnum, st + 1])
else
let ind = indent(lnum) + shiftwidth()
endif
" Second scenario: some multiline bracketed expression was closed in the " Second scenario: some multiline bracketed expression was closed in the
" previous line. But since we know we are still in a bracketed expression, " previous line. But since we know we are still in a bracketed expression,
" we need to find the line where the bracket was open " we need to find the line where the bracket was opened
elseif last_closed_bracket != -1 elseif last_closed_bracket != -1
" we use the % command to skip back (tries to ues matchit if possible, call JumpToMatch(lnum, last_closed_bracket)
" otherwise resorts to vim's default, which is buggy but better than
" nothing)
call cursor(lnum, last_closed_bracket)
let percmap = maparg("%", "n")
if exists("g:loaded_matchit") && percmap =~# 'Match\%(it\|_wrapper\)'
normal %
else
normal! %
end
if line(".") == lnum if line(".") == lnum
" something wrong here, give up " something wrong here, give up
let ind = indent(lnum) let ind = indent(lnum)
@@ -354,15 +387,28 @@ function GetJuliaIndent()
endif endif
endif endif
" Third scenario: nothing special, or matchit not available: keep the indentation " Third scenario: nothing special: keep the indentation
else else
let ind = indent(lnum) let ind = indent(lnum)
endif endif
" In case the current line starts with a closing bracket, we align it with " Does the current line starts with a closing bracket? Then depending on
" the opening one. " the situation we align it with the opening one, or we let the rest of
" the code figure it out (the case in which we're closing a function
" argument list is special-cased)
if JuliaMatch(v:lnum, getline(v:lnum), '[])}]', indent(v:lnum)) == indent(v:lnum) && ind > 0 if JuliaMatch(v:lnum, getline(v:lnum), '[])}]', indent(v:lnum)) == indent(v:lnum) && ind > 0
return ind - 1 if !align_brackets && !align_funcargs
let ind = -1
elseif (align_brackets && getline(v:lnum)[indent(v:lnum)] != ')') || align_funcargs
return ind - 1
else " must be a ')' and align_brackets==1 and align_funcargs==0
call JumpToMatch(v:lnum, indent(v:lnum))
if IsFunctionArgPar(line("."), col("."))
let ind = -1
else
return ind - 1
endif
endif
endif endif
break break
@@ -374,7 +420,7 @@ function GetJuliaIndent()
let [lnum,ind] = LastBlockIndent(lnum) let [lnum,ind] = LastBlockIndent(lnum)
let c = len(getline(lnum)) + 1 let c = len(getline(lnum)) + 1
if IsInBrackets(lnum, c) if IsInBrackets(lnum, c)
let [first_open_bracket, last_open_bracket, last_closed_bracket] = GetJuliaNestingBrackets(lnum, c) let [first_open_bracket, last_open_bracket, last_closed_bracket, infuncargs] = GetJuliaNestingBrackets(lnum, c)
let lim = first_open_bracket let lim = first_open_bracket
endif endif
end end
@@ -389,6 +435,55 @@ function GetJuliaIndent()
" Decrease indentation for each closed block in the current line " Decrease indentation for each closed block in the current line
let ind -= shiftwidth() * num_closed_blocks let ind -= shiftwidth() * num_closed_blocks
" Additional special case: multiline import/using/export statements
let prevline = getline(lnum)
" Are we in a multiline import/using/export statement, right below the
" opening line?
if IsInContinuationImportLine(v:lnum) && !IsInContinuationImportLine(lnum)
if get(g:, 'julia_indent_align_import', 1)
" if the opening line has a colon followed by non-comments, use it as
" reference point
let cind = JuliaMatch(lnum, prevline, ':', indent(lnum), lim)
" echo "cind=".string(cind) | sleep 1
if cind >= 0
let nonwhiteind = JuliaMatch(lnum, prevline, '\S', cind+1)
if nonwhiteind >= 0
" return match(prevline, '\S', cind+1) " a bit overkill...
return cind + 2
endif
else
" if the opening line is not a naked import/using/export statement, use
" it as reference
let iind = JuliaMatch(lnum, prevline, '\<import\|using\|export\>', indent(lnum), lim)
if iind >= 0
" assuming whitespace after using... so no `using(XYZ)` please!
let nonwhiteind = JuliaMatch(lnum, prevline, '\S', iind+6)
if nonwhiteind >= 0
return match(prevline, '\S', iind+6)
endif
endif
endif
endif
let ind += shiftwidth()
" Or did we just close a multiline import/using/export statement?
elseif !IsInContinuationImportLine(v:lnum) && IsInContinuationImportLine(lnum)
" find the starting line of the statement
let ilnum = 0
for iln in range(lnum-1, 1, -1)
if !IsInContinuationImportLine(iln)
let ilnum = iln
break
endif
endfor
if ilnum == 0
" something went horribly wrong, give up
let ind = indent(lnum)
endif
let ind = indent(ilnum)
endif
return ind return ind
endfunction endfunction

View File

@@ -531,9 +531,9 @@ def extract(packages)
end end
if package["filetypes"].size > 1 if package["filetypes"].size > 1
output[-1] << "(#{package["filetypes"].map { |f| f["name"] }.join(", ")[0..-2]} and #{package["filetypes"].last["name"]} filetypes)" output[-1] << " (#{package["filetypes"].map { |f| f["name"] }.join(", ")[0..-2]} and #{package["filetypes"].last["name"]} filetypes)"
elsif package["filetypes"].size > 0 elsif package["filetypes"].size > 0
output[-1] << "(#{package["filetypes"].first["name"]} filetype)" output[-1] << " (#{package["filetypes"].first["name"]} filetype)"
end end
progress progress

View File

@@ -5,7 +5,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'apache') == -1
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz> " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
" License: This file can be redistribued and/or modified under the same terms " License: This file can be redistribued and/or modified under the same terms
" as Vim itself. " as Vim itself.
" Last Change: 2018-12-06 " Last Change: 2020 Oct 07
" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported " Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
" TODO: see particular FIXME's scattered through the file " TODO: see particular FIXME's scattered through the file
" make it really linewise? " make it really linewise?
@@ -44,6 +44,8 @@ syn keyword apacheOption user group
syn match apacheOption "\<valid-user\>" syn match apacheOption "\<valid-user\>"
syn case match syn case match
syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained
" Added as suggested by Mikko Koivunalho
syn keyword apacheMethodOption BASELINE-CONTROL CHECKIN CHECKOUT LABEL MERGE MKACTIVITY MKWORKSPACE REPORT UNCHECKOUT UPDATE VERSION-CONTROL contained
syn case ignore syn case ignore
syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything
syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError

View File

@@ -21,7 +21,7 @@ syn match asteriskComment ";.*" contains=asteriskTodo
syn match asteriskContext "\[.\{-}\]" syn match asteriskContext "\[.\{-}\]"
syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority
syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority
syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|\(no\)\?load\)\s*=>\?" syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|l\?e\?switch\|\(no\)\?load\)\s*=>\?"
syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained
syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained
syn match asteriskApp ",\zs[a-zA-Z]\+\ze$" syn match asteriskApp ",\zs[a-zA-Z]\+\ze$"
@@ -41,7 +41,7 @@ syn match asteriskVarLen "\${_\{0,2}[[:alpha:]][[:alnum:]_]*(.*)}
syn match asteriskVarLen "(\zs[[:alpha:]][[:alnum:]_]*(.\{-})\ze=" contains=asteriskVar,asteriskVarLen,asteriskExp syn match asteriskVarLen "(\zs[[:alpha:]][[:alnum:]_]*(.\{-})\ze=" contains=asteriskVar,asteriskVarLen,asteriskExp
syn match asteriskExp "\$\[.\{-}\]" contains=asteriskVar,asteriskVarLen,asteriskExp syn match asteriskExp "\$\[.\{-}\]" contains=asteriskVar,asteriskVarLen,asteriskExp
syn match asteriskCodecsPermit "^\s*\(allow\|disallow\)\s*=\s*.*$" contains=asteriskCodecs syn match asteriskCodecsPermit "^\s*\(allow\|disallow\)\s*=\s*.*$" contains=asteriskCodecs
syn match asteriskCodecs "\(g723\|gsm\|ulaw\|alaw\|g726\|adpcm\|slin\|lpc10\|g729\|speex\|ilbc\|all\s*$\)" syn match asteriskCodecs "\(vp9\|vp8\|h264\|h263p\|h263\|h261\|jpeg\|opus\|g722\|g723\|gsm\|ulaw\|alaw\|g719\|g726\|g726aal2\|siren7\|siren14\|adpcm\|slin\|lpc10\|g729\|speex\|ilbc\|wav\|all\s*$\)"
syn match asteriskError "^\(type\|auth\|permit\|deny\|bindaddr\|host\)\s*=.*$" syn match asteriskError "^\(type\|auth\|permit\|deny\|bindaddr\|host\)\s*=.*$"
syn match asteriskType "^\zstype=\ze\<\(peer\|user\|friend\)\>$" contains=asteriskTypeType syn match asteriskType "^\zstype=\ze\<\(peer\|user\|friend\)\>$" contains=asteriskTypeType
syn match asteriskTypeType "\<\(peer\|user\|friend\)\>" contained syn match asteriskTypeType "\<\(peer\|user\|friend\)\>" contained

View File

@@ -6,7 +6,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cabal') == -1
" Maintainer: Marcin Szamotulski <profunctor@pm.me> " Maintainer: Marcin Szamotulski <profunctor@pm.me>
" Previous Maintainer: Vincent Berthoux <twinside@gmail.com> " Previous Maintainer: Vincent Berthoux <twinside@gmail.com>
" File Types: .cabal " File Types: .cabal
" Last Change: 15 May 2018 " Last Change: 3 Oct 2020
" v1.5: Incorporated changes from " v1.5: Incorporated changes from
" https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/cabal.vim " https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/cabal.vim
" Use `syn keyword` instead of `syn match`. " Use `syn keyword` instead of `syn match`.
@@ -64,11 +64,12 @@ syn keyword cabalCategory contained
\ source-repository \ source-repository
\ flag \ flag
\ custom-setup \ custom-setup
\ common
syn match cabalCategoryTitle contained /[^{]*\ze{\?/ syn match cabalCategoryTitle contained /[^{]*\ze{\?/
syn match cabalCategoryRegion syn match cabalCategoryRegion
\ contains=cabalCategory,cabalCategoryTitle \ contains=cabalCategory,cabalCategoryTitle
\ nextgroup=cabalCategory skipwhite \ nextgroup=cabalCategory skipwhite
\ /^\c\s*\(contained\|executable\|library\|benchmark\|test-suite\|source-repository\|flag\|custom-setup\)\+\s*\%(.*$\|$\)/ \ /^\c\s*\(contained\|executable\|library\|benchmark\|test-suite\|source-repository\|flag\|custom-setup\|common\)\+\s*\%(.*$\|$\)/
syn keyword cabalTruth true false syn keyword cabalTruth true false
" cabalStatementRegion which limits the scope of cabalStatement keywords, this " cabalStatementRegion which limits the scope of cabalStatement keywords, this
@@ -78,6 +79,7 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion
\ default-language \ default-language
\ default-extensions \ default-extensions
\ author \ author
\ autogen-modules
\ branch \ branch
\ bug-reports \ bug-reports
\ build-depends \ build-depends
@@ -112,6 +114,7 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion
\ homepage \ homepage
\ hs-source-dirs \ hs-source-dirs
\ hugs-options \ hugs-options
\ import
\ include-dirs \ include-dirs
\ includes \ includes
\ install-includes \ install-includes

View File

@@ -141,7 +141,7 @@ syn match crystalFloat "\<\d[[:digit:]_]*\%(\.\d[[:digit:]_]*\)\=\%([eE][-+]
syn match crystalInvalidInteger "\%(\.\|[eE][+-]\)\@2<!\<0\d\+\>" contained containedin=crystalFloat,crystalInteger display syn match crystalInvalidInteger "\%(\.\|[eE][+-]\)\@2<!\<0\d\+\>" contained containedin=crystalFloat,crystalInteger display
" Identifiers " Identifiers
syn match crystalLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display transparent syn match crystalLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display
syn match crystalBlockArgument "&[_[:lower:]][_[:alnum:]]" contains=NONE display transparent syn match crystalBlockArgument "&[_[:lower:]][_[:alnum:]]" contains=NONE display transparent
syn match crystalTypeName "\%(\%([.@$]\@1<!\.\)\@1<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=" contained syn match crystalTypeName "\%(\%([.@$]\@1<!\.\)\@1<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=" contained

View File

@@ -651,7 +651,7 @@ endif
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save
" vim: ts=8 " vim: ts=8
endif endif

View File

@@ -2,19 +2,18 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1
" Vim syntax file " Vim syntax file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
" Version: 102 " Version: (v103) 2020 October 07
" Last Change: 2020 Apr 20
" Patched By: Eisuke Kawashima
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-syntax from Vim " Usage: For instructions, do :help fortran-syntax from Vim
" Credits: " Credits:
" Version 0.1 for Fortran 95 was created (April 2000) by Ajit Thakkar from the " Version 0.1 for Fortran 95 was created in April 2000 by Ajit Thakkar from an
" Fortran 77 syntax file by Mario Eusebio and Preben Guldberg. " older Fortran 77 syntax file by Mario Eusebio and Preben Guldberg.
" Since then, useful suggestions and contributions have been made, in order, by: " Since then, useful suggestions and contributions have been made, in order, by:
" Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile, " Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
" Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman, " Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman,
" Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann, " Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann,
" Stefano Zaghi, Vishnu V. Krishnan, Judicaël Grasset, and Takuma Yoshida " Stefano Zaghi, Vishnu V. Krishnan, Judicaël Grasset, Takuma Yoshida,
" Eisuke Kawashima, and André Chalella.`
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
@@ -104,6 +103,8 @@ syn match fortranUnitHeader "\<end\>"
syn match fortranType "\<character\>" syn match fortranType "\<character\>"
syn match fortranType "\<complex\>" syn match fortranType "\<complex\>"
syn match fortranType "\<integer\>" syn match fortranType "\<integer\>"
syn match fortranType "\<real\>"
syn match fortranType "\<logical\>"
syn keyword fortranType intrinsic syn keyword fortranType intrinsic
syn match fortranType "\<implicit\>" syn match fortranType "\<implicit\>"
syn keyword fortranStructure dimension syn keyword fortranStructure dimension
@@ -151,11 +152,9 @@ syn keyword fortranExtraIntrinsic algama cdabs cdcos cdexp cdlog cdsin cdsqrt cq
syn keyword fortranIntrinsic abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh syn keyword fortranIntrinsic abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh
syn match fortranIntrinsic "\<len\s*[(,]"me=s+3 syn match fortranIntrinsic "\<len\s*[(,]"me=s+3
syn match fortranIntrinsic "\<real\s*("me=s+4 syn match fortranIntrinsic "\<real\s*("me=s+4
syn match fortranType "\<implicit\s\+real"
syn match fortranType "^\s*real\>"
syn match fortranIntrinsic "\<logical\s*("me=s+7 syn match fortranIntrinsic "\<logical\s*("me=s+7
syn match fortranType "\<implicit\s\+logical" syn match fortranType "\<implicit\s\+real\>"
syn match fortranType "^\s*logical\>" syn match fortranType "\<implicit\s\+logical\>"
"Numbers of various sorts "Numbers of various sorts
" Integers " Integers
@@ -170,6 +169,12 @@ syn match fortranFloatIll display "\<\d\+\.\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
syn match fortranFloatIll display "\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>" syn match fortranFloatIll display "\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
" floating point number " floating point number
syn match fortranFloat display "\<\d\+\.\d\+\(e[-+]\=\d\+\)\=\(_\a\w*\)\=\>" syn match fortranFloat display "\<\d\+\.\d\+\(e[-+]\=\d\+\)\=\(_\a\w*\)\=\>"
" binary number
syn match fortranBinary display "b["'][01]\+["']"
" octal number
syn match fortranOctal display "o["'][0-7]\+["']"
" hexadecimal number
syn match fortranHex display "z["'][0-9A-F]\+["']"
" Numbers in formats " Numbers in formats
syn match fortranFormatSpec display "\d*f\d\+\.\d\+" syn match fortranFormatSpec display "\d*f\d\+\.\d\+"
syn match fortranFormatSpec display "\d*e[sn]\=\d\+\.\d\+\(e\d+\>\)\=" syn match fortranFormatSpec display "\d*e[sn]\=\d\+\.\d\+\(e\d+\>\)\="
@@ -217,7 +222,6 @@ syn match fortranUnitHeader "\<submodule\>"
syn keyword fortranUnitHeader use only contains syn keyword fortranUnitHeader use only contains
syn keyword fortranUnitHeader result operator assignment syn keyword fortranUnitHeader result operator assignment
syn match fortranUnitHeader "\<interface\>" syn match fortranUnitHeader "\<interface\>"
syn match fortranUnitHeader "\<recursive\>"
syn keyword fortranKeyword allocate deallocate nullify cycle exit syn keyword fortranKeyword allocate deallocate nullify cycle exit
syn match fortranConditional "\<select\>" syn match fortranConditional "\<select\>"
syn keyword fortranConditional case default where elsewhere syn keyword fortranConditional case default where elsewhere
@@ -276,6 +280,7 @@ syn keyword fortranIntrinsic null cpu_time
syn match fortranType "\<elemental\>" syn match fortranType "\<elemental\>"
syn match fortranType "\<pure\>" syn match fortranType "\<pure\>"
syn match fortranType "\<impure\>" syn match fortranType "\<impure\>"
syn match fortranType "\<recursive\>"
if exists("fortran_more_precise") if exists("fortran_more_precise")
syn match fortranConstructName "\(\<end\s*forall\s\+\)\@15<=\a\w*\>" syn match fortranConstructName "\(\<end\s*forall\s\+\)\@15<=\a\w*\>"
endif endif
@@ -455,6 +460,9 @@ hi def link fortranTodo Todo
hi def link fortranContinueMark Special hi def link fortranContinueMark Special
hi def link fortranString String hi def link fortranString String
hi def link fortranNumber Number hi def link fortranNumber Number
hi def link fortranBinary Number
hi def link fortranOctal Number
hi def link fortranHex Number
hi def link fortranOperator Operator hi def link fortranOperator Operator
hi def link fortranBoolean Boolean hi def link fortranBoolean Boolean
hi def link fortranLabelError Error hi def link fortranLabelError Error

View File

@@ -76,7 +76,7 @@ syntax cluster juliaExpressions contains=@juliaParItems,@juliaStringItems,@juli
syntax cluster juliaExprsPrintf contains=@juliaExpressions,@juliaPrintfItems syntax cluster juliaExprsPrintf contains=@juliaExpressions,@juliaPrintfItems
syntax cluster juliaParItems contains=juliaParBlock,juliaSqBraIdxBlock,juliaSqBraBlock,juliaCurBraBlock,juliaQuotedParBlock,juliaQuotedQMarkPar syntax cluster juliaParItems contains=juliaParBlock,juliaSqBraIdxBlock,juliaSqBraBlock,juliaCurBraBlock,juliaQuotedParBlock,juliaQuotedQMarkPar
syntax cluster juliaKeywordItems contains=juliaKeyword,juliaInfixKeyword,juliaRepKeyword,juliaTypedef syntax cluster juliaKeywordItems contains=juliaKeyword,juliaImportLine,juliaInfixKeyword,juliaRepKeyword
syntax cluster juliaBlocksItems contains=juliaConditionalBlock,juliaWhileBlock,juliaForBlock,juliaBeginBlock,juliaFunctionBlock,juliaMacroBlock,juliaQuoteBlock,juliaTypeBlock,juliaImmutableBlock,juliaExceptionBlock,juliaLetBlock,juliaDoBlock,juliaModuleBlock,juliaStructBlock,juliaMutableStructBlock,juliaAbstractBlock,juliaPrimitiveBlock syntax cluster juliaBlocksItems contains=juliaConditionalBlock,juliaWhileBlock,juliaForBlock,juliaBeginBlock,juliaFunctionBlock,juliaMacroBlock,juliaQuoteBlock,juliaTypeBlock,juliaImmutableBlock,juliaExceptionBlock,juliaLetBlock,juliaDoBlock,juliaModuleBlock,juliaStructBlock,juliaMutableStructBlock,juliaAbstractBlock,juliaPrimitiveBlock
syntax cluster juliaTypesItems contains=juliaBaseTypeBasic,juliaBaseTypeNum,juliaBaseTypeC,juliaBaseTypeError,juliaBaseTypeIter,juliaBaseTypeString,juliaBaseTypeArray,juliaBaseTypeDict,juliaBaseTypeSet,juliaBaseTypeIO,juliaBaseTypeProcess,juliaBaseTypeRange,juliaBaseTypeRegex,juliaBaseTypeFact,juliaBaseTypeFact,juliaBaseTypeSort,juliaBaseTypeRound,juliaBaseTypeSpecial,juliaBaseTypeRandom,juliaBaseTypeDisplay,juliaBaseTypeTime,juliaBaseTypeOther syntax cluster juliaTypesItems contains=juliaBaseTypeBasic,juliaBaseTypeNum,juliaBaseTypeC,juliaBaseTypeError,juliaBaseTypeIter,juliaBaseTypeString,juliaBaseTypeArray,juliaBaseTypeDict,juliaBaseTypeSet,juliaBaseTypeIO,juliaBaseTypeProcess,juliaBaseTypeRange,juliaBaseTypeRegex,juliaBaseTypeFact,juliaBaseTypeFact,juliaBaseTypeSort,juliaBaseTypeRound,juliaBaseTypeSpecial,juliaBaseTypeRandom,juliaBaseTypeDisplay,juliaBaseTypeTime,juliaBaseTypeOther
@@ -126,8 +126,14 @@ syntax region juliaSqBraIdxBlock matchgroup=juliaParDelim start="\[" end="\]" c
exec 'syntax region juliaSqBraBlock matchgroup=juliaParDelim start="\%(^\|\s\|' . s:operators . '\)\@'.s:d(3).'<=\[" end="\]" contains=@juliaExpressions,juliaComprehensionFor,juliaSymbolS,juliaQuotedParBlockS,juliaQuotedQMarkParS' exec 'syntax region juliaSqBraBlock matchgroup=juliaParDelim start="\%(^\|\s\|' . s:operators . '\)\@'.s:d(3).'<=\[" end="\]" contains=@juliaExpressions,juliaComprehensionFor,juliaSymbolS,juliaQuotedParBlockS,juliaQuotedQMarkParS'
syntax region juliaCurBraBlock matchgroup=juliaParDelim start="{" end="}" contains=@juliaExpressions syntax region juliaCurBraBlock matchgroup=juliaParDelim start="{" end="}" contains=@juliaExpressions
exec 'syntax match juliaKeyword display "'.s:nodot.'\<\%(return\|local\|global\|import\%(all\)\?\|export\|using\|const\|where\)\>"' exec 'syntax match juliaKeyword display "'.s:nodot.'\<\%(return\|local\|global\|const\|where\)\>"'
syntax match juliaInfixKeyword display "\%(=\s*\)\@<!\<\%(in\|isa\)\>\S\@!\%(\s*=\)\@!" syntax match juliaInfixKeyword display "\%(=\s*\)\@<!\<\%(in\|isa\)\>\S\@!\%(\s*=\)\@!"
" The import/export/using keywords introduce a sort of special parsing
" environment with its own rules
exec 'syntax region juliaImportLine matchgroup=juliaKeyword excludenl start="'.s:nodot.'\<\%(import\|using\|export\)\>" skip="\%(\%(\<\%(import\|using\|export\)\>\)\|^\)\@'.s:d(6).'<=$" end="$" end="\%([])}]\)\@=" contains=@juliaExpressions,juliaAsKeyword,@juliaContinuationItems,juliaMacroName'
syntax match juliaAsKeyword display contained "\<as\>"
exec 'syntax match juliaRepKeyword display "'.s:nodot.'\<\%(break\|continue\)\>"' exec 'syntax match juliaRepKeyword display "'.s:nodot.'\<\%(break\|continue\)\>"'
exec 'syntax region juliaConditionalBlock matchgroup=juliaConditional start="'.s:nodot.'\<if\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions,juliaConditionalEIBlock,juliaConditionalEBlock fold' exec 'syntax region juliaConditionalBlock matchgroup=juliaConditional start="'.s:nodot.'\<if\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions,juliaConditionalEIBlock,juliaConditionalEBlock fold'
exec 'syntax region juliaConditionalEIBlock matchgroup=juliaConditional transparent contained start="'.s:nodot.'\<elseif\>" end="'.s:nodot.'\<\%(end\|else\|elseif\)\>"me=s-1 contains=@juliaExpressions,juliaConditionalEIBlock,juliaConditionalEBlock' exec 'syntax region juliaConditionalEIBlock matchgroup=juliaConditional transparent contained start="'.s:nodot.'\<elseif\>" end="'.s:nodot.'\<\%(end\|else\|elseif\)\>"me=s-1 contains=@juliaExpressions,juliaConditionalEIBlock,juliaConditionalEBlock'
@@ -139,17 +145,16 @@ exec 'syntax region juliaFunctionBlock matchgroup=juliaBlKeyword start="'.s:nod
exec 'syntax region juliaMacroBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<macro\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold' exec 'syntax region juliaMacroBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<macro\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold'
exec 'syntax region juliaQuoteBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<quote\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold' exec 'syntax region juliaQuoteBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<quote\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold'
exec 'syntax region juliaStructBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<struct\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold' exec 'syntax region juliaStructBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<struct\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold'
exec 'syntax region juliaMutableStructBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<mutable struct\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold' exec 'syntax region juliaMutableStructBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<mutable\s\+struct\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold'
exec 'syntax region juliaLetBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<let\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold' exec 'syntax region juliaLetBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<let\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold'
exec 'syntax region juliaDoBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<do\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold' exec 'syntax region juliaDoBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<do\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions fold'
exec 'syntax region juliaModuleBlock matchgroup=juliaBlKeyword start="\%(\%(\.\s*\)\@'.s:d(6).'<!\|\%(@\s*\.\s*\)\@'.s:d(6).'<=\)\<\%(bare\)\?module\>" end="\<end\>" contains=@juliaExpressions fold' exec 'syntax region juliaModuleBlock matchgroup=juliaBlKeyword start="\%(\%(\.\s*\)\@'.s:d(6).'<!\|\%(@\s*\.\s*\)\@'.s:d(6).'<=\)\<\%(bare\)\?module\>" end="\<end\>" contains=@juliaExpressions fold'
exec 'syntax region juliaExceptionBlock matchgroup=juliaException start="'.s:nodot.'\<try\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions,juliaCatchBlock,juliaFinallyBlock fold' exec 'syntax region juliaExceptionBlock matchgroup=juliaException start="'.s:nodot.'\<try\>" end="'.s:nodot.'\<end\>" contains=@juliaExpressions,juliaCatchBlock,juliaFinallyBlock fold'
exec 'syntax region juliaCatchBlock matchgroup=juliaException transparent contained start="'.s:nodot.'\<catch\>" end="'.s:nodot.'\<end\>"me=s-1 contains=@juliaExpressions,juliaFinallyBlock' exec 'syntax region juliaCatchBlock matchgroup=juliaException transparent contained start="'.s:nodot.'\<catch\>" end="'.s:nodot.'\<end\>"me=s-1 contains=@juliaExpressions,juliaFinallyBlock'
exec 'syntax region juliaFinallyBlock matchgroup=juliaException transparent contained start="'.s:nodot.'\<finally\>" end="'.s:nodot.'\<end\>"me=s-1 contains=@juliaExpressions' exec 'syntax region juliaFinallyBlock matchgroup=juliaException transparent contained start="'.s:nodot.'\<finally\>" end="'.s:nodot.'\<end\>"me=s-1 contains=@juliaExpressions'
exec 'syntax match juliaTypedef "'.s:nodot.'\<\%(abstract\|typealias\|bitstype\)\>"'
" AbstractBlock needs to come after to take precedence " AbstractBlock needs to come after to take precedence
exec 'syntax region juliaAbstractBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<abstract type\>" end="'.s:nodot.'\<end\>" fold contains=@juliaExpressions' exec 'syntax region juliaAbstractBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<abstract\s\+type\>" end="'.s:nodot.'\<end\>" fold contains=@juliaExpressions'
exec 'syntax region juliaPrimitiveBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<primitive type\>" end="'.s:nodot.'\<end\>" fold contains=@juliaExpressions' exec 'syntax region juliaPrimitiveBlock matchgroup=juliaBlKeyword start="'.s:nodot.'\<primitive\s\+type\>" end="'.s:nodot.'\<end\>" fold contains=@juliaExpressions'
exec 'syntax region juliaComprehensionFor matchgroup=juliaComprehensionFor transparent contained start="\%([^[:space:],;:({[]\_s*\)\@'.s:d(80).'<=\<for\>" end="\ze[]);]" contains=@juliaExpressions,juliaComprehensionIf,juliaComprehensionFor' exec 'syntax region juliaComprehensionFor matchgroup=juliaComprehensionFor transparent contained start="\%([^[:space:],;:({[]\_s*\)\@'.s:d(80).'<=\<for\>" end="\ze[]);]" contains=@juliaExpressions,juliaComprehensionIf,juliaComprehensionFor'
exec 'syntax match juliaComprehensionIf contained "'.s:nodot.'\<if\>"' exec 'syntax match juliaComprehensionIf contained "'.s:nodot.'\<if\>"'
@@ -275,7 +280,7 @@ syntax region juliatextString matchgroup=juliaStringDelim start=+\<text\z("\("
syntax region juliahtmlString matchgroup=juliaStringDelim start=+\<html\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw syntax region juliahtmlString matchgroup=juliaStringDelim start=+\<html\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw
syntax region juliaint128String matchgroup=juliaStringDelim start=+\<u\?int128\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw syntax region juliaint128String matchgroup=juliaStringDelim start=+\<u\?int128\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw
syntax region juliaDocString matchgroup=juliaDocStringDelim start=+^"""+ skip=+\%(\\\\\)*\\"+ end=+"""+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckDocStrings syntax region juliaDocString matchgroup=juliaDocStringDelim fold start=+^"""+ skip=+\%(\\\\\)*\\"+ end=+"""+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckDocStrings
exec 'syntax region juliaPrintfMacro contained transparent start="@s\?printf(" end=")\@'.s:d(1).'<=" contains=juliaMacro,juliaPrintfParBlock' exec 'syntax region juliaPrintfMacro contained transparent start="@s\?printf(" end=")\@'.s:d(1).'<=" contains=juliaMacro,juliaPrintfParBlock'
syntax region juliaPrintfMacro contained transparent start="@s\?printf\s\+" end="\ze\%([])};#]\|$\|\<for\>\)" contains=@juliaExprsPrintf,juliaMacro,juliaSymbolS,juliaQuotedParBlockS syntax region juliaPrintfMacro contained transparent start="@s\?printf\s\+" end="\ze\%([])};#]\|$\|\<for\>\)" contains=@juliaExprsPrintf,juliaMacro,juliaSymbolS,juliaQuotedParBlockS
@@ -333,13 +338,25 @@ exec 'syntax region juliaQuotedParBlock matchgroup=juliaQParDelim start="' . s
exec 'syntax match juliaQuotedQMarkPar "' . s:quoting_colon . '(\s*?\s*)" contains=juliaQuotedQMark' exec 'syntax match juliaQuotedQMarkPar "' . s:quoting_colon . '(\s*?\s*)" contains=juliaQuotedQMark'
exec 'syntax region juliaQuotedParBlockS matchgroup=juliaQParDelim contained start="' . s:quoting_colonS . '(" end=")" contains=@juliaExpressions' exec 'syntax region juliaQuotedParBlockS matchgroup=juliaQParDelim contained start="' . s:quoting_colonS . '(" end=")" contains=@juliaExpressions'
" force precedence over Symbols " force precedence over Symbols
syntax match juliaOperator display "::" syntax match juliaOperator display "::"
syntax region juliaCommentL matchgroup=juliaCommentDelim start="#\ze\%([^=]\|$\)" end="$" keepend contains=juliaTodo,@juliaSpellcheckComments syntax region juliaCommentL matchgroup=juliaCommentDelim excludenl start="#\ze\%([^=]\|$\)" end="$" contains=juliaTodo,juliaCommentM,@juliaSpellcheckComments
syntax region juliaCommentM matchgroup=juliaCommentDelim start="#=\ze\%([^#]\|$\)" end="=#" contains=juliaTodo,juliaCommentM,@juliaSpellcheckComments syntax region juliaCommentM matchgroup=juliaCommentDelim fold start="#=\ze\%([^#]\|$\)" end="=#" contains=juliaTodo,juliaCommentM,@juliaSpellcheckComments
syntax keyword juliaTodo contained TODO FIXME XXX syntax keyword juliaTodo contained TODO FIXME XXX
" detect an end-of-line with only whitespace or comments before it
let s:eol = '\s*\%(\%(\%(#=\%(=#\@!\|[^=]\|\n\)\{-}=#\)\s*\)\+\)\?\%(#=\@!.*\)\?\n'
" a trailing comma, or colon, or an empty line in an import/using/export
" multi-line command. Used to recognize the as keyword, and for indentation
" (this needs to take precedence over normal commas and colons, and comments)
syntax cluster juliaContinuationItems contains=juliaContinuationComma,juliaContinuationColon,juliaContinuationNone
exec 'syntax region juliaContinuationComma matchgroup=juliaComma contained start=",\ze'.s:eol.'" end="\n\+\ze." contains=@juliaCommentItems'
exec 'syntax region juliaContinuationColon matchgroup=juliaColon contained start=":\ze'.s:eol.'" end="\n\+\ze." contains=@juliaCommentItems'
exec 'syntax region juliaContinuationNone matchgroup=NONE contained start="\%(\<\%(import\|using\|export\)\>\|^\)\@'.s:d(6).'<=\ze'.s:eol.'" end="\n\+\ze." contains=@juliaCommentItems,juliaAsKeyword'
exec 'syntax match juliaMacroName "@' . s:idregex . '\%(\.' . s:idregex . '\)*"'
" the following are disabled by default, but " the following are disabled by default, but
" can be enabled by entering e.g. " can be enabled by entering e.g.
@@ -350,15 +367,17 @@ hi def link juliaComma juliaNone
hi def link juliaColon juliaOperator hi def link juliaColon juliaOperator
hi def link juliaMacroName juliaMacro
hi def link juliaKeyword Keyword hi def link juliaKeyword Keyword
hi def link juliaInfixKeyword Keyword hi def link juliaInfixKeyword Keyword
hi def link juliaAsKeyword Keyword
hi def link juliaRepKeyword Keyword hi def link juliaRepKeyword Keyword
hi def link juliaBlKeyword Keyword hi def link juliaBlKeyword Keyword
hi def link juliaConditional Conditional hi def link juliaConditional Conditional
hi def link juliaRepeat Repeat hi def link juliaRepeat Repeat
hi def link juliaException Exception hi def link juliaException Exception
hi def link juliaTypedef Keyword
hi def link juliaOuter Keyword hi def link juliaOuter Keyword
hi def link juliaBaseTypeBasic Type hi def link juliaBaseTypeBasic Type
hi def link juliaBaseTypeNum Type hi def link juliaBaseTypeNum Type

View File

@@ -4,14 +4,13 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'less') == -1
" Language: less " Language: less
" Maintainer: Alessandro Vioni <jenoma@gmail.com> " Maintainer: Alessandro Vioni <jenoma@gmail.com>
" URL: https://github.com/genoma/vim-less " URL: https://github.com/genoma/vim-less
" Last Change: 2014 November 24 " Last Change: 2020 Sep 29
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
endif endif
runtime! syntax/css.vim runtime! syntax/css.vim
runtime! after/syntax/css.vim
syn case ignore syn case ignore

View File

@@ -63,7 +63,7 @@ syn keyword qmlLabel case default
syn keyword qmlException try catch finally throw syn keyword qmlException try catch finally throw
syn keyword qmlMessage alert confirm prompt status syn keyword qmlMessage alert confirm prompt status
syn keyword qmlGlobal self syn keyword qmlGlobal self
syn keyword qmlDeclaration property signal readonly syn keyword qmlDeclaration property signal component readonly required
syn keyword qmlReserved abstract boolean byte char class const debugger enum export extends final float goto implements import interface long native package pragma private protected public short static super synchronized throws transient volatile syn keyword qmlReserved abstract boolean byte char class const debugger enum export extends final float goto implements import interface long native package pragma private protected public short static super synchronized throws transient volatile
if get(g:, 'qml_fold', 0) if get(g:, 'qml_fold', 0)