diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-08-18 11:54:28 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-08-18 11:54:28 +0200 |
commit | d821de3142fc67592686cba3f09ce91eac7cee0d (patch) | |
tree | b7e36c256a6ca77101d58226cb82a2f473bcdb45 /build.py | |
parent | a3bdbcdb3c60a9563fb90e02b28ae46cee5ef974 (diff) | |
download | vim-polyglot-d821de3142fc67592686cba3f09ce91eac7cee0d.tar.gz vim-polyglot-d821de3142fc67592686cba3f09ce91eac7cee0d.zip |
Migrate more filetypes
Diffstat (limited to 'build.py')
-rwxr-xr-x | build.py | 92 |
1 files changed, 86 insertions, 6 deletions
@@ -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)) |