char-fork/llama.cpp

git clone https://git.t4t.associates/char-fork/llama.cpp

Aleksander Grygierui: Restructure repo to use `tools/ui` folder and `ui` / `UI` / `llama-ui` / `LLAMA_UI` naming (#23064)59778f019

char/aliceai-t5-moe
2.4 KiB145 linesraw
1/**
2 * Maps file extensions to highlight.js language identifiers
3 */
4export function getLanguageFromFilename(filename: string): string {
5	const extension = filename.toLowerCase().substring(filename.lastIndexOf('.'));
6
7	switch (extension) {
8		// JavaScript / TypeScript
9		case '.js':
10		case '.mjs':
11		case '.cjs':
12			return 'javascript';
13		case '.ts':
14		case '.mts':
15		case '.cts':
16			return 'typescript';
17		case '.jsx':
18			return 'javascript';
19		case '.tsx':
20			return 'typescript';
21
22		// Web
23		case '.html':
24		case '.htm':
25			return 'html';
26		case '.css':
27			return 'css';
28		case '.scss':
29			return 'scss';
30		case '.less':
31			return 'less';
32		case '.vue':
33			return 'html';
34		case '.svelte':
35			return 'html';
36
37		// Data formats
38		case '.json':
39			return 'json';
40		case '.xml':
41			return 'xml';
42		case '.yaml':
43		case '.yml':
44			return 'yaml';
45		case '.toml':
46			return 'ini';
47		case '.csv':
48			return 'plaintext';
49
50		// Programming languages
51		case '.py':
52			return 'python';
53		case '.java':
54			return 'java';
55		case '.kt':
56		case '.kts':
57			return 'kotlin';
58		case '.scala':
59			return 'scala';
60		case '.cpp':
61		case '.cc':
62		case '.cxx':
63		case '.c++':
64			return 'cpp';
65		case '.c':
66			return 'c';
67		case '.h':
68		case '.hpp':
69			return 'cpp';
70		case '.cs':
71			return 'csharp';
72		case '.go':
73			return 'go';
74		case '.rs':
75			return 'rust';
76		case '.rb':
77			return 'ruby';
78		case '.php':
79			return 'php';
80		case '.swift':
81			return 'swift';
82		case '.dart':
83			return 'dart';
84		case '.r':
85			return 'r';
86		case '.lua':
87			return 'lua';
88		case '.pl':
89		case '.pm':
90			return 'perl';
91
92		// Shell
93		case '.sh':
94		case '.bash':
95		case '.zsh':
96			return 'bash';
97		case '.bat':
98		case '.cmd':
99			return 'dos';
100		case '.ps1':
101			return 'powershell';
102
103		// Database
104		case '.sql':
105			return 'sql';
106
107		// Markup / Documentation
108		case '.md':
109		case '.markdown':
110			return 'markdown';
111		case '.tex':
112		case '.latex':
113			return 'latex';
114		case '.adoc':
115		case '.asciidoc':
116			return 'asciidoc';
117
118		// Config
119		case '.ini':
120		case '.cfg':
121		case '.conf':
122			return 'ini';
123		case '.dockerfile':
124			return 'dockerfile';
125		case '.nginx':
126			return 'nginx';
127
128		// Other
129		case '.graphql':
130		case '.gql':
131			return 'graphql';
132		case '.proto':
133			return 'protobuf';
134		case '.diff':
135		case '.patch':
136			return 'diff';
137		case '.log':
138			return 'plaintext';
139		case '.txt':
140			return 'plaintext';
141
142		default:
143			return 'plaintext';
144	}
145}