mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-12 04:15:30 +00:00
feat: add all 800 linguist language icons (#129)
* feat: add all 800 linguist language icons This uses existing svg icons for common languages, then falls back on the iconify library for the remaining 600 languages. * move icon component to ui components --------- Co-authored-by: Brendan Kellam <bshizzle1234@gmail.com>
This commit is contained in:
parent
1ba4e8215d
commit
0b78ffd2d1
7 changed files with 881 additions and 86 deletions
|
|
@ -34,6 +34,7 @@
|
|||
"@codemirror/state": "^6.4.1",
|
||||
"@codemirror/view": "^6.33.0",
|
||||
"@hookform/resolvers": "^3.9.0",
|
||||
"@iconify/react": "^5.1.0",
|
||||
"@radix-ui/react-dropdown-menu": "^2.1.1",
|
||||
"@radix-ui/react-icons": "^1.3.0",
|
||||
"@radix-ui/react-label": "^2.1.0",
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import { cn, getRepoCodeHostInfo } from "@/lib/utils";
|
|||
import { SetStateAction, useCallback, useEffect, useState } from "react";
|
||||
import { Entry } from "./entry";
|
||||
import { Filter } from "./filter";
|
||||
import { getLanguageIcon } from "./languageIcons";
|
||||
import Image from "next/image";
|
||||
import { LaptopIcon, QuestionMarkCircledIcon } from "@radix-ui/react-icons";
|
||||
import { LaptopIcon } from "@radix-ui/react-icons";
|
||||
import { FileIcon } from "@/components/ui/fileIcon";
|
||||
|
||||
interface FilePanelProps {
|
||||
matches: SearchResultFile[];
|
||||
|
|
@ -58,16 +58,9 @@ export const FilterPanel = ({
|
|||
"Language",
|
||||
matches,
|
||||
(key) => {
|
||||
const iconSrc = getLanguageIcon(key);
|
||||
const Icon = iconSrc ? (
|
||||
<Image
|
||||
src={iconSrc}
|
||||
alt={key}
|
||||
className="w-4 h-4 flex-shrink-0"
|
||||
/>
|
||||
) : (
|
||||
<QuestionMarkCircledIcon className="w-4 h-4 flex-shrink-0" />
|
||||
);
|
||||
const Icon = (
|
||||
<FileIcon language={key} />
|
||||
)
|
||||
|
||||
return {
|
||||
key,
|
||||
|
|
|
|||
37
packages/web/src/components/ui/fileIcon/fileIcon.tsx
Normal file
37
packages/web/src/components/ui/fileIcon/fileIcon.tsx
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
'use client';
|
||||
|
||||
import { getFileIconSvg } from "./fileIconSvg";
|
||||
import { getFileIconIconify } from "./fileIconIconify"
|
||||
import Image from "next/image";
|
||||
import { QuestionMarkCircledIcon } from "@radix-ui/react-icons";
|
||||
import { Icon } from '@iconify/react';
|
||||
|
||||
interface FileIconProps {
|
||||
language: string;
|
||||
}
|
||||
|
||||
export const FileIcon = ({ language }: FileIconProps) => {
|
||||
const iconSvg = getFileIconSvg(language);
|
||||
let iconifyName = null;
|
||||
if (!iconSvg) {
|
||||
iconifyName = getFileIconIconify(language);
|
||||
}
|
||||
|
||||
if (iconSvg) {
|
||||
return (
|
||||
<Image
|
||||
src={iconSvg}
|
||||
alt={language}
|
||||
className="w-4 h-4 flex-shrink-0"
|
||||
/>
|
||||
)
|
||||
} else if (iconifyName) {
|
||||
return (
|
||||
<Icon icon={iconifyName} className="w-4 h-4 flex-shrink-0" />
|
||||
)
|
||||
} else {
|
||||
return (
|
||||
<QuestionMarkCircledIcon className="w-4 h-4 flex-shrink-0" />
|
||||
)
|
||||
}
|
||||
};
|
||||
760
packages/web/src/components/ui/fileIcon/fileIconIconify.ts
Normal file
760
packages/web/src/components/ui/fileIcon/fileIconIconify.ts
Normal file
|
|
@ -0,0 +1,760 @@
|
|||
// https://github.com/github-linguist/linguist/blob/main/lib/linguist/languages.yml
|
||||
export const getFileIconIconify = (language: string): string | null => {
|
||||
// icons from:
|
||||
// https://icon-sets.iconify.design/?&list=icons
|
||||
const languageIconMap: { [key: string]: string | null } = {
|
||||
"1C Enterprise": null,
|
||||
"2-Dimensional Array": null,
|
||||
"4D": null,
|
||||
"ABAP": "file-icons:abap",
|
||||
"ABAP CDS": "file-icons:abap",
|
||||
"ABNF": null,
|
||||
"AGS Script": "vscode-icons:file-type-c3",
|
||||
"AIDL": null,
|
||||
"AL": "vscode-icons:file-type-al",
|
||||
"AMPL": "file-icons:ampl",
|
||||
"ANTLR": "vscode-icons:file-type-antlr",
|
||||
"API Blueprint": "vscode-icons:file-type-apib",
|
||||
"APL": "vscode-icons:file-type-apl",
|
||||
"ASL": null,
|
||||
"ASN.1": null,
|
||||
"ASP.NET": "vscode-icons:file-type-asp",
|
||||
"ATS": "vscode-icons:file-type-ats",
|
||||
"ActionScript": "vscode-icons:file-type-actionscript",
|
||||
"Ada": "vscode-icons:file-type-ada",
|
||||
"Adblock Filter List": null,
|
||||
"Adobe Font Metrics": "simple-icons:adobefonts",
|
||||
"Agda": "file-icons:agda",
|
||||
"Alloy": "file-icons:alloy",
|
||||
"Alpine Abuild": "file-icons:alpine-linux",
|
||||
"Altium Designer": "simple-icons:altiumdesigner",
|
||||
"AngelScript": "file-icons:angelscript",
|
||||
"Ant Build System": "file-icons:apache-ant",
|
||||
"Antlers": null,
|
||||
"ApacheConf": "vscode-icons:file-type-apache",
|
||||
"Apex": "vscode-icons:file-type-java",
|
||||
"Apollo Guidance Computer": "file-icons:assembly-generic",
|
||||
"AppleScript": "vscode-icons:file-type-applescript",
|
||||
"Arc": null,
|
||||
"AsciiDoc": "vscode-icons:file-type-asciidoc",
|
||||
"AspectJ": null,
|
||||
"Assembly": "file-icons:assembly-generic",
|
||||
"Astro": "vscode-icons:file-type-astro",
|
||||
"Asymptote": "file-icons:asymptote",
|
||||
"Augeas": "file-icons:augeas",
|
||||
"AutoHotkey": "file-icons:autohotkey",
|
||||
"AutoIt": "file-icons:autoit",
|
||||
"Avro IDL": "vscode-icons:file-type-apache",
|
||||
"Awk": "vscode-icons:file-type-awk",
|
||||
"B4X": null,
|
||||
"BASIC": "devicon:visualbasic",
|
||||
"BQN": null,
|
||||
"Ballerina": "vscode-icons:file-type-ballerina",
|
||||
"Batchfile": "vscode-icons:file-type-bat",
|
||||
"Beef": null,
|
||||
"Befunge": "vscode-icons:file-type-befunge",
|
||||
"Berry": null,
|
||||
"BibTeX": "file-icons:bibtex",
|
||||
"Bicep": "vscode-icons:file-type-bicep",
|
||||
"Bikeshed": "file-icons:bikeshed",
|
||||
"Bison": "file-icons:bison",
|
||||
"BitBake": null,
|
||||
"Blade": "vscode-icons:file-type-blade",
|
||||
"BlitzBasic": "vscode-icons:file-type-blitzbasic",
|
||||
"BlitzMax": null,
|
||||
"Bluespec": "file-icons:bluespec",
|
||||
"Bluespec BH": "file-icons:bluespec",
|
||||
"Boo": "file-icons:boo",
|
||||
"Boogie": null,
|
||||
"Brainfuck": "file-icons:brainfuck",
|
||||
"BrighterScript": null,
|
||||
"Brightscript": null,
|
||||
"Browserslist": "file-icons:browserslist",
|
||||
"C": "vscode-icons:file-type-c",
|
||||
"C#": "vscode-icons:file-type-csharp",
|
||||
"C++": "vscode-icons:file-type-cpp",
|
||||
"C-ObjDump": null,
|
||||
"C2hs Haskell": "vscode-icons:file-type-haskell",
|
||||
"CAP CDS": null,
|
||||
"CIL": null,
|
||||
"CLIPS": "file-icons:clips",
|
||||
"CMake": "vscode-icons:file-type-cmake",
|
||||
"COBOL": "vscode-icons:file-type-cobol",
|
||||
"CODEOWNERS": "vscode-icons:file-type-codeowners",
|
||||
"COLLADA": null,
|
||||
"CSON": "file-icons:config-coffeescript",
|
||||
"CSS": "vscode-icons:file-type-css",
|
||||
"CSV": "vscode-icons:file-type-excel",
|
||||
"CUE": null,
|
||||
"CWeb": null,
|
||||
"Cabal Config": "vscode-icons:file-type-cabal",
|
||||
"Caddyfile": "vscode-icons:file-type-caddy",
|
||||
"Cadence": null,
|
||||
"Cairo": "file-icons:cairo",
|
||||
"Cairo Zero": "file-icons:cairo",
|
||||
"CameLIGO": null,
|
||||
"Cap'n Proto": null,
|
||||
"Carbon": "devicon:carbon",
|
||||
"CartoCSS": null,
|
||||
"Ceylon": "vscode-icons:file-type-ceylon",
|
||||
"Chapel": "file-icons:chapel",
|
||||
"Charity": null,
|
||||
"Checksums": null,
|
||||
"ChucK": "file-icons:chuck",
|
||||
"Circom": null,
|
||||
"Cirru": "file-icons:cirru",
|
||||
"Clarion": "file-icons:clarion",
|
||||
"Clarity": "devicon:clarity",
|
||||
"Classic ASP": "vscode-icons:file-type-asp",
|
||||
"Clean": null,
|
||||
"Click": "file-icons:click",
|
||||
"Clojure": "vscode-icons:file-type-clojure",
|
||||
"Closure Templates": null,
|
||||
"Cloud Firestore Security Rules": null,
|
||||
"CoNLL-U": null,
|
||||
"CodeQL": "vscode-icons:file-type-codeql",
|
||||
"CoffeeScript": "vscode-icons:file-type-coffeescript",
|
||||
"ColdFusion": "file-icons:coldfusion",
|
||||
"ColdFusion CFC": "file-icons:coldfusion",
|
||||
"Common Lisp": "file-icons:common-lisp",
|
||||
"Common Workflow Language": "file-icons:cwl",
|
||||
"Component Pascal": "file-icons:component-pascal",
|
||||
"Cool": null,
|
||||
"Coq": "file-icons:coq",
|
||||
"Cpp-ObjDump": null,
|
||||
"Creole": "file-icons:creole",
|
||||
"Crystal": "vscode-icons:file-type-crystal",
|
||||
"Csound": "file-icons:csound",
|
||||
"Csound Document": "file-icons:csound",
|
||||
"Csound Score": "file-icons:csound",
|
||||
"Cuda": "vscode-icons:file-type-cuda",
|
||||
"Cue Sheet": null,
|
||||
"Curry": "file-icons:curry",
|
||||
"Cycript": null,
|
||||
"Cylc": null,
|
||||
"Cypher": null,
|
||||
"Cython": "file-icons:cython",
|
||||
"D": "vscode-icons:file-type-dlang",
|
||||
"D-ObjDump": "vscode-icons:file-type-dlang",
|
||||
"D2": null,
|
||||
"DIGITAL Command Language": null,
|
||||
"DM": null,
|
||||
"DNS Zone": null,
|
||||
"DTrace": null,
|
||||
"Dafny": "file-icons:dafny",
|
||||
"Darcs Patch": "file-icons:darcs-patch",
|
||||
"Dart": "vscode-icons:file-type-dartlang",
|
||||
"DataWeave": "file-icons:dataweave",
|
||||
"Debian Package Control File": "vscode-icons:file-type-debian",
|
||||
"DenizenScript": null,
|
||||
"Dhall": "vscode-icons:file-type-dhall",
|
||||
"Diff": "vscode-icons:file-type-diff",
|
||||
"DirectX 3D File": null,
|
||||
"Dockerfile": "vscode-icons:file-type-docker",
|
||||
"Dogescript": "file-icons:dogescript",
|
||||
"Dotenv": "vscode-icons:file-type-dotenv",
|
||||
"Dune": null,
|
||||
"Dylan": "vscode-icons:file-type-dylan",
|
||||
"E": null,
|
||||
"E-mail": null,
|
||||
"EBNF": null,
|
||||
"ECL": null,
|
||||
"ECLiPSe": "devicon:eclipse",
|
||||
"EJS": "vscode-icons:file-type-ejs",
|
||||
"EQ": "file-icons:eq",
|
||||
"Eagle": "file-icons:eagle",
|
||||
"Earthly": "vscode-icons:file-type-earthly",
|
||||
"Easybuild": "file-icons:easybuild",
|
||||
"Ecere Projects": "file-icons:ecere",
|
||||
"Ecmarkup": null,
|
||||
"Edge": "file-icons:edge",
|
||||
"EdgeQL": null,
|
||||
"EditorConfig": "file-icons:editorconfig",
|
||||
"Edje Data Collection": null,
|
||||
"Eiffel": "file-icons:eiffel",
|
||||
"Elixir": "vscode-icons:file-type-elixir",
|
||||
"Elm": "vscode-icons:file-type-elm",
|
||||
"Elvish": null,
|
||||
"Elvish Transcript": null,
|
||||
"Emacs Lisp": "file-icons:emacs",
|
||||
"EmberScript": "file-icons:emberscript",
|
||||
"Erlang": "vscode-icons:file-type-erlang",
|
||||
"Euphoria": null,
|
||||
"F#": "vscode-icons:file-type-fsharp",
|
||||
"F*": null,
|
||||
"FIGlet Font": null,
|
||||
"FIRRTL": null,
|
||||
"FLUX": "file-icons:flux",
|
||||
"Factor": "file-icons:factor",
|
||||
"Fancy": "file-icons:fancy",
|
||||
"Fantom": "file-icons:fantom",
|
||||
"Faust": "file-icons:faust",
|
||||
"Fennel": null,
|
||||
"Filebench WML": null,
|
||||
"Filterscript": null,
|
||||
"Fluent": null,
|
||||
"Formatted": null,
|
||||
"Forth": null,
|
||||
"Fortran": "vscode-icons:file-type-fortran",
|
||||
"Fortran Free Form": "vscode-icons:file-type-fortran",
|
||||
"FreeBASIC": null,
|
||||
"FreeMarker": "vscode-icons:file-type-freemarker",
|
||||
"Frege": "file-icons:frege",
|
||||
"Futhark": "file-icons:futhark",
|
||||
"G-code": "vscode-icons:file-type-gcode",
|
||||
"GAML": null,
|
||||
"GAMS": "file-icons:gams",
|
||||
"GAP": "file-icons:gap",
|
||||
"GCC Machine Description": "devicon:gcc",
|
||||
"GDB": "file-icons:gdb",
|
||||
"GDScript": "file-icons:gdb",
|
||||
"GEDCOM": null,
|
||||
"GLSL": "vscode-icons:file-type-glsl",
|
||||
"GN": "vscode-icons:file-type-python",
|
||||
"GSC": null,
|
||||
"Game Maker Language": null,
|
||||
"Gemfile.lock": "file-icons:rubygems",
|
||||
"Gemini": null,
|
||||
"Genero 4gl": null,
|
||||
"Genero per": null,
|
||||
"Genie": null,
|
||||
"Genshi": "file-icons:genshi",
|
||||
"Gentoo Ebuild": "file-icons:gentoo",
|
||||
"Gentoo Eclass": "file-icons:gentoo",
|
||||
"Gerber Image": null,
|
||||
"Gettext Catalog": null,
|
||||
"Gherkin": null,
|
||||
"Git Attributes": "vscode-icons:file-type-git",
|
||||
"Git Config": "vscode-icons:file-type-git",
|
||||
"Git Revision List": "vscode-icons:file-type-git",
|
||||
"Gleam": "vscode-icons:file-type-gleam",
|
||||
"Glimmer JS": null,
|
||||
"Glimmer TS": null,
|
||||
"Glyph": "file-icons:glyphs",
|
||||
"Glyph Bitmap Distribution Format": "file-icons:glyphs",
|
||||
"Gnuplot": "vscode-icons:file-type-gnuplot",
|
||||
"Go": "vscode-icons:file-type-go",
|
||||
"Go Checksums": "vscode-icons:file-type-go",
|
||||
"Go Module": "vscode-icons:file-type-go",
|
||||
"Go Workspace": "vscode-icons:file-type-go",
|
||||
"Godot Resource": "vscode-icons:file-type-godot",
|
||||
"Golo": "file-icons:golo",
|
||||
"Gosu": "file-icons:gosu",
|
||||
"Grace": null,
|
||||
"Gradle": "vscode-icons:file-type-gradle",
|
||||
"Gradle Kotlin DSL": "vscode-icons:file-type-gradle",
|
||||
"Grammatical Framework": null,
|
||||
"Graph Modeling Language": null,
|
||||
"GraphQL": "vscode-icons:file-type-graphql",
|
||||
"Graphviz (DOT)": "file-icons:graphviz",
|
||||
"Groovy": "vscode-icons:file-type-groovy",
|
||||
"Groovy Server Pages": "vscode-icons:file-type-groovy",
|
||||
"HAProxy": null,
|
||||
"HCL": "simple-icons:hcl",
|
||||
"HLSL": "vscode-icons:file-type-hlsl",
|
||||
"HOCON": null,
|
||||
"HTML": "vscode-icons:file-type-html",
|
||||
"HTML+ECR": "vscode-icons:file-type-html",
|
||||
"HTML+EEX": "vscode-icons:file-type-html",
|
||||
"HTML+ERB": "vscode-icons:file-type-html",
|
||||
"HTML+PHP": "vscode-icons:file-type-html",
|
||||
"HTML+Razor": "vscode-icons:file-type-html",
|
||||
"HTTP": "vscode-icons:file-type-http",
|
||||
"HXML": null,
|
||||
"Hack": "file-icons:hack",
|
||||
"Haml": "vscode-icons:file-type-haml",
|
||||
"Handlebars": "vscode-icons:file-type-handlebars",
|
||||
"Harbour": "vscode-icons:file-type-harbour",
|
||||
"Hare": null,
|
||||
"Haskell": "vscode-icons:file-type-haskell",
|
||||
"Haxe": "vscode-icons:file-type-haxe",
|
||||
"HiveQL": null,
|
||||
"HolyC": "file-icons:templeos",
|
||||
"Hosts File": null,
|
||||
"Hy": "vscode-icons:file-type-hy",
|
||||
"HyPhy": null,
|
||||
"IDL": "file-icons:idl",
|
||||
"IGOR Pro": "file-icons:igor-pro",
|
||||
"INI": "vscode-icons:file-type-ini",
|
||||
"IRC log": null,
|
||||
"Idris": "vscode-icons:file-type-idris",
|
||||
"Ignore List": "vscode-icons:file-type-git",
|
||||
"ImageJ Macro": "simple-icons:imagej",
|
||||
"Imba": "file-icons:imba",
|
||||
"Inform 7": "file-icons:inform7",
|
||||
"Ink": "vscode-icons:file-type-ink",
|
||||
"Inno Setup": "vscode-icons:file-type-innosetup",
|
||||
"Io": "vscode-icons:file-type-io",
|
||||
"Ioke": "file-icons:ioke",
|
||||
"Isabelle": "file-icons:isabelle",
|
||||
"Isabelle ROOT": "file-icons:isabelle",
|
||||
"J": null,
|
||||
"JAR Manifest": "vscode-icons:file-type-java",
|
||||
"JCL": null,
|
||||
"JFlex": null,
|
||||
"JSON": "vscode-icons:file-type-json",
|
||||
"JSON with Comments": "vscode-icons:file-type-json",
|
||||
"JSON5": "vscode-icons:file-type-json5",
|
||||
"JSONLD": "vscode-icons:file-type-json",
|
||||
"JSONiq": "vscode-icons:file-type-json",
|
||||
"Janet": "vscode-icons:file-type-janet",
|
||||
"Jasmin": null,
|
||||
"Java": "vscode-icons:file-type-java",
|
||||
"Java Properties": "vscode-icons:file-type-java",
|
||||
"Java Server Pages": "vscode-icons:file-type-java",
|
||||
"Java Template Engine": "vscode-icons:file-type-java",
|
||||
"JavaScript": "vscode-icons:file-type-js",
|
||||
"JavaScript+ERB": "vscode-icons:file-type-js",
|
||||
"Jest Snapshot": "vscode-icons:file-type-jest-snapshot",
|
||||
"JetBrains MPS": "logos:jetbrains-icon",
|
||||
"Jinja": "vscode-icons:file-type-jinja",
|
||||
"Jison": "file-icons:jison",
|
||||
"Jison Lex": "file-icons:jison",
|
||||
"Jolie": "file-icons:jolie",
|
||||
"Jsonnet": "vscode-icons:file-type-jsonnet",
|
||||
"Julia": "vscode-icons:file-type-julia",
|
||||
"Julia REPL": "vscode-icons:file-type-julia",
|
||||
"Jupyter Notebook": "vscode-icons:file-type-jupyter",
|
||||
"Just": null,
|
||||
"KRL": "file-icons:krl",
|
||||
"Kaitai Struct": "file-icons:kaitai",
|
||||
"KakouneScript": null,
|
||||
"KerboScript": null,
|
||||
"KiCad Layout": "file-icons:kicad",
|
||||
"KiCad Legacy Layout": "file-icons:kicad",
|
||||
"KiCad Schematic": "file-icons:kicad",
|
||||
"Kickstart": null,
|
||||
"Kit": null,
|
||||
"Kotlin": "vscode-icons:file-type-kotlin",
|
||||
"Kusto": "vscode-icons:file-type-kusto",
|
||||
"LFE": "file-icons:lfe",
|
||||
"LLVM": "file-icons:llvm",
|
||||
"LOLCODE": "vscode-icons:file-type-lolcode",
|
||||
"LSL": "vscode-icons:file-type-lsl",
|
||||
"LTspice Symbol": "simple-icons:ltspice",
|
||||
"LabVIEW": "file-icons:labview",
|
||||
"Lark": "file-icons:lark",
|
||||
"Lasso": "file-icons:lasso",
|
||||
"Latte": null,
|
||||
"Lean": "file-icons:lean",
|
||||
"Lean 4": "file-icons:lean",
|
||||
"Less": "vscode-icons:file-type-less",
|
||||
"Lex": "vscode-icons:file-type-lex",
|
||||
"LigoLANG": null,
|
||||
"LilyPond": "vscode-icons:file-type-lilypond",
|
||||
"Limbo": null,
|
||||
"Linker Script": "vscode-icons:file-type-text",
|
||||
"Linux Kernel Module": "devicon:linux",
|
||||
"Liquid": "vscode-icons:file-type-liquid",
|
||||
"Literate Agda": "file-icons:agda",
|
||||
"Literate CoffeeScript": "vscode-icons:file-type-coffeescript",
|
||||
"Literate Haskell": "vscode-icons:file-type-haskell",
|
||||
"LiveCode Script": null,
|
||||
"LiveScript": "vscode-icons:file-type-livescript",
|
||||
"Logos": null,
|
||||
"Logtalk": "file-icons:logtalk",
|
||||
"LookML": "file-icons:lookml",
|
||||
"LoomScript": null,
|
||||
"Lua": "vscode-icons:file-type-lua",
|
||||
"Luau": "vscode-icons:file-type-luau",
|
||||
"M": null,
|
||||
"M4": null,
|
||||
"M4Sugar": null,
|
||||
"MATLAB": "vscode-icons:file-type-matlab",
|
||||
"MAXScript": "vscode-icons:file-type-maxscript",
|
||||
"MDX": "vscode-icons:file-type-mdx",
|
||||
"MLIR": null,
|
||||
"MQL4": null,
|
||||
"MQL5": null,
|
||||
"MTML": null,
|
||||
"MUF": null,
|
||||
"Macaulay2": "file-icons:macaulay2",
|
||||
"Makefile": "vscode-icons:file-type-makefile",
|
||||
"Mako": "file-icons:mako",
|
||||
"Markdown": "vscode-icons:file-type-markdown",
|
||||
"Marko": "vscode-icons:file-type-marko",
|
||||
"Mask": null,
|
||||
"Mathematica": "file-icons:mathematica",
|
||||
"Maven POM": "vscode-icons:file-type-maven",
|
||||
"Max": "file-icons:max",
|
||||
"Mercury": null,
|
||||
"Mermaid": "vscode-icons:file-type-mermaid",
|
||||
"Meson": "vscode-icons:file-type-meson",
|
||||
"Metal": "file-icons:metal",
|
||||
"Microsoft Developer Studio Project": null,
|
||||
"Microsoft Visual Studio Solution": null,
|
||||
"MiniD": null,
|
||||
"MiniYAML": "vscode-icons:file-type-yaml",
|
||||
"Mint": "file-icons:mint",
|
||||
"Mirah": "file-icons:mirah",
|
||||
"Modelica": "file-icons:modelica",
|
||||
"Modula-2": "file-icons:modula-2",
|
||||
"Modula-3": "file-icons:modula-3",
|
||||
"Module Management System": null,
|
||||
"Mojo": "vscode-icons:file-type-mojo",
|
||||
"Monkey": "file-icons:monkey",
|
||||
"Monkey C": "file-icons:monkey",
|
||||
"Moocode": null,
|
||||
"MoonBit": null,
|
||||
"MoonScript": null,
|
||||
"Motoko": null,
|
||||
"Motorola 68K Assembly": "file-icons:assembly-motorola",
|
||||
"Move": null,
|
||||
"Muse": null,
|
||||
"Mustache": "vscode-icons:file-type-mustache",
|
||||
"Myghty": null,
|
||||
"NASL": null,
|
||||
"NCL": null,
|
||||
"NEON": "file-icons:neon",
|
||||
"NL": null,
|
||||
"NMODL": null,
|
||||
"NPM Config": "vscode-icons:file-type-npm",
|
||||
"NSIS": "file-icons:nsis",
|
||||
"NWScript": "file-icons:nwscript",
|
||||
"Nasal": null,
|
||||
"Nearley": null,
|
||||
"Nemerle": "file-icons:nemerle",
|
||||
"NetLinx": "file-icons:netlinx",
|
||||
"NetLinx+ERB": "file-icons:netlinx",
|
||||
"NetLogo": "file-icons:netlogo",
|
||||
"NewLisp": "file-icons:lisp",
|
||||
"Nextflow": "vscode-icons:file-type-nextflow",
|
||||
"Nginx": "vscode-icons:file-type-nginx",
|
||||
"Nim": "vscode-icons:file-type-nim",
|
||||
"Ninja": "vscode-icons:file-type-ninja",
|
||||
"Nit": null,
|
||||
"Nix": "vscode-icons:file-type-nix",
|
||||
"Noir": null,
|
||||
"Nu": null,
|
||||
"NumPy": "vscode-icons:file-type-numpy",
|
||||
"Nunjucks": "vscode-icons:file-type-nunjucks",
|
||||
"Nushell": "vscode-icons:file-type-shell",
|
||||
"OASv2-json": "vscode-icons:file-type-json",
|
||||
"OASv2-yaml": "vscode-icons:file-type-yaml",
|
||||
"OASv3-json": "vscode-icons:file-type-json",
|
||||
"OASv3-yaml": "vscode-icons:file-type-yaml",
|
||||
"OCaml": "vscode-icons:file-type-ocaml",
|
||||
"Oberon": "file-icons:oberon",
|
||||
"ObjDump": null,
|
||||
"Object Data Instance Notation": null,
|
||||
"ObjectScript": null,
|
||||
"Objective-C": "vscode-icons:file-type-objectivec",
|
||||
"Objective-C++": "vscode-icons:file-type-objectivecpp",
|
||||
"Objective-J": null,
|
||||
"Odin": "file-icons:odin",
|
||||
"Omgrofl": null,
|
||||
"Opa": "file-icons:opa",
|
||||
"Opal": null,
|
||||
"Open Policy Agent": "file-icons:openpolicyagent",
|
||||
"OpenAPI Specification v2": "file-icons:openapi",
|
||||
"OpenAPI Specification v3": "file-icons:openapi",
|
||||
"OpenCL": "vscode-icons:file-type-opencl",
|
||||
"OpenEdge ABL": null,
|
||||
"OpenQASM": null,
|
||||
"OpenRC runscript": null,
|
||||
"OpenSCAD": "vscode-icons:file-type-openscad",
|
||||
"OpenStep Property List": null,
|
||||
"OpenType Feature File": null,
|
||||
"Option List": null,
|
||||
"Org": "vscode-icons:file-type-org",
|
||||
"Ox": null,
|
||||
"Oxygene": "file-icons:oxygene",
|
||||
"Oz": "file-icons:oz",
|
||||
"P4": "file-icons:p4",
|
||||
"PDDL": "vscode-icons:file-type-pddl",
|
||||
"PEG.js": "file-icons:pegjs",
|
||||
"PHP": "vscode-icons:file-type-php",
|
||||
"PLSQL": "vscode-icons:file-type-plsql",
|
||||
"PLpgSQL": null,
|
||||
"POV-Ray SDL": "file-icons:pov-ray",
|
||||
"Pact": null,
|
||||
"Pan": null,
|
||||
"Papyrus": "file-icons:papyrus",
|
||||
"Parrot": "file-icons:parrot",
|
||||
"Parrot Assembly": "file-icons:assembly-generic",
|
||||
"Parrot Internal Representation": null,
|
||||
"Pascal": "file-icons:pascal",
|
||||
"Pawn": null,
|
||||
"Pep8": "vscode-icons:file-type-python",
|
||||
"Perl": "vscode-icons:file-type-perl",
|
||||
"Pic": null,
|
||||
"Pickle": "file-icons:pickle",
|
||||
"PicoLisp": "file-icons:picolisp",
|
||||
"PigLatin": null,
|
||||
"Pike": "file-icons:pike",
|
||||
"Pip Requirements": "vscode-icons:file-type-pip",
|
||||
"Pkl": null,
|
||||
"PlantUML": "vscode-icons:file-type-plantuml",
|
||||
"Pod": "vscode-icons:file-type-perl",
|
||||
"Pod 6": "vscode-icons:file-type-perl",
|
||||
"PogoScript": "file-icons:pogoscript",
|
||||
"Polar": null,
|
||||
"Pony": "vscode-icons:file-type-pony",
|
||||
"Portugol": null,
|
||||
"PostCSS": "vscode-icons:file-type-postcss",
|
||||
"PostScript": "file-icons:postscript",
|
||||
"PowerBuilder": "file-icons:powerbuilder",
|
||||
"PowerShell": "vscode-icons:file-type-powershell",
|
||||
"Praat": null,
|
||||
"Prisma": "vscode-icons:file-type-prisma",
|
||||
"Processing": "vscode-icons:file-type-processinglang",
|
||||
"Procfile": "vscode-icons:file-type-procfile",
|
||||
"Proguard": null,
|
||||
"Prolog": "vscode-icons:file-type-prolog",
|
||||
"Promela": null,
|
||||
"Propeller Spin": "file-icons:propeller",
|
||||
"Protocol Buffer": "vscode-icons:file-type-protobuf",
|
||||
"Protocol Buffer Text Format": "vscode-icons:file-type-protobuf",
|
||||
"Public Key": "vscode-icons:file-type-key",
|
||||
"Pug": "vscode-icons:file-type-pug",
|
||||
"Puppet": "vscode-icons:file-type-puppet",
|
||||
"Pure Data": null,
|
||||
"PureBasic": "file-icons:purebasic",
|
||||
"PureScript": "vscode-icons:file-type-purescript",
|
||||
"Pyret": "vscode-icons:file-type-pyret",
|
||||
"Python": "vscode-icons:file-type-python",
|
||||
"Python console": "vscode-icons:file-type-python",
|
||||
"Python traceback": "vscode-icons:file-type-python",
|
||||
"Q#": "vscode-icons:file-type-qsharp",
|
||||
"QML": "vscode-icons:file-type-qml",
|
||||
"QMake": null,
|
||||
"Qt Script": "file-icons:qt",
|
||||
"Quake": null,
|
||||
"QuickBASIC": null,
|
||||
"R": "vscode-icons:file-type-r",
|
||||
"RAML": "vscode-icons:file-type-raml",
|
||||
"RBS": null,
|
||||
"RDoc": "file-icons:rdoc",
|
||||
"REALbasic": "file-icons:realbasic",
|
||||
"REXX": "vscode-icons:file-type-rexx",
|
||||
"RMarkdown": "file-icons:rmarkdown",
|
||||
"RON": "vscode-icons:file-type-ron",
|
||||
"RPC": null,
|
||||
"RPGLE": null,
|
||||
"RPM Spec": "devicon:redhat-wordmark",
|
||||
"RUNOFF": null,
|
||||
"Racket": "vscode-icons:file-type-racket",
|
||||
"Ragel": null,
|
||||
"Raku": "vscode-icons:file-type-raku",
|
||||
"Rascal": "file-icons:rascal",
|
||||
"Raw token data": null,
|
||||
"ReScript": "vscode-icons:file-type-rescript",
|
||||
"Readline Config": null,
|
||||
"Reason": "vscode-icons:file-type-reason",
|
||||
"ReasonLIGO": null,
|
||||
"Rebol": "file-icons:rebol",
|
||||
"Record Jar": null,
|
||||
"Red": "file-icons:red",
|
||||
"Redcode": null,
|
||||
"Redirect Rules": null,
|
||||
"Regular Expression": null,
|
||||
"Ren'Py": "devicon:renpy",
|
||||
"RenderScript": null,
|
||||
"Rez": null,
|
||||
"Rich Text Format": null,
|
||||
"Ring": "file-icons:ring",
|
||||
"Riot": "vscode-icons:file-type-riot",
|
||||
"RobotFramework": "vscode-icons:file-type-robotframework",
|
||||
"Roc": null,
|
||||
"Roff": "file-icons:manpage",
|
||||
"Roff Manpage": "file-icons:manpage",
|
||||
"Rouge": null,
|
||||
"RouterOS Script": null,
|
||||
"Ruby": "vscode-icons:file-type-ruby",
|
||||
"Rust": "vscode-icons:file-type-rust",
|
||||
"SAS": "vscode-icons:file-type-sas",
|
||||
"SCSS": "vscode-icons:file-type-scss",
|
||||
"SELinux Policy": "devicon:linux",
|
||||
"SMT": null,
|
||||
"SPARQL": "vscode-icons:file-type-sparql",
|
||||
"SQF": "vscode-icons:file-type-sqf",
|
||||
"SQL": "vscode-icons:file-type-sql",
|
||||
"SQLPL": null,
|
||||
"SRecode Template": null,
|
||||
"SSH Config": null,
|
||||
"STAR": null,
|
||||
"STL": null,
|
||||
"STON": null,
|
||||
"SVG": "vscode-icons:file-type-svg",
|
||||
"SWIG": "vscode-icons:file-type-swig",
|
||||
"Sage": "file-icons:sage",
|
||||
"SaltStack": "vscode-icons:file-type-saltstack",
|
||||
"Sass": "vscode-icons:file-type-sass",
|
||||
"Scala": "vscode-icons:file-type-scala",
|
||||
"Scaml": null,
|
||||
"Scenic": null,
|
||||
"Scheme": "file-icons:scheme",
|
||||
"Scilab": "vscode-icons:file-type-scilab",
|
||||
"Self": "file-icons:self",
|
||||
"ShaderLab": "vscode-icons:file-type-shaderlab",
|
||||
"Shell": "vscode-icons:file-type-shell",
|
||||
"ShellCheck Config": "file-icons:shellcheck",
|
||||
"ShellSession": "vscode-icons:file-type-shell",
|
||||
"Shen": "file-icons:shen",
|
||||
"Sieve": null,
|
||||
"Simple File Verification": null,
|
||||
"Singularity": null,
|
||||
"Slash": "file-icons:slash",
|
||||
"Slice": "vscode-icons:file-type-slice",
|
||||
"Slim": "vscode-icons:file-type-slim",
|
||||
"Slint": "vscode-icons:file-type-slint",
|
||||
"SmPL": null,
|
||||
"Smali": null,
|
||||
"Smalltalk": null,
|
||||
"Smarty": "vscode-icons:file-type-smarty",
|
||||
"Smithy": null,
|
||||
"Snakemake": "vscode-icons:file-type-snakemake",
|
||||
"Solidity": "vscode-icons:file-type-solidity",
|
||||
"Soong": null,
|
||||
"SourcePawn": null,
|
||||
"Spline Font Database": null,
|
||||
"Squirrel": "vscode-icons:file-type-squirrel",
|
||||
"Stan": "vscode-icons:file-type-stan",
|
||||
"Standard ML": null,
|
||||
"Starlark": null,
|
||||
"Stata": "vscode-icons:file-type-stata",
|
||||
"StringTemplate": null,
|
||||
"Stylus": "vscode-icons:file-type-stylus",
|
||||
"SubRip Text": null,
|
||||
"SugarSS": null,
|
||||
"SuperCollider": "file-icons:supercollider",
|
||||
"Svelte": "vscode-icons:file-type-svelte",
|
||||
"Sway": null,
|
||||
"Sweave": null,
|
||||
"Swift": "vscode-icons:file-type-swift",
|
||||
"SystemVerilog": "vscode-icons:file-type-systemverilog",
|
||||
"TI Program": null,
|
||||
"TL-Verilog": "vscode-icons:file-type-verilog",
|
||||
"TLA": "file-icons:tla",
|
||||
"TOML": "vscode-icons:file-type-toml",
|
||||
"TSPLIB data": null,
|
||||
"TSQL": null,
|
||||
"TSV": null,
|
||||
"TSX": "vscode-icons:file-type-reactts",
|
||||
"TXL": "file-icons:txl",
|
||||
"Tact": null,
|
||||
"Talon": null,
|
||||
"Tcl": "vscode-icons:file-type-tcl",
|
||||
"Tcsh": null,
|
||||
"TeX": "vscode-icons:file-type-tex",
|
||||
"Tea": null,
|
||||
"Terra": "vscode-icons:file-type-terraform",
|
||||
"Terraform Template": "vscode-icons:file-type-terraform",
|
||||
"Texinfo": "vscode-icons:file-type-tex",
|
||||
"Text": "vscode-icons:file-type-text",
|
||||
"TextGrid": null,
|
||||
"TextMate Properties": "file-icons:textmate",
|
||||
"Textile": "vscode-icons:file-type-textile",
|
||||
"Thrift": null,
|
||||
"Toit": "vscode-icons:file-type-toit",
|
||||
"Turing": "file-icons:turing",
|
||||
"Turtle": null,
|
||||
"Twig": "vscode-icons:file-type-twig",
|
||||
"Type Language": null,
|
||||
"TypeScript": null,
|
||||
"TypeSpec": "vscode-icons:file-type-typescript",
|
||||
"Typst": null,
|
||||
"Unified Parallel C": null,
|
||||
"Unity3D Asset": "devicon:unity",
|
||||
"Unix Assembly": "file-icons:assembly-generic",
|
||||
"Uno": "file-icons:uno",
|
||||
"UnrealScript": "file-icons:unrealscript",
|
||||
"UrWeb": "file-icons:urweb",
|
||||
"V": null,
|
||||
"VBA": "vscode-icons:file-type-vba",
|
||||
"VBScript": "vscode-icons:file-type-vb",
|
||||
"VCL": "file-icons:vcl",
|
||||
"VHDL": "vscode-icons:file-type-vhdl",
|
||||
"Vala": "vscode-icons:file-type-vala",
|
||||
"Valve Data Format": null,
|
||||
"Velocity Template Language": "vscode-icons:file-type-velocity",
|
||||
"Verilog": "vscode-icons:file-type-verilog",
|
||||
"Vim Help File": "vscode-icons:file-type-vim",
|
||||
"Vim Script": "vscode-icons:file-type-vim",
|
||||
"Vim Snippet": "vscode-icons:file-type-vim",
|
||||
"Visual Basic .NET": "vscode-icons:file-type-vbproj",
|
||||
"Visual Basic 6.0": "vscode-icons:file-type-vbproj",
|
||||
"Volt": "vscode-icons:file-type-volt",
|
||||
"Vue": "vscode-icons:file-type-vue",
|
||||
"Vyper": "vscode-icons:file-type-vyper",
|
||||
"WDL": "file-icons:wdl",
|
||||
"WGSL": "vscode-icons:file-type-wgsl",
|
||||
"Wavefront Material": null,
|
||||
"Wavefront Object": null,
|
||||
"Web Ontology Language": null,
|
||||
"WebAssembly": "file-icons:webassembly",
|
||||
"WebAssembly Interface Type": "file-icons:webassembly",
|
||||
"WebIDL": null,
|
||||
"WebVTT": "file-icons:webvtt",
|
||||
"Wget Config": "file-icons:wget",
|
||||
"Whiley": null,
|
||||
"Wikitext": "vscode-icons:file-type-wikitext",
|
||||
"Win32 Message File": "devicon:windows8",
|
||||
"Windows Registry Entries": "devicon:windows8",
|
||||
"Witcher Script": null,
|
||||
"Wollok": null,
|
||||
"World of Warcraft Addon Data": null,
|
||||
"Wren": null,
|
||||
"X BitMap": null,
|
||||
"X Font Directory Index": null,
|
||||
"X PixMap": null,
|
||||
"X10": "file-icons:x10",
|
||||
"XC": null,
|
||||
"XCompose": null,
|
||||
"XML": "vscode-icons:file-type-xml",
|
||||
"XML Property List": "vscode-icons:file-type-xml",
|
||||
"XPages": "file-icons:xpages",
|
||||
"XProc": null,
|
||||
"XQuery": "vscode-icons:file-type-xquery",
|
||||
"XS": null,
|
||||
"XSLT": "vscode-icons:file-type-excel",
|
||||
"Xojo": null,
|
||||
"Xonsh": null,
|
||||
"Xtend": "file-icons:xtend",
|
||||
"YAML": "vscode-icons:file-type-yaml",
|
||||
"YANG": "vscode-icons:file-type-yang",
|
||||
"YARA": "file-icons:yara",
|
||||
"YASnippet": null,
|
||||
"Yacc": "vscode-icons:file-type-yacc",
|
||||
"Yul": null,
|
||||
"ZAP": null,
|
||||
"ZIL": null,
|
||||
"Zeek": null,
|
||||
"ZenScript": null,
|
||||
"Zephir": "file-icons:zephir",
|
||||
"Zig": "vscode-icons:file-type-zig",
|
||||
"Zimpl": null,
|
||||
"cURL Config": "file-icons:curl",
|
||||
"crontab": "eos-icons:cronjob",
|
||||
"desktop": null,
|
||||
"dircolors": null,
|
||||
"eC": "file-icons:ec",
|
||||
"edn": null,
|
||||
"fish": null,
|
||||
"hoon": null,
|
||||
"iCalendar": null,
|
||||
"jq": null,
|
||||
"kvlang": null,
|
||||
"mIRC Script": "file-icons:mirc",
|
||||
"mcfunction": null,
|
||||
"mupad": "file-icons:mupad",
|
||||
"nanorc": null,
|
||||
"nesC": null,
|
||||
"omnetpp-msg": null,
|
||||
"omnetpp-ned": null,
|
||||
"ooc": "file-icons:ooc",
|
||||
"q": null,
|
||||
"reStructuredText": "file-icons:restructuredtext",
|
||||
"robots.txt": "vscode-icons:file-type-text",
|
||||
"sed": null,
|
||||
"templ": "vscode-icons:file-type-templ",
|
||||
"vCard": null,
|
||||
"wisp": null,
|
||||
"xBase": null,
|
||||
};
|
||||
if (languageIconMap[language]) {
|
||||
return languageIconMap[language];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
|
@ -32,79 +32,70 @@ import PowershellIcon from "@/public/languages/file_type_powershell.svg";
|
|||
import TexIcon from "@/public/languages/file_type_tex.svg";
|
||||
import AssemblyIcon from "@/public/languages/file_type_assembly.svg";
|
||||
|
||||
export const getLanguageIcon = (language: string) => {
|
||||
switch (language.toLowerCase()) {
|
||||
case "tsx":
|
||||
case "typescript":
|
||||
return TypeScriptIcon;
|
||||
case "jsx":
|
||||
case "javascript":
|
||||
return JavaScriptIcon;
|
||||
case "go":
|
||||
return GoIcon;
|
||||
case "markdown":
|
||||
return MarkdownIcon;
|
||||
case "c":
|
||||
return CIcon;
|
||||
case "c++":
|
||||
return CppIcon;
|
||||
case "python":
|
||||
return PythonIcon;
|
||||
case "c#":
|
||||
return CSharpIcon;
|
||||
case "html":
|
||||
return HTMLIcon;
|
||||
case "css":
|
||||
return CSSIcon;
|
||||
case "java":
|
||||
return JavaIcon;
|
||||
case "json with comments":
|
||||
case "json":
|
||||
return JSONIcon;
|
||||
case "ruby":
|
||||
return RubyIcon;
|
||||
case "rust":
|
||||
return RustIcon;
|
||||
case "yaml":
|
||||
return YAMLIcon;
|
||||
case "kotlin":
|
||||
return KotlinIcon;
|
||||
case "swift":
|
||||
return SwiftIcon;
|
||||
case "php":
|
||||
return PHPIcon;
|
||||
case "r":
|
||||
return RIcon;
|
||||
case "matlab":
|
||||
return MatlabIcon;
|
||||
case "objective-c":
|
||||
return ObjectiveCIcon;
|
||||
case "lua":
|
||||
return LuaIcon;
|
||||
case "dart":
|
||||
return DartIcon;
|
||||
case "haskell":
|
||||
return HaskellIcon;
|
||||
case "perl":
|
||||
return PerlIcon;
|
||||
case "makefile":
|
||||
case "shell":
|
||||
return ShellIcon;
|
||||
case "zig":
|
||||
return ZigIcon;
|
||||
case "julia":
|
||||
return JuliaIcon;
|
||||
case "ocaml":
|
||||
return OcamlIcon;
|
||||
case "text":
|
||||
return TextIcon;
|
||||
case "powershell":
|
||||
return PowershellIcon;
|
||||
case "tex":
|
||||
return TexIcon;
|
||||
case "assembly":
|
||||
return AssemblyIcon;
|
||||
default:
|
||||
return null;
|
||||
/**
|
||||
* Get the SVG icon for a linguist language
|
||||
* https://github.com/github-linguist/linguist/blob/main/lib/linguist/languages.yml
|
||||
*/
|
||||
export const getFileIconSvg = (language: string): any | null => {
|
||||
const languageIconMap: { [key: string]: any } = {
|
||||
"Assembly": AssemblyIcon,
|
||||
"C": CIcon,
|
||||
"C#": CSharpIcon,
|
||||
"C++": CppIcon,
|
||||
"CSS": CSSIcon,
|
||||
"Dart": DartIcon,
|
||||
"GN": PythonIcon,
|
||||
"Go": GoIcon,
|
||||
"HTML+ECR": HTMLIcon,
|
||||
"HTML+EEX": HTMLIcon,
|
||||
"HTML+ERB": HTMLIcon,
|
||||
"HTML+PHP": HTMLIcon,
|
||||
"HTML+Razor": HTMLIcon,
|
||||
"Haskell": HaskellIcon,
|
||||
"Html": HTMLIcon,
|
||||
"JSON with Comments": JSONIcon,
|
||||
"JSON5": JSONIcon,
|
||||
"JSONLD": JSONIcon,
|
||||
"JSONiq": JSONIcon,
|
||||
"Java": JavaIcon,
|
||||
"Java Properties": JavaIcon,
|
||||
"Java Server Pages": JavaIcon,
|
||||
"Java Template Engine": JavaIcon,
|
||||
"JavaScript": JavaScriptIcon,
|
||||
"JavaScript+ERB": JavaIcon,
|
||||
"Json": JSONIcon,
|
||||
"Julia": JuliaIcon,
|
||||
"Kotlin": KotlinIcon,
|
||||
"Lua": LuaIcon,
|
||||
"MATLAB": MatlabIcon,
|
||||
"Markdown": MarkdownIcon,
|
||||
"OASv2-json": JSONIcon,
|
||||
"OASv2-yaml": YAMLIcon,
|
||||
"OASv3-json": JSONIcon,
|
||||
"OASv3-yaml": YAMLIcon,
|
||||
"OCaml": OcamlIcon,
|
||||
"Objective-C": ObjectiveCIcon,
|
||||
"PHP": PHPIcon,
|
||||
"Pep8": PythonIcon,
|
||||
"Perl": PerlIcon,
|
||||
"PowerShell": PowershellIcon,
|
||||
"Python": PythonIcon,
|
||||
"Python console": PythonIcon,
|
||||
"Python traceback": PythonIcon,
|
||||
"R": RIcon,
|
||||
"Ruby": RubyIcon,
|
||||
"Rust": RustIcon,
|
||||
"Shell": ShellIcon,
|
||||
"Swift": SwiftIcon,
|
||||
"Tex": TexIcon,
|
||||
"Text": TextIcon,
|
||||
"Typescript": TypeScriptIcon,
|
||||
"YAML": YAMLIcon,
|
||||
"Zig": ZigIcon
|
||||
};
|
||||
if (language in languageIconMap) {
|
||||
return languageIconMap[language as keyof typeof languageIconMap];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
1
packages/web/src/components/ui/fileIcon/index.ts
Normal file
1
packages/web/src/components/ui/fileIcon/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from "./fileIcon";
|
||||
12
yarn.lock
12
yarn.lock
|
|
@ -683,6 +683,18 @@
|
|||
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
|
||||
integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
|
||||
|
||||
"@iconify/react@^5.1.0":
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@iconify/react/-/react-5.1.0.tgz#99fcfbb383dd8da84f6cf7b009faf7c71773631c"
|
||||
integrity sha512-vj2wzalywy23DR37AnsogMPIkDa1nKEqITjxpH4z44tiLV869Mh7VyydD4/t0yJLEs9tsxlrPWtXvMOe1Lcd5g==
|
||||
dependencies:
|
||||
"@iconify/types" "^2.0.0"
|
||||
|
||||
"@iconify/types@^2.0.0":
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57"
|
||||
integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
|
||||
|
||||
"@img/sharp-darwin-arm64@0.33.5":
|
||||
version "0.33.5"
|
||||
resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08"
|
||||
|
|
|
|||
Loading…
Reference in a new issue