diff options
| author | 2021-12-21 05:56:41 +0200 | |
|---|---|---|
| committer | 2021-12-21 05:56:41 +0200 | |
| commit | 2d2278364b6186c6cdf0f0497b0498431dfe7dd1 (patch) | |
| tree | 8f2329afbc90817c855f5c5154a547a58a9458aa /src/Syntax | |
| download | es-2d2278364b6186c6cdf0f0497b0498431dfe7dd1.tar.gz es-2d2278364b6186c6cdf0f0497b0498431dfe7dd1.tar.xz es-2d2278364b6186c6cdf0f0497b0498431dfe7dd1.zip | |
Initial config
Diffstat (limited to 'src/Syntax')
| -rw-r--r-- | src/Syntax/makefile.zig | 65 | ||||
| -rw-r--r-- | src/Syntax/zig.zig | 43 |
2 files changed, 108 insertions, 0 deletions
diff --git a/src/Syntax/makefile.zig b/src/Syntax/makefile.zig new file mode 100644 index 0000000..4f73a2c --- /dev/null +++ b/src/Syntax/makefile.zig | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | const Syntax = @import("../Syntax.zig"); | ||
| 2 | |||
| 3 | pub const syntax = Syntax{ | ||
| 4 | .name = "Makefile", | ||
| 5 | .filematch = &[_][]const u8{ "GNUmakefile", "makefile", "Makefile", ".mk" }, | ||
| 6 | .keywords1 = &[_][]const u8{ | ||
| 7 | "$@", "$(@D)", "$(@F)", | ||
| 8 | "$%", "$(%D)", "$(%F)", | ||
| 9 | "$<", "$(<D)", "$(<F)", | ||
| 10 | "$?", "$(?D)", "$(?F)", | ||
| 11 | "$^", "$(^D)", "$(^F)", | ||
| 12 | "$+", "$(+D)", "$(+F)", | ||
| 13 | "$|", | ||
| 14 | "$*", "$(*D)", "$(*F)", | ||
| 15 | |||
| 16 | ".DEFAULT", ".DEFAULT_GOAL", ".DELETE_ON_ERROR", ".EXPORT_ALL_VARIABLES", ".EXTRA_PREREQS", ".FEATURES", | ||
| 17 | ".IGNORE", ".INCLUDE_DIRS", ".INTERMEDIATE", ".LIBPATTERNS", ".LOADED", ".LOW_RESOLUTION_TIME", ".NOTPARALLEL", | ||
| 18 | ".ONESHELL", ".PHONY", ".POSIX", ".PRECIOUS", ".RECIPEPREFIX", ".SECONDARY", ".SECONDEXPANSION", ".SHELLFLAGS", | ||
| 19 | ".SHELLSTATUS", ".SILENT", ".SUFFIXES", ".VARIABLES", | ||
| 20 | |||
| 21 | "abspath", "addprefix", "addsuffix", "and", "basename", "call", "define", "dir", "else", "endef", "endif", | ||
| 22 | "error", "eval", "export", "file", "filter", "filter-out", "findstring", "firstword", "flavor", "foreach", | ||
| 23 | "gmk-eval", "gmk-expand", "guile", "if", "ifdef", "ifeq", "ifndef", "ifneq", "include", "info", "join", | ||
| 24 | "lastword", "load", "notdir", "or", "origin", "override", "patsubst", "private", "realpath", "shell", "sort", | ||
| 25 | "strip", "subst", "suffix", "undefined", "unexport", "value", "vpath", "warning", "wildcard", "word", "wordlist", | ||
| 26 | "words", | ||
| 27 | |||
| 28 | "ar", "as", "awk", "bison", "c99", "cat", "cc", "chgrp", "chmod", "chown", "cmp", "co", "cp", "ctangle", "cweave", | ||
| 29 | "diff", "do", "done", "echo", "elif", "else", "egrep", "expr", "fc", "for", "f77", "false", "fi", "find", "flex", | ||
| 30 | "g++", "get", "grep", "gzip", "if", "in", "install", "install-info", "ld", "ldconfig", "lex", "lint", "ln", "ls", | ||
| 31 | "m2c", "make", "makeinfo", "mkdir", "mknod", "mv", "pc", "printf", "pwd", "ranlib", "rm", "rmdir", "sed", "sleep", | ||
| 32 | "sort", "tangle", "tar", "test", "tex", "texi2dvi", "then", "tr", "true", "touch", "weave", "yacc", | ||
| 33 | }, | ||
| 34 | .keywords2 = &[_][]const u8{ | ||
| 35 | "AR", "AS", "AWK", "BISON", "CAT", "CC", "CHGRP", "CHMOD", "CHOWN", "CMP", "CO", "CP", "CPP", "CTANGLE", "CWEAVE", | ||
| 36 | "CXX", "DIFF", "ECHO", "EGREP", "EXPR", "FALSE", "FC", "FIND", "FLEX", "GET", "GREP", "GZIP", "INSTALL", | ||
| 37 | "INSTALL_DATA", "INSTALL_INFO", "INSTALL_PROGRAM", "LD", "LDCONFIG", "LEX", "LINT", "LN", "LS", "M2C", "MAKE", | ||
| 38 | "MAKEINFO", "MKDIR", "MKNOD", "MV", "RM", "PC", "PRINTF", "PWD", "RANLIB", "RMDIR", "SED", "SLEEP", "SORT", | ||
| 39 | "TANGLE", "TAR", "TEST", "TEX", "TEXI2DVI", "TOUCH", "TR", "TRUE", "WEAVE", "YACC", | ||
| 40 | |||
| 41 | "ARFLAGS", "BISONFLAGS", "ASFLAGS", "CFLAGS", "COFLAGS", "CPPFLAGS", "CXXFLAGS", "FFLAGS", "GFLAGS", "LDFLAGS", | ||
| 42 | "LDLIBS", "LFLAGS", "LINTFLAGS", "MAKEFLAGS", "MFLAGS", "PFLAGS", "REALFLAGS", "YFLAGS", | ||
| 43 | |||
| 44 | "COMSPEC", "CURDIR", "DESTDIR", "GPATH", "LOADLIBES", "MAKECMDGOALS", "MAKEFILES", "MAKEFILE_LIST", "MAKELEVEL", | ||
| 45 | "MAKEOVERRIDES", "MAKESHELL", "MAKE_HOST", "MAKE_RESTARTS", "MAKE_TERMERR", "MAKE_TERMOUT", "MAKE_VERSION", | ||
| 46 | "OUTPUT_OPTION", "SHELL", "SUFFIXES", "VPATH", | ||
| 47 | |||
| 48 | "bindir", "datadir", "datarootdir", "docdir", "dvidir", "exec_prefix", "htmldir", "includedir", "infodir", | ||
| 49 | "libexecdir", "libdir", "lispdir", "localedir", "localstatedir", "mandir", "manext", "man1dir", "man1ext", | ||
| 50 | "man2dir", "man2ext", "man3dir", "man3ext", "man4dir", "man4ext", "man5dir", "man5ext", "man6dir", "man6ext", | ||
| 51 | "man7dir", "man7ext", "man8dir", "man8ext", "manndir", "mannext", "oldincludedir", "pdfdir", "psdir", "prefix", | ||
| 52 | "runstatedir", "sbindir", "srcdir", "sharedstatedir", "sysconfdir", | ||
| 53 | |||
| 54 | "all", "check", "clean", "dist", "distclean", "dvi", "html", "info", "install", "install-dvi", "install-html", | ||
| 55 | "install-pdf", "install-ps", "install-strip", "installcheck", "installdirs", "maintainer-clean", "mostlyclean", | ||
| 56 | "pdf", "ps", "uninstall", "TAGS", | ||
| 57 | |||
| 58 | "NORMAL_INSTALL", "NORMAL_UNINSTALL", "POST_INSTALL", "POST_UNINSTALL", "PRE_INSTALL", "PRE_UNINSTALL" | ||
| 59 | }, | ||
| 60 | .singleline_comment_start = "#", | ||
| 61 | .multiline_comment_start = null, | ||
| 62 | .multiline_comment_end = null, | ||
| 63 | .separators = "(){};:-@+", | ||
| 64 | .flags = .{}, | ||
| 65 | }; | ||
diff --git a/src/Syntax/zig.zig b/src/Syntax/zig.zig new file mode 100644 index 0000000..653fb1b --- /dev/null +++ b/src/Syntax/zig.zig | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | const std = @import("std"); | ||
| 2 | |||
| 3 | const Syntax = @import("../Syntax.zig"); | ||
| 4 | |||
| 5 | // TODO: Add support for the multiline string \\ | ||
| 6 | pub const syntax = Syntax{ | ||
| 7 | .name = "Zig", | ||
| 8 | .filematch = &[_][]const u8{ ".zig" }, | ||
| 9 | .keywords1 = &[_][]const u8{ | ||
| 10 | "align", "allowzero", "and", "anyframe", "anytype", "asm", "async", "await", "break", "catch", "comptime", | ||
| 11 | "const", "continue", "defer", "else", "enum", "errdefer", "error", "export", "extern", "false", "fn", "for", "if", | ||
| 12 | "inline", "noalias", "nosuspend", "null", "or", "orelse", "packed", "pub", "resume", "return", "linksection", | ||
| 13 | "struct", "suspend", "switch", "test", "threadlocal", "true", "try", "undefined", "union", "unreachable", | ||
| 14 | "usingnamespace", "var", "volatile", "while", | ||
| 15 | |||
| 16 | "opaque", | ||
| 17 | }, | ||
| 18 | .keywords2 = &[_][]const u8{ | ||
| 19 | // TODO: Generate all integer types with a comptime fn. | ||
| 20 | "i8", "u8", "i16", "u16", "i32", "u32", "i64", "u64", "i128", "u128", "isize", "usize", "c_short", "c_ushort", | ||
| 21 | "c_int", "c_uint", "c_long", "c_ulong", "c_longlong", "c_ulonglong", "c_longdouble", "c_void", "f16", "f32", | ||
| 22 | "f64", "f128", "bool", "void", "noreturn", "type", "anyerror", "comptime_int", "comptime_float", | ||
| 23 | |||
| 24 | "@addWithOverflow", "@alignCast", "@alignOf", "@as", "@asyncCall", "@atomicLoad", "@atomicRmw", "@atomicStore", | ||
| 25 | "@bitCast", "@bitOffsetOf", "@boolToInt", "@bitSizeOf", "@breakpoint", "@mulAdd", "@byteSwap", "@bitReverse", | ||
| 26 | "@offsetOf", "@call", "@cDefine", "@cImport", "@cInclude", "@clz", "@cmpxchgStrong", "@cmpxchgWeak", | ||
| 27 | "@compileError", "@compileLog", "@ctz", "@cUndef", "@divExact", "@divFloor", "@divTrunc", "@embedFile", | ||
| 28 | "@enumToIt", "@errorName", "@errorReturnTrace", "@errorToInt", "@errSetCast", "@export", "@extern", "@fence", | ||
| 29 | "@field", "@fieldParentPtr", "@floatCast", "@floatToInt", "@frame", "@Frame", "@frameAddress", "@frameSize", | ||
| 30 | "@hasDecl", "@hasField", "@import", "@intCast", "@intToEnum", "@intToError" , "@intToFloat", "@intToPtr", | ||
| 31 | "@maximum", "@memcpy", "@memset", "@minimum", "@wasmMemorySize", "@wasmMemoryGrow", "@mod", "@mulWithOverflow", | ||
| 32 | "@panic", "@popCount", "@prefetch", "@ptrCast", "@ptrToInt", "@rem", "@returnAddress", "@select", | ||
| 33 | "@setAlignStack", "@setCold", "@setEvalBranchQuota", "@setFloatMode", "@setRuntimeSafety", "@shlExact", | ||
| 34 | "@shlWithOverflow", "@shrExact", "@shuffle", "@sizeOf", "@splat", "@reduce", "@src", "@sqrt", "@sin", "@cos", | ||
| 35 | "@exp", "@exp2", "@log", "@log2", "@log10", "@fabs", "@floor", "@ceil", "@trunc", "@round", "@subWithOverflow", | ||
| 36 | "@tagName", "@This", "@truncate", "@Type", "@typeInfo", "@typeName", "@TypeOf", "@unionInit", | ||
| 37 | }, | ||
| 38 | .singleline_comment_start = "//", | ||
| 39 | .multiline_comment_start = null, | ||
| 40 | .multiline_comment_end = null, | ||
| 41 | .separators = "&*^:,.=!<{[(-%|+?>}]);/~", | ||
| 42 | .flags = .{ .hl_numbers = true, .hl_strings = true }, | ||
| 43 | }; | ||