diff options
Diffstat (limited to '')
| -rw-r--r-- | README.md | 288 | ||||
| -rw-r--r-- | autoload/fsharp.vim | 2 | ||||
| -rw-r--r-- | autoload/go/config.vim | 17 | ||||
| -rw-r--r-- | autoload/julia/doc.vim | 4 | ||||
| -rw-r--r-- | doc/julia-vim.txt | 87 | ||||
| -rw-r--r-- | doc/vim-go.txt | 49 | ||||
| -rw-r--r-- | ftplugin/falcon.vim | 1 | ||||
| -rw-r--r-- | ftplugin/fortran.vim | 12 | ||||
| -rw-r--r-- | ftplugin/ocaml.vim | 2 | ||||
| -rw-r--r-- | indent/fortran.vim | 12 | ||||
| -rw-r--r-- | indent/julia.vim | 143 | ||||
| -rwxr-xr-x | scripts/build | 4 | ||||
| -rw-r--r-- | syntax/apache.vim | 4 | ||||
| -rw-r--r-- | syntax/asterisk.vim | 4 | ||||
| -rw-r--r-- | syntax/cabal-2.vim | 7 | ||||
| -rw-r--r-- | syntax/crystal.vim | 2 | ||||
| -rw-r--r-- | syntax/css.vim | 2 | ||||
| -rw-r--r-- | syntax/fortran.vim | 30 | ||||
| -rw-r--r-- | syntax/julia.vim | 39 | ||||
| -rw-r--r-- | syntax/less.vim | 3 | ||||
| -rw-r--r-- | syntax/qml.vim | 2 | 
21 files changed, 493 insertions, 221 deletions
| @@ -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:  <!--Language Packs--> -- [acpiasl](https://github.com/martinlroth/vim-acpi-asl)(asl filetype) -- [ansible](https://github.com/pearofducks/ansible-vim)(yaml.ansible filetype) -- [apiblueprint](https://github.com/kylef/apiblueprint.vim)(apiblueprint filetype) -- [applescript](https://github.com/mityu/vim-applescript)(applescript filetype) -- [arduino](https://github.com/sudar/vim-arduino-syntax)(arduino filetype) -- [asciidoc](https://github.com/asciidoc/vim-asciidoc)(asciidoc filetype) -- [autohotkey](https://github.com/hnamikaw/vim-autohotkey)(autohotkey filetype) -- [blade](https://github.com/jwalton512/vim-blade)(blade filetype) -- [brewfile](https://github.com/bfontaine/Brewfile.vim)(brewfile filetype) -- [c/c++](https://github.com/vim-jp/vim-cpp)(cpp,  and c filetypes) -- [caddyfile](https://github.com/isobit/vim-caddyfile)(caddyfile filetype) -- [carp](https://github.com/hellerve/carp-vim)(carp filetype) +- [acpiasl](https://github.com/martinlroth/vim-acpi-asl) (asl filetype) +- [ansible](https://github.com/pearofducks/ansible-vim) (yaml.ansible filetype) +- [apiblueprint](https://github.com/kylef/apiblueprint.vim) (apiblueprint filetype) +- [applescript](https://github.com/mityu/vim-applescript) (applescript filetype) +- [arduino](https://github.com/sudar/vim-arduino-syntax) (arduino filetype) +- [asciidoc](https://github.com/asciidoc/vim-asciidoc) (asciidoc filetype) +- [autohotkey](https://github.com/hnamikaw/vim-autohotkey) (autohotkey filetype) +- [blade](https://github.com/jwalton512/vim-blade) (blade filetype) +- [brewfile](https://github.com/bfontaine/Brewfile.vim) (brewfile filetype) +- [c/c++](https://github.com/vim-jp/vim-cpp) (cpp,  and c filetypes) +- [caddyfile](https://github.com/isobit/vim-caddyfile) (caddyfile filetype) +- [carp](https://github.com/hellerve/carp-vim) (carp filetype)  - [cjsx](https://github.com/mtscout6/vim-cjsx) -- [clojure](https://github.com/guns/vim-clojure-static)(clojure 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) +- [clojure](https://github.com/guns/vim-clojure-static) (clojure 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)  - [cpp-modern](https://github.com/bfrg/vim-cpp-modern) -- [cql](https://github.com/elubow/cql-vim)(cql filetype) -- [cryptol](https://github.com/victoredwardocallaghan/cryptol.vim)(cryptol filetype) -- [crystal](https://github.com/rhysd/vim-crystal)(crystal, ecrysta and ecrystal filetypes) -- [csv](https://github.com/chrisbra/csv.vim)(csv filetype) -- [cucumber](https://github.com/tpope/vim-cucumber)(cucumber filetype) -- [cue](https://github.com/mgrabovsky/vim-cuesheet)(cuesheet filetype) -- [dart](https://github.com/dart-lang/dart-vim-plugin)(dart 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) -- [dockerfile](https://github.com/ekalinin/Dockerfile.vim)(yaml.docker-compose filetype) -- [elixir](https://github.com/elixir-lang/vim-elixir)(elixir, eelixi and eelixir filetypes) -- [elm](https://github.com/andys8/vim-elm-syntax)(elm filetype) -- [emberscript](https://github.com/yalesov/vim-ember-script)(ember-script filetype) -- [emblem](https://github.com/yalesov/vim-emblem)(emblem filetype) -- [erlang](https://github.com/vim-erlang/vim-erlang-runtime)(erlang filetype) -- [fennel](https://github.com/bakpakin/fennel.vim)(fennel filetype) -- [ferm](https://github.com/vim-scripts/ferm.vim)(ferm filetype) -- [fish](https://github.com/georgewitteman/vim-fish)(fish filetype) -- [flatbuffers](https://github.com/dcharbon/vim-flatbuffers)(fbs filetype) -- [fsharp](https://github.com/ionide/Ionide-vim)(fsharp filetype) -- [gdscript](https://github.com/calviken/vim-gdscript3)(gdscript3 filetype) -- [git](https://github.com/tpope/vim-git)(gitconfig, gitrebase, gitsendemail, gitcommi and gitcommit filetypes) -- [gitignore](https://github.com/fszymanski/fzf-gitignore)(gitignore filetype) -- [glsl](https://github.com/tikhomirov/vim-glsl)(glsl filetype) -- [gmpl](https://github.com/maelvalais/gmpl.vim)(gmpl 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) +- [cql](https://github.com/elubow/cql-vim) (cql filetype) +- [cryptol](https://github.com/victoredwardocallaghan/cryptol.vim) (cryptol filetype) +- [crystal](https://github.com/rhysd/vim-crystal) (crystal, ecrysta and ecrystal filetypes) +- [csv](https://github.com/chrisbra/csv.vim) (csv filetype) +- [cucumber](https://github.com/tpope/vim-cucumber) (cucumber filetype) +- [cue](https://github.com/mgrabovsky/vim-cuesheet) (cuesheet filetype) +- [dart](https://github.com/dart-lang/dart-vim-plugin) (dart 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) +- [dockerfile](https://github.com/ekalinin/Dockerfile.vim) (yaml.docker-compose filetype) +- [elixir](https://github.com/elixir-lang/vim-elixir) (elixir, eelixi and eelixir filetypes) +- [elm](https://github.com/andys8/vim-elm-syntax) (elm filetype) +- [emberscript](https://github.com/yalesov/vim-ember-script) (ember-script filetype) +- [emblem](https://github.com/yalesov/vim-emblem) (emblem filetype) +- [erlang](https://github.com/vim-erlang/vim-erlang-runtime) (erlang filetype) +- [fennel](https://github.com/bakpakin/fennel.vim) (fennel filetype) +- [ferm](https://github.com/vim-scripts/ferm.vim) (ferm filetype) +- [fish](https://github.com/georgewitteman/vim-fish) (fish filetype) +- [flatbuffers](https://github.com/dcharbon/vim-flatbuffers) (fbs filetype) +- [fsharp](https://github.com/ionide/Ionide-vim) (fsharp filetype) +- [gdscript](https://github.com/calviken/vim-gdscript3) (gdscript3 filetype) +- [git](https://github.com/tpope/vim-git) (gitconfig, gitrebase, gitsendemail, gitcommi and gitcommit filetypes) +- [gitignore](https://github.com/fszymanski/fzf-gitignore) (gitignore filetype) +- [glsl](https://github.com/tikhomirov/vim-glsl) (glsl filetype) +- [gmpl](https://github.com/maelvalais/gmpl.vim) (gmpl 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)  - [gradle](https://github.com/tfnico/vim-gradle) -- [graphql](https://github.com/jparise/vim-graphql)(graphql 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) -- [haproxy](https://github.com/CH-DanReif/haproxy.vim)(haproxy filetype) -- [haskell](https://github.com/neovimhaskell/haskell-vim)(haskell filetype) -- [haxe](https://github.com/yaymukund/vim-haxe)(haxe filetype) -- [hcl](https://github.com/b4b4r07/vim-hcl)(hcl filetype) -- [helm](https://github.com/towolf/vim-helm)(helm filetype) -- [help](https://github.com/neovim/neovim/tree/master/runtime)(help filetype) -- [hive](https://github.com/zebradil/hive.vim)(hive filetype) +- [graphql](https://github.com/jparise/vim-graphql) (graphql 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) +- [haproxy](https://github.com/CH-DanReif/haproxy.vim) (haproxy filetype) +- [haskell](https://github.com/neovimhaskell/haskell-vim) (haskell filetype) +- [haxe](https://github.com/yaymukund/vim-haxe) (haxe filetype) +- [hcl](https://github.com/b4b4r07/vim-hcl) (hcl filetype) +- [helm](https://github.com/towolf/vim-helm) (helm filetype) +- [help](https://github.com/neovim/neovim/tree/master/runtime) (help filetype) +- [hive](https://github.com/zebradil/hive.vim) (hive filetype)  - [html5](https://github.com/sheerun/html5.vim) -- [i3](https://github.com/mboughaba/i3config.vim)(i3config filetype) -- [icalendar](https://github.com/chutzpah/icalendar.vim)(icalendar filetype) -- [idris2](https://github.com/edwinb/idris2-vim)(idris2, lidris and lidris2 filetypes) -- [idris](https://github.com/idris-hackers/idris-vim)(idris filetype) -- [ion](https://github.com/vmchale/ion-vim)(ion filetype) +- [i3](https://github.com/mboughaba/i3config.vim) (i3config filetype) +- [icalendar](https://github.com/chutzpah/icalendar.vim) (icalendar filetype) +- [idris2](https://github.com/edwinb/idris2-vim) (idris2, lidris and lidris2 filetypes) +- [idris](https://github.com/idris-hackers/idris-vim) (idris filetype) +- [ion](https://github.com/vmchale/ion-vim) (ion filetype)  - [javascript-sql](https://github.com/statico/vim-javascript-sql) -- [javascript](https://github.com/pangloss/vim-javascript)(javascript, flo and flow filetypes) -- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax)(Jenkinsfile filetype) -- [jq](https://github.com/vito-c/jq.vim)(jq filetype) -- [json5](https://github.com/GutenYe/json5.vim)(json5 filetype) -- [json](https://github.com/elzr/vim-json)(json filetype) -- [jsonnet](https://github.com/google/vim-jsonnet)(jsonnet filetype) -- [jst](https://github.com/briancollins/vim-jst)(jst filetype) -- [jsx](https://github.com/MaxMEllon/vim-jsx-pretty)(javascriptreact filetype) -- [julia](https://github.com/JuliaEditorSupport/julia-vim)(julia filetype) -- [kotlin](https://github.com/udalov/kotlin-vim)(kotlin filetype) -- [ledger](https://github.com/ledger/vim-ledger)(ledger filetype) -- [lilypond](https://github.com/anowlcalledjosh/vim-lilypond)(lilypond filetype) -- [livescript](https://github.com/gkz/vim-ls)(livescript filetype) -- [llvm](https://github.com/rhysd/vim-llvm)(llvm, tablege and tablegen filetypes) -- [log](https://github.com/MTDL9/vim-log-highlighting)(log filetype) -- [lua](https://github.com/tbastos/vim-lua)(lua filetype) -- [mako](https://github.com/sophacles/vim-bundle-mako)(mako filetype) -- [markdown](https://github.com/plasticboy/vim-markdown)(markdown filetype) -- [mathematica](https://github.com/voldikss/vim-mma)(mma 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) -- [moonscript](https://github.com/leafo/moonscript-vim)(moon filetype) -- [nginx](https://github.com/chr4/nginx.vim)(nginx filetype) -- [nim](https://github.com/zah/nim.vim)(nim filetype) -- [nix](https://github.com/LnL7/vim-nix)(nix 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) -- [octave](https://github.com/McSinyx/vim-octave)(octave filetype) -- [odin](https://github.com/Tetralux/odin.vim)(odin 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) -- [pgsql](https://github.com/lifepillar/pgsql.vim)(sql filetype) -- [php](https://github.com/StanAngeloff/php.vim)(php filetype) -- [plantuml](https://github.com/aklt/plantuml-syntax)(plantuml filetype) -- [pony](https://github.com/jakwings/vim-pony)(pony filetype) -- [powershell](https://github.com/PProvost/vim-ps1)(ps1, ps1xm and ps1xml filetypes) -- [protobuf](https://github.com/uarun/vim-protobuf)(proto filetype) -- [pug](https://github.com/digitaltoad/vim-pug)(pug filetype) -- [puppet](https://github.com/rodjek/vim-puppet)(puppet, embeddedpuppe and embeddedpuppet filetypes) -- [purescript](https://github.com/purescript-contrib/purescript-vim)(purescript filetype) +- [javascript](https://github.com/pangloss/vim-javascript) (javascript, flo and flow filetypes) +- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax) (Jenkinsfile filetype) +- [jq](https://github.com/vito-c/jq.vim) (jq filetype) +- [json5](https://github.com/GutenYe/json5.vim) (json5 filetype) +- [json](https://github.com/elzr/vim-json) (json filetype) +- [jsonnet](https://github.com/google/vim-jsonnet) (jsonnet filetype) +- [jst](https://github.com/briancollins/vim-jst) (jst filetype) +- [jsx](https://github.com/MaxMEllon/vim-jsx-pretty) (javascriptreact filetype) +- [julia](https://github.com/JuliaEditorSupport/julia-vim) (julia filetype) +- [kotlin](https://github.com/udalov/kotlin-vim) (kotlin filetype) +- [ledger](https://github.com/ledger/vim-ledger) (ledger filetype) +- [lilypond](https://github.com/anowlcalledjosh/vim-lilypond) (lilypond filetype) +- [livescript](https://github.com/gkz/vim-ls) (livescript filetype) +- [llvm](https://github.com/rhysd/vim-llvm) (llvm, tablege and tablegen filetypes) +- [log](https://github.com/MTDL9/vim-log-highlighting) (log filetype) +- [lua](https://github.com/tbastos/vim-lua) (lua filetype) +- [mako](https://github.com/sophacles/vim-bundle-mako) (mako filetype) +- [markdown](https://github.com/plasticboy/vim-markdown) (markdown filetype) +- [mathematica](https://github.com/voldikss/vim-mma) (mma 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) +- [moonscript](https://github.com/leafo/moonscript-vim) (moon filetype) +- [nginx](https://github.com/chr4/nginx.vim) (nginx filetype) +- [nim](https://github.com/zah/nim.vim) (nim filetype) +- [nix](https://github.com/LnL7/vim-nix) (nix 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) +- [octave](https://github.com/McSinyx/vim-octave) (octave filetype) +- [odin](https://github.com/Tetralux/odin.vim) (odin 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) +- [pgsql](https://github.com/lifepillar/pgsql.vim) (sql filetype) +- [php](https://github.com/StanAngeloff/php.vim) (php filetype) +- [plantuml](https://github.com/aklt/plantuml-syntax) (plantuml filetype) +- [pony](https://github.com/jakwings/vim-pony) (pony filetype) +- [powershell](https://github.com/PProvost/vim-ps1) (ps1, ps1xm and ps1xml filetypes) +- [protobuf](https://github.com/uarun/vim-protobuf) (proto filetype) +- [pug](https://github.com/digitaltoad/vim-pug) (pug filetype) +- [puppet](https://github.com/rodjek/vim-puppet) (puppet, embeddedpuppe and embeddedpuppet filetypes) +- [purescript](https://github.com/purescript-contrib/purescript-vim) (purescript filetype)  - [python-compiler](https://github.com/aliev/vim-compiler-python)  - [python-indent](https://github.com/Vimjas/vim-python-pep8-indent) -- [python](https://github.com/vim-python/python-syntax)(python filetype) -- [qmake](https://github.com/artoj/qmake-syntax-vim)(qmake filetype) -- [qml](https://github.com/peterhoeg/vim-qml)(qml filetype) -- [r-lang](https://github.com/vim-scripts/R.vim)(r, rhel and rhelp filetypes) -- [racket](https://github.com/wlangstroth/vim-racket)(racket filetype) -- [ragel](https://github.com/jneen/ragel.vim)(ragel filetype) -- [raku](https://github.com/Raku/vim-raku)(raku filetype) -- [raml](https://github.com/IN3D/vim-raml)(raml filetype) -- [razor](https://github.com/adamclerk/vim-razor)(razor filetype) -- [reason](https://github.com/reasonml-editor/vim-reason-plus)(reason filetype) -- [requirements](https://github.com/raimon49/requirements.txt.vim)(requirements filetype) -- [rspec](https://github.com/keith/rspec.vim)(ruby filetype) -- [rst](https://github.com/marshallward/vim-restructuredtext)(rst filetype) -- [ruby](https://github.com/vim-ruby/vim-ruby)(ruby, erub and eruby filetypes) -- [rust](https://github.com/rust-lang/rust.vim)(rust filetype) -- [scala](https://github.com/derekwyatt/vim-scala)(scala filetype) -- [scss](https://github.com/cakebaker/scss-syntax.vim)(scss filetype) -- [sh](https://github.com/arzg/vim-sh)(sh, zs and zsh filetypes) -- [slim](https://github.com/slim-template/vim-slim)(slim filetype) -- [slime](https://github.com/slime-lang/vim-slime-syntax)(slime filetype) -- [smt2](https://github.com/bohlender/vim-smt2)(smt2 filetype) -- [solidity](https://github.com/tomlion/vim-solidity)(solidity filetype) -- [stylus](https://github.com/wavded/vim-stylus)(stylus filetype) -- [svelte](https://github.com/evanleck/vim-svelte/tree/main)(svelte filetype) +- [python](https://github.com/vim-python/python-syntax) (python filetype) +- [qmake](https://github.com/artoj/qmake-syntax-vim) (qmake filetype) +- [qml](https://github.com/peterhoeg/vim-qml) (qml filetype) +- [r-lang](https://github.com/vim-scripts/R.vim) (r, rhel and rhelp filetypes) +- [racket](https://github.com/wlangstroth/vim-racket) (racket filetype) +- [ragel](https://github.com/jneen/ragel.vim) (ragel filetype) +- [raku](https://github.com/Raku/vim-raku) (raku filetype) +- [raml](https://github.com/IN3D/vim-raml) (raml filetype) +- [razor](https://github.com/adamclerk/vim-razor) (razor filetype) +- [reason](https://github.com/reasonml-editor/vim-reason-plus) (reason filetype) +- [requirements](https://github.com/raimon49/requirements.txt.vim) (requirements filetype) +- [rspec](https://github.com/keith/rspec.vim) (ruby filetype) +- [rst](https://github.com/marshallward/vim-restructuredtext) (rst filetype) +- [ruby](https://github.com/vim-ruby/vim-ruby) (ruby, erub and eruby filetypes) +- [rust](https://github.com/rust-lang/rust.vim) (rust filetype) +- [scala](https://github.com/derekwyatt/vim-scala) (scala filetype) +- [scss](https://github.com/cakebaker/scss-syntax.vim) (scss filetype) +- [sh](https://github.com/arzg/vim-sh) (sh, zs and zsh filetypes) +- [slim](https://github.com/slim-template/vim-slim) (slim filetype) +- [slime](https://github.com/slime-lang/vim-slime-syntax) (slime filetype) +- [smt2](https://github.com/bohlender/vim-smt2) (smt2 filetype) +- [solidity](https://github.com/tomlion/vim-solidity) (solidity filetype) +- [stylus](https://github.com/wavded/vim-stylus) (stylus filetype) +- [svelte](https://github.com/evanleck/vim-svelte/tree/main) (svelte filetype)  - [svg-indent](https://github.com/jasonshell/vim-svg-indent) -- [svg](https://github.com/vim-scripts/svg.vim)(svg filetype) -- [swift](https://github.com/keith/swift.vim)(swift filetype) -- [sxhkd](https://github.com/baskerville/vim-sxhkdrc)(sxhkdrc filetype) -- [systemd](https://github.com/wgwoods/vim-systemd-syntax)(systemd filetype) -- [textile](https://github.com/timcharper/textile.vim)(textile filetype) -- [thrift](https://github.com/solarnz/thrift.vim)(thrift filetype) -- [tmux](https://github.com/ericpruitt/tmux.vim/tree/master/vim)(tmux filetype) -- [toml](https://github.com/cespare/vim-toml)(toml 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) -- [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) -- [v](https://github.com/ollykel/v-vim)(vlang filetype) -- [vala](https://github.com/arrufat/vala.vim)(vala filetype) -- [vbnet](https://github.com/vim-scripts/vbnet.vim)(vbnet filetype) -- [vcl](https://github.com/smerrill/vcl-vim-plugin)(vcl filetype) -- [velocity](https://github.com/lepture/vim-velocity)(velocity filetype) -- [vue](https://github.com/posva/vim-vue)(vue filetype) -- [xdc](https://github.com/amal-khailtash/vim-xdc-syntax)(xdc filetype) -- [xml](https://github.com/amadeus/vim-xml)(xml filetype) -- [xsl](https://github.com/vim-scripts/XSLT-syntax)(xsl filetype) +- [svg](https://github.com/vim-scripts/svg.vim) (svg filetype) +- [swift](https://github.com/keith/swift.vim) (swift filetype) +- [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (sxhkdrc filetype) +- [systemd](https://github.com/wgwoods/vim-systemd-syntax) (systemd filetype) +- [textile](https://github.com/timcharper/textile.vim) (textile filetype) +- [thrift](https://github.com/solarnz/thrift.vim) (thrift filetype) +- [tmux](https://github.com/ericpruitt/tmux.vim/tree/master/vim) (tmux filetype) +- [toml](https://github.com/cespare/vim-toml) (toml 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) +- [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) +- [v](https://github.com/ollykel/v-vim) (vlang filetype) +- [vala](https://github.com/arrufat/vala.vim) (vala filetype) +- [vbnet](https://github.com/vim-scripts/vbnet.vim) (vbnet filetype) +- [vcl](https://github.com/smerrill/vcl-vim-plugin) (vcl filetype) +- [velocity](https://github.com/lepture/vim-velocity) (velocity filetype) +- [vue](https://github.com/posva/vim-vue) (vue filetype) +- [xdc](https://github.com/amal-khailtash/vim-xdc-syntax) (xdc filetype) +- [xml](https://github.com/amadeus/vim-xml) (xml filetype) +- [xsl](https://github.com/vim-scripts/XSLT-syntax) (xsl filetype)  - [yard](https://github.com/noprompt/vim-yardoc) -- [zephir](https://github.com/xwsoul/vim-zephir)(zephir filetype) -- [zig](https://github.com/ziglang/zig.vim)(zir, zi and zig filetypes) +- [zephir](https://github.com/xwsoul/vim-zephir) (zephir filetype) +- [zig](https://github.com/ziglang/zig.vim) (zir, zi and zig filetypes)  - [zinit](https://github.com/zinit-zsh/zplugin-vim-syntax)  <!--/Language Packs--> diff --git a/autoload/fsharp.vim b/autoload/fsharp.vim index 6816d822..90313231 100644 --- a/autoload/fsharp.vim +++ b/autoload/fsharp.vim @@ -330,7 +330,7 @@ function! s:download(branch)      let zip = s:script_root_dir . "fsac.zip"      call system(          \ '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          call system('unzip -o -d ' . s:script_root_dir . "/fsac " . zip) diff --git a/autoload/go/config.vim b/autoload/go/config.vim index b450ad16..ce33d996 100644 --- a/autoload/go/config.vim +++ b/autoload/go/config.vim @@ -524,7 +524,7 @@ function! go#config#ReferrersMode() abort  endfunction  function! go#config#ImplementsMode() abort -  return get(g:, 'go_implements_mode', 'guru') +  return get(g:, 'go_implements_mode', 'gopls')  endfunction  function! go#config#GoplsCompleteUnimported() abort @@ -586,6 +586,21 @@ function! go#config#FillStructMode() abort    return get(g:, 'go_fillstruct_mode', 'fillstruct')  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  " compatibility reasons.  if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1 diff --git a/autoload/julia/doc.vim b/autoload/julia/doc.vim index 7907c94a..0bba5bfc 100644 --- a/autoload/julia/doc.vim +++ b/autoload/julia/doc.vim @@ -37,7 +37,7 @@ let s:NODOCPATTERN = '\C\VNo documentation found.'  function! julia#doc#lookup(keyword, ...) abort    let juliapath = get(a:000, 0, g:julia#doc#juliapath)    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)  endfunction @@ -238,7 +238,7 @@ endfunction  function! s:likely(str) abort    " escape twice    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)    return split(matchstr(output[0], '\C^search: \zs.*'))  endfunction diff --git a/doc/julia-vim.txt b/doc/julia-vim.txt index 3f09e3bd..5cf181d0 100644 --- a/doc/julia-vim.txt +++ b/doc/julia-vim.txt @@ -349,7 +349,7 @@ julia#function_assign2block()                  statements are removed; if the result is empty, `nothing` is                  substituted. Leading macros (e.g. `@inline` or `@compat`) are                  recognized and preserved by the transformation. -                 +                  In order to make this functionality practical, it is advisable                  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.                  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* diff --git a/doc/vim-go.txt b/doc/vim-go.txt index cc412836..d33a8b38 100644 --- a/doc/vim-go.txt +++ b/doc/vim-go.txt @@ -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|.  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'* @@ -2490,7 +2490,52 @@ Show only variables on the right-hand side: >    let g:go_debug_windows = {          \ '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'*  Server address `dlv` will listen on; must be in `hostname:port` format. diff --git a/ftplugin/falcon.vim b/ftplugin/falcon.vim index 752f5bc3..defc4cbe 100644 --- a/ftplugin/falcon.vim +++ b/ftplugin/falcon.vim @@ -5,6 +5,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'falcon') == -1  " Author:       Steven Oliver <oliver.steven@gmail.com>  " Copyright:    Copyright (c) 2009-2013 Steven Oliver  " 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 diff --git a/ftplugin/fortran.vim b/ftplugin/fortran.vim index 7b8a1fb1..efbc2884 100644 --- a/ftplugin/fortran.vim +++ b/ftplugin/fortran.vim @@ -2,14 +2,14 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1  " Vim settings file  " Language:	Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66) -" Version:	0.50 -" Last Change:	2020 Apr 20 -" Patched By:	Eisuke Kawashima +" Version:	(v52) 2020 October 07  " Maintainer:	Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>  " Usage:	For instructions, do :help fortran-plugin from Vim  " Credits: -" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben -" Fritz, and David Barnett. +"  Version 0.1 was created in September 2000 by Ajit Thakkar. +"  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  if exists("b:did_ftplugin") @@ -121,7 +121,7 @@ if !exists("b:match_words")  endif  " 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" .      \ "All Files (*.*)\t*.*\n"  endif diff --git a/ftplugin/ocaml.vim b/ftplugin/ocaml.vim index 10ca4920..87ad6fa6 100644 --- a/ftplugin/ocaml.vim +++ b/ftplugin/ocaml.vim @@ -524,7 +524,7 @@ endfunction    "c. link this stuff with what the user wants    " 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.)        "Out: the borders of the expression we are looking for the type diff --git a/indent/fortran.vim b/indent/fortran.vim index 1fed2974..a4c5f130 100644 --- a/indent/fortran.vim +++ b/indent/fortran.vim @@ -2,14 +2,14 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1  " Vim indent file  " Language:	Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) -" Version:	47 -" Last Change:	2020 Apr 20 -" Patched By:	Eisuke Kawashima +" Version:	(v48) 2020 October 07  " Maintainer:	Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>  " Usage:	For instructions, do :help fortran-indent from Vim  " Credits: -"  Useful suggestions were made, in chronological order, by: -"  Albert Oliver Serra, Takuya Fujiwara and Philipp Edelmann. +"  Version 0.1 was created in September 2000 by Ajit Thakkar. +"  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.  if exists("b:did_indent") @@ -148,7 +148,7 @@ function FortranGetIndent(lnum)          \. 'type\|forall\|associate\|enum\|block\)\)\>'      let ind = ind - shiftwidth()      " Fix indent for case statement immediately after select -    if prevstat =~? '\<select\s\+\(case\|type\)\>' +    if prevstat =~? '\<select\s*\(case\|type\)\>'        let ind = ind + shiftwidth()      endif    endif diff --git a/indent/julia.vim b/indent/julia.vim index d95fa193..6f4be447 100644 --- a/indent/julia.vim +++ b/indent/julia.vim @@ -21,7 +21,7 @@ if exists("*GetJuliaIndent")    finish  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, ...)    let s = a:st @@ -51,7 +51,7 @@ function GetJuliaNestingStruct(lnum, ...)    let blocks_stack = []    let num_closed_blocks = 0    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)      if fb < 0 && fe < 0 @@ -255,14 +255,18 @@ function GetJuliaNestingBrackets(lnum, c)    endwhile    let first_open_bracket = -1    let last_open_bracket = -1 +  let infuncargs = 0    if len(brackets_stack) > 0      let first_open_bracket = brackets_stack[0][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 -  return [first_open_bracket, last_open_bracket, last_closed_bracket] +  return [first_open_bracket, last_open_bracket, last_closed_bracket, infuncargs]  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)    let stack = map(synstack(a:lnum, a:c), 'synIDattr(v:val, "name")') @@ -272,10 +276,40 @@ endfunction  function IsInDocString(lnum)    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  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  " multiline bracketed expression, to be used as reference for block  " indentation. @@ -314,30 +348,29 @@ function GetJuliaIndent()    let lim = -1    " 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    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:      " 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 -      let st = last_open_bracket -      let ind = virtcol([lnum, st + 1]) +      if (!infuncargs && align_brackets) || (infuncargs && align_funcargs) +        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      " 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 -      " 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(lnum, last_closed_bracket) -      let percmap = maparg("%", "n")  -      if exists("g:loaded_matchit") && percmap =~# 'Match\%(it\|_wrapper\)' -        normal % -      else -        normal! % -      end +      call JumpToMatch(lnum, last_closed_bracket)        if line(".") == lnum          " something wrong here, give up          let ind = indent(lnum) @@ -354,15 +387,28 @@ function GetJuliaIndent()          endif        endif -    " Third scenario: nothing special, or matchit not available: keep the indentation +    " Third scenario: nothing special: keep the indentation      else        let ind = indent(lnum)      endif -    " In case the current line starts with a closing bracket, we align it with -    " the opening one. +    " Does the current line starts with a closing bracket? Then depending on +    " 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 -      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      break @@ -374,7 +420,7 @@ function GetJuliaIndent()      let [lnum,ind] = LastBlockIndent(lnum)      let c = len(getline(lnum)) + 1      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      endif    end @@ -389,6 +435,55 @@ function GetJuliaIndent()    " Decrease indentation for each closed block in the current line    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  endfunction diff --git a/scripts/build b/scripts/build index 40ac7f33..c2e5d41a 100755 --- a/scripts/build +++ b/scripts/build @@ -531,9 +531,9 @@ def extract(packages)      end      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 -      output[-1] << "(#{package["filetypes"].first["name"]} filetype)" +      output[-1] << " (#{package["filetypes"].first["name"]} filetype)"      end      progress diff --git a/syntax/apache.vim b/syntax/apache.vim index b515c411..737f478f 100644 --- a/syntax/apache.vim +++ b/syntax/apache.vim @@ -5,7 +5,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'apache') == -1  " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>  " License: This file can be redistribued and/or modified under the same terms  "		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  " TODO: see particular FIXME's scattered through the file  "		make it really linewise? @@ -44,6 +44,8 @@ syn keyword apacheOption user group  syn match apacheOption "\<valid-user\>"  syn case match  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 match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything  syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError diff --git a/syntax/asterisk.vim b/syntax/asterisk.vim index f29ae119..e065fb4a 100644 --- a/syntax/asterisk.vim +++ b/syntax/asterisk.vim @@ -21,7 +21,7 @@ syn match       asteriskComment         ";.*" contains=asteriskTodo  syn match       asteriskContext         "\[.\{-}\]"  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*\(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         "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained  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       asteriskExp             "\$\[.\{-}\]" contains=asteriskVar,asteriskVarLen,asteriskExp  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       asteriskType            "^\zstype=\ze\<\(peer\|user\|friend\)\>$" contains=asteriskTypeType  syn match       asteriskTypeType        "\<\(peer\|user\|friend\)\>" contained diff --git a/syntax/cabal-2.vim b/syntax/cabal-2.vim index c4ef829f..e297a9bc 100644 --- a/syntax/cabal-2.vim +++ b/syntax/cabal-2.vim @@ -6,7 +6,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cabal') == -1  " Maintainer:   Marcin Szamotulski <profunctor@pm.me>  " Previous Maintainer:	Vincent Berthoux <twinside@gmail.com>  " File Types:   .cabal -" Last Change:  15 May 2018 +" Last Change:  3 Oct 2020  " v1.5: Incorporated changes from  "       https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/cabal.vim  "       Use `syn keyword` instead of `syn match`. @@ -64,11 +64,12 @@ syn keyword cabalCategory contained  	\ source-repository  	\ flag  	\ custom-setup +	\ common  syn match cabalCategoryTitle contained /[^{]*\ze{\?/  syn match cabalCategoryRegion  	\ contains=cabalCategory,cabalCategoryTitle  	\ 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  " cabalStatementRegion which limits the scope of cabalStatement keywords, this @@ -78,6 +79,7 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion  	\ default-language  	\ default-extensions  	\ author +        \ autogen-modules  	\ branch  	\ bug-reports  	\ build-depends @@ -112,6 +114,7 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion  	\ homepage  	\ hs-source-dirs  	\ hugs-options +	\ import  	\ include-dirs  	\ includes  	\ install-includes diff --git a/syntax/crystal.vim b/syntax/crystal.vim index fb1b200f..147bd050 100644 --- a/syntax/crystal.vim +++ b/syntax/crystal.vim @@ -141,7 +141,7 @@ syn match crystalFloat     "\<\d[[:digit:]_]*\%(\.\d[[:digit:]_]*\)\=\%([eE][-+]  syn match crystalInvalidInteger "\%(\.\|[eE][+-]\)\@2<!\<0\d\+\>" contained containedin=crystalFloat,crystalInteger display  " 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  crystalTypeName         "\%(\%([.@$]\@1<!\.\)\@1<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=" contained diff --git a/syntax/css.vim b/syntax/css.vim index 8cac40ec..df65677d 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -651,7 +651,7 @@ endif  let &cpo = s:cpo_save  unlet s:cpo_save -" vim: ts=8 +" vim: ts=8  endif diff --git a/syntax/fortran.vim b/syntax/fortran.vim index 4fddcef3..96b0fbe8 100644 --- a/syntax/fortran.vim +++ b/syntax/fortran.vim @@ -2,19 +2,18 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fortran') == -1  " Vim syntax file  " Language:	Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) -" Version:	102 -" Last Change:	2020 Apr 20 -" Patched By:	Eisuke Kawashima +" Version:	(v103) 2020 October 07  " Maintainer:	Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>  " Usage:	For instructions, do :help fortran-syntax from Vim  " Credits: -"  Version 0.1 for Fortran 95 was created (April 2000) by Ajit Thakkar from the -"  Fortran 77 syntax file by Mario Eusebio and Preben Guldberg. +"  Version 0.1 for Fortran 95 was created in April 2000 by Ajit Thakkar from an +"  older Fortran 77 syntax file by Mario Eusebio and Preben Guldberg.  "  Since then, useful suggestions and contributions have been made, in order, by:  "  Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,  "  Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman,  "  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")    finish @@ -104,6 +103,8 @@ syn match fortranUnitHeader	"\<end\>"  syn match fortranType		"\<character\>"  syn match fortranType		"\<complex\>"  syn match fortranType		"\<integer\>" +syn match fortranType		"\<real\>" +syn match fortranType		"\<logical\>"  syn keyword fortranType		intrinsic  syn match fortranType		"\<implicit\>"  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 match fortranIntrinsic	"\<len\s*[(,]"me=s+3  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 fortranType		"\<implicit\s\+logical" -syn match fortranType		"^\s*logical\>" +syn match fortranType           "\<implicit\s\+real\>" +syn match fortranType           "\<implicit\s\+logical\>"  "Numbers of various sorts  " Integers @@ -170,6 +169,12 @@ syn match fortranFloatIll	display	"\<\d\+\.\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"  syn match fortranFloatIll	display	"\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"  " floating point number  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  syn match fortranFormatSpec	display	"\d*f\d\+\.\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	result operator assignment  syn match fortranUnitHeader	"\<interface\>" -syn match fortranUnitHeader	"\<recursive\>"  syn keyword fortranKeyword	allocate deallocate nullify cycle exit  syn match fortranConditional	"\<select\>"  syn keyword fortranConditional	case default where elsewhere @@ -276,6 +280,7 @@ syn keyword fortranIntrinsic	null cpu_time  syn match fortranType			"\<elemental\>"  syn match fortranType			"\<pure\>"  syn match fortranType			"\<impure\>" +syn match fortranType           	"\<recursive\>"  if exists("fortran_more_precise")    syn match fortranConstructName "\(\<end\s*forall\s\+\)\@15<=\a\w*\>"  endif @@ -455,6 +460,9 @@ hi def link fortranTodo		Todo  hi def link fortranContinueMark	Special  hi def link fortranString	String  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 fortranBoolean	Boolean  hi def link fortranLabelError	Error diff --git a/syntax/julia.vim b/syntax/julia.vim index be4f9680..c2f36b7e 100644 --- a/syntax/julia.vim +++ b/syntax/julia.vim @@ -76,7 +76,7 @@ syntax cluster juliaExpressions		contains=@juliaParItems,@juliaStringItems,@juli  syntax cluster juliaExprsPrintf		contains=@juliaExpressions,@juliaPrintfItems  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 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'  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*=\)\@!" + +" 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 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' @@ -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  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  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  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  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  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 -exec 'syntax region  juliaAbstractBlock	matchgroup=juliaBlKeyword start="'.s:nodot.'\<abstract 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  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\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 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  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'  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 region   juliaQuotedParBlockS	matchgroup=juliaQParDelim contained start="' . s:quoting_colonS . '(" end=")" contains=@juliaExpressions' +  " force precedence over Symbols  syntax match   juliaOperator		display "::" -syntax region  juliaCommentL		matchgroup=juliaCommentDelim start="#\ze\%([^=]\|$\)" end="$" keepend contains=juliaTodo,@juliaSpellcheckComments -syntax region  juliaCommentM		matchgroup=juliaCommentDelim start="#=\ze\%([^#]\|$\)" end="=#" contains=juliaTodo,juliaCommentM,@juliaSpellcheckComments +syntax region  juliaCommentL		matchgroup=juliaCommentDelim excludenl 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 +" 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  " can be enabled by entering e.g. @@ -350,15 +367,17 @@ hi def link juliaComma			juliaNone  hi def link juliaColon			juliaOperator +hi def link juliaMacroName     		juliaMacro +  hi def link juliaKeyword		Keyword  hi def link juliaInfixKeyword		Keyword +hi def link juliaAsKeyword		Keyword  hi def link juliaRepKeyword		Keyword  hi def link juliaBlKeyword		Keyword  hi def link juliaConditional		Conditional  hi def link juliaRepeat			Repeat  hi def link juliaException		Exception -hi def link juliaTypedef		Keyword  hi def link juliaOuter			Keyword  hi def link juliaBaseTypeBasic		Type  hi def link juliaBaseTypeNum		Type diff --git a/syntax/less.vim b/syntax/less.vim index 0b0c5373..82feb454 100644 --- a/syntax/less.vim +++ b/syntax/less.vim @@ -4,14 +4,13 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'less') == -1  " Language:	less  " Maintainer:	Alessandro Vioni <jenoma@gmail.com>  " URL: https://github.com/genoma/vim-less -" Last Change:	2014 November 24 +" Last Change:	2020 Sep 29  if exists("b:current_syntax")    finish  endif  runtime! syntax/css.vim -runtime! after/syntax/css.vim  syn case ignore diff --git a/syntax/qml.vim b/syntax/qml.vim index 760a5dea..268c9f8e 100644 --- a/syntax/qml.vim +++ b/syntax/qml.vim @@ -63,7 +63,7 @@ syn keyword qmlLabel             case default  syn keyword qmlException         try catch finally throw  syn keyword qmlMessage           alert confirm prompt status  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  if get(g:, 'qml_fold', 0) | 
