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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
// zig fmt: off
const es = @import("root");
const std = @import("std");
const ComptimeStringMap = std.ComptimeStringMap;
const Highlight = es.Highlight;
const Syntax = es.Syntax;
pub const filematch = [_][]const u8{
"GNUmakefile", "makefile", "Makefile",
".mk",
};
pub const syntax = Syntax{
.name = "Makefile",
.keyword_classifier = ComptimeStringMap(
Highlight,
Syntax.pairWith(&keywords1, .keyword1) ++ Syntax.pairWith(&keywords2, .keyword2),
).get,
.singleline_comment_start = "#",
.multiline_comment_start = null,
.multiline_comment_end = null,
.separators = "(){};:-@+",
.flags = .{},
};
const keywords1 = [_][]const u8{
"$@", "$(@D)", "$(@F)",
"$%", "$(%D)", "$(%F)",
"$<", "$(<D)", "$(<F)",
"$?", "$(?D)", "$(?F)",
"$^", "$(^D)", "$(^F)",
"$+", "$(+D)", "$(+F)",
"$*", "$(*D)", "$(*F)",
"$|",
".DEFAULT", ".DEFAULT_GOAL", ".DELETE_ON_ERROR", ".EXPORT_ALL_VARIABLES", ".EXTRA_PREREQS",
".FEATURES", ".IGNORE", ".INCLUDE_DIRS", ".INTERMEDIATE", ".LIBPATTERNS", ".LOADED",
".LOW_RESOLUTION_TIME", ".NOTPARALLEL", ".ONESHELL", ".PHONY", ".POSIX", ".PRECIOUS",
".RECIPEPREFIX", ".SECONDARY", ".SECONDEXPANSION", ".SHELLFLAGS", ".SHELLSTATUS", ".SILENT",
".SUFFIXES", ".VARIABLES",
"abspath", "addprefix", "addsuffix", "and", "basename", "call", "define", "dir", "else", "endef",
"endif", "error", "eval", "export", "file", "filter", "filter-out", "findstring", "firstword",
"flavor", "foreach", "gmk-eval", "gmk-expand", "guile", "if", "ifdef", "ifeq", "ifndef", "ifneq",
"include", "info", "join", "lastword", "load", "notdir", "or", "origin", "override", "patsubst",
"private", "realpath", "shell", "sort", "strip", "subst", "suffix", "undefined", "unexport",
"value", "vpath", "warning", "wildcard", "word", "wordlist", "words",
"ar", "as", "awk", "bison", "c99", "cat", "cc", "chgrp", "chmod", "chown", "cmp", "co", "cp",
"ctangle", "cweave", "diff", "do", "done", "echo", "elif", "else", "egrep", "expr", "fc", "for",
"f77", "false", "fi", "find", "flex", "g++", "get", "grep", "gzip", "if", "in", "install",
"install-info", "ld", "ldconfig", "lex", "lint", "ln", "ls", "m2c", "make", "makeinfo", "mkdir",
"mknod", "mv", "pc", "printf", "pwd", "ranlib", "rm", "rmdir", "sed", "sleep", "sort", "tangle",
"tar", "test", "tex", "texi2dvi", "then", "tr", "true", "touch", "weave", "yacc",
};
const keywords2 = [_][]const u8{
"AR", "AS", "AWK", "BISON", "CAT", "CC", "CHGRP", "CHMOD", "CHOWN", "CMP", "CO", "CP", "CPP",
"CTANGLE", "CWEAVE", "CXX", "DIFF", "ECHO", "EGREP", "EXPR", "FALSE", "FC", "FIND", "FLEX",
"GET", "GREP", "GZIP", "INSTALL", "INSTALL_DATA", "INSTALL_INFO", "INSTALL_PROGRAM", "LD",
"LDCONFIG", "LEX", "LINT", "LN", "LS", "M2C", "MAKE", "MAKEINFO", "MKDIR", "MKNOD", "MV", "RM",
"PC", "PRINTF", "PWD", "RANLIB", "RMDIR", "SED", "SLEEP", "SORT", "TANGLE", "TAR", "TEST", "TEX",
"TEXI2DVI", "TOUCH", "TR", "TRUE", "WEAVE", "YACC",
"ARFLAGS", "BISONFLAGS", "ASFLAGS", "CFLAGS", "COFLAGS", "CPPFLAGS", "CXXFLAGS", "FFLAGS",
"GFLAGS", "LDFLAGS", "LDLIBS", "LFLAGS", "LINTFLAGS", "MAKEFLAGS", "MFLAGS", "PFLAGS",
"REALFLAGS", "YFLAGS",
"COMSPEC", "CURDIR", "DESTDIR", "GPATH", "LOADLIBES", "MAKECMDGOALS", "MAKEFILES",
"MAKEFILE_LIST", "MAKELEVEL", "MAKEOVERRIDES", "MAKESHELL", "MAKE_HOST", "MAKE_RESTARTS",
"MAKE_TERMERR", "MAKE_TERMOUT", "MAKE_VERSION", "OUTPUT_OPTION", "SHELL", "SUFFIXES", "VPATH",
"bindir", "datadir", "datarootdir", "docdir", "dvidir", "exec_prefix", "htmldir", "includedir",
"infodir", "libexecdir", "libdir", "lispdir", "localedir", "localstatedir", "mandir", "manext",
"man1dir", "man1ext", "man2dir", "man2ext", "man3dir", "man3ext", "man4dir", "man4ext",
"man5dir", "man5ext", "man6dir", "man6ext", "man7dir", "man7ext", "man8dir", "man8ext",
"manndir", "mannext", "oldincludedir", "pdfdir", "psdir", "prefix", "runstatedir", "sbindir",
"srcdir", "sharedstatedir", "sysconfdir",
"all", "check", "clean", "dist", "distclean", "dvi", "html", "info", "install", "install-dvi",
"install-html", "install-pdf", "install-ps", "install-strip", "installcheck", "installdirs",
"maintainer-clean", "mostlyclean", "pdf", "ps", "uninstall", "TAGS",
"NORMAL_INSTALL", "NORMAL_UNINSTALL", "POST_INSTALL", "POST_UNINSTALL", "PRE_INSTALL",
"PRE_UNINSTALL",
};
|