-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
30 lines (23 loc) · 827 Bytes
/
Makefile
File metadata and controls
30 lines (23 loc) · 827 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
NAME = v.tmLanguage.json
all: grammars/$(NAME) snippets/snippets.json LICENSE
grammars/$(NAME): upstream/syntaxes/$(NAME)
sed -e '/"fileTypes":/,/\]/ s/"\./"/' $^ > $@
node -e 'JSON.parse(require("fs").readFileSync("$@"))'
snippets/snippets.json: upstream/snippets/snippets.json
node > $@ -e '\
const fs = require("fs"); \
const snippets = JSON.parse(fs.readFileSync("$^")); \
for(const [, snippet] of Object.entries(snippets)){ \
snippet.body = snippet.body.join("\n"); \
delete snippet.scope; \
} \
const out = {".source.v": snippets}; \
process.stdout.write(JSON.stringify(out, null, "\t")); \
'
LICENSE: upstream/LICENSE
cp $? $@
upstream/LICENSE upstream/syntaxes/$(NAME): upstream/.git
upstream/.git:
git submodule update --init
update: upstream/.git
git submodule update --remote --merge