(path: string)
| 512 | }; |
| 513 | |
| 514 | const getLanguageFromPath = (path: string): string => { |
| 515 | const extension = path.split('.').pop() || ''; |
| 516 | const languageMap: Record<string, string> = { |
| 517 | js: 'javascript', |
| 518 | ts: 'typescript', |
| 519 | jsx: 'javascript', |
| 520 | tsx: 'typescript', |
| 521 | py: 'python', |
| 522 | rb: 'ruby', |
| 523 | java: 'java', |
| 524 | go: 'go', |
| 525 | php: 'php', |
| 526 | cs: 'csharp', |
| 527 | cpp: 'cpp', |
| 528 | c: 'c', |
| 529 | md: 'markdown', |
| 530 | json: 'json', |
| 531 | yml: 'yaml', |
| 532 | yaml: 'yaml', |
| 533 | html: 'html', |
| 534 | css: 'css', |
| 535 | scss: 'scss', |
| 536 | less: 'less', |
| 537 | sh: 'bash', |
| 538 | bash: 'bash', |
| 539 | sql: 'sql', |
| 540 | graphql: 'graphql', |
| 541 | rs: 'rust', |
| 542 | swift: 'swift', |
| 543 | kt: 'kotlin', |
| 544 | dart: 'dart', |
| 545 | ex: 'elixir', |
| 546 | exs: 'elixir', |
| 547 | hs: 'haskell', |
| 548 | lua: 'lua', |
| 549 | pl: 'perl', |
| 550 | r: 'r', |
| 551 | scala: 'scala', |
| 552 | clj: 'clojure', |
| 553 | fs: 'fsharp', |
| 554 | elm: 'elm', |
| 555 | dockerfile: 'dockerfile', |
| 556 | }; |
| 557 | |
| 558 | return languageMap[extension.toLowerCase()] || 'text'; |
| 559 | }; |
| 560 | |
| 561 | // Add useEffect to toggle body class when dialog is open |
| 562 | useEffect(() => { |
no outgoing calls
no test coverage detected