summaryrefslogtreecommitdiffstats
path: root/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'build.py')
-rwxr-xr-xbuild.py43
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()