mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Compare commits
52 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
233a817f05 | ||
|
|
c3e825027d | ||
|
|
3618414fad | ||
|
|
88cae16fca | ||
|
|
6d7f437b84 | ||
|
|
bb27d0efbf | ||
|
|
8a790ac7bf | ||
|
|
c9f2aa9ae0 | ||
|
|
1fc249bafd | ||
|
|
518d733369 | ||
|
|
0021384259 | ||
|
|
af3ebda710 | ||
|
|
6b663ec330 | ||
|
|
6b9625ecd5 | ||
|
|
3383046210 | ||
|
|
8f9e5ac70b | ||
|
|
23d7b0931d | ||
|
|
3ee6ab9d13 | ||
|
|
cd919c0039 | ||
|
|
3ac0dd5a80 | ||
|
|
e95c5f49aa | ||
|
|
ba11e0f1ad | ||
|
|
c45f0b8f64 | ||
|
|
bbee246aae | ||
|
|
3da600ac30 | ||
|
|
0d48ba9245 | ||
|
|
1993b9f68f | ||
|
|
bb3de8fa5e | ||
|
|
b3763a917a | ||
|
|
4bec20ec1a | ||
|
|
9f4e2b6834 | ||
|
|
619a7a854b | ||
|
|
3f79f795dc | ||
|
|
f084509520 | ||
|
|
214ecc1384 | ||
|
|
a96c420e14 | ||
|
|
bc9757916e | ||
|
|
c6fa4d2bf5 | ||
|
|
cbc4600333 | ||
|
|
32b097f67e | ||
|
|
04d110660e | ||
|
|
c0b866aac3 | ||
|
|
b4868c7ea7 | ||
|
|
d221139bd7 | ||
|
|
073e4d44be | ||
|
|
5bd9f16476 | ||
|
|
94ec9c38e7 | ||
|
|
bff55a54fa | ||
|
|
560024abe0 | ||
|
|
3ad297db5c | ||
|
|
5d7121d829 | ||
|
|
8b272d6e52 |
2
Makefile
2
Makefile
@@ -7,4 +7,4 @@ test:
|
||||
@ scripts/test
|
||||
|
||||
dev:
|
||||
@ find scripts . -type f -depth 1 | DEV=1 entr bash -c 'make && make test'
|
||||
@ find scripts autoload/polyglot ftdetect tests . -type f -depth 1 | DEV=1 entr bash -c 'make && make test'
|
||||
|
||||
330
README.md
330
README.md
@@ -7,7 +7,7 @@ A collection of language packs for Vim.
|
||||
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
|
||||
|
||||
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
|
||||
- It **installs and updates 120+ times faster** than the <!--Package Count-->203<!--/Package Count--> packages it consists of.
|
||||
- It **installs and updates 120+ times faster** than the <!--Package Count-->598<!--/Package Count--> packages it consists of.
|
||||
- It is more secure because scripts loaded for all extensions are generated by vim-polyglot (ftdetect).
|
||||
- Solid syntax and indentation support (other features skipped). Only the best language packs.
|
||||
- All unnecessary files are ignored (like enormous documentation from php support).
|
||||
@@ -32,8 +32,7 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
||||
You can also use Vim 8 built-in package manager:
|
||||
|
||||
```
|
||||
mkdir -p ~/.vim/pack/default/start
|
||||
git clone https://github.com/sheerun/vim-polyglot ~/.vim/pack/default/start/vim-polyglot
|
||||
git clone --depth 1 https://github.com/sheerun/vim-polyglot ~/.vim/pack/plugins/start/vim-polyglot
|
||||
```
|
||||
|
||||
NOTE: Not all features of individual language packs are available. We strip them from functionality slowing vim startup (for example we ignore `plugins` folder that is loaded regardless of file type, instead we prefer `ftplugin` which is loaded lazily).
|
||||
@@ -42,209 +41,162 @@ If you need full functionality of any plugin, please use it directly with your p
|
||||
|
||||
## Language packs
|
||||
|
||||
On top of all language packs from [vim repository](https://github.com/vim/vim/tree/master/runtime), vim-polyglot includes:
|
||||
|
||||
<!--Language Packs-->
|
||||
- [8th](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [a2ps](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [a65](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [aap](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [abap](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [abaqus](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [abc](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [abel](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [acedb](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [acpiasl](https://github.com/martinlroth/vim-acpi-asl)
|
||||
- [ada](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [ahdl](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [aidl](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [alsaconf](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [aml](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [ampl](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [acpiasl](https://github.com/martinlroth/vim-acpi-asl) (Syntax highlighting for asl and dsl files)
|
||||
- [ansible](https://github.com/pearofducks/ansible-vim)
|
||||
- [ant](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [apache](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [apiblueprint](https://github.com/kylef/apiblueprint.vim)
|
||||
- [applescript](https://github.com/mityu/vim-applescript)
|
||||
- [aptconf](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [arch](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [arduino](https://github.com/sudar/vim-arduino-syntax)
|
||||
- [art](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [asciidoc](https://github.com/asciidoc/vim-asciidoc)
|
||||
- [asn](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [aspperl](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [aspvbs](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [atlas](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [autohotkey](https://github.com/hnamikaw/vim-autohotkey)
|
||||
- [autoit](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [automake](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [ave](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [awk](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [basic](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [blade](https://github.com/jwalton512/vim-blade)
|
||||
- [apiblueprint](https://github.com/kylef/apiblueprint.vim) (API Blueprint syntax highlighting for apib files)
|
||||
- [applescript](https://github.com/mityu/vim-applescript) (AppleScript syntax highlighting for applescript and scpt files)
|
||||
- [arduino](https://github.com/sudar/vim-arduino-syntax) (Processing syntax highlighting for pde and ino files)
|
||||
- [asciidoc](https://github.com/asciidoc/vim-asciidoc) (AsciiDoc syntax highlighting for asciidoc, adoc and asc files)
|
||||
- [autohotkey](https://github.com/hnamikaw/vim-autohotkey) (AutoHotkey syntax highlighting for ahk and ahkl files)
|
||||
- [blade](https://github.com/jwalton512/vim-blade) (Blade syntax highlighting for blade and blade.php files)
|
||||
- [brewfile](https://github.com/bfontaine/Brewfile.vim)
|
||||
- [bzl](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [c/c++](https://github.com/vim-jp/vim-cpp)
|
||||
- [c/c++](https://github.com/vim-jp/vim-cpp) (C++ and C syntax highlighting for cpp, c++, cc, cp, cxx and 17 more files)
|
||||
- [caddyfile](https://github.com/isobit/vim-caddyfile)
|
||||
- [carp](https://github.com/hellerve/carp-vim)
|
||||
- [carp](https://github.com/hellerve/carp-vim) (Syntax highlighting for carp files)
|
||||
- [cjsx](https://github.com/mtscout6/vim-cjsx)
|
||||
- [clojure](https://github.com/guns/vim-clojure-static)
|
||||
- [cmake](https://github.com/pboettch/vim-cmake-syntax)
|
||||
- [coffee-script](https://github.com/kchmck/vim-coffee-script)
|
||||
- [conf](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [clojure](https://github.com/guns/vim-clojure-static) (Clojure syntax highlighting for clj, boot, cl2, cljc, cljs, cljs.hl, cljscm, cljx, hic and edn files)
|
||||
- [cmake](https://github.com/pboettch/vim-cmake-syntax) (CMake syntax highlighting for cmake and cmake.in files)
|
||||
- [coffee-script](https://github.com/kchmck/vim-coffee-script) (CoffeeScript and Literate CoffeeScript syntax highlighting for coffee, cake, cjsx, iced, coffeekup, litcoffee and coffee.md files)
|
||||
- [cpp-modern](https://github.com/bfrg/vim-cpp-modern)
|
||||
- [cql](https://github.com/elubow/cql-vim)
|
||||
- [cryptol](https://github.com/victoredwardocallaghan/cryptol.vim)
|
||||
- [crystal](https://github.com/rhysd/vim-crystal)
|
||||
- [csv](https://github.com/chrisbra/csv.vim)
|
||||
- [cucumber](https://github.com/tpope/vim-cucumber)
|
||||
- [cue](https://github.com/mgrabovsky/vim-cuesheet)
|
||||
- [dart](https://github.com/dart-lang/dart-vim-plugin)
|
||||
- [dhall](https://github.com/vmchale/dhall-vim)
|
||||
- [dlang](https://github.com/JesseKPhillips/d.vim)
|
||||
- [dockerfile](https://github.com/ekalinin/Dockerfile.vim)
|
||||
- [dosini](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [elf](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [elixir](https://github.com/elixir-lang/vim-elixir)
|
||||
- [elm](https://github.com/andys8/vim-elm-syntax)
|
||||
- [emberscript](https://github.com/yalesov/vim-ember-script)
|
||||
- [emblem](https://github.com/yalesov/vim-emblem)
|
||||
- [erlang](https://github.com/vim-erlang/vim-erlang-runtime)
|
||||
- [fennel](https://github.com/bakpakin/fennel.vim)
|
||||
- [ferm](https://github.com/vim-scripts/ferm.vim)
|
||||
- [fish](https://github.com/georgewitteman/vim-fish)
|
||||
- [flatbuffers](https://github.com/dcharbon/vim-flatbuffers)
|
||||
- [forth](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [fsharp](https://github.com/ionide/Ionide-vim)
|
||||
- [gdscript](https://github.com/calviken/vim-gdscript3)
|
||||
- [git](https://github.com/tpope/vim-git)
|
||||
- [cql](https://github.com/elubow/cql-vim) (Syntax highlighting for cql files)
|
||||
- [cryptol](https://github.com/victoredwardocallaghan/cryptol.vim) (Syntax highlighting for cry, cyl, lcry and lcyl files)
|
||||
- [crystal](https://github.com/rhysd/vim-crystal) (Crystal and HTML+ECR syntax highlighting for cr and ecr files)
|
||||
- [csv](https://github.com/chrisbra/csv.vim) (CSV syntax highlighting for csv, tsv and tab files)
|
||||
- [cucumber](https://github.com/tpope/vim-cucumber) (Gherkin syntax highlighting for feature and story files)
|
||||
- [cue](https://github.com/mgrabovsky/vim-cuesheet) (Syntax highlighting for cue files)
|
||||
- [dart](https://github.com/dart-lang/dart-vim-plugin) (Dart syntax highlighting for dart and drt files)
|
||||
- [dhall](https://github.com/vmchale/dhall-vim) (Dhall syntax highlighting for dhall files)
|
||||
- [dlang](https://github.com/JesseKPhillips/d.vim) (D syntax highlighting for d, di, lst, dd, ddoc and sdl files)
|
||||
- [docker-compose](https://github.com/ekalinin/Dockerfile.vim)
|
||||
- [elixir](https://github.com/elixir-lang/vim-elixir) (Elixir and HTML+EEX syntax highlighting for ex, exs, eex and leex files)
|
||||
- [elm](https://github.com/andys8/vim-elm-syntax) (Elm syntax highlighting for elm files)
|
||||
- [emberscript](https://github.com/yalesov/vim-ember-script) (EmberScript syntax highlighting for em and emberscript files)
|
||||
- [emblem](https://github.com/yalesov/vim-emblem) (Syntax highlighting for emblem and em files)
|
||||
- [erlang](https://github.com/vim-erlang/vim-erlang-runtime) (Erlang syntax highlighting for erl, app.src, es, escript, hrl, xrl, yrl, app and yaws files)
|
||||
- [fennel](https://github.com/bakpakin/fennel.vim) (Syntax highlighting for fnl files)
|
||||
- [ferm](https://github.com/vim-scripts/ferm.vim) (Syntax highlighting for ferm files)
|
||||
- [fish](https://github.com/georgewitteman/vim-fish) (fish syntax highlighting for fish files)
|
||||
- [flatbuffers](https://github.com/dcharbon/vim-flatbuffers) (Syntax highlighting for fbs files)
|
||||
- [fsharp](https://github.com/ionide/Ionide-vim) (F# syntax highlighting for fs, fsi and fsx files)
|
||||
- [gdscript](https://github.com/calviken/vim-gdscript3) (GDScript syntax highlighting for gd files)
|
||||
- [git](https://github.com/tpope/vim-git) (Git Config syntax highlighting for gitconfig files)
|
||||
- [gitignore](https://github.com/fszymanski/fzf-gitignore)
|
||||
- [glsl](https://github.com/tikhomirov/vim-glsl)
|
||||
- [gmpl](https://github.com/maelvalais/gmpl.vim)
|
||||
- [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting)
|
||||
- [go](https://github.com/fatih/vim-go)
|
||||
- [glsl](https://github.com/tikhomirov/vim-glsl) (GLSL syntax highlighting for glsl, fp, frag, frg, fs and 16 more files)
|
||||
- [gmpl](https://github.com/maelvalais/gmpl.vim) (Syntax highlighting for mod files)
|
||||
- [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting) (Gnuplot syntax highlighting for gp, gnu, gnuplot, p, plot, plt and gpi files)
|
||||
- [go](https://github.com/fatih/vim-go) (Go syntax highlighting for go and tmpl files)
|
||||
- [gradle](https://github.com/tfnico/vim-gradle)
|
||||
- [graphql](https://github.com/jparise/vim-graphql)
|
||||
- [groovy](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [grub](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [haml](https://github.com/tpope/vim-haml)
|
||||
- [handlebars](https://github.com/mustache/vim-mustache-handlebars)
|
||||
- [haproxy](https://github.com/CH-DanReif/haproxy.vim)
|
||||
- [haskell](https://github.com/neovimhaskell/haskell-vim)
|
||||
- [haxe](https://github.com/yaymukund/vim-haxe)
|
||||
- [hcl](https://github.com/b4b4r07/vim-hcl)
|
||||
- [graphql](https://github.com/jparise/vim-graphql) (GraphQL syntax highlighting for graphql, gql and graphqls files)
|
||||
- [haml](https://github.com/tpope/vim-haml) (Haml syntax highlighting for haml, haml.deface, hamlc and hamlbars files)
|
||||
- [handlebars](https://github.com/mustache/vim-mustache-handlebars) (Mustache and Handlebars syntax highlighting for mustache, hogan, hulk, hjs, handlebars, hbs, hdbs and hb files)
|
||||
- [haproxy](https://github.com/CH-DanReif/haproxy.vim) (HAProxy syntax highlighting)
|
||||
- [haskell](https://github.com/neovimhaskell/haskell-vim) (Haskell syntax highlighting for hs, hs-boot, hsc, bpk and hsig files)
|
||||
- [haxe](https://github.com/yaymukund/vim-haxe) (Haxe syntax highlighting for hx and hxsl files)
|
||||
- [hcl](https://github.com/b4b4r07/vim-hcl) (HCL syntax highlighting for hcl, nomad and workflow files)
|
||||
- [helm](https://github.com/towolf/vim-helm)
|
||||
- [help](https://github.com/neovim/neovim/tree/master/runtime)
|
||||
- [hive](https://github.com/zebradil/hive.vim)
|
||||
- [html5](https://github.com/othree/html5.vim)
|
||||
- [htmldjango](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [i3](https://github.com/mboughaba/i3config.vim)
|
||||
- [icalendar](https://github.com/chutzpah/icalendar.vim)
|
||||
- [idris2](https://github.com/edwinb/idris2-vim)
|
||||
- [idris](https://github.com/idris-hackers/idris-vim)
|
||||
- [ion](https://github.com/vmchale/ion-vim)
|
||||
- [hive](https://github.com/zebradil/hive.vim) (HiveQL syntax highlighting for q, hql and ql files)
|
||||
- [html5](https://github.com/sheerun/html5.vim)
|
||||
- [i3](https://github.com/mboughaba/i3config.vim) (Syntax highlighting for i3.config and i3config files)
|
||||
- [icalendar](https://github.com/chutzpah/icalendar.vim) (Syntax highlighting for ics files)
|
||||
- [idris2](https://github.com/edwinb/idris2-vim) (Syntax highlighting for idr, ipkg and lidr files)
|
||||
- [idris](https://github.com/idris-hackers/idris-vim) (Idris syntax highlighting for idr and lidr files)
|
||||
- [ion](https://github.com/vmchale/ion-vim) (Syntax highlighting for ion files)
|
||||
- [javascript-sql](https://github.com/statico/vim-javascript-sql)
|
||||
- [javascript](https://github.com/pangloss/vim-javascript)
|
||||
- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax)
|
||||
- [jq](https://github.com/vito-c/jq.vim)
|
||||
- [json5](https://github.com/GutenYe/json5.vim)
|
||||
- [json](https://github.com/elzr/vim-json)
|
||||
- [jsonnet](https://github.com/google/vim-jsonnet)
|
||||
- [jst](https://github.com/briancollins/vim-jst)
|
||||
- [jsx](https://github.com/MaxMEllon/vim-jsx-pretty)
|
||||
- [julia](https://github.com/JuliaEditorSupport/julia-vim)
|
||||
- [kotlin](https://github.com/udalov/kotlin-vim)
|
||||
- [ledger](https://github.com/ledger/vim-ledger)
|
||||
- [less](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [lilypond](https://github.com/anowlcalledjosh/vim-lilypond)
|
||||
- [livescript](https://github.com/gkz/vim-ls)
|
||||
- [llvm](https://github.com/rhysd/vim-llvm)
|
||||
- [log](https://github.com/MTDL9/vim-log-highlighting)
|
||||
- [lua](https://github.com/tbastos/vim-lua)
|
||||
- [m4](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [mako](https://github.com/sophacles/vim-bundle-mako)
|
||||
- [markdown](https://github.com/plasticboy/vim-markdown)
|
||||
- [mathematica](https://github.com/voldikss/vim-mma)
|
||||
- [mdx](https://github.com/jxnblk/vim-mdx-js)
|
||||
- [meson](https://github.com/mesonbuild/meson/tree/master/data/syntax-highlighting/vim)
|
||||
- [moonscript](https://github.com/leafo/moonscript-vim)
|
||||
- [murphi](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [nginx](https://github.com/chr4/nginx.vim)
|
||||
- [nim](https://github.com/zah/nim.vim)
|
||||
- [nix](https://github.com/LnL7/vim-nix)
|
||||
- [objc](https://github.com/b4winckler/vim-objc)
|
||||
- [ocaml](https://github.com/rgrinberg/vim-ocaml)
|
||||
- [octave](https://github.com/McSinyx/vim-octave)
|
||||
- [odin](https://github.com/Tetralux/odin.vim)
|
||||
- [opencl](https://github.com/petRUShka/vim-opencl)
|
||||
- [perl](https://github.com/vim-perl/vim-perl)
|
||||
- [pgsql](https://github.com/lifepillar/pgsql.vim)
|
||||
- [php](https://github.com/StanAngeloff/php.vim)
|
||||
- [plantuml](https://github.com/aklt/plantuml-syntax)
|
||||
- [pony](https://github.com/jakwings/vim-pony)
|
||||
- [powershell](https://github.com/PProvost/vim-ps1)
|
||||
- [prolog](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [protobuf](https://github.com/uarun/vim-protobuf)
|
||||
- [pug](https://github.com/digitaltoad/vim-pug)
|
||||
- [puppet](https://github.com/rodjek/vim-puppet)
|
||||
- [purescript](https://github.com/purescript-contrib/purescript-vim)
|
||||
- [javascript](https://github.com/pangloss/vim-javascript) (JavaScript syntax highlighting for js, bones, cjs, es, es6 and 17 more files)
|
||||
- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax) (Syntax highlighting for jenkinsfile and Jenkinsfile files)
|
||||
- [jq](https://github.com/vito-c/jq.vim) (JSONiq syntax highlighting for jq files)
|
||||
- [json5](https://github.com/GutenYe/json5.vim) (JSON5 syntax highlighting for json5 files)
|
||||
- [json](https://github.com/elzr/vim-json) (JSON syntax highlighting for json, avsc, geojson, gltf, har and 13 more files)
|
||||
- [jsonnet](https://github.com/google/vim-jsonnet) (Jsonnet syntax highlighting for jsonnet and libsonnet files)
|
||||
- [jst](https://github.com/briancollins/vim-jst) (EJS syntax highlighting for ejs, ect and jst files)
|
||||
- [jsx](https://github.com/MaxMEllon/vim-jsx-pretty) (JSX syntax highlighting for jsx files)
|
||||
- [julia](https://github.com/JuliaEditorSupport/julia-vim) (Julia syntax highlighting for jl files)
|
||||
- [kotlin](https://github.com/udalov/kotlin-vim) (Kotlin syntax highlighting for kt, ktm and kts files)
|
||||
- [ledger](https://github.com/ledger/vim-ledger) (Syntax highlighting for ldg, ledger and journal files)
|
||||
- [lilypond](https://github.com/anowlcalledjosh/vim-lilypond) (LilyPond syntax highlighting for ly and ily files)
|
||||
- [livescript](https://github.com/gkz/vim-ls) (LiveScript syntax highlighting for ls files)
|
||||
- [llvm](https://github.com/rhysd/vim-llvm) (LLVM syntax highlighting for ll and td files)
|
||||
- [log](https://github.com/MTDL9/vim-log-highlighting) (Syntax highlighting for log and LOG files)
|
||||
- [lua](https://github.com/tbastos/vim-lua) (Lua syntax highlighting for lua, fcgi, nse, p8, rbxs, rockspec and wlua files)
|
||||
- [mako](https://github.com/sophacles/vim-bundle-mako) (Mako syntax highlighting for mako and mao files)
|
||||
- [markdown](https://github.com/plasticboy/vim-markdown) (Markdown syntax highlighting for md, markdown, mdown, mdwn, mkd, mkdn, mkdown, ronn and workbook files)
|
||||
- [mathematica](https://github.com/voldikss/vim-mma) (Mathematica syntax highlighting for mathematica, cdf, m, ma, mt and 6 more files)
|
||||
- [mdx](https://github.com/jxnblk/vim-mdx-js) (Syntax highlighting for mdx files)
|
||||
- [meson](https://github.com/mesonbuild/meson/tree/master/data/syntax-highlighting/vim) (Meson syntax highlighting for wrap files)
|
||||
- [moonscript](https://github.com/leafo/moonscript-vim) (MoonScript syntax highlighting for moon files)
|
||||
- [nginx](https://github.com/chr4/nginx.vim) (Nginx syntax highlighting for nginx, nginxconf and vhost files)
|
||||
- [nim](https://github.com/zah/nim.vim) (Nim syntax highlighting for nim, nim.cfg, nimble, nimrod and nims files)
|
||||
- [nix](https://github.com/LnL7/vim-nix) (Nix syntax highlighting for nix files)
|
||||
- [objc](https://github.com/b4winckler/vim-objc) (Objective-C syntax highlighting for m and h files)
|
||||
- [ocaml](https://github.com/rgrinberg/vim-ocaml) (OCaml syntax highlighting for ml, eliom, eliomi, ml4, mli and 13 more files)
|
||||
- [octave](https://github.com/McSinyx/vim-octave) (Syntax highlighting for oct and m files)
|
||||
- [odin](https://github.com/Tetralux/odin.vim) (Odin syntax highlighting for odin files)
|
||||
- [opencl](https://github.com/petRUShka/vim-opencl) (OpenCL syntax highlighting for cl and opencl files)
|
||||
- [perl](https://github.com/vim-perl/vim-perl) (Perl syntax highlighting for pl, al, cgi, fcgi, perl and 12 more files)
|
||||
- [pgsql](https://github.com/lifepillar/pgsql.vim) (PLpgSQL syntax highlighting for pgsql files)
|
||||
- [php](https://github.com/StanAngeloff/php.vim) (PHP syntax highlighting for php, aw, ctp, fcgi, inc and 7 more files)
|
||||
- [plantuml](https://github.com/aklt/plantuml-syntax) (PlantUML syntax highlighting for puml, iuml, plantuml, uml and pu files)
|
||||
- [pony](https://github.com/jakwings/vim-pony) (Pony syntax highlighting for pony files)
|
||||
- [powershell](https://github.com/PProvost/vim-ps1) (PowerShell syntax highlighting for ps1, psd1, psm1, pssc and ps1xml files)
|
||||
- [protobuf](https://github.com/uarun/vim-protobuf) (Protocol Buffer syntax highlighting for proto files)
|
||||
- [pug](https://github.com/digitaltoad/vim-pug) (Pug syntax highlighting for jade and pug files)
|
||||
- [puppet](https://github.com/rodjek/vim-puppet) (Puppet syntax highlighting for pp and epp files)
|
||||
- [purescript](https://github.com/purescript-contrib/purescript-vim) (PureScript syntax highlighting for purs files)
|
||||
- [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)
|
||||
- [qmake](https://github.com/artoj/qmake-syntax-vim)
|
||||
- [qml](https://github.com/peterhoeg/vim-qml)
|
||||
- [r-lang](https://github.com/vim-scripts/R.vim)
|
||||
- [racket](https://github.com/wlangstroth/vim-racket)
|
||||
- [ragel](https://github.com/jneen/ragel.vim)
|
||||
- [raku](https://github.com/Raku/vim-raku)
|
||||
- [raml](https://github.com/IN3D/vim-raml)
|
||||
- [razor](https://github.com/adamclerk/vim-razor)
|
||||
- [reason](https://github.com/reasonml-editor/vim-reason-plus)
|
||||
- [requirements](https://github.com/raimon49/requirements.txt.vim)
|
||||
- [python](https://github.com/vim-python/python-syntax) (Python syntax highlighting for py, cgi, fcgi, gyp, gypi and 14 more files)
|
||||
- [qmake](https://github.com/artoj/qmake-syntax-vim) (QMake syntax highlighting for pro and pri files)
|
||||
- [qml](https://github.com/peterhoeg/vim-qml) (QML syntax highlighting for qml and qbs files)
|
||||
- [r-lang](https://github.com/vim-scripts/R.vim) (R syntax highlighting for r, rsx, s, S and rd files)
|
||||
- [racket](https://github.com/wlangstroth/vim-racket) (Racket syntax highlighting for rkt, rktd, rktl and scrbl files)
|
||||
- [ragel](https://github.com/jneen/ragel.vim) (Ragel syntax highlighting for rl files)
|
||||
- [raku](https://github.com/Raku/vim-raku) (Raku syntax highlighting for 6pl, 6pm, nqp, p6, p6l and 12 more files)
|
||||
- [raml](https://github.com/IN3D/vim-raml) (RAML syntax highlighting for raml files)
|
||||
- [razor](https://github.com/adamclerk/vim-razor) (HTML+Razor syntax highlighting for cshtml and razor files)
|
||||
- [reason](https://github.com/reasonml-editor/vim-reason-plus) (Reason syntax highlighting for re and rei files)
|
||||
- [requirements](https://github.com/raimon49/requirements.txt.vim) (Syntax highlighting for pip files)
|
||||
- [rspec](https://github.com/keith/rspec.vim)
|
||||
- [rst](https://github.com/marshallward/vim-restructuredtext)
|
||||
- [ruby](https://github.com/vim-ruby/vim-ruby)
|
||||
- [rust](https://github.com/rust-lang/rust.vim)
|
||||
- [sbt](https://github.com/derekwyatt/vim-sbt)
|
||||
- [scala](https://github.com/derekwyatt/vim-scala)
|
||||
- [scss](https://github.com/cakebaker/scss-syntax.vim)
|
||||
- [sh](https://github.com/arzg/vim-sh)
|
||||
- [slim](https://github.com/slim-template/vim-slim)
|
||||
- [slime](https://github.com/slime-lang/vim-slime-syntax)
|
||||
- [smt2](https://github.com/bohlender/vim-smt2)
|
||||
- [solidity](https://github.com/tomlion/vim-solidity)
|
||||
- [sql](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [stylus](https://github.com/wavded/vim-stylus)
|
||||
- [svelte](https://github.com/evanleck/vim-svelte/tree/main)
|
||||
- [rst](https://github.com/marshallward/vim-restructuredtext) (reStructuredText syntax highlighting for rst, rest, rest.txt and rst.txt files)
|
||||
- [ruby](https://github.com/vim-ruby/vim-ruby) (Ruby and HTML+ERB syntax highlighting for rb, builder, eye, fcgi, gemspec and 25 more files)
|
||||
- [rust](https://github.com/rust-lang/rust.vim) (Rust syntax highlighting for rs and rs.in files)
|
||||
- [scala](https://github.com/derekwyatt/vim-scala) (Scala syntax highlighting for scala, kojo and sc files)
|
||||
- [scss](https://github.com/cakebaker/scss-syntax.vim) (SCSS syntax highlighting for scss files)
|
||||
- [sh](https://github.com/arzg/vim-sh) (Shell syntax highlighting for sh, bash, bats, cgi, command and 7 more files)
|
||||
- [slim](https://github.com/slim-template/vim-slim) (Slim syntax highlighting for slim files)
|
||||
- [slime](https://github.com/slime-lang/vim-slime-syntax) (Syntax highlighting for slime files)
|
||||
- [smt2](https://github.com/bohlender/vim-smt2) (SMT syntax highlighting for smt2 and smt files)
|
||||
- [solidity](https://github.com/tomlion/vim-solidity) (Solidity syntax highlighting for sol files)
|
||||
- [stylus](https://github.com/wavded/vim-stylus) (Stylus syntax highlighting for styl and stylus files)
|
||||
- [svelte](https://github.com/evanleck/vim-svelte/tree/main) (Svelte syntax highlighting for svelte files)
|
||||
- [svg-indent](https://github.com/jasonshell/vim-svg-indent)
|
||||
- [svg](https://github.com/vim-scripts/svg.vim)
|
||||
- [swift](https://github.com/keith/swift.vim)
|
||||
- [sxhkd](https://github.com/baskerville/vim-sxhkdrc)
|
||||
- [systemd](https://github.com/wgwoods/vim-systemd-syntax)
|
||||
- [tads](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [terraform](https://github.com/hashivim/vim-terraform)
|
||||
- [textile](https://github.com/timcharper/textile.vim)
|
||||
- [thrift](https://github.com/solarnz/thrift.vim)
|
||||
- [svg](https://github.com/vim-scripts/svg.vim) (SVG syntax highlighting for svg files)
|
||||
- [swift](https://github.com/keith/swift.vim) (Swift syntax highlighting for swift files)
|
||||
- [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (Syntax highlighting for sxhkdrc files)
|
||||
- [systemd](https://github.com/wgwoods/vim-systemd-syntax) (Syntax highlighting for automount, dnssd, link, mount, netdev and 9 more files)
|
||||
- [textile](https://github.com/timcharper/textile.vim) (Textile syntax highlighting for textile files)
|
||||
- [thrift](https://github.com/solarnz/thrift.vim) (Thrift syntax highlighting for thrift files)
|
||||
- [tmux](https://github.com/ericpruitt/tmux.vim/tree/master/vim)
|
||||
- [toml](https://github.com/cespare/vim-toml)
|
||||
- [tptp](https://github.com/c-cube/vim-tptp)
|
||||
- [trasys](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [twig](https://github.com/lumiliet/vim-twig)
|
||||
- [typescript](https://github.com/HerringtonDarkholme/yats.vim)
|
||||
- [unison](https://github.com/unisonweb/unison/tree/trunk/editor-support/vim)
|
||||
- [v](https://github.com/ollykel/v-vim)
|
||||
- [vala](https://github.com/arrufat/vala.vim)
|
||||
- [vbnet](https://github.com/vim-scripts/vbnet.vim)
|
||||
- [vcl](https://github.com/smerrill/vcl-vim-plugin)
|
||||
- [velocity](https://github.com/lepture/vim-velocity)
|
||||
- [visual-basic](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [vmasm](https://github.com/vim/vim/tree/master/runtime)
|
||||
- [vue](https://github.com/posva/vim-vue)
|
||||
- [xdc](https://github.com/amal-khailtash/vim-xdc-syntax)
|
||||
- [xml](https://github.com/amadeus/vim-xml)
|
||||
- [xsl](https://github.com/vim-scripts/XSLT-syntax)
|
||||
- [yaml](https://github.com/vim/vim/tree/df44a27b53586fccfc6a3aedc89061fdd9a515ff/runtime)
|
||||
- [toml](https://github.com/cespare/vim-toml) (TOML syntax highlighting for toml files)
|
||||
- [tptp](https://github.com/c-cube/vim-tptp) (Syntax highlighting for p, tptp and ax files)
|
||||
- [twig](https://github.com/lumiliet/vim-twig) (Twig syntax highlighting for twig and xml.twig files)
|
||||
- [typescript](https://github.com/HerringtonDarkholme/yats.vim) (TypeScript and TSX syntax highlighting for ts and tsx files)
|
||||
- [unison](https://github.com/unisonweb/unison/tree/trunk/editor-support/vim) (Syntax highlighting for u and uu files)
|
||||
- [v](https://github.com/ollykel/v-vim) (V syntax highlighting for v, vv and vsh files)
|
||||
- [vala](https://github.com/arrufat/vala.vim) (Vala syntax highlighting for vala, vapi and valadoc files)
|
||||
- [vbnet](https://github.com/vim-scripts/vbnet.vim) (Visual Basic .NET syntax highlighting for vb and vbhtml files)
|
||||
- [vcl](https://github.com/smerrill/vcl-vim-plugin) (VCL syntax highlighting for vcl files)
|
||||
- [velocity](https://github.com/lepture/vim-velocity) (Syntax highlighting for vm files)
|
||||
- [vue](https://github.com/posva/vim-vue) (Vue syntax highlighting for vue and wpy files)
|
||||
- [xdc](https://github.com/amal-khailtash/vim-xdc-syntax) (Syntax highlighting for xdc files)
|
||||
- [xml](https://github.com/amadeus/vim-xml) (XML syntax highlighting for xml, adml, admx, ant, axml and 93 more files)
|
||||
- [xsl](https://github.com/vim-scripts/XSLT-syntax) (XSLT syntax highlighting for xslt and xsl files)
|
||||
- [yard](https://github.com/noprompt/vim-yardoc)
|
||||
- [zephir](https://github.com/xwsoul/vim-zephir)
|
||||
- [zig](https://github.com/ziglang/zig.vim)
|
||||
- [zephir](https://github.com/xwsoul/vim-zephir) (Zephir syntax highlighting for zep files)
|
||||
- [zig](https://github.com/ziglang/zig.vim) (Zig syntax highlighting for zir, zig and zir files)
|
||||
- [zinit](https://github.com/zinit-zsh/zplugin-vim-syntax)
|
||||
<!--/Language Packs-->
|
||||
|
||||
|
||||
13
after/ftplugin/html.vim
Normal file
13
after/ftplugin/html.vim
Normal file
@@ -0,0 +1,13 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
" URL: http://github.com/othree/html5.vim
|
||||
" Last Change: 2014-05-02
|
||||
" License: MIT
|
||||
" Changes: Add - to keyword
|
||||
|
||||
" setlocal iskeyword+=-
|
||||
|
||||
setlocal commentstring=<!--%s-->
|
||||
|
||||
endif
|
||||
1064
after/indent/html.vim
Normal file
1064
after/indent/html.vim
Normal file
File diff suppressed because it is too large
Load Diff
9
after/indent/javascript-1.vim
Normal file
9
after/indent/javascript-1.vim
Normal file
@@ -0,0 +1,9 @@
|
||||
if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1)
|
||||
|
||||
if get(g:, 'vim_jsx_pretty_disable_js', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
source <sfile>:h/jsx.vim
|
||||
|
||||
endif
|
||||
46
after/indent/javascript-2.vim
Normal file
46
after/indent/javascript-2.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1
|
||||
|
||||
" Copyright (c) 2016-2020 Jon Parise <jon@indelible.org>
|
||||
"
|
||||
" Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
" of this software and associated documentation files (the "Software"), to
|
||||
" deal in the Software without restriction, including without limitation the
|
||||
" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
" sell copies of the Software, and to permit persons to whom the Software is
|
||||
" furnished to do so, subject to the following conditions:
|
||||
"
|
||||
" The above copyright notice and this permission notice shall be included in
|
||||
" all copies or substantial portions of the Software.
|
||||
"
|
||||
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
" IN THE SOFTWARE.
|
||||
"
|
||||
" Language: GraphQL
|
||||
" Maintainer: Jon Parise <jon@indelible.org>
|
||||
|
||||
if exists('*GetJavascriptGraphQLIndent') && !empty(&indentexpr)
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! indent/graphql.vim
|
||||
|
||||
" Set the indentexpr with our own version that will call GetGraphQLIndent when
|
||||
" we're inside of a GraphQL string and otherwise defer to the base function.
|
||||
let b:indentexpr_base = &indentexpr
|
||||
setlocal indentexpr=GetJavascriptGraphQLIndent()
|
||||
|
||||
function GetJavascriptGraphQLIndent()
|
||||
let l:stack = map(synstack(v:lnum, 1), "synIDattr(v:val, 'name')")
|
||||
if get(l:stack, 0) ==# 'graphqlTemplateString'
|
||||
return GetGraphQLIndent()
|
||||
endif
|
||||
|
||||
return eval(b:indentexpr_base)
|
||||
endfunction
|
||||
|
||||
endif
|
||||
@@ -1,9 +1,3 @@
|
||||
if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1)
|
||||
|
||||
if get(g:, 'vim_jsx_pretty_disable_js', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
source <sfile>:h/jsx.vim
|
||||
|
||||
endif
|
||||
" Polyglot metafile
|
||||
source <sfile>:h/javascript-1.vim
|
||||
source <sfile>:h/javascript-2.vim
|
||||
|
||||
46
after/indent/typescript.vim
Normal file
46
after/indent/typescript.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1
|
||||
|
||||
" Copyright (c) 2016-2020 Jon Parise <jon@indelible.org>
|
||||
"
|
||||
" Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
" of this software and associated documentation files (the "Software"), to
|
||||
" deal in the Software without restriction, including without limitation the
|
||||
" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
" sell copies of the Software, and to permit persons to whom the Software is
|
||||
" furnished to do so, subject to the following conditions:
|
||||
"
|
||||
" The above copyright notice and this permission notice shall be included in
|
||||
" all copies or substantial portions of the Software.
|
||||
"
|
||||
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
" IN THE SOFTWARE.
|
||||
"
|
||||
" Language: GraphQL
|
||||
" Maintainer: Jon Parise <jon@indelible.org>
|
||||
|
||||
if exists('*GetTypescriptGraphQLIndent') && !empty(&indentexpr)
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! indent/graphql.vim
|
||||
|
||||
" Set the indentexpr with our own version that will call GetGraphQLIndent when
|
||||
" we're inside of a GraphQL string and otherwise defer to the base function.
|
||||
let b:indentexpr_base = &indentexpr
|
||||
setlocal indentexpr=GetTypescriptGraphQLIndent()
|
||||
|
||||
function GetTypescriptGraphQLIndent()
|
||||
let l:stack = map(synstack(v:lnum, 1), "synIDattr(v:val, 'name')")
|
||||
if get(l:stack, 0) ==# 'graphqlTemplateString'
|
||||
return GetGraphQLIndent()
|
||||
endif
|
||||
|
||||
return eval(b:indentexpr_base)
|
||||
endfunction
|
||||
|
||||
endif
|
||||
@@ -7,7 +7,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cpp-modern') ==
|
||||
" http://www.vim.org/scripts/script.php?script_id=3064
|
||||
" Maintainer: bfrg <bfrg@users.noreply.github.com>
|
||||
" Website: https://github.com/bfrg/vim-cpp-modern
|
||||
" Last Change: Mar 14, 2020
|
||||
" Last Change: Oct 17, 2020
|
||||
"
|
||||
" Extended C syntax highlighting including highlighting of user-defined
|
||||
" functions.
|
||||
@@ -17,7 +17,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cpp-modern') ==
|
||||
" ==============================================================================
|
||||
|
||||
|
||||
" Highlight some additional keywords in the comments
|
||||
" Highlight additional keywords in the comments
|
||||
syn keyword cTodo contained BUG NOTE
|
||||
|
||||
|
||||
@@ -28,6 +28,21 @@ if !get(g:, 'cpp_no_function_highlight', 0)
|
||||
endif
|
||||
|
||||
|
||||
" Highlight struct/class member variables
|
||||
if get(g:, 'cpp_member_highlight', 0)
|
||||
syn match cMemberAccess "\.\|->" nextgroup=cStructMember,cppTemplateKeyword
|
||||
syn match cStructMember "\<\h\w*\>\%((\|<\)\@!" contained
|
||||
syn cluster cParenGroup add=cStructMember
|
||||
syn cluster cPreProcGroup add=cStructMember
|
||||
hi def link cStructMember Identifier
|
||||
|
||||
if &filetype ==# 'cpp'
|
||||
syn keyword cppTemplateKeyword template
|
||||
hi def link cppTemplateKeyword cppStructure
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
" Common ANSI-standard Names
|
||||
syn keyword cAnsiName
|
||||
\ PRId8 PRIi16 PRIo32 PRIu64 PRId16 PRIi32 PRIo64 PRIuLEAST8 PRId32 PRIi64 PRIoLEAST8 PRIuLEAST16 PRId64 PRIiLEAST8 PRIoLEAST16 PRIuLEAST32 PRIdLEAST8 PRIiLEAST16 PRIoLEAST32 PRIuLEAST64 PRIdLEAST16 PRIiLEAST32 PRIoLEAST64 PRIuFAST8 PRIdLEAST32 PRIiLEAST64 PRIoFAST8 PRIuFAST16 PRIdLEAST64 PRIiFAST8 PRIoFAST16 PRIuFAST32 PRIdFAST8 PRIiFAST16 PRIoFAST32 PRIuFAST64 PRIdFAST16 PRIiFAST32 PRIoFAST64 PRIuMAX PRIdFAST32 PRIiFAST64 PRIoMAX PRIuPTR PRIdFAST64 PRIiMAX PRIoPTR PRIx8 PRIdMAX PRIiPTR PRIu8 PRIx16 PRIdPTR PRIo8 PRIu16 PRIx32 PRIi8 PRIo16 PRIu32 PRIx64 PRIxLEAST8 SCNd8 SCNiFAST32 SCNuLEAST32 PRIxLEAST16 SCNd16 SCNiFAST64 SCNuLEAST64 PRIxLEAST32 SCNd32 SCNiMAX SCNuFAST8 PRIxLEAST64 SCNd64 SCNiPTR SCNuFAST16 PRIxFAST8 SCNdLEAST8 SCNo8 SCNuFAST32 PRIxFAST16 SCNdLEAST16 SCNo16 SCNuFAST64 PRIxFAST32 SCNdLEAST32 SCNo32 SCNuMAX PRIxFAST64 SCNdLEAST64 SCNo64 SCNuPTR PRIxMAX SCNdFAST8 SCNoLEAST8 SCNx8 PRIxPTR SCNdFAST16 SCNoLEAST16 SCNx16 PRIX8 SCNdFAST32 SCNoLEAST32 SCNx32 PRIX16 SCNdFAST64 SCNoLEAST64 SCNx64 PRIX32 SCNdMAX SCNoFAST8 SCNxLEAST8 PRIX64 SCNdPTR SCNoFAST16 SCNxLEAST16 PRIXLEAST8 SCNi8 SCNoFAST32 SCNxLEAST32 PRIXLEAST16 SCNi16 SCNoFAST64 SCNxLEAST64 PRIXLEAST32 SCNi32 SCNoMAX SCNxFAST8 PRIXLEAST64 SCNi64 SCNoPTR SCNxFAST16 PRIXFAST8 SCNiLEAST8 SCNu8 SCNxFAST32 PRIXFAST16 SCNiLEAST16 SCNu16 SCNxFAST64 PRIXFAST32 SCNiLEAST32 SCNu32 SCNxMAX PRIXFAST64 SCNiLEAST64 SCNu64 SCNxPTR PRIXMAX SCNiFAST8 SCNuLEAST8 PRIXPTR SCNiFAST16 SCNuLEAST16 STDC CX_LIMITED_RANGE STDC FENV_ACCESS STDC FP_CONTRACT
|
||||
@@ -50,25 +65,4 @@ if get(g:, 'cpp_simple_highlight', 0)
|
||||
hi link cLabel Statement
|
||||
endif
|
||||
|
||||
|
||||
" Operators
|
||||
" syn match cOperator "\(<<\|>>\|[-+*/%&^|<>!=]\)="
|
||||
" syn match cOperator "<<\|>>\|&&\|||\|++\|--\|->"
|
||||
" syn match cOperator "[.!~*&%<>^|=,+-]"
|
||||
" syn match cOperator "/[^/*=]"me=e-1
|
||||
" syn match cOperator "/$"
|
||||
" syn match cOperator "&&\|||"
|
||||
" syn match cOperator "[][]"
|
||||
|
||||
" Preprocessor
|
||||
" syn keyword cDefined defined contained containedin=cDefine
|
||||
" hi def link cDefined cDefine
|
||||
|
||||
" Delimiters
|
||||
" syn match cDelimiter "[();\\]"
|
||||
" hi def link cDelimiter Delimiter
|
||||
" foldmethod=syntax fix, courtesy of Ivan Freitas
|
||||
" syn match cBraces display "[{}]"
|
||||
" hi def link cBraces Delimiter
|
||||
|
||||
endif
|
||||
|
||||
@@ -4,31 +4,38 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cpp-modern') ==
|
||||
" Vim syntax file
|
||||
" Language: C++ (Standard library including C++11/14/17/20)
|
||||
" Original Author: Jon Haggblad <https://github.com/octol>
|
||||
" Maintainer: bfrg <bfrg@users.noreply.github.com>
|
||||
" Maintainer: bfrg <https://github.com/bfrg>
|
||||
" Website: https://github.com/bfrg/vim-cpp-modern
|
||||
" Last Change: Jun 23, 2020
|
||||
" Last Change: Oct 8, 2020
|
||||
"
|
||||
" This syntax file is based on:
|
||||
" https://github.com/octol/vim-cpp-enhanced-highlight
|
||||
" http://www.vim.org/scripts/script.php?script_id=4293
|
||||
" ==============================================================================
|
||||
|
||||
" C++ attributes {{{1
|
||||
if get(g:, 'cpp_attributes_highlight', 0)
|
||||
syntax region cppAttribute matchgroup=cppAttributeBrackets start='\[\[' end=']]' contains=cString
|
||||
hi def link cppAttribute Macro
|
||||
hi def link cppAttributeBrackets Identifier
|
||||
endif
|
||||
|
||||
|
||||
" Standard library {{{1
|
||||
syntax keyword cppSTLconstant
|
||||
syntax keyword cppSTLdefine
|
||||
\ MB_CUR_MAX MB_LEN_MAX WCHAR_MAX WCHAR_MIN WEOF __STDC_UTF_16__ __STDC_UTF_32__
|
||||
|
||||
syntax keyword cppSTLconstant
|
||||
\ badbit digits digits10 eofbit failbit goodbit has_denorm has_denorm_loss has_infinity has_quiet_NaN has_signaling_NaN is_bounded is_exact is_iec559 is_integer is_modulo is_signed is_specialized max_exponent max_exponent10 min_exponent min_exponent10 nothrow npos radix round_style tinyness_before traps
|
||||
syntax keyword cppSTLnamespace
|
||||
\ std experimental rel_ops
|
||||
|
||||
syntax keyword cppSTLVariable
|
||||
\ cerr cin clog cout wcerr wcin wclog wcout
|
||||
syntax keyword cppSTLconstant
|
||||
\ badbit digits digits10 eofbit failbit goodbit has_denorm has_denorm_loss has_infinity has_quiet_NaN has_signaling_NaN is_bounded is_exact is_iec559 is_integer is_modulo is_signed is_specialized max_exponent max_exponent10 min_exponent min_exponent10 npos radix round_style tinyness_before traps
|
||||
|
||||
syntax keyword cppSTLvariable
|
||||
\ cerr cin clog cout wcerr wcin wclog wcout nothrow
|
||||
|
||||
syntax keyword cppSTLexception
|
||||
\ bad_alloc bad_exception bad_typeid bad_cast domain_error exception failure invalid_argument length_error logic_error out_of_range overflow_error range_error runtime_error underflow_error
|
||||
|
||||
syntax keyword cppSTLfunctional
|
||||
\ binary_function binary_negate bit_and bit_not bit_or divides equal_to greater greater_equal less less_equal logical_and logical_not logical_or minus modulus multiplies negate not_equal_to plus unary_function unary_negate
|
||||
|
||||
syntax keyword cppSTLios
|
||||
\ endl ends flush resetiosflags setbase setfill setiosflags setprecision setw ws
|
||||
|
||||
@@ -36,230 +43,97 @@ syntax keyword cppSTLios
|
||||
\ boolalpha dec defaultfloat fixed hex hexfloat internal left noboolalpha noshowbase noshowpoint noshowpos noskipws nounitbuf nouppercase oct right scientific showbase showpoint showpos skipws unitbuf uppercase
|
||||
|
||||
syntax keyword cppSTLtype
|
||||
\ fmtflags iostate openmode
|
||||
\ fmtflags iostate openmode Init allocator auto_ptr basic_filebuf basic_fstream basic_ifstream basic_ios basic_iostream basic_istream basic_istringstream basic_ofstream basic_ostream basic_ostringstream basic_streambuf basic_string basic_stringbuf basic_stringstream binary_compose binder1st binder2nd bitset char_traits char_type const_mem_fun1_t const_mem_fun_ref1_t const_mem_fun_ref_t const_mem_fun_t const_pointer const_reference container_type deque difference_type div_t event_callback filebuf first_type float_denorm_style float_round_style fpos fstream gslice_array ifstream imaxdiv_t indirect_array int_type ios ios_base iostream istream istringstream istrstream iterator_category iterator_traits key_compare key_type ldiv_t list lldiv_t map mapped_type mask_array mbstate_t mem_fun1_t mem_fun_ref1_t mem_fun_ref_t mem_fun_t multimap multiset nothrow_t numeric_limits off_type ofstream ostream ostringstream ostrstream pair pointer pointer_to_binary_function pointer_to_unary_function pos_type priority_queue queue reference second_type seekdir sequence_buffer set size_type slice_array stack state_type stream streambuf streamoff streampos streamsize string stringbuf stringstream strstream strstreambuf temporary_buffer test_type tm traits_type type_info u16string u32string unary_compose unary_negate valarray value_compare value_type vector wfilebuf wfstream wifstream wios wiostream wistream wistringstream wofstream wostream wostringstream wstreambuf wstreampos wstring wstringbuf wstringstream codecvt codecvt_base codecvt_byname collate collate_byname ctype ctype_base ctype_byname locale messages messages_base messages_byname money_base money_get money_put moneypunct moneypunct_byname num_get num_put numpunct numpunct_byname time_base time_get time_get_byname time_put time_put_byname binary_function binary_negate bit_and bit_not bit_or divides equal_to greater greater_equal less less_equal logical_and logical_not logical_or minus modulus multiplies negate not_equal_to plus unary_function unary_negate bidirectional_iterator_tag forward_iterator_tag input_iterator_tag output_iterator_tag random_access_iterator_tag
|
||||
|
||||
" Some of these can be highlighted as both cppSTLios and cppSTLconstant
|
||||
" syntax keyword cppSTLconstant
|
||||
" \ adjustfield app ate basefield binary floatfield in out trunc boolalpha dec fixed hex internal left oct right scientific showbase showpoint showpos skipws unitbuf uppercase
|
||||
syntax keyword cppSTLtypedef
|
||||
\ time_t sig_atomic_t wctrans_t wctype_t wint_t
|
||||
|
||||
syntax keyword cppSTLiterator
|
||||
\ back_insert_iterator bidirectional_iterator const_iterator const_reverse_iterator forward_iterator front_insert_iterator input_iterator insert_iterator istream_iterator istreambuf_iterator iterator ostream_iterator ostreambuf_iterator output_iterator random_access_iterator raw_storage_iterator reverse_bidirectional_iterator reverse_iterator
|
||||
|
||||
syntax keyword cppSTLiterator_tag
|
||||
\ bidirectional_iterator_tag forward_iterator_tag input_iterator_tag output_iterator_tag random_access_iterator_tag
|
||||
" Function templates that are called with template parameters
|
||||
syntax keyword cppSTLfunction
|
||||
\ use_facet has_facet get
|
||||
|
||||
syntax keyword cppSTLnamespace
|
||||
\ experimental rel_ops std
|
||||
|
||||
syntax keyword cppSTLtype
|
||||
\ Init allocator auto_ptr basic_filebuf basic_fstream basic_ifstream basic_ios basic_iostream basic_istream basic_istringstream basic_ofstream basic_ostream basic_ostringstream basic_streambuf basic_string basic_stringbuf basic_stringstream binary_compose binder1st binder2nd bitset char_traits char_type const_mem_fun1_t const_mem_fun_ref1_t const_mem_fun_ref_t const_mem_fun_t const_pointer const_reference container_type deque difference_type div_t double_t event_callback filebuf first_type float_denorm_style float_round_style float_t fpos fstream gslice_array ifstream imaxdiv_t indirect_array int_type ios ios_base iostream istream istringstream istrstream iterator_category iterator_traits key_compare key_type ldiv_t list lldiv_t map mapped_type mask_array mbstate_t mem_fun1_t mem_fun_ref1_t mem_fun_ref_t mem_fun_t multimap multiset nothrow_t numeric_limits off_type ofstream ostream ostringstream ostrstream pair pointer pointer_to_binary_function pointer_to_unary_function pos_type priority_queue queue reference second_type seekdir sequence_buffer set sig_atomic_t size_type slice_array stack state_type stream streambuf streamoff streampos streamsize string stringbuf stringstream strstream strstreambuf temporary_buffer test_type time_t tm traits_type type_info u16string u32string unary_compose unary_negate valarray value_compare value_type vector wctrans_t wctype_t wfilebuf wfstream wifstream wint_t wios wiostream wistream wistringstream wofstream wostream wostringstream wstreambuf wstreampos wstring wstringbuf wstringstream
|
||||
|
||||
" locale
|
||||
syntax keyword cppSTLtype
|
||||
\ codecvt codecvt_base codecvt_byname collate collate_byname ctype ctype_base ctype_byname locale messages messages_base messages_byname money_base money_get money_put moneypunct moneypunct_byname num_get num_put numpunct numpunct_byname time_base time_get time_get_byname time_put time_put_byname
|
||||
|
||||
" template functions that are called with template parameters, like
|
||||
" std::use_facet<std::moneypunct<char, true>>(loc).curr_symbol()
|
||||
syntax keyword cppSTLfunction use_facet has_facet
|
||||
|
||||
" std::get is a template function, so when called as std::get<N>(t), we want it
|
||||
" to be highlighted as a function
|
||||
syntax keyword cppSTLfunction get
|
||||
" Some of these keywords can be highlighted as cppSTLios or cppSTLconstant
|
||||
" syntax keyword cppSTLconstant
|
||||
" \ adjustfield app ate basefield binary floatfield in out trunc boolalpha dec fixed hex internal left oct right scientific showbase showpoint showpos skipws unitbuf uppercase
|
||||
|
||||
|
||||
" C++11 extensions {{{1
|
||||
if !exists('cpp_no_cpp11')
|
||||
syntax keyword cppStatement nullptr
|
||||
syntax keyword cppType char16_t char32_t
|
||||
syntax keyword cppSTLconstant nullptr
|
||||
|
||||
" std containers
|
||||
syntax keyword cppSTLtype array
|
||||
syntax keyword cppSTLnamespace chrono this_thread
|
||||
|
||||
" atomic
|
||||
syntax keyword cppSTLconstant ATOMIC_FLAG_INIT
|
||||
syntax keyword cppSTLenum memory_order
|
||||
syntax keyword cppSTLtype
|
||||
\ atomic atomic_bool atomic_char atomic_char16_t atomic_char32_t atomic_flag atomic_int atomic_int_fast16_t atomic_int_fast32_t atomic_int_fast64_t atomic_int_fast8_t atomic_int_least16_t atomic_int_least32_t atomic_int_least64_t atomic_int_least8_t atomic_intmax_t atomic_intptr_t atomic_llong atomic_long atomic_ptrdiff_t atomic_schar atomic_short atomic_size_t atomic_uchar atomic_uint atomic_uint_fast16_t atomic_uint_fast32_t atomic_uint_fast64_t atomic_uint_fast8_t atomic_uint_least16_t atomic_uint_least32_t atomic_uint_least64_t atomic_uint_least8_t atomic_uintmax_t atomic_uintptr_t atomic_ullong atomic_ulong atomic_ushort atomic_wchar_t
|
||||
\ array atomic atomic_bool atomic_char atomic_flag atomic_int atomic_llong atomic_long atomic_schar atomic_short atomic_uchar atomic_uint atomic_ullong atomic_ulong atomic_ushort duration duration_values high_resolution_clock hours microseconds milliseconds minutes nanoseconds seconds steady_clock system_clock time_point treat_as_floating_point condition_variable exception_ptr nested_exception hash is_bind_expression is_placeholder reference_wrapper forward_list future packaged_task promise shared_future initializer_list codecvt_mode codecvt_utf16 codecvt_utf8 codecvt_utf8_utf16 wbuffer_convert wstring_convert allocator_traits allocator_type default_delete enable_shared_from_this is_always_equal owner_less pointer_safety pointer_traits propagate_on_container_copy_assignment propagate_on_container_move_assignment propagate_on_container_swap rebind_alloc rebind_traits shared_ptr unique_ptr uses_allocator void_pointer const_void_pointer weak_ptr condition_variable_any lock_guard mutex once_flag recursive_mutex recursive_timed_mutex timed_mutex unique_lock bernoulli_distribution binomial_distribution cauchy_distribution chi_squared_distribution default_random_engine discard_block_engine discrete_distribution exponential_distribution extreme_value_distribution fisher_f_distribution gamma_distribution geometric_distribution independent_bits_engine knuth_b linear_congruential_engine lognormal_distribution mersenne_twister_engine minstd_rand minstd_rand0 mt19937 mt19937_64 negative_binomial_distribution normal_distribution piecewise_constant_distribution piecewise_linear_distribution poisson_distribution random_device ranlux24 ranlux24_base ranlux48 ranlux48_base seed_seq shuffle_order_engine student_t_distribution subtract_with_carry_engine uniform_int_distribution uniform_real_distribution weibull_distribution atto centi deca deci exa femto giga hecto kilo mega micro milli nano peta pico ratio ratio_add ratio_divide ratio_equal ratio_greater ratio_greater_equal ratio_less ratio_less_equal ratio_multiply ratio_not_equal ratio_subtract tera yocto yotta zepto zetta basic_regex match_results regex_traits sub_match syntax_option_type match_flag_type error_type scoped_allocator_adaptor outer_allocator_type inner_allocator_type error_code error_condition error_category is_error_code_enum is_error_condition_enum thread tuple tuple_size tuple_element type_index add_const add_cv add_lvalue_reference add_pointer add_rvalue_reference add_volatile aligned_storage aligned_union alignment_of common_type conditional decay enable_if extent false_type has_virtual_destructor integral_constant is_abstract is_arithmetic is_array is_assignable is_base_of is_class is_compound is_const is_constructible is_convertible is_copy_assignable is_copy_constructible is_default_constructible is_destructible is_empty is_enum is_floating_point is_function is_fundamental is_integral is_literal_type is_lvalue_reference is_member_function_pointer is_member_object_pointer is_member_pointer is_move_assignable is_move_constructible is_nothrow_assignable is_nothrow_constructible is_nothrow_copy_assignable is_nothrow_copy_constructible is_nothrow_default_constructible is_nothrow_destructible is_nothrow_move_assignable is_nothrow_move_constructible is_object is_pod is_pointer is_polymorphic is_reference is_rvalue_reference is_same is_scalar is_signed is_standard_layout is_trivial is_trivially_assignable is_trivially_constructible is_trivially_copy_assignable is_trivially_copy_constructible is_trivially_copyable is_trivially_default_constructible is_trivially_destructible is_trivially_move_assignable is_trivially_move_constructible is_union is_unsigned is_void is_volatile make_signed make_unsigned rank remove_all_extents remove_const remove_cv remove_extent remove_pointer remove_reference remove_volatile result_of true_type underlying_type hasher key_equal unordered_map unordered_multimap unordered_multiset unordered_set function
|
||||
|
||||
" chrono
|
||||
syntax keyword cppSTLnamespace chrono
|
||||
syntax keyword cppSTLcast duration_cast time_point_cast
|
||||
syntax keyword cppSTLtype
|
||||
\ duration duration_values high_resolution_clock hours microseconds milliseconds minutes nanoseconds seconds steady_clock system_clock time_point treat_as_floating_point
|
||||
syntax keyword cppSTLtypedef
|
||||
\ atomic_char16_t atomic_char32_t atomic_int_fast16_t atomic_int_fast32_t atomic_int_fast64_t atomic_int_fast8_t atomic_int_least16_t atomic_int_least32_t atomic_int_least64_t atomic_int_least8_t atomic_intmax_t atomic_intptr_t atomic_ptrdiff_t atomic_size_t atomic_uint_fast16_t atomic_uint_fast32_t atomic_uint_fast64_t atomic_uint_fast8_t atomic_uint_least16_t atomic_uint_least32_t atomic_uint_least64_t atomic_uint_least8_t atomic_uintmax_t atomic_uintptr_t atomic_wchar_t nullptr_t max_align_t allocator_arg_t adopt_lock_t defer_lock_t try_to_lock_t piecewise_construct_t
|
||||
|
||||
" condition_variable
|
||||
syntax keyword cppSTLtype condition_variable
|
||||
|
||||
" cstddef
|
||||
syntax keyword cppSTLtype nullptr_t max_align_t
|
||||
|
||||
" exception
|
||||
syntax keyword cppSTLtype exception_ptr nested_exception
|
||||
|
||||
" functional
|
||||
syntax keyword cppSTLexception bad_function_call
|
||||
syntax keyword cppSTLfunctional function
|
||||
syntax keyword cppSTLfunction mem_fn
|
||||
syntax keyword cppSTLconstant _1 _2 _3 _4 _5 _6 _7 _8 _9
|
||||
syntax keyword cppSTLtype
|
||||
\ hash is_bind_expression is_placeholder reference_wrapper
|
||||
|
||||
" iterator
|
||||
syntax keyword cppSTLiterator move_iterator
|
||||
|
||||
" forward_list
|
||||
syntax keyword cppSTLtype forward_list
|
||||
|
||||
" future
|
||||
syntax keyword cppSTLtype future packaged_task promise shared_future
|
||||
syntax keyword cppSTLenum future_status future_errc launch
|
||||
syntax keyword cppSTLexception future_error
|
||||
|
||||
" initializer_list
|
||||
syntax keyword cppSTLtype initializer_list
|
||||
|
||||
" ios
|
||||
syntax keyword cppSTLenum io_errc
|
||||
" syntax keyword cppSTLtype is_error_code_enum
|
||||
|
||||
" limits
|
||||
syntax keyword cppSTLconstant max_digits10
|
||||
|
||||
" locale
|
||||
syntax keyword cppSTLfunction isblank
|
||||
syntax keyword cppSTLtype
|
||||
\ codecvt_mode codecvt_utf16 codecvt_utf8 codecvt_utf8_utf16 wbuffer_convert wstring_convert
|
||||
syntax keyword cppSTLvariable
|
||||
\ _1 _2 _3 _4 _5 _6 _7 _8 _9 defer_lock try_to_lock adopt_lock allocator_arg
|
||||
|
||||
syntax keyword cppSTLdefine
|
||||
\ math_errhandling FLT_EVAL_METHOD FP_INFINITE FP_NAN FP_NORMAL FP_SUBNORMAL FP_ZERO HUGE_VALF HUGE_VALL INFINITY MATH_ERREXCEPT MATH_ERRNO NAN
|
||||
|
||||
syntax keyword cppSTLenum
|
||||
\ memory_order future_status future_errc launch io_errc cv_status errc
|
||||
|
||||
" memory
|
||||
syntax keyword cppSTLconstant allocator_arg
|
||||
syntax keyword cppSTLexception bad_weak_ptr
|
||||
syntax keyword cppSTLfunction allocate_shared make_shared
|
||||
syntax keyword cppSTLfunction
|
||||
\ const_pointer_cast dynamic_pointer_cast static_pointer_cast
|
||||
\ duration_cast time_point_cast mem_fn const_pointer_cast dynamic_pointer_cast static_pointer_cast allocate_shared make_shared isblank generate_canonical forward_as_tuple make_tuple tie tuple_cat declval forward move move_if_noexcept
|
||||
|
||||
syntax keyword cppSTLtype
|
||||
\ allocator_arg_t allocator_traits allocator_type default_delete enable_shared_from_this is_always_equal owner_less pointer_safety pointer_traits propagate_on_container_copy_assignment propagate_on_container_move_assignment propagate_on_container_swap rebind_alloc rebind_traits shared_ptr unique_ptr uses_allocator void_pointer const_void_pointer weak_ptr
|
||||
syntax keyword cppSTLexception
|
||||
\ bad_function_call future_error regex_error system_error bad_weak_ptr bad_array_new_length
|
||||
|
||||
" mutex
|
||||
syntax keyword cppSTLenum cv_status
|
||||
syntax keyword cppSTLconstant defer_lock try_to_lock adopt_lock
|
||||
syntax keyword cppSTLtype
|
||||
\ adopt_lock_t condition_variable_any defer_lock_t lock_guard mutex once_flag recursive_mutex recursive_timed_mutex timed_mutex try_to_lock_t unique_lock
|
||||
" syntax keyword cppSTLiterator contained
|
||||
syntax keyword cppSTLiterator
|
||||
\ move_iterator regex_iterator regex_token_iterator const_local_iterator local_iterator
|
||||
|
||||
" new
|
||||
syntax keyword cppSTLexception bad_array_new_length
|
||||
|
||||
" numerics, cmath
|
||||
syntax keyword cppSTLconstant
|
||||
\ FLT_EVAL_METHOD FP_INFINITE FP_NAN FP_NORMAL FP_SUBNORMAL FP_ZERO HUGE_VALF HUGE_VALL INFINITY MATH_ERREXCEPT MATH_ERRNO NAN math_errhandling
|
||||
|
||||
" random
|
||||
syntax keyword cppSTLfunction generate_canonical
|
||||
syntax keyword cppSTLtype
|
||||
\ bernoulli_distribution binomial_distribution cauchy_distribution chi_squared_distribution default_random_engine discard_block_engine discrete_distribution exponential_distribution extreme_value_distribution fisher_f_distribution gamma_distribution geometric_distribution independent_bits_engine knuth_b linear_congruential_engine lognormal_distribution mersenne_twister_engine minstd_rand minstd_rand0 mt19937 mt19937_64 negative_binomial_distribution normal_distribution piecewise_constant_distribution piecewise_linear_distribution poisson_distribution random_device ranlux24 ranlux24_base ranlux48 ranlux48_base seed_seq shuffle_order_engine student_t_distribution subtract_with_carry_engine uniform_int_distribution uniform_real_distribution weibull_distribution
|
||||
|
||||
" ratio
|
||||
syntax keyword cppSTLtype
|
||||
\ atto centi deca deci exa femto giga hecto kilo mega micro milli nano peta pico ratio ratio_add ratio_divide ratio_equal ratio_greater ratio_greater_equal ratio_less ratio_less_equal ratio_multiply ratio_not_equal ratio_subtract tera yocto yotta zepto zetta
|
||||
|
||||
" regex
|
||||
syntax keyword cppSTLiterator regex_iterator regex_token_iterator
|
||||
syntax keyword cppSTLexception regex_error
|
||||
syntax keyword cppSTLtype
|
||||
\ basic_regex match_results regex_traits sub_match syntax_option_type match_flag_type error_type
|
||||
|
||||
" scoped_allocator
|
||||
syntax keyword cppSTLtype
|
||||
\ scoped_allocator_adaptor outer_allocator_type inner_allocator_type
|
||||
|
||||
" system_error
|
||||
syntax keyword cppSTLenum errc
|
||||
syntax keyword cppSTLexception system_error
|
||||
syntax keyword cppSTLtype
|
||||
\ error_code error_condition error_category is_error_code_enum is_error_condition_enum
|
||||
|
||||
" thread
|
||||
syntax keyword cppSTLnamespace this_thread
|
||||
syntax keyword cppSTLtype thread
|
||||
|
||||
" tuple
|
||||
syntax keyword cppSTLtype tuple tuple_size tuple_element
|
||||
syntax keyword cppSTLfunction forward_as_tuple make_tuple tie tuple_cat
|
||||
" Note: ignore is also a function
|
||||
" syntax keyword cppSTLVariable ignore
|
||||
|
||||
" typeindex
|
||||
syntax keyword cppSTLtype type_index
|
||||
|
||||
" type_traits
|
||||
syntax keyword cppSTLtype
|
||||
\ add_const add_cv add_lvalue_reference add_pointer add_rvalue_reference add_volatile aligned_storage aligned_union alignment_of common_type conditional decay enable_if extent false_type has_virtual_destructor integral_constant is_abstract is_arithmetic is_array is_assignable is_base_of is_class is_compound is_const is_constructible is_convertible is_copy_assignable is_copy_constructible is_default_constructible is_destructible is_empty is_enum is_floating_point is_function is_fundamental is_integral is_literal_type is_lvalue_reference is_member_function_pointer is_member_object_pointer is_member_pointer is_move_assignable is_move_constructible is_nothrow_assignable is_nothrow_constructible is_nothrow_copy_assignable is_nothrow_copy_constructible is_nothrow_default_constructible is_nothrow_destructible is_nothrow_move_assignable is_nothrow_move_constructible is_object is_pod is_pointer is_polymorphic is_reference is_rvalue_reference is_same is_scalar is_signed is_standard_layout is_trivial is_trivially_assignable is_trivially_constructible is_trivially_copy_assignable is_trivially_copy_constructible is_trivially_copyable is_trivially_default_constructible is_trivially_destructible is_trivially_move_assignable is_trivially_move_constructible is_union is_unsigned is_void is_volatile make_signed make_unsigned rank remove_all_extents remove_const remove_cv remove_extent remove_pointer remove_reference remove_volatile result_of true_type underlying_type
|
||||
|
||||
" unordered_map, unordered_set, unordered_multimap, unordered_multiset
|
||||
syntax keyword cppSTLiterator const_local_iterator local_iterator
|
||||
syntax keyword cppSTLtype
|
||||
\ hasher key_equal unordered_map unordered_multimap unordered_multiset unordered_set
|
||||
|
||||
" utility
|
||||
syntax keyword cppSTLtype piecewise_construct_t
|
||||
syntax keyword cppSTLconstant piecewise_construct
|
||||
syntax keyword cppSTLfunction declval forward move move_if_noexcept
|
||||
syntax match cppSTLvariable "\<ignore\>(\@!"
|
||||
endif
|
||||
|
||||
|
||||
" C++14 extensions {{{1
|
||||
if !exists('cpp_no_cpp14')
|
||||
" chrono
|
||||
syntax keyword cppSTLnamespace literals chrono_literals
|
||||
syntax keyword cppSTLnamespace literals chrono_literals string_literals
|
||||
|
||||
" memory
|
||||
syntax keyword cppSTLfunction make_unique
|
||||
|
||||
" utility
|
||||
syntax keyword cppSTLtype
|
||||
\ index_sequence index_sequence_for integer_sequence make_index_sequence make_integer_sequence
|
||||
\ index_sequence index_sequence_for integer_sequence make_index_sequence make_integer_sequence shared_lock shared_timed_mutex is_null_pointer
|
||||
|
||||
" shared_mutex
|
||||
syntax keyword cppSTLtype shared_lock shared_timed_mutex
|
||||
|
||||
" string
|
||||
syntax keyword cppSTLnamespace string_literals
|
||||
|
||||
" tuple
|
||||
syntax keyword cppSTLtype tuple_element_t
|
||||
|
||||
" type_traits
|
||||
syntax keyword cppSTLtype
|
||||
\ add_const_t add_cv_t add_lvalue_reference_t add_pointer_t add_rvalue_reference_t add_volatile_t aligned_storage_t aligned_union_t common_type_t conditional_t decay_t enable_if_t is_null_pointer make_signed_t make_unsigned_t remove_all_extents_t remove_const_t remove_cv_t remove_extent_t remove_pointer_t remove_reference_t remove_volatile_t result_of_t underlying_type_t
|
||||
syntax keyword cppSTLtypedef
|
||||
\ tuple_element_t add_const_t add_cv_t add_lvalue_reference_t add_pointer_t add_rvalue_reference_t add_volatile_t aligned_storage_t aligned_union_t common_type_t conditional_t decay_t enable_if_t make_signed_t make_unsigned_t remove_all_extents_t remove_const_t remove_cv_t remove_extent_t remove_pointer_t remove_reference_t remove_volatile_t result_of_t underlying_type_t
|
||||
endif
|
||||
|
||||
|
||||
" C++17 extensions {{{1
|
||||
if !exists('cpp_no_cpp17')
|
||||
" any
|
||||
syntax keyword cppSTLtype any
|
||||
syntax keyword cppSTLexception bad_any_cast
|
||||
syntax keyword cppSTLcast any_cast
|
||||
|
||||
" atomic
|
||||
syntax keyword cppSTLconstant is_always_lock_free
|
||||
|
||||
" chrono
|
||||
syntax keyword cppSTLbool treat_as_floating_point_v
|
||||
|
||||
" execution
|
||||
syntax keyword cppSTLnamespace execution
|
||||
syntax keyword cppSTLconstant seq par par_unseq
|
||||
syntax keyword cppSTLbool is_execution_policy_v
|
||||
syntax keyword cppSTLtype
|
||||
\ is_execution_policy parallel_policy parallel_unsequenced_policy sequenced_policy
|
||||
|
||||
" filesystem
|
||||
syntax keyword cppSTLnamespace filesystem
|
||||
syntax keyword cppSTLexception filesystem_error
|
||||
syntax keyword cppSTLnamespace filesystem execution
|
||||
|
||||
syntax keyword cppSTLtype
|
||||
\ directory_entry directory_iterator file_status file_time_type path recursive_directory_iterator space_info
|
||||
\ any is_execution_policy parallel_policy parallel_unsequenced_policy sequenced_policy directory_entry directory_iterator file_status file_time_type path recursive_directory_iterator space_info default_order default_searcher boyer_moore_searcher boyer_moore_horspool_searcher memory_resource monotonic_buffer_resource polymorphic_allocator pool_options synchronized_pool_resource unsynchronized_pool_resource scoped_lock optional shared_mutex basic_string_view string_view u16string_view u32string_view wstring_view bool_constant conjunction disjunction has_unique_object_representations invoke_result is_aggregate is_callable is_invocable is_invocable_r is_nothrow_invocable is_nothrow_invocable_r is_nothrow_swappable is_nothrow_swappable_with is_nowthrow_callable is_swappable is_swappable_with negation node_type insert_return_type in_place_tag monostate variant variant_size variant_alternative
|
||||
|
||||
syntax keyword cppSTLtypedef
|
||||
\ invoke_result_t default_order_t nullopt_t void_t in_place_t in_place_type_t in_place_index_t variant_alternative_t
|
||||
|
||||
syntax keyword cppSTLexception
|
||||
\ bad_any_cast filesystem_error bad_optional_access bad_variant_access
|
||||
|
||||
syntax keyword cppSTLconstant
|
||||
\ is_always_lock_free seq par par_unseq copy_symlinks auto_format create_hard_links create_symlinks directories_only follow_directory_symlink generic_format group_all group_exec group_read group_write native_format others_all others_exec others_read others_write overwrite_existing owner_all owner_exec owner_read owner_write preferred_separator recursive set_gid set_uid skip_existing skip_permission_denied skip_symlinks sticky_bit update_existing hardware_destructive_interference_size hardware_constructive_interference_size tuple_size_v nullopt alignment_of_v rank_v extent_v variant_npos variant_size_v
|
||||
|
||||
syntax keyword cppSTLbool
|
||||
\ treat_as_floating_point_v is_execution_policy_v is_bind_expression_v is_placeholder_v is_error_code_enum_v is_error_condition_enum_v uses_allocator_v conjunction_v disjunction_v has_unique_object_representations_v has_virtual_destructor_v is_abstract_v is_aggregate_v is_arithmetic_v is_array_v is_assignable_v is_base_of_v is_callable_v is_class_v is_compound_v is_const_v is_constructible_v is_convertible_v is_copy_assignable_v is_copy_constructible_v is_default_constructible_v is_destructible_v is_empty_v is_enum_v is_floating_point_v is_function_v is_fundamental_v is_integral_v is_invocable_r_v is_invocable_v is_literal_type_v is_lvalue_reference_v is_member_function_pointer_v is_member_object_pointer_v is_member_pointer_v is_move_assignable_v is_move_constructible_v is_nothrow_assignable_v is_nothrow_constructible_v is_nothrow_copy_assignable_v is_nothrow_copy_constructible_v is_nothrow_default_constructible_v is_nothrow_destructible_v is_nothrow_invocable_r_v is_nothrow_invocable_v is_nothrow_move_assignable_v is_nothrow_move_constructible_v is_nothrow_swappable_v is_nothrow_swappable_with_v is_nowthrow_callable_v is_null_pointer_v is_object_v is_pod_v is_pointer_v is_polymorphic_v is_reference_v is_rvalue_reference_v is_same_v is_scalar_v is_signed_v is_standard_layout_v is_swappable_v is_swappable_with_v is_trivial_v is_trivially_assignable_v is_trivially_constructible_v is_trivially_copy_assignable_v is_trivially_copy_constructible_v is_trivially_copyable_v is_trivially_default_constructible_v is_trivially_destructible_v is_trivially_move_assignable_v is_trivially_move_constructible_v is_union_v is_unsigned_v is_void_v is_volatile_v negation_v
|
||||
|
||||
syntax keyword cppSTLfunction
|
||||
\ reinterpret_pointer_cast make_from_tuple make_optional any_cast
|
||||
|
||||
syntax keyword cppSTLenum
|
||||
\ copy_options directory_options file_type perm_options perms
|
||||
@@ -267,152 +141,42 @@ if !exists('cpp_no_cpp17')
|
||||
" Note: There is std::filesystem::path::format and std::format() in <format>
|
||||
syntax match cppSTLenum "\<format\>(\@!"
|
||||
|
||||
syntax keyword cppSTLconstant
|
||||
\ copy_symlinks auto_format create_hard_links create_symlinks directories_only follow_directory_symlink generic_format group_all group_exec group_read group_write native_format others_all others_exec others_read others_write overwrite_existing owner_all owner_exec owner_read owner_write preferred_separator recursive set_gid set_uid skip_existing skip_permission_denied skip_symlinks sticky_bit update_existing
|
||||
" Note: these can be both member objects and methods
|
||||
syntax match cppSTLvariable "\<\%(capacity\|free\|available\)\>(\@!"
|
||||
|
||||
" Note: these keywords are very likely to coincide with user-defined variables
|
||||
" syntax keyword cppSTLconstant
|
||||
" \ all mask unknown replace add remove nofollow none not_found regular directory symlink block character fifo socket unknown
|
||||
|
||||
" Note: these are also functions
|
||||
" syntax keyword cppSTLconstant capacity free available
|
||||
|
||||
" functional
|
||||
syntax keyword cppSTLbool is_bind_expression_v is_placeholder_v
|
||||
syntax keyword cppSTLtype
|
||||
\ default_order default_order_t default_searcher boyer_moore_searcher boyer_moore_horspool_searcher
|
||||
|
||||
" memory
|
||||
syntax keyword cppSTLfunction reinterpret_pointer_cast
|
||||
syntax keyword cppSTLconstant uses_allocator_v
|
||||
|
||||
" memory_resource
|
||||
syntax keyword cppSTLtype
|
||||
\ memory_resource monotonic_buffer_resource polymorphic_allocator pool_options synchronized_pool_resource unsynchronized_pool_resource
|
||||
|
||||
" mutex
|
||||
syntax keyword cppSTLtype scoped_lock
|
||||
|
||||
" new
|
||||
syntax keyword cppSTLconstant
|
||||
\ hardware_destructive_interference_size hardware_constructive_interference_size
|
||||
|
||||
" optional
|
||||
syntax keyword cppSTLtype optional nullopt_t
|
||||
syntax keyword cppSTLexception bad_optional_access
|
||||
syntax keyword cppSTLconstant nullopt
|
||||
syntax keyword cppSTLfunction make_optional
|
||||
|
||||
" shared_mutex
|
||||
syntax keyword cppSTLtype shared_mutex
|
||||
|
||||
" string_view
|
||||
syntax keyword cppSTLtype
|
||||
\ basic_string_view string_view u16string_view u32string_view wstring_view
|
||||
|
||||
" system_error
|
||||
syntax keyword cppSTLbool is_error_code_enum_v is_error_condition_enum_v
|
||||
|
||||
" tuple
|
||||
syntax keyword cppSTLconstant tuple_size_v
|
||||
syntax keyword cppSTLfunction make_from_tuple
|
||||
|
||||
" type_traits
|
||||
syntax keyword cppSTLconstant alignment_of_v rank_v extent_v
|
||||
syntax keyword cppSTLbool
|
||||
\ conjunction_v disjunction_v has_unique_object_representations_v has_virtual_destructor_v is_abstract_v is_aggregate_v is_arithmetic_v is_array_v is_assignable_v is_base_of_v is_callable_v is_class_v is_compound_v is_const_v is_constructible_v is_convertible_v is_copy_assignable_v is_copy_constructible_v is_default_constructible_v is_destructible_v is_empty_v is_enum_v is_floating_point_v is_function_v is_fundamental_v is_integral_v is_invocable_r_v is_invocable_v is_literal_type_v is_lvalue_reference_v is_member_function_pointer_v is_member_object_pointer_v is_member_pointer_v is_move_assignable_v is_move_constructible_v is_nothrow_assignable_v is_nothrow_constructible_v is_nothrow_copy_assignable_v is_nothrow_copy_constructible_v is_nothrow_default_constructible_v is_nothrow_destructible_v is_nothrow_invocable_r_v is_nothrow_invocable_v is_nothrow_move_assignable_v is_nothrow_move_constructible_v is_nothrow_swappable_v is_nothrow_swappable_with_v is_nowthrow_callable_v is_null_pointer_v is_object_v is_pod_v is_pointer_v is_polymorphic_v is_reference_v is_rvalue_reference_v is_same_v is_scalar_v is_signed_v is_standard_layout_v is_swappable_v is_swappable_with_v is_trivial_v is_trivially_assignable_v is_trivially_constructible_v is_trivially_copy_assignable_v is_trivially_copy_constructible_v is_trivially_copyable_v is_trivially_default_constructible_v is_trivially_destructible_v is_trivially_move_assignable_v is_trivially_move_constructible_v is_union_v is_unsigned_v is_void_v is_volatile_v negation_v
|
||||
|
||||
syntax keyword cppSTLtype
|
||||
\ bool_constant conjunction disjunction has_unique_object_representations invoke_result invoke_result_t is_aggregate is_callable is_invocable is_invocable_r is_nothrow_invocable is_nothrow_invocable_r is_nothrow_swappable is_nothrow_swappable_with is_nowthrow_callable is_swappable is_swappable_with negation void_t
|
||||
|
||||
" unordered_map, unordered_set, unordered_multimap, unordered_multiset
|
||||
syntax keyword cppSTLtype node_type insert_return_type
|
||||
|
||||
" utility
|
||||
syntax keyword cppSTLtype
|
||||
\ in_place_tag in_place_t in_place_type_t in_place_index_t
|
||||
|
||||
" variant
|
||||
syntax keyword cppSTLconstant variant_npos variant_size_v
|
||||
syntax keyword cppSTLexception bad_variant_access
|
||||
syntax keyword cppSTLtype
|
||||
\ monostate variant variant_size variant_alternative variant_alternative_t
|
||||
endif
|
||||
|
||||
|
||||
" C++20 extensions {{{1
|
||||
if !exists('cpp_no_cpp20')
|
||||
syntax keyword cppType char8_t
|
||||
syntax keyword cppOperator co_await
|
||||
syntax keyword cppStatement consteval constinit concept requires co_yield co_return
|
||||
syntax keyword cppSTLnamespace ranges views
|
||||
syntax keyword cppSTLconstant dynamic_extent
|
||||
syntax keyword cppSTLvariable default_sentinel unreachable_sentinel
|
||||
|
||||
" atomic
|
||||
syntax keyword cppSTLtype atomic_ref
|
||||
|
||||
" bit
|
||||
syntax keyword cppSTLtype endian
|
||||
|
||||
" compare
|
||||
syntax keyword cppSTLtype
|
||||
\ weak_ordering strong_ordering partial_ordering weak_equality strong_equality common_comparison_category common_comparison_category_t
|
||||
\ atomic_ref endian weak_ordering strong_ordering partial_ordering weak_equality strong_equality common_comparison_category contract_violation coroutine_traits coroutine_handle noop_coroutine_handle noop_coroutine_promise suspend_never suspend_always remove_cvref is_bounded_array is_layout_compatible is_unbounded_array is_nothrow_convertible has_strong_structural_equality is_pointer_interconvertible_base_of unwrap_reference unwrap_ref_decay basic_common_reference common_reference dangling ref_view filter_view transform_view iota_view join_view empty_view single_view split_view common_view reverse_view view_interface span basic_syncbuf basic_osyncstream syncbuf wsyncbuf osyncstream wosyncstream jthread latch barrier stop_token stop_source stop_callback counting_semaphore binary_semaphore source_location compare_three_way_result contiguous_iterator_tag incrementable_traits indirectly_readable_traits move_sentinel common_iterator counted_iterator projected type_identity
|
||||
|
||||
" concepts
|
||||
syntax keyword cppSTLconcept
|
||||
\ assignable_from boolean common_reference_with common_with constructible_from convertible_to copy_constructible copyable default_constructible derived_from destructible equality_comparable equality_comparable_with equivalence_relation floating_point integral invocable movable move_constructible predicate regular regular_invocable relation same_as semiregular signed_integral strict_weak_order swappable swappable_with totally_ordered totally_ordered_with unsigned_integral default_initializable
|
||||
syntax keyword cppSTLtypedef
|
||||
\ common_comparison_category_t remove_cvref_t unwrap_reference_t unwrap_ref_decay_t common_reference_t iterator_t sentinel_t safe_iterator_t safe_subrange_t compare_three_way_result_t iter_value_t iter_reference_t iter_difference_t iter_rvalue_reference_t iter_common_reference_t default_sentinel_t unreachable_sentinel_t indirect_result_t type_identity_t
|
||||
|
||||
" concepts - named requirements
|
||||
" These are concepts that haven't made it into the C++ Standard yet
|
||||
" https://en.cppreference.com/w/cpp/named_req
|
||||
" http://en.cppreference.com/w/cpp/language/constraints
|
||||
if get(g:, 'cpp_named_requirements_highlight', 0)
|
||||
syntax keyword cppSTLNamedReq
|
||||
\ Allocator AllocatorAwareContainer AssociativeContainer BasicLockable BidirectionalIterator BinaryPredicate BinaryTypeTrait BitmaskType Callable CharTraits Clock Compare ConstExprIterator Container ContiguousContainer ContiguousIterator CopyAssignable CopyInsertable CopyInsertable DefaultInsertable EmplaceConstructible Erasable FormattedInputFunction FormattedOutputFunction ForwardIterator FunctionObject Hash InputIterator Iterator LessThanComparable LiteralType Lockable MoveAssignable MoveInsertable Mutex NullablePointer NumericType OutputIterator PODType RandomAccessIterator RandomNumberDistribution RandomNumberEngine RandomNumberEngineAdaptor RegexTraits ReversibleContainer SeedSequence SequenceContainer SharedMutex SharedTimedMutex StandardLayoutType TimedLockable TimedMutex TransformationTrait TrivialClock TrivialType TriviallyCopyable UnaryTypeTrait UnformattedInputFunction UnformattedOutputFunction UniformRandomBitGenerator UnorderedAssociativeContainer ValueSwappable
|
||||
hi def link cppSTLNamedReq Typedef
|
||||
endif
|
||||
|
||||
" contract
|
||||
syntax keyword cppSTLtype contract_violation
|
||||
|
||||
" coroutines
|
||||
syntax keyword cppSTLtype
|
||||
\ coroutine_traits coroutine_handle noop_coroutine_handle noop_coroutine_promise suspend_never suspend_always
|
||||
|
||||
" memory
|
||||
syntax keyword cppSTLfunction
|
||||
\ make_unique_default_init make_shared_default_init allocate_shared_default_init uses_allocator_construction_args make_obj_using_allocator
|
||||
|
||||
" type_traits
|
||||
syntax keyword cppSTLtype
|
||||
\ remove_cvref remove_cvref_t is_bounded_array is_layout_compatible is_unbounded_array is_nothrow_convertible has_strong_structural_equality is_pointer_interconvertible_base_of unwrap_reference unwrap_reference_t unwrap_ref_decay unwrap_ref_decay_t basic_common_reference common_reference common_reference_t
|
||||
\ make_unique_default_init make_shared_default_init allocate_shared_default_init uses_allocator_construction_args make_obj_using_allocator is_corresponding_member subspan in_range is_pointer_interconvertible_with_class
|
||||
|
||||
syntax keyword cppSTLbool
|
||||
\ is_bounded_array_v is_layout_compatible_v is_unbounded_array_v is_nothrow_convertible_v has_strong_structural_equality_v is_pointer_interconvertible_base_of_v
|
||||
|
||||
syntax keyword cppSTLfunction is_corresponding_member
|
||||
|
||||
" ranges
|
||||
syntax keyword cppSTLnamespace ranges views
|
||||
\ is_bounded_array_v is_layout_compatible_v is_unbounded_array_v is_nothrow_convertible_v has_strong_structural_equality_v is_pointer_interconvertible_base_of_v disable_sized_sentinel_for disable_sized_range enable_borrowed_range enable_view
|
||||
|
||||
syntax keyword cppSTLconcept
|
||||
\ range sized_range view input_range output_range forward_range bidirectional_range random_access_range contiguous_range common_range viewable_range
|
||||
|
||||
syntax keyword cppSTLtype
|
||||
\ iterator_t sentinel_t dangling safe_iterator_t safe_subrange_t ref_view filter_view transform_view iota_view join_view empty_view single_view split_view common_view reverse_view view_interface
|
||||
|
||||
" span
|
||||
syntax keyword cppSTLtype span
|
||||
syntax keyword cppSTLconstant dynamic_extent
|
||||
syntax keyword cppSTLfunction subspan
|
||||
|
||||
" syncstream
|
||||
syntax keyword cppSTLtype
|
||||
\ basic_syncbuf basic_osyncstream syncbuf wsyncbuf osyncstream wosyncstream
|
||||
\ assignable_from boolean common_reference_with common_with constructible_from convertible_to copy_constructible copyable default_constructible derived_from destructible equality_comparable equality_comparable_with equivalence_relation floating_point integral invocable movable move_constructible predicate regular regular_invocable relation same_as semiregular signed_integral strict_weak_order swappable swappable_with totally_ordered totally_ordered_with unsigned_integral default_initializable range sized_range view input_range output_range forward_range bidirectional_range random_access_range contiguous_range common_range viewable_range three_way_comparable three_way_comparable_with indirectly_readable indirectly_writable weakly_incrementable incrementable input_or_output_iterator sentinel_for sized_sentinel_for input_iterator output_iterator forward_iterator bidirectional_iterator random_access_iterator contiguous_iterator indirectly_unary_invocable indirectly_regular_unary_invocable indirect_unary_predicate indirect_binary_predicate indirect_equivalence_relation indirect_strict_weak_order indirectly_movable indirectly_movable_storable indirectly_copyable indirectly_copyable_storable indirectly_swappable indirectly_comparable permutable mergeable sortable
|
||||
endif
|
||||
|
||||
|
||||
" Boost {{{1
|
||||
if !exists('cpp_no_boost')
|
||||
syntax keyword cppSTLnamespace boost
|
||||
syntax keyword cppSTLcast lexical_cast
|
||||
syntax keyword cppSTLfunction lexical_cast
|
||||
endif
|
||||
" }}}
|
||||
|
||||
@@ -421,18 +185,17 @@ endif
|
||||
hi def link cppSTLbool Boolean
|
||||
hi def link cppStatement Statement
|
||||
hi def link cppSTLfunction Function
|
||||
hi def link cppSTLfunctional Typedef
|
||||
hi def link cppSTLdefine Constant
|
||||
hi def link cppSTLconstant Constant
|
||||
hi def link cppSTLnamespace Constant
|
||||
hi def link cppSTLtype Typedef
|
||||
hi def link cppSTLexception Exception
|
||||
hi def link cppSTLiterator Typedef
|
||||
hi def link cppSTLiterator_tag Typedef
|
||||
hi def link cppSTLexception Type
|
||||
hi def link cppSTLiterator Type
|
||||
hi def link cppSTLtype Type
|
||||
hi def link cppSTLtypedef Typedef
|
||||
hi def link cppSTLenum Typedef
|
||||
hi def link cppSTLios Function
|
||||
hi def link cppSTLcast Statement
|
||||
hi def link cppSTLconcept Typedef
|
||||
hi def link cppSTLVariable Identifier
|
||||
hi def link cppSTLvariable Identifier
|
||||
|
||||
" The keywords {inline, virtual, explicit, export, override, final} are
|
||||
" standard C++ keywords and NOT types!
|
||||
@@ -444,7 +207,6 @@ if get(g:, 'cpp_simple_highlight', 0)
|
||||
hi link cppStructure Statement
|
||||
hi link cppExceptions Statement
|
||||
hi link cppStorageClass Statement
|
||||
hi link cppSTLexception Typedef
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -2,11 +2,195 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||
|
||||
" Vim syntax file
|
||||
" Language: HTML (version 5.1)
|
||||
" Last Change: 2017 Feb 15
|
||||
" SVG (SVG 1.1 Second Edition)
|
||||
" MathML (MathML 3.0 Second Edition)
|
||||
" Last Change: 2017 Mar 07
|
||||
" License: Public domain
|
||||
" (but let me know if you like :) )
|
||||
"
|
||||
" Note: This file just add new tags from HTML 5
|
||||
" and don't replace default html.vim syntax file
|
||||
"
|
||||
" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
|
||||
" Changes: update to Draft 2016 Jan 13
|
||||
" add microdata Attributes
|
||||
" Maintainer: Rodrigo Machado <rcmachado@gmail.com>
|
||||
" URL: http://rm.blog.br/vim/syntax/html.vim
|
||||
" Modified: htdebeer <H.T.de.Beer@gmail.com>
|
||||
" Changes: add common SVG elements and attributes for inline SVG
|
||||
|
||||
" Patch 7.4.1142
|
||||
if has("patch-7.4-1142")
|
||||
if has("win32")
|
||||
syn iskeyword @,48-57,_,128-167,224-235,-
|
||||
else
|
||||
syn iskeyword @,48-57,_,192-255,-
|
||||
endif
|
||||
endif
|
||||
|
||||
" HTML 5 tags
|
||||
syn keyword htmlTagName contained article aside audio canvas command
|
||||
syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer
|
||||
syn keyword htmlTagName contained header hgroup keygen main mark meter menu menuitem nav output
|
||||
syn keyword htmlTagName contained progress ruby rt rp rb rtc section source summary time track video data
|
||||
syn keyword htmlTagName contained template content shadow slot
|
||||
syn keyword htmlTagName contained wbr bdi
|
||||
syn keyword htmlTagName contained picture
|
||||
|
||||
" SVG tags
|
||||
" http://www.w3.org/TR/SVG/
|
||||
" as found in http://www.w3.org/TR/SVG/eltindex.html
|
||||
syn keyword htmlTagName contained svg
|
||||
syn keyword htmlTagName contained altGlyph altGlyphDef altGlyphItem
|
||||
syn keyword htmlTagName contained animate animateColor animateMotion animateTransform
|
||||
syn keyword htmlTagName contained circle ellipse rect line polyline polygon image path
|
||||
syn keyword htmlTagName contained clipPath color-profile cursor
|
||||
syn keyword htmlTagName contained defs desc g symbol view use switch foreignObject
|
||||
syn keyword htmlTagName contained filter feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence
|
||||
syn keyword htmlTagName contained font font-face font-face-format font-face-name font-face-src font-face-uri
|
||||
syn keyword htmlTagName contained glyph glyphRef hkern
|
||||
syn keyword htmlTagName contained linearGradient marker mask pattern radialGradient set stop
|
||||
syn keyword htmlTagName contained missing-glyph mpath
|
||||
syn keyword htmlTagName contained text textPath tref tspan vkern
|
||||
syn keyword htmlTagName contained metadata title
|
||||
|
||||
" MathML tags
|
||||
" https://www.w3.org/TR/MathML3/appendixi.html#index.elem
|
||||
syn keyword htmlTagName contained abs and annotation annotation-xml apply approx arccos arccosh arccot arccoth
|
||||
syn keyword htmlTagName contained arccsc arccsch arcsec arcsech arcsin arcsinh arctan arctanh arg bind
|
||||
syn keyword htmlTagName contained bvar card cartesianproduct cbytes ceiling cerror ci cn codomain complexes
|
||||
syn keyword htmlTagName contained compose condition conjugate cos cosh cot coth cs csc csch
|
||||
syn keyword htmlTagName contained csymbol curl declare degree determinant diff divergence divide domain domainofapplication
|
||||
syn keyword htmlTagName contained emptyset eq equivalent eulergamma exists exp exponentiale factorial factorof false
|
||||
syn keyword htmlTagName contained floor fn forall gcd geq grad gt ident image imaginary
|
||||
syn keyword htmlTagName contained imaginaryi implies in infinity int integers intersect interval inverse lambda
|
||||
syn keyword htmlTagName contained laplacian lcm leq limit list ln log logbase lowlimit lt
|
||||
syn keyword htmlTagName contained maction maligngroup malignmark math matrix matrixrow max mean median menclose
|
||||
syn keyword htmlTagName contained merror mfenced mfrac mglyph mi mi" min minus mlabeledtr mlongdiv
|
||||
syn keyword htmlTagName contained mmultiscripts mn mo mode moment momentabout mover mpadded mphantom mprescripts
|
||||
syn keyword htmlTagName contained mroot mrow ms mscarries mscarry msgroup msline mspace msqrt msrow
|
||||
syn keyword htmlTagName contained mstack mstyle msub msubsup msup mtable mtd mtext mtr munder
|
||||
syn keyword htmlTagName contained munderover naturalnumbers neq none not notanumber notin notprsubset notsubset or
|
||||
syn keyword htmlTagName contained otherwise outerproduct partialdiff pi piece piecewise plus power primes product
|
||||
syn keyword htmlTagName contained prsubset quotient rationals real reals reln rem root scalarproduct sdev
|
||||
syn keyword htmlTagName contained sec sech selector semantics sep set setdiff share sin sinh
|
||||
syn keyword htmlTagName contained span subset sum tan tanh tendsto times transpose true union
|
||||
syn keyword htmlTagName contained uplimit variance vector vectorproduct xor
|
||||
|
||||
" Custom Element
|
||||
syn match htmlTagName contained "\<[a-z][-.0-9_a-z]*-[-.0-9_a-z]*\>"
|
||||
syn match htmlTagName contained "[.0-9_a-z]\@<=-[-.0-9_a-z]*\>"
|
||||
|
||||
" HTML 5 arguments
|
||||
" Core Attributes
|
||||
syn keyword htmlArg contained accesskey class contenteditable contextmenu dir
|
||||
syn keyword htmlArg contained draggable hidden id is lang spellcheck style tabindex title translate
|
||||
" Event-handler Attributes
|
||||
syn keyword htmlArg contained onabort onblur oncanplay oncanplaythrough onchange
|
||||
syn keyword htmlArg contained onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover
|
||||
syn keyword htmlArg contained ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformchange
|
||||
syn keyword htmlArg contained onforminput oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata
|
||||
syn keyword htmlArg contained onloadedmetadata onloadstart onmousedown onmousemove onmouseout onmouseover onmouseup
|
||||
syn keyword htmlArg contained onmousewheel onpause onplay onplaying onprogress onratechange onreadystatechange
|
||||
syn keyword htmlArg contained onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate
|
||||
syn keyword htmlArg contained onvolumechange onwaiting
|
||||
" XML Attributes
|
||||
syn keyword htmlArg contained xml:lang xml:space xml:base xmlns
|
||||
" new features
|
||||
" <body>
|
||||
syn keyword htmlArg contained onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload
|
||||
syn keyword htmlArg contained onmessage onoffline ononline onpopstate onredo onresize onstorage onundo onunload
|
||||
" <video>, <audio>, <source>, <track>
|
||||
syn keyword htmlArg contained autoplay preload controls loop poster media kind charset srclang track playsinline
|
||||
" <form>, <input>, <button>
|
||||
syn keyword htmlArg contained form autocomplete autofocus list min max step
|
||||
syn keyword htmlArg contained formaction autofocus formenctype formmethod formtarget formnovalidate
|
||||
syn keyword htmlArg contained required placeholder pattern
|
||||
" <command>, <details>, <time>
|
||||
syn keyword htmlArg contained label icon open datetime-local pubdate
|
||||
" <script>
|
||||
syn keyword htmlArg contained async
|
||||
" <content>
|
||||
syn keyword htmlArg contained select
|
||||
" <iframe>
|
||||
syn keyword htmlArg contained seamless srcdoc sandbox allowfullscreen allowusermedia allowpaymentrequest allowpresentation
|
||||
" <picture>
|
||||
syn keyword htmlArg contained srcset sizes
|
||||
" <a>
|
||||
syn keyword htmlArg contained download media
|
||||
" <script>, <style>
|
||||
syn keyword htmlArg contained nonce
|
||||
" <area>, <a>, <img>, <iframe>, <link>
|
||||
syn keyword htmlArg contained referrerpolicy
|
||||
" https://w3c.github.io/webappsec-subresource-integrity/#the-integrity-attribute
|
||||
syn keyword htmlArg contained integrity crossorigin
|
||||
" <link>
|
||||
syn keyword htmlArg contained prefetch
|
||||
" syn keyword htmlArg contained preload
|
||||
" <img>
|
||||
syn keyword htmlArg contained decoding
|
||||
" https://w3c.github.io/selection-api/#extensions-to-globaleventhandlers
|
||||
syn keyword htmlArg contained onselectstart onselectionchange
|
||||
" https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/loading
|
||||
syn keyword htmlArg contained loading
|
||||
|
||||
" Custom Data Attributes
|
||||
" http://w3c.github.io/html/single-page.html#embedding-custom-non-visible-data-with-the-data-attributes
|
||||
syn match htmlArg "\<data[-.0-9_a-z]*-[-.0-9_a-z]*\>" contained
|
||||
|
||||
" Vendor Extension Attributes
|
||||
" http://w3c.github.io/html/single-page.html#conformance-requirements-extensibility
|
||||
syn match htmlArg "\<x[-.0-9_a-z]*-[-.0-9_a-z]*\>" contained
|
||||
|
||||
" Microdata
|
||||
" http://dev.w3.org/html5/md/
|
||||
syn keyword htmlArg contained itemid itemscope itemtype itemprop itemref
|
||||
|
||||
" SVG
|
||||
" http://www.w3.org/TR/SVG/
|
||||
" Some common attributes from http://www.w3.org/TR/SVG/attindex.html
|
||||
syn keyword htmlArg contained accent-height accumulate additive alphabetic amplitude arabic-form ascent attributeName attributeType azimuth
|
||||
syn keyword htmlArg contained baseFrequency baseProfile bbox begin bias by
|
||||
syn keyword htmlArg contained calcMode cap-height class clipPathUnits contentScriptType contentStyleType cx cy
|
||||
syn keyword htmlArg contained d descent diffuseConstant divisor dur dx dy
|
||||
syn keyword htmlArg contained edgeMode elevation end exponent externalResourcesRequired
|
||||
syn keyword htmlArg contained fill filterRes filterUnits font-family font-size font-stretch font-style font-variant font-weight format format from fx fy
|
||||
syn keyword htmlArg contained g1 g2 glyph-name glyphRef gradientTransform gradientUnits
|
||||
syn keyword htmlArg contained hanging height horiz-adv-x horiz-origin-x horiz-origin-y
|
||||
syn keyword htmlArg contained id ideographic in in2 intercept
|
||||
syn keyword htmlArg contained k k1 k2 k3 k4 kernelMatrix kernelUnitLength keyPoints keySplines keyTimes
|
||||
syn keyword htmlArg contained lang lengthAdjust limitingConeAngle local
|
||||
syn keyword htmlArg contained markerHeight markerUnits markerWidth maskContentUnits maskUnits mathematical max media method min mode name
|
||||
syn keyword htmlArg contained numOctaves
|
||||
syn keyword htmlArg contained offset onabort onactivate onbegin onclick onend onerror onfocusin onfocusout onload onmousedown onmousemove onmouseout onmouseover onmouseup onrepeat onresize onscroll onunload onzoom operator order orient orientation origin overline-position overline-thickness
|
||||
syn keyword htmlArg contained panose-1 path pathLength patternContentUnits patternTransform patternUnits points pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits
|
||||
syn keyword htmlArg contained r radius refX refY rendering-intent repeatCount repeatDur requiredExtensions requiredFeatures restart result rotate rx ry
|
||||
syn keyword htmlArg contained scale seed slope spacing specularConstant specularExponent spreadMethod startOffset stdDeviation stemh stemv stitchTiles strikethrough-position strikethrough-thickness string surfaceScale systemLanguage
|
||||
syn keyword htmlArg contained tableValues target targetX targetY textLength title to transform type
|
||||
syn keyword htmlArg contained u1 u2 underline-position underline-thickness unicode unicode-range units-per-em
|
||||
syn keyword htmlArg contained v-alphabetic v-hanging v-ideographic v-mathematical values version vert-adv-y vert-origin-x vert-origin-y viewBox viewTarget
|
||||
syn keyword htmlArg contained width widths
|
||||
syn keyword htmlArg contained x x-height x1 x2 xChannelSelector xlink:actuate xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xml:lang xml:space
|
||||
syn keyword htmlArg contained y y1 y2 yChannelSelector
|
||||
syn keyword htmlArg contained z zoomAndPan
|
||||
syn keyword htmlArg contained alignment-baseline baseline-shift clip-path clip-rule clip color-interpolation-filters color-interpolation color-profile color-rendering color cursor direction display dominant-baseline enable-background fill-opacity fill-rule fill filter flood-color flood-opacity font-family font-size-adjust font-size font-stretch font-style font-variant font-weight glyph-orientation-horizontal glyph-orientation-vertical image-rendering kerning letter-spacing lighting-color marker-end marker-mid marker-start mask opacity overflow pointer-events shape-rendering stop-color stop-opacity stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width stroke text-anchor text-decoration text-rendering unicode-bidi visibility word-spacing writing-mode
|
||||
|
||||
" MathML attributes
|
||||
" https://www.w3.org/TR/MathML3/chapter2.html#interf.toplevel.atts
|
||||
syn keyword htmlArg contained accent accentunder actiontype align alignmentscope altimg altimg-height altimg-valign altimg-width alttext
|
||||
syn keyword htmlArg contained annotation-xml background base baseline bevelled cd cdgroup charalign charspacing close
|
||||
syn keyword htmlArg contained closure color columnalign columnalignment columnlines columnspacing columnspan columnwidth crossout decimalpoint
|
||||
syn keyword htmlArg contained definitionURL denomalign depth display displaystyle edge encoding equalcolumns equalrows fence
|
||||
syn keyword htmlArg contained fontfamily fontsize fontstyle fontweight form frame framespacing groupalign height indentalign
|
||||
syn keyword htmlArg contained indentalignfirst indentalignlast indentshift indentshiftfirst indentshiftlast indenttarget index infixlinebreakstyle integer largeop
|
||||
syn keyword htmlArg contained leftoverhang length linebreak linebreakmultchar linebreakstyle lineleading linethickness location longdivstyle lquote
|
||||
syn keyword htmlArg contained lspace ltr macros math mathbackground mathcolor mathsize mathvariant maxsize maxwidth
|
||||
syn keyword htmlArg contained mediummathspace menclose minlabelspacing minsize mode movablelimits msgroup mslinethickness name nargs
|
||||
syn keyword htmlArg contained newline notation numalign number occurrence open order other overflow position
|
||||
syn keyword htmlArg contained rightoverhang role rowalign rowlines rowspacing rowspan rquote rspace schemaLocation scope
|
||||
syn keyword htmlArg contained scriptlevel scriptminsize scriptsize scriptsizemultiplier selection separator separators shift side stackalign
|
||||
syn keyword htmlArg contained stretchy subscriptshift superscriptshift symmetric thickmathspace thinmathspace type valign verythickmathspace verythinmathspace
|
||||
syn keyword htmlArg contained veryverythickmathspace veryverythinmathspace voffset width xref
|
||||
|
||||
" Comment
|
||||
" https://github.com/w3c/html/issues/694
|
||||
|
||||
@@ -36,7 +36,7 @@ let s:tags = '\%(' . join(graphql#javascript_tags(), '\|') . '\)'
|
||||
|
||||
if graphql#has_syntax_group('jsTemplateExpression')
|
||||
" pangloss/vim-javascript
|
||||
exec 'syntax region graphqlTemplateString start=+' . s:tags . '\@20<=`+ skip=+\\\\\|\\`+ end=+`+ contains=@GraphQLSyntax,jsTemplateExpression,jsSpecial extend'
|
||||
exec 'syntax region graphqlTemplateString matchgroup=jsTemplateString start=+' . s:tags . '\@20<=`+ skip=+\\\\\|\\`+ end=+`+ contains=@GraphQLSyntax,jsTemplateExpression,jsSpecial extend'
|
||||
exec 'syntax match graphqlTaggedTemplate +' . s:tags . '\ze`+ nextgroup=graphqlTemplateString'
|
||||
syntax region graphqlTemplateExpression start=+${+ end=+}+ contained contains=jsTemplateExpression containedin=graphqlFold keepend
|
||||
|
||||
@@ -48,7 +48,7 @@ if graphql#has_syntax_group('jsTemplateExpression')
|
||||
syn cluster graphqlTaggedTemplate add=graphqlTemplateString
|
||||
elseif graphql#has_syntax_group('javaScriptStringT')
|
||||
" runtime/syntax/javascript.vim
|
||||
exec 'syntax region graphqlTemplateString start=+' . s:tags . '\@20<=`+ skip=+\\\\\|\\`+ end=+`+ contains=@GraphQLSyntax,javaScriptSpecial,javaScriptEmbed,@htmlPreproc extend'
|
||||
exec 'syntax region graphqlTemplateString matchgroup=javaScriptStringT start=+' . s:tags . '\@20<=`+ skip=+\\\\\|\\`+ end=+`+ contains=@GraphQLSyntax,javaScriptSpecial,javaScriptEmbed,@htmlPreproc extend'
|
||||
exec 'syntax match graphqlTaggedTemplate +' . s:tags . '\ze`+ nextgroup=graphqlTemplateString'
|
||||
syntax region graphqlTemplateExpression start=+${+ end=+}+ contained contains=@javaScriptEmbededExpr containedin=graphqlFold keepend
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ syn cluster rubyNotTop add=@yardTags,@yardDirectives,@yardTypes,@yardLists,@yard
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
hi def link yardComment rubyComment
|
||||
" Tags
|
||||
hi def link yardGenericTag rubyTodo
|
||||
hi def link yardGenericTag rubyKeyword
|
||||
hi def link yardAbstract yardGenericTag
|
||||
hi def link yardApi yardGenericTag
|
||||
hi def link yardAttr yardGenericTag
|
||||
@@ -106,7 +106,7 @@ hi def link yardYield yardGenericTag
|
||||
hi def link yardYieldParam yardGenericTag
|
||||
hi def link yardYieldReturn yardGenericTag
|
||||
" Directives
|
||||
hi def link yardGenericDirective rubyTodo
|
||||
hi def link yardGenericDirective rubyKeyword
|
||||
hi def link yardAttribute yardGenericDirective
|
||||
hi def link yardEndGroup yardGenericDirective
|
||||
hi def link yardGroup yardGenericDirective
|
||||
|
||||
@@ -34,7 +34,7 @@ endif
|
||||
|
||||
let s:tags = '\%(' . join(graphql#javascript_tags(), '\|') . '\)'
|
||||
|
||||
exec 'syntax region graphqlTemplateString start=+' . s:tags . '\@20<=`+ skip=+\\`+ end=+`+ contains=@GraphQLSyntax,typescriptTemplateSubstitution extend'
|
||||
exec 'syntax region graphqlTemplateString matchgroup=typescriptTemplate start=+' . s:tags . '\@20<=`+ skip=+\\`+ end=+`+ contains=@GraphQLSyntax,typescriptTemplateSubstitution extend'
|
||||
exec 'syntax match graphqlTaggedTemplate +' . s:tags . '\ze`+ nextgroup=graphqlTemplateString'
|
||||
|
||||
" Support expression interpolation ((${...})) inside template strings.
|
||||
|
||||
@@ -75,9 +75,13 @@ fu! csv#Init(start, end, ...) "{{{3
|
||||
endif
|
||||
|
||||
if empty(b:delimiter) && !exists("b:csv_fixed_width")
|
||||
call csv#Warn("No delimiter found. See :h csv-delimiter to set it manually!")
|
||||
" Use a sane default as delimiter:
|
||||
let b:delimiter = ','
|
||||
if !exists("g:csv_default_delim")
|
||||
call csv#Warn("No delimiter found. See :h csv-delimiter to set it manually!")
|
||||
" Use a sane default as delimiter:
|
||||
let b:delimiter = ','
|
||||
else
|
||||
let b:delimiter = g:csv_default_delim
|
||||
endif
|
||||
endif
|
||||
|
||||
let s:del='\%(' . b:delimiter . '\|$\)'
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -266,15 +266,25 @@ function! go#config#SetTemplateAutocreate(value) abort
|
||||
endfunction
|
||||
|
||||
function! go#config#MetalinterCommand() abort
|
||||
return get(g:, "go_metalinter_command", "golangci-lint")
|
||||
return get(g:, 'go_metalinter_command', 'golangci-lint')
|
||||
endfunction
|
||||
|
||||
function! go#config#MetalinterAutosaveEnabled() abort
|
||||
return get(g:, "go_metalinter_autosave_enabled", ["govet", "golint"])
|
||||
let l:default = []
|
||||
if get(g:, 'go_metalinter_command', 'golangci-lint') == 'golangci-lint'
|
||||
let l:default = ['govet', 'golint']
|
||||
endif
|
||||
|
||||
return get(g:, 'go_metalinter_autosave_enabled', l:default)
|
||||
endfunction
|
||||
|
||||
function! go#config#MetalinterEnabled() abort
|
||||
return get(g:, "go_metalinter_enabled", ["vet", "golint", "errcheck"])
|
||||
let l:default = []
|
||||
if get(g:, 'go_metalinter_command', 'golangci-lint') == 'golangci-lint'
|
||||
let l:default = ['vet', 'golint', 'errcheck']
|
||||
endif
|
||||
|
||||
return get(g:, 'go_metalinter_enabled', l:default)
|
||||
endfunction
|
||||
|
||||
function! go#config#GolintBin() abort
|
||||
@@ -514,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
|
||||
@@ -564,10 +574,21 @@ function! go#config#GoplsEnabled() abort
|
||||
return get(g:, 'go_gopls_enabled', 1)
|
||||
endfunction
|
||||
|
||||
" TODO(bc): remove support for g:go_diagnostics_enabled;
|
||||
" g:go_diagnostics_level is the replacement.
|
||||
function! go#config#DiagnosticsEnabled() abort
|
||||
return get(g:, 'go_diagnostics_enabled', 0)
|
||||
endfunction
|
||||
|
||||
function! go#config#DiagnosticsLevel() abort
|
||||
let l:default = 0
|
||||
if has_key(g:, 'go_diagnostics_enabled') && g:go_diagnostics_enabled
|
||||
let l:default = 2
|
||||
endif
|
||||
|
||||
return get(g:, 'go_diagnostics_level', l:default)
|
||||
endfunction
|
||||
|
||||
function! go#config#GoplsOptions() abort
|
||||
return get(g:, 'go_gopls_options', ['-remote=auto'])
|
||||
endfunction
|
||||
@@ -576,6 +597,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
|
||||
|
||||
106
autoload/nim.vim
106
autoload/nim.vim
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nim') == -1
|
||||
let g:nim_log = []
|
||||
let s:plugin_path = escape(expand('<sfile>:p:h'), '\')
|
||||
|
||||
if !exists("g:nim_caas_enabled")
|
||||
if !exists('g:nim_caas_enabled')
|
||||
let g:nim_caas_enabled = 0
|
||||
endif
|
||||
|
||||
@@ -11,27 +11,25 @@ if !executable('nim')
|
||||
echoerr "the Nim compiler must be in your system's PATH"
|
||||
endif
|
||||
|
||||
if has("python3")
|
||||
exe 'py3file ' . fnameescape(s:plugin_path) . '/nim_vim.py'
|
||||
elseif has("python")
|
||||
exe 'pyfile ' . fnameescape(s:plugin_path) . '/nim_vim.py'
|
||||
if has('pythonx')
|
||||
exe 'pyxfile ' . fnameescape(s:plugin_path) . '/nim_vim.py'
|
||||
endif
|
||||
|
||||
fun! nim#init()
|
||||
let cmd = printf("nim --dump.format:json --verbosity:0 dump %s", s:CurrentNimFile())
|
||||
fun! nim#init() abort
|
||||
let cmd = printf('nim --dump.format:json --verbosity:0 dump %s', s:CurrentNimFile())
|
||||
let raw_dumpdata = system(cmd)
|
||||
if !v:shell_error && expand("%:e") == "nim"
|
||||
if !v:shell_error && expand('%:e') ==# 'nim'
|
||||
let false = 0 " Needed for eval of json
|
||||
let true = 1 " Needed for eval of json
|
||||
let dumpdata = eval(substitute(raw_dumpdata, "\n", "", "g"))
|
||||
let dumpdata = eval(substitute(raw_dumpdata, "\n", '', 'g'))
|
||||
|
||||
let b:nim_project_root = dumpdata['project_path']
|
||||
let b:nim_defined_symbols = dumpdata['defined_symbols']
|
||||
let b:nim_caas_enabled = g:nim_caas_enabled || index(dumpdata['defined_symbols'], 'forcecaas') != -1
|
||||
|
||||
for path in dumpdata['lib_paths']
|
||||
if finddir(path) == path
|
||||
let &l:path = path . "," . &l:path
|
||||
if finddir(path) ==# path
|
||||
let &l:path = path . ',' . &l:path
|
||||
endif
|
||||
endfor
|
||||
else
|
||||
@@ -39,7 +37,7 @@ fun! nim#init()
|
||||
endif
|
||||
endf
|
||||
|
||||
fun! s:UpdateNimLog()
|
||||
fun! s:UpdateNimLog() abort
|
||||
setlocal buftype=nofile
|
||||
setlocal bufhidden=hide
|
||||
setlocal noswapfile
|
||||
@@ -56,32 +54,32 @@ endf
|
||||
augroup NimVim
|
||||
au!
|
||||
au BufEnter log://nim call s:UpdateNimLog()
|
||||
if has("python3") || has("python")
|
||||
" au QuitPre * :py nimTerminateAll()
|
||||
au VimLeavePre * :py nimTerminateAll()
|
||||
if has('pythonx')
|
||||
" au QuitPre * :pyx nimTerminateAll()
|
||||
au VimLeavePre * :pyx nimTerminateAll()
|
||||
endif
|
||||
augroup END
|
||||
|
||||
command! NimLog :e log://nim
|
||||
|
||||
command! NimTerminateService
|
||||
\ :exe printf("py nimTerminateService('%s')", b:nim_project_root)
|
||||
\ :exe printf("pyx nimTerminateService('%s')", b:nim_project_root)
|
||||
|
||||
command! NimRestartService
|
||||
\ :exe printf("py nimRestartService('%s')", b:nim_project_root)
|
||||
\ :exe printf("pyx nimRestartService('%s')", b:nim_project_root)
|
||||
|
||||
fun! s:CurrentNimFile()
|
||||
fun! s:CurrentNimFile() abort
|
||||
let save_cur = getpos('.')
|
||||
call cursor(0, 0, 0)
|
||||
|
||||
let PATTERN = "\\v^\\#\\s*included from \\zs.*\\ze"
|
||||
let l = search(PATTERN, "n")
|
||||
let PATTERN = '\v^\#\s*included from \zs.*\ze'
|
||||
let l = search(PATTERN, 'n')
|
||||
|
||||
if l != 0
|
||||
let f = matchstr(getline(l), PATTERN)
|
||||
let l:to_check = expand('%:h') . "/" . f
|
||||
let l:to_check = expand('%:h') . '/' . f
|
||||
else
|
||||
let l:to_check = expand("%")
|
||||
let l:to_check = expand('%')
|
||||
endif
|
||||
|
||||
call setpos('.', save_cur)
|
||||
@@ -108,42 +106,42 @@ let g:nim_symbol_types = {
|
||||
\ 'skEnumField': 'v',
|
||||
\ }
|
||||
|
||||
fun! NimExec(op)
|
||||
let isDirty = getbufvar(bufnr('%'), "&modified")
|
||||
fun! NimExec(op) abort
|
||||
let isDirty = getbufvar(bufnr('%'), '&modified')
|
||||
if isDirty
|
||||
let tmp = tempname() . bufname("%") . "_dirty.nim"
|
||||
silent! exe ":w " . tmp
|
||||
let tmp = tempname() . bufname('%') . '_dirty.nim'
|
||||
silent! exe ':w ' . tmp
|
||||
|
||||
let cmd = printf("idetools %s --trackDirty:\"%s,%s,%d,%d\" \"%s\"",
|
||||
let cmd = printf('idetools %s --trackDirty:"%s,%s,%d,%d" "%s"',
|
||||
\ a:op, tmp, expand('%:p'), line('.'), col('.')-1, s:CurrentNimFile())
|
||||
else
|
||||
let cmd = printf("idetools %s --track:\"%s,%d,%d\" \"%s\"",
|
||||
let cmd = printf('idetools %s --track:"%s,%d,%d" "%s"',
|
||||
\ a:op, expand('%:p'), line('.'), col('.')-1, s:CurrentNimFile())
|
||||
endif
|
||||
|
||||
if b:nim_caas_enabled
|
||||
exe printf("py nimExecCmd('%s', '%s', False)", b:nim_project_root, cmd)
|
||||
let output = l:py_res
|
||||
exe printf("pyx nimExecCmd('%s', '%s', False)", b:nim_project_root, cmd)
|
||||
let output = get(l:, 'py_res', '')
|
||||
else
|
||||
let output = system("nim " . cmd)
|
||||
let output = system('nim ' . cmd)
|
||||
endif
|
||||
|
||||
call add(g:nim_log, "nim " . cmd . "\n" . output)
|
||||
call add(g:nim_log, 'nim ' . cmd . "\n" . output)
|
||||
return output
|
||||
endf
|
||||
|
||||
fun! NimExecAsync(op, Handler)
|
||||
fun! NimExecAsync(op, Handler) abort
|
||||
let result = NimExec(a:op)
|
||||
call a:Handler(result)
|
||||
endf
|
||||
|
||||
fun! NimComplete(findstart, base)
|
||||
if b:nim_caas_enabled == 0
|
||||
fun! NimComplete(findstart, base) abort
|
||||
if b:nim_caas_enabled ==# 0
|
||||
return -1
|
||||
endif
|
||||
|
||||
if a:findstart
|
||||
if synIDattr(synIDtrans(synID(line("."),col("."),1)), "name") == 'Comment'
|
||||
if synIDattr(synIDtrans(synID(line('.'),col('.'),1)), 'name') ==# 'Comment'
|
||||
return -1
|
||||
endif
|
||||
let line = getline('.')
|
||||
@@ -154,10 +152,10 @@ fun! NimComplete(findstart, base)
|
||||
return start
|
||||
else
|
||||
let result = []
|
||||
let sugOut = NimExec("--suggest")
|
||||
let sugOut = NimExec('--suggest')
|
||||
for line in split(sugOut, '\n')
|
||||
let lineData = split(line, '\t')
|
||||
if len(lineData) > 0 && lineData[0] == "sug"
|
||||
if len(lineData) > 0 && lineData[0] ==# 'sug'
|
||||
let word = split(lineData[2], '\.')[-1]
|
||||
if a:base ==? '' || word =~# '^' . a:base
|
||||
let kind = get(g:nim_symbol_types, lineData[1], '')
|
||||
@@ -170,7 +168,7 @@ fun! NimComplete(findstart, base)
|
||||
endif
|
||||
endf
|
||||
|
||||
if !exists("g:neocomplcache_omni_patterns")
|
||||
if !exists('g:neocomplcache_omni_patterns')
|
||||
let g:neocomplcache_omni_patterns = {}
|
||||
endif
|
||||
let g:neocomplcache_omni_patterns['nim'] = '[^. *\t]\.\w*'
|
||||
@@ -182,7 +180,7 @@ let g:neocomplete#sources#omni#input_patterns['nim'] = '[^. *\t]\.\w*'
|
||||
|
||||
let g:nim_completion_callbacks = {}
|
||||
|
||||
fun! NimAsyncCmdComplete(cmd, output)
|
||||
fun! NimAsyncCmdComplete(cmd, output) abort
|
||||
call add(g:nim_log, a:output)
|
||||
echom g:nim_completion_callbacks
|
||||
if has_key(g:nim_completion_callbacks, a:cmd)
|
||||
@@ -190,52 +188,52 @@ fun! NimAsyncCmdComplete(cmd, output)
|
||||
call Callback(a:output)
|
||||
" remove(g:nim_completion_callbacks, a:cmd)
|
||||
else
|
||||
echom "ERROR, Unknown Command: " . a:cmd
|
||||
echom 'ERROR, Unknown Command: ' . a:cmd
|
||||
endif
|
||||
return 1
|
||||
endf
|
||||
|
||||
fun! GotoDefinition_nim_ready(def_output)
|
||||
fun! GotoDefinition_nim_ready(def_output) abort
|
||||
if v:shell_error
|
||||
echo "nim was unable to locate the definition. exit code: " . v:shell_error
|
||||
echo 'nim was unable to locate the definition. exit code: ' . v:shell_error
|
||||
" echoerr a:def_output
|
||||
return 0
|
||||
endif
|
||||
|
||||
let rawDef = matchstr(a:def_output, 'def\t\([^\n]*\)')
|
||||
if rawDef == ""
|
||||
echo "the current cursor position does not match any definitions"
|
||||
if rawDef == ''
|
||||
echo 'the current cursor position does not match any definitions'
|
||||
return 0
|
||||
endif
|
||||
|
||||
let defBits = split(rawDef, '\t')
|
||||
let file = defBits[4]
|
||||
let line = defBits[5]
|
||||
exe printf("e +%d %s", line, file)
|
||||
exe printf('e +%d %s', line, file)
|
||||
return 1
|
||||
endf
|
||||
|
||||
fun! GotoDefinition_nim()
|
||||
call NimExecAsync("--def", function("GotoDefinition_nim_ready"))
|
||||
fun! GotoDefinition_nim() abort
|
||||
call NimExecAsync('--def', function('GotoDefinition_nim_ready'))
|
||||
endf
|
||||
|
||||
fun! FindReferences_nim()
|
||||
setloclist()
|
||||
fun! FindReferences_nim() abort
|
||||
"setloclist()
|
||||
endf
|
||||
|
||||
" Syntastic syntax checking
|
||||
fun! SyntaxCheckers_nim_nim_GetLocList()
|
||||
fun! SyntaxCheckers_nim_nim_GetLocList() abort
|
||||
let makeprg = 'nim check --hints:off --listfullpaths ' . s:CurrentNimFile()
|
||||
let errorformat = &errorformat
|
||||
|
||||
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
|
||||
endf
|
||||
|
||||
function! SyntaxCheckers_nim_nim_IsAvailable()
|
||||
return executable("nim")
|
||||
function! SyntaxCheckers_nim_nim_IsAvailable() abort
|
||||
return executable('nim')
|
||||
endfunction
|
||||
|
||||
if exists("g:SyntasticRegistry")
|
||||
if exists('g:SyntasticRegistry')
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'nim',
|
||||
\ 'name': 'nim'})
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
" Line continuation is used here, remove 'C' from 'cpoptions'
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE
|
||||
|
||||
func! polyglot#detect#Inp()
|
||||
func! polyglot#detect#Inp(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
let line = getline(nextnonblank(1))
|
||||
if line =~# '^\*'
|
||||
set ft=abaqus | return
|
||||
@@ -13,14 +20,20 @@ func! polyglot#detect#Inp()
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Asa()
|
||||
func! polyglot#detect#Asa(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
if exists("g:filetype_asa")
|
||||
let &ft = g:filetype_asa | return
|
||||
endif
|
||||
set ft=aspvbs | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Asp()
|
||||
func! polyglot#detect#Asp(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
if exists("g:filetype_asp")
|
||||
let &ft = g:filetype_asp | return
|
||||
endif
|
||||
@@ -33,7 +46,10 @@ func! polyglot#detect#Asp()
|
||||
set ft=aspvbs | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#H()
|
||||
func! polyglot#detect#H(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 200]))
|
||||
let line = getline(lnum)
|
||||
if line =~# '^\s*\(@\(interface\|class\|protocol\|property\|end\|synchronised\|selector\|implementation\)\(\<\|\>\)\|#import\s\+.\+\.h[">]\)'
|
||||
@@ -52,7 +68,10 @@ func! polyglot#detect#H()
|
||||
set ft=cpp | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#M()
|
||||
func! polyglot#detect#M(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
let saw_comment = 0
|
||||
for lnum in range(1, min([line("$"), 100]))
|
||||
let line = getline(lnum)
|
||||
@@ -81,7 +100,10 @@ func! polyglot#detect#M()
|
||||
set ft=octave | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Fs()
|
||||
func! polyglot#detect#Fs(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 50]))
|
||||
let line = getline(lnum)
|
||||
if line =~# '^\(: \|new-device\)'
|
||||
@@ -100,7 +122,10 @@ func! polyglot#detect#Fs()
|
||||
set ft=forth | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Re()
|
||||
func! polyglot#detect#Re(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 50]))
|
||||
let line = getline(lnum)
|
||||
if line =~# '^\s*#\%(\%(if\|ifdef\|define\|pragma\)\s\+\w\|\s*include\s\+[<"]\|template\s*<\)'
|
||||
@@ -110,7 +135,10 @@ func! polyglot#detect#Re()
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Idr()
|
||||
func! polyglot#detect#Idr(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 5]))
|
||||
let line = getline(lnum)
|
||||
if line =~# '^\s*--.*[Ii]dris \=1'
|
||||
@@ -144,7 +172,10 @@ func! polyglot#detect#Idr()
|
||||
set ft=idris2 | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Lidr()
|
||||
func! polyglot#detect#Lidr(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 200]))
|
||||
let line = getline(lnum)
|
||||
if line =~# '^>\s*--.*[Ii]dris \=1'
|
||||
@@ -154,7 +185,10 @@ func! polyglot#detect#Lidr()
|
||||
set ft=lidris2 | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Bas()
|
||||
func! polyglot#detect#Bas(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 5]))
|
||||
let line = getline(lnum)
|
||||
if line =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||
@@ -164,7 +198,10 @@ func! polyglot#detect#Bas()
|
||||
set ft=basic | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Pm()
|
||||
func! polyglot#detect#Pm(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
let line = getline(nextnonblank(1))
|
||||
if line =~# 'XPM2'
|
||||
set ft=xpm2 | return
|
||||
@@ -185,11 +222,13 @@ func! polyglot#detect#Pm()
|
||||
let &ft = g:filetype_pm | return
|
||||
endif
|
||||
if polyglot#shebang#Detect() | return | endif
|
||||
set ft=perl | au BufWritePost <buffer> ++once call polyglot#detect#Pm()
|
||||
return
|
||||
set ft=perl | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Pl()
|
||||
func! polyglot#detect#Pl(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
let line = getline(nextnonblank(1))
|
||||
if line =~# '^[^#]*:-' || line =~# '^\s*\%(%\|/\*\)' || line =~# '\.\s*$'
|
||||
set ft=prolog | return
|
||||
@@ -207,11 +246,13 @@ func! polyglot#detect#Pl()
|
||||
let &ft = g:filetype_pl | return
|
||||
endif
|
||||
if polyglot#shebang#Detect() | return | endif
|
||||
set ft=perl | au BufWritePost <buffer> ++once call polyglot#detect#Pl()
|
||||
return
|
||||
set ft=perl | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#T()
|
||||
func! polyglot#detect#T(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 5]))
|
||||
let line = getline(lnum)
|
||||
if line =~# '^\.'
|
||||
@@ -231,11 +272,13 @@ func! polyglot#detect#T()
|
||||
let &ft = g:filetype_t | return
|
||||
endif
|
||||
if polyglot#shebang#Detect() | return | endif
|
||||
set ft=perl | au BufWritePost <buffer> ++once call polyglot#detect#T()
|
||||
return
|
||||
set ft=perl | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Tt2()
|
||||
func! polyglot#detect#Tt2(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 3]))
|
||||
let line = getline(lnum)
|
||||
if line =~? '<\%(!DOCTYPE HTML\|[%?]\|html\)'
|
||||
@@ -245,20 +288,27 @@ func! polyglot#detect#Tt2()
|
||||
set ft=tt2 | return
|
||||
endfunc
|
||||
|
||||
func! polyglot#detect#Html()
|
||||
func! polyglot#detect#Html(...)
|
||||
if a:0 != 1 && did_filetype()
|
||||
return
|
||||
endif
|
||||
let line = getline(nextnonblank(1))
|
||||
if line =~# '^\(%\|<[%&].*>\)'
|
||||
set ft=mason | return
|
||||
endif
|
||||
for lnum in range(1, min([line("$"), 50]))
|
||||
let line = getline(lnum)
|
||||
if line =~# '{%-\=\s*\(end.*\|extends\|block\|macro\|set\|if\|for\|include\|trans\)\(\<\|\>\)\|{#\s\+'
|
||||
if line =~# '{%-\=\s*\(end.*\|extends\|block\|macro\|set\|if\|for\|include\|trans\|load\)\(\<\|\>\)\|{#\s\+'
|
||||
set ft=htmldjango | return
|
||||
endif
|
||||
if line =~# '\(\<\|\>\)DTD\s\+XHTML\s'
|
||||
set ft=xhtml | return
|
||||
endif
|
||||
endfor
|
||||
set ft=html | au BufWritePost <buffer> ++once call polyglot#detect#Html()
|
||||
return
|
||||
set ft=html | return
|
||||
endfunc
|
||||
|
||||
" DO NOT EDIT CODE ABOVE, IT IS GENERATED WITH MAKEFILE
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
757
autoload/polyglot/ft.vim
Normal file
757
autoload/polyglot/ft.vim
Normal file
@@ -0,0 +1,757 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Aug 17
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
|
||||
" Line continuation is used here, remove 'C' from 'cpoptions'
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
func polyglot#ft#Check_inp()
|
||||
if getline(1) =~ '^\*'
|
||||
setf abaqus
|
||||
else
|
||||
let n = 1
|
||||
if line("$") > 500
|
||||
let nmax = 500
|
||||
else
|
||||
let nmax = line("$")
|
||||
endif
|
||||
while n <= nmax
|
||||
if getline(n) =~? "^header surface data"
|
||||
setf trasys
|
||||
break
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" This function checks for the kind of assembly that is wanted by the user, or
|
||||
" can be detected from the first five lines of the file.
|
||||
func polyglot#ft#FTasm()
|
||||
" make sure b:asmsyntax exists
|
||||
if !exists("b:asmsyntax")
|
||||
let b:asmsyntax = ""
|
||||
endif
|
||||
|
||||
if b:asmsyntax == ""
|
||||
call polyglot#ft#FTasmsyntax()
|
||||
endif
|
||||
|
||||
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
||||
if b:asmsyntax == ""
|
||||
if exists("g:asmsyntax")
|
||||
let b:asmsyntax = g:asmsyntax
|
||||
else
|
||||
let b:asmsyntax = "asm"
|
||||
endif
|
||||
endif
|
||||
|
||||
exe "setf " . fnameescape(b:asmsyntax)
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTasmsyntax()
|
||||
" see if file contains any asmsyntax=foo overrides. If so, change
|
||||
" b:asmsyntax appropriately
|
||||
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
|
||||
\" ".getline(5)." "
|
||||
let match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s')
|
||||
if match != ''
|
||||
let b:asmsyntax = match
|
||||
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
|
||||
let b:asmsyntax = "vmasm"
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Check if one of the first five lines contains "VB_Name". In that case it is
|
||||
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
|
||||
func polyglot#ft#FTVB(alt)
|
||||
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||
setf vb
|
||||
else
|
||||
exe "setf " . a:alt
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTbtm()
|
||||
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
||||
setf dosbatch
|
||||
else
|
||||
setf btm
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#BindzoneCheck(default)
|
||||
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||
setf bindzone
|
||||
elseif a:default != ''
|
||||
exe 'setf ' . a:default
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTlpc()
|
||||
if exists("g:lpc_syntax_for_c")
|
||||
let lnum = 1
|
||||
while lnum <= 12
|
||||
if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)'
|
||||
setf lpc
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endif
|
||||
setf c
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTheader()
|
||||
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||
if exists("g:c_syntax_for_h")
|
||||
setf objc
|
||||
else
|
||||
setf objcpp
|
||||
endif
|
||||
elseif exists("g:c_syntax_for_h")
|
||||
setf c
|
||||
elseif exists("g:ch_syntax_for_h")
|
||||
setf ch
|
||||
else
|
||||
setf cpp
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" This function checks if one of the first ten lines start with a '@'. In
|
||||
" that case it is probably a change file.
|
||||
" If the first line starts with # or ! it's probably a ch file.
|
||||
" If a line has "main", "include", "//" or "/*" it's probably ch.
|
||||
" Otherwise CHILL is assumed.
|
||||
func polyglot#ft#FTchange()
|
||||
let lnum = 1
|
||||
while lnum <= 10
|
||||
if getline(lnum)[0] == '@'
|
||||
setf change
|
||||
return
|
||||
endif
|
||||
if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!')
|
||||
setf ch
|
||||
return
|
||||
endif
|
||||
if getline(lnum) =~ "MODULE"
|
||||
setf chill
|
||||
return
|
||||
endif
|
||||
if getline(lnum) =~ 'main\s*(\|#\s*include\|//'
|
||||
setf ch
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
setf chill
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTent()
|
||||
" This function checks for valid cl syntax in the first five lines.
|
||||
" Look for either an opening comment, '#', or a block start, '{".
|
||||
" If not found, assume SGML.
|
||||
let lnum = 1
|
||||
while lnum < 6
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*[#{]'
|
||||
setf cl
|
||||
return
|
||||
elseif line !~ '^\s*$'
|
||||
" Not a blank line, not a comment, and not a block start,
|
||||
" so doesn't look like valid cl code.
|
||||
break
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endw
|
||||
setf dtd
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#EuphoriaCheck()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
setf euphoria3
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#DtraceCheck()
|
||||
let lines = getline(1, min([line("$"), 100]))
|
||||
if match(lines, '^module\>\|^import\>') > -1
|
||||
" D files often start with a module and/or import statement.
|
||||
setf d
|
||||
elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
|
||||
setf dtrace
|
||||
else
|
||||
setf d
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTe()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
let n = 1
|
||||
while n < 100 && n <= line("$")
|
||||
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||
setf specman
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf eiffel
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Distinguish between HTML, XHTML and Django
|
||||
func polyglot#ft#FThtml()
|
||||
let n = 1
|
||||
while n < 10 && n <= line("$")
|
||||
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||
setf xhtml
|
||||
return
|
||||
endif
|
||||
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
|
||||
setf htmldjango
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf FALLBACK html
|
||||
endfunc
|
||||
|
||||
" Distinguish between standard IDL and MS-IDL
|
||||
func polyglot#ft#FTidl()
|
||||
let n = 1
|
||||
while n < 50 && n <= line("$")
|
||||
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
||||
setf msidl
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf idl
|
||||
endfunc
|
||||
|
||||
" Distinguish between "default" and Cproto prototype file. */
|
||||
func polyglot#ft#ProtoCheck(default)
|
||||
" Cproto files have a comment in the first line and a function prototype in
|
||||
" the second line, it always ends in ";". Indent files may also have
|
||||
" comments, thus we can't match comments to see the difference.
|
||||
" IDL files can have a single ';' in the second line, require at least one
|
||||
" chacter before the ';'.
|
||||
if getline(2) =~ '.;$'
|
||||
setf cpp
|
||||
else
|
||||
exe 'setf ' . a:default
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTm()
|
||||
let n = 1
|
||||
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||
while n < 100
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*/\*'
|
||||
" /* ... */ is a comment in Objective C and Murphi, so we can't conclude
|
||||
" it's either of them yet, but track this as a hint in case we don't see
|
||||
" anything more definitive.
|
||||
let saw_comment = 1
|
||||
endif
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
|
||||
setf objc
|
||||
return
|
||||
endif
|
||||
if line =~ '^\s*%'
|
||||
setf matlab
|
||||
return
|
||||
endif
|
||||
if line =~ '^\s*(\*'
|
||||
setf mma
|
||||
return
|
||||
endif
|
||||
if line =~ '^\c\s*\(\(type\|var\)\>\|--\)'
|
||||
setf murphi
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
|
||||
if saw_comment
|
||||
" We didn't see anything definitive, but this looks like either Objective C
|
||||
" or Murphi based on the comment leader. Assume the former as it is more
|
||||
" common.
|
||||
setf objc
|
||||
elseif exists("g:filetype_m")
|
||||
" Use user specified default filetype for .m
|
||||
exe "setf " . g:filetype_m
|
||||
else
|
||||
" Default is matlab
|
||||
setf matlab
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTmms()
|
||||
let n = 1
|
||||
while n < 20
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
||||
setf mmix
|
||||
return
|
||||
endif
|
||||
if line =~ '^\s*#'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf mmix
|
||||
endfunc
|
||||
|
||||
" This function checks if one of the first five lines start with a dot. In
|
||||
" that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||
func polyglot#ft#FTnroff()
|
||||
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
|
||||
setf nroff
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTmm()
|
||||
let n = 1
|
||||
while n < 20
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||
setf objcpp
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf nroff
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTpl()
|
||||
if exists("g:filetype_pl")
|
||||
exe "setf " . g:filetype_pl
|
||||
else
|
||||
" recognize Prolog by specific text in the first non-empty line
|
||||
" require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||
let l = getline(nextnonblank(1))
|
||||
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
|
||||
setf prolog
|
||||
else
|
||||
setf perl
|
||||
endif
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTinc()
|
||||
if exists("g:filetype_inc")
|
||||
exe "setf " . g:filetype_inc
|
||||
else
|
||||
let lines = getline(1).getline(2).getline(3)
|
||||
if lines =~? "perlscript"
|
||||
setf aspperl
|
||||
elseif lines =~ "<%"
|
||||
setf aspvbs
|
||||
elseif lines =~ "<?"
|
||||
setf php
|
||||
else
|
||||
call polyglot#ft#FTasmsyntax()
|
||||
if exists("b:asmsyntax")
|
||||
exe "setf " . fnameescape(b:asmsyntax)
|
||||
else
|
||||
setf pov
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTprogress_cweb()
|
||||
if exists("g:filetype_w")
|
||||
exe "setf " . g:filetype_w
|
||||
return
|
||||
endif
|
||||
if getline(1) =~ '&ANALYZE' || getline(3) =~ '&GLOBAL-DEFINE'
|
||||
setf progress
|
||||
else
|
||||
setf cweb
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTprogress_asm()
|
||||
if exists("g:filetype_i")
|
||||
exe "setf " . g:filetype_i
|
||||
return
|
||||
endif
|
||||
" This function checks for an assembly comment the first ten lines.
|
||||
" If not found, assume Progress.
|
||||
let lnum = 1
|
||||
while lnum <= 10 && lnum < line('$')
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*;' || line =~ '^\*'
|
||||
call polyglot#ft#FTasm()
|
||||
return
|
||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||
" Not an empty line: Doesn't look like valid assembly code.
|
||||
" Or it looks like a Progress /* comment
|
||||
break
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endw
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTprogress_pascal()
|
||||
if exists("g:filetype_p")
|
||||
exe "setf " . g:filetype_p
|
||||
return
|
||||
endif
|
||||
" This function checks for valid Pascal syntax in the first ten lines.
|
||||
" Look for either an opening comment or a program start.
|
||||
" If not found, assume Progress.
|
||||
let lnum = 1
|
||||
while lnum <= 10 && lnum < line('$')
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>'
|
||||
\ || line =~ '^\s*{' || line =~ '^\s*(\*'
|
||||
setf pascal
|
||||
return
|
||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||
" Not an empty line: Doesn't look like valid Pascal code.
|
||||
" Or it looks like a Progress /* comment
|
||||
break
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endw
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTr()
|
||||
let max = line("$") > 50 ? 50 : line("$")
|
||||
|
||||
for n in range(1, max)
|
||||
" Rebol is easy to recognize, check for that first
|
||||
if getline(n) =~? '\<REBOL\>'
|
||||
setf rebol
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
for n in range(1, max)
|
||||
" R has # comments
|
||||
if getline(n) =~ '^\s*#'
|
||||
setf r
|
||||
return
|
||||
endif
|
||||
" Rexx has /* comments */
|
||||
if getline(n) =~ '^\s*/\*'
|
||||
setf rexx
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Nothing recognized, use user default or assume Rexx
|
||||
if exists("g:filetype_r")
|
||||
exe "setf " . g:filetype_r
|
||||
else
|
||||
" Rexx used to be the default, but R appears to be much more popular.
|
||||
setf r
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#McSetf()
|
||||
" Rely on the file to start with a comment.
|
||||
" MS message text files use ';', Sendmail files use '#' or 'dnl'
|
||||
for lnum in range(1, min([line("$"), 20]))
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*\(#\|dnl\)'
|
||||
setf m4 " Sendmail .mc file
|
||||
return
|
||||
elseif line =~ '^\s*;'
|
||||
setf msmessages " MS Message text file
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
setf m4 " Default: Sendmail .mc file
|
||||
endfunc
|
||||
|
||||
" Called from filetype.vim and scripts.vim.
|
||||
func polyglot#ft#SetFileTypeSH(name)
|
||||
if did_filetype()
|
||||
" Filetype was already detected
|
||||
return
|
||||
endif
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
if a:name =~ '\<csh\>'
|
||||
" Some .sh scripts contain #!/bin/csh.
|
||||
call polyglot#ft#SetFileTypeShell("csh")
|
||||
return
|
||||
elseif a:name =~ '\<tcsh\>'
|
||||
" Some .sh scripts contain #!/bin/tcsh.
|
||||
call polyglot#ft#SetFileTypeShell("tcsh")
|
||||
return
|
||||
elseif a:name =~ '\<zsh\>'
|
||||
" Some .sh scripts contain #!/bin/zsh.
|
||||
call polyglot#ft#SetFileTypeShell("zsh")
|
||||
return
|
||||
elseif a:name =~ '\<ksh\>'
|
||||
let b:is_kornshell = 1
|
||||
if exists("b:is_bash")
|
||||
unlet b:is_bash
|
||||
endif
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif exists("g:bash_is_sh") || a:name =~ '\<bash\>' || a:name =~ '\<bash2\>'
|
||||
let b:is_bash = 1
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
endif
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif a:name =~ '\<sh\>'
|
||||
let b:is_sh = 1
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
endif
|
||||
if exists("b:is_bash")
|
||||
unlet b:is_bash
|
||||
endif
|
||||
endif
|
||||
call polyglot#ft#SetFileTypeShell("sh")
|
||||
endfunc
|
||||
|
||||
" For shell-like file types, check for an "exec" command hidden in a comment,
|
||||
" as used for Tcl.
|
||||
" Also called from scripts.vim, thus can't be local to this script.
|
||||
func polyglot#ft#SetFileTypeShell(name)
|
||||
if did_filetype()
|
||||
" Filetype was already detected
|
||||
return
|
||||
endif
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
let l = 2
|
||||
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
|
||||
" Skip empty and comment lines.
|
||||
let l = l + 1
|
||||
endwhile
|
||||
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
|
||||
" Found an "exec" line after a comment with continuation
|
||||
let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '')
|
||||
if n =~ '\<tclsh\|\<wish'
|
||||
setf tcl
|
||||
return
|
||||
endif
|
||||
endif
|
||||
exe "setf " . a:name
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#CSH()
|
||||
if did_filetype()
|
||||
" Filetype was already detected
|
||||
return
|
||||
endif
|
||||
if exists("g:filetype_csh")
|
||||
call polyglot#ft#SetFileTypeShell(g:filetype_csh)
|
||||
elseif &shell =~ "tcsh"
|
||||
call polyglot#ft#SetFileTypeShell("tcsh")
|
||||
else
|
||||
call polyglot#ft#SetFileTypeShell("csh")
|
||||
endif
|
||||
endfunc
|
||||
|
||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||
func polyglot#ft#FTRules()
|
||||
let path = expand('<amatch>:p')
|
||||
if path =~ '/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|\%(usr/\)\=lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
setf udevrules
|
||||
return
|
||||
endif
|
||||
if path =~ '^/etc/ufw/'
|
||||
setf conf " Better than hog
|
||||
return
|
||||
endif
|
||||
if path =~ '^/\(etc\|usr/share\)/polkit-1/rules\.d'
|
||||
setf javascript
|
||||
return
|
||||
endif
|
||||
try
|
||||
let config_lines = readfile('/etc/udev/udev.conf')
|
||||
catch /^Vim\%((\a\+)\)\=:E484/
|
||||
setf hog
|
||||
return
|
||||
endtry
|
||||
let dir = expand('<amatch>:p:h')
|
||||
for line in config_lines
|
||||
if line =~ s:ft_rules_udev_rules_pattern
|
||||
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
|
||||
if dir == udev_rules
|
||||
setf udevrules
|
||||
endif
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
setf hog
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#SQL()
|
||||
if exists("g:filetype_sql")
|
||||
exe "setf " . g:filetype_sql
|
||||
else
|
||||
setf sql
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
|
||||
" it is almost certainly a Perl test file.
|
||||
" If the first line starts with '#' and contains 'perl' it's probably a Perl
|
||||
" file.
|
||||
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||
" a Perl file.
|
||||
func polyglot#ft#FTperl()
|
||||
let dirname = expand("%:p:h:t")
|
||||
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
if getline(1)[0] == '#' && getline(1) =~ 'perl'
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
let save_cursor = getpos('.')
|
||||
call cursor(1,1)
|
||||
let has_use = search('^use\s\s*\k', 'c', 30)
|
||||
call setpos('.', save_cursor)
|
||||
if has_use
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
" Choose context, plaintex, or tex (LaTeX) based on these rules:
|
||||
" 1. Check the first line of the file for "%&<format>".
|
||||
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
||||
" 3. Default to "plain" or to g:tex_flavor, can be set in user's vimrc.
|
||||
func polyglot#ft#FTtex()
|
||||
let firstline = getline(1)
|
||||
if firstline =~ '^%&\s*\a\+'
|
||||
let format = tolower(matchstr(firstline, '\a\+'))
|
||||
let format = substitute(format, 'pdf', '', '')
|
||||
if format == 'tex'
|
||||
let format = 'latex'
|
||||
elseif format == 'plaintex'
|
||||
let format = 'plain'
|
||||
endif
|
||||
elseif expand('%') =~ 'tex/context/.*/.*.tex'
|
||||
let format = 'context'
|
||||
else
|
||||
" Default value, may be changed later:
|
||||
let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain'
|
||||
" Save position, go to the top of the file, find first non-comment line.
|
||||
let save_cursor = getpos('.')
|
||||
call cursor(1,1)
|
||||
let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
|
||||
if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
|
||||
let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
|
||||
let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
|
||||
let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
|
||||
\ 'cnp', firstNC + 1000)
|
||||
if kwline == 1 " lpat matched
|
||||
let format = 'latex'
|
||||
elseif kwline == 2 " cpat matched
|
||||
let format = 'context'
|
||||
endif " If neither matched, keep default set above.
|
||||
" let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000)
|
||||
" let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000)
|
||||
" if cline > 0
|
||||
" let format = 'context'
|
||||
" endif
|
||||
" if lline > 0 && (cline == 0 || cline > lline)
|
||||
" let format = 'tex'
|
||||
" endif
|
||||
endif " firstNC
|
||||
call setpos('.', save_cursor)
|
||||
endif " firstline =~ '^%&\s*\a\+'
|
||||
|
||||
" Translation from formats to file types. TODO: add AMSTeX, RevTex, others?
|
||||
if format == 'plain'
|
||||
setf plaintex
|
||||
elseif format == 'context'
|
||||
setf context
|
||||
else " probably LaTeX
|
||||
setf tex
|
||||
endif
|
||||
return
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTxml()
|
||||
let n = 1
|
||||
while n < 100 && n <= line("$")
|
||||
let line = getline(n)
|
||||
" DocBook 4 or DocBook 5.
|
||||
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
|
||||
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"'
|
||||
if is_docbook4 || is_docbook5
|
||||
let b:docbk_type = "xml"
|
||||
if is_docbook5
|
||||
let b:docbk_ver = 5
|
||||
else
|
||||
let b:docbk_ver = 4
|
||||
endif
|
||||
setf docbk
|
||||
return
|
||||
endif
|
||||
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
|
||||
setf xbl
|
||||
return
|
||||
endif
|
||||
let n += 1
|
||||
endwhile
|
||||
setf xml
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#FTy()
|
||||
let n = 1
|
||||
while n < 100 && n <= line("$")
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*%'
|
||||
setf yacc
|
||||
return
|
||||
endif
|
||||
if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include'
|
||||
setf racc
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf yacc
|
||||
endfunc
|
||||
|
||||
func polyglot#ft#Redif()
|
||||
let lnum = 1
|
||||
while lnum <= 5 && lnum < line('$')
|
||||
if getline(lnum) =~ "^\ctemplate-type:"
|
||||
setf redif
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endfunc
|
||||
|
||||
|
||||
" Restore 'cpoptions'
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,14 +1,20 @@
|
||||
" Line continuation is used here, remove 'C' from 'cpoptions'
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
func! polyglot#shebang#Detect()
|
||||
let ft = s:Filetype()
|
||||
if ft != ""
|
||||
let &ft = ft
|
||||
return 1
|
||||
endif
|
||||
|
||||
if &ft == ""
|
||||
runtime! scripts.vim
|
||||
let err = polyglot#shebang#VimDetect()
|
||||
if err == ""
|
||||
return 1
|
||||
endif
|
||||
|
||||
return &ft != ""
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
let s:r_hashbang = '^#!\s*\(\S\+\)\s*\(.*\)\s*'
|
||||
@@ -30,7 +36,13 @@ func! s:Filetype()
|
||||
|
||||
let [_, l:path, l:rest; __] = l:pathrest
|
||||
|
||||
let l:script = split(l:path, "/")[-1]
|
||||
let l:pathparts = split(l:path, "/")
|
||||
|
||||
if len(l:pathparts) == 0
|
||||
return
|
||||
endif
|
||||
|
||||
let l:script = l:pathparts[-1]
|
||||
|
||||
if l:script == "env"
|
||||
let l:argspath = matchlist(l:rest, s:r_env)
|
||||
@@ -52,6 +64,394 @@ func! s:Filetype()
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
func! polyglot#shebang#VimDetect()
|
||||
let line1 = getline(1)
|
||||
|
||||
if line1 =~# "^#!"
|
||||
" A script that starts with "#!".
|
||||
|
||||
" Check for a line like "#!/usr/bin/env {options} bash". Turn it into
|
||||
" "#!/usr/bin/bash" to make matching easier.
|
||||
" Recognize only a few {options} that are commonly used.
|
||||
if line1 =~# '^#!\s*\S*\<env\s'
|
||||
let line1 = substitute(line1, '\S\+=\S\+', '', 'g')
|
||||
let line1 = substitute(line1, '\(-[iS]\|--ignore-environment\|--split-string\)', '', '')
|
||||
let line1 = substitute(line1, '\<env\s\+', '', '')
|
||||
endif
|
||||
|
||||
" Get the program name.
|
||||
" Only accept spaces in PC style path "#!c:/program files/perl [args]".
|
||||
" If the word env is used, use the first word after the space:
|
||||
" "#!/usr/bin/env perl [path/args]"
|
||||
" If there is no path use the first word: "#!perl [path/args]".
|
||||
" Otherwise get the last word after a slash: "#!/usr/bin/perl [path/args]".
|
||||
if line1 =~# '^#!\s*\a:[/\\]'
|
||||
let name = substitute(line1, '^#!.*[/\\]\(\i\+\).*', '\1', '')
|
||||
elseif line1 =~# '^#!.*\<env\>'
|
||||
let name = substitute(line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
|
||||
elseif line1 =~# '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
|
||||
let name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
|
||||
else
|
||||
let name = substitute(line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '')
|
||||
endif
|
||||
|
||||
" tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
|
||||
" third line. Suggested by Steven Atkinson.
|
||||
if getline(3) =~# '^exec wish'
|
||||
let name = 'wish'
|
||||
endif
|
||||
|
||||
" Bourne-like shell script bash bash2 ksh ksh93 sh
|
||||
if name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||
call dist#ft#SetFileTypeSH(line1) " defined in filetype.vim
|
||||
return
|
||||
|
||||
" csh scripts
|
||||
elseif name =~# '^csh\>'
|
||||
if exists("g:filetype_csh")
|
||||
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||
return
|
||||
else
|
||||
call dist#ft#SetFileTypeShell("csh")
|
||||
return
|
||||
endif
|
||||
|
||||
" tcsh scripts
|
||||
elseif name =~# '^tcsh\>'
|
||||
call dist#ft#SetFileTypeShell("tcsh")
|
||||
return
|
||||
|
||||
" Z shell scripts
|
||||
elseif name =~# '^zsh\>'
|
||||
set ft=zsh | return
|
||||
|
||||
" TCL scripts
|
||||
elseif name =~# '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>'
|
||||
set ft=tcl | return
|
||||
|
||||
" Expect scripts
|
||||
elseif name =~# '^expect\>'
|
||||
set ft=expect | return
|
||||
|
||||
" Gnuplot scripts
|
||||
elseif name =~# '^gnuplot\>'
|
||||
set ft=gnuplot | return
|
||||
|
||||
" Makefiles
|
||||
elseif name =~# 'make\>'
|
||||
set ft=make | return
|
||||
|
||||
" Pike
|
||||
elseif name =~# '^pike\%(\>\|[0-9]\)'
|
||||
set ft=pike | return
|
||||
|
||||
" Lua
|
||||
elseif name =~# 'lua'
|
||||
set ft=lua | return
|
||||
|
||||
" Perl 6
|
||||
elseif name =~# 'perl6'
|
||||
set ft=perl6 | return
|
||||
|
||||
" Perl
|
||||
elseif name =~# 'perl'
|
||||
set ft=perl | return
|
||||
|
||||
" PHP
|
||||
elseif name =~# 'php'
|
||||
set ft=php | return
|
||||
|
||||
" Python
|
||||
elseif name =~# 'python'
|
||||
set ft=python | return
|
||||
|
||||
" Groovy
|
||||
elseif name =~# '^groovy\>'
|
||||
set ft=groovy | return
|
||||
|
||||
" Ruby
|
||||
elseif name =~# 'ruby'
|
||||
set ft=ruby | return
|
||||
|
||||
" JavaScript
|
||||
elseif name =~# 'node\(js\)\=\>\|js\>' || name =~# 'rhino\>'
|
||||
set ft=javascript | return
|
||||
|
||||
" BC calculator
|
||||
elseif name =~# '^bc\>'
|
||||
set ft=bc | return
|
||||
|
||||
" sed
|
||||
elseif name =~# 'sed\>'
|
||||
set ft=sed | return
|
||||
|
||||
" OCaml-scripts
|
||||
elseif name =~# 'ocaml'
|
||||
set ft=ocaml | return
|
||||
|
||||
" Awk scripts; also finds "gawk"
|
||||
elseif name =~# 'awk\>'
|
||||
set ft=awk | return
|
||||
|
||||
" Website MetaLanguage
|
||||
elseif name =~# 'wml'
|
||||
set ft=wml | return
|
||||
|
||||
" Scheme scripts
|
||||
elseif name =~# 'scheme'
|
||||
set ft=scheme | return
|
||||
|
||||
" CFEngine scripts
|
||||
elseif name =~# 'cfengine'
|
||||
set ft=cfengine | return
|
||||
|
||||
" Erlang scripts
|
||||
elseif name =~# 'escript'
|
||||
set ft=erlang | return
|
||||
|
||||
" Haskell
|
||||
elseif name =~# 'haskell'
|
||||
set ft=haskell | return
|
||||
|
||||
" Scala
|
||||
elseif name =~# 'scala\>'
|
||||
set ft=scala | return
|
||||
|
||||
" Clojure
|
||||
elseif name =~# 'clojure'
|
||||
set ft=clojure | return
|
||||
|
||||
endif
|
||||
unlet name
|
||||
|
||||
else
|
||||
" File does not start with "#!".
|
||||
|
||||
let line2 = getline(2)
|
||||
let line3 = getline(3)
|
||||
let line4 = getline(4)
|
||||
let line5 = getline(5)
|
||||
|
||||
" Bourne-like shell script sh ksh bash bash2
|
||||
if line1 =~# '^:$'
|
||||
call dist#ft#SetFileTypeSH(line1) " defined in filetype.vim
|
||||
return
|
||||
|
||||
" Z shell scripts
|
||||
elseif line1 =~# '^#compdef\>' || line1 =~# '^#autoload\>' ||
|
||||
\ "\n".line1."\n".line2."\n".line3."\n".line4."\n".line5 =~# '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
|
||||
set ft=zsh | return
|
||||
|
||||
" ELM Mail files
|
||||
elseif line1 =~# '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
|
||||
set ft=mail | return
|
||||
|
||||
" Mason
|
||||
elseif line1 =~# '^<[%&].*>'
|
||||
set ft=mason | return
|
||||
|
||||
" Vim scripts (must have '" vim' as the first line to trigger this)
|
||||
elseif line1 =~# '^" *[vV]im$'
|
||||
set ft=vim | return
|
||||
|
||||
" libcxx and libstdc++ standard library headers like "iostream" do not have
|
||||
" an extension, recognize the Emacs file mode.
|
||||
elseif line1 =~? '-\*-.*C++.*-\*-'
|
||||
set ft=cpp | return
|
||||
|
||||
" MOO
|
||||
elseif line1 =~# '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
|
||||
set ft=moo | return
|
||||
|
||||
" Diff file:
|
||||
" - "diff" in first line (context diff)
|
||||
" - "Only in " in first line
|
||||
" - "--- " in first line and "+++ " in second line (unified diff).
|
||||
" - "*** " in first line and "--- " in second line (context diff).
|
||||
" - "# It was generated by makepatch " in the second line (makepatch diff).
|
||||
" - "Index: <filename>" in the first line (CVS file)
|
||||
" - "=== ", line of "=", "---", "+++ " (SVK diff)
|
||||
" - "=== ", "--- ", "+++ " (bzr diff, common case)
|
||||
" - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
|
||||
" - "# HG changeset patch" in first line (Mercurial export format)
|
||||
elseif line1 =~# '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
|
||||
\ || (line1 =~# '^--- ' && line2 =~# '^+++ ')
|
||||
\ || (line1 =~# '^\* looking for ' && line2 =~# '^\* comparing to ')
|
||||
\ || (line1 =~# '^\*\*\* ' && line2 =~# '^--- ')
|
||||
\ || (line1 =~# '^=== ' && ((line2 =~# '^=\{66\}' && line3 =~# '^--- ' && line4 =~# '^+++') || (line2 =~# '^--- ' && line3 =~# '^+++ ')))
|
||||
\ || (line1 =~# '^=== \(removed\|added\|renamed\|modified\)')
|
||||
set ft=diff | return
|
||||
|
||||
" PostScript Files (must have %!PS as the first line, like a2ps output)
|
||||
elseif line1 =~# '^%![ \t]*PS'
|
||||
set ft=postscr | return
|
||||
|
||||
" M4 script Guess there is a line that starts with "dnl".
|
||||
elseif line1 =~# '^\s*dnl\>'
|
||||
\ || line2 =~# '^\s*dnl\>'
|
||||
\ || line3 =~# '^\s*dnl\>'
|
||||
\ || line4 =~# '^\s*dnl\>'
|
||||
\ || line5 =~# '^\s*dnl\>'
|
||||
set ft=m4 | return
|
||||
|
||||
" AmigaDos scripts
|
||||
elseif $TERM == "amiga"
|
||||
\ && (line1 =~# "^;" || line1 =~? '^\.bra')
|
||||
set ft=amiga | return
|
||||
|
||||
" SiCAD scripts (must have procn or procd as the first line to trigger this)
|
||||
elseif line1 =~? '^ *proc[nd] *$'
|
||||
set ft=sicad | return
|
||||
|
||||
" Purify log files start with "**** Purify"
|
||||
elseif line1 =~# '^\*\*\*\* Purify'
|
||||
set ft=purifylog | return
|
||||
|
||||
" XML
|
||||
elseif line1 =~# '<?\s*xml.*?>'
|
||||
set ft=xml | return
|
||||
|
||||
" XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN")
|
||||
elseif line1 =~# '\<DTD\s\+XHTML\s'
|
||||
set ft=xhtml | return
|
||||
|
||||
" HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
|
||||
" Avoid "doctype html", used by slim.
|
||||
elseif line1 =~? '<!DOCTYPE\s\+html\>'
|
||||
set ft=html | return
|
||||
|
||||
" PDF
|
||||
elseif line1 =~# '^%PDF-'
|
||||
set ft=pdf | return
|
||||
|
||||
" XXD output
|
||||
elseif line1 =~# '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} '
|
||||
set ft=xxd | return
|
||||
|
||||
" RCS/CVS log output
|
||||
elseif line1 =~# '^RCS file:' || line2 =~# '^RCS file:'
|
||||
set ft=rcslog | return
|
||||
|
||||
" CVS commit
|
||||
elseif line2 =~# '^CV' || getline("$") =~# '^CV '
|
||||
set ft=cvs | return
|
||||
|
||||
" Prescribe
|
||||
elseif line1 =~# '^!R!'
|
||||
set ft=prescribe | return
|
||||
|
||||
" Send-pr
|
||||
elseif line1 =~# '^SEND-PR:'
|
||||
set ft=sendpr | return
|
||||
|
||||
" SNNS files
|
||||
elseif line1 =~# '^SNNS network definition file'
|
||||
set ft=snnsnet | return
|
||||
elseif line1 =~# '^SNNS pattern definition file'
|
||||
set ft=snnspat | return
|
||||
elseif line1 =~# '^SNNS result file'
|
||||
set ft=snnsres | return
|
||||
|
||||
" Virata
|
||||
elseif line1 =~# '^%.\{-}[Vv]irata'
|
||||
\ || line2 =~# '^%.\{-}[Vv]irata'
|
||||
\ || line3 =~# '^%.\{-}[Vv]irata'
|
||||
\ || line4 =~# '^%.\{-}[Vv]irata'
|
||||
\ || line5 =~# '^%.\{-}[Vv]irata'
|
||||
set ft=virata | return
|
||||
|
||||
" Strace
|
||||
elseif line1 =~# '[0-9:.]* *execve(' || line1 =~# '^__libc_start_main'
|
||||
set ft=strace | return
|
||||
|
||||
" VSE JCL
|
||||
elseif line1 =~# '^\* $$ JOB\>' || line1 =~# '^// *JOB\>'
|
||||
set ft=vsejcl | return
|
||||
|
||||
" TAK and SINDA
|
||||
elseif line4 =~# 'K & K Associates' || line2 =~# 'TAK 2000'
|
||||
set ft=takout | return
|
||||
elseif line3 =~# 'S Y S T E M S I M P R O V E D '
|
||||
set ft=sindaout | return
|
||||
elseif getline(6) =~# 'Run Date: '
|
||||
set ft=takcmp | return
|
||||
elseif getline(9) =~# 'Node File 1'
|
||||
set ft=sindacmp | return
|
||||
|
||||
" DNS zone files
|
||||
elseif line1.line2.line3.line4 =~# '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||
set ft=bindzone | return
|
||||
|
||||
" BAAN
|
||||
elseif line1 =~# '|\*\{1,80}' && line2 =~# 'VRC '
|
||||
\ || line2 =~# '|\*\{1,80}' && line3 =~# 'VRC '
|
||||
set ft=baan | return
|
||||
|
||||
" Valgrind
|
||||
elseif line1 =~# '^==\d\+== valgrind' || line3 =~# '^==\d\+== Using valgrind'
|
||||
set ft=valgrind | return
|
||||
|
||||
" Go docs
|
||||
elseif line1 =~# '^PACKAGE DOCUMENTATION$'
|
||||
set ft=godoc | return
|
||||
|
||||
" Renderman Interface Bytestream
|
||||
elseif line1 =~# '^##RenderMan'
|
||||
set ft=rib | return
|
||||
|
||||
" Scheme scripts
|
||||
elseif line1 =~# 'exec\s\+\S*scheme' || line2 =~# 'exec\s\+\S*scheme'
|
||||
set ft=scheme | return
|
||||
|
||||
" Git output
|
||||
elseif line1 =~# '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$'
|
||||
set ft=git | return
|
||||
|
||||
" Gprof (gnu profiler)
|
||||
elseif line1 == 'Flat profile:'
|
||||
\ && line2 == ''
|
||||
\ && line3 =~# '^Each sample counts as .* seconds.$'
|
||||
set ft=gprof | return
|
||||
|
||||
" Erlang terms
|
||||
" (See also: http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html#Choosing-Modes)
|
||||
elseif line1 =~? '-\*-.*erlang.*-\*-'
|
||||
set ft=erlang | return
|
||||
|
||||
" YAML
|
||||
elseif line1 =~# '^%YAML'
|
||||
set ft=yaml | return
|
||||
|
||||
" CVS diff
|
||||
else
|
||||
let lnum = 1
|
||||
while getline(lnum) =~# "^? " && lnum < line("$")
|
||||
let lnum += 1
|
||||
endwhile
|
||||
if getline(lnum) =~# '^Index:\s\+\f\+$'
|
||||
set ft=diff | return
|
||||
|
||||
" locale input file Formal Definitions of Cultural Conventions
|
||||
" filename must be like en_US, fr_FR@euro or en_US.UTF-8
|
||||
elseif expand("%") =~# '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
|
||||
let lnum = 1
|
||||
while lnum < 100 && lnum < line("$")
|
||||
if getline(lnum) =~# '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
|
||||
setf fdcc | return
|
||||
break
|
||||
endif
|
||||
let lnum += 1
|
||||
endwhile
|
||||
endif
|
||||
unlet lnum
|
||||
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
return 1
|
||||
endfunc
|
||||
|
||||
" DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE
|
||||
|
||||
let s:interpreters = {
|
||||
@@ -65,7 +465,9 @@ let s:interpreters = {
|
||||
\ 'fish': 'fish',
|
||||
\ 'gnuplot': 'gnuplot',
|
||||
\ 'groovy': 'groovy',
|
||||
\ 'runghc': 'haskell',
|
||||
\ 'runhaskell': 'haskell',
|
||||
\ 'runhugs': 'haskell',
|
||||
\ 'chakra': 'javascript',
|
||||
\ 'd8': 'javascript',
|
||||
\ 'gjs': 'javascript',
|
||||
@@ -111,7 +513,6 @@ let s:interpreters = {
|
||||
\ 'pdksh': 'sh',
|
||||
\ 'rc': 'sh',
|
||||
\ 'sh': 'sh',
|
||||
\ 'zsh': 'sh',
|
||||
\ 'boolector': 'smt2',
|
||||
\ 'cvc4': 'smt2',
|
||||
\ 'mathsat5': 'smt2',
|
||||
@@ -124,4 +525,9 @@ let s:interpreters = {
|
||||
\ 'z3': 'smt2',
|
||||
\ 'deno': 'typescript',
|
||||
\ 'ts-node': 'typescript',
|
||||
\ 'zsh': 'zsh',
|
||||
\ }
|
||||
" DO NOT EDIT CODE ABOVE, IT IS GENERATED WITH MAKEFILE
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
" Restore 'cpoptions'
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE
|
||||
|
||||
let s:globs = {
|
||||
\ '8th': '*.8th',
|
||||
\ 'Dockerfile': '*.dockerfile,*.dock,*.Dockerfile,Dockerfile,dockerfile,Dockerfile*',
|
||||
\ 'Jenkinsfile': '*.jenkinsfile,*.Jenkinsfile,Jenkinsfile,Jenkinsfile*',
|
||||
\ 'a2ps': 'a2psrc,.a2psrc',
|
||||
\ 'a65': '*.a65',
|
||||
@@ -20,6 +23,7 @@ let s:globs = {
|
||||
\ 'ampl': '*.run',
|
||||
\ 'ant': 'build.xml',
|
||||
\ 'apache': '.htaccess,access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf*',
|
||||
\ 'apachestyle': 'proftpd.conf*',
|
||||
\ 'apiblueprint': '*.apib',
|
||||
\ 'applescript': '*.applescript,*.scpt',
|
||||
\ 'aptconf': 'apt.conf',
|
||||
@@ -31,209 +35,608 @@ let s:globs = {
|
||||
\ 'asn': '*.asn,*.asn1',
|
||||
\ 'aspperl': '*.asp',
|
||||
\ 'aspvbs': '*.asa,*.asp',
|
||||
\ 'asterisk': '',
|
||||
\ 'asteriskvm': '',
|
||||
\ 'atlas': '*.atl,*.as',
|
||||
\ 'autohotkey': '*.ahk,*.ahkl',
|
||||
\ 'autoit': '*.au3',
|
||||
\ 'automake': '[Mm]akefile.am,GNUmakefile.am',
|
||||
\ 'automake': '[mM]akefile.am,GNUmakefile.am',
|
||||
\ 'ave': '*.ave',
|
||||
\ 'awk': '*.awk,*.gawk',
|
||||
\ 'b': '*.mch,*.ref,*.imp',
|
||||
\ 'basic': '*.basic',
|
||||
\ 'bc': '*.bc',
|
||||
\ 'bdf': '*.bdf',
|
||||
\ 'bib': '*.bib',
|
||||
\ 'bindzone': 'named.root',
|
||||
\ 'blade': '*.blade,*.blade.php',
|
||||
\ 'blank': '*.bl',
|
||||
\ 'brewfile': 'Brewfile',
|
||||
\ 'bsdl': '*.bsdl,*bsd',
|
||||
\ 'bst': '*.bst',
|
||||
\ 'bzl': '*.bzl,*.bazel,*.BUILD,BUCK,BUILD,BUILD.bazel,Tiltfile,WORKSPACE',
|
||||
\ 'bzr': 'bzr_log.*',
|
||||
\ 'c': '*.c,*.cats,*.h,*.idc,*.qc',
|
||||
\ 'cabal': '*.cabal',
|
||||
\ 'caddyfile': 'Caddyfile',
|
||||
\ 'calendar': 'calendar',
|
||||
\ 'carp': '*.carp',
|
||||
\ 'catalog': 'catalog,sgml.catalog*',
|
||||
\ 'cdl': '*.cdl',
|
||||
\ 'cdrdaoconf': '.cdrdao',
|
||||
\ 'cdrtoc': '*.toc',
|
||||
\ 'cf': '*.cfm,*.cfi,*.cfc',
|
||||
\ 'cfengine': 'cfengine.conf',
|
||||
\ 'cfg': '*.cfg,*.hgrc,*hgrc',
|
||||
\ 'ch': '*.chf',
|
||||
\ 'chaiscript': '*.chai',
|
||||
\ 'chaskell': '*.chs',
|
||||
\ 'chill': '*..ch',
|
||||
\ 'chordpro': '*.chopro,*.crd,*.cho,*.crdpro,*.chordpro',
|
||||
\ 'cl': '*.eni',
|
||||
\ 'clean': '*.dcl,*.icl',
|
||||
\ 'clojure': '*.clj,*.boot,*.cl2,*.cljc,*.cljs,*.cljs.hl,*.cljscm,*.cljx,*.hic,*.edn,riemann.config,build.boot,profile.boot',
|
||||
\ 'cmake': '*.cmake,*.cmake.in,CMakeLists.txt',
|
||||
\ 'cmod': '*.cmod',
|
||||
\ 'cmusrc': '',
|
||||
\ 'cobol': '*.cbl,*.cob,*.lib',
|
||||
\ 'coco': '*.atg',
|
||||
\ 'coffee': '*.coffee,*._coffee,*.cake,*.cjsx,*.iced,*.coffeekup,Cakefile',
|
||||
\ 'conaryrecipe': '*.recipe',
|
||||
\ 'conf': '*.conf,auto.master,config',
|
||||
\ 'config': 'configure.in,configure.ac,Pipfile',
|
||||
\ 'context': '*.mkii,*.mkiv,*.mkvi',
|
||||
\ 'cpp': '*.cpp,*.c++,*.cc,*.cp,*.cxx,*.h,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.tcc,*.tpp,*.moc,*.tlh',
|
||||
\ 'cql': '*.cql',
|
||||
\ 'crm': '*.crm',
|
||||
\ 'crontab': 'crontab,crontab.*',
|
||||
\ 'cryptol': '*.cry,*.cyl,*.lcry,*.lcyl',
|
||||
\ 'crystal': '*.cr,Projectfile',
|
||||
\ 'cs': '*.cs',
|
||||
\ 'csc': '*.csc',
|
||||
\ 'csdl': '*.csdl',
|
||||
\ 'csp': '*.csp,*.fdr',
|
||||
\ 'css': '*.css',
|
||||
\ 'csv': '*.csv,*.tsv,*.tab',
|
||||
\ 'cterm': '*.con',
|
||||
\ 'cucumber': '*.feature,*.story',
|
||||
\ 'cuda': '*.cu,*.cuh',
|
||||
\ 'cuesheet': '*.cue',
|
||||
\ 'cupl': '*.pld',
|
||||
\ 'cuplsim': '*.si',
|
||||
\ 'cvs': 'cvs\d\+',
|
||||
\ 'cvsrc': '.cvsrc',
|
||||
\ 'cynpp': '*.cyn',
|
||||
\ 'd': '*.d,*.di',
|
||||
\ 'dart': '*.dart,*.drt',
|
||||
\ 'datascript': '*.ds',
|
||||
\ 'dcd': '*.dcd',
|
||||
\ 'dcov': '*.lst',
|
||||
\ 'dd': '*.dd',
|
||||
\ 'ddoc': '*.ddoc',
|
||||
\ 'debchangelog': 'changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch',
|
||||
\ 'debcontrol': '',
|
||||
\ 'debcopyright': '',
|
||||
\ 'debsources': '',
|
||||
\ 'def': '*.def',
|
||||
\ 'denyhosts': 'denyhosts.conf',
|
||||
\ 'desc': '*.desc',
|
||||
\ 'desktop': '*.desktop,*.directory',
|
||||
\ 'dhall': '*.dhall',
|
||||
\ 'dictconf': 'dict.conf,.dictrc',
|
||||
\ 'dictdconf': 'dictd.conf',
|
||||
\ 'diff': '*.diff,*.rej',
|
||||
\ 'dircolors': '.dir_colors,.dircolors',
|
||||
\ 'dnsmasq': '',
|
||||
\ 'dockerfile': '*.Dockerfile,*.dock,Containerfile,Dockerfile,dockerfile,Dockerfile*',
|
||||
\ 'dosbatch': '*.bat,*.sys',
|
||||
\ 'dosini': '*.wrap,*.ini,*.dof,*.lektorproject,*.prefs,*.pro,*.properties,buildozer.spec,.editorconfig,.npmrc,php.ini-*',
|
||||
\ 'dot': '*.dot,*.gv',
|
||||
\ 'dracula': '*.drac,*.drc,*lvs,*lpe,drac.*',
|
||||
\ 'dsdl': '*.sdl',
|
||||
\ 'dsl': '*.dsl',
|
||||
\ 'dtd': '*.dtd',
|
||||
\ 'dts': '*.dts,*.dtsi',
|
||||
\ 'dune': 'jbuild,dune,dune-project,dune-workspace',
|
||||
\ 'dylan': '*.dylan',
|
||||
\ 'dylanintr': '*.intr',
|
||||
\ 'dylanlid': '*.lid',
|
||||
\ 'ecd': '*.ecd',
|
||||
\ 'ecrystal': '*.ecr',
|
||||
\ 'edif': '*.ed\(f\|if\|o\)',
|
||||
\ 'eelixir': '*.eex,*.leex',
|
||||
\ 'elf': '*.am',
|
||||
\ 'elinks': 'elinks.conf',
|
||||
\ 'elixir': '*.ex,*.exs,mix.lock',
|
||||
\ 'elm': '*.elm',
|
||||
\ 'elmfilt': 'filter-rules',
|
||||
\ 'embeddedpuppet': '*.epp',
|
||||
\ 'ember-script': '*.em,*.emberscript',
|
||||
\ 'emblem': '*.emblem,*.em',
|
||||
\ 'erlang': '*.erl,*.app.src,*.es,*.escript,*.hrl,*.xrl,*.yrl,*.app,*.yaws,Emakefile,rebar.config,rebar.config.lock,rebar.lock',
|
||||
\ 'eruby': '*.erb,*.erb.deface,*.rhtml',
|
||||
\ 'esmtprc': '*esmtprc',
|
||||
\ 'esqlc': '*.ec,*.EC',
|
||||
\ 'esterel': '*.strl',
|
||||
\ 'eterm': '',
|
||||
\ 'exim': 'exim.conf',
|
||||
\ 'expect': '*.exp',
|
||||
\ 'exports': 'exports',
|
||||
\ 'factor': '*.factor',
|
||||
\ 'falcon': '*.fal',
|
||||
\ 'fan': '*.fan,*.fwt',
|
||||
\ 'fbs': '*.fbs',
|
||||
\ 'fennel': '*.fnl',
|
||||
\ 'ferm': '*.ferm,ferm.conf',
|
||||
\ 'fetchmail': '.fetchmailrc',
|
||||
\ 'fgl': '*.4gl,*.4gh,*.m4gl',
|
||||
\ 'fish': '*.fish',
|
||||
\ 'flow': '*.flow',
|
||||
\ 'focexec': '*.fex,*.focexec',
|
||||
\ 'forth': '*.fs,*.ft,*.fth',
|
||||
\ 'fortran': '*.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95,*.f03,*.f08',
|
||||
\ 'framescript': '*.fsl',
|
||||
\ 'freebasic': '*.fb,*.bi',
|
||||
\ 'fsharp': '*.fs,*.fsi,*.fsx',
|
||||
\ 'fstab': 'fstab,mtab',
|
||||
\ 'fvwm': '',
|
||||
\ 'gdb': '.gdbinit',
|
||||
\ 'gdmo': '*.mo,*.gdmo',
|
||||
\ 'gdscript3': '*.gd',
|
||||
\ 'gedcom': '*.ged,lltxxxxx.txt',
|
||||
\ 'gitcommit': 'COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG',
|
||||
\ 'gitconfig': '*.gitconfig,.gitconfig,.gitmodules',
|
||||
\ 'gitignore': '.gitignore',
|
||||
\ 'gitolite': 'gitolite.conf',
|
||||
\ 'gitrebase': 'git-rebase-todo',
|
||||
\ 'gitsendemail': '.gitsendemail.*',
|
||||
\ 'gkrellmrc': 'gkrellmrc,gkrellmrc_?',
|
||||
\ 'glsl': '*.glsl,*.fp,*.frag,*.frg,*.fs,*.fsh,*.fshader,*.geo,*.geom,*.glslf,*.glslv,*.gs,*.gshader,*.shader,*.tesc,*.tese,*.vert,*.vrx,*.vsh,*.vshader,*.comp',
|
||||
\ 'gmpl': '*.mod',
|
||||
\ 'gnash': 'gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc',
|
||||
\ 'gnuplot': '*.gp,*.gnu,*.gnuplot,*.p,*.plot,*.plt,*.gpi',
|
||||
\ 'go': '*.go',
|
||||
\ 'gohtmltmpl': '*.tmpl',
|
||||
\ 'gomod': 'go.mod',
|
||||
\ 'gp': '*.gp,.gprc',
|
||||
\ 'gpg': '',
|
||||
\ 'grads': '*.gs',
|
||||
\ 'graphql': '*.graphql,*.gql,*.graphqls',
|
||||
\ 'gretl': '*.gretl',
|
||||
\ 'groovy': '*.groovy,*.grt,*.gtpl,*.gvy,*.gradle,Jenkinsfile',
|
||||
\ 'group': '',
|
||||
\ 'grub': '',
|
||||
\ 'gsp': '*.gsp',
|
||||
\ 'gtkrc': '.gtkrc,gtkrc,.gtkrc*,gtkrc*',
|
||||
\ 'haml': '*.haml,*.haml.deface,*.hamlc,*.hamlbars',
|
||||
\ 'haproxy': '*.cfg,haproxy.cfg,haproxy*.conf*',
|
||||
\ 'hamster': '*.hsc,*.hsm',
|
||||
\ 'haproxy': 'haproxy*.conf*,haproxy*.cfg*',
|
||||
\ 'haskell': '*.hs,*.hs-boot,*.hsc,*.bpk,*.hsig',
|
||||
\ 'haste': '*.ht',
|
||||
\ 'hastepreproc': '*.htpp',
|
||||
\ 'haxe': '*.hx,*.hxsl',
|
||||
\ 'hb': '*.hb',
|
||||
\ 'hcl': '*.hcl,*.nomad,*.workflow,Appfile',
|
||||
\ 'helm': '',
|
||||
\ 'help': '',
|
||||
\ 'hercules': '*.vc,*.ev,*.sum,*.errsum',
|
||||
\ 'hex': '*.hex,*.h32',
|
||||
\ 'hgcommit': 'hg-editor-*.txt',
|
||||
\ 'hive': '*.q,*.hql,*.ql',
|
||||
\ 'hog': '*.hog,snort.conf,vision.conf',
|
||||
\ 'hollywood': '*.hws',
|
||||
\ 'hostconf': '',
|
||||
\ 'hostsaccess': '',
|
||||
\ 'html': '*.html,*.htm,*.html.hl,*.inc,*.st,*.xht,*.xhtml',
|
||||
\ 'html.handlebars': '*.handlebars,*.hbs,*.hdbs,*.hb',
|
||||
\ 'html.mustache': '*.mustache,*.hogan,*.hulk,*.hjs',
|
||||
\ 'html.twig': '*.twig',
|
||||
\ 'htmldjango': '*.jinja,*.j2,*.jinja2,*.njk',
|
||||
\ 'htmlm4': '*.html.m4',
|
||||
\ 'httest': '*.htt,*.htb',
|
||||
\ 'i3config': '*.i3.config,*.i3config,i3.config,i3config,.i3.config,.i3config',
|
||||
\ 'ibasic': '*.iba,*.ibi',
|
||||
\ 'icalendar': '*.ics',
|
||||
\ 'icemenu': '',
|
||||
\ 'icon': '*.icn',
|
||||
\ 'idris': '*.idr,*.lidr,idris-response',
|
||||
\ 'idris2': '*.idr,*.ipkg,idris-response',
|
||||
\ 'indent': '.indent.pro,indentrc',
|
||||
\ 'inform': '*.inf,*.INF',
|
||||
\ 'initng': '*.ii',
|
||||
\ 'inittab': 'inittab',
|
||||
\ 'ion': '*.ion',
|
||||
\ 'ipfilter': 'ipf.conf,ipf6.conf,ipf.rules',
|
||||
\ 'iss': '*.iss',
|
||||
\ 'ist': '*.ist,*.mst',
|
||||
\ 'j': '*.ijs',
|
||||
\ 'jal': '*.jal,*.JAL',
|
||||
\ 'jam': '*.jpl,*.jpr,Prl*.*,JAM*.*',
|
||||
\ 'java': '*.java,*.jav',
|
||||
\ 'javacc': '*.jj,*.jjt',
|
||||
\ 'javascript': '*.js,*._js,*.bones,*.cjs,*.es,*.es6,*.frag,*.gs,*.jake,*.jsb,*.jscad,*.jsfl,*.jsm,*.jss,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,*.javascript,Jakefile',
|
||||
\ 'javascriptreact': '*.jsx',
|
||||
\ 'jess': '*.clp',
|
||||
\ 'jgraph': '*.jgr',
|
||||
\ 'jovial': '*.jov,*.j73,*.jovial',
|
||||
\ 'jproperties': '*.properties,*.properties_??,*.properties_??_??,*.properties_??_??_*',
|
||||
\ 'jq': '*.jq,.jqrc,.jqrc*',
|
||||
\ 'json': '*.json,*.avsc,*.geojson,*.gltf,*.har,*.ice,*.JSON-tmLanguage,*.jsonl,*.mcmeta,*.tfstate,*.tfstate.backup,*.topojson,*.webapp,*.webmanifest,*.yy,*.yyp,*.jsonp,*.template,.arcconfig,.htmlhintrc,.tern-config,.tern-project,.watchmanconfig,composer.lock,mcmod.info,Pipfile.lock',
|
||||
\ 'json5': '*.json5',
|
||||
\ 'jsonnet': '*.jsonnet,*.libsonnet',
|
||||
\ 'jsp': '*.jsp',
|
||||
\ 'jst': '*.ejs,*.ect,*.jst',
|
||||
\ 'julia': '*.jl',
|
||||
\ 'kconfig': 'Kconfig,Kconfig.debug,Kconfig.*',
|
||||
\ 'kivy': '*.kv',
|
||||
\ 'kix': '*.kix',
|
||||
\ 'kotlin': '*.kt,*.ktm,*.kts',
|
||||
\ 'kscript': '*.ks',
|
||||
\ 'kwt': '*.k',
|
||||
\ 'lace': '*.ace,*.ACE',
|
||||
\ 'latte': '*.latte,*.lte',
|
||||
\ 'ld': '*.ld',
|
||||
\ 'ldif': '*.ldif',
|
||||
\ 'ledger': '*.ldg,*.ledger,*.journal',
|
||||
\ 'less': '*.less',
|
||||
\ 'lex': '*.lex,*.l,*.lxx,*.l++',
|
||||
\ 'lftp': 'lftp.conf,.lftprc',
|
||||
\ 'lhaskell': '*.lhs',
|
||||
\ 'libao': '',
|
||||
\ 'lidris2': '*.lidr',
|
||||
\ 'lifelines': '*.ll',
|
||||
\ 'lilo': 'lilo.conf,lilo.conf*',
|
||||
\ 'lilypond': '*.ly,*.ily',
|
||||
\ 'limits': '',
|
||||
\ 'liquid': '*.liquid',
|
||||
\ 'lisp': '*.lsp,*.lisp,*.el,*.cl,.emacs,.sawfishrc,sbclrc,.sbclrc',
|
||||
\ 'litcoffee': '*.litcoffee,*.coffee.md',
|
||||
\ 'lite': '*.lite,*.lt',
|
||||
\ 'litestep': '',
|
||||
\ 'livescript': '*.ls,*._ls,Slakefile',
|
||||
\ 'llvm': '*.ll',
|
||||
\ 'log': '*.log,*.LOG,*_log,*_LOG',
|
||||
\ 'logcheck': '',
|
||||
\ 'loginaccess': '',
|
||||
\ 'logindefs': '',
|
||||
\ 'logtalk': '*.lgt',
|
||||
\ 'lotos': '*.lot,*.lotos',
|
||||
\ 'lout': '*.lou,*.lout',
|
||||
\ 'lpc': '*.lpc,*.ulpc',
|
||||
\ 'lprolog': '*.sig',
|
||||
\ 'lsl': '*.lsl',
|
||||
\ 'lss': '*.lss',
|
||||
\ 'lua': '*.lua,*.fcgi,*.nse,*.p8,*.pd_lua,*.rbxs,*.rockspec,*.wlua,.luacheckrc',
|
||||
\ 'lynx': 'lynx.cfg',
|
||||
\ 'm4': '*.m4,*.at',
|
||||
\ 'mail': '*.eml,snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,{neo,}mutt[[:alnum:]._-]\\\{6\},reportbug-*',
|
||||
\ 'mailaliases': '',
|
||||
\ 'mailcap': '.mailcap,mailcap',
|
||||
\ 'make': '*.mak,*.dsp,*.mk,*[mM]akefile',
|
||||
\ 'mako': '*.mako,*.mao',
|
||||
\ 'mallard': '*.page',
|
||||
\ 'man': '*.1,*.1in,*.1m,*.1x,*.2,*.3,*.3in,*.3m,*.3p,*.3pm,*.3qt,*.3x,*.4,*.5,*.6,*.7,*.8,*.9,*.man,*.mdoc',
|
||||
\ 'manconf': 'man.config',
|
||||
\ 'map': '*.map',
|
||||
\ 'maple': '*.mv,*.mpl,*.mws',
|
||||
\ 'markdown': '*.md,*.markdown,*.mdown,*.mdwn,*.mkd,*.mkdn,*.mkdown,*.ronn,*.workbook,contents.lr',
|
||||
\ 'markdown.mdx': '*.mdx',
|
||||
\ 'mason': '*.mason,*.mhtml,*.comp',
|
||||
\ 'master': '*.mas,*.master',
|
||||
\ 'mel': '*.mel',
|
||||
\ 'meson': 'meson.build,meson_options.txt',
|
||||
\ 'messages': '',
|
||||
\ 'mf': '*.mf',
|
||||
\ 'mgl': '*.mgl',
|
||||
\ 'mgp': '*.mgp',
|
||||
\ 'mib': '*.mib,*.my',
|
||||
\ 'mix': '*.mix,*.mixal',
|
||||
\ 'mma': '*.mathematica,*.cdf,*.m,*.ma,*.mt,*.nb,*.nbp,*.wl,*.wlt,*.wls,*.mma',
|
||||
\ 'mmp': '*.mmp',
|
||||
\ 'modconf': '',
|
||||
\ 'modula2': '*.m2,*.DEF,*.MOD,*.mi',
|
||||
\ 'modula3': '*.[mi][3g]',
|
||||
\ 'monk': '*.isc,*.monk,*.ssc,*.tsc',
|
||||
\ 'moo': '*.moo',
|
||||
\ 'moon': '*.moon',
|
||||
\ 'mp': '*.mp',
|
||||
\ 'mplayerconf': 'mplayer.conf',
|
||||
\ 'mrxvtrc': 'mrxvtrc,.mrxvtrc',
|
||||
\ 'msidl': '*.odl,*.mof',
|
||||
\ 'msql': '*.msql',
|
||||
\ 'mupad': '*.mu',
|
||||
\ 'murphi': '*.m',
|
||||
\ 'mush': '*.mush',
|
||||
\ 'muttrc': '.mutt{ng,}rc*,mutt{ng,}rc*,Mutt{ng,}rc*,Mutt{ng,}rc',
|
||||
\ 'mysql': '*.mysql',
|
||||
\ 'n1ql': '*.n1ql,*.nql',
|
||||
\ 'named': 'named*.conf,rndc*.conf,rndc*.key',
|
||||
\ 'nanorc': '*.nanorc',
|
||||
\ 'natural': '*.NS[ACGLMNPS]',
|
||||
\ 'ncf': '*.ncf',
|
||||
\ 'neomuttrc': 'Neomuttrc,.neomuttrc*,neomuttrc*,Neomuttrc*',
|
||||
\ 'netrc': '.netrc',
|
||||
\ 'nginx': '*.nginx,*.nginxconf,*.vhost,nginx.conf,nginx*.conf,*nginx.conf',
|
||||
\ 'nim': '*.nim,*.nim.cfg,*.nimble,*.nimrod,*.nims,nim.cfg',
|
||||
\ 'ninja': '*.ninja',
|
||||
\ 'nix': '*.nix',
|
||||
\ 'nqc': '*.nqc',
|
||||
\ 'nroff': '*.tr,*.nr,*.roff,*.tmac,*.mom,tmac.*',
|
||||
\ 'nsis': '*.nsi,*.nsh',
|
||||
\ 'oasis': '_oasis',
|
||||
\ 'obj': '*.obj',
|
||||
\ 'objc': '*.m,*.h',
|
||||
\ 'ocaml': '*.ml,*.eliom,*.eliomi,*.ml4,*.mli,*.mll,*.mly,*.mlt,*.mlp,*.mlip,*.mli.cppo,*.ml.cppo,.ocamlinit',
|
||||
\ 'ocamlbuild_tags': '_tags',
|
||||
\ 'occam': '*.occ',
|
||||
\ 'ocpbuild': '*.ocp',
|
||||
\ 'ocpbuildroot': '*.root',
|
||||
\ 'octave': '*.oct,*.m',
|
||||
\ 'odin': '*.odin',
|
||||
\ 'omake': '*.om,OMakefile,OMakeroot,OMakeroot.in',
|
||||
\ 'omnimark': '*.xom,*.xin',
|
||||
\ 'opam': '*.opam,*.opam.template,opam',
|
||||
\ 'opencl': '*.cl,*.opencl',
|
||||
\ 'openroad': '*.or',
|
||||
\ 'opl': '*.[Oo][Pp][Ll]',
|
||||
\ 'ora': '*.ora',
|
||||
\ 'pamconf': '',
|
||||
\ 'pamenv': 'pam_env.conf,.pam_environment',
|
||||
\ 'papp': '*.papp,*.pxml,*.pxsl',
|
||||
\ 'pascal': '*.pas,*.pp,*.dpr,*.lpr',
|
||||
\ 'passwd': '',
|
||||
\ 'pccts': '*.g',
|
||||
\ 'pcmk': '*.pcmk',
|
||||
\ 'pdf': '*.pdf',
|
||||
\ 'perl': '*.pl,*.al,*.cgi,*.fcgi,*.perl,*.ph,*.plx,*.pm,*.psgi,*.t,Makefile.PL,Rexfile,ack,cpanfile,example.gitolite.rc,.gitolite.rc',
|
||||
\ 'php': '*.php,*.aw,*.ctp,*.fcgi,*.inc,*.php3,*.php4,*.php5,*.phps,*.phpt,*.phtml,.php,.php_cs,.php_cs.dist,Phakefile',
|
||||
\ 'pf': 'pf.conf',
|
||||
\ 'pfmain': 'main.cf',
|
||||
\ 'php': '*.php,*.aw,*.ctp,*.fcgi,*.inc,*.php3,*.php4,*.php5,*.phps,*.phpt,*.phtml,*.php9,.php,.php_cs,.php_cs.dist,Phakefile',
|
||||
\ 'pike': '*.pike,*.pmod',
|
||||
\ 'pilrc': '*.rcp',
|
||||
\ 'pine': '.pinerc,pinerc,.pinercex,pinercex',
|
||||
\ 'pinfo': '',
|
||||
\ 'plantuml': '*.puml,*.iuml,*.plantuml,*.uml,*.pu',
|
||||
\ 'pli': '*.pli,*.pl1',
|
||||
\ 'plm': '*.plm,*.p36,*.pac',
|
||||
\ 'plp': '*.plp',
|
||||
\ 'plsql': '*.pls,*.plsql',
|
||||
\ 'po': '*.po,*.pot',
|
||||
\ 'pod': '*.pod',
|
||||
\ 'pony': '*.pony',
|
||||
\ 'postscr': '*.ps,*.pfa,*.afm,*.eps,*.epsf,*.epsi,*.ai',
|
||||
\ 'pov': '*.pov',
|
||||
\ 'povini': '.povrayrc',
|
||||
\ 'ppd': '*.ppd',
|
||||
\ 'ppwiz': '*.it,*.ih',
|
||||
\ 'privoxy': '*.action',
|
||||
\ 'proc': '*.pc',
|
||||
\ 'procmail': '.procmail,.procmailrc',
|
||||
\ 'prolog': '*.pl,*.pro,*.prolog,*.yap,*.pdb',
|
||||
\ 'promela': '*.pml',
|
||||
\ 'proto': '*.proto',
|
||||
\ 'protocols': '',
|
||||
\ 'ps1': '*.ps1,*.psd1,*.psm1,*.pssc',
|
||||
\ 'ps1xml': '*.ps1xml',
|
||||
\ 'psf': '*.psf',
|
||||
\ 'pug': '*.jade,*.pug',
|
||||
\ 'pullrequest': 'PULLREQ_EDITMSG',
|
||||
\ 'puppet': '*.pp,Modulefile',
|
||||
\ 'purescript': '*.purs',
|
||||
\ 'pyrex': '*.pyx,*.pxd',
|
||||
\ 'python': '*.py,*.cgi,*.fcgi,*.gyp,*.gypi,*.lmi,*.py3,*.pyde,*.pyi,*.pyp,*.pyt,*.pyw,*.rpy,*.smk,*.spec,*.tac,*.wsgi,*.xpy,*.ptl,.gclient,DEPS,SConscript,SConstruct,Snakefile,wscript,.pythonrc,.pythonstartup',
|
||||
\ 'qmake': '*.pro,*.pri',
|
||||
\ 'qml': '*.qml,*.qbs',
|
||||
\ 'quake': '',
|
||||
\ 'r': '*.r,*.rsx,*.s,*.S,.Rprofile,expr-dist',
|
||||
\ 'racket': '*.rkt,*.rktd,*.rktl,*.scrbl',
|
||||
\ 'radiance': '*.rad,*.mat',
|
||||
\ 'ragel': '*.rl',
|
||||
\ 'raku': '*.6pl,*.6pm,*.nqp,*.p6,*.p6l,*.p6m,*.pl,*.pl6,*.pm,*.pm6,*.t,*.rakudoc,*.rakutest,*.raku,*.rakumod,*.pod6,*.t6',
|
||||
\ 'raml': '*.raml',
|
||||
\ 'ratpoison': '.ratpoisonrc,ratpoisonrc',
|
||||
\ 'razor': '*.cshtml,*.razor',
|
||||
\ 'rc': '*.rc,*.rch',
|
||||
\ 'rcs': '*\,v',
|
||||
\ 'readline': '.inputrc,inputrc',
|
||||
\ 'reason': '*.re,*.rei',
|
||||
\ 'rego': '*.rego',
|
||||
\ 'remind': '*.remind,*.rem,.reminders,.reminders*',
|
||||
\ 'requirements': '*.pip,*requirements.{txt,in},*require.{txt,in},constraints.{txt,in}',
|
||||
\ 'resolv': 'resolv.conf',
|
||||
\ 'reva': '*.frt',
|
||||
\ 'rexx': '*.rex,*.orx,*.rxo,*.rxj,*.jrexx,*.rexxj,*.rexx,*.testGroup,*.testUnit',
|
||||
\ 'rhelp': '*.rd',
|
||||
\ 'rib': '*.rib',
|
||||
\ 'rmd': '*.rmd,*.smd',
|
||||
\ 'rnc': '*.rnc',
|
||||
\ 'rng': '*.rng',
|
||||
\ 'rnoweb': '*.rnw,*.snw',
|
||||
\ 'robots': 'robots.txt',
|
||||
\ 'rpcgen': '*.x',
|
||||
\ 'rpl': '*.rpl',
|
||||
\ 'rrst': '*.rrst,*.srst',
|
||||
\ 'rst': '*.rst,*.rest,*.rest.txt,*.rst.txt',
|
||||
\ 'ruby': '*.rb,*.builder,*.eye,*.fcgi,*.gemspec,*.god,*.jbuilder,*.mspec,*.pluginspec,*.podspec,*.rabl,*.rake,*.rbi,*.rbuild,*.rbw,*.rbx,*.ru,*.ruby,*.spec,*.thor,*.watchr,*.rxml,*.rjs,*.rant,*.axlsx,*.cap,*.opal,.irbrc,.pryrc,.simplecov,Appraisals,Berksfile,Buildfile,Capfile,Dangerfile,Deliverfile,Fastfile,Gemfile,Gemfile.lock,Guardfile,Jarfile,Mavenfile,Podfile,Puppetfile,Rakefile,Snapfile,Thorfile,Vagrantfile,buildfile,Rantfile,.autotest,Cheffile,KitchenSink,Routefile,.Guardfile,.Brewfile,vagrantfile,[Rr]akefile*,*_spec.rb',
|
||||
\ 'rtf': '*.rtf',
|
||||
\ 'ruby': '*.rb,*.builder,*.eye,*.fcgi,*.gemspec,*.god,*.jbuilder,*.mspec,*.pluginspec,*.podspec,*.rabl,*.rake,*.rbi,*.rbuild,*.rbw,*.rbx,*.ru,*.ruby,*.spec,*.thor,*.watchr,*.rxml,*.rjs,*.rant,*.axlsx,*.cap,*.opal,.irbrc,.pryrc,.simplecov,Appraisals,Berksfile,Buildfile,Capfile,Dangerfile,Deliverfile,Fastfile,Gemfile,Gemfile.lock,Guardfile,Jarfile,Mavenfile,Podfile,Puppetfile,Rakefile,Snapfile,Thorfile,Vagrantfile,buildfile,[Rr]antfile,.autotest,Cheffile,KitchenSink,Routefile,.Guardfile,.Brewfile,vagrantfile,[Rr]akefile*,*_spec.rb',
|
||||
\ 'rust': '*.rs,*.rs.in',
|
||||
\ 'sbt.scala': '*.sbt',
|
||||
\ 'samba': 'smb.conf',
|
||||
\ 'sas': '*.sas',
|
||||
\ 'sass': '*.sass',
|
||||
\ 'sather': '*.sa',
|
||||
\ 'sbt': '*.sbt',
|
||||
\ 'scala': '*.scala,*.kojo,*.sc',
|
||||
\ 'scheme': '*.scm,*.ss,*.rkt',
|
||||
\ 'scilab': '*.sci,*.sce',
|
||||
\ 'screen': '.screenrc,screenrc',
|
||||
\ 'scss': '*.scss',
|
||||
\ 'sd': '*.sd',
|
||||
\ 'sdc': '*.sdc',
|
||||
\ 'sdl': '*.sdl,*.pr',
|
||||
\ 'sed': '*.sed',
|
||||
\ 'sensors': '',
|
||||
\ 'services': '',
|
||||
\ 'setserial': '',
|
||||
\ 'sexplib': '*.sexp',
|
||||
\ 'sh': '*.sh,*.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh.in,*.tmux,*.tool,.bash_aliases,.bash_history,.bash_logout,.bash_profile,.bashrc,.cshrc,.env,.env.example,.flaskenv,.login,.profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile,zlogin,zlogout,zprofile,zshenv,zshrc',
|
||||
\ 'sh': '*.sh,*.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh.in,*.tmux,*.tool,.bash_aliases,.bash_history,.bash_logout,.bash_profile,.bashrc,.cshrc,.env,.env.example,.flaskenv,.login,.profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile',
|
||||
\ 'sieve': '*.siv,*.sieve',
|
||||
\ 'sil': '*.sil',
|
||||
\ 'simula': '*.sim',
|
||||
\ 'sinda': '*.sin,*.s85',
|
||||
\ 'sisu': '*.sst,*.ssm,*.ssi,*.-sst,*._sst,*.sst.meta,*.-sst.meta,*._sst.meta',
|
||||
\ 'skill': '*.il,*.ils,*.cdf',
|
||||
\ 'slang': '*.sl',
|
||||
\ 'slice': '*.ice',
|
||||
\ 'slim': '*.slim',
|
||||
\ 'slime': '*.slime',
|
||||
\ 'slpconf': '',
|
||||
\ 'slpreg': '',
|
||||
\ 'slpspi': '',
|
||||
\ 'slrnrc': '.slrnrc',
|
||||
\ 'slrnsc': '*.score',
|
||||
\ 'sm': 'sendmail.cf',
|
||||
\ 'smarty': '*.tpl',
|
||||
\ 'smcl': '*.hlp,*.ihlp,*.smcl',
|
||||
\ 'smith': '*.smt,*.smith',
|
||||
\ 'sml': '*.sml',
|
||||
\ 'smt2': '*.smt2,*.smt',
|
||||
\ 'snobol4': '*.sno,*.spt',
|
||||
\ 'solidity': '*.sol',
|
||||
\ 'spec': '*.spec',
|
||||
\ 'spice': '*.sp,*.spice',
|
||||
\ 'spup': '*.speedup,*.spdata,*.spd',
|
||||
\ 'spyce': '*.spy,*.spi',
|
||||
\ 'sql': '*.pgsql,*.pls,*.bdy,*.ddl,*.fnc,*.pck,*.pkb,*.pks,*.plb,*.plsql,*.prc,*.spc,*.sql,*.tpb,*.tps,*.trg,*.vw,*.tyb,*.typ,*.tyc',
|
||||
\ 'sqlj': '*.sqlj',
|
||||
\ 'sqr': '*.sqr,*.sqi',
|
||||
\ 'squid': 'squid.conf',
|
||||
\ 'srec': '*.s19,*.s28,*.s37,*.mot,*.srec',
|
||||
\ 'sshconfig': 'ssh_config',
|
||||
\ 'sshdconfig': 'sshd_config',
|
||||
\ 'st': '*.st',
|
||||
\ 'stata': '*.ado,*.do,*.imata,*.mata',
|
||||
\ 'stp': '*.stp',
|
||||
\ 'stylus': '*.styl,*.stylus',
|
||||
\ 'sudoers': 'sudoers.tmp',
|
||||
\ 'svelte': '*.svelte',
|
||||
\ 'svg': '*.svg',
|
||||
\ 'svn': 'svn-commit*.tmp',
|
||||
\ 'swift': '*.swift',
|
||||
\ 'swiftgyb': '*.swift.gyb',
|
||||
\ 'sxhkdrc': '*.sxhkdrc,sxhkdrc',
|
||||
\ 'sysctl': '',
|
||||
\ 'systemd': '*.automount,*.dnssd,*.link,*.mount,*.netdev,*.network,*.nspawn,*.path,*.service,*.slice,*.socket,*.swap,*.target,*.timer,*.#*',
|
||||
\ 'systemverilog': '*.sv,*.svh',
|
||||
\ 'tablegen': '*.td',
|
||||
\ 'tads': '*.t',
|
||||
\ 'tags': 'tags',
|
||||
\ 'tak': '*.tak',
|
||||
\ 'taskdata': '{pending,completed,undo}.data',
|
||||
\ 'taskedit': '*.task',
|
||||
\ 'tcl': '*.tcl,*.tk,*.itcl,*.itk,*.jacl',
|
||||
\ 'template': '*.tmpl',
|
||||
\ 'teraterm': '*.ttl',
|
||||
\ 'terminfo': '*.ti',
|
||||
\ 'terraform': '*.tf,*.tfvars',
|
||||
\ 'tex': '*.latex,*.sty,*.dtx,*.ltx,*.bbl',
|
||||
\ 'texinfo': '*.texinfo,*.texi,*.txi',
|
||||
\ 'texmf': 'texmf.cnf',
|
||||
\ 'text': '*.text,README',
|
||||
\ 'textile': '*.textile',
|
||||
\ 'tf': '*.tf,.tfrc,tfrc',
|
||||
\ 'thrift': '*.thrift',
|
||||
\ 'tidy': '.tidyrc,tidyrc,tidy.conf',
|
||||
\ 'tilde': '*.t.html',
|
||||
\ 'tli': '*.tli',
|
||||
\ 'tmux': '.tmux*.conf',
|
||||
\ 'toml': '*.toml,Cargo.lock,Gopkg.lock,poetry.lock,Pipfile',
|
||||
\ 'tpp': '*.tpp',
|
||||
\ 'tptp': '*.p,*.tptp,*.ax',
|
||||
\ 'trasys': '*.inp',
|
||||
\ 'treetop': '*.treetop',
|
||||
\ 'trustees': 'trustees.conf',
|
||||
\ 'tsalt': '*.slt',
|
||||
\ 'tsscl': '*.tsscl',
|
||||
\ 'tssgm': '*.tssgm',
|
||||
\ 'tssop': '*.tssop',
|
||||
\ 'tt2': '*.tt2',
|
||||
\ 'tt2html': '*.tt2',
|
||||
\ 'typescript': '*.ts',
|
||||
\ 'typescriptreact': '*.tsx',
|
||||
\ 'uc': '*.uc',
|
||||
\ 'udevconf': '',
|
||||
\ 'udevperm': '',
|
||||
\ 'uil': '*.uit,*.uil',
|
||||
\ 'unison': '*.u,*.uu',
|
||||
\ 'v': '*.v',
|
||||
\ 'updatedb': '',
|
||||
\ 'upstart': '',
|
||||
\ 'upstreamdat': '*.upstream.dat\c,upstream.dat\c,upstream.*.dat\c',
|
||||
\ 'upstreaminstalllog': '*.upstreaminstall.log\c,upstreaminstall.log\c,upstreaminstall.*.log\c',
|
||||
\ 'upstreamlog': '*.upstream.log\c,fdrupstream.log,upstream.log\c,upstream.*.log\c,UPSTREAM-*.log\c',
|
||||
\ 'usserverlog': '*.usserver.log\c,usserver.log\c,usserver.*.log\c',
|
||||
\ 'usw2kagtlog': '*.usw2kagt.log\c,usw2kagt.log\c,usw2kagt.*.log\c',
|
||||
\ 'vala': '*.vala,*.vapi,*.valadoc',
|
||||
\ 'vb': '*.bas,*.cls,*.frm,*.frx,*.vba,*.vbs,*.dsm,*.ctl,*.sba',
|
||||
\ 'vbnet': '*.vb,*.vbhtml',
|
||||
\ 'vcl': '*.vcl',
|
||||
\ 'velocity': '*.vm',
|
||||
\ 'vera': '*.vr,*.vri,*.vrh',
|
||||
\ 'verilog': '*.v',
|
||||
\ 'verilogams': '*.va,*.vams',
|
||||
\ 'vgrindefs': 'vgrindefs',
|
||||
\ 'vhdl': '*.hdl,*.vhd,*.vhdl,*.vbe,*.vst,*.vho,*.vhdl_[0-9]*',
|
||||
\ 'vim': '*.vim,*.vba,.exrc,_exrc,*vimrc*',
|
||||
\ 'viminfo': '.viminfo,_viminfo',
|
||||
\ 'vlang': '*.v,*.vv,*.vsh',
|
||||
\ 'vmasm': '*.mar',
|
||||
\ 'voscm': '*.cm',
|
||||
\ 'vrml': '*.wrl',
|
||||
\ 'vroom': '*.vroom',
|
||||
\ 'vue': '*.vue,*.wpy',
|
||||
\ 'wast': '*.wast,*.wat',
|
||||
\ 'webmacro': '*.wm',
|
||||
\ 'wget': '.wgetrc,wgetrc',
|
||||
\ 'winbatch': '*.wbt',
|
||||
\ 'wml': '*.wml',
|
||||
\ 'wsh': '*.ws[fc]',
|
||||
\ 'wsml': '*.wsml',
|
||||
\ 'wvdial': 'wvdial.conf,.wvdialrc',
|
||||
\ 'xdc': '*.xdc',
|
||||
\ 'xdefaults': '*.ad,.Xdefaults,.Xpdefaults,.Xresources,xdm-config,Xresources*',
|
||||
\ 'xf86conf': 'XF86Config-4*,XF86Config*,xorg.conf,xorg.conf-4',
|
||||
\ 'xhtml': '*.xhtml,*.xht',
|
||||
\ 'xinetd': '',
|
||||
\ 'xmath': '*.msc,*.msf',
|
||||
\ 'xml': '*.xml,*.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mm,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.psc1,*.pt,*.rdf,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml.dist,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*.cdxml,*.tpm,*.csproj.user,*.wpl,.classpath,.cproject,.project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config,*fglrxrc',
|
||||
\ 'xml.twig': '*.xml.twig',
|
||||
\ 'xmodmap': '*Xmodmap,*xmodmap*',
|
||||
\ 'xpm': '*.xpm,*.pm',
|
||||
\ 'xpm2': '*.xpm2',
|
||||
\ 'xquery': '*.xq,*.xql,*.xqm,*.xquery,*.xqy',
|
||||
\ 'xs': '*.xs',
|
||||
\ 'xsd': '*.xsd',
|
||||
\ 'xsl': '*.xslt,*.xsl',
|
||||
\ 'xslt': '*.xsl,*.xslt',
|
||||
\ 'yacc': '*.yy,*.yxx,*.y++',
|
||||
\ 'yaml': '*.yml,*.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml.mysql,.clang-format,.clang-tidy,.gemrc,glide.lock,yarn.lock,fish_history,fish_read_history',
|
||||
\ 'yaml.ansible': 'playbook.y{a,}ml,site.y{a,}ml,main.y{a,}ml,local.y{a,}ml,requirements.y{a,}ml,tasks.*.y{a,}ml,roles.*.y{a,}ml,handlers.*.y{a,}ml',
|
||||
\ 'yaml.docker-compose': 'docker-compose*.yaml,docker-compose*.yml',
|
||||
\ 'z8a': '*.z8a',
|
||||
\ 'zephir': '*.zep',
|
||||
\ 'zig': '*.zig,*.zir',
|
||||
\ 'zimbu': '*.zu',
|
||||
\ 'zimbutempl': '*.zut',
|
||||
\ 'zir': '*.zir',
|
||||
\ 'zsh': '*.zsh,.zshrc,.zshenv,.zlogin,.zprofile,.zlogout,.zlog*,.zcompdump*,.zfbfmarks,.zsh*',
|
||||
\}
|
||||
|
||||
|
||||
" DO NOT EDIT CODE ABOVE, IT IS GENERATED WITH MAKEFILE
|
||||
|
||||
func! polyglot#sleuth#GlobForFiletype(type)
|
||||
return get(s:globs, a:type, '')
|
||||
endfunc
|
||||
|
||||
" Restore 'cpoptions'
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
134
autoload/xml/xsd.vim
Normal file
134
autoload/xml/xsd.vim
Normal file
@@ -0,0 +1,134 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'xsd') == -1
|
||||
|
||||
" Author: Thomas Barthel
|
||||
" Last change: 2007 May 8
|
||||
let g:xmldata_xsd = {
|
||||
\ 'schema': [
|
||||
\ [ 'include', 'import', 'redefine', 'annotation', 'simpleType', 'complexType', 'element', 'attribute', 'attributeGroup', 'group', 'notation', 'annotation'],
|
||||
\ { 'targetNamespace' : [], 'version' : [], 'xmlns' : [], 'finalDefault' : [], 'blockDefault' : [], 'id' : [], 'elementFormDefault' : [], 'attributeFormDefault' : [], 'xml:lang' : [] }],
|
||||
\ 'redefine' : [
|
||||
\ ['annotation', 'simpleType', 'complexType', 'attributeGroup', 'group'],
|
||||
\ {'schemaLocation' : [], 'id' : []} ],
|
||||
\ 'include' : [
|
||||
\ ['annotation'],
|
||||
\ {'namespace' : [], 'id' : []} ],
|
||||
\ 'import' : [
|
||||
\ ['annotation'],
|
||||
\ {'namespace' : [], 'schemaLocation' : [], 'id' : []} ],
|
||||
\ 'complexType' : [
|
||||
\ ['annotation', 'simpleContent', 'complexContent', 'all', 'choice', 'sequence', 'group', 'attribute', 'attributeGroup', 'anyAttribute'],
|
||||
\ {'name' : [], 'id' : [], 'abstract' : [], 'final' : [], 'block' : [], 'mixed' : []} ],
|
||||
\ 'complexContent' : [
|
||||
\ ['annotation', 'restriction', 'extension'],
|
||||
\ {'mixed' : [], 'id' : [] } ],
|
||||
\ 'simpleType' : [
|
||||
\ ['annotation', 'restriction', 'list', 'union'],
|
||||
\ {'name' : [], 'final' : [], 'id' : []} ],
|
||||
\ 'simpleContent' : [
|
||||
\ ['annotation', 'restriction', 'extension'],
|
||||
\ {'id' : []} ],
|
||||
\ 'element' : [
|
||||
\ ['annotation', 'complexType', 'simpleType', 'unique', 'key', 'keyref'],
|
||||
\ {'name' : [], 'id' : [], 'ref' : [], 'type' : [], 'minOccurs' : [], 'maxOccurs' : [], 'nillable' : [], 'substitutionGroup' : [], 'abstract' : [], 'final' : [], 'block' : [], 'default' : [], 'fixed' : [], 'form' : []} ],
|
||||
\ 'attribute' : [
|
||||
\ ['annotation', 'simpleType'],
|
||||
\ {'name' : [], 'id' : [], 'ref' : [], 'type' : [], 'use' : [], 'default' : [], 'fixed' : [], 'form' : []} ],
|
||||
\ 'group' : [
|
||||
\ ['annotation', 'all', 'choice', 'sequence'],
|
||||
\ {'name' : [], 'ref' : [], 'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
|
||||
\ 'choice' : [
|
||||
\ ['annotation', 'element', 'group', 'choice', 'sequence', 'any'],
|
||||
\ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
|
||||
\ 'sequence' : [
|
||||
\ ['annotation', 'element', 'group', 'choice', 'sequence', 'any'],
|
||||
\ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
|
||||
\ 'all' : [
|
||||
\ ['annotation', 'element'],
|
||||
\ {'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
|
||||
\ 'any' : [
|
||||
\ ['annotation'],
|
||||
\ {'namespace' : [], 'processContents' : [], 'minOccurs' : [], 'maxOccurs' : [], 'id' : []} ],
|
||||
\ 'unique' : [
|
||||
\ ['annotation', 'selector', 'field'],
|
||||
\ {'name' : [], 'id' : []} ],
|
||||
\ 'key' : [
|
||||
\ ['annotation', 'selector', 'field'],
|
||||
\ {'name' : [], 'id' : []} ],
|
||||
\ 'keyref' : [
|
||||
\ ['annotation', 'selector', 'field'],
|
||||
\ {'name' : [], 'refer' : [], 'id' : []} ],
|
||||
\ 'selector' : [
|
||||
\ ['annotation'],
|
||||
\ {'xpath' : [], 'id' : []} ],
|
||||
\ 'field' : [
|
||||
\ ['annotation'],
|
||||
\ {'xpath' : [], 'id' : []} ],
|
||||
\ 'restriction' : [
|
||||
\ ['annotation', 'simpleType', 'minExclusive', 'maxExclusive', 'minInclusive', 'maxInclusive', 'totalDigits', 'fractionDigits', 'length', 'minLength', 'maxLength', 'enumeration', 'whiteSpace', 'pattern'],
|
||||
\ {'base' : [], 'id' : []} ],
|
||||
\ 'minExclusive' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'maxExclusive' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'minInclusive' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'maxInclusive' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'totalDigits' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'fractionDigits' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'length' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'minLength' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'maxLength' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'enumeration' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : []}],
|
||||
\ 'whiteSpace' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : [], 'fixed' : []}],
|
||||
\ 'pattern' : [
|
||||
\ ['annotation'],
|
||||
\ {'value' : [], 'id' : []}],
|
||||
\ 'extension' : [
|
||||
\ ['annotation', 'all', 'choice', 'sequence', 'group', 'attribute', 'attributeGroup', 'anyAttribute'],
|
||||
\ {'base' : [], 'id' : []} ],
|
||||
\ 'attributeGroup' : [
|
||||
\ ['annotation', 'attribute', 'attributeGroup', 'anyAttribute'],
|
||||
\ {'name' : [], 'id' : [], 'ref' : []} ],
|
||||
\ 'anyAttribute' : [
|
||||
\ ['annotation'],
|
||||
\ {'namespace' : [], 'processContents' : [], 'id' : []} ],
|
||||
\ 'list' : [
|
||||
\ ['annotation', 'simpleType'],
|
||||
\ {'itemType' : [], 'id' : []} ],
|
||||
\ 'union' : [
|
||||
\ ['annotation', 'simpleType'],
|
||||
\ {'id' : [], 'memberTypes' : []} ],
|
||||
\ 'notation' : [
|
||||
\ ['annotation'],
|
||||
\ {'name' : [], 'id' : [], 'public' : [], 'system' : []} ],
|
||||
\ 'annotation' : [
|
||||
\ ['appinfo', 'documentation'],
|
||||
\ {} ],
|
||||
\ 'appinfo' : [
|
||||
\ [],
|
||||
\ {'source' : [], 'id' : []} ],
|
||||
\ 'documentation' : [
|
||||
\ [],
|
||||
\ {'source' : [], 'id' : [], 'xml' : []} ]
|
||||
\ }
|
||||
|
||||
endif
|
||||
26
compiler/bdf.vim
Normal file
26
compiler/bdf.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bdf') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: BDF to PCF Conversion
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2006-04-19
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "bdf"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal makeprg=bdftopcf\ $*
|
||||
|
||||
setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
|
||||
\%-Z%p^,
|
||||
\%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
30
compiler/cs.vim
Normal file
30
compiler/cs.vim
Normal file
@@ -0,0 +1,30 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cs') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: Microsoft Visual Studio C#
|
||||
" Maintainer: Yichao Zhou (broken.zhou@gmail.com)
|
||||
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
|
||||
" Last Change: Jul 22, 2019
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "cs"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat&
|
||||
CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
|
||||
\%trror%*[^:]:\ %m,
|
||||
\%tarning%*[^:]:\ %m
|
||||
|
||||
CompilerSet makeprg=csc\ %:S
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
endif
|
||||
19
compiler/dot.vim
Normal file
19
compiler/dot.vim
Normal file
@@ -0,0 +1,19 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dot') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: ATT dot
|
||||
" Maintainer: Marcos Macedo <bar4ka@bol.com.br>
|
||||
" Last Change: 2004 May 16
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "dot"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=dot\ -T$*\ \"%:p\"\ -o\ \"%:p:r.$*\"
|
||||
|
||||
endif
|
||||
@@ -1,12 +1,12 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nim') == -1
|
||||
|
||||
if exists("current_compiler")
|
||||
if exists('current_compiler')
|
||||
finish
|
||||
endif
|
||||
|
||||
let current_compiler = "nim"
|
||||
let current_compiler = 'nim'
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
if exists(':CompilerSet') != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
|
||||
34
compiler/sass.vim
Normal file
34
compiler/sass.vim
Normal file
@@ -0,0 +1,34 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sass') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "sass"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=sass
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%f:%l:%m\ (Sass::Syntax%trror),
|
||||
\%ESyntax\ %trror:%m,
|
||||
\%C%\\s%\\+on\ line\ %l\ of\ %f,
|
||||
\%Z%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
|
||||
endif
|
||||
21
compiler/tcl.vim
Normal file
21
compiler/tcl.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tcl') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: tcl
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2004 Nov 27
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "tcl"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=tcl
|
||||
|
||||
CompilerSet errorformat=%EError:\ %m,%+Z\ %\\{4}(file\ \"%f\"\ line\ %l),%-G%.%#
|
||||
|
||||
endif
|
||||
71
compiler/tex.vim
Normal file
71
compiler/tex.vim
Normal file
@@ -0,0 +1,71 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tex') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: TeX
|
||||
" Maintainer: Artem Chuprina <ran@ran.pp.ru>
|
||||
" Last Change: 2012 Apr 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" If makefile exists and we are not asked to ignore it, we use standard make
|
||||
" (do not redefine makeprg)
|
||||
if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
|
||||
\(!filereadable('Makefile') && !filereadable('makefile'))
|
||||
" If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
|
||||
" otherwize the same for global variable with same name, else it will be
|
||||
" LaTeX
|
||||
if exists("b:tex_flavor")
|
||||
let current_compiler = b:tex_flavor
|
||||
elseif exists("g:tex_flavor")
|
||||
let current_compiler = g:tex_flavor
|
||||
else
|
||||
let current_compiler = "latex"
|
||||
endif
|
||||
let &l:makeprg=current_compiler.' -interaction=nonstopmode'
|
||||
else
|
||||
let current_compiler = 'make'
|
||||
endif
|
||||
|
||||
" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with
|
||||
" addition from Srinath Avadhanula <srinath@fastmail.fm>
|
||||
CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
|
||||
\%E!\ %m,
|
||||
\%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#,
|
||||
\%+W%.%#\ at\ lines\ %l--%*\\d,
|
||||
\%WLaTeX\ %.%#Warning:\ %m,
|
||||
\%Cl.%l\ %m,
|
||||
\%+C\ \ %m.,
|
||||
\%+C%.%#-%.%#,
|
||||
\%+C%.%#[]%.%#,
|
||||
\%+C[]%.%#,
|
||||
\%+C%.%#%[{}\\]%.%#,
|
||||
\%+C<%.%#>%.%#,
|
||||
\%C\ \ %m,
|
||||
\%-GSee\ the\ LaTeX%m,
|
||||
\%-GType\ \ H\ <return>%m,
|
||||
\%-G\ ...%.%#,
|
||||
\%-G%.%#\ (C)\ %.%#,
|
||||
\%-G(see\ the\ transcript%.%#),
|
||||
\%-G\\s%#,
|
||||
\%+O(%*[^()])%r,
|
||||
\%+O%*[^()](%*[^()])%r,
|
||||
\%+P(%f%r,
|
||||
\%+P\ %\\=(%f%r,
|
||||
\%+P%*[^()](%f%r,
|
||||
\%+P[%\\d%[^()]%#(%f%r,
|
||||
\%+Q)%r,
|
||||
\%+Q%*[^()])%r,
|
||||
\%+Q[%\\d%*[^()])%r
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
endif
|
||||
23
compiler/tidy.vim
Normal file
23
compiler/tidy.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tidy') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: HTML Tidy
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2016 Apr 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "tidy"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %:S
|
||||
|
||||
" foo.html:8:1: Warning: inserting missing 'foobar' element
|
||||
" foo.html:9:2: Error: <foobar> is not recognized!
|
||||
CompilerSet errorformat=%f:%l:%c:\ %trror:%m,%f:%l:%c:\ %tarning:%m,%-G%.%#
|
||||
|
||||
endif
|
||||
@@ -1115,6 +1115,11 @@ manually, use: >
|
||||
to let the comma be the delimiter. This sets the buffer local delimiter
|
||||
variable b:delimiter.
|
||||
|
||||
You can also set default delimiter to prevent a warning if no delimiter can
|
||||
be detected: >
|
||||
|
||||
:let g:csv_default_delim=','
|
||||
|
||||
If your file does not consist of delimited columns, but rather is a fixed
|
||||
width csv file, see |csv-fixedwidth| for configuring the plugin appropriately.
|
||||
|
||||
|
||||
@@ -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*
|
||||
|
||||
@@ -53,6 +53,8 @@ Text enclosed between `$anyword$` pairs, where `anyword` is any non-empty
|
||||
sequence of word characters different from those with a special meaning (such
|
||||
as `$pgsql$`) is treated as a multi-line string.
|
||||
|
||||
When |foldmethod| is set to "syntax", SQL commands can be folded.
|
||||
|
||||
Finally, the plugin supports syntax highlighting of arbitrary languages within
|
||||
procedure and function blocks. This feature needs to be configured: see
|
||||
|g:pgsql_pl|.
|
||||
|
||||
116
doc/vim-go.txt
116
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'*
|
||||
|
||||
@@ -1625,27 +1625,45 @@ window. The list to use can be set using |'g:go_list_type_commands'|.
|
||||
<
|
||||
*'g:go_metalinter_autosave_enabled'*
|
||||
|
||||
Specifies the enabled linters for auto |:GoMetaLinter| on save. By
|
||||
default it's using `vet` and `golint`. If any are enabled, `--disable-all`
|
||||
will be sent to the metalinter.
|
||||
Specifies the enabled linters for auto |:GoMetaLinter| on save. When the
|
||||
metalinter is `golangci-lint`, if any are enabled, `--disable-all` will be
|
||||
sent to the metalinter.
|
||||
|
||||
When `g:go_metalinter_command` is set to `staticcheck`, the default value is
|
||||
an empty list; `staticcheck`'s `-checks` flag will not be used.
|
||||
>
|
||||
let g:go_metalinter_autosave_enabled = ['all']
|
||||
<
|
||||
|
||||
When `g:go_metalinter_command is set to `golangci-lint'`, the default value is
|
||||
>
|
||||
let g:go_metalinter_autosave_enabled = ['vet', 'golint']
|
||||
<
|
||||
*'g:go_metalinter_enabled'*
|
||||
|
||||
Specifies the linters to enable for the |:GoMetaLinter| command. By default
|
||||
it's using `vet`, `golint` and `errcheck`. If any are enabled, `--disable-all`
|
||||
will be sent to the metalinter.
|
||||
Specifies the linters to enable for the |:GoMetaLinter| command. For
|
||||
`golangci-lint`, if any are enabled, `--disable-all` will be passed to the
|
||||
metalinter.
|
||||
|
||||
When `g:go_metalinter_command` is set to `staticcheck`, the default value is
|
||||
an empty list; `staticcheck`'s `-checks` flag will not be used.
|
||||
>
|
||||
let g:go_metalinter_autosave_enabled = ['all']
|
||||
<
|
||||
|
||||
When `g:go_metalinter_command is set to `golangci-lint'`, the default value is
|
||||
>
|
||||
let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck']
|
||||
<
|
||||
*'g:go_metalinter_command'*
|
||||
|
||||
Overrides the command to be executed when |:GoMetaLinter| is called. By
|
||||
default it's `golangci-lint`. Valid options are `golangci-lint` and `gopls`.
|
||||
default it's `golangci-lint`. Valid options are `golangci-lint, `gopls`, and
|
||||
`staticcheck`..
|
||||
|
||||
When the value is `gopls`, users may want to consider setting
|
||||
`g:go_gopls_staticcheck`. It can also be used as an advanced setting for
|
||||
users who want to have more control over the metalinter.
|
||||
`g:go_gopls_staticcheck`. It can also be used as an advanced setting for users
|
||||
who want to have more control over the metalinter.
|
||||
>
|
||||
let g:go_metalinter_command = "golangci-lint"
|
||||
<
|
||||
@@ -1653,6 +1671,8 @@ users who want to have more control over the metalinter.
|
||||
|
||||
Overrides the maximum time the linters have to complete. By default it's 5
|
||||
seconds.
|
||||
|
||||
Only applies when the metalinter is `golangci-lint`.
|
||||
>
|
||||
let g:go_metalinter_deadline = "5s"
|
||||
<
|
||||
@@ -1882,8 +1902,12 @@ When it is `v:null`, `gopls`' default will be used. By default it is `v:null`.
|
||||
|
||||
*'g:go_gopls_local'*
|
||||
|
||||
Specifies the prefix for imports that `gopls` should consider group
|
||||
separately.
|
||||
Specifies the prefix for imports that `gopls` should group separately.
|
||||
|
||||
The value can either be a string or a dictionary. When it is a string, all
|
||||
workspaces will use the same value. When it is a dictionary, the key should be
|
||||
the absolute path of the workspace and the value is the prefix to use for
|
||||
local imports within that workspace.
|
||||
|
||||
When it is `v:null`, `gopls`' default will be used. By default it is `v:null`.
|
||||
>
|
||||
@@ -1913,14 +1937,21 @@ default it is `v:null`.
|
||||
<
|
||||
*'g:go_diagnostics_enabled'*
|
||||
|
||||
Specifies whether `gopls` diagnostics are enabled. Only the diagnostics for
|
||||
the current buffer will be processed when it is not set; all others will be
|
||||
ignored.
|
||||
|
||||
By default it is disabled.
|
||||
Deprecated. See `'g:go_diagnostics_level'`. Specifies whether `gopls`
|
||||
diagnostics are enabled. Only the diagnostics for the current buffer will be
|
||||
processed when it is not set; all others will be ignored. By default it is
|
||||
disabled.
|
||||
>
|
||||
let g:go_diagnostics_enabled = 0
|
||||
<
|
||||
*'g:go_diagnostics_level'*
|
||||
|
||||
Specifies the `gopls` diagnostics level. Valid values are 0, 1, and 2. 0
|
||||
ignores `gopls` diagnostics, 1 is for errors only, and 2 is for errors and
|
||||
warnings. By default it is 0.
|
||||
>
|
||||
let g:go_diagnostics_level = 0
|
||||
<
|
||||
|
||||
*'g:go_template_autocreate'*
|
||||
|
||||
@@ -2286,7 +2317,7 @@ The program will halt on the breakpoint, at which point you can inspect the
|
||||
program state. You can go to the next line with |:GoDebugNext| (<F10>) or step
|
||||
in with |:GoDebugStep| (<F11>).
|
||||
|
||||
The program can also be halted with `:GoDebugHalt` (<F6>).
|
||||
The program can also be halted with `:GoDebugHalt` (<F8>).
|
||||
|
||||
The variable window in the bottom left (`GODEBUG_VARIABLES`) will display all
|
||||
local variables. Struct values are displayed as `{...}`, array/slices as
|
||||
@@ -2362,7 +2393,7 @@ The rest of the commands and mappings become available after executing
|
||||
|
||||
Halt the program.
|
||||
|
||||
Mapped to <F6> by default.
|
||||
Mapped to <F8> by default.
|
||||
|
||||
*:GoDebugStop*
|
||||
*(go-debug-stop)*
|
||||
@@ -2470,7 +2501,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.
|
||||
|
||||
2257
extras/filetype.vim
Normal file
2257
extras/filetype.vim
Normal file
File diff suppressed because it is too large
Load Diff
1216
filetype.vim
1216
filetype.vim
File diff suppressed because it is too large
Load Diff
3441
ftdetect/polyglot.vim
Normal file
3441
ftdetect/polyglot.vim
Normal file
File diff suppressed because it is too large
Load Diff
3
ftoff.vim
Normal file
3
ftoff.vim
Normal file
@@ -0,0 +1,3 @@
|
||||
if exists("did_load_polyglot")
|
||||
unlet did_load_polyglot
|
||||
endif
|
||||
@@ -1,37 +0,0 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
|
||||
|
||||
" Define comment string
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
" Enable automatic comment insertion
|
||||
setlocal formatoptions+=cro
|
||||
|
||||
function! DockerfileReplaceInstruction(original, replacement)
|
||||
let syn = synIDtrans(synID(line("."), col(".") - 1, 0))
|
||||
if syn != hlID("Comment") && syn != hlID("Constant") && strlen(getline(".")) == 0
|
||||
let word = a:replacement
|
||||
else
|
||||
let word = a:original
|
||||
endif
|
||||
let g:UnduBuffer = a:original
|
||||
return word
|
||||
endfunction
|
||||
|
||||
inoreabbr <silent> <buffer> from <C-R>=DockerfileReplaceInstruction("from", "FROM")<CR>
|
||||
inoreabbr <silent> <buffer> maintainer <C-R>=DockerfileReplaceInstruction("maintainer", "MAINTAINER")<CR>
|
||||
inoreabbr <silent> <buffer> run <C-R>=DockerfileReplaceInstruction("run", "RUN")<CR>
|
||||
inoreabbr <silent> <buffer> cmd <C-R>=DockerfileReplaceInstruction("cmd", "CMD")<CR>
|
||||
inoreabbr <silent> <buffer> label <C-R>=DockerfileReplaceInstruction("label", "LABEL")<CR>
|
||||
inoreabbr <silent> <buffer> expose <C-R>=DockerfileReplaceInstruction("expose", "EXPOSE")<CR>
|
||||
inoreabbr <silent> <buffer> env <C-R>=DockerfileReplaceInstruction("env", "ENV")<CR>
|
||||
inoreabbr <silent> <buffer> add <C-R>=DockerfileReplaceInstruction("add", "ADD")<CR>
|
||||
inoreabbr <silent> <buffer> copy <C-R>=DockerfileReplaceInstruction("copy", "COPY")<CR>
|
||||
inoreabbr <silent> <buffer> entrypoint <C-R>=DockerfileReplaceInstruction("entrypoint", "ENTRYPOINT")<CR>
|
||||
inoreabbr <silent> <buffer> volume <C-R>=DockerfileReplaceInstruction("volume", "VOLUME")<CR>
|
||||
inoreabbr <silent> <buffer> user <C-R>=DockerfileReplaceInstruction("user", "USER")<CR>
|
||||
inoreabbr <silent> <buffer> workdir <C-R>=DockerfileReplaceInstruction("workdir", "WORKDIR")<CR>
|
||||
inoreabbr <silent> <buffer> arg <C-R>=DockerfileReplaceInstruction("arg", "ARG")<CR>
|
||||
inoreabbr <silent> <buffer> onbuild <C-R>=DockerfileReplaceInstruction("onbuild", "ONBUILD")<CR>
|
||||
inoreabbr <silent> <buffer> stopsignal <C-R>=DockerfileReplaceInstruction("stopsignal", "STOPSIGNAL")<CR>
|
||||
|
||||
endif
|
||||
@@ -3,9 +3,10 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'awk') == -1
|
||||
" Vim filetype plugin
|
||||
" Language: awk, nawk, gawk, mawk
|
||||
" Maintainer: Antonio Colombo <azc100@gmail.com>
|
||||
" Last Change: 2017 Feb 17
|
||||
" Last Change: 2020 Sep 28
|
||||
|
||||
" This plugin was prepared by Mark Sikora
|
||||
" This plugin was updated as proposed by Doug Kearns
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -15,8 +16,44 @@ endif
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring<"
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
setlocal define=function
|
||||
setlocal suffixesadd+=.awk
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< cms< def< sua<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" TODO: set this in scripts.vim?
|
||||
if exists("g:awk_is_gawk")
|
||||
setlocal include=@include
|
||||
setlocal suffixesadd+=.gawk
|
||||
if has("unix") || has("win32unix")
|
||||
setlocal formatprg=gawk\ -f-\ -o/dev/stdout
|
||||
let b:undo_ftplugin .= " | setl fp<"
|
||||
endif
|
||||
|
||||
let path = system("gawk 'BEGIN { printf ENVIRON[\"AWKPATH\"] }'")
|
||||
let path = substitute(path, '^\.\=:\|:\.\=$\|:\.\=:', ',,', 'g') " POSIX cwd
|
||||
let path = substitute(path, ':', ',', 'g')
|
||||
|
||||
let &l:path = path
|
||||
let b:undo_ftplugin .= " | setl inc< path<"
|
||||
endif
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Awk Source Files (*.awk,*.gawk)\t*.awk;*.gawk\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8
|
||||
|
||||
endif
|
||||
|
||||
24
ftplugin/bdf.vim
Normal file
24
ftplugin/bdf.vim
Normal file
@@ -0,0 +1,24 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bdf') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: BDF font definition
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=b:COMMENT commentstring=COMMENT\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
19
ftplugin/bst.vim
Normal file
19
ftplugin/bst.vim
Normal file
@@ -0,0 +1,19 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'bst') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: bst
|
||||
" Author: Tim Pope <vimNOSPAM@tpope.info>
|
||||
" $Id: bst.vim,v 1.1 2007/05/05 17:37:57 vimboss Exp $
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal commentstring=%\ %s
|
||||
setlocal comments=:%
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
let b:undo_ftplugin = "setlocal com< cms< fo<"
|
||||
|
||||
endif
|
||||
24
ftplugin/calendar.vim
Normal file
24
ftplugin/calendar.vim
Normal file
@@ -0,0 +1,24 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'calendar') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: calendar(1) input file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< inc< fo<"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include&
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
22
ftplugin/cdrdaoconf.vim
Normal file
22
ftplugin/cdrdaoconf.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cdrdaoconf') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2007-12-04
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/cfg.vim
Normal file
23
ftplugin/cfg.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cfg') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Configuration File
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Latest Revision: 2018-12-24
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl cms< fo<"
|
||||
|
||||
setlocal commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
21
ftplugin/ch.vim
Normal file
21
ftplugin/ch.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ch') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Ch
|
||||
" Maintainer: SoftIntegration, Inc. <info@softintegration.com>
|
||||
" URL: http://www.softintegration.com/download/vim/ftplugin/ch.vim
|
||||
" Last change: 2004 May 16
|
||||
" Created based on cpp.vim
|
||||
"
|
||||
" Ch is a C/C++ interpreter with many high level extensions
|
||||
"
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Behaves just like C
|
||||
runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
|
||||
|
||||
endif
|
||||
273
ftplugin/cobol.vim
Normal file
273
ftplugin/cobol.vim
Normal file
@@ -0,0 +1,273 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cobol') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: cobol
|
||||
" Maintainer: Ankit Jain <ajatkj@yahoo.co.in>
|
||||
" (formerly Tim Pope <vimNOSPAM@tpope.info>)
|
||||
" Last Update: By Ankit Jain (add gtk support) on 15.08.2020
|
||||
|
||||
" Insert mode mappings: <C-T> <C-D> <Tab>
|
||||
" Normal mode mappings: < > << >> [[ ]] [] ][
|
||||
" Visual mode mappings: < >
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal commentstring=\ \ \ \ \ \ *%s
|
||||
setlocal comments=:*
|
||||
setlocal fo+=croqlt
|
||||
setlocal expandtab
|
||||
setlocal textwidth=72
|
||||
|
||||
" matchit support
|
||||
if exists("loaded_matchit")
|
||||
let s:ordot = '\|\ze\.\%( \@=\|$\)'
|
||||
let b:match_ignorecase=1
|
||||
"let b:match_skip = 'getline(".") =~ "^.\\{6\\}[*/C]"'
|
||||
let b:match_words=
|
||||
\ '\$if\>:$else\>:\$endif\>,' .
|
||||
\ '[$-]\@<!\<if\>:\<\%(then\|else\)\>:\<end-if\>'.s:ordot.',' .
|
||||
\ '-\@<!\<perform\s\+\%(\d\+\s\+times\|until\|varying\|with\s\+test\)\>:\<end-perform\>'.s:ordot . ',' .
|
||||
\ '-\@<!\<\%(search\|evaluate\)\>:\<\%(when\)\>:\<end-\%(search\|evaluate\)\>' .s:ordot . ',' .
|
||||
\ '-\@<!\<\%(add\|compute\|divide\|multiply\|subtract\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+size\s\+error\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=on\s\+size\s\+error\>:\<end-\%(add\|compute\|divide\|multiply\|subtract\)\>' .s:ordot . ',' .
|
||||
\ '-\@<!\<\%(string\|unstring\|accept\|display\|call\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>:\<end-\%(string\|unstring\|accept\|display\|call\)\>' .s:ordot . ',' .
|
||||
\ '-\@<!\<\%(delete\|rewrite\|start\|write\|read\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>:\<end-\%(delete\|rewrite\|start\|write\|read\)\>' .s:ordot
|
||||
endif
|
||||
|
||||
" add gtk support
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "COBOL Source Files (*.cbl, *.cob)\t*.cbl;*.cob;*.lib\n".
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal com< cms< fo< et< tw<" .
|
||||
\ " | unlet! b:browsefilter b:match_words b:match_ignorecase b:match_skip"
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps")
|
||||
let b:undo_ftplugin = b:undo_ftplugin .
|
||||
\ " | sil! exe 'nunmap <buffer> <'" .
|
||||
\ " | sil! exe 'nunmap <buffer> >'" .
|
||||
\ " | sil! exe 'nunmap <buffer> <<'" .
|
||||
\ " | sil! exe 'nunmap <buffer> >>'" .
|
||||
\ " | sil! exe 'vunmap <buffer> <'" .
|
||||
\ " | sil! exe 'vunmap <buffer> >'" .
|
||||
\ " | sil! exe 'iunmap <buffer> <C-D>'" .
|
||||
\ " | sil! exe 'iunmap <buffer> <C-T>'" .
|
||||
\ " | sil! exe 'iunmap <buffer> <Tab>'" .
|
||||
\ " | sil! exe 'nunmap <buffer> <Plug>Traditional'" .
|
||||
\ " | sil! exe 'nunmap <buffer> <Plug>Comment'" .
|
||||
\ " | sil! exe 'nunmap <buffer> <Plug>DeComment'" .
|
||||
\ " | sil! exe 'vunmap <buffer> <Plug>VisualTraditional'" .
|
||||
\ " | sil! exe 'vunmap <buffer> <Plug>VisualComment'" .
|
||||
\ " | sil! exe 'iunmap <buffer> <Plug>VisualDeComment'" .
|
||||
\ " | sil! exe 'unmap <buffer> [['" .
|
||||
\ " | sil! exe 'unmap <buffer> ]]'" .
|
||||
\ " | sil! exe 'unmap <buffer> []'" .
|
||||
\ " | sil! exe 'unmap <buffer> ]['"
|
||||
endif
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps")
|
||||
if version >= 700
|
||||
nnoremap <silent> <buffer> > :set opfunc=<SID>IncreaseFunc<CR>g@
|
||||
nnoremap <silent> <buffer> < :set opfunc=<SID>DecreaseFunc<CR>g@
|
||||
endif
|
||||
nnoremap <silent> <buffer> >> :call CobolIndentBlock(1)<CR>
|
||||
nnoremap <silent> <buffer> << :call CobolIndentBlock(-1)<CR>
|
||||
vnoremap <silent> <buffer> > :call CobolIndentBlock(v:count1)<CR>
|
||||
vnoremap <silent> <buffer> < :call CobolIndentBlock(-v:count1)<CR>
|
||||
inoremap <silent> <buffer> <C-T> <C-R>=<SID>IncreaseIndent()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
|
||||
inoremap <silent> <buffer> <C-D> <C-R>=<SID>DecreaseIndent()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
|
||||
if !maparg("<Tab>","i")
|
||||
inoremap <silent> <buffer> <Tab> <C-R>=<SID>Tab()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
|
||||
endif
|
||||
noremap <silent> <buffer> [[ m':call search('\c^\%(\s*\<Bar>.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\<Bar>section\)\s*\.','bW')<CR>
|
||||
noremap <silent> <buffer> ]] m':call search('\c^\%(\s*\<Bar>.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\<Bar>section\)\.','W')<CR>
|
||||
noremap <silent> <buffer> [] m':call <SID>toend('b')<CR>
|
||||
noremap <silent> <buffer> ][ m':call <SID>toend('')<CR>
|
||||
" For EnhancedCommentify
|
||||
noremap <silent> <buffer> <Plug>Traditional :call <SID>Comment('t')<CR>
|
||||
noremap <silent> <buffer> <Plug>Comment :call <SID>Comment('c')<CR>
|
||||
noremap <silent> <buffer> <Plug>DeComment :call <SID>Comment('u')<CR>
|
||||
noremap <silent> <buffer> <Plug>VisualTraditional :'<,'>call <SID>Comment('t')<CR>
|
||||
noremap <silent> <buffer> <Plug>VisualComment :'<,'>call <SID>Comment('c')<CR>
|
||||
noremap <silent> <buffer> <Plug>VisualDeComment :'<,'>call <SID>Comment('u')<CR>
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
if exists("g:did_cobol_ftplugin_functions")
|
||||
finish
|
||||
endif
|
||||
let g:did_cobol_ftplugin_functions = 1
|
||||
|
||||
function! s:repeat(str,count)
|
||||
let i = 0
|
||||
let ret = ""
|
||||
while i < a:count
|
||||
let ret = ret . a:str
|
||||
let i = i + 1
|
||||
endwhile
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:increase(...)
|
||||
let lnum = '.'
|
||||
let sw = shiftwidth()
|
||||
let i = a:0 ? a:1 : indent(lnum)
|
||||
if i >= 11
|
||||
return sw - (i - 11) % sw
|
||||
elseif i >= 7
|
||||
return 11-i
|
||||
elseif i == 6
|
||||
return 1
|
||||
else
|
||||
return 6-i
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:decrease(...)
|
||||
let lnum = '.'
|
||||
let sw = shiftwidth()
|
||||
let i = indent(a:0 ? a:1 : lnum)
|
||||
if i >= 11 + sw
|
||||
return 1 + (i + 12) % sw
|
||||
elseif i > 11
|
||||
return i-11
|
||||
elseif i > 7
|
||||
return i-7
|
||||
elseif i == 7
|
||||
return 1
|
||||
else
|
||||
return i
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! CobolIndentBlock(shift)
|
||||
let head = strpart(getline('.'),0,7)
|
||||
let tail = strpart(getline('.'),7)
|
||||
let indent = match(tail,'[^ ]')
|
||||
let sw = shiftwidth()
|
||||
let shift = a:shift
|
||||
if shift > 0
|
||||
if indent < 4
|
||||
let tail = s:repeat(" ",4-indent).tail
|
||||
let shift = shift - 1
|
||||
endif
|
||||
let tail = s:repeat(" ",shift*sw).tail
|
||||
let shift = 0
|
||||
elseif shift < 0
|
||||
if (indent-4) > -shift * sw
|
||||
let tail = strpart(tail,-shift * sw)
|
||||
elseif (indent-4) > (-shift-1) * sw
|
||||
let tail = strpart(tail,indent - 4)
|
||||
else
|
||||
let tail = strpart(tail,indent)
|
||||
endif
|
||||
endif
|
||||
call setline('.',head.tail)
|
||||
endfunction
|
||||
|
||||
function! s:IncreaseFunc(type)
|
||||
'[,']call CobolIndentBlock(1)
|
||||
endfunction
|
||||
|
||||
function! s:DecreaseFunc(type)
|
||||
'[,']call CobolIndentBlock(-1)
|
||||
endfunction
|
||||
|
||||
function! s:IncreaseIndent()
|
||||
let c = "\<C-T>"
|
||||
if exists("*InsertCtrlTWrapper")
|
||||
let key = InsertCtrlTWrapper()
|
||||
if key != c
|
||||
return key
|
||||
endif
|
||||
endif
|
||||
let interval = s:increase()
|
||||
let b:cobol_shiftwidth = &shiftwidth
|
||||
let &shiftwidth = 1
|
||||
let lastchar = strpart(getline('.'),col('.')-2,1)
|
||||
if lastchar == '0' || lastchar == '^'
|
||||
return "\<BS>".lastchar.c
|
||||
else
|
||||
return s:repeat(c,interval)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:DecreaseIndent()
|
||||
let c = "\<C-D>"
|
||||
if exists("*InsertCtrlDWrapper")
|
||||
" I hack Ctrl-D to delete when not at the end of the line.
|
||||
let key = InsertCtrlDWrapper()
|
||||
if key != c
|
||||
return key
|
||||
endif
|
||||
endif
|
||||
let interval = s:decrease()
|
||||
let b:cobol_shiftwidth = &shiftwidth
|
||||
let &shiftwidth = 1
|
||||
return s:repeat(c,interval)
|
||||
endfunction
|
||||
|
||||
function! s:RestoreShiftwidth()
|
||||
if exists("b:cobol_shiftwidth")
|
||||
let &shiftwidth=b:cobol_shiftwidth
|
||||
unlet b:cobol_shiftwidth
|
||||
endif
|
||||
return ""
|
||||
endfunction
|
||||
|
||||
function! s:Tab()
|
||||
if (strpart(getline('.'),0,col('.')-1) =~ '^\s*$' && &sta)
|
||||
return s:IncreaseIndent()
|
||||
" &softtabstop < 0: &softtabstop follows &shiftwidth
|
||||
elseif (&sts < 0 || &sts == shiftwidth()) && &sts != 8 && &et
|
||||
return s:repeat(" ",s:increase(col('.')-1))
|
||||
else
|
||||
return "\<Tab>"
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:Comment(arg)
|
||||
" For EnhancedCommentify
|
||||
let line = getline('.')
|
||||
if (line =~ '^.\{6\}[*/C]' || a:arg == 'c') && a:arg != 'u'
|
||||
let line = substitute(line,'^.\{6\}\zs.',' ','')
|
||||
else
|
||||
let line = substitute(line,'^.\{6\}\zs.','*','')
|
||||
endif
|
||||
call setline('.',line)
|
||||
endfunction
|
||||
|
||||
function! s:toend(direction)
|
||||
let ignore = '^\(\s*\|.\{6\}\)\%([*/]\|\s*$\)'
|
||||
let keep = line('.')
|
||||
keepjumps +
|
||||
while line('.') < line('$') && getline('.') =~ ignore
|
||||
keepjumps +
|
||||
endwhile
|
||||
let res = search('\c^\%(\s*\|.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\|section\)\s*\.',a:direction.'W')
|
||||
if a:direction != 'b' && !res
|
||||
let res = line('$')
|
||||
keepjumps $
|
||||
elseif res
|
||||
keepjumps -
|
||||
endif
|
||||
if res
|
||||
while line('.') > 1 && getline('.') =~ ignore
|
||||
keepjumps -
|
||||
endwhile
|
||||
if line('.') == 1 && getline('.') =~ ignore
|
||||
exe "keepjumps ".keep
|
||||
endif
|
||||
else
|
||||
exe "keepjumps ".keep
|
||||
endif
|
||||
endfunction
|
||||
|
||||
endif
|
||||
46
ftplugin/config.vim
Normal file
46
ftplugin/config.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'config') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: config
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
" Define some defaults in case the included ftplugins don't set them.
|
||||
let s:undo_ftplugin = ""
|
||||
let s:browsefilter = "Bourne Shell Files (*.sh)\t*.sh\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let s:match_words = ""
|
||||
|
||||
runtime! ftplugin/sh.vim ftplugin/sh_*.vim ftplugin/sh/*.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Override our defaults if these were set by an included ftplugin.
|
||||
if exists("b:undo_ftplugin")
|
||||
let s:undo_ftplugin = b:undo_ftplugin
|
||||
endif
|
||||
if exists("b:browsefilter")
|
||||
let s:browsefilter = b:browsefilter
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show configure-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="Configure Scripts (configure.*, config.*)\tconfigure*;config.*\n" .
|
||||
\ s:browsefilter
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:browsefilter | " . b:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
23
ftplugin/crm.vim
Normal file
23
ftplugin/crm.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'crm') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: CRM114
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
33
ftplugin/cs.vim
Normal file
33
ftplugin/cs.vim
Normal file
@@ -0,0 +1,33 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cs') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: C#
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Tue, 09 Mar 2004 14:09:33 CET
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,://
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "C# Source Files (*.cs)\t*.cs\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
endif
|
||||
31
ftplugin/csc.vim
Normal file
31
ftplugin/csc.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'csc') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: csc
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words=
|
||||
\ '\<fix\>:\<endfix\>,' .
|
||||
\ '\<if\>:\<else\%(if\)\=\>:\<endif\>,' .
|
||||
\ '\<!loopondimensions\>\|\<!looponselected\>:\<!endloop\>'
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:match_words"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
28
ftplugin/css.vim
Normal file
28
ftplugin/css.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'css') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: CSS
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< inc< fo< ofu<"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal omnifunc=csscomplete#CompleteCSS
|
||||
|
||||
let &l:include = '^\s*@import\s\+\%(url(\)\='
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/cvsrc.vim
Normal file
23
ftplugin/cvsrc.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cvsrc') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: cvs(1) RC file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments= commentstring= formatoptions-=tcroql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
387
ftplugin/debchangelog.vim
Normal file
387
ftplugin/debchangelog.vim
Normal file
@@ -0,0 +1,387 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'debchangelog') == -1
|
||||
|
||||
" Vim filetype plugin file (GUI menu, folding and completion)
|
||||
" Language: Debian Changelog
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||
" Stefano Zacchiroli <zack@debian.org>
|
||||
" Last Change: 2018-01-28
|
||||
" License: Vim License
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim
|
||||
|
||||
" Bug completion requires apt-listbugs installed for Debian packages or
|
||||
" python-launchpadlib installed for Ubuntu packages
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin=1
|
||||
|
||||
" {{{1 Local settings (do on every load)
|
||||
if exists('g:debchangelog_fold_enable')
|
||||
setlocal foldmethod=expr
|
||||
setlocal foldexpr=DebGetChangelogFold(v:lnum)
|
||||
setlocal foldtext=DebChangelogFoldText()
|
||||
endif
|
||||
|
||||
" Debian changelogs are not supposed to have any other text width,
|
||||
" so the user cannot override this setting
|
||||
setlocal tw=78
|
||||
setlocal comments=f:*
|
||||
|
||||
" Clean unloading
|
||||
let b:undo_ftplugin = 'setlocal tw< comments< foldmethod< foldexpr< foldtext<'
|
||||
" }}}1
|
||||
|
||||
if exists('g:did_changelog_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin (this is global)
|
||||
let g:did_changelog_ftplugin = 1
|
||||
|
||||
" {{{1 GUI menu
|
||||
|
||||
" Helper functions returning various data.
|
||||
" Returns full name, either from $DEBFULLNAME or debianfullname.
|
||||
" TODO Is there a way to determine name from anywhere else?
|
||||
function <SID>FullName()
|
||||
if exists('$DEBFULLNAME')
|
||||
return $DEBFULLNAME
|
||||
elseif exists('g:debianfullname')
|
||||
return g:debianfullname
|
||||
else
|
||||
return 'Your Name'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Returns email address, from $DEBEMAIL, $EMAIL or debianemail.
|
||||
function <SID>Email()
|
||||
if exists('$DEBEMAIL')
|
||||
return $DEBEMAIL
|
||||
elseif exists('$EMAIL')
|
||||
return $EMAIL
|
||||
elseif exists('g:debianemail')
|
||||
return g:debianemail
|
||||
else
|
||||
return 'your@email.address'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Returns date in RFC822 format.
|
||||
function <SID>Date()
|
||||
let savelang = v:lc_time
|
||||
execute 'language time C'
|
||||
let dateandtime = strftime('%a, %d %b %Y %X %z')
|
||||
execute 'language time ' . savelang
|
||||
return dateandtime
|
||||
endfunction
|
||||
|
||||
function <SID>WarnIfNotUnfinalised()
|
||||
if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
|
||||
echohl WarningMsg
|
||||
echo 'The entry has not been unfinalised before editing.'
|
||||
echohl None
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
function <SID>Finalised()
|
||||
let savelinenum = line('.')
|
||||
1
|
||||
call search('^ -- ')
|
||||
if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
|
||||
let returnvalue = 1
|
||||
else
|
||||
let returnvalue = 0
|
||||
endif
|
||||
execute savelinenum
|
||||
return returnvalue
|
||||
endfunction
|
||||
|
||||
" These functions implement the menus
|
||||
function NewVersion()
|
||||
" The new entry is unfinalised and shall be changed
|
||||
amenu disable Changelog.New\ Version
|
||||
amenu enable Changelog.Add\ Entry
|
||||
amenu enable Changelog.Close\ Bug
|
||||
amenu enable Changelog.Set\ Distribution
|
||||
amenu enable Changelog.Set\ Urgency
|
||||
amenu disable Changelog.Unfinalise
|
||||
amenu enable Changelog.Finalise
|
||||
call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', ''))
|
||||
call append(1, '')
|
||||
call append(2, '')
|
||||
call append(3, ' -- ')
|
||||
call append(4, '')
|
||||
call Urgency('low')
|
||||
normal! 1G0
|
||||
call search(')')
|
||||
normal! h
|
||||
normal!
|
||||
call setline(1, substitute(getline(1), '-\$\$', '-', ''))
|
||||
if exists('g:debchangelog_fold_enable')
|
||||
foldopen
|
||||
endif
|
||||
call AddEntry()
|
||||
endfunction
|
||||
|
||||
function AddEntry()
|
||||
1
|
||||
call search('^ -- ')
|
||||
.-2
|
||||
call append('.', ' * ')
|
||||
.+3
|
||||
let warn=<SID>WarnIfNotUnfinalised()
|
||||
.-2
|
||||
if warn
|
||||
echohl MoreMsg
|
||||
call input('Hit ENTER')
|
||||
echohl None
|
||||
endif
|
||||
startinsert!
|
||||
endfunction
|
||||
|
||||
function CloseBug()
|
||||
1
|
||||
call search('^ -- ')
|
||||
let warn=<SID>WarnIfNotUnfinalised()
|
||||
.-2
|
||||
call append('.', ' * (closes: #' . input('Bug number to close: ') . ')')
|
||||
normal! j^ll
|
||||
startinsert
|
||||
endfunction
|
||||
|
||||
function Distribution(dist)
|
||||
call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ') ' . a:dist . ';', ''))
|
||||
endfunction
|
||||
|
||||
function Urgency(urg)
|
||||
call setline(1, substitute(getline(1), 'urgency=.*$', 'urgency=' . a:urg, ''))
|
||||
endfunction
|
||||
|
||||
function <SID>UnfinaliseMenu()
|
||||
" This means the entry shall be changed
|
||||
amenu disable Changelog.New\ Version
|
||||
amenu enable Changelog.Add\ Entry
|
||||
amenu enable Changelog.Close\ Bug
|
||||
amenu enable Changelog.Set\ Distribution
|
||||
amenu enable Changelog.Set\ Urgency
|
||||
amenu disable Changelog.Unfinalise
|
||||
amenu enable Changelog.Finalise
|
||||
endfunction
|
||||
|
||||
function Unfinalise()
|
||||
call <SID>UnfinaliseMenu()
|
||||
1
|
||||
call search('^ -- ')
|
||||
call setline('.', ' -- ')
|
||||
endfunction
|
||||
|
||||
function <SID>FinaliseMenu()
|
||||
" This means the entry should not be changed anymore
|
||||
amenu enable Changelog.New\ Version
|
||||
amenu disable Changelog.Add\ Entry
|
||||
amenu disable Changelog.Close\ Bug
|
||||
amenu disable Changelog.Set\ Distribution
|
||||
amenu disable Changelog.Set\ Urgency
|
||||
amenu enable Changelog.Unfinalise
|
||||
amenu disable Changelog.Finalise
|
||||
endfunction
|
||||
|
||||
function Finalise()
|
||||
call <SID>FinaliseMenu()
|
||||
1
|
||||
call search('^ -- ')
|
||||
call setline('.', ' -- ' . <SID>FullName() . ' <' . <SID>Email() . '> ' . <SID>Date())
|
||||
endfunction
|
||||
|
||||
|
||||
function <SID>MakeMenu()
|
||||
amenu &Changelog.&New\ Version :call NewVersion()<CR>
|
||||
amenu Changelog.&Add\ Entry :call AddEntry()<CR>
|
||||
amenu Changelog.&Close\ Bug :call CloseBug()<CR>
|
||||
menu Changelog.-sep- <nul>
|
||||
|
||||
amenu Changelog.Set\ &Distribution.&unstable :call Distribution("unstable")<CR>
|
||||
amenu Changelog.Set\ Distribution.&frozen :call Distribution("frozen")<CR>
|
||||
amenu Changelog.Set\ Distribution.&stable :call Distribution("stable")<CR>
|
||||
menu Changelog.Set\ Distribution.-sep- <nul>
|
||||
amenu Changelog.Set\ Distribution.frozen\ unstable :call Distribution("frozen unstable")<CR>
|
||||
amenu Changelog.Set\ Distribution.stable\ unstable :call Distribution("stable unstable")<CR>
|
||||
amenu Changelog.Set\ Distribution.stable\ frozen :call Distribution("stable frozen")<CR>
|
||||
amenu Changelog.Set\ Distribution.stable\ frozen\ unstable :call Distribution("stable frozen unstable")<CR>
|
||||
|
||||
amenu Changelog.Set\ &Urgency.&low :call Urgency("low")<CR>
|
||||
amenu Changelog.Set\ Urgency.&medium :call Urgency("medium")<CR>
|
||||
amenu Changelog.Set\ Urgency.&high :call Urgency("high")<CR>
|
||||
|
||||
menu Changelog.-sep- <nul>
|
||||
amenu Changelog.U&nfinalise :call Unfinalise()<CR>
|
||||
amenu Changelog.&Finalise :call Finalise()<CR>
|
||||
|
||||
if <SID>Finalised()
|
||||
call <SID>FinaliseMenu()
|
||||
else
|
||||
call <SID>UnfinaliseMenu()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
augroup changelogMenu
|
||||
au BufEnter * if &filetype == "debchangelog" | call <SID>MakeMenu() | endif
|
||||
au BufLeave * if &filetype == "debchangelog" | silent! aunmenu Changelog | endif
|
||||
augroup END
|
||||
|
||||
" }}}
|
||||
" {{{1 folding
|
||||
|
||||
" look for an author name in the [zonestart zoneend] lines searching backward
|
||||
function! s:getAuthor(zonestart, zoneend)
|
||||
let linepos = a:zoneend
|
||||
while linepos >= a:zonestart
|
||||
let line = getline(linepos)
|
||||
if line =~# '^ --'
|
||||
return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
|
||||
endif
|
||||
let linepos -= 1
|
||||
endwhile
|
||||
return '[unknown]'
|
||||
endfunction
|
||||
|
||||
" Look for a package source name searching backward from the givenline and
|
||||
" returns it. Return the empty string if the package name can't be found
|
||||
function! DebGetPkgSrcName(lineno)
|
||||
let lineidx = a:lineno
|
||||
let pkgname = ''
|
||||
while lineidx > 0
|
||||
let curline = getline(lineidx)
|
||||
if curline =~# '^\S'
|
||||
let pkgname = matchlist(curline, '^\(\S\+\).*$')[1]
|
||||
break
|
||||
endif
|
||||
let lineidx = lineidx - 1
|
||||
endwhile
|
||||
return pkgname
|
||||
endfunction
|
||||
|
||||
function! DebChangelogFoldText()
|
||||
if v:folddashes ==# '-' " changelog entry fold
|
||||
return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' '
|
||||
endif
|
||||
return foldtext()
|
||||
endfunction
|
||||
|
||||
function! DebGetChangelogFold(lnum)
|
||||
let line = getline(a:lnum)
|
||||
if line =~# '^\w\+'
|
||||
return '>1' " beginning of a changelog entry
|
||||
endif
|
||||
if line =~# '^\s\+\[.*\]'
|
||||
return '>2' " beginning of an author-specific chunk
|
||||
endif
|
||||
if line =~# '^ --'
|
||||
return '1'
|
||||
endif
|
||||
return '='
|
||||
endfunction
|
||||
|
||||
if exists('g:debchangelog_fold_enable')
|
||||
silent! foldopen! " unfold the entry the cursor is on (usually the first one)
|
||||
endif
|
||||
|
||||
" }}}
|
||||
|
||||
" {{{1 omnicompletion for Closes: #
|
||||
|
||||
if !exists('g:debchangelog_listbugs_severities')
|
||||
let g:debchangelog_listbugs_severities = 'critical,grave,serious,important,normal,minor,wishlist'
|
||||
endif
|
||||
|
||||
fun! DebCompleteBugs(findstart, base)
|
||||
if a:findstart
|
||||
let line = getline('.')
|
||||
|
||||
" try to detect whether this is closes: or lp:
|
||||
let g:debchangelog_complete_mode = 'debbugs'
|
||||
let try_colidx = col('.') - 1
|
||||
let colidx = -1 " default to no-completion-possible
|
||||
|
||||
while try_colidx > 0 && line[try_colidx - 1] =~# '\s\|\d\|#\|,\|:'
|
||||
let try_colidx = try_colidx - 1
|
||||
if line[try_colidx] ==# '#' && colidx == -1
|
||||
" found hash, where we complete from:
|
||||
let colidx = try_colidx
|
||||
elseif line[try_colidx] ==# ':'
|
||||
if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~? '\clp:'
|
||||
let g:debchangelog_complete_mode = 'lp'
|
||||
endif
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
return colidx
|
||||
else " return matches:
|
||||
let bug_lines = []
|
||||
if g:debchangelog_complete_mode ==? 'lp'
|
||||
if ! has('python')
|
||||
echoerr 'vim must be built with Python support to use LP bug completion'
|
||||
return
|
||||
endif
|
||||
let pkgsrc = DebGetPkgSrcName(line('.'))
|
||||
python << EOF
|
||||
import vim
|
||||
try:
|
||||
from launchpadlib.launchpad import Launchpad
|
||||
from lazr.restfulclient.errors import HTTPError
|
||||
# login anonymously
|
||||
lp = Launchpad.login_anonymously('debchangelog.vim', 'production')
|
||||
ubuntu = lp.distributions['ubuntu']
|
||||
try:
|
||||
sp = ubuntu.getSourcePackage(name=vim.eval('pkgsrc'))
|
||||
status = ('New', 'Incomplete', 'Confirmed', 'Triaged',
|
||||
'In Progress', 'Fix Committed')
|
||||
tasklist = sp.searchTasks(status=status, order_by='id')
|
||||
liststr = '['
|
||||
for task in tasklist:
|
||||
bug = task.bug
|
||||
liststr += "'#%d - %s'," % (bug.id, bug.title.replace('\'', '\'\''))
|
||||
liststr += ']'
|
||||
vim.command('silent let bug_lines = %s' % liststr.encode('utf-8'))
|
||||
except HTTPError:
|
||||
pass
|
||||
except ImportError:
|
||||
vim.command('echoerr \'python-launchpadlib >= 1.5.4 needs to be installed to use Launchpad bug completion\'')
|
||||
EOF
|
||||
else
|
||||
if ! filereadable('/usr/sbin/apt-listbugs')
|
||||
echoerr 'apt-listbugs not found, you should install it to use Closes bug completion'
|
||||
return
|
||||
endif
|
||||
let pkgsrc = DebGetPkgSrcName(line('.'))
|
||||
let listbugs_output = system('/usr/sbin/apt-listbugs -s ' . g:debchangelog_listbugs_severities . ' list ' . pkgsrc . ' | grep "^ #" 2> /dev/null')
|
||||
let bug_lines = split(listbugs_output, '\n')
|
||||
endif
|
||||
let completions = []
|
||||
for line in bug_lines
|
||||
let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$')
|
||||
" filter only those which match a:base:
|
||||
if parts[1] !~ '^' . a:base
|
||||
continue
|
||||
endif
|
||||
let completion = {}
|
||||
let completion['word'] = parts[1]
|
||||
let completion['menu'] = parts[2]
|
||||
let completion['info'] = parts[0]
|
||||
let completions += [completion]
|
||||
endfor
|
||||
return completions
|
||||
endif
|
||||
endfun
|
||||
|
||||
setlocal omnifunc=DebCompleteBugs
|
||||
|
||||
" }}}
|
||||
|
||||
" vim: set foldmethod=marker:
|
||||
|
||||
endif
|
||||
74
ftplugin/debcontrol.vim
Normal file
74
ftplugin/debcontrol.vim
Normal file
@@ -0,0 +1,74 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'debcontrol') == -1
|
||||
|
||||
" Vim filetype plugin file (GUI menu and folding)
|
||||
" Language: Debian control files
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
|
||||
" Last Change: 2018-01-28
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim
|
||||
|
||||
" Do these settings once per buffer
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin=1
|
||||
|
||||
" {{{1 Local settings (do on every load)
|
||||
if exists('g:debcontrol_fold_enable')
|
||||
setlocal foldmethod=expr
|
||||
setlocal foldexpr=DebControlFold(v:lnum)
|
||||
setlocal foldtext=DebControlFoldText()
|
||||
endif
|
||||
setlocal textwidth=0
|
||||
|
||||
" Clean unloading
|
||||
let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext<'
|
||||
|
||||
" }}}1
|
||||
|
||||
" {{{1 folding
|
||||
|
||||
function! s:getField(f, lnum)
|
||||
let line = getline(a:lnum)
|
||||
let fwdsteps = 0
|
||||
while line !~ '^'.a:f.':'
|
||||
let fwdsteps += 1
|
||||
let line = getline(a:lnum + fwdsteps)
|
||||
if line ==# ''
|
||||
return 'unknown'
|
||||
endif
|
||||
endwhile
|
||||
return substitute(line, '^'.a:f.': *', '', '')
|
||||
endfunction
|
||||
|
||||
function! DebControlFoldText()
|
||||
if v:folddashes ==# '-' " debcontrol entry fold
|
||||
let type = substitute(getline(v:foldstart), ':.*', '', '')
|
||||
if type ==# 'Source'
|
||||
let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
|
||||
return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
|
||||
endif
|
||||
let arch = s:getField('Architecture', v:foldstart)
|
||||
let ftext = substitute(foldtext(), ' *Package: *', ' [' . arch . '] ', '')
|
||||
return ftext . ': ' . s:getField('Description', v:foldstart) . ' '
|
||||
endif
|
||||
return foldtext()
|
||||
endfunction
|
||||
|
||||
function! DebControlFold(l)
|
||||
|
||||
" This is for not merging blank lines around folds to them
|
||||
if getline(a:l) =~# '^Source:'
|
||||
return '>1'
|
||||
endif
|
||||
|
||||
if getline(a:l) =~# '^Package:'
|
||||
return '>1'
|
||||
endif
|
||||
|
||||
return '='
|
||||
endfunction
|
||||
|
||||
" }}}1
|
||||
|
||||
endif
|
||||
22
ftplugin/denyhosts.vim
Normal file
22
ftplugin/denyhosts.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'denyhosts') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2007-12-04
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/dictconf.vim
Normal file
23
ftplugin/dictconf.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dictconf') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: dict(1) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/dictdconf.vim
Normal file
23
ftplugin/dictdconf.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dictdconf') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: dictd(8) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
22
ftplugin/diff.vim
Normal file
22
ftplugin/diff.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'diff') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Diff
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Jul 18
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl modeline<"
|
||||
|
||||
" Don't use modelines in a diff, they apply to the diffed file
|
||||
setlocal nomodeline
|
||||
|
||||
" If there are comments they start with #
|
||||
let &commentstring = "# %s"
|
||||
|
||||
endif
|
||||
23
ftplugin/dircolors.vim
Normal file
23
ftplugin/dircolors.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dircolors') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: dircolors(1) input file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
@@ -1,4 +1,4 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'docker-compose') == -1
|
||||
|
||||
" Define comment string
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
20
ftplugin/dockerfile.vim
Normal file
20
ftplugin/dockerfile.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Dockerfile
|
||||
" Maintainer: Honza Pokorny <http://honza.ca>
|
||||
" Last Change: 2014 Aug 29
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring<"
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
endif
|
||||
44
ftplugin/dosbatch.vim
Normal file
44
ftplugin/dosbatch.vim
Normal file
@@ -0,0 +1,44 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dosbatch') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: MS-DOS .bat files
|
||||
" Maintainer: Mike Williams <mrw@eandem.co.uk>
|
||||
" Last Change: 7th May 2020
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" BAT comment formatting
|
||||
setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
|
||||
setlocal commentstring=::\ %s
|
||||
setlocal formatoptions-=t formatoptions+=rol
|
||||
|
||||
" Lookup DOS keywords using Windows command help.
|
||||
if executable('help.exe')
|
||||
if has('terminal')
|
||||
setlocal keywordprg=:term\ help.exe
|
||||
else
|
||||
setlocal keywordprg=help.exe
|
||||
endif
|
||||
endif
|
||||
|
||||
" Define patterns for the browse file filter
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< formatoptions< keywordprg<"
|
||||
\ . "| unlet! b:browsefiler"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
44
ftplugin/dtd.vim
Normal file
44
ftplugin/dtd.vim
Normal file
@@ -0,0 +1,44 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dtd') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: dtd
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal commentstring=<!--%s-->
|
||||
setlocal comments=s:<!--,m:\ \ \ \ \ ,e:-->
|
||||
|
||||
setlocal formatoptions-=t
|
||||
if !exists("g:ft_dtd_autocomment") || (g:ft_dtd_autocomment == 1)
|
||||
setlocal formatoptions+=croql
|
||||
endif
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = '<!--:-->,<!:>'
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show Java-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="DTD Files (*.dtd)\t*.dtd\n" .
|
||||
\ "XML Files (*.xml)\t*.xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions<" .
|
||||
\ " | unlet! b:matchwords b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
23
ftplugin/elinks.vim
Normal file
23
ftplugin/elinks.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elinks') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: elinks(1) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
24
ftplugin/eterm.vim
Normal file
24
ftplugin/eterm.vim
Normal file
@@ -0,0 +1,24 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'eterm') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: eterm(1) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< inc< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s include=^\\s*include
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
53
ftplugin/falcon.vim
Normal file
53
ftplugin/falcon.vim
Normal file
@@ -0,0 +1,53 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'falcon') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Falcon
|
||||
" 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
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal softtabstop=4 shiftwidth=4
|
||||
setlocal suffixesadd=.fal,.ftd
|
||||
|
||||
" Matchit support
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
|
||||
let b:match_words =
|
||||
\ '\<\%(if\|case\|while\|until\|for\|do\|class\)\>=\@!' .
|
||||
\ ':' .
|
||||
\ '\<\%(else\|elsif\|when\)\>' .
|
||||
\ ':' .
|
||||
\ '\<end\>' .
|
||||
\ ',{:},\[:\],(:)'
|
||||
endif
|
||||
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
" Windows allows you to filter the open file dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Falcon Source Files (*.fal *.ftd)\t*.fal;*.ftd\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal tabstop< shiftwidth< expandtab< fileencoding<"
|
||||
\ . " suffixesadd< comments<"
|
||||
\ . "| unlet! b:browsefiler"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: set sw=4 sts=4 et tw=80 :
|
||||
|
||||
endif
|
||||
23
ftplugin/fetchmail.vim
Normal file
23
ftplugin/fetchmail.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fetchmail') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: fetchmail(1) RC File
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
137
ftplugin/fortran.vim
Normal file
137
ftplugin/fortran.vim
Normal file
@@ -0,0 +1,137 @@
|
||||
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: (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:
|
||||
" 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")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cposet=&cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Don't do other file type settings for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Determine whether this is a fixed or free format source file
|
||||
" if this hasn't been done yet using the priority:
|
||||
" buffer-local value
|
||||
" > global value
|
||||
" > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers
|
||||
if !exists("b:fortran_fixed_source")
|
||||
if exists("fortran_free_source")
|
||||
" User guarantees free source form
|
||||
let b:fortran_fixed_source = 0
|
||||
elseif exists("fortran_fixed_source")
|
||||
" User guarantees fixed source form
|
||||
let b:fortran_fixed_source = 1
|
||||
elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$'
|
||||
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
|
||||
let b:fortran_fixed_source = 0
|
||||
elseif expand("%:e") =~? '^\%(f\|f77\|for\)$'
|
||||
" Fixed-form file extension defaults
|
||||
let b:fortran_fixed_source = 1
|
||||
else
|
||||
" Modern fortran still allows both fixed and free source form
|
||||
" Assume fixed source form unless signs of free source form
|
||||
" are detected in the first five columns of the first s:lmax lines.
|
||||
" Detection becomes more accurate and time-consuming if more lines
|
||||
" are checked. Increase the limit below if you keep lots of comments at
|
||||
" the very top of each file and you have a fast computer.
|
||||
let s:lmax = 500
|
||||
if ( s:lmax > line("$") )
|
||||
let s:lmax = line("$")
|
||||
endif
|
||||
let b:fortran_fixed_source = 1
|
||||
let s:ln=1
|
||||
while s:ln <= s:lmax
|
||||
let s:test = strpart(getline(s:ln),0,5)
|
||||
if s:test !~ '^[Cc*]' && s:test !~ '^ *[!#]' && s:test =~ '[^ 0-9\t]' && s:test !~ '^[ 0-9]*\t'
|
||||
let b:fortran_fixed_source = 0
|
||||
break
|
||||
endif
|
||||
let s:ln = s:ln + 1
|
||||
endwhile
|
||||
unlet! s:lmax s:ln s:test
|
||||
endif
|
||||
endif
|
||||
|
||||
" Set comments and textwidth according to source type
|
||||
if (b:fortran_fixed_source == 1)
|
||||
setlocal comments=:!,:*,:C
|
||||
" Fixed format requires a textwidth of 72 for code
|
||||
setlocal tw=72
|
||||
" If you need to add "&" on continued lines so that the code is
|
||||
" compatible with both free and fixed format, then you should do so
|
||||
" in column 73 and uncomment the next line
|
||||
" setlocal tw=73
|
||||
else
|
||||
setlocal comments=:!
|
||||
" Free format allows a textwidth of 132
|
||||
setlocal tw=132
|
||||
endif
|
||||
|
||||
" Set commentstring for foldmethod=marker
|
||||
setlocal cms=!%s
|
||||
|
||||
" Tabs are not a good idea in Fortran so the default is to expand tabs
|
||||
if !exists("fortran_have_tabs")
|
||||
setlocal expandtab
|
||||
endif
|
||||
|
||||
" Set 'formatoptions' to break text lines
|
||||
setlocal fo+=t
|
||||
|
||||
setlocal include=^\\c#\\=\\s*include\\s\\+
|
||||
setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
|
||||
|
||||
" Define patterns for the matchit plugin
|
||||
if !exists("b:match_words")
|
||||
let s:notend = '\%(\<end\s\+\)\@<!'
|
||||
let s:notselect = '\%(\<select\s\+\)\@<!'
|
||||
let s:notelse = '\%(\<end\s\+\|\<else\s\+\)\@<!'
|
||||
let s:notprocedure = '\%(\s\+procedure\>\)\@!'
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words =
|
||||
\ '(:),' .
|
||||
\ '\<select\s*case\>:' . s:notselect. '\<case\>:\<end\s*select\>,' .
|
||||
\ s:notelse . '\<if\s*(.\+)\s*then\>:' .
|
||||
\ '\<else\s*\%(if\s*(.\+)\s*then\)\=\>:\<end\s*if\>,'.
|
||||
\ 'do\s\+\(\d\+\):\%(^\s*\)\@<=\1\s,'.
|
||||
\ s:notend . '\<do\>:\<end\s*do\>,'.
|
||||
\ s:notelse . '\<where\>:\<elsewhere\>:\<end\s*where\>,'.
|
||||
\ s:notend . '\<type\s*[^(]:\<end\s*type\>,'.
|
||||
\ s:notend . '\<forall\>:\<end\s*forall\>,'.
|
||||
\ s:notend . '\<associate\>:\<end\s*associate\>,'.
|
||||
\ s:notend . '\<enum\>:\<end\s*enum\>,'.
|
||||
\ s:notend . '\<interface\>:\<end\s*interface\>,'.
|
||||
\ s:notend . '\<subroutine\>:\<end\s*subroutine\>,'.
|
||||
\ s:notend . '\<function\>:\<end\s*function\>,'.
|
||||
\ s:notend . '\<module\>' . s:notprocedure . ':\<end\s*module\>,'.
|
||||
\ s:notend . '\<program\>:\<end\s*program\>'
|
||||
endif
|
||||
|
||||
" File filters for :browse e
|
||||
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
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc< sua<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:browsefilter"
|
||||
|
||||
let &cpoptions=s:cposet
|
||||
unlet s:cposet
|
||||
|
||||
" vim:sw=2
|
||||
|
||||
endif
|
||||
34
ftplugin/framescript.vim
Normal file
34
ftplugin/framescript.vim
Normal file
@@ -0,0 +1,34 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'framescript') == -1
|
||||
|
||||
" Vim ftplugin file
|
||||
" Language: FrameScript
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-19
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo< inc< | unlet! b:matchwords"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/,:// commentstring=/*\ %s\ */
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal include=^\\s*<#Include
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let s:not_end = '\c\%(\<End\)\@<!'
|
||||
let b:match_words =
|
||||
\ s:not_end . '\<If\>:\c\<ElseIf\>:\c\<Else\>:\c\<EndIf\>,' .
|
||||
\ s:not_end . '\<Loop\>:\c\<EndLoop\>' .
|
||||
\ s:not_end . '\<Sub\>:\c\<EndSub\>'
|
||||
unlet s:not_end
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
18
ftplugin/fvwm.vim
Normal file
18
ftplugin/fvwm.vim
Normal file
@@ -0,0 +1,18 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fvwm') == -1
|
||||
|
||||
" Created : Tue 09 May 2006 02:07:31 PM CDT
|
||||
" Modified : Tue 09 May 2006 02:07:31 PM CDT
|
||||
" Author : Gautam Iyer <gi1242@users.sourceforge.net>
|
||||
" Description : ftplugin for fvwm config files
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
endif
|
||||
16
ftplugin/gdb.vim
Normal file
16
ftplugin/gdb.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gdb') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: gdb
|
||||
" Maintainer: Michaël Peeters <NOSPAMm.vim@noekeon.org>
|
||||
" Last Changed: 26 Oct 2017
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal commentstring=#%s
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal cms<"
|
||||
|
||||
endif
|
||||
23
ftplugin/gpg.vim
Normal file
23
ftplugin/gpg.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gpg') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: gpg(1) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/group.vim
Normal file
23
ftplugin/group.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'group') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: group(5) user group file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
66
ftplugin/hamster.vim
Normal file
66
ftplugin/hamster.vim
Normal file
@@ -0,0 +1,66 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hamster') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Hamster Script
|
||||
" Version: 2.0.6.0
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Last Change: 2017 Mar 18
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< tw< commentstring<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Use the # sign for comments
|
||||
setlocal comments=:#
|
||||
|
||||
" Format comments to be up to 78 characters long
|
||||
if &tw == 0
|
||||
setlocal tw=78
|
||||
endif
|
||||
|
||||
" Comments start with a double quote
|
||||
setlocal commentstring=#%s
|
||||
|
||||
" Move around functions.
|
||||
noremap <silent><buffer> [[ :call search('^\s*sub\>', "bW")<CR>
|
||||
noremap <silent><buffer> ]] :call search('^\s*sub\>', "W")<CR>
|
||||
noremap <silent><buffer> [] :call search('^\s*endsub\>', "bW")<CR>
|
||||
noremap <silent><buffer> ][ :call search('^\s*endsub\>', "W")<CR>
|
||||
|
||||
" Move around comments
|
||||
noremap <silent><buffer> ]# :call search('^\s*#\@!', "W")<CR>
|
||||
noremap <silent><buffer> [# :call search('^\s*#\@!', "bW")<CR>
|
||||
|
||||
" Let the matchit plugin know what items can be matched.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<sub\>:\<return\>:\<endsub\>,' .
|
||||
\ '\<do\|while\|repeat\|for\>:\<break\>:\<continue\>:\<loop\|endwhile\|until\|endfor\>,' .
|
||||
\ '\<if\>:\<else\%[if]\>:\<endif\>'
|
||||
|
||||
" Ignore ":syntax region" commands, the 'end' argument clobbers if-endif
|
||||
" let b:match_skip = 'getline(".") =~ "^\\s*sy\\%[ntax]\\s\\+region" ||
|
||||
" \ synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string"'
|
||||
endif
|
||||
|
||||
setlocal ignorecase
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
setlocal cpo+=M " makes \%( match \)
|
||||
|
||||
endif
|
||||
20
ftplugin/hgcommit.vim
Normal file
20
ftplugin/hgcommit.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hgcommit') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: hg (Mercurial) commit file
|
||||
" Maintainer: Ken Takata <kentkt at csc dot jp>
|
||||
" Last Change: 2016 Jan 6
|
||||
" Filenames: hg-editor-*.txt
|
||||
" License: VIM License
|
||||
" URL: https://github.com/k-takata/hg-vim
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal nomodeline
|
||||
|
||||
let b:undo_ftplugin = 'setl modeline<'
|
||||
|
||||
endif
|
||||
43
ftplugin/hog.vim
Normal file
43
ftplugin/hog.vim
Normal file
@@ -0,0 +1,43 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hog') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: hog (snort.conf)
|
||||
" Maintainer: . Victor Roemer, <vroemer@badsec.org>.
|
||||
" Last Change: Mar 1, 2013
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:undo_ftplugin = "setl fo< com< cms< def< inc<"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal formatoptions=croq
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=\c#\ %s
|
||||
setlocal define=\c^\s\{-}var
|
||||
setlocal include=\c^\s\{-}include
|
||||
|
||||
" Move around configurations
|
||||
let s:hog_keyword_match = '\c^\s*\<\(preprocessor\\|config\\|output\\|include\\|ipvar\\|portvar\\|var\\|dynamicpreprocessor\\|' .
|
||||
\ 'dynamicengine\\|dynamicdetection\\|activate\\|alert\\|drop\\|block\\|dynamic\\|log\\|pass\\|reject\\|sdrop\\|sblock\)\>'
|
||||
|
||||
exec "nnoremap <buffer><silent> ]] :call search('" . s:hog_keyword_match . "', 'W' )<CR>"
|
||||
exec "nnoremap <buffer><silent> [[ :call search('" . s:hog_keyword_match . "', 'bW' )<CR>"
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words =
|
||||
\ '^\s*\<\%(preprocessor\|config\|output\|include\|ipvar\|portvar' .
|
||||
\ '\|var\|dynamicpreprocessor\|dynamicengine\|dynamicdetection' .
|
||||
\ '\|activate\|alert\|drop\|block\|dynamic\|log\|pass\|reject' .
|
||||
\ '\|sdrop\|sblock\>\):$,\::\,:;'
|
||||
let b:match_skip = 'r:\\.\{-}$\|^\s*#.\{-}$\|^\s*$'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
22
ftplugin/hostconf.vim
Normal file
22
ftplugin/hostconf.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hostconf') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2007-12-04
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/hostsaccess.vim
Normal file
23
ftplugin/hostsaccess.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'hostsaccess') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: hosts_access(5) control file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
@@ -1,13 +1,55 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html') == -1
|
||||
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
" URL: http://github.com/othree/html5.vim
|
||||
" Last Change: 2014-05-02
|
||||
" License: MIT
|
||||
" Changes: Add - to keyword
|
||||
" Vim filetype plugin file
|
||||
" Language: html
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
" setlocal iskeyword+=-
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal matchpairs+=<:>
|
||||
setlocal commentstring=<!--%s-->
|
||||
setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
|
||||
|
||||
if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
endif
|
||||
|
||||
if exists('&omnifunc')
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
call htmlcomplete#DetectOmniFlavor()
|
||||
endif
|
||||
|
||||
" HTML: thanks to Johannes Zellner and Benji Fisher.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words = '<:>,' .
|
||||
\ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
|
||||
\ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
|
||||
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show HTML-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="HTML Files (*.html,*.htm)\t*.htm;*.html\n" .
|
||||
\ "JavaScript Files (*.js)\t*.js\n" .
|
||||
\ "Cascading StyleSheets (*.css)\t*.css\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal commentstring< matchpairs< omnifunc< comments< formatoptions<" .
|
||||
\ " | unlet! b:match_ignorecase b:match_skip b:match_words b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
|
||||
24
ftplugin/indent.vim
Normal file
24
ftplugin/indent.vim
Normal file
@@ -0,0 +1,24 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'indent') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: indent(1) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
85
ftplugin/j.vim
Normal file
85
ftplugin/j.vim
Normal file
@@ -0,0 +1,85 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'j') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <dbuergin@gluet.ch>
|
||||
" URL: https://gitlab.com/glts/vim-j
|
||||
" Last Change: 2015-10-27
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=48-57,A-Z,a-z,_
|
||||
setlocal comments=:NB.
|
||||
setlocal commentstring=NB.\ %s
|
||||
setlocal formatoptions-=t
|
||||
setlocal matchpairs=(:)
|
||||
setlocal path-=/usr/include
|
||||
|
||||
" Includes. To make the shorthand form "require 'web/cgi'" work, double the
|
||||
" last path component. Also strip off leading folder names like "~addons/".
|
||||
setlocal include=\\v^\\s*(load\|require)\\s*'\\zs\\f+\\ze'
|
||||
setlocal includeexpr=substitute(substitute(tr(v:fname,'\\','/'),'\\v^[^~][^/.]*(/[^/.]+)$','&\\1',''),'\\v^\\~[^/]+/','','')
|
||||
setlocal suffixesadd=.ijs
|
||||
|
||||
let b:undo_ftplugin = 'setlocal suffixesadd< includeexpr< include< path< matchpairs< formatoptions< commentstring< comments< iskeyword<'
|
||||
|
||||
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
|
||||
" inside the function in order to avoid matching on the current cursor line.
|
||||
let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*'
|
||||
let s:sectionend = '\s*)\s*'
|
||||
|
||||
function! s:SearchSection(end, backwards, visualmode) abort
|
||||
if a:visualmode !=# ''
|
||||
normal! gv
|
||||
endif
|
||||
let l:flags = a:backwards ? 'bsW' : 'sW'
|
||||
if a:end
|
||||
call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
|
||||
else
|
||||
call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
noremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
|
||||
xnoremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
|
||||
sunmap <buffer> ]]
|
||||
noremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
|
||||
xnoremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
|
||||
sunmap <buffer> ][
|
||||
noremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
|
||||
xnoremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
|
||||
sunmap <buffer> [[
|
||||
noremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
|
||||
xnoremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
|
||||
sunmap <buffer> []
|
||||
|
||||
let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
|
||||
\ . ' | silent! execute "unmap <buffer> ]["'
|
||||
\ . ' | silent! execute "unmap <buffer> [["'
|
||||
\ . ' | silent! execute "unmap <buffer> []"'
|
||||
|
||||
" Browse dialog filter on Windows (see ":help browsefilter")
|
||||
if has('gui_win32') && !exists('b:browsefilter')
|
||||
let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
|
||||
\ . "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
" Enhanced "%" matching (see ":help matchit")
|
||||
if exists('loaded_matchit') && !exists('b:match_words')
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = '^\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\)\>:^\s*\:\s*$:^\s*)\s*$'
|
||||
\ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\<end\.'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words'
|
||||
endif
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
55
ftplugin/java.vim
Normal file
55
ftplugin/java.vim
Normal file
@@ -0,0 +1,55 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'java') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Java
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Change: 2012 Mar 11
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
" For filename completion, prefer the .java extension over the .class
|
||||
" extension.
|
||||
set suffixes+=.class
|
||||
|
||||
" Enable gf on import statements. Convert . in the package
|
||||
" name to / and append .java to the name, then search the path.
|
||||
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
||||
setlocal suffixesadd=.java
|
||||
if exists("g:ftplugin_java_source_path")
|
||||
let &l:path=g:ftplugin_java_source_path . ',' . &l:path
|
||||
endif
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments. Behaves just like C.
|
||||
setlocal comments& comments^=sO:*\ -,mO:*\ \ ,exO:*/
|
||||
|
||||
setlocal commentstring=//%s
|
||||
|
||||
" Change the :browse e filter to primarily show Java-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="Java Files (*.java)\t*.java\n" .
|
||||
\ "Properties Files (*.prop*)\t*.prop*\n" .
|
||||
\ "Manifest Files (*.mf)\t*.mf\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal suffixes< suffixesadd<" .
|
||||
\ " formatoptions< comments< commentstring< path< includeexpr<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
19
ftplugin/jproperties.vim
Normal file
19
ftplugin/jproperties.vim
Normal file
@@ -0,0 +1,19 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jproperties') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Java properties file
|
||||
" Maintainer: None
|
||||
" Last Change: 2019 Dec 01
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal formatoptions-=t
|
||||
setlocal comments=:#,:!
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com< fo<"
|
||||
|
||||
endif
|
||||
71
ftplugin/jsp.vim
Normal file
71
ftplugin/jsp.vim
Normal file
@@ -0,0 +1,71 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsp') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: jsp
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
" Define some defaults in case the included ftplugins don't set them.
|
||||
let s:undo_ftplugin = ""
|
||||
let s:browsefilter = "Java Files (*.java)\t*.java\n" .
|
||||
\ "HTML Files (*.html, *.htm)\t*.html;*.htm\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let s:match_words = ""
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
unlet b:did_ftplugin
|
||||
|
||||
" Override our defaults if these were set by an included ftplugin.
|
||||
if exists("b:undo_ftplugin")
|
||||
let s:undo_ftplugin = b:undo_ftplugin
|
||||
unlet b:undo_ftplugin
|
||||
endif
|
||||
if exists("b:browsefilter")
|
||||
let s:browsefilter = b:browsefilter
|
||||
unlet b:browsefilter
|
||||
endif
|
||||
if exists("b:match_words")
|
||||
let s:match_words = b:match_words
|
||||
unlet b:match_words
|
||||
endif
|
||||
|
||||
runtime! ftplugin/java.vim ftplugin/java_*.vim ftplugin/java/*.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Combine the new set of values with those previously included.
|
||||
if exists("b:undo_ftplugin")
|
||||
let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin
|
||||
endif
|
||||
if exists ("b:browsefilter")
|
||||
let s:browsefilter = b:browsefilter . s:browsefilter
|
||||
endif
|
||||
if exists("b:match_words")
|
||||
let s:match_words = b:match_words . ',' . s:match_words
|
||||
endif
|
||||
|
||||
" Load the combined list of match_words for matchit.vim
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = s:match_words
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show JSP-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="JSP Files (*.jsp)\t*.jsp\n" . s:browsefilter
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "unlet! b:browsefilter b:match_words | " . s:undo_ftplugin
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
31
ftplugin/kconfig.vim
Normal file
31
ftplugin/kconfig.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kconfig') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Vim syntax file
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-05-29
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-kconfig
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
" For matchit.vim
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = '^\<menu\>:\<endmenu\>,^\<if\>:\<endif\>,^\<choice\>:\<endchoice\>'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
36
ftplugin/kwt.vim
Normal file
36
ftplugin/kwt.vim
Normal file
@@ -0,0 +1,36 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kwt') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Kimwitu++
|
||||
" Maintainer: Michael Piefel <entwurf@piefel.de>
|
||||
" Last Change: 10 March 2012
|
||||
|
||||
" Behaves almost like C++
|
||||
runtime! ftplugin/cpp.vim ftplugin/cpp_*.vim ftplugin/cpp/*.vim
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Limit the browser to related files
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Kimwitu/Kimwitu++ Files (*.k)\t*.k\n" .
|
||||
\ "Lex/Flex Files (*.l)\t*.l\n" .
|
||||
\ "Yacc/Bison Files (*.y)\t*.y\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Set the errorformat for the Kimwitu++ compiler
|
||||
set efm+=kc%.%#:\ error\ at\ %f:%l:\ %m
|
||||
|
||||
if exists("b:undo_ftplugin")
|
||||
let b:undo_ftplugin = b:undo_ftplugin . " | setlocal efm<"
|
||||
\ . "| unlet! b:browsefiler"
|
||||
else
|
||||
let b:undo_ftplugin = "setlocal efm<"
|
||||
\ . "| unlet! b:browsefiler"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
24
ftplugin/ld.vim
Normal file
24
ftplugin/ld.vim
Normal file
@@ -0,0 +1,24 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ld') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: ld(1) script
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< inc< fo<"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*%s*/ include=^\\s*INCLUDE
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/lftp.vim
Normal file
23
ftplugin/lftp.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lftp') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: lftp(1) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/libao.vim
Normal file
23
ftplugin/libao.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'libao') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: libao.conf(5) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
23
ftplugin/limits.vim
Normal file
23
ftplugin/limits.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'limits') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: limits(5) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
65
ftplugin/liquid.vim
Normal file
65
ftplugin/liquid.vim
Normal file
@@ -0,0 +1,65 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Liquid
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists('g:liquid_default_subtype')
|
||||
let g:liquid_default_subtype = 'html'
|
||||
endif
|
||||
|
||||
if !exists('b:liquid_subtype')
|
||||
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
|
||||
let b:liquid_subtype = matchstr(s:lines,'liquid_subtype=\zs\w\+')
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = matchstr(&filetype,'^liquid\.\zs\w\+')
|
||||
endif
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = matchstr(substitute(expand('%:t'),'\c\%(\.liquid\)\+$','',''),'\.\zs\w\+$')
|
||||
endif
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = g:liquid_default_subtype
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists('b:liquid_subtype') && b:liquid_subtype != ''
|
||||
exe 'runtime! ftplugin/'.b:liquid_subtype.'.vim ftplugin/'.b:liquid_subtype.'_*.vim ftplugin/'.b:liquid_subtype.'/*.vim'
|
||||
else
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= '|'
|
||||
else
|
||||
let b:undo_ftplugin = ''
|
||||
endif
|
||||
if exists('b:browsefilter')
|
||||
let b:browsefilter = "\n".b:browsefilter
|
||||
else
|
||||
let b:browsefilter = ''
|
||||
endif
|
||||
if exists('b:match_words')
|
||||
let b:match_words .= ','
|
||||
elseif exists('loaded_matchit')
|
||||
let b:match_words = ''
|
||||
endif
|
||||
|
||||
if has('gui_win32')
|
||||
let b:browsefilter="Liquid Files (*.liquid)\t*.liquid" . b:browsefilter
|
||||
endif
|
||||
|
||||
if exists('loaded_matchit')
|
||||
let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\<end\%(if\w*\|unless\|case\)\>,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\<end\%(for\|tablerow\)\>,<\(capture\|comment\|highlight\)\>:\<end\1\>'
|
||||
endif
|
||||
|
||||
setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %}
|
||||
|
||||
let b:undo_ftplugin .= 'setl cms< | unlet! b:browsefilter b:match_words'
|
||||
|
||||
endif
|
||||
30
ftplugin/lisp.vim
Normal file
30
ftplugin/lisp.vim
Normal file
@@ -0,0 +1,30 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lisp') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Lisp
|
||||
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||
" URL: http://sites.google.com/site/khorser/opensource/vim
|
||||
" Original author: Dorai Sitaram <ds26@gte.com>
|
||||
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Oct 23, 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setl comments=:;
|
||||
setl define=^\\s*(def\\k*
|
||||
setl formatoptions-=t
|
||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
||||
setl lisp
|
||||
setl commentstring=;%s
|
||||
|
||||
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp< commentstring<"
|
||||
|
||||
endif
|
||||
21
ftplugin/logcheck.vim
Normal file
21
ftplugin/logcheck.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'logcheck') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Logcheck
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Last Change: 2018 Dec 27
|
||||
" License: Vim License
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/logcheck.vim
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = 'setl fo<'
|
||||
|
||||
" Do not hard-wrap non-comment lines since each line is a self-contained
|
||||
" regular expression
|
||||
setlocal formatoptions-=t
|
||||
|
||||
endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user