src/filetype/types.c
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #include "filetype.h" | ||
| 2 | #include "filetype/types.h" | ||
| 3 | #include "util/bsearch.h" | ||
| 4 | #include "util/debug.h" | ||
| 5 | |||
| 6 | const char builtin_filetype_names[NR_BUILTIN_FILETYPES][12] = { | ||
| 7 | [ADA] = "ada", | ||
| 8 | [ASCIIDOC] = "asciidoc", | ||
| 9 | [ASM] = "asm", | ||
| 10 | [AWK] = "awk", | ||
| 11 | [BATCH] = "batch", | ||
| 12 | [BIBTEX] = "bibtex", | ||
| 13 | [C] = "c", | ||
| 14 | [CLOJURE] = "clojure", | ||
| 15 | [CMAKE] = "cmake", | ||
| 16 | [COBOL] = "cobol", | ||
| 17 | [COCCINELLE] = "coccinelle", | ||
| 18 | [COFFEESCRIPT] = "coffee", | ||
| 19 | [CONFIG] = "config", | ||
| 20 | [CONFIG_NTC] = "config-ntc", | ||
| 21 | [CSH] = "csh", | ||
| 22 | [CSHARP] = "csharp", | ||
| 23 | [CSS] = "css", | ||
| 24 | [CSV] = "csv", | ||
| 25 | [CTAGS] = "ctags", | ||
| 26 | [D] = "d", | ||
| 27 | [D2] = "d2", | ||
| 28 | [DART] = "dart", | ||
| 29 | [DEVICETREE] = "devicetree", | ||
| 30 | [DIFF] = "diff", | ||
| 31 | [DOCKER] = "docker", | ||
| 32 | [DOT] = "dot", | ||
| 33 | [DTE] = "dte", | ||
| 34 | [ELIXIR] = "elixir", | ||
| 35 | [ERLANG] = "erlang", | ||
| 36 | [FISH] = "fish", | ||
| 37 | [GCODE] = "gcode", | ||
| 38 | [GDSCRIPT] = "gdscript", | ||
| 39 | [GETTEXT] = "gettext", | ||
| 40 | [GITCOMMIT] = "gitcommit", | ||
| 41 | [GITIGNORE] = "gitignore", | ||
| 42 | [GITLOG] = "gitlog", | ||
| 43 | [GITNOTE] = "gitnote", | ||
| 44 | [GITREBASE] = "gitrebase", | ||
| 45 | [GITSTASH] = "gitstash", | ||
| 46 | [GLSL] = "glsl", | ||
| 47 | [GNUPLOT] = "gnuplot", | ||
| 48 | [GO] = "go", | ||
| 49 | [GOMODULE] = "gomod", | ||
| 50 | [GPERF] = "gperf", | ||
| 51 | [GRADLE] = "gradle", | ||
| 52 | [GRAPHQL] = "graphql", | ||
| 53 | [GROOVY] = "groovy", | ||
| 54 | [HARE] = "hare", | ||
| 55 | [HASKELL] = "haskell", | ||
| 56 | [HCL] = "hcl", | ||
| 57 | [HTML] = "html", | ||
| 58 | [INDENT] = "indent", | ||
| 59 | [INI] = "ini", | ||
| 60 | [JAVA] = "java", | ||
| 61 | [JAVASCRIPT] = "javascript", | ||
| 62 | [JQ] = "jq", | ||
| 63 | [JSON] = "json", | ||
| 64 | [JSONC] = "jsonc", | ||
| 65 | [JULIA] = "julia", | ||
| 66 | [KDL] = "kdl", | ||
| 67 | [KOTLIN] = "kotlin", | ||
| 68 | [LEX] = "lex", | ||
| 69 | [LISP] = "lisp", | ||
| 70 | [LRC] = "lrc", | ||
| 71 | [LUA] = "lua", | ||
| 72 | [M4] = "m4", | ||
| 73 | [MAIL] = "mail", | ||
| 74 | [MAKE] = "make", | ||
| 75 | [MARKDOWN] = "markdown", | ||
| 76 | [MESON] = "meson", | ||
| 77 | [MOONSCRIPT] = "moonscript", | ||
| 78 | [NFTABLES] = "nftables", | ||
| 79 | [NGINX] = "nginx", | ||
| 80 | [NIM] = "nim", | ||
| 81 | [NINJA] = "ninja", | ||
| 82 | [NIX] = "nix", | ||
| 83 | [NONE] = "none", | ||
| 84 | [OBJC] = "objc", | ||
| 85 | [OCAML] = "ocaml", | ||
| 86 | [ODIN] = "odin", | ||
| 87 | [PASCAL] = "pascal", | ||
| 88 | [PERL] = "perl", | ||
| 89 | [PHP] = "php", | ||
| 90 | [PKGCONFIG] = "pkg-config", | ||
| 91 | [POSTSCRIPT] = "postscript", | ||
| 92 | [POWERSHELL] = "powershell", | ||
| 93 | [PROTOBUF] = "protobuf", | ||
| 94 | [PYTHON] = "python", | ||
| 95 | [RACKET] = "racket", | ||
| 96 | [ROBOTSTXT] = "robotstxt", | ||
| 97 | [ROFF] = "roff", | ||
| 98 | [RPMSPEC] = "rpmspec", | ||
| 99 | [RST] = "rst", | ||
| 100 | [RUBY] = "ruby", | ||
| 101 | [RUST] = "rust", | ||
| 102 | [SCAD] = "scad", | ||
| 103 | [SCALA] = "scala", | ||
| 104 | [SCHEME] = "scheme", | ||
| 105 | [SCSS] = "scss", | ||
| 106 | [SED] = "sed", | ||
| 107 | [SH] = "sh", | ||
| 108 | [SLINT] = "slint", | ||
| 109 | [SQL] = "sql", | ||
| 110 | [STEP] = "step", | ||
| 111 | [SWIFT] = "swift", | ||
| 112 | [TCL] = "tcl", | ||
| 113 | [TERMINFO] = "terminfo", | ||
| 114 | [TEXINFO] = "texinfo", | ||
| 115 | [TEXMFCNF] = "texmfcnf", | ||
| 116 | [TEX] = "tex", | ||
| 117 | [TLVERILOG] = "tl-verilog", | ||
| 118 | [TMUX] = "tmux", | ||
| 119 | [TOML] = "toml", | ||
| 120 | [TSV] = "tsv", | ||
| 121 | [TYPESCRIPT] = "typescript", | ||
| 122 | [TYPST] = "typst", | ||
| 123 | [VALA] = "vala", | ||
| 124 | [VCARD] = "vcard", | ||
| 125 | [VERILOG] = "verilog", | ||
| 126 | [VHDL] = "vhdl", | ||
| 127 | [VIML] = "viml", | ||
| 128 | [WEECHATLOG] = "weechatlog", | ||
| 129 | [XML] = "xml", | ||
| 130 | [XRESOURCES] = "xresources", | ||
| 131 | [YACC] = "yacc", | ||
| 132 | [YAML] = "yaml", | ||
| 133 | [ZIG] = "zig", | ||
| 134 | }; | ||
| 135 | |||
| 136 | 24 | UNITTEST { | |
| 137 | 24 | static_assert(NR_BUILTIN_FILETYPES < 256); | |
| 138 | 24 | CHECK_BSEARCH_STR_ARRAY(builtin_filetype_names); | |
| 139 | |||
| 140 |
2/2✓ Branch 7 → 4 taken 3048 times.
✓ Branch 7 → 8 taken 24 times.
|
3096 | for (size_t i = 0; i < ARRAYLEN(builtin_filetype_names); i++) { |
| 141 | 3048 | const char *name = builtin_filetype_names[i]; | |
| 142 |
1/2✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 3048 times.
|
3048 | if (unlikely(!is_valid_filetype_name(name))) { |
| 143 | − | BUG("invalid name at builtin_filetype_names[%zu]: \"%s\"", i, name); | |
| 144 | } | ||
| 145 | } | ||
| 146 | 24 | } | |
| 147 |