dte test coverage


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 50.0% high: ≥ 85.0%
Coverage Exec / Excl / Total
Lines: 100.0% 7 / 0 / 7
Functions: 100.0% 1 / 0 / 1
Branches: 100.0% 4 / 0 / 4

src/filetype/types.h
Line Branch Exec Source
1 #ifndef FILETYPE_TYPES_H
2 #define FILETYPE_TYPES_H
3
4 #include <stdbool.h>
5 #include <string.h>
6 #include "util/macros.h"
7 #include "util/string-view.h"
8
9 // NOLINTNEXTLINE(cert-int09-c,readability-enum-initial-value)
10 typedef enum {
11 ADA,
12 ASCIIDOC,
13 ASM,
14 AWK,
15 BATCH,
16 BIBTEX,
17 C, CPLUSPLUS = C,
18 CLOJURE,
19 CMAKE,
20 COBOL,
21 COCCINELLE,
22 COFFEESCRIPT,
23 CONFIG,
24 CONFIG_NTC,
25 CSH,
26 CSHARP,
27 CSS,
28 CSV,
29 CTAGS,
30 D,
31 D2,
32 DART,
33 DEVICETREE,
34 DIFF,
35 DOCKER,
36 DOT,
37 DTE,
38 ELIXIR,
39 ERLANG,
40 FISH,
41 GCODE,
42 GDSCRIPT,
43 GETTEXT,
44 GITCOMMIT,
45 GITIGNORE,
46 GITLOG,
47 GITNOTE,
48 GITREBASE,
49 GITSTASH,
50 GLSL,
51 GNUPLOT,
52 GO,
53 GOMODULE,
54 GPERF,
55 GRADLE,
56 GRAPHQL,
57 GROOVY,
58 HARE,
59 HASKELL,
60 HCL, // https://github.com/hashicorp/hcl
61 HTML,
62 INDENT,
63 INI,
64 JAVA,
65 JAVASCRIPT,
66 JQ,
67 JSON,
68 JSONC, // JSON with comments
69 JULIA,
70 KDL,
71 KOTLIN,
72 LEX,
73 LISP,
74 LRC, // Lyrics
75 LUA,
76 M4,
77 MAIL,
78 MAKE,
79 MARKDOWN,
80 MESON,
81 MOONSCRIPT,
82 NFTABLES,
83 NGINX,
84 NIM,
85 NINJA,
86 NIX,
87 NONE,
88 OBJC,
89 OCAML,
90 ODIN,
91 PASCAL,
92 PERL,
93 PHP,
94 PKGCONFIG,
95 POSTSCRIPT,
96 POWERSHELL,
97 PROTOBUF,
98 PYTHON,
99 RACKET,
100 ROBOTSTXT,
101 ROFF,
102 RPMSPEC,
103 RST,
104 RUBY,
105 RUST,
106 SCAD,
107 SCALA,
108 SCHEME,
109 SCSS,
110 SED,
111 SH,
112 SLINT,
113 SQL,
114 STEP,
115 SWIFT,
116 TCL,
117 TERMINFO,
118 TEX,
119 TEXINFO,
120 TEXMFCNF,
121 TLVERILOG,
122 TMUX,
123 TOML,
124 TSV,
125 TYPESCRIPT,
126 TYPST,
127 VALA,
128 VCARD,
129 VERILOG,
130 VHDL,
131 VIML,
132 WEECHATLOG,
133 XML,
134 XRESOURCES,
135 YACC,
136 YAML,
137 ZIG,
138 NR_BUILTIN_FILETYPES
139 } FileTypeEnum;
140
141 extern const char builtin_filetype_names[NR_BUILTIN_FILETYPES][12];
142
143 2024 static inline int ft_compare(const void *key, const void *elem)
144 {
145 2024 const StringView *sv = key;
146 2024 const char *ext = elem; // Cast to first member of struct
147 2024 int res = memcmp(sv->data, ext, sv->length);
148
4/4
✓ Branch 2 → 3 taken 156 times.
✓ Branch 2 → 5 taken 1868 times.
✓ Branch 3 → 4 taken 14 times.
✓ Branch 3 → 5 taken 142 times.
2024 if (unlikely(res == 0 && ext[sv->length] != '\0')) {
149 14 res = -1;
150 }
151 2024 return res;
152 }
153
154 FileTypeEnum filetype_from_basename(StringView name) WARN_UNUSED_RESULT;
155 FileTypeEnum filetype_from_extension(StringView ext) WARN_UNUSED_RESULT;
156 FileTypeEnum filetype_from_interpreter(StringView name) WARN_UNUSED_RESULT;
157 FileTypeEnum filetype_from_path(StringView path) WARN_UNUSED_RESULT;
158 FileTypeEnum filetype_from_signature(StringView line) WARN_UNUSED_RESULT;
159 FileTypeEnum filetype_from_signature_late(StringView line) WARN_UNUSED_RESULT;
160 bool is_ignored_extension(StringView sv) WARN_UNUSED_RESULT;
161
162 #endif
163