diff options
Diffstat (limited to '')
-rwxr-xr-x | build.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/build.py b/build.py new file mode 100755 index 00000000..ffe09471 --- /dev/null +++ b/build.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 + +import yaml +import urllib.request as request + +url = 'https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml' +data = yaml.safe_load(request.urlopen(url)) + +lines = [] + +def language(name, + filetype=None, + polyglot=None, + extensions=None, + filenames=None, + extra_extensions=[], + extra_filenames=[] +): + 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}") + lines.append("endif") + lines.append("") + +language("ASL", polyglot="acpiasl", extensions=[".asl", ".dsl"]) +language("API Blueprint") +language("AppleScript") +language("Processing", filetype="arduino", extra_extensions=[".ino"]) +language("AsciiDoc") +language("Blade") +language("Caddyfile", extensions=["Caddyfile"]) +language("Carp", extensions=[".carp"]) +language("CoffeeScript", filetype="coffee") +language("Clojure") + +f = open("ftdetect/polyglot_auto.vim", "w") +f.write("\n".join(lines)) +f.close() |