feat: update icons to symbol (#4281)

Co-authored-by: Pavel Laptev <pawellaptew@gmail.com>
This commit is contained in:
Nico Domino 2024-07-08 23:07:13 +02:00 committed by GitHub
parent be3ec82489
commit 25de912d72
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
22 changed files with 1214 additions and 2602 deletions

View File

@ -1,5 +1,5 @@
import { dropzoneRegistry } from './dropzone';
import { getVSIFileIcon } from '$lib/ext-icons';
import { getFileIcon } from '$lib/ext-icons';
import { pxToRem } from '$lib/utils/pxToRem';
import { type CommitStatus } from '$lib/vbranches/types';
import type { Draggable } from './draggables';
@ -206,12 +206,7 @@ export function createChipsElement(
containerEl.appendChild(chipEl);
if (filePath) {
const iconEl = createElement(
'img',
['draggable-chip-icon'],
undefined,
getVSIFileIcon(filePath)
);
const iconEl = createElement('img', ['draggable-chip-icon'], undefined, getFileIcon(filePath));
chipEl.appendChild(iconEl);
}

View File

@ -1,38 +1,8 @@
/**
* https://github.com/gitbutlerapp/file-extension-icon-JS
* https://github.com/wilfriedago/vscode-symbols-icon-theme
*/
import { vsiFileExtensionsToIcons, vsiFileNamesToIcons } from './vsi/typeMap';
import { vsiFileIcons1 } from './vsi/vsiFileIcons1';
import { vsiFileIcons10 } from './vsi/vsiFileIcons10';
import { vsiFileIcons11 } from './vsi/vsiFileIcons11';
import { vsiFileIcons12 } from './vsi/vsiFileIcons12';
import { vsiFileIcons13 } from './vsi/vsiFileIcons13';
import { vsiFileIcons14 } from './vsi/vsiFileIcons14';
import { vsiFileIcons2 } from './vsi/vsiFileIcons2';
import { vsiFileIcons3 } from './vsi/vsiFileIcons3';
import { vsiFileIcons4 } from './vsi/vsiFileIcons4';
import { vsiFileIcons5 } from './vsi/vsiFileIcons5';
import { vsiFileIcons6 } from './vsi/vsiFileIcons6';
import { vsiFileIcons7 } from './vsi/vsiFileIcons7';
import { vsiFileIcons8 } from './vsi/vsiFileIcons8';
import { vsiFileIcons9 } from './vsi/vsiFileIcons9';
export const vsiFileIcons: { [key: string]: string } = {
...vsiFileIcons1,
...vsiFileIcons2,
...vsiFileIcons3,
...vsiFileIcons4,
...vsiFileIcons5,
...vsiFileIcons6,
...vsiFileIcons7,
...vsiFileIcons8,
...vsiFileIcons9,
...vsiFileIcons10,
...vsiFileIcons11,
...vsiFileIcons12,
...vsiFileIcons13,
...vsiFileIcons14
};
import { fileIcons } from './symbol/fileIcons';
import { symbolFileExtensionsToIcons, symbolFileNamesToIcons } from './symbol/typeMap';
function convertToBase64(iconString: string) {
try {
@ -42,19 +12,19 @@ function convertToBase64(iconString: string) {
}
}
export function getVSIFileIcon(fileName: string) {
export function getFileIcon(fileName: string) {
fileName = fileName.toLowerCase();
const splitName = fileName.split('.');
let iconName = '';
while (splitName.length) {
const curName = splitName.join('.');
if (vsiFileNamesToIcons[curName]) {
iconName = vsiFileNamesToIcons[curName];
if (symbolFileNamesToIcons[curName]) {
iconName = symbolFileNamesToIcons[curName];
break;
}
if (vsiFileExtensionsToIcons[curName]) {
iconName = vsiFileExtensionsToIcons[curName];
if (symbolFileExtensionsToIcons[curName]) {
iconName = symbolFileExtensionsToIcons[curName];
break;
}
@ -62,6 +32,6 @@ export function getVSIFileIcon(fileName: string) {
}
if (iconName === '') iconName = 'file';
const icon = vsiFileIcons[iconName];
const icon = fileIcons[iconName];
return `data:image/svg+xml;base64,${convertToBase64(icon)}`;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,885 @@
export const symbolFileExtensionsToIcons: { [key: string]: string } = {
'YAML-tmLanguage': 'yaml',
accdb: 'database',
'actions.ts': 'redux-actions',
afphoto: 'image',
aiff: 'audio',
al: 'code-green',
ami: 'image',
apx: 'image',
ase: 'image',
aseprite: 'image',
astro: 'astro',
avi: 'video',
avif: 'image',
awk: 'shell',
bash: 'shell',
bat: 'shell',
'blade.php': 'laravel',
bmap: 'font',
bmp: 'image',
bpg: 'image',
brk: 'image',
c: 'c',
'c++': 'cplus',
cc: 'cplus',
cfc: 'coldfusion',
cfm: 'coldfusion',
cfml: 'coldfusion',
cjs: 'js',
clip: 'image',
cls: 'code-blue',
cmake: 'cmake',
cmd: 'shell',
cmx: 'ocaml',
'component.js': 'angular-component',
'component.ts': 'angular-component',
cp: 'cplus',
cpp: 'cplus',
cpt: 'image',
cr: 'crystal',
cs: 'csharp',
csh: 'shell',
cshtml: 'razor',
csproj: 'visual-studio',
css: 'brackets-sky',
csv: 'csv',
csx: 'csharp',
cur: 'image',
cxx: 'cplus',
dart: 'dart',
db: 'database',
db3: 'database',
dds: 'image',
deno: 'deno',
dio: 'drawio',
dmn: 'xml',
dng: 'image',
dockerfile: 'docker',
dockerignore: 'docker',
drawio: 'drawio',
dtd: 'xml',
dtx: 'tex',
earthlyignore: 'earthfile',
editorconfig: 'editorconfig',
eex: 'elixir',
'effects.ts': 'redux-effects',
env: 'gear',
eot: 'font',
eps: 'image',
erb: 'ruby',
erl: 'erlang',
ex: 'elixir',
exe: 'exe',
exp: 'shell',
exr: 'image',
exs: 'elixir',
'facade.ts': 'redux-facade',
fish: 'shell',
flac: 'audio',
flv: 'video',
fnt: 'font',
font: 'font',
fonts: 'font',
fpx: 'image',
'freezed.dart': 'dart',
fs: 'fsharp',
fsi: 'fsharp',
fsproj: 'fsharp',
fsx: 'fsharp',
'g.dart': 'dart',
gbr: 'image',
gif: 'gif',
gifv: 'video',
gleam: 'gleam',
go: 'go',
'go.mod': 'go-mod',
gql: 'graphql',
gradle: 'gradle',
graphql: 'graphql',
h: 'h',
haml: 'haml',
heex: 'elixir',
heic: 'image',
heif: 'image',
hrl: 'erlang',
hs: 'haskell',
htaccess: 'document',
html: 'code-orange',
'html.twig': 'twig',
http: 'http',
i: 'c',
ico: 'image',
ii: 'cplus',
img: 'image',
iml: 'xml',
ipynb: 'notebook',
jade: 'pug',
java: 'java',
jb2: 'image',
jbig2: 'image',
jenkins: 'jenkins',
jenkinsfile: 'jenkins',
jfif: 'image',
jl: 'julia',
jng: 'image',
jpeg: 'image',
jpg: 'image',
js: 'js',
json: 'brackets-yellow',
jsp: 'java',
jsx: 'react',
jxr: 'image',
kra: 'image',
ksh: 'shell',
kt: 'kotlin',
kts: 'kotlin',
leex: 'elixir',
less: 'less',
liquid: 'liquid',
lock: 'lock',
ltx: 'tex',
lua: 'lua',
lucee: 'coldfusion',
m2v: 'video',
m4a: 'audio',
m4v: 'video',
manifest: 'xml',
md: 'markdown',
mdb: 'database',
mdoc: 'markdoc',
mdp: 'image',
mdx: 'mdx',
mi: 'c',
mii: 'cplus',
mjs: 'js',
mkv: 'video',
ml: 'ocaml',
mli: 'ocaml',
mm: 'cplus',
mov: 'video',
mp2: 'video',
mp3: 'audio',
mp4: 'video',
mpe: 'video',
mpeg: 'video',
mpg: 'video',
mpv: 'video',
mrf: 'font',
msi: 'exe',
netlify: 'netlify',
nix: 'nix',
njk: 'nunjucks',
ntf: 'font',
nu: 'shell',
nunjucks: 'nunjucks',
ods: 'csv',
odttf: 'font',
ogg: 'video',
ogv: 'video',
ora: 'image',
otf: 'font',
patch: 'patch',
pbm: 'image',
pcss: 'postcss',
pdb: 'database',
pdf: 'pdf',
pdn: 'image',
pgf: 'image',
pgm: 'image',
pgsql: 'database',
php: 'php',
pic: 'image',
pkb: 'database',
pkl: 'pkl',
pks: 'database',
plist: 'xml',
png: 'image',
pnm: 'image',
postgres: 'database',
ppm: 'image',
prisma: 'prisma',
project: 'xml',
proto: 'proto',
ps1: 'shell',
ps1xml: 'shell',
psb: 'image',
psc1: 'shell',
psd: 'image',
psd1: 'shell',
psm1: 'shell',
psql: 'database',
pssc: 'shell',
psv: 'csv',
pug: 'pug',
pulumi: 'pulumi',
py: 'python',
python: 'python',
qt: 'video',
r: 'r',
raw: 'image',
rb: 'ruby',
reb: 'image',
'reducer.ts': 'redux-reducer',
res: 'rescript',
resi: 'rescript-interface',
rest: 'http',
resx: 'xml',
rm: 'video',
rmd: 'r',
rmvb: 'video',
ron: 'rust',
rs: 'rust',
ruleset: 'visual-studio',
sai: 'image',
sass: 'sass',
sbt: 'sbt',
sc: 'scala',
scala: 'scala',
scss: 'sass',
'selector.ts': 'redux-selector',
'selectors.ts': 'redux-selector',
'service.js': 'angular-service',
'service.ts': 'angular-service',
sh: 'shell',
sln: 'visual-studio',
sol: 'solidity',
'spec.js': 'js-test',
'spec.jsx': 'react-test',
'spec.mjs': 'js-test',
'spec.ts': 'ts-test',
'spec.tsx': 'react-test',
sql: 'database',
sqlite: 'database',
sqlite3: 'database',
ssh_config: 'shell',
sss: 'postcss',
'stories.js': 'storybook',
'stories.jsx': 'storybook',
'stories.mdx': 'storybook',
'stories.svelte': 'storybook',
'stories.ts': 'storybook',
'stories.tsx': 'storybook',
'story.js': 'storybook',
'story.jsx': 'storybook',
'story.mdx': 'storybook',
'story.ts': 'storybook',
'story.tsx': 'storybook',
sty: 'tex',
styl: 'stylus',
stylelint: 'stylelint',
sui: 'font',
suit: 'font',
suo: 'visual-studio',
svelte: 'svelte',
svg: 'svg',
svgx: 'image',
svx: 'svx',
swift: 'swift',
tcsh: 'shell',
test: 'code-orange',
'test.js': 'js-test',
'test.jsx': 'react-test',
'test.mjs': 'js-test',
'test.ts': 'ts-test',
'test.tsx': 'react-test',
tex: 'tex',
tf: 'terraform',
'tf.json': 'terraform',
tfstate: 'terraform',
tfvars: 'terraform',
tga: 'image',
tif: 'image',
tiff: 'image',
tmLanguage: 'xml',
toml: 'gear',
ts: 'ts',
'tsconfig.json': 'tsconfig',
tsv: 'csv',
tsx: 'react-ts',
ttc: 'font',
ttf: 'font',
twig: 'twig',
txt: 'document',
v: 'v',
vb: 'visual-studio',
vbs: 'visual-studio',
vcxitems: 'visual-studio',
'vcxitems.filters': 'visual-studio',
vcxproj: 'visual-studio',
'vcxproj.filters': 'visual-studio',
vercel: 'vercel',
vob: 'video',
vsix: 'puzzle',
vsixmanifest: 'puzzle',
wav: 'audio',
webm: 'video',
webp: 'image',
wma: 'audio',
wmv: 'video',
woff: 'font',
woff2: 'font',
xcf: 'image',
xls: 'csv',
xlsm: 'csv',
xlsx: 'csv',
xml: 'xml',
'xml.dist': 'xml',
'xml.dist.sample': 'xml',
xquery: 'xml',
xsd: 'xml',
xsl: 'xml',
xslt: 'xml',
yaml: 'yaml',
'yaml.dist': 'yaml',
yml: 'yaml',
'yml.dist': 'yaml',
yuv: 'video',
zig: 'zig',
zsh: 'shell'
};
export const symbolFileNamesToIcons: { [key: string]: string } = {
'.Rhistory': 'r',
'.angular-cli.json': 'angular',
'.babelrc': 'babel',
'.d.ts': 'dts',
'.direnv': 'gear',
'.editorconfig': 'editorconfig',
'.env': 'gear',
'.env.dev': 'gear',
'.env.development': 'gear',
'.env.local': 'gear',
'.env.prod': 'gear',
'.env.production': 'gear',
'.env.test': 'gear',
'.eslintcache': 'eslint',
'.eslintignore': 'eslint',
'.eslintrc': 'eslint',
'.eslintrc-jsdoc.js': 'eslint',
'.eslintrc-md.js': 'eslint',
'.eslintrc.cjs': 'eslint',
'.eslintrc.js': 'eslint',
'.eslintrc.json': 'eslint',
'.eslintrc.yaml': 'eslint',
'.eslintrc.yml': 'eslint',
'.esmrc': 'node',
'.feature': 'cucumber',
'.firebaserc': 'firebase',
'.git-blame-ignore': 'git',
'.gitattributes': 'git',
'.gitconfig': 'git',
'.gitignore': 'git',
'.gitignore-global': 'git',
'.gitignore_global': 'git',
'.gitinclude': 'git',
'.gitkeep': 'git',
'.gitmodules': 'git',
'.graphqlconfig': 'graphql',
'.graphqlrc': 'graphql',
'.graphqlrc.cjs': 'graphql',
'.graphqlrc.js': 'graphql',
'.graphqlrc.json': 'graphql',
'.graphqlrc.toml': 'graphql',
'.graphqlrc.ts': 'graphql',
'.graphqlrc.yaml': 'graphql',
'.graphqlrc.yml': 'graphql',
'.hugo_build.lock': 'hugo',
'.io-config.json': 'ionic',
'.jestrc': 'jest',
'.jestrc.js': 'jest',
'.jestrc.json': 'jest',
'.luacheckrc': 'lua',
'.nest-cli.json': 'nest',
'.nestconfig.json': 'nest',
'.node-version': 'node',
'.nowignore': 'vercel',
'.npmignore': 'npm',
'.npmrc': 'npm',
'.nvmrc': 'node',
'.perl': 'perl',
'.pnpmfile.cjs': 'pnpm',
'.postcssrc': 'postcss',
'.postcssrc.cjs': 'postcss',
'.postcssrc.cts': 'postcss',
'.postcssrc.js': 'postcss',
'.postcssrc.json': 'postcss',
'.postcssrc.ts': 'postcss',
'.postcssrc.yaml': 'postcss',
'.postcssrc.yml': 'postcss',
'.prettierignore': 'prettier',
'.prettierrc': 'prettier',
'.prettierrc.cjs': 'prettier',
'.prettierrc.js': 'prettier',
'.prettierrc.json': 'prettier',
'.prettierrc.json5': 'prettier',
'.prettierrc.mjs': 'prettier',
'.prettierrc.toml': 'prettier',
'.prettierrc.yaml': 'prettier',
'.prettierrc.yml': 'prettier',
'.pubignore': 'dart',
'.pug-lintrc': 'pug',
'.pug-lintrc.js': 'pug',
'.pug-lintrc.json': 'pug',
'.pylintrc': 'python',
'.python-version': 'python',
'.styl': 'stylus',
'.stylelintcache': 'stylelint',
'.stylelintignore': 'stylelint',
'.stylelintrc': 'stylelint',
'.stylelintrc.cjs': 'stylelint',
'.stylelintrc.js': 'stylelint',
'.stylelintrc.json': 'stylelint',
'.stylelintrc.yaml': 'stylelint',
'.stylelintrc.yml': 'stylelint',
'.swcrc': 'swc',
'.vercel': 'vercel',
'.vercelignore': 'vercel',
'.vscodeignore': 'ignore',
'angular-cli.json': 'angular',
'angular.json': 'angular',
'astro.config.cjs': 'astro',
'astro.config.cts': 'astro',
'astro.config.js': 'astro',
'astro.config.mjs': 'astro',
'astro.config.mts': 'astro',
'astro.config.ts': 'astro',
'biome.json': 'biome',
'biome.jsonc': 'biome',
'bun.lockb': 'bun',
'bunfig.toml': 'bun',
'capacitor.config.json': 'capacitor',
'capacitor.config.ts': 'capacitor',
'cmakecache.txt': 'cmake',
'cmakelists.txt': 'cmake',
'commit-msg': 'shell',
'compose.yaml': 'docker',
'compose.yml': 'docker',
'contentlayer.config.js': 'contentlayer',
'contentlayer.config.ts': 'contentlayer',
'css.ts': 'vanilla-extract',
'cypress.config.cjs': 'cypress',
'cypress.config.js': 'cypress',
'cypress.config.mjs': 'cypress',
'cypress.config.ts': 'cypress',
'cypress.env.json': 'cypress',
'cypress.json': 'cypress',
'deno.json': 'deno',
'deno.jsonc': 'deno',
'dev.vars': 'cloudflare-workers',
'docker-compose.alpha.yaml': 'docker',
'docker-compose.alpha.yml': 'docker',
'docker-compose.beta.yaml': 'docker',
'docker-compose.beta.yml': 'docker',
'docker-compose.ci.yaml': 'docker',
'docker-compose.ci.yml': 'docker',
'docker-compose.dev.yaml': 'docker',
'docker-compose.dev.yml': 'docker',
'docker-compose.development.yaml': 'docker',
'docker-compose.development.yml': 'docker',
'docker-compose.local.yaml': 'docker',
'docker-compose.local.yml': 'docker',
'docker-compose.override.yaml': 'docker',
'docker-compose.override.yml': 'docker',
'docker-compose.prod.yaml': 'docker',
'docker-compose.prod.yml': 'docker',
'docker-compose.production.yaml': 'docker',
'docker-compose.production.yml': 'docker',
'docker-compose.stage.yaml': 'docker',
'docker-compose.stage.yml': 'docker',
'docker-compose.staging.yaml': 'docker',
'docker-compose.staging.yml': 'docker',
'docker-compose.test.yaml': 'docker',
'docker-compose.test.yml': 'docker',
'docker-compose.testing.yaml': 'docker',
'docker-compose.testing.yml': 'docker',
'docker-compose.web.yaml': 'docker',
'docker-compose.web.yml': 'docker',
'docker-compose.worker.yaml': 'docker',
'docker-compose.worker.yml': 'docker',
'docker-compose.yaml': 'docker',
'docker-compose.yml': 'docker',
dockerfile: 'docker',
'dockerfile.alpha': 'docker',
'dockerfile.beta': 'docker',
'dockerfile.ci': 'docker',
'dockerfile.dev': 'docker',
'dockerfile.development': 'docker',
'dockerfile.local': 'docker',
'dockerfile.prod': 'docker',
'dockerfile.production': 'docker',
'dockerfile.stage': 'docker',
'dockerfile.staging': 'docker',
'dockerfile.test': 'docker',
'dockerfile.testing': 'docker',
'dockerfile.web': 'docker',
'dockerfile.worker': 'docker',
'drizzle.config.ts': 'drizzle',
dune: 'dune',
'dune-project': 'dune',
'dune-workspace': 'dune',
'dune-workspace.dev': 'dune',
'eslint.config.cjs': 'eslint',
'eslint.config.js': 'eslint',
'eslint.config.mjs': 'eslint',
'firebase.json': 'firebase',
'firestore.indexes.json': 'firebase',
'firestore.rules': 'firebase',
'gatsby-browser.js': 'gatsby',
'gatsby-browser.tsx': 'gatsby',
'gatsby-config.js': 'gatsby',
'gatsby-config.mjs': 'gatsby',
'gatsby-config.ts': 'gatsby',
'gatsby-node.js': 'gatsby',
'gatsby-node.mjs': 'gatsby',
'gatsby-node.ts': 'gatsby',
'gatsby-ssr.js': 'gatsby',
'gatsby-ssr.tsx': 'gatsby',
'git-history': 'git',
'go.mod': 'go-mod',
'go.sum': 'go-mod',
'go.work': 'go-mod',
'go.work.sum': 'go-mod',
'gradle-wrapper.properties': 'gradle',
'gradle.properties': 'gradle',
gradlew: 'gradle',
'graphql.config.js': 'graphql',
'graphql.config.json': 'graphql',
'graphql.config.toml': 'graphql',
'graphql.config.ts': 'graphql',
'graphql.config.yaml': 'graphql',
'graphql.config.yml': 'graphql',
'gulp.config.json': 'gulp',
'gulpfile.babel.js': 'gulp',
'gulpfile.cts': 'gulp',
'gulpfile.js': 'gulp',
'gulpfile.mjs': 'gulp',
'gulpfile.mts': 'gulp',
'gulpfile.ts': 'gulp',
'ionic.config.json': 'ionic',
jenkinsfile: 'jenkins',
'jest-e2e.config.cjs': 'jest',
'jest-e2e.config.cts': 'jest',
'jest-e2e.config.js': 'jest',
'jest-e2e.config.json': 'jest',
'jest-e2e.config.mjs': 'jest',
'jest-e2e.config.mts': 'jest',
'jest-e2e.config.ts': 'jest',
'jest-e2e.json': 'jest',
'jest-github-actions-reporter.js': 'jest',
'jest-unit.config.js': 'jest',
'jest.config.cjs': 'jest',
'jest.config.cts': 'jest',
'jest.config.js': 'jest',
'jest.config.json': 'jest',
'jest.config.mjs': 'jest',
'jest.config.mts': 'jest',
'jest.config.ts': 'jest',
'jest.e2e.config.cjs': 'jest',
'jest.e2e.config.cts': 'jest',
'jest.e2e.config.js': 'jest',
'jest.e2e.config.json': 'jest',
'jest.e2e.config.mjs': 'jest',
'jest.e2e.config.mts': 'jest',
'jest.e2e.config.ts': 'jest',
'jest.e2e.json': 'jest',
'jest.json': 'jest',
'jest.setup.js': 'jest',
'jest.setup.ts': 'jest',
'jest.teardown.js': 'jest',
'keystatic.config.ts': 'keystatic',
'keystatic.page.ts': 'keystatic',
'knip.json': 'knip',
'knip.jsonc': 'knip',
'knip.ts': 'knip',
license: 'license',
'license-agpl': 'license',
'license-apache': 'license',
'license-bsd': 'license',
'license-gpl': 'license',
'license-lgpl': 'license',
'license-mit': 'license',
'license.md': 'license',
'license.rst': 'license',
'license.txt': 'license',
'manifest.in': 'python',
'markdoc.config.ts': 'markdoc',
'nest-cli.json': 'nest',
'nestconfig.json': 'nest',
'netlify.json': 'netlify',
'netlify.toml': 'netlify',
'netlify.yaml': 'netlify',
'netlify.yml': 'netlify',
'next.config.js': 'next',
'next.config.mjs': 'next',
'next.config.mts': 'next',
'next.config.ts': 'next',
'nodemon-debug.json': 'nodemon',
'nodemon.json': 'nodemon',
'now.json': 'vercel',
'package-lock.json': 'node',
'package.json': 'node',
'panda.config.ts': 'panda',
pipfile: 'python',
'pnpm-lock.yaml': 'pnpm',
'pnpm-workspace.yaml': 'pnpm',
'post-merge': 'shell',
'postcss.config.cjs': 'postcss',
'postcss.config.cts': 'postcss',
'postcss.config.js': 'postcss',
'postcss.config.mts': 'postcss',
'postcss.config.ts': 'postcss',
'pre-commit': 'shell',
'pre-push': 'shell',
'prettier.config.cjs': 'prettier',
'prettier.config.js': 'prettier',
'prettier.config.mjs': 'prettier',
'prisma.yml': 'prisma',
'pulumi.yaml': 'pulumi',
pylintrc: 'python',
'pyproject.toml': 'python',
'requirements.txt': 'python',
'robots.txt': 'text',
'rome.json': 'rome',
'sanity.cli.ts': 'sanity',
'sanity.config.ts': 'sanity',
'sanity.theme.mjs': 'sanity',
'serverless.yml': 'severless',
'setup.cfg': 'python',
'stylelint.config.cjs': 'stylelint',
'stylelint.config.js': 'stylelint',
'svelte.config.cjs': 'svelte',
'svelte.config.js': 'svelte',
'tailwind.config.cjs': 'tailwind',
'tailwind.config.cts': 'tailwind',
'tailwind.config.js': 'tailwind',
'tailwind.config.mts': 'tailwind',
'tailwind.config.ts': 'tailwind',
'tailwind.js': 'tailwind',
'tailwind.ts': 'tailwind',
'test.js': 'js-test',
'test.ts': 'ts-test',
'tsconfig.app.json': 'tsconfig',
'tsconfig.base.json': 'tsconfig',
'tsconfig.build.json': 'tsconfig',
'tsconfig.cjs.json': 'tsconfig',
'tsconfig.config.json': 'tsconfig',
'tsconfig.e2e.json': 'tsconfig',
'tsconfig.editor.json': 'tsconfig',
'tsconfig.eslint.json': 'tsconfig',
'tsconfig.esm.json': 'tsconfig',
'tsconfig.json': 'tsconfig',
'tsconfig.lib.json': 'tsconfig',
'tsconfig.mjs.json': 'tsconfig',
'tsconfig.node.json': 'tsconfig',
'tsconfig.spec.json': 'tsconfig',
'tsconfig.test.json': 'ts-test',
'tsconfig.vitest.json': 'tsconfig',
'tsconfig.web.json': 'tsconfig',
'tsconfig.webworker.json': 'tsconfig',
'turbo.json': 'turborepo',
'uno.config.js': 'unocss',
'uno.config.mjs': 'unocss',
'uno.config.mts': 'unocss',
'uno.config.ts': 'unocss',
'unocss.config.js': 'unocss',
'unocss.config.mjs': 'unocss',
'unocss.config.mts': 'unocss',
'unocss.config.ts': 'unocss',
'vercel.json': 'vercel',
'vite.config.cjs': 'vite',
'vite.config.cts': 'vite',
'vite.config.electron.cjs': 'vite',
'vite.config.electron.cts': 'vite',
'vite.config.electron.js': 'vite',
'vite.config.electron.mjs': 'vite',
'vite.config.electron.mts': 'vite',
'vite.config.electron.ts': 'vite',
'vite.config.js': 'vite',
'vite.config.mjs': 'vite',
'vite.config.mts': 'vite',
'vite.config.ts': 'vite',
'vitest.config.cjs': 'vitest',
'vitest.config.cts': 'vitest',
'vitest.config.js': 'vitest',
'vitest.config.mjs': 'vitest',
'vitest.config.mts': 'vitest',
'vitest.config.ts': 'vitest',
'webpack.base.cjs': 'webpack',
'webpack.base.cts': 'webpack',
'webpack.base.js': 'webpack',
'webpack.base.mjs': 'webpack',
'webpack.base.mts': 'webpack',
'webpack.base.ts': 'webpack',
'webpack.cjs': 'webpack',
'webpack.client.cjs': 'webpack',
'webpack.client.cts': 'webpack',
'webpack.client.js': 'webpack',
'webpack.client.mjs': 'webpack',
'webpack.client.mts': 'webpack',
'webpack.client.ts': 'webpack',
'webpack.common.cjs': 'webpack',
'webpack.common.cts': 'webpack',
'webpack.common.js': 'webpack',
'webpack.common.mjs': 'webpack',
'webpack.common.mts': 'webpack',
'webpack.common.ts': 'webpack',
'webpack.config.babel.js': 'webpack',
'webpack.config.babel.ts': 'webpack',
'webpack.config.base.babel.js': 'webpack',
'webpack.config.base.babel.ts': 'webpack',
'webpack.config.base.cjs': 'webpack',
'webpack.config.base.cts': 'webpack',
'webpack.config.base.js': 'webpack',
'webpack.config.base.mjs': 'webpack',
'webpack.config.base.mts': 'webpack',
'webpack.config.base.ts': 'webpack',
'webpack.config.cjs': 'webpack',
'webpack.config.client.cjs': 'webpack',
'webpack.config.client.cts': 'webpack',
'webpack.config.client.js': 'webpack',
'webpack.config.client.mjs': 'webpack',
'webpack.config.client.mts': 'webpack',
'webpack.config.client.ts': 'webpack',
'webpack.config.coffee': 'webpack',
'webpack.config.common.babel.js': 'webpack',
'webpack.config.common.babel.ts': 'webpack',
'webpack.config.common.cjs': 'webpack',
'webpack.config.common.cts': 'webpack',
'webpack.config.common.js': 'webpack',
'webpack.config.common.mjs': 'webpack',
'webpack.config.common.mts': 'webpack',
'webpack.config.common.ts': 'webpack',
'webpack.config.cts': 'webpack',
'webpack.config.dev.babel.js': 'webpack',
'webpack.config.dev.babel.ts': 'webpack',
'webpack.config.dev.cjs': 'webpack',
'webpack.config.dev.cts': 'webpack',
'webpack.config.dev.js': 'webpack',
'webpack.config.dev.mjs': 'webpack',
'webpack.config.dev.mts': 'webpack',
'webpack.config.dev.ts': 'webpack',
'webpack.config.js': 'webpack',
'webpack.config.mjs': 'webpack',
'webpack.config.mts': 'webpack',
'webpack.config.prod.babel.cjs': 'webpack',
'webpack.config.prod.babel.cts': 'webpack',
'webpack.config.prod.babel.js': 'webpack',
'webpack.config.prod.babel.mjs': 'webpack',
'webpack.config.prod.babel.mts': 'webpack',
'webpack.config.prod.babel.ts': 'webpack',
'webpack.config.prod.cjs': 'webpack',
'webpack.config.prod.cts': 'webpack',
'webpack.config.prod.js': 'webpack',
'webpack.config.prod.mjs': 'webpack',
'webpack.config.prod.mts': 'webpack',
'webpack.config.prod.ts': 'webpack',
'webpack.config.production.babel.js': 'webpack',
'webpack.config.production.babel.ts': 'webpack',
'webpack.config.production.cjs': 'webpack',
'webpack.config.production.cts': 'webpack',
'webpack.config.production.js': 'webpack',
'webpack.config.production.mjs': 'webpack',
'webpack.config.production.mts': 'webpack',
'webpack.config.production.ts': 'webpack',
'webpack.config.server.cjs': 'webpack',
'webpack.config.server.cts': 'webpack',
'webpack.config.server.js': 'webpack',
'webpack.config.server.mjs': 'webpack',
'webpack.config.server.mts': 'webpack',
'webpack.config.server.ts': 'webpack',
'webpack.config.staging.babel.js': 'webpack',
'webpack.config.staging.babel.ts': 'webpack',
'webpack.config.staging.cjs': 'webpack',
'webpack.config.staging.cts': 'webpack',
'webpack.config.staging.js': 'webpack',
'webpack.config.staging.mjs': 'webpack',
'webpack.config.staging.mts': 'webpack',
'webpack.config.staging.ts': 'webpack',
'webpack.config.test.cjs': 'webpack',
'webpack.config.test.cts': 'webpack',
'webpack.config.test.js': 'webpack',
'webpack.config.test.mjs': 'webpack',
'webpack.config.test.mts': 'webpack',
'webpack.config.test.ts': 'webpack',
'webpack.config.ts': 'webpack',
'webpack.config.vendor.cjs': 'webpack',
'webpack.config.vendor.cts': 'webpack',
'webpack.config.vendor.js': 'webpack',
'webpack.config.vendor.mjs': 'webpack',
'webpack.config.vendor.mts': 'webpack',
'webpack.config.vendor.production.cjs': 'webpack',
'webpack.config.vendor.production.cts': 'webpack',
'webpack.config.vendor.production.js': 'webpack',
'webpack.config.vendor.production.mjs': 'webpack',
'webpack.config.vendor.production.mts': 'webpack',
'webpack.config.vendor.production.ts': 'webpack',
'webpack.config.vendor.ts': 'webpack',
'webpack.cts': 'webpack',
'webpack.dev.cjs': 'webpack',
'webpack.dev.cts': 'webpack',
'webpack.dev.js': 'webpack',
'webpack.dev.mjs': 'webpack',
'webpack.dev.mts': 'webpack',
'webpack.dev.ts': 'webpack',
'webpack.development.cjs': 'webpack',
'webpack.development.cts': 'webpack',
'webpack.development.js': 'webpack',
'webpack.development.mjs': 'webpack',
'webpack.development.mts': 'webpack',
'webpack.development.ts': 'webpack',
'webpack.dist.cjs': 'webpack',
'webpack.dist.cts': 'webpack',
'webpack.dist.js': 'webpack',
'webpack.dist.mjs': 'webpack',
'webpack.dist.mts': 'webpack',
'webpack.dist.ts': 'webpack',
'webpack.js': 'webpack',
'webpack.mix.cjs': 'webpack',
'webpack.mix.cts': 'webpack',
'webpack.mix.js': 'webpack',
'webpack.mix.mjs': 'webpack',
'webpack.mix.mts': 'webpack',
'webpack.mix.ts': 'webpack',
'webpack.mjs': 'webpack',
'webpack.mts': 'webpack',
'webpack.prod.cjs': 'webpack',
'webpack.prod.config.cjs': 'webpack',
'webpack.prod.config.cts': 'webpack',
'webpack.prod.config.js': 'webpack',
'webpack.prod.config.mjs': 'webpack',
'webpack.prod.config.mts': 'webpack',
'webpack.prod.config.ts': 'webpack',
'webpack.prod.cts': 'webpack',
'webpack.prod.js': 'webpack',
'webpack.prod.mjs': 'webpack',
'webpack.prod.mts': 'webpack',
'webpack.prod.ts': 'webpack',
'webpack.production.cjs': 'webpack',
'webpack.production.cts': 'webpack',
'webpack.production.js': 'webpack',
'webpack.production.mjs': 'webpack',
'webpack.production.mts': 'webpack',
'webpack.production.ts': 'webpack',
'webpack.server.cjs': 'webpack',
'webpack.server.cts': 'webpack',
'webpack.server.js': 'webpack',
'webpack.server.mjs': 'webpack',
'webpack.server.mts': 'webpack',
'webpack.server.ts': 'webpack',
'webpack.test.cjs': 'webpack',
'webpack.test.cts': 'webpack',
'webpack.test.js': 'webpack',
'webpack.test.mjs': 'webpack',
'webpack.test.mts': 'webpack',
'webpack.test.ts': 'webpack',
'webpack.ts': 'webpack',
'webpackfile.cjs': 'webpack',
'webpackfile.cts': 'webpack',
'webpackfile.js': 'webpack',
'webpackfile.mjs': 'webpack',
'webpackfile.mts': 'webpack',
'webpackfile.ts': 'webpack',
yarn: 'yarn',
'yarn.lock': 'yarn'
};

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
<script lang="ts">
import FileStatusTag from './FileStatusTag.svelte';
import { getVSIFileIcon } from '$lib/ext-icons';
import { getFileIcon } from '$lib/ext-icons';
import Button from '$lib/shared/Button.svelte';
import { splitFilePath } from '$lib/utils/filePath';
import { computeFileStatus } from '$lib/utils/fileStatus';
@ -20,7 +20,7 @@
<div class="header">
<div class="header__inner">
<img src={getVSIFileIcon(file.path)} alt="" class="icon" />
<img src={getFileIcon(file.path)} alt="" class="icon" />
<div class="header__info truncate">
<div class="header__filetitle text-base-13 truncate">
<span class="header__filename">{fileTitle.filename}</span>

View File

@ -3,7 +3,7 @@
import FileStatusIcons from './FileStatusIcons.svelte';
import { draggableChips } from '$lib/dragging/draggable';
import { DraggableFile } from '$lib/dragging/draggables';
import { getVSIFileIcon } from '$lib/ext-icons';
import { getFileIcon } from '$lib/ext-icons';
import Checkbox from '$lib/shared/Checkbox.svelte';
import Icon from '$lib/shared/Icon.svelte';
import { getContext, maybeGetContextStore } from '$lib/utils/context';
@ -152,7 +152,7 @@
/>
{/if}
<div class="info">
<img draggable="false" class="file-icon" src={getVSIFileIcon(file.path)} alt="" />
<img draggable="false" class="file-icon" src={getFileIcon(file.path)} alt="" />
<span class="text-base-12 name">
{file.filename}
</span>
@ -225,7 +225,7 @@
}
.file-icon {
width: 12px;
width: 14px;
}
.name {

View File

@ -1,7 +1,7 @@
<script lang="ts">
import SnapshotAttachment from './SnapshotAttachment.svelte';
import Icon from '../shared/Icon.svelte';
import { getVSIFileIcon } from '$lib/ext-icons';
import { getFileIcon } from '$lib/ext-icons';
import { createdOnDay } from '$lib/history/history';
import Button from '$lib/shared/Button.svelte';
import { splitFilePath } from '$lib/utils/filePath';
@ -217,7 +217,7 @@
<img
draggable="false"
class="files-attacment__file-icon"
src={getVSIFileIcon(filePath)}
src={getFileIcon(filePath)}
alt=""
/>
<div class="text-base-12 files-attacment__file-path-and-name">