summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rwxr-xr-xbuild664
1 files changed, 10 insertions, 654 deletions
diff --git a/build b/build
index 70ba6cb2..9527271d 100755
--- a/build
+++ b/build
@@ -7,6 +7,8 @@ require 'fileutils'
Dir.chdir(__dir__)
+PACKAGES = YAML.load_stream(File.read('packages.yaml'))
+
BASE_URL = 'https://raw.githubusercontent.com/github/linguist/master'
DIRS = {
@@ -19,654 +21,6 @@ DIRS = {
go: %w(autoload/go/config.vim syntax compiler indent after/syntax after/indent)
}
-PACKAGES = [
- {
- name: "acpiasl",
- remote: "martinlroth/vim-acpi-asl",
- },
- {
- name: "ansible",
- remote: "pearofducks/ansible-vim",
- },
- {
- name: "apiblueprint",
- remote: "sheerun/apiblueprint.vim",
- },
- {
- name: "applescript",
- remote: "mityu/vim-applescript",
- dirs: DIRS[:syntax]
- },
- {
- name: "arduino",
- remote: "sudar/vim-arduino-syntax",
- },
- {
- name: "asciidoc",
- remote: "asciidoc/vim-asciidoc",
- },
- {
- name: "autohotkey",
- remote: "hnamikaw/vim-autohotkey",
- },
- {
- name: "blade",
- remote: "jwalton512/vim-blade",
- },
- {
- name: "brewfile",
- remote: "bfontaine/Brewfile.vim",
- },
- {
- name: "c++11",
- remote: "octol/vim-cpp-enhanced-highlight",
- },
- {
- name: "c/c++",
- remote: "vim-jp/vim-cpp",
- },
- {
- name: "caddyfile",
- remote: "isobit/vim-caddyfile",
- },
- {
- name: "carp",
- remote: "hellerve/carp-vim",
- },
- {
- name: "cjsx",
- remote: "mtscout6/vim-cjsx",
- },
- {
- name: "clojure",
- remote: "guns/vim-clojure-static",
- },
- {
- name: "cmake",
- remote: "pboettch/vim-cmake-syntax",
- },
- {
- name: "coffee-script",
- remote: "kchmck/vim-coffee-script",
- dirs: DIRS[:noafter]
- },
- {
- name: "cql",
- remote: "elubow/cql-vim",
- },
- {
- name: "cryptol",
- remote: "victoredwardocallaghan/cryptol.vim",
- },
- {
- name: "crystal",
- remote: "rhysd/vim-crystal",
- },
- {
- name: "csv",
- remote: "chrisbra/csv.vim",
- },
- {
- name: "cucumber",
- remote: "tpope/vim-cucumber",
- },
- {
- name: "cue",
- remote: "mgrabovsky/vim-cuesheet",
- },
- {
- name: "dart",
- remote: "dart-lang/dart-vim-plugin",
- },
- {
- name: "dhall",
- remote: "vmchale/dhall-vim",
- },
- {
- name: "dlang",
- remote: "JesseKPhillips/d.vim",
- },
- {
- name: "dockerfile",
- remote: "ekalinin/Dockerfile.vim",
- },
- {
- name: "elixir",
- remote: "elixir-lang/vim-elixir",
- },
- {
- name: "elm",
- remote: "andys8/vim-elm-syntax",
- },
- {
- name: "emberscript",
- remote: "yalesov/vim-ember-script",
- },
- {
- name: "emblem",
- remote: "yalesov/vim-emblem",
- },
- {
- name: "erlang",
- remote: "vim-erlang/vim-erlang-runtime",
- },
- {
- name: "fennel",
- remote: "bakpakin/fennel.vim",
- },
- {
- name: "ferm",
- remote: "vim-scripts/ferm.vim",
- },
- {
- name: "fish",
- remote: "georgewitteman/vim-fish",
- },
- {
- name: "flatbuffers",
- remote: "dcharbon/vim-flatbuffers",
- },
- {
- name: "fsharp",
- remote: "ionide/Ionide-vim",
- dirs: DIRS[:basic]
- },
- {
- name: "gdscript",
- remote: "calviken/vim-gdscript3",
- dirs: DIRS[:syntax]
- },
- {
- name: "git",
- remote: "tpope/vim-git",
- },
- {
- name: "glsl",
- remote: "tikhomirov/vim-glsl",
- dirs: DIRS[:noafter]
- },
- {
- name: "gmpl",
- remote: "maelvalais/gmpl.vim",
- },
- {
- name: "gnuplot",
- remote: "vim-scripts/gnuplot-syntax-highlighting",
- },
- {
- name: "go",
- remote: "fatih/vim-go",
- dirs: DIRS[:go]
- },
- {
- name: "graphql",
- remote: "jparise/vim-graphql",
- dirs: DIRS[:all]
- },
- {
- name: "gradle",
- remote: "tfnico/vim-gradle",
- },
- {
- name: "haml",
- remote: "sheerun/vim-haml",
- },
- {
- name: "handlebars",
- remote: "sheerun/vim-mustache-handlebars",
- },
- {
- name: "haproxy",
- remote: "CH-DanReif/haproxy.vim",
- },
- {
- name: "haskell",
- remote: "neovimhaskell/haskell-vim",
- },
- {
- name: "haxe",
- remote: "yaymukund/vim-haxe",
- },
- {
- name: "hcl",
- remote: "b4b4r07/vim-hcl",
- },
- {
- name: "helm",
- remote: "towolf/vim-helm",
- },
- {
- name: "hive",
- remote: "zebradil/hive.vim",
- },
- {
- name: "html5",
- remote: "othree/html5.vim",
- },
- {
- name: "i3",
- remote: "mboughaba/i3config.vim",
- },
- {
- name: "icalenadr",
- remote: "chutzpah/icalendar.vim",
- },
- {
- name: "idris",
- remote: "idris-hackers/idris-vim",
- },
- {
- name: "ion",
- remote: "vmchale/ion-vim",
- },
- {
- name: "javascript",
- remote: "pangloss/vim-javascript",
- dirs: DIRS[:javascript]
- },
- {
- name: "jenkins",
- remote: "martinda/Jenkinsfile-vim-syntax",
- },
- {
- name: "jinja",
- remote: "lepture/vim-jinja",
- },
- {
- name: "jq",
- remote: "vito-c/jq.vim",
- },
- {
- name: "json5",
- remote: "GutenYe/json5.vim",
- },
- {
- name: "json",
- remote: "elzr/vim-json",
- },
- {
- name: "jsonnet",
- remote: "google/vim-jsonnet",
- },
- {
- name: "jst",
- remote: "briancollins/vim-jst",
- },
- {
- name: "jsx",
- remote: "MaxMEllon/vim-jsx-pretty",
- dirs: DIRS[:all]
- },
- {
- name: "julia",
- remote: "JuliaEditorSupport/julia-vim",
- },
- {
- name: "kotlin",
- remote: "udalov/kotlin-vim",
- },
- {
- name: "ledger",
- remote: "ledger/vim-ledger",
- dirs: DIRS[:basic]
- },
- {
- name: "less",
- remote: "groenewege/vim-less",
- dirs: DIRS[:noafter]
- },
- {
- name: "lilypond",
- remote: "anowlcalledjosh/vim-lilypond",
- },
- {
- name: "livescript",
- remote: "gkz/vim-ls",
- },
- {
- name: "llvm",
- remote: "rhysd/vim-llvm",
- },
- {
- name: "log",
- remote: "MTDL9/vim-log-highlighting",
- },
- {
- name: "lua",
- remote: "tbastos/vim-lua",
- },
- {
- name: "mako",
- remote: "sophacles/vim-bundle-mako",
- },
- {
- name: "markdown",
- remote: "plasticboy/vim-markdown",
- dirs: DIRS[:noafter]
- },
- {
- name: "mathematica",
- remote: "voldikss/vim-mma",
- },
- {
- name: "mdx",
- remote: "jxnblk/vim-mdx-js",
- },
- {
- name: "meson",
- remote: "mesonbuild/meson:data/syntax-highlighting/vim",
- dirs: DIRS[:all]
- },
- {
- name: "moonscript",
- remote: "leafo/moonscript-vim",
- },
- {
- name: "nginx",
- remote: "chr4/nginx.vim",
- },
- {
- name: "nim",
- remote: "zah/nim.vim",
- dirs: DIRS[:basic]
- },
- {
- name: "nix",
- remote: "LnL7/vim-nix",
- },
- {
- name: "objc",
- remote: "b4winckler/vim-objc",
- },
- {
- name: "ocaml",
- remote: "rgrinberg/vim-ocaml",
- },
- {
- name: "octave",
- remote: "McSinyx/vim-octave",
- },
- {
- name: "opencl",
- remote: "petRUShka/vim-opencl",
- },
- {
- name: "perl",
- remote: "vim-perl/vim-perl",
- },
- {
- name: "pgsql",
- remote: "lifepillar/pgsql.vim",
- },
- {
- name: "php",
- remote: "StanAngeloff/php.vim",
- },
- {
- name: "plantuml",
- remote: "aklt/plantuml-syntax",
- },
- {
- name: "pony",
- remote: "jakwings/vim-pony",
- },
- {
- name: "powershell",
- remote: "PProvost/vim-ps1",
- },
- {
- name: "protobuf",
- remote: "uarun/vim-protobuf",
- },
- {
- name: "pug",
- remote: "digitaltoad/vim-pug",
- },
- {
- name: "puppet",
- remote: "rodjek/vim-puppet",
- },
- {
- name: "purescript",
- remote: "purescript-contrib/purescript-vim",
- },
- {
- name: "python-compiler",
- remote: "aliev/vim-compiler-python",
- },
- {
- name: "python-indent",
- remote: "Vimjas/vim-python-pep8-indent",
- },
- {
- name: "python",
- remote: "vim-python/python-syntax",
- },
- {
- name: "qmake",
- remote: "artoj/qmake-syntax-vim",
- },
- {
- name: "qml",
- remote: "peterhoeg/vim-qml",
- },
- {
- name: "r-lang",
- remote: "vim-scripts/R.vim",
- dirs: DIRS[:basic]
- },
- {
- name: "racket",
- remote: "wlangstroth/vim-racket",
- },
- {
- name: "ragel",
- remote: "jneen/ragel.vim",
- },
- {
- name: "raku",
- remote: "Raku/vim-raku",
- },
- {
- name: "raml",
- remote: "IN3D/vim-raml",
- },
- {
- name: "razor",
- remote: "adamclerk/vim-razor",
- },
- {
- name: "reason",
- remote: "reasonml-editor/vim-reason-plus",
- },
- {
- name: "requirements",
- remote: "raimon49/requirements.txt.vim",
- },
- {
- name: "rspec",
- remote: "keith/rspec.vim",
- },
- {
- name: "rst",
- remote: "marshallward/vim-restructuredtext",
- },
- {
- name: "ruby",
- remote: "vim-ruby/vim-ruby",
- },
- {
- name: "rust",
- remote: "rust-lang/rust.vim",
- },
- {
- name: "sbt",
- remote: "derekwyatt/vim-sbt",
- },
- {
- name: "scala",
- remote: "derekwyatt/vim-scala",
- },
- {
- name: "scss",
- remote: "cakebaker/scss-syntax.vim",
- },
- {
- name: "sh",
- remote: "arzg/vim-sh",
- },
- {
- name: "slim",
- remote: "slim-template/vim-slim",
- },
- {
- name: "slime",
- remote: "slime-lang/vim-slime-syntax",
- },
- {
- name: "smt2",
- remote: "bohlender/vim-smt2",
- },
- {
- name: "solidity",
- remote: "tomlion/vim-solidity",
- },
- {
- name: "sql",
- remote: "shmup/vim-sql-syntax",
- },
- {
- name: "stylus",
- remote: "wavded/vim-stylus",
- },
- {
- name: "svelte",
- remote: "evanleck/vim-svelte@main",
- },
- {
- name: "svg-indent",
- remote: "jasonshell/vim-svg-indent",
- },
- {
- name: "svg",
- remote: "vim-scripts/svg.vim",
- },
- {
- name: "swift",
- remote: "keith/swift.vim",
- },
- {
- name: "sxhkd",
- remote: "baskerville/vim-sxhkdrc",
- },
- {
- name: "systemd",
- remote: "wgwoods/vim-systemd-syntax",
- },
- {
- name: "terraform",
- remote: "hashivim/vim-terraform",
- },
- {
- name: "textile",
- remote: "timcharper/textile.vim",
- },
- {
- name: "thrift",
- remote: "solarnz/thrift.vim",
- },
- {
- name: "tmux",
- remote: "ericpruitt/tmux.vim:vim",
- dirs: DIRS[:all]
- },
- {
- name: "tomdoc",
- remote: "wellbredgrapefruit/tomdoc.vim",
- },
- {
- name: "toml",
- remote: "cespare/vim-toml",
- },
- {
- name: "tptp",
- remote: "c-cube/vim-tptp",
- },
- {
- name: "twig",
- remote: "lumiliet/vim-twig",
- },
- {
- name: "typescript",
- remote: "HerringtonDarkholme/yats.vim",
- },
- {
- name: "unison",
- remote: "unisonweb/unison@trunk:editor-support/vim",
- dirs: DIRS[:all]
- },
- {
- name: "v",
- remote: "ollykel/v-vim",
- },
- {
- name: "vala",
- remote: "arrufat/vala.vim",
- },
- {
- name: "vbnet",
- remote: "vim-scripts/vbnet.vim",
- },
- {
- name: "vcl",
- remote: "smerrill/vcl-vim-plugin",
- },
- {
- name: "vifm",
- remote: "vifm/vifm.vim",
- },
- {
- name: "vm",
- remote: "lepture/vim-velocity",
- },
- {
- name: "vue",
- remote: "posva/vim-vue",
- },
- {
- name: "xdc",
- remote: "amal-khailtash/vim-xdc-syntax",
- },
- {
- name: "xml",
- remote: "amadeus/vim-xml",
- },
- {
- name: "xls",
- remote: "vim-scripts/XSLT-syntax",
- },
- {
- name: "yaml",
- remote: "stephpy/vim-yaml",
- },
- {
- name: "yard",
- remote: "sheerun/vim-yardoc",
- },
- {
- name: "zephir",
- remote: "xwsoul/vim-zephir",
- },
- {
- name: "zig",
- remote: "ziglang/zig.vim",
- },
- {
- name: "zinit",
- remote: "zinit-zsh/zplugin-vim-syntax",
- }
-]
-
def parallel(*procs)
threads = procs.map { |p| Thread.new { method(p).call } }
threads.map(&:join).map(&:value)
@@ -751,12 +105,14 @@ end
def copy_file(package, src, dest)
return unless [".vim", ".ctags", ".vital"].include?(File.extname(src))
FileUtils.mkdir_p(File.dirname(dest))
+ name = package.fetch("name")
+
open(src, "r") do |input|
open(dest, "a+") do |output|
- if package[:name] == "jsx"
+ if name == "jsx"
output << "if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1)\n\n"
else
- output << "if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, '#{package[:name]}') == -1\n\n"
+ output << "if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, '#{name}') == -1\n\n"
end
IO.copy_stream(input, output)
output << "\nendif\n"
@@ -769,7 +125,7 @@ def download
PACKAGES.map do |package|
Thread.new do
- repo, branch, path = parse_remote(package[:remote])
+ repo, branch, path = parse_remote(package.fetch("remote"))
dir = "tmp/" + repo.split('/')[1]
FileUtils.mkdir_p(dir)
url = "https://codeload.github.com/#{repo}/tar.gz/#{branch}"
@@ -798,10 +154,10 @@ def extract
output = []
PACKAGES.map do |package|
- repo, branch, path = parse_remote(package[:remote])
+ repo, branch, path = parse_remote(package["remote"])
dir = "tmp/" + repo.split('/')[1]
subdirs = []
- for subdir in package.fetch(:dirs, DIRS[:default])
+ for subdir in DIRS.fetch(package.fetch("dirs", "default").to_sym)
subtree = "#{dir}/#{path ? path + "/" : ""}"
subpath = "#{subtree}#{subdir}"
if FileTest.directory?(subpath)
@@ -816,7 +172,7 @@ def extract
end
end
- output << "- [#{package[:name]}](https://github.com/#{repo}) (#{subdirs.uniq.join(", ")})"
+ output << "- [#{package["name"]}](https://github.com/#{repo}) (#{subdirs.uniq.join(", ")})"
progress
end