@@ -9,6 +9,8 @@ export const languageIcons: Record<string, string> = {
99 html : "🌐" ,
1010 go : "🐹" ,
1111 java : "☕" ,
12+ cpp : "⚡" ,
13+ c : "🔵" ,
1214 php : "🐘" ,
1315 sql : "🗄️" ,
1416 shell : "🐚" ,
@@ -20,22 +22,24 @@ export const languageIcons: Record<string, string> = {
2022} ;
2123
2224export const languages = [
23- "javascript" ,
24- "typescript" ,
25- "vue" ,
26- "rust" ,
27- "python" ,
25+ "c" ,
26+ "cpp" ,
2827 "css" ,
29- "html" ,
3028 "go" ,
29+ "html" ,
3130 "java" ,
32- "php" ,
33- "sql" ,
34- "shell" ,
31+ "javascript" ,
3532 "json" ,
3633 "markdown" ,
37- "yaml" ,
34+ "php" ,
35+ "python" ,
36+ "rust" ,
37+ "shell" ,
38+ "sql" ,
39+ "typescript" ,
40+ "vue" ,
3841 "xml" ,
42+ "yaml" ,
3943 "text" ,
4044] ;
4145
@@ -165,6 +169,48 @@ export function detectLanguage(content: string): string {
165169 return "java" ;
166170 }
167171
172+ // 检测 C++
173+ if (
174+ content . includes ( "#include" ) ||
175+ content . includes ( "std::" ) ||
176+ content . includes ( "namespace " ) ||
177+ content . includes ( "class " ) ||
178+ content . includes ( "template<" ) ||
179+ content . includes ( "cout <<" ) ||
180+ content . includes ( "cin >>" ) ||
181+ content . includes ( "vector<" ) ||
182+ content . includes ( "string " ) ||
183+ content . includes ( "int main(" ) ||
184+ content . includes ( "void " ) ||
185+ content . includes ( "const " ) ||
186+ content . includes ( "&" ) ||
187+ content . includes ( "->" )
188+ ) {
189+ return "cpp" ;
190+ }
191+
192+ // 检测 C
193+ if (
194+ content . includes ( "#include" ) ||
195+ content . includes ( "stdio.h" ) ||
196+ content . includes ( "stdlib.h" ) ||
197+ content . includes ( "printf(" ) ||
198+ content . includes ( "scanf(" ) ||
199+ content . includes ( "malloc(" ) ||
200+ content . includes ( "free(" ) ||
201+ content . includes ( "struct " ) ||
202+ content . includes ( "typedef " ) ||
203+ content . includes ( "int main(" ) ||
204+ content . includes ( "void " ) ||
205+ content . includes ( "char " ) ||
206+ content . includes ( "int " ) ||
207+ content . includes ( "float " ) ||
208+ content . includes ( "double " ) ||
209+ content . includes ( "return 0;" )
210+ ) {
211+ return "c" ;
212+ }
213+
168214 // 检测 PHP
169215 if (
170216 content . includes ( "<?php" ) ||
0 commit comments