MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / getFileIcon

Function getFileIcon

frontend/app/aipanel/ai-utils.ts:203–250  ·  view source on GitHub ↗
(fileName: string, fileType: string)

Source from the content-addressed store, hash-verified

201};
202
203export const getFileIcon = (fileName: string, fileType: string): string => {
204 if (fileType === "directory") {
205 return "fa-folder";
206 }
207
208 if (fileType.startsWith("image/")) {
209 return "fa-image";
210 }
211
212 if (fileType === "application/pdf") {
213 return "fa-file-pdf";
214 }
215
216 // Check file extensions for code files
217 const ext = fileName.split(".").pop()?.toLowerCase();
218 switch (ext) {
219 case "js":
220 case "jsx":
221 case "ts":
222 case "tsx":
223 return "fa-file-code";
224 case "go":
225 return "fa-file-code";
226 case "py":
227 return "fa-file-code";
228 case "java":
229 case "c":
230 case "cpp":
231 case "h":
232 case "hpp":
233 return "fa-file-code";
234 case "html":
235 case "css":
236 case "scss":
237 case "sass":
238 return "fa-file-code";
239 case "json":
240 case "xml":
241 case "yaml":
242 case "yml":
243 return "fa-file-code";
244 case "md":
245 case "txt":
246 return "fa-file-text";
247 default:
248 return "fa-file";
249 }
250};
251
252export const formatFileSize = (bytes: number): string => {
253 if (bytes === 0) return "0 B";

Callers 2

aidroppedfiles.tsxFile · 0.90
aimessage.tsxFile · 0.90

Calls 1

popMethod · 0.80

Tested by

no test coverage detected