mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Update
This commit is contained in:
288
README.md
288
README.md
@@ -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-->
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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*
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
143
indent/julia.vim
143
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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -651,7 +651,7 @@ endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8
|
||||
|
||||
|
||||
endif
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user