summaryrefslogtreecommitdiffstats
path: root/build.py
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-08-18 11:54:28 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-08-18 11:54:28 +0200
commitd821de3142fc67592686cba3f09ce91eac7cee0d (patch)
treeb7e36c256a6ca77101d58226cb82a2f473bcdb45 /build.py
parenta3bdbcdb3c60a9563fb90e02b28ae46cee5ef974 (diff)
downloadvim-polyglot-d821de3142fc67592686cba3f09ce91eac7cee0d.tar.gz
vim-polyglot-d821de3142fc67592686cba3f09ce91eac7cee0d.zip
Migrate more filetypes
Diffstat (limited to 'build.py')
-rwxr-xr-xbuild.py92
1 files changed, 86 insertions, 6 deletions
diff --git a/build.py b/build.py
index ffe09471..fd8ca04a 100755
--- a/build.py
+++ b/build.py
@@ -13,17 +13,27 @@ def language(name,
polyglot=None,
extensions=None,
filenames=None,
+ syntax=None,
extra_extensions=[],
- extra_filenames=[]
+ extra_filenames=[],
+ ignored_extensions=[]
):
language = data.get(name, {})
filetype_name = filetype or name.lower().replace(" ", "")
polyglot_name = polyglot or filetype_name
lines.append(f"if index(g:polyglot_disabled, '{polyglot_name}') == -1")
- for ext in (extensions or language.get("extensions", [])) + extra_extensions:
- lines.append(f" au BufNewFile,BufRead *{ext} set ft={filetype_name}")
- for fn in (filenames or language.get("filenames", [])) + extra_filenames:
- lines.append(f" au BufNewFile,BufRead {fn} set ft={filetype_name}")
+ if syntax != None:
+ syntax = " syn=" + syntax
+ else:
+ syntax = ""
+ if extensions == None:
+ extensions = language.get("extensions", [])
+ if filenames == None:
+ filenames = language.get("filenames", [])
+ for ext in sorted(list(set(extensions + extra_extensions) - set(ignored_extensions))):
+ lines.append(f" au BufNewFile,BufRead *{ext} set ft={filetype_name}{syntax}")
+ for fn in filenames + extra_filenames:
+ lines.append(f" au BufNewFile,BufRead {fn} set ft={filetype_name}{syntax}")
lines.append("endif")
lines.append("")
@@ -35,8 +45,78 @@ language("AsciiDoc")
language("Blade")
language("Caddyfile", extensions=["Caddyfile"])
language("Carp", extensions=[".carp"])
-language("CoffeeScript", filetype="coffee")
+language("CoffeeScript", polyglot="coffee-script", filetype="coffee", extra_extensions=[".coffeekup", '.ck'])
+language("Literate CoffeeScript", polyglot="coffee-script", filetype="litcoffee", extra_extensions=[".coffee.md"])
language("Clojure")
+language("CQL", extensions=[".cql"])
+language("Cryptol", extensions=[".cry", ".cyl", ".lcry", ".lcyl"])
+language("Crystal", extra_filenames=["Projectfile"])
+language("HTML+ECR", polyglot="crystal", filetype="ecrystal")
+language("CSV", extra_extensions=[".tsv", ".dat", ".tab"])
+language("Gherkin", filetype="cucumber", extra_extensions=[".story"])
+language("Cue", filetype="cuesheet", extensions=[".cue"], polyglot="cue")
+language("Dart")
+language("Dhall")
+language("D", polyglot="dlang")
+language("D", polyglot="dlang", filetype="dcov", extensions=[".lst"])
+language("D", polyglot="dlang", filetype="dd", extensions=[".dd"])
+language("D", polyglot="dlang", filetype="ddoc", extensions=[".ddoc"])
+language("D", polyglot="dlang", filetype="dsdl", extensions=[".sdl"])
+language("Dockerfile", extra_extensions=[".dock", ".Dockerfile"], extra_filenames=["dockerfile", "Dockerfile*"], filetype="Dockerfile", polyglot="dockerfile")
+language("Dockerfile", extensions=[], filenames=["docker-compose*.yaml", "docker-compose*.yml"], filetype="yaml.docker-compose", polyglot="dockerfile")
+language("Elixir")
+language("HTML+EEX", polyglot="elixir", filetype="elixir", extra_extensions=[".leex"])
+language("Elm")
+language("EmberScript", filetype="ember-script", polyglot="emberscript")
+language("Emblem", extensions=[".emblem"], filetype="emblem")
+language("Erlang", extra_extensions=[".app", ".yaws"])
+language("Ferm", extensions=[".ferm"], filenames=["ferm.conf"], filetype="ferm")
+language("fish")
+language("YAML", extra_filenames=["fish_history", "fish_read_history"])
+language("Flatbuffers", extensions=[".fbs"], filetype="fbs", polyglot="flatbuffers")
+language("F#", polyglot="fsharp", filetype="fsharp")
+language("GDScript", filetype="gdscript3", polyglot="gdscript")
+language("GLSL", extra_extensions=[".comp"])
+language("Git Config", polyglot="git", filetype="gitconfig", extra_filenames=["*.git/config", "*/.config/git/config", "*.git/modules/**/config", "gitconfig"])
+language("Git Rebase", polyglot="git", filetype="gitrebase", filenames=["git-rebase-todo"])
+language("Git Send Email", polyglot="git", filetype="gitsendemail", filenames=[".gitsendemail.*"])
+language("Git Commit", polyglot="git", filetype="gitcommit", filenames=["COMMIT_EDIT_MSG", "TAG_EDIT_MSG", "MERGE_MSG", "MSG"])
+language("Gnu MathProg", polyglot="gmpl", filetype="gmpl", extensions=[".mod"])
+language("Go")
+language("Go Mod", filetype="gomod", filenames=["go.mod"], polyglot="go")
+language("Go Template", filetype="gohtmltmpl", extensions=[".tmpl"], polyglot="go")
+language("Assembly", filetype="asm", polyglot="assembly")
+language("GraphQL")
+language("Gradle", filetype="groovy", polyglot="gradle")
+language("Haml", extra_extensions=[".hamlc", ".hamlbars"])
+language("Handlebars", filetype="mustache", polyglot="handlebars", extra_extensions=[".hulk", ".hjs", ".mustache", ".njk"])
+language("HTML+Django", polyglot="jinja", filetype="jinja.html", ignored_extensions=[".mustache", ".njk"])
+language("HAProxy")
+language("Haskell", extra_extensions=[".bpk", ".hsig"])
+language("Haxe")
+language("HCL", extra_extensions=[".nomad"], extra_filenames=["Appfile"])
+language("Helm", extra_filenames=["*/templates/*.yaml", "*/templates/*.tpl"])
+language("HiveQL", polyglot="hive", filetype="hive")
+language("I3", extensions=[".i3.config"], filenames=["i3.config"], filetype="i3config", polyglot="i3")
+language("HiveQL", polyglot="hive", filetype="hive")
+language("iCalendar", polyglot="icalendar", filetype="icalendar", extensions=[".ics"])
+language("Idris", extra_filenames=["idris-response"])
+language("Ion", extensions=[".ion"], filenames=["~/.config/ion/initrc"])
+language("JavaScript")
+language("Flow", polyglot="javascript", filetype="flow", extensions=[".flow"])
+language("Jenkinsfile", polyglot="jenkins", extensions=[".jenkinsfile", ".Jenkinsfile"], filenames=["Jenkinsfile*"], filetype="Jenkinsfile")
+language("JSON5")
+language("JSON", extra_extensions=[".jsonp", ".template"])
+language("EJS", filetype="jst", extra_extensions=[".jst", ".djs", ".hamljs", ".ect"])
+language("JSX", filetype="javascriptreact", polyglot="jsx")
+language("Julia")
+language("Kotlin")
+language("Ledger", extensions=[".ldg", ".ledger", ".journal"])
+language("Less")
+language("LilyPond")
+language("LiveScript")
+language("LLVM")
+language("Tablegen", polyglot="llvm", extensions=[".td"], filetype="tablegen")
f = open("ftdetect/polyglot_auto.vim", "w")
f.write("\n".join(lines))