From 01e16adad9406f39c1deecb398119b22c055cfca Mon Sep 17 00:00:00 2001 From: Ramin Tadayon Date: Mon, 2 Dec 2024 12:05:59 -0700 Subject: [PATCH 01/74] Increases gap between start work and create branch buttons --- src/webviews/apps/plus/home/components/launchpad.ts | 2 +- .../apps/shared/components/button-container.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/webviews/apps/plus/home/components/launchpad.ts b/src/webviews/apps/plus/home/components/launchpad.ts index 4c27105ab48d3..1161014b1ebde 100644 --- a/src/webviews/apps/plus/home/components/launchpad.ts +++ b/src/webviews/apps/plus/home/components/launchpad.ts @@ -155,7 +155,7 @@ export class GlLaunchpad extends SignalWatcher(LitElement) { GitLens Launchpad
${this.renderSummaryResult()}
- + Start Work on an Issue `; } From aced932b05b0f194c39911c803e200d8f2aac5d0 Mon Sep 17 00:00:00 2001 From: Eric Amodio Date: Sat, 30 Nov 2024 21:05:19 -0500 Subject: [PATCH 02/74] Updates dependencies --- ThirdPartyNotices.txt | 4 +- package.json | 18 +- pnpm-lock.yaml | 466 +++++++++++++++++++++++------------------- 3 files changed, 263 insertions(+), 225 deletions(-) diff --git a/ThirdPartyNotices.txt b/ThirdPartyNotices.txt index 35cc77be95058..21f0fe95a74c5 100644 --- a/ThirdPartyNotices.txt +++ b/ThirdPartyNotices.txt @@ -19,11 +19,11 @@ This project incorporates components from the projects listed below. 14. @opentelemetry/semantic-conventions version 1.28.0 (https://github.com/open-telemetry/opentelemetry-js) 15. @shoelace-style/shoelace version 2.18.0 (https://github.com/shoelace-style/shoelace) 16. @vscode/codicons version 0.0.36 (https://github.com/microsoft/vscode-codicons) -17. billboard.js version 3.14.1 (https://github.com/naver/billboard.js) +17. billboard.js version 3.14.2 (https://github.com/naver/billboard.js) 18. https-proxy-agent version 5.0.1 (https://github.com/TooTallNate/node-https-proxy-agent) 19. iconv-lite version 0.6.3 (https://github.com/ashtuchkin/iconv-lite) 20. lit version 3.2.1 (https://github.com/lit/lit) -21. marked version 15.0.2 (https://github.com/markedjs/marked) +21. marked version 15.0.3 (https://github.com/markedjs/marked) 22. microsoft/vscode (https://github.com/microsoft/vscode) 23. node-fetch version 2.7.0 (https://github.com/bitinn/node-fetch) 24. os-browserify version 0.3.0 (https://github.com/CoderPuppy/os-browserify) diff --git a/package.json b/package.json index 0fcc925dbf890..702931274b468 100644 --- a/package.json +++ b/package.json @@ -19625,11 +19625,11 @@ "@opentelemetry/semantic-conventions": "1.28.0", "@shoelace-style/shoelace": "2.18.0", "@vscode/codicons": "0.0.36", - "billboard.js": "3.14.1", + "billboard.js": "3.14.2", "https-proxy-agent": "5.0.1", "iconv-lite": "0.6.3", "lit": "3.2.1", - "marked": "15.0.2", + "marked": "15.0.3", "node-fetch": "2.7.0", "os-browserify": "0.3.0", "path-browserify": "1.0.1", @@ -19641,7 +19641,7 @@ }, "devDependencies": { "@eamodio/eslint-lite-webpack-plugin": "0.1.0", - "@eslint/js": "9.15.0", + "@eslint/js": "9.16.0", "@playwright/test": "1.49.0", "@swc/core": "1.9.3", "@twbs/fantasticon": "3.0.0", @@ -19653,7 +19653,7 @@ "@types/slug": "5.0.9", "@types/sortablejs": "1.15.8", "@types/vscode": "1.82.0", - "@typescript-eslint/parser": "8.16.0", + "@typescript-eslint/parser": "8.17.0", "@vscode/test-cli": "^0.0.10", "@vscode/test-electron": "2.4.1", "@vscode/test-web": "0.0.64", @@ -19670,7 +19670,7 @@ "esbuild-loader": "4.2.2", "esbuild-node-externals": "1.15.0", "esbuild-sass-plugin": "3.3.1", - "eslint": "9.15.0", + "eslint": "9.16.0", "eslint-import-resolver-typescript": "3.6.3", "eslint-plugin-anti-trojan-source": "1.1.1", "eslint-plugin-import-x": "4.4.3", @@ -19678,14 +19678,14 @@ "eslint-plugin-wc": "2.2.0", "fork-ts-checker-webpack-plugin": "9.0.2", "glob": "11.0.0", - "globals": "15.12.0", + "globals": "15.13.0", "html-loader": "5.1.0", "html-webpack-plugin": "5.6.3", "image-minimizer-webpack-plugin": "4.1.1", "license-checker-rseidelsohn": "4.4.2", "lz-string": "1.5.0", "mini-css-extract-plugin": "2.9.2", - "mocha": "10.8.2", + "mocha": "11.0.1", "ovsx": "0.10.1", "playwright": "1.49.0", "prettier": "3.1.0", @@ -19697,7 +19697,7 @@ "terser-webpack-plugin": "5.3.10", "ts-loader": "9.5.1", "typescript": "5.7.2", - "typescript-eslint": "8.16.0", + "typescript-eslint": "8.17.0", "webpack": "5.96.1", "webpack-bundle-analyzer": "4.10.2", "webpack-cli": "5.1.4", @@ -19710,5 +19710,5 @@ "node-fetch": "2.7.0", "semver-regex": "4.0.5" }, - "packageManager": "pnpm@9.14.2" + "packageManager": "pnpm@9.14.4" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index adab03a0609ce..9f7c0ad52ed85 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,8 +72,8 @@ importers: specifier: 0.0.36 version: 0.0.36 billboard.js: - specifier: 3.14.1 - version: 3.14.1 + specifier: 3.14.2 + version: 3.14.2 https-proxy-agent: specifier: 5.0.1 version: 5.0.1 @@ -84,8 +84,8 @@ importers: specifier: 3.2.1 version: 3.2.1 marked: - specifier: 15.0.2 - version: 15.0.2 + specifier: 15.0.3 + version: 15.0.3 node-fetch: specifier: 2.7.0 version: 2.7.0(encoding@0.1.13) @@ -113,10 +113,10 @@ importers: devDependencies: '@eamodio/eslint-lite-webpack-plugin': specifier: 0.1.0 - version: 0.1.0(@swc/core@1.9.3)(esbuild@0.24.0)(eslint@9.15.0(jiti@2.4.0))(webpack-cli@5.1.4)(webpack@5.96.1) + version: 0.1.0(@swc/core@1.9.3)(esbuild@0.24.0)(eslint@9.16.0(jiti@2.4.0))(webpack-cli@5.1.4)(webpack@5.96.1) '@eslint/js': - specifier: 9.15.0 - version: 9.15.0 + specifier: 9.16.0 + version: 9.16.0 '@playwright/test': specifier: 1.49.0 version: 1.49.0 @@ -151,8 +151,8 @@ importers: specifier: 1.82.0 version: 1.82.0 '@typescript-eslint/parser': - specifier: 8.16.0 - version: 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + specifier: 8.17.0 + version: 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) '@vscode/test-cli': specifier: ^0.0.10 version: 0.0.10 @@ -202,23 +202,23 @@ importers: specifier: 3.3.1 version: 3.3.1(esbuild@0.24.0)(sass-embedded@1.77.8) eslint: - specifier: 9.15.0 - version: 9.15.0(jiti@2.4.0) + specifier: 9.16.0 + version: 9.16.0(jiti@2.4.0) eslint-import-resolver-typescript: specifier: 3.6.3 - version: 3.6.3(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import-x@4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@9.15.0(jiti@2.4.0)) + version: 3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@9.16.0(jiti@2.4.0)) eslint-plugin-anti-trojan-source: specifier: 1.1.1 version: 1.1.1 eslint-plugin-import-x: specifier: 4.4.3 - version: 4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + version: 4.4.3(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) eslint-plugin-lit: specifier: 1.15.0 - version: 1.15.0(eslint@9.15.0(jiti@2.4.0)) + version: 1.15.0(eslint@9.16.0(jiti@2.4.0)) eslint-plugin-wc: specifier: 2.2.0 - version: 2.2.0(eslint@9.15.0(jiti@2.4.0)) + version: 2.2.0(eslint@9.16.0(jiti@2.4.0)) fork-ts-checker-webpack-plugin: specifier: 9.0.2 version: 9.0.2(typescript@5.7.2)(webpack@5.96.1) @@ -226,8 +226,8 @@ importers: specifier: 11.0.0 version: 11.0.0 globals: - specifier: 15.12.0 - version: 15.12.0 + specifier: 15.13.0 + version: 15.13.0 html-loader: specifier: 5.1.0 version: 5.1.0(webpack@5.96.1) @@ -247,8 +247,8 @@ importers: specifier: 2.9.2 version: 2.9.2(webpack@5.96.1) mocha: - specifier: 10.8.2 - version: 10.8.2 + specifier: 11.0.1 + version: 11.0.1 ovsx: specifier: 0.10.1 version: 0.10.1 @@ -283,8 +283,8 @@ importers: specifier: 5.7.2 version: 5.7.2 typescript-eslint: - specifier: 8.16.0 - version: 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + specifier: 8.17.0 + version: 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) webpack: specifier: 5.96.1 version: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)(webpack-cli@5.1.4) @@ -321,8 +321,8 @@ packages: resolution: {integrity: sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==} engines: {node: '>=18.0.0'} - '@azure/core-rest-pipeline@1.18.0': - resolution: {integrity: sha512-QSoGUp4Eq/gohEFNJaUOwTN7BCc2nHTjjbm75JT0aD7W65PWM1H/tItz0GsABn22uaKyGxiMhWQLt2r+FGU89Q==} + '@azure/core-rest-pipeline@1.18.1': + resolution: {integrity: sha512-/wS73UEDrxroUEVywEm7J0p2c+IIiVxyfigCGfsKvCxxCET4V/Hef2aURqltrXMRjNmdmt5IuOgIpl8f6xdO5A==} engines: {node: '>=18.0.0'} '@azure/core-tracing@1.2.0': @@ -556,8 +556,8 @@ packages: resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.15.0': - resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} + '@eslint/js@9.16.0': + resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -1113,8 +1113,8 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@typescript-eslint/eslint-plugin@8.16.0': - resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==} + '@typescript-eslint/eslint-plugin@8.17.0': + resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -1124,8 +1124,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.16.0': - resolution: {integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==} + '@typescript-eslint/parser@8.17.0': + resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1134,12 +1134,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.16.0': - resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==} + '@typescript-eslint/scope-manager@8.17.0': + resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.16.0': - resolution: {integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==} + '@typescript-eslint/type-utils@8.17.0': + resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1148,12 +1148,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.16.0': - resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==} + '@typescript-eslint/types@8.17.0': + resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.16.0': - resolution: {integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==} + '@typescript-eslint/typescript-estree@8.17.0': + resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1161,8 +1161,8 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.16.0': - resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==} + '@typescript-eslint/utils@8.17.0': + resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1171,8 +1171,8 @@ packages: typescript: optional: true - '@typescript-eslint/visitor-keys@8.16.0': - resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} + '@typescript-eslint/visitor-keys@8.17.0': + resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vscode/codicons@0.0.36': @@ -1530,8 +1530,8 @@ packages: big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - billboard.js@3.14.1: - resolution: {integrity: sha512-PuX7BEqpgLcDGryFbPOTl9O1LmzJf9bZNbFa9CwsAxv7Ljub9U8tyyHsbt+mOw3TXyl+7zktvFK0Oc7RiQ3aJg==} + billboard.js@3.14.2: + resolution: {integrity: sha512-PPqqW+zm2qP41AjAU1eegCI2a98k/52N9z1NhXT73uHXlmw4LyqdWVSEx6vFbAjN5hNDYqwsZHF/tRqWZKdhqQ==} binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} @@ -1627,8 +1627,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001684: - resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} + caniuse-lite@1.0.30001685: + resolution: {integrity: sha512-e/kJN1EMyHQzgcMEEgoo+YTCO1NGCmIYHk5Qk8jT6AazWemS5QFKJ5ShCJlH3GZrNIdZofcNCEwZqbMjjKzmnA==} case@1.6.3: resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} @@ -2229,8 +2229,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.65: - resolution: {integrity: sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==} + electron-to-chromium@1.5.68: + resolution: {integrity: sha512-FgMdJlma0OzUYlbrtZ4AeXjKxKPk6KT8WOP8BjcqxWtlg8qyJQjRzPJzUtUn5GBg1oQ26hFs7HOOHJMYiJRnvQ==} emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -2307,8 +2307,8 @@ packages: es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} esbuild-loader@4.2.2: @@ -2431,8 +2431,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.15.0: - resolution: {integrity: sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==} + eslint@9.16.0: + resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2666,8 +2666,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.12.0: - resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} + globals@15.13.0: + resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} engines: {node: '>=18'} globalthis@1.0.4: @@ -2686,8 +2686,9 @@ packages: resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} engines: {node: '>=0.10.0'} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.1.0: + resolution: {integrity: sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==} + engines: {node: '>= 0.4'} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2726,12 +2727,12 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + has-proto@1.1.0: + resolution: {integrity: sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==} engines: {node: '>= 0.4'} - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} has-tostringtag@1.0.2: @@ -2947,19 +2948,20 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + is-boolean-object@1.2.0: + resolution: {integrity: sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==} engines: {node: '>= 0.4'} - is-bun-module@1.2.1: - resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} + is-bun-module@1.3.0: + resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -3028,8 +3030,8 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + is-number-object@1.1.0: + resolution: {integrity: sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==} engines: {node: '>= 0.4'} is-number@7.0.0: @@ -3063,8 +3065,8 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + is-regex@1.2.0: + resolution: {integrity: sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA==} engines: {node: '>= 0.4'} is-set@2.0.3: @@ -3075,12 +3077,12 @@ packages: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + is-string@1.1.0: + resolution: {integrity: sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==} engines: {node: '>= 0.4'} - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + is-symbol@1.1.0: + resolution: {integrity: sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A==} engines: {node: '>= 0.4'} is-typed-array@1.1.13: @@ -3417,8 +3419,8 @@ packages: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true - marked@15.0.2: - resolution: {integrity: sha512-85RUkoYKIVB21PbMKrnD6aCl9ws+XKEyhJNMbLn206NyD3jbBo7Ec7Wi4Jrsn4dV1a2ng7K/jfkmIN0DNoS41w==} + marked@15.0.3: + resolution: {integrity: sha512-Ai0cepvl2NHnTcO9jYDtcOEtVBNVYR31XnEA3BndO7f5As1wzpcOceSUM8FDkNLJNIODcLpDTWay/qQhqbuMvg==} engines: {node: '>= 18'} hasBin: true @@ -3559,6 +3561,11 @@ packages: engines: {node: '>= 14.0.0'} hasBin: true + mocha@11.0.1: + resolution: {integrity: sha512-+3GkODfsDG71KSCQhc4IekSW+ItCK/kiez1Z28ksWvYhKXV/syxMlerR/sC7whDp7IyreZ4YxceMLdTs5hQE8A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + morgan@1.10.0: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} @@ -3579,8 +3586,8 @@ packages: nan@2.22.0: resolution: {integrity: sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -4947,8 +4954,8 @@ packages: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} - ts-api-utils@1.4.2: - resolution: {integrity: sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw==} + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -5021,8 +5028,8 @@ packages: typed-rest-client@1.8.11: resolution: {integrity: sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==} - typescript-eslint@8.16.0: - resolution: {integrity: sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==} + typescript-eslint@8.17.0: + resolution: {integrity: sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5197,8 +5204,8 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + which-typed-array@1.1.16: + resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} engines: {node: '>= 0.4'} which@2.0.2: @@ -5329,7 +5336,7 @@ snapshots: dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.9.0 - '@azure/core-rest-pipeline': 1.18.0 + '@azure/core-rest-pipeline': 1.18.1 '@azure/core-tracing': 1.2.0 '@azure/core-util': 1.11.0 '@azure/logger': 1.1.4 @@ -5337,7 +5344,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/core-rest-pipeline@1.18.0': + '@azure/core-rest-pipeline@1.18.1': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.9.0 @@ -5364,7 +5371,7 @@ snapshots: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.9.0 '@azure/core-client': 1.9.2 - '@azure/core-rest-pipeline': 1.18.0 + '@azure/core-rest-pipeline': 1.18.1 '@azure/core-tracing': 1.2.0 '@azure/core-util': 1.11.0 '@azure/logger': 1.1.4 @@ -5419,11 +5426,11 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@eamodio/eslint-lite-webpack-plugin@0.1.0(@swc/core@1.9.3)(esbuild@0.24.0)(eslint@9.15.0(jiti@2.4.0))(webpack-cli@5.1.4)(webpack@5.96.1)': + '@eamodio/eslint-lite-webpack-plugin@0.1.0(@swc/core@1.9.3)(esbuild@0.24.0)(eslint@9.16.0(jiti@2.4.0))(webpack-cli@5.1.4)(webpack@5.96.1)': dependencies: '@types/eslint': 9.6.1 '@types/webpack': 5.28.5(@swc/core@1.9.3)(esbuild@0.24.0)(webpack-cli@5.1.4) - eslint: 9.15.0(jiti@2.4.0) + eslint: 9.16.0(jiti@2.4.0) fast-glob: 3.3.2 minimatch: 10.0.1 webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)(webpack-cli@5.1.4) @@ -5505,9 +5512,9 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.15.0(jiti@2.4.0))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@2.4.0))': dependencies: - eslint: 9.15.0(jiti@2.4.0) + eslint: 9.16.0(jiti@2.4.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -5536,7 +5543,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.15.0': {} + '@eslint/js@9.16.0': {} '@eslint/object-schema@2.1.4': {} @@ -6082,86 +6089,86 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/type-utils': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 - eslint: 9.15.0(jiti@2.4.0) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 + eslint: 9.16.0(jiti@2.4.0) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.2(typescript@5.7.2) + ts-api-utils: 1.4.3(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': + '@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7(supports-color@8.1.1) - eslint: 9.15.0(jiti@2.4.0) + eslint: 9.16.0(jiti@2.4.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.16.0': + '@typescript-eslint/scope-manager@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 - '@typescript-eslint/type-utils@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) - eslint: 9.15.0(jiti@2.4.0) - ts-api-utils: 1.4.2(typescript@5.7.2) + eslint: 9.16.0(jiti@2.4.0) + ts-api-utils: 1.4.3(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.16.0': {} + '@typescript-eslint/types@8.17.0': {} - '@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.2(typescript@5.7.2) + ts-api-utils: 1.4.3(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2)': + '@typescript-eslint/utils@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - eslint: 9.15.0(jiti@2.4.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.0)) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + eslint: 9.16.0(jiti@2.4.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.16.0': + '@typescript-eslint/visitor-keys@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/types': 8.17.0 eslint-visitor-keys: 4.2.0 '@vscode/codicons@0.0.36': {} @@ -6492,7 +6499,7 @@ snapshots: es-abstract: 1.23.5 es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 - is-string: 1.0.7 + is-string: 1.1.0 optional: true array-union@1.0.2: @@ -6550,7 +6557,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001684 + caniuse-lite: 1.0.30001685 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -6602,7 +6609,7 @@ snapshots: big.js@5.2.2: {} - billboard.js@3.14.1: + billboard.js@3.14.2: dependencies: '@types/d3-selection': 3.0.11 '@types/d3-transition': 3.0.9 @@ -6661,8 +6668,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001684 - electron-to-chromium: 1.5.65 + caniuse-lite: 1.0.30001685 + electron-to-chromium: 1.5.68 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -6757,11 +6764,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001684 + caniuse-lite: 1.0.30001685 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001684: {} + caniuse-lite@1.0.30001685: {} case@1.6.3: {} @@ -7250,7 +7257,7 @@ snapshots: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.1.0 define-lazy-prop@2.0.0: {} @@ -7375,7 +7382,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.65: {} + electron-to-chromium@1.5.68: {} emoji-regex@10.4.0: {} @@ -7428,24 +7435,24 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 + es-to-primitive: 1.3.0 function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 globalthis: 1.0.4 - gopd: 1.0.1 + gopd: 1.1.0 has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.1.0 + has-symbols: 1.1.0 hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 is-data-view: 1.0.1 is-negative-zero: 2.0.3 - is-regex: 1.1.4 + is-regex: 1.2.0 is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 + is-string: 1.1.0 is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.3 @@ -7462,7 +7469,7 @@ snapshots: typed-array-byte-offset: 1.0.3 typed-array-length: 1.0.7 unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 optional: true es-define-property@1.0.0: @@ -7490,11 +7497,11 @@ snapshots: hasown: 2.0.2 optional: true - es-to-primitive@1.2.1: + es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 - is-symbol: 1.0.4 + is-symbol: 1.1.0 optional: true esbuild-loader@4.2.2(webpack@5.96.1): @@ -7562,34 +7569,34 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import-x@4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@9.15.0(jiti@2.4.0)): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@9.16.0(jiti@2.4.0)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7(supports-color@8.1.1) enhanced-resolve: 5.17.1 - eslint: 9.15.0(jiti@2.4.0) - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.15.0(jiti@2.4.0)) + eslint: 9.16.0(jiti@2.4.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@2.4.0)) fast-glob: 3.3.2 get-tsconfig: 4.8.1 - is-bun-module: 1.2.1 + is-bun-module: 1.3.0 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.15.0(jiti@2.4.0)) - eslint-plugin-import-x: 4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@2.4.0)) + eslint-plugin-import-x: 4.4.3(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.15.0(jiti@2.4.0)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@2.4.0)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) - eslint: 9.15.0(jiti@2.4.0) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.16.0(jiti@2.4.0) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import-x@4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@9.15.0(jiti@2.4.0)) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@9.16.0(jiti@2.4.0)) transitivePeerDependencies: - supports-color @@ -7597,12 +7604,12 @@ snapshots: dependencies: anti-trojan-source: 1.4.1 - eslint-plugin-import-x@4.4.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): + eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2): dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) doctrine: 3.0.0 - eslint: 9.15.0(jiti@2.4.0) + eslint: 9.16.0(jiti@2.4.0) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -7614,7 +7621,7 @@ snapshots: - supports-color - typescript - eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.15.0(jiti@2.4.0)): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@2.4.0)): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -7622,9 +7629,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.15.0(jiti@2.4.0) + eslint: 9.16.0(jiti@2.4.0) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.15.0(jiti@2.4.0)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@2.4.0)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -7635,23 +7642,23 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color optional: true - eslint-plugin-lit@1.15.0(eslint@9.15.0(jiti@2.4.0)): + eslint-plugin-lit@1.15.0(eslint@9.16.0(jiti@2.4.0)): dependencies: - eslint: 9.15.0(jiti@2.4.0) + eslint: 9.16.0(jiti@2.4.0) parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 requireindex: 1.2.0 - eslint-plugin-wc@2.2.0(eslint@9.15.0(jiti@2.4.0)): + eslint-plugin-wc@2.2.0(eslint@9.16.0(jiti@2.4.0)): dependencies: - eslint: 9.15.0(jiti@2.4.0) + eslint: 9.16.0(jiti@2.4.0) is-valid-element-name: 1.0.0 js-levenshtein-esm: 1.2.0 @@ -7669,14 +7676,14 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.15.0(jiti@2.4.0): + eslint@9.16.0(jiti@2.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.0)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.0 '@eslint/core': 0.9.0 '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.15.0 + '@eslint/js': 9.16.0 '@eslint/plugin-kit': 0.2.3 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -7888,8 +7895,8 @@ snapshots: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.1.0 + has-symbols: 1.1.0 hasown: 2.0.2 get-symbol-description@1.0.2: @@ -7952,12 +7959,12 @@ snapshots: globals@14.0.0: {} - globals@15.12.0: {} + globals@15.13.0: {} globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.0.1 + gopd: 1.1.0 optional: true globby@12.2.0: @@ -7986,7 +7993,7 @@ snapshots: pify: 2.3.0 pinkie-promise: 2.0.1 - gopd@1.0.1: + gopd@1.1.0: dependencies: get-intrinsic: 1.2.4 @@ -8029,13 +8036,15 @@ snapshots: dependencies: es-define-property: 1.0.0 - has-proto@1.0.3: {} + has-proto@1.1.0: + dependencies: + call-bind: 1.0.7 - has-symbols@1.0.3: {} + has-symbols@1.1.0: {} has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 has-unicode@2.0.1: {} @@ -8259,7 +8268,7 @@ snapshots: has-tostringtag: 1.0.2 optional: true - is-bigint@1.0.4: + is-bigint@1.1.0: dependencies: has-bigints: 1.0.2 optional: true @@ -8268,13 +8277,13 @@ snapshots: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: + is-boolean-object@1.2.0: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 optional: true - is-bun-module@1.2.1: + is-bun-module@1.3.0: dependencies: semver: 7.6.3 @@ -8332,8 +8341,9 @@ snapshots: is-negative-zero@2.0.3: optional: true - is-number-object@1.0.7: + is-number-object@1.1.0: dependencies: + call-bind: 1.0.7 has-tostringtag: 1.0.2 optional: true @@ -8359,10 +8369,12 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-regex@1.1.4: + is-regex@1.2.0: dependencies: call-bind: 1.0.7 + gopd: 1.1.0 has-tostringtag: 1.0.2 + hasown: 2.0.2 optional: true is-set@2.0.3: @@ -8373,19 +8385,22 @@ snapshots: call-bind: 1.0.7 optional: true - is-string@1.0.7: + is-string@1.1.0: dependencies: + call-bind: 1.0.7 has-tostringtag: 1.0.2 optional: true - is-symbol@1.0.4: + is-symbol@1.1.0: dependencies: - has-symbols: 1.0.3 + call-bind: 1.0.7 + has-symbols: 1.1.0 + safe-regex-test: 1.0.3 optional: true is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 optional: true is-unicode-supported@0.1.0: {} @@ -8795,7 +8810,7 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 - marked@15.0.2: {} + marked@15.0.3: {} mdn-data@2.0.28: {} @@ -8943,6 +8958,29 @@ snapshots: yargs-parser: 20.2.9 yargs-unparser: 2.0.0 + mocha@11.0.1: + dependencies: + ansi-colors: 4.1.3 + browser-stdout: 1.3.1 + chokidar: 3.6.0 + debug: 4.3.7(supports-color@8.1.1) + diff: 5.2.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 10.4.5 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 5.1.6 + ms: 2.1.3 + serialize-javascript: 6.0.2 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.5.1 + yargs: 16.2.0 + yargs-parser: 20.2.9 + yargs-unparser: 2.0.0 + morgan@1.10.0: dependencies: basic-auth: 2.0.1 @@ -8963,7 +9001,7 @@ snapshots: nan@2.22.0: {} - nanoid@3.3.7: {} + nanoid@3.3.8: {} napi-build-utils@1.0.2: {} @@ -9069,7 +9107,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - has-symbols: 1.0.3 + has-symbols: 1.1.0 object-keys: 1.1.1 optional: true @@ -9501,7 +9539,7 @@ snapshots: postcss@8.4.49: dependencies: - nanoid: 3.3.7 + nanoid: 3.3.8 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -9758,7 +9796,7 @@ snapshots: es-abstract: 1.23.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 - gopd: 1.0.1 + gopd: 1.1.0 which-builtin-type: 1.2.0 optional: true @@ -9840,7 +9878,7 @@ snapshots: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - has-symbols: 1.0.3 + has-symbols: 1.1.0 isarray: 2.0.5 optional: true @@ -9854,7 +9892,7 @@ snapshots: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 - is-regex: 1.1.4 + is-regex: 1.2.0 optional: true safer-buffer@2.1.2: {} @@ -9992,7 +10030,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - gopd: 1.0.1 + gopd: 1.1.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -10370,7 +10408,7 @@ snapshots: trim-newlines@4.1.1: {} - ts-api-utils@1.4.2(typescript@5.7.2): + ts-api-utils@1.4.3(typescript@5.7.2): dependencies: typescript: 5.7.2 @@ -10443,8 +10481,8 @@ snapshots: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 + gopd: 1.1.0 + has-proto: 1.1.0 is-typed-array: 1.1.13 optional: true @@ -10453,8 +10491,8 @@ snapshots: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 + gopd: 1.1.0 + has-proto: 1.1.0 is-typed-array: 1.1.13 reflect.getprototypeof: 1.0.7 optional: true @@ -10463,7 +10501,7 @@ snapshots: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 + gopd: 1.1.0 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.7 @@ -10475,12 +10513,12 @@ snapshots: tunnel: 0.0.6 underscore: 1.13.7 - typescript-eslint@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2): + typescript-eslint@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) - '@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.7.2) - eslint: 9.15.0(jiti@2.4.0) + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.7.2) + eslint: 9.16.0(jiti@2.4.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -10499,7 +10537,7 @@ snapshots: dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 - has-symbols: 1.0.3 + has-symbols: 1.1.0 which-boxed-primitive: 1.0.2 optional: true @@ -10669,11 +10707,11 @@ snapshots: which-boxed-primitive@1.0.2: dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 + is-bigint: 1.1.0 + is-boolean-object: 1.2.0 + is-number-object: 1.1.0 + is-string: 1.1.0 + is-symbol: 1.1.0 optional: true which-builtin-type@1.2.0: @@ -10685,12 +10723,12 @@ snapshots: is-date-object: 1.0.5 is-finalizationregistry: 1.1.0 is-generator-function: 1.0.10 - is-regex: 1.1.4 + is-regex: 1.2.0 is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.2 - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 optional: true which-collection@1.0.2: @@ -10701,12 +10739,12 @@ snapshots: is-weakset: 2.0.3 optional: true - which-typed-array@1.1.15: + which-typed-array@1.1.16: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 + gopd: 1.1.0 has-tostringtag: 1.0.2 optional: true From 31498ed233e420799e175ec398f216b0b66c8020 Mon Sep 17 00:00:00 2001 From: Eric Amodio Date: Mon, 2 Dec 2024 14:48:33 -0500 Subject: [PATCH 03/74] Fixes incorrect group --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 702931274b468..5677fd93d934e 100644 --- a/package.json +++ b/package.json @@ -15900,8 +15900,8 @@ }, { "command": "gitlens.openComparisonOnRemote", - "when": "!listMultiSelection && viewItem =~ /gitlens:compare:(branch\\b(?=.*?\\b\\+comparing\\b)|results(?!:))/", - "group": "2_gitlens_quickopen@1 && gitlens:repos:withRemotes" + "when": "!listMultiSelection && gitlens:repos:withRemotes && viewItem =~ /gitlens:compare:(branch\\b(?=.*?\\b\\+comparing\\b)|results(?!:))/", + "group": "2_gitlens_quickopen@1" }, { "command": "gitlens.views.openDirectoryDiff", From ba5dfbbaeac8168f73a67521be3a2562e895ce1f Mon Sep 17 00:00:00 2001 From: Eric Amodio Date: Mon, 2 Dec 2024 14:49:04 -0500 Subject: [PATCH 04/74] Removes unneeded category --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 5677fd93d934e..0686c856612e7 100644 --- a/package.json +++ b/package.json @@ -9017,7 +9017,6 @@ { "command": "gitlens.graph.resetToTag", "title": "Reset Current Branch to Tag...", - "category": "GitLens", "icon": "$(gitlens-reset)", "enablement": "!operationInProgress" }, From 719ff9ec6cc5768e4ece2d43d0180f79733de1ac Mon Sep 17 00:00:00 2001 From: Eric Amodio Date: Mon, 2 Dec 2024 15:58:26 -0500 Subject: [PATCH 05/74] Renames stash usages --- src/commands/git/stash.ts | 8 +-- src/commands/quickCommand.steps.ts | 28 ++++---- src/env/node/git/localGitProvider.ts | 69 +++++++++---------- src/git/models/stash.ts | 2 +- src/plus/webviews/graph/graphWebview.ts | 4 +- src/quickpicks/commitPicker.ts | 18 ++--- src/quickpicks/items/gitWizard.ts | 16 ++--- src/views/nodes/stashesNode.ts | 6 +- src/views/stashesView.ts | 6 +- .../commitDetails/commitDetailsWebview.ts | 4 +- 10 files changed, 80 insertions(+), 81 deletions(-) diff --git a/src/commands/git/stash.ts b/src/commands/git/stash.ts index d29d72afd62d5..37df93ab26e58 100644 --- a/src/commands/git/stash.ts +++ b/src/commands/git/stash.ts @@ -322,7 +322,7 @@ export class StashGitCommand extends QuickCommand { while (this.canStepsContinue(state)) { if (state.counter < 3 || state.reference == null) { const result: StepResult = yield* pickStashStep(state, context, { - stash: await this.container.git.getStash(state.repo.path), + gitStash: await this.container.git.getStash(state.repo.path), placeholder: (_context, stash) => stash == null ? `No stashes found in ${state.repo.formattedName}` @@ -427,7 +427,7 @@ export class StashGitCommand extends QuickCommand { while (this.canStepsContinue(state)) { if (state.counter < 3 || !state.references?.length) { const result: StepResult = yield* pickStashesStep(state, context, { - stash: await this.container.git.getStash(state.repo.path), + gitStash: await this.container.git.getStash(state.repo.path), placeholder: (_context, stash) => stash == null ? `No stashes found in ${state.repo.formattedName}` : 'Choose stashes to delete', picked: state.references?.map(r => r.ref), @@ -481,7 +481,7 @@ export class StashGitCommand extends QuickCommand { while (this.canStepsContinue(state)) { if (state.counter < 3 || state.reference == null) { const result: StepResult = yield* pickStashStep(state, context, { - stash: await this.container.git.getStash(state.repo.path), + gitStash: await this.container.git.getStash(state.repo.path), placeholder: (_context, stash) => stash == null ? `No stashes found in ${state.repo.formattedName}` : 'Choose a stash', picked: state.reference?.ref, @@ -719,7 +719,7 @@ export class StashGitCommand extends QuickCommand { while (this.canStepsContinue(state)) { if (state.counter < 3 || state.reference == null) { const result: StepResult = yield* pickStashStep(state, context, { - stash: await this.container.git.getStash(state.repo.path), + gitStash: await this.container.git.getStash(state.repo.path), placeholder: (_context, stash) => stash == null ? `No stashes found in ${state.repo.formattedName}` : 'Choose a stash to rename', picked: state.reference?.ref, diff --git a/src/commands/quickCommand.steps.ts b/src/commands/quickCommand.steps.ts index b6c2e6203f6c6..9bdfddac40dd0 100644 --- a/src/commands/quickCommand.steps.ts +++ b/src/commands/quickCommand.steps.ts @@ -1665,13 +1665,13 @@ export function* pickStashStep< context: Context, { ignoreFocusOut, - stash, + gitStash, picked, placeholder, titleContext, }: { ignoreFocusOut?: boolean; - stash: GitStash | undefined; + gitStash: GitStash | undefined; picked: string | string[] | undefined; placeholder: string | ((context: Context, stash: GitStash | undefined) => string); titleContext?: string; @@ -1679,19 +1679,19 @@ export function* pickStashStep< ): StepResultGenerator { const step = createPickStep>({ title: appendReposToTitle(`${context.title}${titleContext ?? ''}`, state, context), - placeholder: typeof placeholder === 'string' ? placeholder : placeholder(context, stash), + placeholder: typeof placeholder === 'string' ? placeholder : placeholder(context, gitStash), ignoreFocusOut: ignoreFocusOut, matchOnDescription: true, matchOnDetail: true, items: - stash == null + gitStash == null ? [createDirectiveQuickPickItem(Directive.Back, true), createDirectiveQuickPickItem(Directive.Cancel)] : [ - ...map(stash.commits.values(), commit => + ...map(gitStash.stashes.values(), stash => createStashQuickPickItem( - commit, + stash, picked != null && - (typeof picked === 'string' ? commit.ref === picked : picked.includes(commit.ref)), + (typeof picked === 'string' ? stash.ref === picked : picked.includes(stash.ref)), { buttons: [ShowDetailsViewQuickInputButton], compact: true, @@ -1723,13 +1723,13 @@ export function* pickStashesStep< context: Context, { ignoreFocusOut, - stash, + gitStash, picked, placeholder, titleContext, }: { ignoreFocusOut?: boolean; - stash: GitStash | undefined; + gitStash: GitStash | undefined; picked: string | string[] | undefined; placeholder: string | ((context: Context, stash: GitStash | undefined) => string); titleContext?: string; @@ -1738,19 +1738,19 @@ export function* pickStashesStep< const step = createPickStep>({ title: appendReposToTitle(`${context.title}${titleContext ?? ''}`, state, context), multiselect: true, - placeholder: typeof placeholder === 'string' ? placeholder : placeholder(context, stash), + placeholder: typeof placeholder === 'string' ? placeholder : placeholder(context, gitStash), ignoreFocusOut: ignoreFocusOut, matchOnDescription: true, matchOnDetail: true, items: - stash == null + gitStash == null ? [createDirectiveQuickPickItem(Directive.Back, true), createDirectiveQuickPickItem(Directive.Cancel)] : [ - ...map(stash.commits.values(), commit => + ...map(gitStash.stashes.values(), stash => createStashQuickPickItem( - commit, + stash, picked != null && - (typeof picked === 'string' ? commit.ref === picked : picked.includes(commit.ref)), + (typeof picked === 'string' ? stash.ref === picked : picked.includes(stash.ref)), { buttons: [ShowDetailsViewQuickInputButton], compact: true, diff --git a/src/env/node/git/localGitProvider.ts b/src/env/node/git/localGitProvider.ts index ed099e9b94008..2736b3fe7cdb8 100644 --- a/src/env/node/git/localGitProvider.ts +++ b/src/env/node/git/localGitProvider.ts @@ -2435,9 +2435,9 @@ export class LocalGitProvider implements GitProvider, Disposable { let stdin: string | undefined; // TODO@eamodio this is insanity -- there *HAS* to be a better way to get git log to return stashes - const stash = getSettledValue(stashResult); - if (stash?.commits.size) { - stashes = new Map(stash.commits); + const gitStash = getSettledValue(stashResult); + if (gitStash?.stashes.size) { + stashes = new Map(gitStash.stashes); stdin = join( map(stashes.values(), c => c.sha.substring(0, 9)), '\n', @@ -2574,7 +2574,7 @@ export class LocalGitProvider implements GitProvider, Disposable { let remote: GitRemote | undefined; let remoteBranchId: string; let remoteName: string; - let stashCommit: GitStashCommit | undefined; + let stash: GitStashCommit | undefined; let stats: GitGraphRowsStats | undefined; let tagId: string; let tagName: string; @@ -2778,7 +2778,7 @@ export class LocalGitProvider implements GitProvider, Disposable { } } - stashCommit = stash?.commits.get(commit.sha); + stash = gitStash?.stashes.get(commit.sha); parents = commit.parents ? commit.parents.split(' ') : []; if (reachableFromHEAD.has(commit.sha)) { @@ -2788,7 +2788,7 @@ export class LocalGitProvider implements GitProvider, Disposable { } // Remove the second & third parent, if exists, from each stash commit as it is a Git implementation for the index and untracked files - if (stashCommit != null && parents.length > 1) { + if (stash != null && parents.length > 1) { // Remap the "index commit" (e.g. contains staged files) of the stash remappedIds.set(parents[1], commit.sha); // Remap the "untracked commit" (e.g. contains untracked files) of the stash @@ -2796,7 +2796,7 @@ export class LocalGitProvider implements GitProvider, Disposable { parents.splice(1, 2); } - if (stashCommit == null && !avatars.has(commit.authorEmail)) { + if (stash == null && !avatars.has(commit.authorEmail)) { avatarUri = getCachedAvatarUri(commit.authorEmail); if (avatarUri != null) { avatars.set(commit.authorEmail, avatarUri.toString(true)); @@ -2805,16 +2805,16 @@ export class LocalGitProvider implements GitProvider, Disposable { isCurrentUser = isUserMatch(currentUser, commit.author, commit.authorEmail); - if (stashCommit != null) { + if (stash != null) { contexts.row = serializeWebviewItemContext({ webviewItem: 'gitlens:stash', webviewItemValue: { type: 'stash', ref: createReference(commit.sha, repoPath, { refType: 'stash', - name: stashCommit.name, - message: stashCommit.message, - number: stashCommit.number, + name: stash.name, + message: stash.message, + number: stash.number, }), }, }); @@ -2852,7 +2852,7 @@ export class LocalGitProvider implements GitProvider, Disposable { date: Number(ordering === 'author-date' ? commit.authorDate : commit.committerDate) * 1000, message: emojify(commit.message.trim()), // TODO: review logic for stash, wip, etc - type: stashCommit != null ? 'stash-node' : parents.length > 1 ? 'merge-node' : 'commit-node', + type: stash != null ? 'stash-node' : parents.length > 1 ? 'merge-node' : 'commit-node', heads: refHeads, remotes: refRemoteHeads, tags: refTags, @@ -4996,8 +4996,8 @@ export class LocalGitProvider implements GitProvider, Disposable { async getStash(repoPath: string | undefined): Promise { if (repoPath == null) return undefined; - let stash = this.useCaching ? this._stashesCache.get(repoPath) : undefined; - if (stash === undefined) { + let gitStash = this.useCaching ? this._stashesCache.get(repoPath) : undefined; + if (gitStash === undefined) { const parser = createLogParserWithFiles<{ sha: string; date: string; @@ -5018,10 +5018,9 @@ export class LocalGitProvider implements GitProvider, Disposable { similarityThreshold: configuration.get('advanced.similarityThreshold'), }); - const commits = new Map(); + const stashes = new Map(); - const stashes = parser.parse(data); - for (const s of stashes) { + for (const s of parser.parse(data)) { let onRef; let summary; let message; @@ -5042,7 +5041,7 @@ export class LocalGitProvider implements GitProvider, Disposable { message = s.summary.trim(); } - commits.set( + stashes.set( s.sha, new GitCommit( this.container, @@ -5065,14 +5064,14 @@ export class LocalGitProvider implements GitProvider, Disposable { ); } - stash = { repoPath: repoPath, commits: commits }; + gitStash = { repoPath: repoPath, stashes: stashes }; if (this.useCaching) { - this._stashesCache.set(repoPath, stash ?? null); + this._stashesCache.set(repoPath, gitStash ?? null); } } - return stash ?? undefined; + return gitStash ?? undefined; } @log() @@ -5558,15 +5557,15 @@ export class LocalGitProvider implements GitProvider, Disposable { if (shas == null) { // TODO@eamodio this is insanity -- there *HAS* to be a better way to get git log to return stashes - const stash = await this.getStash(repoPath); - if (stash?.commits.size) { + const gitStash = await this.getStash(repoPath); + if (gitStash?.stashes.size) { stdin = ''; - stashes = new Map(stash.commits); - for (const commit of stash.commits.values()) { - stdin += `${commit.sha.substring(0, 9)}\n`; + stashes = new Map(gitStash.stashes); + for (const stash of gitStash.stashes.values()) { + stdin += `${stash.sha.substring(0, 9)}\n`; // Include the stash's 2nd (index files) and 3rd (untracked files) parents - for (const p of skip(commit.parents, 1)) { - stashes.set(p, commit); + for (const p of skip(stash.parents, 1)) { + stashes.set(p, stash); stdin += `${p.substring(0, 9)}\n`; } } @@ -5702,15 +5701,15 @@ export class LocalGitProvider implements GitProvider, Disposable { let stdin: string | undefined; // TODO@eamodio this is insanity -- there *HAS* to be a better way to get git log to return stashes - const stash = await this.getStash(repoPath); - if (stash?.commits.size) { + const gitStash = await this.getStash(repoPath); + if (gitStash?.stashes.size) { stdin = ''; - stashes = new Map(stash.commits); - for (const commit of stash.commits.values()) { - stdin += `${commit.sha.substring(0, 9)}\n`; + stashes = new Map(gitStash.stashes); + for (const stash of gitStash.stashes.values()) { + stdin += `${stash.sha.substring(0, 9)}\n`; // Include the stash's 2nd (index files) and 3rd (untracked files) parents - for (const p of skip(commit.parents, 1)) { - stashes.set(p, commit); + for (const p of skip(stash.parents, 1)) { + stashes.set(p, stash); stdin += `${p.substring(0, 9)}\n`; } } diff --git a/src/git/models/stash.ts b/src/git/models/stash.ts index 4bea1ddfc2e68..d380d8d55ebe4 100644 --- a/src/git/models/stash.ts +++ b/src/git/models/stash.ts @@ -2,5 +2,5 @@ import type { GitStashCommit } from './commit'; export interface GitStash { readonly repoPath: string; - readonly commits: Map; + readonly stashes: Map; } diff --git a/src/plus/webviews/graph/graphWebview.ts b/src/plus/webviews/graph/graphWebview.ts index 60412d4fe19f3..e2d1a0a84a993 100644 --- a/src/plus/webviews/graph/graphWebview.ts +++ b/src/plus/webviews/graph/graphWebview.ts @@ -1093,8 +1093,8 @@ export class GraphWebviewProvider implements WebviewProvider, + gitStash: GitStash | undefined | Promise, title: string, placeholder: string, options?: { @@ -257,20 +257,20 @@ export async function showStashPicker( quickpick.matchOnDescription = true; quickpick.matchOnDetail = true; - if (isPromise(stash)) { + if (isPromise(gitStash)) { quickpick.busy = true; quickpick.show(); - stash = await stash; + gitStash = await gitStash; } - if (stash != null) { + if (gitStash != null) { quickpick.items = [ ...(options?.showOtherReferences ?? []), ...map( - options?.filter != null ? filter(stash.commits.values(), options.filter) : stash.commits.values(), - commit => - createStashQuickPickItem(commit, options?.picked === commit.ref, { + options?.filter != null ? filter(gitStash.stashes.values(), options.filter) : gitStash.stashes.values(), + stash => + createStashQuickPickItem(stash, options?.picked === stash.ref, { compact: true, icon: true, }), @@ -278,8 +278,8 @@ export async function showStashPicker( ]; } - if (stash == null || quickpick.items.length <= (options?.showOtherReferences?.length ?? 0)) { - quickpick.placeholder = stash == null ? 'No stashes found' : options?.empty ?? `No matching stashes found`; + if (gitStash == null || quickpick.items.length <= (options?.showOtherReferences?.length ?? 0)) { + quickpick.placeholder = gitStash == null ? 'No stashes found' : options?.empty ?? `No matching stashes found`; quickpick.items = [createDirectiveQuickPickItem(Directive.Cancel)]; } diff --git a/src/quickpicks/items/gitWizard.ts b/src/quickpicks/items/gitWizard.ts index 3c56d6a0cef44..1b5e3c69ee39d 100644 --- a/src/quickpicks/items/gitWizard.ts +++ b/src/quickpicks/items/gitWizard.ts @@ -212,22 +212,22 @@ export async function createCommitQuickPickItem } export function createStashQuickPickItem( - commit: GitStashCommit, + stash: GitStashCommit, picked?: boolean, options?: { alwaysShow?: boolean; buttons?: QuickInputButton[]; compact?: boolean; icon?: boolean }, ) { - const number = commit.number == null ? '' : `${commit.number}: `; + const number = stash.number == null ? '' : `${stash.number}: `; if (options?.compact) { const item: CommitQuickPickItem = { - label: `${number}${commit.summary}`, - description: `${commit.formattedDate}${pad(GlyphChars.Dot, 2, 2)}${commit.formatStats({ + label: `${number}${stash.summary}`, + description: `${stash.formattedDate}${pad(GlyphChars.Dot, 2, 2)}${stash.formatStats({ compact: true, })}`, alwaysShow: options.alwaysShow, buttons: options.buttons, picked: picked, - item: commit, + item: stash, iconPath: options.icon ? new ThemeIcon('archive') : undefined, }; @@ -235,15 +235,15 @@ export function createStashQuickPickItem( } const item: CommitQuickPickItem = { - label: `${number}${commit.summary}`, + label: `${number}${stash.summary}`, description: '', - detail: `${GlyphChars.Space.repeat(2)}${commit.formattedDate}${pad(GlyphChars.Dot, 2, 2)}${commit.formatStats({ + detail: `${GlyphChars.Space.repeat(2)}${stash.formattedDate}${pad(GlyphChars.Dot, 2, 2)}${stash.formatStats({ compact: true, })}`, alwaysShow: options?.alwaysShow, buttons: options?.buttons, picked: picked, - item: commit, + item: stash, iconPath: options?.icon ? new ThemeIcon('archive') : undefined, }; diff --git a/src/views/nodes/stashesNode.ts b/src/views/nodes/stashesNode.ts index 48c0dba478cd1..32301522d6f8c 100644 --- a/src/views/nodes/stashesNode.ts +++ b/src/views/nodes/stashesNode.ts @@ -33,10 +33,10 @@ export class StashesNode extends CacheableChildrenViewNode<'stashes', ViewsWithS async getChildren(): Promise { if (this.children == null) { - const stash = await this.repo.git.getStash(); - if (stash == null) return [new MessageNode(this.view, this, 'No stashes could be found.')]; + const gitStash = await this.repo.git.getStash(); + if (gitStash == null) return [new MessageNode(this.view, this, 'No stashes could be found.')]; - this.children = [...map(stash.commits.values(), c => new StashNode(this.view, this, c))]; + this.children = [...map(gitStash.stashes.values(), c => new StashNode(this.view, this, c))]; } return this.children; diff --git a/src/views/stashesView.ts b/src/views/stashesView.ts index c0eaa2b44f7ad..4d9439389305d 100644 --- a/src/views/stashesView.ts +++ b/src/views/stashesView.ts @@ -61,15 +61,15 @@ export class StashesViewNode extends RepositoriesSubscribeableNode Date: Mon, 2 Dec 2024 15:59:14 -0500 Subject: [PATCH 06/74] Removes dead code --- src/env/node/git/localGitProvider.ts | 37 ---------------------------- 1 file changed, 37 deletions(-) diff --git a/src/env/node/git/localGitProvider.ts b/src/env/node/git/localGitProvider.ts index 2736b3fe7cdb8..20a16c579551f 100644 --- a/src/env/node/git/localGitProvider.ts +++ b/src/env/node/git/localGitProvider.ts @@ -3733,43 +3733,6 @@ export class LocalGitProvider implements GitProvider, Disposable { ...args, ); - // const parser = GitLogParser.defaultParser; - - // const data = await this.git.log2(repoPath, options?.ref, { - // ...options, - // // args: parser.arguments, - // limit: limit, - // merges: options?.merges == null ? true : options.merges, - // ordering: options?.ordering ?? configuration.get('advanced.commitOrdering'), - // similarityThreshold: configuration.get('advanced.similarityThreshold'), - // }); - - // const commits = []; - // const entries = parser.parse(data); - // for (const entry of entries) { - // commits.push( - // new GitCommit2( - // repoPath, - // entry.sha, - // new GitCommitIdentity( - // entry.author, - // entry.authorEmail, - // new Date((entry.authorDate as any) * 1000), - // ), - // new GitCommitIdentity( - // entry.committer, - // entry.committerEmail, - // new Date((entry.committerDate as any) * 1000), - // ), - // entry.message.split('\n', 1)[0], - // entry.parents.split(' '), - // entry.message, - // entry.files.map(f => new GitFileChange(repoPath, f.path, f.status as any, f.originalPath)), - // [], - // ), - // ); - // } - const log = parseGitLog( this.container, data, From cb71ceef03ac05cc8eaa59bdd0de2bb7ca432dbd Mon Sep 17 00:00:00 2001 From: Keith Daulton Date: Mon, 2 Dec 2024 16:31:26 -0500 Subject: [PATCH 07/74] Bulletproofs button component - fixes hover styles - fixes font inheritance and antialiasing - replicates aria roles onto button element --- src/webviews/apps/shared/components/button.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/webviews/apps/shared/components/button.ts b/src/webviews/apps/shared/components/button.ts index cef965d1d06c7..d54e7f9ab0c75 100644 --- a/src/webviews/apps/shared/components/button.ts +++ b/src/webviews/apps/shared/components/button.ts @@ -48,6 +48,7 @@ export class GlButton extends LitElement { cursor: pointer; border: 1px solid var(--button-border); border-radius: var(--gk-action-radius, 0.3rem); + -webkit-font-smoothing: auto; } .control { @@ -59,6 +60,7 @@ export class GlButton extends LitElement { gap: var(--button-gap); padding: var(--button-padding); line-height: var(--button-line-height); + font-family: inherit; color: inherit; text-decoration: none; @@ -160,7 +162,7 @@ export class GlButton extends LitElement { --code-icon-v-align: unset; } - :host(:hover:not([disabled]):not([aria-checked='true'])) { + :host([aria-checked]:hover:not([disabled]):not([aria-checked='true'])) { background-color: var(--vscode-inputOption-hoverBackground); } @@ -254,7 +256,12 @@ export class GlButton extends LitElement { >`; } - return html``; } From eec532fb2fa6027a33db1326a2be57efd34adce6 Mon Sep 17 00:00:00 2001 From: nzaytsev Date: Wed, 4 Dec 2024 20:41:33 +0300 Subject: [PATCH 08/74] Updates @gitkraken/provider-apis to 0.25.2 (#3719) * Updates @gitkraken/provider-apis to 0.25.2 * Bumps to 0.25.5 and adds comments on null inputs --------- Co-authored-by: Ramin Tadayon --- package.json | 2 +- pnpm-lock.yaml | 21 +++++++++++---------- src/plus/integrations/providers/utils.ts | 7 ++++++- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 0686c856612e7..9ab45f68568cf 100644 --- a/package.json +++ b/package.json @@ -19606,7 +19606,7 @@ }, "dependencies": { "@gitkraken/gitkraken-components": "10.7.0", - "@gitkraken/provider-apis": "0.24.2", + "@gitkraken/provider-apis": "0.25.5", "@gitkraken/shared-web-components": "0.1.1-rc.15", "@gk-nzaytsev/fast-string-truncated-width": "1.1.0", "@lit-labs/signals": "0.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f7c0ad52ed85..8e1ab1d5e8eba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: specifier: 10.7.0 version: 10.7.0 '@gitkraken/provider-apis': - specifier: 0.24.2 - version: 0.24.2(encoding@0.1.13) + specifier: 0.25.5 + version: 0.25.5(encoding@0.1.13) '@gitkraken/shared-web-components': specifier: 0.1.1-rc.15 version: 0.1.1-rc.15 @@ -583,8 +583,8 @@ packages: '@gitkraken/gitkraken-components@10.7.0': resolution: {integrity: sha512-0oekeCgTgZNAtUFNH8eSIdOfPOVG3IUIXoaKuOBY0dRT6TLc5Q/ARyujdtWLHpdD3FC/GZv46N9IdQL4AEIwNA==} - '@gitkraken/provider-apis@0.24.2': - resolution: {integrity: sha512-Il0QqYbw0mzjda+EhApny2re0cMY7LOYygmGh5ASQ33juT9rinMsZo1Wu3wh93jwSbAMEzS0royOHFfw37vz2w==} + '@gitkraken/provider-apis@0.25.5': + resolution: {integrity: sha512-BKl8GhqCG85qEJmZkz1fYsmwXZzBJceKUePjEGWA2sRhRigz7MNsEeb8RTshBTHiPwla316bywfPP9uYAlIBaQ==} engines: {node: '>= 14'} '@gitkraken/shared-web-components@0.1.1-rc.15': @@ -5193,8 +5193,9 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.1.0: + resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} + engines: {node: '>= 0.4'} which-builtin-type@1.2.0: resolution: {integrity: sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==} @@ -5575,7 +5576,7 @@ snapshots: react-dragula: 1.1.17 react-onclickoutside: 6.13.0(react-dom@16.8.4(react@16.8.4))(react@16.8.4) - '@gitkraken/provider-apis@0.24.2(encoding@0.1.13)': + '@gitkraken/provider-apis@0.25.5(encoding@0.1.13)': dependencies: js-base64: 3.7.5 node-fetch: 2.7.0(encoding@0.1.13) @@ -10538,7 +10539,7 @@ snapshots: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.1.0 - which-boxed-primitive: 1.0.2 + which-boxed-primitive: 1.1.0 optional: true uncontrollable@5.1.0(react@16.8.4): @@ -10705,7 +10706,7 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: + which-boxed-primitive@1.1.0: dependencies: is-bigint: 1.1.0 is-boolean-object: 1.2.0 @@ -10726,7 +10727,7 @@ snapshots: is-regex: 1.2.0 is-weakref: 1.0.2 isarray: 2.0.5 - which-boxed-primitive: 1.0.2 + which-boxed-primitive: 1.1.0 which-collection: 1.0.2 which-typed-array: 1.1.16 optional: true diff --git a/src/plus/integrations/providers/utils.ts b/src/plus/integrations/providers/utils.ts index de5935694ca29..c9ef32f22cf9d 100644 --- a/src/plus/integrations/providers/utils.ts +++ b/src/plus/integrations/providers/utils.ts @@ -25,7 +25,7 @@ export function getEntityIdentifierInput(entity: IssueOrPullRequest | LaunchpadI } let provider = fromStringToEntityIdentifierProviderType(entity.provider.id); - let domain = undefined; + let domain = null; if (provider === EntityIdentifierProviderType.Github && !isGitHubDotCom(entity.provider.domain)) { provider = EntityIdentifierProviderType.GithubEnterprise; domain = entity.provider.domain; @@ -36,6 +36,11 @@ export function getEntityIdentifierInput(entity: IssueOrPullRequest | LaunchpadI } return { + accountOrOrgId: null, // needed for Trello issues, once supported + organizationName: null, // needed for Azure issues and PRs, once supported + projectId: null, // needed for Jira issues, Trello issues, and Azure issues and PRs, once supported + repoId: null, // needed for Azure and BitBucket PRs, once supported + resourceId: null, // needed for Jira issues, once supported provider: provider, entityType: entityType, version: EntityVersion.One, From e675db667d369e2019a5e299d7c97a4e07dc9f18 Mon Sep 17 00:00:00 2001 From: Ramin Tadayon Date: Wed, 4 Dec 2024 15:27:31 -0700 Subject: [PATCH 09/74] Stops showing duplicate generic autolink in details view when enriched version is displayed --- .../commitDetails/components/gl-commit-details.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/webviews/apps/commitDetails/components/gl-commit-details.ts b/src/webviews/apps/commitDetails/components/gl-commit-details.ts index 2b07e989ae2e8..25bc9acf32e63 100644 --- a/src/webviews/apps/commitDetails/components/gl-commit-details.ts +++ b/src/webviews/apps/commitDetails/components/gl-commit-details.ts @@ -212,20 +212,35 @@ export class GlCommitDetails extends GlDetailsBase { | { type: 'pr'; value: Serialized } >(); + const autolinkIdsByUrl = new Map(); + if (this.state?.commit?.autolinks != null) { for (const autolink of this.state.commit.autolinks) { deduped.set(autolink.id, { type: 'autolink', value: autolink }); + autolinkIdsByUrl.set(autolink.url, autolink.id); } } if (this.state?.autolinkedIssues != null) { for (const issue of this.state.autolinkedIssues) { deduped.set(issue.id, { type: 'issue', value: issue }); + if (issue.url != null) { + const autoLinkId = autolinkIdsByUrl.get(issue.url); + if (autoLinkId != null) { + deduped.delete(autoLinkId); + } + } } } if (this.state?.pullRequest != null) { deduped.set(this.state.pullRequest.id, { type: 'pr', value: this.state.pullRequest }); + if (this.state.pullRequest.url != null) { + const autoLinkId = autolinkIdsByUrl.get(this.state.pullRequest.url); + if (autoLinkId != null) { + deduped.delete(autoLinkId); + } + } } const autolinks: Serialized[] = []; From b3109003aae65c1eaa26296b1365e5af9e020239 Mon Sep 17 00:00:00 2001 From: sergeibbb Date: Thu, 5 Dec 2024 03:44:12 +0400 Subject: [PATCH 10/74] Shows GitLab issues (#3787) (#3779, #3787) --- CHANGELOG.md | 1 + src/plus/integrations/providers/gitlab.ts | 32 ++++++++++++++++--- .../integrations/providers/gitlab/gitlab.ts | 2 +- src/plus/integrations/providers/models.ts | 1 + src/plus/startWork/startWork.ts | 15 +++++++-- 5 files changed, 43 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82b0745047a92..42e2b3fc6c805 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p ### Added - Adds the ability to get autolinks for branches via the branch name — closes [#3547](https://github.com/gitkraken/vscode-gitlens/issues/3547) +- Adds GitLab issues to the issues list in the _Start Work_ command when GitLab is connected — closes [#3779](https://github.com/gitkraken/vscode-gitlens/issues/3779) ## [16.0.4] - 2024-11-25 diff --git a/src/plus/integrations/providers/gitlab.ts b/src/plus/integrations/providers/gitlab.ts index e5ac02357cb97..eaff45e70f2a3 100644 --- a/src/plus/integrations/providers/gitlab.ts +++ b/src/plus/integrations/providers/gitlab.ts @@ -23,7 +23,7 @@ import type { import { HostingIntegration } from '../integration'; import { fromGitLabMergeRequestProvidersApi } from './gitlab/models'; import type { ProviderPullRequest } from './models'; -import { ProviderPullRequestReviewState, providersMetadata } from './models'; +import { ProviderPullRequestReviewState, providersMetadata, toSearchedIssue } from './models'; import type { ProvidersApi } from './providersApi'; const metadata = providersMetadata[HostingIntegrationId.GitLab]; @@ -243,11 +243,33 @@ abstract class GitLabIntegrationBase< return results; } - protected override searchProviderMyIssues( - _session: AuthenticationSession, - _repos?: GitLabRepositoryDescriptor[], + protected override async searchProviderMyIssues( + { accessToken }: AuthenticationSession, + repos?: GitLabRepositoryDescriptor[], ): Promise { - return Promise.resolve(undefined); + const api = await this.container.gitlab; + const providerApi = await this.getProvidersApi(); + + if (!api || !repos) { + return undefined; + } + + const repoIdsResult = await Promise.allSettled( + repos.map( + (r: GitLabRepositoryDescriptor): Promise => + api.getProjectId(this, accessToken, r.owner, r.name, this.apiBaseUrl, undefined), + ) ?? [], + ); + const repoInput = repoIdsResult + .map(result => (result.status === 'fulfilled' ? result.value : undefined)) + .filter((r): r is string => r != null); + const apiResult = await providerApi.getIssuesForRepos(this.id, repoInput, { + accessToken: accessToken, + }); + + return apiResult.values + .map(issue => toSearchedIssue(issue, this)) + .filter((result): result is SearchedIssue => result != null); } protected override async mergeProviderPullRequest( diff --git a/src/plus/integrations/providers/gitlab/gitlab.ts b/src/plus/integrations/providers/gitlab/gitlab.ts index 9303f781a1b20..7c886fe26a653 100644 --- a/src/plus/integrations/providers/gitlab/gitlab.ts +++ b/src/plus/integrations/providers/gitlab/gitlab.ts @@ -707,7 +707,7 @@ $search: String! } } - private getProjectId( + getProjectId( provider: Provider, token: string, group: string, diff --git a/src/plus/integrations/providers/models.ts b/src/plus/integrations/providers/models.ts index 47160355aa4eb..3a88ca79bf184 100644 --- a/src/plus/integrations/providers/models.ts +++ b/src/plus/integrations/providers/models.ts @@ -532,6 +532,7 @@ export function toSearchedIssue( labels: issue.labels.map(label => ({ color: label.color ?? undefined, name: label.name })), commentsCount: issue.commentCount ?? undefined, thumbsUpCount: issue.upvoteCount ?? undefined, + body: issue.description ?? undefined, }, }; } diff --git a/src/plus/startWork/startWork.ts b/src/plus/startWork/startWork.ts index 08001375f81b8..0d0251587f0d8 100644 --- a/src/plus/startWork/startWork.ts +++ b/src/plus/startWork/startWork.ts @@ -18,7 +18,11 @@ import { QuickCommand, StepResultBreak, } from '../../commands/quickCommand'; -import { OpenOnGitHubQuickInputButton, OpenOnJiraQuickInputButton } from '../../commands/quickCommand.buttons'; +import { + OpenOnGitHubQuickInputButton, + OpenOnGitLabQuickInputButton, + OpenOnJiraQuickInputButton, +} from '../../commands/quickCommand.buttons'; import { getSteps } from '../../commands/quickWizard.utils'; import { proBadge } from '../../constants'; import type { IntegrationId } from '../../constants.integrations'; @@ -68,7 +72,11 @@ export interface StartWorkCommandArgs { type?: StartWorkType; } -export const supportedStartWorkIntegrations = [HostingIntegrationId.GitHub, IssueIntegrationId.Jira]; +export const supportedStartWorkIntegrations = [ + HostingIntegrationId.GitHub, + HostingIntegrationId.GitLab, + IssueIntegrationId.Jira, +]; export type SupportedStartWorkIntegrationIds = (typeof supportedStartWorkIntegrations)[number]; const instanceCounter = getScopedCounter(); @@ -470,6 +478,7 @@ export class StartWorkCommand extends QuickCommand { switch (button) { case OpenOnGitHubQuickInputButton: + case OpenOnGitLabQuickInputButton: case OpenOnJiraQuickInputButton: this.sendItemActionTelemetry('soft-open', item, state, context); this.open(item); @@ -585,6 +594,8 @@ function getOpenOnWebQuickInputButton(integrationId: string): QuickInputButton | switch (integrationId) { case HostingIntegrationId.GitHub: return OpenOnGitHubQuickInputButton; + case HostingIntegrationId.GitLab: + return OpenOnGitLabQuickInputButton; case IssueIntegrationId.Jira: return OpenOnJiraQuickInputButton; default: From 320034fa7acede4f3ced9bfe91402ce647ceb9ad Mon Sep 17 00:00:00 2001 From: Ramin Tadayon Date: Wed, 4 Dec 2024 16:45:10 -0700 Subject: [PATCH 11/74] Fixes issues not properly being restricted to open repos in Start Work --- src/plus/integrations/integrationService.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plus/integrations/integrationService.ts b/src/plus/integrations/integrationService.ts index e005651dc3832..84e3c9f2f4fce 100644 --- a/src/plus/integrations/integrationService.ts +++ b/src/plus/integrations/integrationService.ts @@ -594,7 +594,14 @@ export class IntegrationService implements Disposable { ? integrationIds : [...Object.values(HostingIntegrationId), ...Object.values(IssueIntegrationId)]) { const integration = await this.get(integrationId); - if (integration == null) continue; + if ( + integration == null || + (options?.openRepositoriesOnly && + isHostingIntegrationId(integrationId) && + !openRemotesByIntegrationId.has(integrationId)) + ) { + continue; + } integrations.set( integration, From bb4f5228d8127e59c0f5ffd9688a1025967624f9 Mon Sep 17 00:00:00 2001 From: Ramin Tadayon Date: Wed, 4 Dec 2024 16:50:10 -0700 Subject: [PATCH 12/74] Adds short-term fix to allow Jira issues to appear when some orgs fail --- src/plus/integrations/providers/jira.ts | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/plus/integrations/providers/jira.ts b/src/plus/integrations/providers/jira.ts index 3c699869406e2..5ff0b34836235 100644 --- a/src/plus/integrations/providers/jira.ts +++ b/src/plus/integrations/providers/jira.ts @@ -4,6 +4,7 @@ import { IssueIntegrationId } from '../../../constants.integrations'; import type { Account } from '../../../git/models/author'; import type { IssueOrPullRequest, SearchedIssue } from '../../../git/models/issue'; import { filterMap, flatten } from '../../../system/iterable'; +import { Logger } from '../../../system/logger'; import type { IntegrationAuthenticationProviderDescriptor } from '../authentication/integrationAuthentication'; import type { ResourceDescriptor } from '../integration'; import { IssueIntegration } from '../integration'; @@ -232,15 +233,21 @@ export class JiraIntegration extends IssueIntegration { const results: SearchedIssue[] = []; for (const resource of myResources) { - const userLogin = (await this.getProviderAccountForResource(session, resource))?.username; - const resourceIssues = await api.getIssuesForResourceForCurrentUser(this.id, resource.id, { - accessToken: session.accessToken, - }); - const formattedIssues = resourceIssues - ?.map(issue => toSearchedIssue(issue, this, undefined, userLogin)) - .filter((result): result is SearchedIssue => result != null); - if (formattedIssues != null) { - results.push(...formattedIssues); + try { + const userLogin = (await this.getProviderAccountForResource(session, resource))?.username; + const resourceIssues = await api.getIssuesForResourceForCurrentUser(this.id, resource.id, { + accessToken: session.accessToken, + }); + const formattedIssues = resourceIssues + ?.map(issue => toSearchedIssue(issue, this, undefined, userLogin)) + .filter((result): result is SearchedIssue => result != null); + if (formattedIssues != null) { + results.push(...formattedIssues); + } + } catch (ex) { + // TODO: We need a better way to message the failure to the user here. + // This is a stopgap to prevent one bag org from throwing and preventing any issues from being returned. + Logger.error(ex, 'searchProviderMyIssues'); } } From cdb8b0bdab9485194fe51b2b06aff0db12ae4989 Mon Sep 17 00:00:00 2001 From: Keith Daulton Date: Wed, 4 Dec 2024 21:14:41 -0500 Subject: [PATCH 13/74] Reveals rich provider info for pro accounts in home --- src/webviews/home/homeWebview.ts | 73 ++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 17 deletions(-) diff --git a/src/webviews/home/homeWebview.ts b/src/webviews/home/homeWebview.ts index ba0b3194005a0..1872fccdcb444 100644 --- a/src/webviews/home/homeWebview.ts +++ b/src/webviews/home/homeWebview.ts @@ -25,6 +25,7 @@ import type { GitStatus } from '../../git/models/status'; import type { GitWorktree } from '../../git/models/worktree'; import { getOpenedWorktreesByBranch, groupWorktreesByBranch } from '../../git/models/worktree'; import type { Subscription } from '../../plus/gk/account/subscription'; +import { isSubscriptionStatePaidOrTrial } from '../../plus/gk/account/subscription'; import type { SubscriptionChangeEvent } from '../../plus/gk/account/subscriptionService'; import { getLaunchpadSummary } from '../../plus/launchpad/utils'; import type { ShowInCommitGraphCommandArgs } from '../../plus/webviews/graph/protocol'; @@ -452,7 +453,7 @@ export class HomeWebviewProvider implements WebviewProvider { - const subResult = await this.getSubscription(subscription); + const subResult = await this.getSubscriptionState(subscription); return { ...this.host.baseWebviewState, @@ -505,7 +506,10 @@ export class HomeWebviewProvider implements WebviewProvider { const { branches, worktreesByBranch } = branchesData; if (branches.length === 0) return undefined; @@ -930,8 +954,15 @@ async function getOverviewBranches( const timestamp = branch.date?.getTime(); if (branch.current || wt?.opened) { const forceOptions = options?.forceActive ? { force: true } : undefined; - prPromises.set(branch.id, branch.getAssociatedPullRequest({ avatarSize: 16 })); - autolinkPromises.set(branch.id, branch.getEnrichedAutolinks()); + if (options?.isPro !== false) { + prPromises.set(branch.id, branch.getAssociatedPullRequest({ avatarSize: 16 })); + autolinkPromises.set(branch.id, branch.getEnrichedAutolinks()); + contributorPromises.set( + branch.id, + container.git.getBranchContributorOverview(branch.repoPath, branch.ref), + ); + } + if (wt != null) { statusPromises.set(branch.id, wt.getStatus(forceOptions)); } else { @@ -940,7 +971,6 @@ async function getOverviewBranches( } statusPromises.set(branch.id, repoStatusPromise); } - contributorPromises.set(branch.id, container.git.getBranchContributorOverview(branch.repoPath, branch.ref)); overviewBranches.active.push({ id: branch.id, @@ -957,12 +987,18 @@ async function getOverviewBranches( } if (timestamp != null && timestamp > recentThreshold) { - prPromises.set(branch.id, branch.getAssociatedPullRequest()); - autolinkPromises.set(branch.id, branch.getEnrichedAutolinks()); + if (options?.isPro !== false) { + prPromises.set(branch.id, branch.getAssociatedPullRequest()); + autolinkPromises.set(branch.id, branch.getEnrichedAutolinks()); + contributorPromises.set( + branch.id, + container.git.getBranchContributorOverview(branch.repoPath, branch.ref), + ); + } + if (wt != null) { statusPromises.set(branch.id, wt.getStatus()); } - contributorPromises.set(branch.id, container.git.getBranchContributorOverview(branch.repoPath, branch.ref)); overviewBranches.recent.push({ id: branch.id, @@ -986,7 +1022,6 @@ async function getOverviewBranches( orderBy: 'date:asc', }); for (const branch of branches) { - autolinkPromises.set(branch.id, branch.getEnrichedAutolinks()); if (overviewBranches.stale.length > 9) break; if ( @@ -996,6 +1031,10 @@ async function getOverviewBranches( continue; } + if (options?.isPro !== false) { + autolinkPromises.set(branch.id, branch.getEnrichedAutolinks()); + } + const timestamp = branch.date?.getTime(); if (branch.upstream?.missing || (timestamp != null && timestamp < staleThreshold)) { const wt = worktreesByBranch.get(branch.id); @@ -1003,16 +1042,16 @@ async function getOverviewBranches( ? { name: wt.name, uri: wt.uri.toString() } : undefined; - if (!branch.upstream?.missing) { + if (options?.isPro !== false && !branch.upstream?.missing) { prPromises.set(branch.id, branch.getAssociatedPullRequest()); + contributorPromises.set( + branch.id, + container.git.getBranchContributorOverview(branch.repoPath, branch.ref), + ); } if (wt != null) { statusPromises.set(branch.id, wt.getStatus()); } - contributorPromises.set( - branch.id, - container.git.getBranchContributorOverview(branch.repoPath, branch.ref), - ); overviewBranches.stale.push({ id: branch.id, From 7bc5fff71ea9d709ea6d6ef922f34c78f215a503 Mon Sep 17 00:00:00 2001 From: Keith Daulton Date: Tue, 3 Dec 2024 01:23:03 -0500 Subject: [PATCH 14/74] Generates icon maps for codicons and glicons --- .fantasticonrc.js | 6 +- images/icons/template/component-map.hbs | 10 + images/icons/template/sass-map.hbs | 10 + package.json | 3 +- scripts/applyIconsContribution.mjs | 21 +- scripts/export-codicons.mjs | 46 + src/webviews/apps/shared/codicons.scss | 1582 +---------------- .../apps/shared/components/code-icon.ts | 595 +------ .../shared/components/icons/codicons-map.ts | 576 ++++++ .../shared/components/icons/glicons-map.ts | 73 + .../shared/styles/icons/codicons-map.scss | 576 ++++++ .../apps/shared/styles/icons/glicons-map.scss | 73 + .../apps/shared/styles/icons/utils.scss | 41 + 13 files changed, 1454 insertions(+), 2158 deletions(-) create mode 100644 images/icons/template/component-map.hbs create mode 100644 images/icons/template/sass-map.hbs create mode 100644 scripts/export-codicons.mjs create mode 100644 src/webviews/apps/shared/components/icons/codicons-map.ts create mode 100644 src/webviews/apps/shared/components/icons/glicons-map.ts create mode 100644 src/webviews/apps/shared/styles/icons/codicons-map.scss create mode 100644 src/webviews/apps/shared/styles/icons/glicons-map.scss create mode 100644 src/webviews/apps/shared/styles/icons/utils.scss diff --git a/.fantasticonrc.js b/.fantasticonrc.js index f1cc3725ce234..cd617e07542ff 100644 --- a/.fantasticonrc.js +++ b/.fantasticonrc.js @@ -12,10 +12,12 @@ const config = { fontTypes: ['woff2'], normalize: true, // @ts-ignore - assetTypes: ['html', 'scss', 'json'], + assetTypes: ['html', 'scss', 'json', 'sass', 'css'], templates: { html: './images/icons/template/icons-contribution.hbs', scss: './images/icons/template/styles.hbs', + sass: './images/icons/template/sass-map.hbs', + css: './images/icons/template/component-map.hbs', }, formatOptions: { json: { @@ -25,8 +27,10 @@ const config = { pathOptions: { woff2: './dist/glicons.woff2', scss: './dist/glicons.scss', + sass: './dist/glicons-map.scss', html: './dist/icons-contribution.json', json: './images/icons/template/mapping.json', + css: './dist/glicons-map.ts', }, }; diff --git a/images/icons/template/component-map.hbs b/images/icons/template/component-map.hbs new file mode 100644 index 0000000000000..81d46cdc420ed --- /dev/null +++ b/images/icons/template/component-map.hbs @@ -0,0 +1,10 @@ +// This file is generated by (vscode-gitlens)/scripts/export-codicons.js +// Do not edit this file directly + +export const iconFontFamily = '{{ name }}'; + +export const iconMap = Object.freeze({ +{{#each codepoints}} + '{{ @key }}': '\\\{{ codepoint this }}', +{{/each}} +}); diff --git a/images/icons/template/sass-map.hbs b/images/icons/template/sass-map.hbs new file mode 100644 index 0000000000000..8ebcb7baa2198 --- /dev/null +++ b/images/icons/template/sass-map.hbs @@ -0,0 +1,10 @@ +// This file is generated by (vscode-gitlens)/scripts/export-codicons.js +// Do not edit this file directly + +$icon-font-family: '{{ name }}'; + +$icon-map: ( +{{#each codepoints}} + '{{@key}}': '\\{{ codepoint this }}', +{{/each}} +); diff --git a/package.json b/package.json index 9ab45f68568cf..c628b83e0e2db 100644 --- a/package.json +++ b/package.json @@ -19559,7 +19559,7 @@ "build:extension": "webpack --mode development --config-name extension:node", "build:extension:browser": "webpack --mode development --config-name extension:webworker", "build:webviews": "webpack --mode development --config-name webviews", - "build:icons": "pnpm run icons:svgo && pnpm fantasticon && pnpm run icons:apply", + "build:icons": "pnpm run icons:svgo && pnpm fantasticon && pnpm run icons:apply && pnpm run icons:export", "build:tests": "node ./scripts/esbuild.tests.mjs --mode development", "generate:docs:telemetry": "node ./scripts/generate-telemetry-docs.mjs", "generate:emoji": "node ./scripts/generateEmojiShortcodeMap.mjs", @@ -19576,6 +19576,7 @@ "graph:unlink": "pnpm unlink @gitkraken/gitkraken-components && pnpm install --force", "graph:unlink:main": "pnpm graph:unlink && pushd \"../GitKrakenComponents\" && pnpm unlink && popd", "icons:apply": "node ./scripts/applyIconsContribution.mjs", + "icons:export": "node ./scripts/export-codicons.mjs", "icons:svgo": "svgo -q -f ./images/icons/ --config svgo.config.js", "lint": "pnpm run clean:lint && eslint .", "lint:fix": "pnpm run clean:lint && eslint . --fix", diff --git a/scripts/applyIconsContribution.mjs b/scripts/applyIconsContribution.mjs index cd36a303e4df5..d0287ce40d102 100644 --- a/scripts/applyIconsContribution.mjs +++ b/scripts/applyIconsContribution.mjs @@ -8,6 +8,10 @@ const packageJSONPromises = Promise.all([ const scssPromises = Promise.all([ fs.promises.readFile('./dist/glicons.scss', 'utf8'), fs.promises.readFile('./src/webviews/apps/shared/glicons.scss', 'utf8'), + fs.promises.readFile('./dist/glicons-map.scss', 'utf8'), + fs.promises.readFile('./src/webviews/apps/shared/styles/icons/glicons-map.scss', 'utf8'), + fs.promises.readFile('./dist/glicons-map.ts', 'utf8'), + fs.promises.readFile('./src/webviews/apps/shared/components/icons/glicons-map.ts', 'utf8'), ]); let pending = []; @@ -22,11 +26,24 @@ if (JSON.stringify(packageJSON.contributes.icons) !== JSON.stringify(icons.icons } // Update the scss file -const [newScss, scss] = await scssPromises; +const [newScss, scss, newSassMap, sassMap, newTsMap, tsMap] = await scssPromises; if (scss !== newScss) { pending.push(fs.promises.writeFile('./src/webviews/apps/shared/glicons.scss', newScss)); } -pending.push(fs.promises.rm('./dist/icons-contribution.json'), fs.promises.rm('./dist/glicons.scss')); +if (sassMap !== newSassMap) { + pending.push(fs.promises.writeFile('./src/webviews/apps/shared/styles/icons/glicons-map.scss', newSassMap)); +} + +if (tsMap !== newTsMap) { + pending.push(fs.promises.writeFile('./src/webviews/apps/shared/components/icons/glicons-map.ts', newTsMap)); +} + +pending.push( + fs.promises.rm('./dist/icons-contribution.json'), + fs.promises.rm('./dist/glicons.scss'), + fs.promises.rm('./dist/glicons-map.scss'), + fs.promises.rm('./dist/glicons-map.ts'), +); await Promise.allSettled(pending); diff --git a/scripts/export-codicons.mjs b/scripts/export-codicons.mjs new file mode 100644 index 0000000000000..a80af6a6e1778 --- /dev/null +++ b/scripts/export-codicons.mjs @@ -0,0 +1,46 @@ +import fs from 'fs'; + +function numberToCssContent(number, escape = '\\\\') { + return `${escape}${number.toString(16)}`; +} + +console.time('Exported codicons'); + +const { default: iconConfig } = await import('../node_modules/@vscode/codicons/.fantasticonrc.js'); +const { name, codepoints: icons } = iconConfig; + +const headerText = `// This file is generated by (vscode-gitlens)/scripts/export-codicons.js +// Do not edit this file directly +`; + +const sassMapEntries = []; +const tsMapEntries = []; +for (const [key, value] of Object.entries(icons)) { + sassMapEntries.push(` '${key}': '${numberToCssContent(value, '\\')}'`); + tsMapEntries.push(` '${key}': '${numberToCssContent(value)}'`); +} + +// create a sass map of codicons and a ts file with a frozen object +const scss = `${headerText} +$icon-font-family: '${name}'; + +$icon-map: ( +${sassMapEntries.join(',\n')} +); +`; + +const ts = `${headerText} +export const iconFontFamily = '${name}'; + +export const iconMap = Object.freeze({ +${tsMapEntries.join(',\n')} +}); +`; + +const pending = []; + +pending.push(fs.promises.writeFile('./src/webviews/apps/shared/styles/icons/codicons-map.scss', scss)); +pending.push(fs.promises.writeFile('./src/webviews/apps/shared/components/icons/codicons-map.ts', ts)); + +await Promise.allSettled(pending); +console.timeEnd('Exported codicons'); diff --git a/src/webviews/apps/shared/codicons.scss b/src/webviews/apps/shared/codicons.scss index 0dc04c1e16c46..5287fd49ab850 100644 --- a/src/webviews/apps/shared/codicons.scss +++ b/src/webviews/apps/shared/codicons.scss @@ -1,3 +1,5 @@ +@use './styles/icons/utils'; + @keyframes codicon-spin { 100% { transform: rotate(360deg); @@ -28,14 +30,14 @@ animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important; &::before { - content: '\eb19'; + @include utils.codicon('loading'); font-family: codicon; } } .icon--branch { &::before { - content: '\ea68'; + @include utils.codicon('git-branch'); font-family: codicon; position: relative; top: 2px; @@ -45,7 +47,7 @@ .icon--commit { &::before { - content: '\eafc'; + @include utils.codicon('git-commit'); font-family: codicon; position: relative; top: 2px; @@ -55,7 +57,7 @@ .icon--paused { &::before { - content: '\ead1'; + @include utils.codicon('debug-pause'); font-family: codicon; position: relative; top: 2px; @@ -65,7 +67,7 @@ .icon--warning { &::before { - content: '\ea6c'; + @include utils.codicon('alert'); font-family: codicon; position: relative; top: 2px; @@ -90,1572 +92,4 @@ letter-spacing: normal; } -.codicon-add:before { - content: '\ea60'; -} -.codicon-plus:before { - content: '\ea60'; -} -.codicon-gist-new:before { - content: '\ea60'; -} -.codicon-repo-create:before { - content: '\ea60'; -} -.codicon-lightbulb:before { - content: '\ea61'; -} -.codicon-light-bulb:before { - content: '\ea61'; -} -.codicon-repo:before { - content: '\ea62'; -} -.codicon-repo-delete:before { - content: '\ea62'; -} -.codicon-gist-fork:before { - content: '\ea63'; -} -.codicon-repo-forked:before { - content: '\ea63'; -} -.codicon-git-pull-request:before { - content: '\ea64'; -} -.codicon-git-pull-request-abandoned:before { - content: '\ea64'; -} -.codicon-record-keys:before { - content: '\ea65'; -} -.codicon-keyboard:before { - content: '\ea65'; -} -.codicon-tag:before { - content: '\ea66'; -} -.codicon-tag-add:before { - content: '\ea66'; -} -.codicon-tag-remove:before { - content: '\ea66'; -} -.codicon-person:before { - content: '\ea67'; -} -.codicon-person-follow:before { - content: '\ea67'; -} -.codicon-person-outline:before { - content: '\ea67'; -} -.codicon-person-filled:before { - content: '\ea67'; -} -.codicon-git-branch:before { - content: '\ea68'; -} -.codicon-git-branch-create:before { - content: '\ea68'; -} -.codicon-git-branch-delete:before { - content: '\ea68'; -} -.codicon-source-control:before { - content: '\ea68'; -} -.codicon-mirror:before { - content: '\ea69'; -} -.codicon-mirror-public:before { - content: '\ea69'; -} -.codicon-star:before { - content: '\ea6a'; -} -.codicon-star-add:before { - content: '\ea6a'; -} -.codicon-star-delete:before { - content: '\ea6a'; -} -.codicon-star-empty:before { - content: '\ea6a'; -} -.codicon-comment:before { - content: '\ea6b'; -} -.codicon-comment-add:before { - content: '\ea6b'; -} -.codicon-alert:before { - content: '\ea6c'; -} -.codicon-warning:before { - content: '\ea6c'; -} -.codicon-search:before { - content: '\ea6d'; -} -.codicon-search-save:before { - content: '\ea6d'; -} -.codicon-log-out:before { - content: '\ea6e'; -} -.codicon-sign-out:before { - content: '\ea6e'; -} -.codicon-log-in:before { - content: '\ea6f'; -} -.codicon-sign-in:before { - content: '\ea6f'; -} -.codicon-eye:before { - content: '\ea70'; -} -.codicon-eye-unwatch:before { - content: '\ea70'; -} -.codicon-eye-watch:before { - content: '\ea70'; -} -.codicon-circle-filled:before { - content: '\ea71'; -} -.codicon-primitive-dot:before { - content: '\ea71'; -} -.codicon-close-dirty:before { - content: '\ea71'; -} -.codicon-debug-breakpoint:before { - content: '\ea71'; -} -.codicon-debug-breakpoint-disabled:before { - content: '\ea71'; -} -.codicon-debug-hint:before { - content: '\ea71'; -} -.codicon-terminal-decoration-success:before { - content: '\ea71'; -} -.codicon-primitive-square:before { - content: '\ea72'; -} -.codicon-edit:before { - content: '\ea73'; -} -.codicon-pencil:before { - content: '\ea73'; -} -.codicon-info:before { - content: '\ea74'; -} -.codicon-issue-opened:before { - content: '\ea74'; -} -.codicon-gist-private:before { - content: '\ea75'; -} -.codicon-git-fork-private:before { - content: '\ea75'; -} -.codicon-lock:before { - content: '\ea75'; -} -.codicon-mirror-private:before { - content: '\ea75'; -} -.codicon-close:before { - content: '\ea76'; -} -.codicon-remove-close:before { - content: '\ea76'; -} -.codicon-x:before { - content: '\ea76'; -} -.codicon-repo-sync:before { - content: '\ea77'; -} -.codicon-sync:before { - content: '\ea77'; -} -.codicon-clone:before { - content: '\ea78'; -} -.codicon-desktop-download:before { - content: '\ea78'; -} -.codicon-beaker:before { - content: '\ea79'; -} -.codicon-microscope:before { - content: '\ea79'; -} -.codicon-vm:before { - content: '\ea7a'; -} -.codicon-device-desktop:before { - content: '\ea7a'; -} -.codicon-file:before { - content: '\ea7b'; -} -.codicon-file-text:before { - content: '\ea7b'; -} -.codicon-more:before { - content: '\ea7c'; -} -.codicon-ellipsis:before { - content: '\ea7c'; -} -.codicon-kebab-horizontal:before { - content: '\ea7c'; -} -.codicon-mail-reply:before { - content: '\ea7d'; -} -.codicon-reply:before { - content: '\ea7d'; -} -.codicon-organization:before { - content: '\ea7e'; -} -.codicon-organization-filled:before { - content: '\ea7e'; -} -.codicon-organization-outline:before { - content: '\ea7e'; -} -.codicon-new-file:before { - content: '\ea7f'; -} -.codicon-file-add:before { - content: '\ea7f'; -} -.codicon-new-folder:before { - content: '\ea80'; -} -.codicon-file-directory-create:before { - content: '\ea80'; -} -.codicon-trash:before { - content: '\ea81'; -} -.codicon-trashcan:before { - content: '\ea81'; -} -.codicon-history:before { - content: '\ea82'; -} -.codicon-clock:before { - content: '\ea82'; -} -.codicon-folder:before { - content: '\ea83'; -} -.codicon-file-directory:before { - content: '\ea83'; -} -.codicon-symbol-folder:before { - content: '\ea83'; -} -.codicon-logo-github:before { - content: '\ea84'; -} -.codicon-mark-github:before { - content: '\ea84'; -} -.codicon-github:before { - content: '\ea84'; -} -.codicon-terminal:before { - content: '\ea85'; -} -.codicon-console:before { - content: '\ea85'; -} -.codicon-repl:before { - content: '\ea85'; -} -.codicon-zap:before { - content: '\ea86'; -} -.codicon-symbol-event:before { - content: '\ea86'; -} -.codicon-error:before { - content: '\ea87'; -} -.codicon-stop:before { - content: '\ea87'; -} -.codicon-variable:before { - content: '\ea88'; -} -.codicon-symbol-variable:before { - content: '\ea88'; -} -.codicon-array:before { - content: '\ea8a'; -} -.codicon-symbol-array:before { - content: '\ea8a'; -} -.codicon-symbol-module:before { - content: '\ea8b'; -} -.codicon-symbol-package:before { - content: '\ea8b'; -} -.codicon-symbol-namespace:before { - content: '\ea8b'; -} -.codicon-symbol-object:before { - content: '\ea8b'; -} -.codicon-symbol-method:before { - content: '\ea8c'; -} -.codicon-symbol-function:before { - content: '\ea8c'; -} -.codicon-symbol-constructor:before { - content: '\ea8c'; -} -.codicon-symbol-boolean:before { - content: '\ea8f'; -} -.codicon-symbol-null:before { - content: '\ea8f'; -} -.codicon-symbol-numeric:before { - content: '\ea90'; -} -.codicon-symbol-number:before { - content: '\ea90'; -} -.codicon-symbol-structure:before { - content: '\ea91'; -} -.codicon-symbol-struct:before { - content: '\ea91'; -} -.codicon-symbol-parameter:before { - content: '\ea92'; -} -.codicon-symbol-type-parameter:before { - content: '\ea92'; -} -.codicon-symbol-key:before { - content: '\ea93'; -} -.codicon-symbol-text:before { - content: '\ea93'; -} -.codicon-symbol-reference:before { - content: '\ea94'; -} -.codicon-go-to-file:before { - content: '\ea94'; -} -.codicon-symbol-enum:before { - content: '\ea95'; -} -.codicon-symbol-value:before { - content: '\ea95'; -} -.codicon-symbol-ruler:before { - content: '\ea96'; -} -.codicon-symbol-unit:before { - content: '\ea96'; -} -.codicon-activate-breakpoints:before { - content: '\ea97'; -} -.codicon-archive:before { - content: '\ea98'; -} -.codicon-arrow-both:before { - content: '\ea99'; -} -.codicon-arrow-down:before { - content: '\ea9a'; -} -.codicon-arrow-left:before { - content: '\ea9b'; -} -.codicon-arrow-right:before { - content: '\ea9c'; -} -.codicon-arrow-small-down:before { - content: '\ea9d'; -} -.codicon-arrow-small-left:before { - content: '\ea9e'; -} -.codicon-arrow-small-right:before { - content: '\ea9f'; -} -.codicon-arrow-small-up:before { - content: '\eaa0'; -} -.codicon-arrow-up:before { - content: '\eaa1'; -} -.codicon-bell:before { - content: '\eaa2'; -} -.codicon-bold:before { - content: '\eaa3'; -} -.codicon-book:before { - content: '\eaa4'; -} -.codicon-bookmark:before { - content: '\eaa5'; -} -.codicon-debug-breakpoint-conditional-unverified:before { - content: '\eaa6'; -} -.codicon-debug-breakpoint-conditional:before { - content: '\eaa7'; -} -.codicon-debug-breakpoint-conditional-disabled:before { - content: '\eaa7'; -} -.codicon-debug-breakpoint-data-unverified:before { - content: '\eaa8'; -} -.codicon-debug-breakpoint-data:before { - content: '\eaa9'; -} -.codicon-debug-breakpoint-data-disabled:before { - content: '\eaa9'; -} -.codicon-debug-breakpoint-log-unverified:before { - content: '\eaaa'; -} -.codicon-debug-breakpoint-log:before { - content: '\eaab'; -} -.codicon-debug-breakpoint-log-disabled:before { - content: '\eaab'; -} -.codicon-briefcase:before { - content: '\eaac'; -} -.codicon-broadcast:before { - content: '\eaad'; -} -.codicon-browser:before { - content: '\eaae'; -} -.codicon-bug:before { - content: '\eaaf'; -} -.codicon-calendar:before { - content: '\eab0'; -} -.codicon-case-sensitive:before { - content: '\eab1'; -} -.codicon-check:before { - content: '\eab2'; -} -.codicon-checklist:before { - content: '\eab3'; -} -.codicon-chevron-down:before { - content: '\eab4'; -} -.codicon-chevron-left:before { - content: '\eab5'; -} -.codicon-chevron-right:before { - content: '\eab6'; -} -.codicon-chevron-up:before { - content: '\eab7'; -} -.codicon-chrome-close:before { - content: '\eab8'; -} -.codicon-chrome-maximize:before { - content: '\eab9'; -} -.codicon-chrome-minimize:before { - content: '\eaba'; -} -.codicon-chrome-restore:before { - content: '\eabb'; -} -.codicon-circle-outline:before { - content: '\eabc'; -} -.codicon-circle:before { - content: '\eabc'; -} -.codicon-debug-breakpoint-unverified:before { - content: '\eabc'; -} -.codicon-terminal-decoration-incomplete:before { - content: '\eabc'; -} -.codicon-circle-slash:before { - content: '\eabd'; -} -.codicon-circuit-board:before { - content: '\eabe'; -} -.codicon-clear-all:before { - content: '\eabf'; -} -.codicon-clippy:before { - content: '\eac0'; -} -.codicon-close-all:before { - content: '\eac1'; -} -.codicon-cloud-download:before { - content: '\eac2'; -} -.codicon-cloud-upload:before { - content: '\eac3'; -} -.codicon-code:before { - content: '\eac4'; -} -.codicon-collapse-all:before { - content: '\eac5'; -} -.codicon-color-mode:before { - content: '\eac6'; -} -.codicon-comment-discussion:before { - content: '\eac7'; -} -.codicon-credit-card:before { - content: '\eac9'; -} -.codicon-dash:before { - content: '\eacc'; -} -.codicon-dashboard:before { - content: '\eacd'; -} -.codicon-database:before { - content: '\eace'; -} -.codicon-debug-continue:before { - content: '\eacf'; -} -.codicon-debug-disconnect:before { - content: '\ead0'; -} -.codicon-debug-pause:before { - content: '\ead1'; -} -.codicon-debug-restart:before { - content: '\ead2'; -} -.codicon-debug-start:before { - content: '\ead3'; -} -.codicon-debug-step-into:before { - content: '\ead4'; -} -.codicon-debug-step-out:before { - content: '\ead5'; -} -.codicon-debug-step-over:before { - content: '\ead6'; -} -.codicon-debug-stop:before { - content: '\ead7'; -} -.codicon-debug:before { - content: '\ead8'; -} -.codicon-device-camera-video:before { - content: '\ead9'; -} -.codicon-device-camera:before { - content: '\eada'; -} -.codicon-device-mobile:before { - content: '\eadb'; -} -.codicon-diff-added:before { - content: '\eadc'; -} -.codicon-diff-ignored:before { - content: '\eadd'; -} -.codicon-diff-modified:before { - content: '\eade'; -} -.codicon-diff-removed:before { - content: '\eadf'; -} -.codicon-diff-renamed:before { - content: '\eae0'; -} -.codicon-diff:before { - content: '\eae1'; -} -.codicon-discard:before { - content: '\eae2'; -} -.codicon-editor-layout:before { - content: '\eae3'; -} -.codicon-empty-window:before { - content: '\eae4'; -} -.codicon-exclude:before { - content: '\eae5'; -} -.codicon-extensions:before { - content: '\eae6'; -} -.codicon-eye-closed:before { - content: '\eae7'; -} -.codicon-file-binary:before { - content: '\eae8'; -} -.codicon-file-code:before { - content: '\eae9'; -} -.codicon-file-media:before { - content: '\eaea'; -} -.codicon-file-pdf:before { - content: '\eaeb'; -} -.codicon-file-submodule:before { - content: '\eaec'; -} -.codicon-file-symlink-directory:before { - content: '\eaed'; -} -.codicon-file-symlink-file:before { - content: '\eaee'; -} -.codicon-file-zip:before { - content: '\eaef'; -} -.codicon-files:before { - content: '\eaf0'; -} -.codicon-filter:before { - content: '\eaf1'; -} -.codicon-flame:before { - content: '\eaf2'; -} -.codicon-fold-down:before { - content: '\eaf3'; -} -.codicon-fold-up:before { - content: '\eaf4'; -} -.codicon-fold:before { - content: '\eaf5'; -} -.codicon-folder-active:before { - content: '\eaf6'; -} -.codicon-folder-opened:before { - content: '\eaf7'; -} -.codicon-gear:before { - content: '\eaf8'; -} -.codicon-gift:before { - content: '\eaf9'; -} -.codicon-gist-secret:before { - content: '\eafa'; -} -.codicon-gist:before { - content: '\eafb'; -} -.codicon-git-commit:before { - content: '\eafc'; -} -.codicon-git-compare:before { - content: '\eafd'; -} -.codicon-compare-changes:before { - content: '\eafd'; -} -.codicon-git-merge:before { - content: '\eafe'; -} -.codicon-github-action:before { - content: '\eaff'; -} -.codicon-github-alt:before { - content: '\eb00'; -} -.codicon-globe:before { - content: '\eb01'; -} -.codicon-grabber:before { - content: '\eb02'; -} -.codicon-graph:before { - content: '\eb03'; -} -.codicon-gripper:before { - content: '\eb04'; -} -.codicon-heart:before { - content: '\eb05'; -} -.codicon-home:before { - content: '\eb06'; -} -.codicon-horizontal-rule:before { - content: '\eb07'; -} -.codicon-hubot:before { - content: '\eb08'; -} -.codicon-inbox:before { - content: '\eb09'; -} -.codicon-issue-reopened:before { - content: '\eb0b'; -} -.codicon-issues:before { - content: '\eb0c'; -} -.codicon-italic:before { - content: '\eb0d'; -} -.codicon-jersey:before { - content: '\eb0e'; -} -.codicon-json:before { - content: '\eb0f'; -} -.codicon-kebab-vertical:before { - content: '\eb10'; -} -.codicon-key:before { - content: '\eb11'; -} -.codicon-law:before { - content: '\eb12'; -} -.codicon-lightbulb-autofix:before { - content: '\eb13'; -} -.codicon-link-external:before { - content: '\eb14'; -} -.codicon-link:before { - content: '\eb15'; -} -.codicon-list-ordered:before { - content: '\eb16'; -} -.codicon-list-unordered:before { - content: '\eb17'; -} -.codicon-live-share:before { - content: '\eb18'; -} -.codicon-loading:before { - content: '\eb19'; -} -.codicon-location:before { - content: '\eb1a'; -} -.codicon-mail-read:before { - content: '\eb1b'; -} -.codicon-mail:before { - content: '\eb1c'; -} -.codicon-markdown:before { - content: '\eb1d'; -} -.codicon-megaphone:before { - content: '\eb1e'; -} -.codicon-mention:before { - content: '\eb1f'; -} -.codicon-milestone:before { - content: '\eb20'; -} -.codicon-mortar-board:before { - content: '\eb21'; -} -.codicon-move:before { - content: '\eb22'; -} -.codicon-multiple-windows:before { - content: '\eb23'; -} -.codicon-mute:before { - content: '\eb24'; -} -.codicon-no-newline:before { - content: '\eb25'; -} -.codicon-note:before { - content: '\eb26'; -} -.codicon-octoface:before { - content: '\eb27'; -} -.codicon-open-preview:before { - content: '\eb28'; -} -.codicon-package:before { - content: '\eb29'; -} -.codicon-paintcan:before { - content: '\eb2a'; -} -.codicon-pin:before { - content: '\eb2b'; -} -.codicon-play:before { - content: '\eb2c'; -} -.codicon-run:before { - content: '\eb2c'; -} -.codicon-plug:before { - content: '\eb2d'; -} -.codicon-preserve-case:before { - content: '\eb2e'; -} -.codicon-preview:before { - content: '\eb2f'; -} -.codicon-project:before { - content: '\eb30'; -} -.codicon-pulse:before { - content: '\eb31'; -} -.codicon-question:before { - content: '\eb32'; -} -.codicon-quote:before { - content: '\eb33'; -} -.codicon-radio-tower:before { - content: '\eb34'; -} -.codicon-reactions:before { - content: '\eb35'; -} -.codicon-references:before { - content: '\eb36'; -} -.codicon-refresh:before { - content: '\eb37'; -} -.codicon-regex:before { - content: '\eb38'; -} -.codicon-remote-explorer:before { - content: '\eb39'; -} -.codicon-remote:before { - content: '\eb3a'; -} -.codicon-remove:before { - content: '\eb3b'; -} -.codicon-replace-all:before { - content: '\eb3c'; -} -.codicon-replace:before { - content: '\eb3d'; -} -.codicon-repo-clone:before { - content: '\eb3e'; -} -.codicon-repo-force-push:before { - content: '\eb3f'; -} -.codicon-repo-pull:before { - content: '\eb40'; -} -.codicon-repo-push:before { - content: '\eb41'; -} -.codicon-report:before { - content: '\eb42'; -} -.codicon-request-changes:before { - content: '\eb43'; -} -.codicon-rocket:before { - content: '\eb44'; -} -.codicon-root-folder-opened:before { - content: '\eb45'; -} -.codicon-root-folder:before { - content: '\eb46'; -} -.codicon-rss:before { - content: '\eb47'; -} -.codicon-ruby:before { - content: '\eb48'; -} -.codicon-save-all:before { - content: '\eb49'; -} -.codicon-save-as:before { - content: '\eb4a'; -} -.codicon-save:before { - content: '\eb4b'; -} -.codicon-screen-full:before { - content: '\eb4c'; -} -.codicon-screen-normal:before { - content: '\eb4d'; -} -.codicon-search-stop:before { - content: '\eb4e'; -} -.codicon-server:before { - content: '\eb50'; -} -.codicon-settings-gear:before { - content: '\eb51'; -} -.codicon-settings:before { - content: '\eb52'; -} -.codicon-shield:before { - content: '\eb53'; -} -.codicon-smiley:before { - content: '\eb54'; -} -.codicon-sort-precedence:before { - content: '\eb55'; -} -.codicon-split-horizontal:before { - content: '\eb56'; -} -.codicon-split-vertical:before { - content: '\eb57'; -} -.codicon-squirrel:before { - content: '\eb58'; -} -.codicon-star-full:before { - content: '\eb59'; -} -.codicon-star-half:before { - content: '\eb5a'; -} -.codicon-symbol-class:before { - content: '\eb5b'; -} -.codicon-symbol-color:before { - content: '\eb5c'; -} -.codicon-symbol-constant:before { - content: '\eb5d'; -} -.codicon-symbol-enum-member:before { - content: '\eb5e'; -} -.codicon-symbol-field:before { - content: '\eb5f'; -} -.codicon-symbol-file:before { - content: '\eb60'; -} -.codicon-symbol-interface:before { - content: '\eb61'; -} -.codicon-symbol-keyword:before { - content: '\eb62'; -} -.codicon-symbol-misc:before { - content: '\eb63'; -} -.codicon-symbol-operator:before { - content: '\eb64'; -} -.codicon-symbol-property:before { - content: '\eb65'; -} -.codicon-wrench:before { - content: '\eb65'; -} -.codicon-wrench-subaction:before { - content: '\eb65'; -} -.codicon-symbol-snippet:before { - content: '\eb66'; -} -.codicon-tasklist:before { - content: '\eb67'; -} -.codicon-telescope:before { - content: '\eb68'; -} -.codicon-text-size:before { - content: '\eb69'; -} -.codicon-three-bars:before { - content: '\eb6a'; -} -.codicon-thumbsdown:before { - content: '\eb6b'; -} -.codicon-thumbsup:before { - content: '\eb6c'; -} -.codicon-tools:before { - content: '\eb6d'; -} -.codicon-triangle-down:before { - content: '\eb6e'; -} -.codicon-triangle-left:before { - content: '\eb6f'; -} -.codicon-triangle-right:before { - content: '\eb70'; -} -.codicon-triangle-up:before { - content: '\eb71'; -} -.codicon-twitter:before { - content: '\eb72'; -} -.codicon-unfold:before { - content: '\eb73'; -} -.codicon-unlock:before { - content: '\eb74'; -} -.codicon-unmute:before { - content: '\eb75'; -} -.codicon-unverified:before { - content: '\eb76'; -} -.codicon-verified:before { - content: '\eb77'; -} -.codicon-versions:before { - content: '\eb78'; -} -.codicon-vm-active:before { - content: '\eb79'; -} -.codicon-vm-outline:before { - content: '\eb7a'; -} -.codicon-vm-running:before { - content: '\eb7b'; -} -.codicon-watch:before { - content: '\eb7c'; -} -.codicon-whitespace:before { - content: '\eb7d'; -} -.codicon-whole-word:before { - content: '\eb7e'; -} -.codicon-window:before { - content: '\eb7f'; -} -.codicon-word-wrap:before { - content: '\eb80'; -} -.codicon-zoom-in:before { - content: '\eb81'; -} -.codicon-zoom-out:before { - content: '\eb82'; -} -.codicon-list-filter:before { - content: '\eb83'; -} -.codicon-list-flat:before { - content: '\eb84'; -} -.codicon-list-selection:before { - content: '\eb85'; -} -.codicon-selection:before { - content: '\eb85'; -} -.codicon-list-tree:before { - content: '\eb86'; -} -.codicon-debug-breakpoint-function-unverified:before { - content: '\eb87'; -} -.codicon-debug-breakpoint-function:before { - content: '\eb88'; -} -.codicon-debug-breakpoint-function-disabled:before { - content: '\eb88'; -} -.codicon-debug-stackframe-active:before { - content: '\eb89'; -} -.codicon-circle-small-filled:before { - content: '\eb8a'; -} -.codicon-debug-stackframe-dot:before { - content: '\eb8a'; -} -.codicon-terminal-decoration-mark:before { - content: '\eb8a'; -} -.codicon-debug-stackframe:before { - content: '\eb8b'; -} -.codicon-debug-stackframe-focused:before { - content: '\eb8b'; -} -.codicon-debug-breakpoint-unsupported:before { - content: '\eb8c'; -} -.codicon-symbol-string:before { - content: '\eb8d'; -} -.codicon-debug-reverse-continue:before { - content: '\eb8e'; -} -.codicon-debug-step-back:before { - content: '\eb8f'; -} -.codicon-debug-restart-frame:before { - content: '\eb90'; -} -.codicon-debug-alt:before { - content: '\eb91'; -} -.codicon-call-incoming:before { - content: '\eb92'; -} -.codicon-call-outgoing:before { - content: '\eb93'; -} -.codicon-menu:before { - content: '\eb94'; -} -.codicon-expand-all:before { - content: '\eb95'; -} -.codicon-feedback:before { - content: '\eb96'; -} -.codicon-group-by-ref-type:before { - content: '\eb97'; -} -.codicon-ungroup-by-ref-type:before { - content: '\eb98'; -} -.codicon-account:before { - content: '\eb99'; -} -.codicon-bell-dot:before { - content: '\eb9a'; -} -.codicon-debug-console:before { - content: '\eb9b'; -} -.codicon-library:before { - content: '\eb9c'; -} -.codicon-output:before { - content: '\eb9d'; -} -.codicon-run-all:before { - content: '\eb9e'; -} -.codicon-sync-ignored:before { - content: '\eb9f'; -} -.codicon-pinned:before { - content: '\eba0'; -} -.codicon-github-inverted:before { - content: '\eba1'; -} -.codicon-server-process:before { - content: '\eba2'; -} -.codicon-server-environment:before { - content: '\eba3'; -} -.codicon-pass:before { - content: '\eba4'; -} -.codicon-issue-closed:before { - content: '\eba4'; -} -.codicon-stop-circle:before { - content: '\eba5'; -} -.codicon-play-circle:before { - content: '\eba6'; -} -.codicon-record:before { - content: '\eba7'; -} -.codicon-debug-alt-small:before { - content: '\eba8'; -} -.codicon-vm-connect:before { - content: '\eba9'; -} -.codicon-cloud:before { - content: '\ebaa'; -} -.codicon-merge:before { - content: '\ebab'; -} -.codicon-export:before { - content: '\ebac'; -} -.codicon-graph-left:before { - content: '\ebad'; -} -.codicon-magnet:before { - content: '\ebae'; -} -.codicon-notebook:before { - content: '\ebaf'; -} -.codicon-redo:before { - content: '\ebb0'; -} -.codicon-check-all:before { - content: '\ebb1'; -} -.codicon-pinned-dirty:before { - content: '\ebb2'; -} -.codicon-pass-filled:before { - content: '\ebb3'; -} -.codicon-circle-large-filled:before { - content: '\ebb4'; -} -.codicon-circle-large:before { - content: '\ebb5'; -} -.codicon-circle-large-outline:before { - content: '\ebb5'; -} -.codicon-combine:before { - content: '\ebb6'; -} -.codicon-gather:before { - content: '\ebb6'; -} -.codicon-table:before { - content: '\ebb7'; -} -.codicon-variable-group:before { - content: '\ebb8'; -} -.codicon-type-hierarchy:before { - content: '\ebb9'; -} -.codicon-type-hierarchy-sub:before { - content: '\ebba'; -} -.codicon-type-hierarchy-super:before { - content: '\ebbb'; -} -.codicon-git-pull-request-create:before { - content: '\ebbc'; -} -.codicon-run-above:before { - content: '\ebbd'; -} -.codicon-run-below:before { - content: '\ebbe'; -} -.codicon-notebook-template:before { - content: '\ebbf'; -} -.codicon-debug-rerun:before { - content: '\ebc0'; -} -.codicon-workspace-trusted:before { - content: '\ebc1'; -} -.codicon-workspace-untrusted:before { - content: '\ebc2'; -} -.codicon-workspace-unknown:before { - content: '\ebc3'; -} -.codicon-terminal-cmd:before { - content: '\ebc4'; -} -.codicon-terminal-debian:before { - content: '\ebc5'; -} -.codicon-terminal-linux:before { - content: '\ebc6'; -} -.codicon-terminal-powershell:before { - content: '\ebc7'; -} -.codicon-terminal-tmux:before { - content: '\ebc8'; -} -.codicon-terminal-ubuntu:before { - content: '\ebc9'; -} -.codicon-terminal-bash:before { - content: '\ebca'; -} -.codicon-arrow-swap:before { - content: '\ebcb'; -} -.codicon-copy:before { - content: '\ebcc'; -} -.codicon-person-add:before { - content: '\ebcd'; -} -.codicon-filter-filled:before { - content: '\ebce'; -} -.codicon-wand:before { - content: '\ebcf'; -} -.codicon-debug-line-by-line:before { - content: '\ebd0'; -} -.codicon-inspect:before { - content: '\ebd1'; -} -.codicon-layers:before { - content: '\ebd2'; -} -.codicon-layers-dot:before { - content: '\ebd3'; -} -.codicon-layers-active:before { - content: '\ebd4'; -} -.codicon-compass:before { - content: '\ebd5'; -} -.codicon-compass-dot:before { - content: '\ebd6'; -} -.codicon-compass-active:before { - content: '\ebd7'; -} -.codicon-azure:before { - content: '\ebd8'; -} -.codicon-issue-draft:before { - content: '\ebd9'; -} -.codicon-git-pull-request-closed:before { - content: '\ebda'; -} -.codicon-git-pull-request-draft:before { - content: '\ebdb'; -} -.codicon-debug-all:before { - content: '\ebdc'; -} -.codicon-debug-coverage:before { - content: '\ebdd'; -} -.codicon-run-errors:before { - content: '\ebde'; -} -.codicon-folder-library:before { - content: '\ebdf'; -} -.codicon-debug-continue-small:before { - content: '\ebe0'; -} -.codicon-beaker-stop:before { - content: '\ebe1'; -} -.codicon-graph-line:before { - content: '\ebe2'; -} -.codicon-graph-scatter:before { - content: '\ebe3'; -} -.codicon-pie-chart:before { - content: '\ebe4'; -} -.codicon-bracket:before { - content: '\eb0f'; -} -.codicon-bracket-dot:before { - content: '\ebe5'; -} -.codicon-bracket-error:before { - content: '\ebe6'; -} -.codicon-lock-small:before { - content: '\ebe7'; -} -.codicon-azure-devops:before { - content: '\ebe8'; -} -.codicon-verified-filled:before { - content: '\ebe9'; -} -.codicon-newline:before { - content: '\ebea'; -} -.codicon-layout:before { - content: '\ebeb'; -} -.codicon-layout-activitybar-left:before { - content: '\ebec'; -} -.codicon-layout-activitybar-right:before { - content: '\ebed'; -} -.codicon-layout-panel-left:before { - content: '\ebee'; -} -.codicon-layout-panel-center:before { - content: '\ebef'; -} -.codicon-layout-panel-justify:before { - content: '\ebf0'; -} -.codicon-layout-panel-right:before { - content: '\ebf1'; -} -.codicon-layout-panel:before { - content: '\ebf2'; -} -.codicon-layout-sidebar-left:before { - content: '\ebf3'; -} -.codicon-layout-sidebar-right:before { - content: '\ebf4'; -} -.codicon-layout-statusbar:before { - content: '\ebf5'; -} -.codicon-layout-menubar:before { - content: '\ebf6'; -} -.codicon-layout-centered:before { - content: '\ebf7'; -} -.codicon-target:before { - content: '\ebf8'; -} -.codicon-indent:before { - content: '\ebf9'; -} -.codicon-record-small:before { - content: '\ebfa'; -} -.codicon-error-small:before { - content: '\ebfb'; -} -.codicon-terminal-decoration-error:before { - content: '\ebfb'; -} -.codicon-arrow-circle-down:before { - content: '\ebfc'; -} -.codicon-arrow-circle-left:before { - content: '\ebfd'; -} -.codicon-arrow-circle-right:before { - content: '\ebfe'; -} -.codicon-arrow-circle-up:before { - content: '\ebff'; -} -.codicon-layout-sidebar-right-off:before { - content: '\ec00'; -} -.codicon-layout-panel-off:before { - content: '\ec01'; -} -.codicon-layout-sidebar-left-off:before { - content: '\ec02'; -} -.codicon-blank:before { - content: '\ec03'; -} -.codicon-heart-filled:before { - content: '\ec04'; -} -.codicon-map:before { - content: '\ec05'; -} -.codicon-map-filled:before { - content: '\ec06'; -} -.codicon-circle-small:before { - content: '\ec07'; -} -.codicon-bell-slash:before { - content: '\ec08'; -} -.codicon-bell-slash-dot:before { - content: '\ec09'; -} -.codicon-comment-unresolved:before { - content: '\ec0a'; -} -.codicon-git-pull-request-go-to-changes:before { - content: '\ec0b'; -} -.codicon-git-pull-request-new-changes:before { - content: '\ec0c'; -} -.codicon-search-fuzzy:before { - content: '\ec0d'; -} -.codicon-comment-draft:before { - content: '\ec0e'; -} -.codicon-send:before { - content: '\ec0f'; -} -.codicon-sparkle:before { - content: '\ec10'; -} -.codicon-insert:before { - content: '\ec11'; -} +@include utils.all-codicons(); diff --git a/src/webviews/apps/shared/components/code-icon.ts b/src/webviews/apps/shared/components/code-icon.ts index 191feb01efe92..ae7e5fd9ae6bd 100644 --- a/src/webviews/apps/shared/components/code-icon.ts +++ b/src/webviews/apps/shared/components/code-icon.ts @@ -1,575 +1,19 @@ import { css, LitElement, unsafeCSS } from 'lit'; import { customElement, property } from 'lit/decorators.js'; +import { iconMap as codiconsMap } from './icons/codicons-map'; +import { iconMap as gliconsMap } from './icons/glicons-map'; -const iconMap = Object.freeze({ - add: '\\ea60', - plus: '\\ea60', - 'gist-new': '\\ea60', - 'repo-create': '\\ea60', - lightbulb: '\\ea61', - 'light-bulb': '\\ea61', - repo: '\\ea62', - 'repo-delete': '\\ea62', - 'gist-fork': '\\ea63', - 'repo-forked': '\\ea63', - 'git-pull-request': '\\ea64', - 'git-pull-request-abandoned': '\\ea64', - 'record-keys': '\\ea65', - keyboard: '\\ea65', - tag: '\\ea66', - 'tag-add': '\\ea66', - 'tag-remove': '\\ea66', - person: '\\ea67', - 'person-follow': '\\ea67', - 'person-outline': '\\ea67', - 'person-filled': '\\ea67', - 'git-branch': '\\ea68', - 'git-branch-create': '\\ea68', - 'git-branch-delete': '\\ea68', - 'source-control': '\\ea68', - mirror: '\\ea69', - 'mirror-public': '\\ea69', - star: '\\ea6a', - 'star-add': '\\ea6a', - 'star-delete': '\\ea6a', - 'star-empty': '\\ea6a', - comment: '\\ea6b', - 'comment-add': '\\ea6b', - alert: '\\ea6c', - warning: '\\ea6c', - search: '\\ea6d', - 'search-save': '\\ea6d', - 'log-out': '\\ea6e', - 'sign-out': '\\ea6e', - 'log-in': '\\ea6f', - 'sign-in': '\\ea6f', - eye: '\\ea70', - 'eye-unwatch': '\\ea70', - 'eye-watch': '\\ea70', - 'circle-filled': '\\ea71', - 'primitive-dot': '\\ea71', - 'close-dirty': '\\ea71', - 'debug-breakpoint': '\\ea71', - 'debug-breakpoint-disabled': '\\ea71', - 'debug-hint': '\\ea71', - 'primitive-square': '\\ea72', - edit: '\\ea73', - pencil: '\\ea73', - info: '\\ea74', - 'issue-opened': '\\ea74', - 'gist-private': '\\ea75', - 'git-fork-private': '\\ea75', - lock: '\\ea75', - 'mirror-private': '\\ea75', - close: '\\ea76', - 'remove-close': '\\ea76', - x: '\\ea76', - 'repo-sync': '\\ea77', - sync: '\\ea77', - clone: '\\ea78', - 'desktop-download': '\\ea78', - beaker: '\\ea79', - microscope: '\\ea79', - vm: '\\ea7a', - 'device-desktop': '\\ea7a', - file: '\\ea7b', - 'file-text': '\\ea7b', - more: '\\ea7c', - ellipsis: '\\ea7c', - 'kebab-horizontal': '\\ea7c', - 'mail-reply': '\\ea7d', - reply: '\\ea7d', - organization: '\\ea7e', - 'organization-filled': '\\ea7e', - 'organization-outline': '\\ea7e', - 'new-file': '\\ea7f', - 'file-add': '\\ea7f', - 'new-folder': '\\ea80', - 'file-directory-create': '\\ea80', - trash: '\\ea81', - trashcan: '\\ea81', - history: '\\ea82', - clock: '\\ea82', - folder: '\\ea83', - 'file-directory': '\\ea83', - 'symbol-folder': '\\ea83', - 'logo-github': '\\ea84', - 'mark-github': '\\ea84', - github: '\\ea84', - terminal: '\\ea85', - console: '\\ea85', - repl: '\\ea85', - zap: '\\ea86', - 'symbol-event': '\\ea86', - error: '\\ea87', - stop: '\\ea87', - variable: '\\ea88', - 'symbol-variable': '\\ea88', - array: '\\ea8a', - 'symbol-array': '\\ea8a', - 'symbol-module': '\\ea8b', - 'symbol-package': '\\ea8b', - 'symbol-namespace': '\\ea8b', - 'symbol-object': '\\ea8b', - 'symbol-method': '\\ea8c', - 'symbol-function': '\\ea8c', - 'symbol-constructor': '\\ea8c', - 'symbol-boolean': '\\ea8f', - 'symbol-null': '\\ea8f', - 'symbol-numeric': '\\ea90', - 'symbol-number': '\\ea90', - 'symbol-structure': '\\ea91', - 'symbol-struct': '\\ea91', - 'symbol-parameter': '\\ea92', - 'symbol-type-parameter': '\\ea92', - 'symbol-key': '\\ea93', - 'symbol-text': '\\ea93', - 'symbol-reference': '\\ea94', - 'go-to-file': '\\ea94', - 'symbol-enum': '\\ea95', - 'symbol-value': '\\ea95', - 'symbol-ruler': '\\ea96', - 'symbol-unit': '\\ea96', - 'activate-breakpoints': '\\ea97', - archive: '\\ea98', - 'arrow-both': '\\ea99', - 'arrow-down': '\\ea9a', - 'arrow-left': '\\ea9b', - 'arrow-right': '\\ea9c', - 'arrow-small-down': '\\ea9d', - 'arrow-small-left': '\\ea9e', - 'arrow-small-right': '\\ea9f', - 'arrow-small-up': '\\eaa0', - 'arrow-up': '\\eaa1', - bell: '\\eaa2', - bold: '\\eaa3', - book: '\\eaa4', - bookmark: '\\eaa5', - 'debug-breakpoint-conditional-unverified': '\\eaa6', - 'debug-breakpoint-conditional': '\\eaa7', - 'debug-breakpoint-conditional-disabled': '\\eaa7', - 'debug-breakpoint-data-unverified': '\\eaa8', - 'debug-breakpoint-data': '\\eaa9', - 'debug-breakpoint-data-disabled': '\\eaa9', - 'debug-breakpoint-log-unverified': '\\eaaa', - 'debug-breakpoint-log': '\\eaab', - 'debug-breakpoint-log-disabled': '\\eaab', - briefcase: '\\eaac', - broadcast: '\\eaad', - browser: '\\eaae', - bug: '\\eaaf', - calendar: '\\eab0', - 'case-sensitive': '\\eab1', - check: '\\eab2', - checklist: '\\eab3', - 'chevron-down': '\\eab4', - 'chevron-left': '\\eab5', - 'chevron-right': '\\eab6', - 'chevron-up': '\\eab7', - 'chrome-close': '\\eab8', - 'chrome-maximize': '\\eab9', - 'chrome-minimize': '\\eaba', - 'chrome-restore': '\\eabb', - 'circle-outline': '\\eabc', - 'debug-breakpoint-unverified': '\\eabc', - 'circle-slash': '\\eabd', - 'circuit-board': '\\eabe', - 'clear-all': '\\eabf', - clippy: '\\eac0', - 'close-all': '\\eac1', - 'cloud-download': '\\eac2', - 'cloud-upload': '\\eac3', - code: '\\eac4', - 'collapse-all': '\\eac5', - 'color-mode': '\\eac6', - 'comment-discussion': '\\eac7', - 'credit-card': '\\eac9', - dash: '\\eacc', - dashboard: '\\eacd', - database: '\\eace', - 'debug-continue': '\\eacf', - 'debug-disconnect': '\\ead0', - 'debug-pause': '\\ead1', - 'debug-restart': '\\ead2', - 'debug-start': '\\ead3', - 'debug-step-into': '\\ead4', - 'debug-step-out': '\\ead5', - 'debug-step-over': '\\ead6', - 'debug-stop': '\\ead7', - debug: '\\ead8', - 'device-camera-video': '\\ead9', - 'device-camera': '\\eada', - 'device-mobile': '\\eadb', - 'diff-added': '\\eadc', - 'diff-ignored': '\\eadd', - 'diff-modified': '\\eade', - 'diff-removed': '\\eadf', - 'diff-renamed': '\\eae0', - diff: '\\eae1', - discard: '\\eae2', - 'editor-layout': '\\eae3', - 'empty-window': '\\eae4', - exclude: '\\eae5', - extensions: '\\eae6', - 'eye-closed': '\\eae7', - 'file-binary': '\\eae8', - 'file-code': '\\eae9', - 'file-media': '\\eaea', - 'file-pdf': '\\eaeb', - 'file-submodule': '\\eaec', - 'file-symlink-directory': '\\eaed', - 'file-symlink-file': '\\eaee', - 'file-zip': '\\eaef', - files: '\\eaf0', - filter: '\\eaf1', - flame: '\\eaf2', - 'fold-down': '\\eaf3', - 'fold-up': '\\eaf4', - fold: '\\eaf5', - 'folder-active': '\\eaf6', - 'folder-opened': '\\eaf7', - gear: '\\eaf8', - gift: '\\eaf9', - 'gist-secret': '\\eafa', - gist: '\\eafb', - 'git-commit': '\\eafc', - 'git-compare': '\\eafd', - 'compare-changes': '\\eafd', - 'git-merge': '\\eafe', - 'github-action': '\\eaff', - 'github-alt': '\\eb00', - globe: '\\eb01', - grabber: '\\eb02', - graph: '\\eb03', - gripper: '\\eb04', - heart: '\\eb05', - home: '\\eb06', - 'horizontal-rule': '\\eb07', - hubot: '\\eb08', - inbox: '\\eb09', - 'issue-reopened': '\\eb0b', - issues: '\\eb0c', - italic: '\\eb0d', - jersey: '\\eb0e', - json: '\\eb0f', - 'kebab-vertical': '\\eb10', - key: '\\eb11', - law: '\\eb12', - 'lightbulb-autofix': '\\eb13', - 'link-external': '\\eb14', - link: '\\eb15', - 'list-ordered': '\\eb16', - 'list-unordered': '\\eb17', - 'live-share': '\\eb18', - loading: '\\eb19', - location: '\\eb1a', - 'mail-read': '\\eb1b', - mail: '\\eb1c', - markdown: '\\eb1d', - megaphone: '\\eb1e', - mention: '\\eb1f', - milestone: '\\eb20', - 'mortar-board': '\\eb21', - move: '\\eb22', - 'multiple-windows': '\\eb23', - mute: '\\eb24', - 'no-newline': '\\eb25', - note: '\\eb26', - octoface: '\\eb27', - 'open-preview': '\\eb28', - package: '\\eb29', - paintcan: '\\eb2a', - pin: '\\eb2b', - play: '\\eb2c', - run: '\\eb2c', - plug: '\\eb2d', - 'preserve-case': '\\eb2e', - preview: '\\eb2f', - project: '\\eb30', - pulse: '\\eb31', - question: '\\eb32', - quote: '\\eb33', - 'radio-tower': '\\eb34', - reactions: '\\eb35', - references: '\\eb36', - refresh: '\\eb37', - regex: '\\eb38', - 'remote-explorer': '\\eb39', - remote: '\\eb3a', - remove: '\\eb3b', - 'replace-all': '\\eb3c', - replace: '\\eb3d', - 'repo-clone': '\\eb3e', - 'repo-force-push': '\\eb3f', - 'repo-pull': '\\eb40', - 'repo-push': '\\eb41', - report: '\\eb42', - 'request-changes': '\\eb43', - rocket: '\\eb44', - 'root-folder-opened': '\\eb45', - 'root-folder': '\\eb46', - rss: '\\eb47', - ruby: '\\eb48', - 'save-all': '\\eb49', - 'save-as': '\\eb4a', - save: '\\eb4b', - 'screen-full': '\\eb4c', - 'screen-normal': '\\eb4d', - 'search-stop': '\\eb4e', - server: '\\eb50', - 'settings-gear': '\\eb51', - settings: '\\eb52', - shield: '\\eb53', - smiley: '\\eb54', - 'sort-precedence': '\\eb55', - 'split-horizontal': '\\eb56', - 'split-vertical': '\\eb57', - squirrel: '\\eb58', - 'star-full': '\\eb59', - 'star-half': '\\eb5a', - 'symbol-class': '\\eb5b', - 'symbol-color': '\\eb5c', - 'symbol-constant': '\\eb5d', - 'symbol-enum-member': '\\eb5e', - 'symbol-field': '\\eb5f', - 'symbol-file': '\\eb60', - 'symbol-interface': '\\eb61', - 'symbol-keyword': '\\eb62', - 'symbol-misc': '\\eb63', - 'symbol-operator': '\\eb64', - 'symbol-property': '\\eb65', - wrench: '\\eb65', - 'wrench-subaction': '\\eb65', - 'symbol-snippet': '\\eb66', - tasklist: '\\eb67', - telescope: '\\eb68', - 'text-size': '\\eb69', - 'three-bars': '\\eb6a', - thumbsdown: '\\eb6b', - thumbsup: '\\eb6c', - tools: '\\eb6d', - 'triangle-down': '\\eb6e', - 'triangle-left': '\\eb6f', - 'triangle-right': '\\eb70', - 'triangle-up': '\\eb71', - twitter: '\\eb72', - unfold: '\\eb73', - unlock: '\\eb74', - unmute: '\\eb75', - unverified: '\\eb76', - verified: '\\eb77', - versions: '\\eb78', - 'vm-active': '\\eb79', - 'vm-outline': '\\eb7a', - 'vm-running': '\\eb7b', - watch: '\\eb7c', - whitespace: '\\eb7d', - 'whole-word': '\\eb7e', - window: '\\eb7f', - 'word-wrap': '\\eb80', - 'zoom-in': '\\eb81', - 'zoom-out': '\\eb82', - 'list-filter': '\\eb83', - 'list-flat': '\\eb84', - 'list-selection': '\\eb85', - selection: '\\eb85', - 'list-tree': '\\eb86', - 'debug-breakpoint-function-unverified': '\\eb87', - 'debug-breakpoint-function': '\\eb88', - 'debug-breakpoint-function-disabled': '\\eb88', - 'debug-stackframe-active': '\\eb89', - 'debug-stackframe-dot': '\\eb8a', - 'debug-stackframe': '\\eb8b', - 'debug-stackframe-focused': '\\eb8b', - 'debug-breakpoint-unsupported': '\\eb8c', - 'symbol-string': '\\eb8d', - 'debug-reverse-continue': '\\eb8e', - 'debug-step-back': '\\eb8f', - 'debug-restart-frame': '\\eb90', - 'debug-alt': '\\eb91', - 'call-incoming': '\\eb92', - 'call-outgoing': '\\eb93', - menu: '\\eb94', - 'expand-all': '\\eb95', - feedback: '\\eb96', - 'group-by-ref-type': '\\eb97', - 'ungroup-by-ref-type': '\\eb98', - account: '\\eb99', - 'bell-dot': '\\eb9a', - 'debug-console': '\\eb9b', - library: '\\eb9c', - output: '\\eb9d', - 'run-all': '\\eb9e', - 'sync-ignored': '\\eb9f', - pinned: '\\eba0', - 'github-inverted': '\\eba1', - 'server-process': '\\eba2', - 'server-environment': '\\eba3', - pass: '\\eba4', - 'issue-closed': '\\eba4', - 'stop-circle': '\\eba5', - 'play-circle': '\\eba6', - record: '\\eba7', - 'debug-alt-small': '\\eba8', - 'vm-connect': '\\eba9', - cloud: '\\ebaa', - merge: '\\ebab', - export: '\\ebac', - 'graph-left': '\\ebad', - magnet: '\\ebae', - notebook: '\\ebaf', - redo: '\\ebb0', - 'check-all': '\\ebb1', - 'pinned-dirty': '\\ebb2', - 'pass-filled': '\\ebb3', - 'circle-large-filled': '\\ebb4', - 'circle-large-outline': '\\ebb5', - combine: '\\ebb6', - gather: '\\ebb6', - table: '\\ebb7', - 'variable-group': '\\ebb8', - 'type-hierarchy': '\\ebb9', - 'type-hierarchy-sub': '\\ebba', - 'type-hierarchy-super': '\\ebbb', - 'git-pull-request-create': '\\ebbc', - 'run-above': '\\ebbd', - 'run-below': '\\ebbe', - 'notebook-template': '\\ebbf', - 'debug-rerun': '\\ebc0', - 'workspace-trusted': '\\ebc1', - 'workspace-untrusted': '\\ebc2', - 'workspace-unknown': '\\ebc3', - 'terminal-cmd': '\\ebc4', - 'terminal-debian': '\\ebc5', - 'terminal-linux': '\\ebc6', - 'terminal-powershell': '\\ebc7', - 'terminal-tmux': '\\ebc8', - 'terminal-ubuntu': '\\ebc9', - 'terminal-bash': '\\ebca', - 'arrow-swap': '\\ebcb', - copy: '\\ebcc', - 'person-add': '\\ebcd', - 'filter-filled': '\\ebce', - wand: '\\ebcf', - 'debug-line-by-line': '\\ebd0', - inspect: '\\ebd1', - layers: '\\ebd2', - 'layers-dot': '\\ebd3', - 'layers-active': '\\ebd4', - compass: '\\ebd5', - 'compass-dot': '\\ebd6', - 'compass-active': '\\ebd7', - azure: '\\ebd8', - 'issue-draft': '\\ebd9', - 'git-pull-request-closed': '\\ebda', - 'git-pull-request-draft': '\\ebdb', - 'debug-all': '\\ebdc', - 'debug-coverage': '\\ebdd', - 'run-errors': '\\ebde', - 'folder-library': '\\ebdf', - 'debug-continue-small': '\\ebe0', - 'beaker-stop': '\\ebe1', - 'graph-line': '\\ebe2', - 'graph-scatter': '\\ebe3', - 'pie-chart': '\\ebe4', - bracket: '\\eb0f', - 'bracket-dot': '\\ebe5', - 'bracket-error': '\\ebe6', - 'lock-small': '\\ebe7', - 'azure-devops': '\\ebe8', - 'verified-filled': '\\ebe9', - newline: '\\ebea', - layout: '\\ebeb', - 'layout-activitybar-left': '\\ebec', - 'layout-activitybar-right': '\\ebed', - 'layout-panel-left': '\\ebee', - 'layout-panel-center': '\\ebef', - 'layout-panel-justify': '\\ebf0', - 'layout-panel-right': '\\ebf1', - 'layout-panel': '\\ebf2', - 'layout-sidebar-left': '\\ebf3', - 'layout-sidebar-right': '\\ebf4', - 'layout-statusbar': '\\ebf5', - 'layout-menubar': '\\ebf6', - 'layout-centered': '\\ebf7', - target: '\\ebf8', - indent: '\\ebf9', - 'record-small': '\\ebfa', - 'error-small': '\\ebfb', - 'terminal-decoration-error': '\\ebfb', - 'arrow-circle-down': '\\ebfc', - 'arrow-circle-left': '\\ebfd', - 'arrow-circle-right': '\\ebfe', - 'arrow-circle-up': '\\ebff', - 'layout-sidebar-right-off': '\\ec00', - 'layout-panel-off': '\\ec01', - 'layout-sidebar-left-off': '\\ec02', - blank: '\\ec03', - 'heart-filled': '\\ec04', - map: '\\ec05', - 'map-filled': '\\ec06', - 'circle-small': '\\ec07', - 'bell-slash': '\\ec08', - 'bell-slash-dot': '\\ec09', - 'comment-unresolved': '\\ec0a', - 'git-pull-request-go-to-changes': '\\ec0b', - 'git-pull-request-new-changes': '\\ec0c', - 'search-fuzzy': '\\ec0d', - 'comment-draft': '\\ec0e', - send: '\\ec0f', - sparkle: '\\ec10', - insert: '\\ec11', - 'gl-commit-horizontal': '\\f101', - 'gl-graph': '\\f102', - 'gl-next-commit': '\\f103', - 'gl-prev-commit-menu': '\\f104', - 'gl-prev-commit': '\\f105', - 'gl-compare-ref-working': '\\f106', - 'gl-branches-view': '\\f107', - 'gl-commit-view': '\\f108', - 'gl-commits-view': '\\f109', - 'gl-compare-view': '\\f10a', - 'gl-contributors-view': '\\f10b', - 'gl-history-view': '\\f10c', - 'gl-remotes-view': '\\f10d', - 'gl-repositories-view': '\\f10e', - 'gl-search-view': '\\f10f', - 'gl-stashes-view': '\\f110', - 'gl-tags-view': '\\f111', - 'gl-worktrees-view': '\\f112', - 'gl-gitlens': '\\f113', - 'gl-stash-pop': '\\f114', - 'gl-stash-save': '\\f115', - 'gl-unplug': '\\f116', - 'gl-open-revision': '\\f117', - 'gl-switch': '\\f118', - 'gl-expand': '\\f119', - 'gl-list-auto': '\\f11a', - 'gl-repo-force-push': '\\f11b', - 'gl-pinned-filled': '\\f11c', - 'gl-clock': '\\f11d', - 'gl-provider-azdo': '\\f11e', - 'gl-provider-bitbucket': '\\f11f', - 'gl-provider-gerrit': '\\f120', - 'gl-provider-gitea': '\\f121', - 'gl-provider-github': '\\f122', - 'gl-provider-gitlab': '\\f123', - 'gl-gitlens-inspect': '\\f124', - 'gl-workspaces-view': '\\f125', - 'gl-cloud-patch': '\\f128', - 'gl-cloud-patch-share': '\\f129', - 'gl-inspect': '\\f12a', - 'gl-repository-filled': '\\f12b', - 'gl-code-suggestion': '\\f12d', - 'gl-diff-multiple': '\\f12e', - 'gl-diff-single': '\\f12f', - 'gl-repo-fetch': '\\f130', - 'gl-repo-pull': '\\f131', - 'gl-repo-push': '\\f132', - 'gl-provider-jira': '\\f133', - 'gl-play-button': '\\f134', - 'rocket-filled': '\\f135', -}); +function iconToSelector(name: string, char: string, prefix = '') { + return /*css*/ `:host([icon='${prefix}${name}'])::before { content: '${char}'; }`; +} + +function generateIconStyles(iconMap: Record, prefix = '') { + return unsafeCSS( + Object.entries(iconMap) + .map(([key, value]) => iconToSelector(key, value, prefix)) + .join(''), + ); +} @customElement('code-icon') export class CodeIcon extends LitElement { @@ -597,17 +41,8 @@ export class CodeIcon extends LitElement { font-family: 'glicons'; } - ${unsafeCSS( - Object.entries(iconMap) - .map( - ([key, value]) => /*css*/ ` - :host([icon='${key}'])::before { - content: '${value}'; - } - `, - ) - .join(''), - )} + ${generateIconStyles(codiconsMap)} + ${generateIconStyles(gliconsMap, 'gl-')} :host([icon='custom-start-work']) { position: relative; diff --git a/src/webviews/apps/shared/components/icons/codicons-map.ts b/src/webviews/apps/shared/components/icons/codicons-map.ts new file mode 100644 index 0000000000000..e119b9659be5f --- /dev/null +++ b/src/webviews/apps/shared/components/icons/codicons-map.ts @@ -0,0 +1,576 @@ +// This file is generated by (vscode-gitlens)/scripts/export-codicons.js +// Do not edit this file directly + +export const iconFontFamily = 'codicon'; + +export const iconMap = Object.freeze({ + 'add': '\\ea60', + 'plus': '\\ea60', + 'gist-new': '\\ea60', + 'repo-create': '\\ea60', + 'lightbulb': '\\ea61', + 'light-bulb': '\\ea61', + 'repo': '\\ea62', + 'repo-delete': '\\ea62', + 'gist-fork': '\\ea63', + 'repo-forked': '\\ea63', + 'git-pull-request': '\\ea64', + 'git-pull-request-abandoned': '\\ea64', + 'record-keys': '\\ea65', + 'keyboard': '\\ea65', + 'tag': '\\ea66', + 'git-pull-request-label': '\\ea66', + 'tag-add': '\\ea66', + 'tag-remove': '\\ea66', + 'person': '\\ea67', + 'person-follow': '\\ea67', + 'person-outline': '\\ea67', + 'person-filled': '\\ea67', + 'git-branch': '\\ea68', + 'git-branch-create': '\\ea68', + 'git-branch-delete': '\\ea68', + 'source-control': '\\ea68', + 'mirror': '\\ea69', + 'mirror-public': '\\ea69', + 'star': '\\ea6a', + 'star-add': '\\ea6a', + 'star-delete': '\\ea6a', + 'star-empty': '\\ea6a', + 'comment': '\\ea6b', + 'comment-add': '\\ea6b', + 'alert': '\\ea6c', + 'warning': '\\ea6c', + 'search': '\\ea6d', + 'search-save': '\\ea6d', + 'log-out': '\\ea6e', + 'sign-out': '\\ea6e', + 'log-in': '\\ea6f', + 'sign-in': '\\ea6f', + 'eye': '\\ea70', + 'eye-unwatch': '\\ea70', + 'eye-watch': '\\ea70', + 'circle-filled': '\\ea71', + 'primitive-dot': '\\ea71', + 'close-dirty': '\\ea71', + 'debug-breakpoint': '\\ea71', + 'debug-breakpoint-disabled': '\\ea71', + 'debug-hint': '\\ea71', + 'terminal-decoration-success': '\\ea71', + 'primitive-square': '\\ea72', + 'edit': '\\ea73', + 'pencil': '\\ea73', + 'info': '\\ea74', + 'issue-opened': '\\ea74', + 'gist-private': '\\ea75', + 'git-fork-private': '\\ea75', + 'lock': '\\ea75', + 'mirror-private': '\\ea75', + 'close': '\\ea76', + 'remove-close': '\\ea76', + 'x': '\\ea76', + 'repo-sync': '\\ea77', + 'sync': '\\ea77', + 'clone': '\\ea78', + 'desktop-download': '\\ea78', + 'beaker': '\\ea79', + 'microscope': '\\ea79', + 'vm': '\\ea7a', + 'device-desktop': '\\ea7a', + 'file': '\\ea7b', + 'file-text': '\\ea7b', + 'more': '\\ea7c', + 'ellipsis': '\\ea7c', + 'kebab-horizontal': '\\ea7c', + 'mail-reply': '\\ea7d', + 'reply': '\\ea7d', + 'organization': '\\ea7e', + 'organization-filled': '\\ea7e', + 'organization-outline': '\\ea7e', + 'new-file': '\\ea7f', + 'file-add': '\\ea7f', + 'new-folder': '\\ea80', + 'file-directory-create': '\\ea80', + 'trash': '\\ea81', + 'trashcan': '\\ea81', + 'history': '\\ea82', + 'clock': '\\ea82', + 'folder': '\\ea83', + 'file-directory': '\\ea83', + 'symbol-folder': '\\ea83', + 'logo-github': '\\ea84', + 'mark-github': '\\ea84', + 'github': '\\ea84', + 'terminal': '\\ea85', + 'console': '\\ea85', + 'repl': '\\ea85', + 'zap': '\\ea86', + 'symbol-event': '\\ea86', + 'error': '\\ea87', + 'stop': '\\ea87', + 'variable': '\\ea88', + 'symbol-variable': '\\ea88', + 'array': '\\ea8a', + 'symbol-array': '\\ea8a', + 'symbol-module': '\\ea8b', + 'symbol-package': '\\ea8b', + 'symbol-namespace': '\\ea8b', + 'symbol-object': '\\ea8b', + 'symbol-method': '\\ea8c', + 'symbol-function': '\\ea8c', + 'symbol-constructor': '\\ea8c', + 'symbol-boolean': '\\ea8f', + 'symbol-null': '\\ea8f', + 'symbol-numeric': '\\ea90', + 'symbol-number': '\\ea90', + 'symbol-structure': '\\ea91', + 'symbol-struct': '\\ea91', + 'symbol-parameter': '\\ea92', + 'symbol-type-parameter': '\\ea92', + 'symbol-key': '\\ea93', + 'symbol-text': '\\ea93', + 'symbol-reference': '\\ea94', + 'go-to-file': '\\ea94', + 'symbol-enum': '\\ea95', + 'symbol-value': '\\ea95', + 'symbol-ruler': '\\ea96', + 'symbol-unit': '\\ea96', + 'activate-breakpoints': '\\ea97', + 'archive': '\\ea98', + 'arrow-both': '\\ea99', + 'arrow-down': '\\ea9a', + 'arrow-left': '\\ea9b', + 'arrow-right': '\\ea9c', + 'arrow-small-down': '\\ea9d', + 'arrow-small-left': '\\ea9e', + 'arrow-small-right': '\\ea9f', + 'arrow-small-up': '\\eaa0', + 'arrow-up': '\\eaa1', + 'bell': '\\eaa2', + 'bold': '\\eaa3', + 'book': '\\eaa4', + 'bookmark': '\\eaa5', + 'debug-breakpoint-conditional-unverified': '\\eaa6', + 'debug-breakpoint-conditional': '\\eaa7', + 'debug-breakpoint-conditional-disabled': '\\eaa7', + 'debug-breakpoint-data-unverified': '\\eaa8', + 'debug-breakpoint-data': '\\eaa9', + 'debug-breakpoint-data-disabled': '\\eaa9', + 'debug-breakpoint-log-unverified': '\\eaaa', + 'debug-breakpoint-log': '\\eaab', + 'debug-breakpoint-log-disabled': '\\eaab', + 'briefcase': '\\eaac', + 'broadcast': '\\eaad', + 'browser': '\\eaae', + 'bug': '\\eaaf', + 'calendar': '\\eab0', + 'case-sensitive': '\\eab1', + 'check': '\\eab2', + 'checklist': '\\eab3', + 'chevron-down': '\\eab4', + 'chevron-left': '\\eab5', + 'chevron-right': '\\eab6', + 'chevron-up': '\\eab7', + 'chrome-close': '\\eab8', + 'chrome-maximize': '\\eab9', + 'chrome-minimize': '\\eaba', + 'chrome-restore': '\\eabb', + 'circle-outline': '\\eabc', + 'circle': '\\eabc', + 'debug-breakpoint-unverified': '\\eabc', + 'terminal-decoration-incomplete': '\\eabc', + 'circle-slash': '\\eabd', + 'circuit-board': '\\eabe', + 'clear-all': '\\eabf', + 'clippy': '\\eac0', + 'close-all': '\\eac1', + 'cloud-download': '\\eac2', + 'cloud-upload': '\\eac3', + 'code': '\\eac4', + 'collapse-all': '\\eac5', + 'color-mode': '\\eac6', + 'comment-discussion': '\\eac7', + 'credit-card': '\\eac9', + 'dash': '\\eacc', + 'dashboard': '\\eacd', + 'database': '\\eace', + 'debug-continue': '\\eacf', + 'debug-disconnect': '\\ead0', + 'debug-pause': '\\ead1', + 'debug-restart': '\\ead2', + 'debug-start': '\\ead3', + 'debug-step-into': '\\ead4', + 'debug-step-out': '\\ead5', + 'debug-step-over': '\\ead6', + 'debug-stop': '\\ead7', + 'debug': '\\ead8', + 'device-camera-video': '\\ead9', + 'device-camera': '\\eada', + 'device-mobile': '\\eadb', + 'diff-added': '\\eadc', + 'diff-ignored': '\\eadd', + 'diff-modified': '\\eade', + 'diff-removed': '\\eadf', + 'diff-renamed': '\\eae0', + 'diff': '\\eae1', + 'diff-sidebyside': '\\eae1', + 'discard': '\\eae2', + 'editor-layout': '\\eae3', + 'empty-window': '\\eae4', + 'exclude': '\\eae5', + 'extensions': '\\eae6', + 'eye-closed': '\\eae7', + 'file-binary': '\\eae8', + 'file-code': '\\eae9', + 'file-media': '\\eaea', + 'file-pdf': '\\eaeb', + 'file-submodule': '\\eaec', + 'file-symlink-directory': '\\eaed', + 'file-symlink-file': '\\eaee', + 'file-zip': '\\eaef', + 'files': '\\eaf0', + 'filter': '\\eaf1', + 'flame': '\\eaf2', + 'fold-down': '\\eaf3', + 'fold-up': '\\eaf4', + 'fold': '\\eaf5', + 'folder-active': '\\eaf6', + 'folder-opened': '\\eaf7', + 'gear': '\\eaf8', + 'gift': '\\eaf9', + 'gist-secret': '\\eafa', + 'gist': '\\eafb', + 'git-commit': '\\eafc', + 'git-compare': '\\eafd', + 'compare-changes': '\\eafd', + 'git-merge': '\\eafe', + 'github-action': '\\eaff', + 'github-alt': '\\eb00', + 'globe': '\\eb01', + 'grabber': '\\eb02', + 'graph': '\\eb03', + 'gripper': '\\eb04', + 'heart': '\\eb05', + 'home': '\\eb06', + 'horizontal-rule': '\\eb07', + 'hubot': '\\eb08', + 'inbox': '\\eb09', + 'issue-reopened': '\\eb0b', + 'issues': '\\eb0c', + 'italic': '\\eb0d', + 'jersey': '\\eb0e', + 'json': '\\eb0f', + 'kebab-vertical': '\\eb10', + 'key': '\\eb11', + 'law': '\\eb12', + 'lightbulb-autofix': '\\eb13', + 'link-external': '\\eb14', + 'link': '\\eb15', + 'list-ordered': '\\eb16', + 'list-unordered': '\\eb17', + 'live-share': '\\eb18', + 'loading': '\\eb19', + 'location': '\\eb1a', + 'mail-read': '\\eb1b', + 'mail': '\\eb1c', + 'markdown': '\\eb1d', + 'megaphone': '\\eb1e', + 'mention': '\\eb1f', + 'milestone': '\\eb20', + 'git-pull-request-milestone': '\\eb20', + 'mortar-board': '\\eb21', + 'move': '\\eb22', + 'multiple-windows': '\\eb23', + 'mute': '\\eb24', + 'no-newline': '\\eb25', + 'note': '\\eb26', + 'octoface': '\\eb27', + 'open-preview': '\\eb28', + 'package': '\\eb29', + 'paintcan': '\\eb2a', + 'pin': '\\eb2b', + 'play': '\\eb2c', + 'run': '\\eb2c', + 'plug': '\\eb2d', + 'preserve-case': '\\eb2e', + 'preview': '\\eb2f', + 'project': '\\eb30', + 'pulse': '\\eb31', + 'question': '\\eb32', + 'quote': '\\eb33', + 'radio-tower': '\\eb34', + 'reactions': '\\eb35', + 'references': '\\eb36', + 'refresh': '\\eb37', + 'regex': '\\eb38', + 'remote-explorer': '\\eb39', + 'remote': '\\eb3a', + 'remove': '\\eb3b', + 'replace-all': '\\eb3c', + 'replace': '\\eb3d', + 'repo-clone': '\\eb3e', + 'repo-force-push': '\\eb3f', + 'repo-pull': '\\eb40', + 'repo-push': '\\eb41', + 'report': '\\eb42', + 'request-changes': '\\eb43', + 'rocket': '\\eb44', + 'root-folder-opened': '\\eb45', + 'root-folder': '\\eb46', + 'rss': '\\eb47', + 'ruby': '\\eb48', + 'save-all': '\\eb49', + 'save-as': '\\eb4a', + 'save': '\\eb4b', + 'screen-full': '\\eb4c', + 'screen-normal': '\\eb4d', + 'search-stop': '\\eb4e', + 'server': '\\eb50', + 'settings-gear': '\\eb51', + 'settings': '\\eb52', + 'shield': '\\eb53', + 'smiley': '\\eb54', + 'sort-precedence': '\\eb55', + 'split-horizontal': '\\eb56', + 'split-vertical': '\\eb57', + 'squirrel': '\\eb58', + 'star-full': '\\eb59', + 'star-half': '\\eb5a', + 'symbol-class': '\\eb5b', + 'symbol-color': '\\eb5c', + 'symbol-constant': '\\eb5d', + 'symbol-enum-member': '\\eb5e', + 'symbol-field': '\\eb5f', + 'symbol-file': '\\eb60', + 'symbol-interface': '\\eb61', + 'symbol-keyword': '\\eb62', + 'symbol-misc': '\\eb63', + 'symbol-operator': '\\eb64', + 'symbol-property': '\\eb65', + 'wrench': '\\eb65', + 'wrench-subaction': '\\eb65', + 'symbol-snippet': '\\eb66', + 'tasklist': '\\eb67', + 'telescope': '\\eb68', + 'text-size': '\\eb69', + 'three-bars': '\\eb6a', + 'thumbsdown': '\\eb6b', + 'thumbsup': '\\eb6c', + 'tools': '\\eb6d', + 'triangle-down': '\\eb6e', + 'triangle-left': '\\eb6f', + 'triangle-right': '\\eb70', + 'triangle-up': '\\eb71', + 'twitter': '\\eb72', + 'unfold': '\\eb73', + 'unlock': '\\eb74', + 'unmute': '\\eb75', + 'unverified': '\\eb76', + 'verified': '\\eb77', + 'versions': '\\eb78', + 'vm-active': '\\eb79', + 'vm-outline': '\\eb7a', + 'vm-running': '\\eb7b', + 'watch': '\\eb7c', + 'whitespace': '\\eb7d', + 'whole-word': '\\eb7e', + 'window': '\\eb7f', + 'word-wrap': '\\eb80', + 'zoom-in': '\\eb81', + 'zoom-out': '\\eb82', + 'list-filter': '\\eb83', + 'list-flat': '\\eb84', + 'list-selection': '\\eb85', + 'selection': '\\eb85', + 'list-tree': '\\eb86', + 'debug-breakpoint-function-unverified': '\\eb87', + 'debug-breakpoint-function': '\\eb88', + 'debug-breakpoint-function-disabled': '\\eb88', + 'debug-stackframe-active': '\\eb89', + 'circle-small-filled': '\\eb8a', + 'debug-stackframe-dot': '\\eb8a', + 'terminal-decoration-mark': '\\eb8a', + 'debug-stackframe': '\\eb8b', + 'debug-stackframe-focused': '\\eb8b', + 'debug-breakpoint-unsupported': '\\eb8c', + 'symbol-string': '\\eb8d', + 'debug-reverse-continue': '\\eb8e', + 'debug-step-back': '\\eb8f', + 'debug-restart-frame': '\\eb90', + 'debug-alt': '\\eb91', + 'call-incoming': '\\eb92', + 'call-outgoing': '\\eb93', + 'menu': '\\eb94', + 'expand-all': '\\eb95', + 'feedback': '\\eb96', + 'git-pull-request-reviewer': '\\eb96', + 'group-by-ref-type': '\\eb97', + 'ungroup-by-ref-type': '\\eb98', + 'account': '\\eb99', + 'git-pull-request-assignee': '\\eb99', + 'bell-dot': '\\eb9a', + 'debug-console': '\\eb9b', + 'library': '\\eb9c', + 'output': '\\eb9d', + 'run-all': '\\eb9e', + 'sync-ignored': '\\eb9f', + 'pinned': '\\eba0', + 'github-inverted': '\\eba1', + 'server-process': '\\eba2', + 'server-environment': '\\eba3', + 'pass': '\\eba4', + 'issue-closed': '\\eba4', + 'stop-circle': '\\eba5', + 'play-circle': '\\eba6', + 'record': '\\eba7', + 'debug-alt-small': '\\eba8', + 'vm-connect': '\\eba9', + 'cloud': '\\ebaa', + 'merge': '\\ebab', + 'export': '\\ebac', + 'graph-left': '\\ebad', + 'magnet': '\\ebae', + 'notebook': '\\ebaf', + 'redo': '\\ebb0', + 'check-all': '\\ebb1', + 'pinned-dirty': '\\ebb2', + 'pass-filled': '\\ebb3', + 'circle-large-filled': '\\ebb4', + 'circle-large': '\\ebb5', + 'circle-large-outline': '\\ebb5', + 'combine': '\\ebb6', + 'gather': '\\ebb6', + 'table': '\\ebb7', + 'variable-group': '\\ebb8', + 'type-hierarchy': '\\ebb9', + 'type-hierarchy-sub': '\\ebba', + 'type-hierarchy-super': '\\ebbb', + 'git-pull-request-create': '\\ebbc', + 'run-above': '\\ebbd', + 'run-below': '\\ebbe', + 'notebook-template': '\\ebbf', + 'debug-rerun': '\\ebc0', + 'workspace-trusted': '\\ebc1', + 'workspace-untrusted': '\\ebc2', + 'workspace-unknown': '\\ebc3', + 'terminal-cmd': '\\ebc4', + 'terminal-debian': '\\ebc5', + 'terminal-linux': '\\ebc6', + 'terminal-powershell': '\\ebc7', + 'terminal-tmux': '\\ebc8', + 'terminal-ubuntu': '\\ebc9', + 'terminal-bash': '\\ebca', + 'arrow-swap': '\\ebcb', + 'copy': '\\ebcc', + 'person-add': '\\ebcd', + 'filter-filled': '\\ebce', + 'wand': '\\ebcf', + 'debug-line-by-line': '\\ebd0', + 'inspect': '\\ebd1', + 'layers': '\\ebd2', + 'layers-dot': '\\ebd3', + 'layers-active': '\\ebd4', + 'compass': '\\ebd5', + 'compass-dot': '\\ebd6', + 'compass-active': '\\ebd7', + 'azure': '\\ebd8', + 'issue-draft': '\\ebd9', + 'git-pull-request-closed': '\\ebda', + 'git-pull-request-draft': '\\ebdb', + 'debug-all': '\\ebdc', + 'debug-coverage': '\\ebdd', + 'run-errors': '\\ebde', + 'folder-library': '\\ebdf', + 'debug-continue-small': '\\ebe0', + 'beaker-stop': '\\ebe1', + 'graph-line': '\\ebe2', + 'graph-scatter': '\\ebe3', + 'pie-chart': '\\ebe4', + 'bracket': '\\eb0f', + 'bracket-dot': '\\ebe5', + 'bracket-error': '\\ebe6', + 'lock-small': '\\ebe7', + 'azure-devops': '\\ebe8', + 'verified-filled': '\\ebe9', + 'newline': '\\ebea', + 'layout': '\\ebeb', + 'layout-activitybar-left': '\\ebec', + 'layout-activitybar-right': '\\ebed', + 'layout-panel-left': '\\ebee', + 'layout-panel-center': '\\ebef', + 'layout-panel-justify': '\\ebf0', + 'layout-panel-right': '\\ebf1', + 'layout-panel': '\\ebf2', + 'layout-sidebar-left': '\\ebf3', + 'layout-sidebar-right': '\\ebf4', + 'layout-statusbar': '\\ebf5', + 'layout-menubar': '\\ebf6', + 'layout-centered': '\\ebf7', + 'target': '\\ebf8', + 'indent': '\\ebf9', + 'record-small': '\\ebfa', + 'error-small': '\\ebfb', + 'terminal-decoration-error': '\\ebfb', + 'arrow-circle-down': '\\ebfc', + 'arrow-circle-left': '\\ebfd', + 'arrow-circle-right': '\\ebfe', + 'arrow-circle-up': '\\ebff', + 'layout-sidebar-right-off': '\\ec00', + 'layout-panel-off': '\\ec01', + 'layout-sidebar-left-off': '\\ec02', + 'blank': '\\ec03', + 'heart-filled': '\\ec04', + 'map': '\\ec05', + 'map-horizontal': '\\ec05', + 'fold-horizontal': '\\ec05', + 'map-filled': '\\ec06', + 'map-horizontal-filled': '\\ec06', + 'fold-horizontal-filled': '\\ec06', + 'circle-small': '\\ec07', + 'bell-slash': '\\ec08', + 'bell-slash-dot': '\\ec09', + 'comment-unresolved': '\\ec0a', + 'git-pull-request-go-to-changes': '\\ec0b', + 'git-pull-request-new-changes': '\\ec0c', + 'search-fuzzy': '\\ec0d', + 'comment-draft': '\\ec0e', + 'send': '\\ec0f', + 'sparkle': '\\ec10', + 'insert': '\\ec11', + 'mic': '\\ec12', + 'thumbsdown-filled': '\\ec13', + 'thumbsup-filled': '\\ec14', + 'coffee': '\\ec15', + 'snake': '\\ec16', + 'game': '\\ec17', + 'vr': '\\ec18', + 'chip': '\\ec19', + 'piano': '\\ec1a', + 'music': '\\ec1b', + 'mic-filled': '\\ec1c', + 'repo-fetch': '\\ec1d', + 'copilot': '\\ec1e', + 'lightbulb-sparkle': '\\ec1f', + 'robot': '\\ec20', + 'sparkle-filled': '\\ec21', + 'diff-single': '\\ec22', + 'diff-multiple': '\\ec23', + 'surround-with': '\\ec24', + 'share': '\\ec25', + 'git-stash': '\\ec26', + 'git-stash-apply': '\\ec27', + 'git-stash-pop': '\\ec28', + 'vscode': '\\ec29', + 'vscode-insiders': '\\ec2a', + 'code-oss': '\\ec2b', + 'run-coverage': '\\ec2c', + 'run-all-coverage': '\\ec2d', + 'coverage': '\\ec2e', + 'github-project': '\\ec2f', + 'map-vertical': '\\ec30', + 'fold-vertical': '\\ec30', + 'map-vertical-filled': '\\ec31', + 'fold-vertical-filled': '\\ec31', + 'go-to-search': '\\ec32', + 'percentage': '\\ec33', + 'sort-percentage': '\\ec33' +}); diff --git a/src/webviews/apps/shared/components/icons/glicons-map.ts b/src/webviews/apps/shared/components/icons/glicons-map.ts new file mode 100644 index 0000000000000..67fb9e02b6314 --- /dev/null +++ b/src/webviews/apps/shared/components/icons/glicons-map.ts @@ -0,0 +1,73 @@ +// This file is generated by (vscode-gitlens)/scripts/export-codicons.js +// Do not edit this file directly + +export const iconFontFamily = 'glicons'; + +export const iconMap = Object.freeze({ + 'commit-horizontal': '\\f101', + 'graph': '\\f102', + 'next-commit': '\\f103', + 'prev-commit-menu': '\\f104', + 'prev-commit': '\\f105', + 'compare-ref-working': '\\f106', + 'branches-view': '\\f107', + 'commit-view': '\\f108', + 'commits-view': '\\f109', + 'compare-view': '\\f10a', + 'contributors-view': '\\f10b', + 'history-view': '\\f10c', + 'history': '\\f10c', + 'remotes-view': '\\f10d', + 'repositories-view': '\\f10e', + 'search-view': '\\f10f', + 'stashes-view': '\\f110', + 'stashes': '\\f110', + 'tags-view': '\\f111', + 'worktrees-view': '\\f112', + 'gitlens': '\\f113', + 'stash-pop': '\\f114', + 'stash-save': '\\f115', + 'unplug': '\\f116', + 'open-revision': '\\f117', + 'switch': '\\f118', + 'expand': '\\f119', + 'list-auto': '\\f11a', + 'repo-force-push': '\\f11b', + 'pinned-filled': '\\f11c', + 'clock': '\\f11d', + 'provider-azdo': '\\f11e', + 'provider-bitbucket': '\\f11f', + 'provider-gerrit': '\\f120', + 'provider-gitea': '\\f121', + 'provider-github': '\\f122', + 'provider-gitlab': '\\f123', + 'gitlens-inspect': '\\f124', + 'workspaces-view': '\\f125', + 'confirm-checked': '\\f126', + 'confirm-unchecked': '\\f127', + 'cloud-patch': '\\f128', + 'cloud-patch-share': '\\f129', + 'inspect': '\\f12a', + 'repository-filled': '\\f12b', + 'gitlens-filled': '\\f12c', + 'code-suggestion': '\\f12d', + 'diff-multiple': '\\f12e', + 'diff-single': '\\f12f', + 'repo-fetch': '\\f130', + 'repo-pull': '\\f131', + 'repo-push': '\\f132', + 'provider-jira': '\\f133', + 'play-button': '\\f134', + 'rocket-filled': '\\f135', + 'branches-view-filled': '\\f136', + 'commits-view-filled': '\\f137', + 'contributors-view-filled': '\\f138', + 'remotes-view-filled': '\\f139', + 'repositories-view-filled': '\\f13a', + 'search-view-filled': '\\f13b', + 'stashes-view-filled': '\\f13c', + 'tags-view-filled': '\\f13d', + 'worktrees-view-filled': '\\f13e', + 'launchpad-view': '\\f13f', + 'launchpad-view-filled': '\\f140', +}); diff --git a/src/webviews/apps/shared/styles/icons/codicons-map.scss b/src/webviews/apps/shared/styles/icons/codicons-map.scss new file mode 100644 index 0000000000000..3b654f77268a8 --- /dev/null +++ b/src/webviews/apps/shared/styles/icons/codicons-map.scss @@ -0,0 +1,576 @@ +// This file is generated by (vscode-gitlens)/scripts/export-codicons.js +// Do not edit this file directly + +$icon-font-family: 'codicon'; + +$icon-map: ( + 'add': '\ea60', + 'plus': '\ea60', + 'gist-new': '\ea60', + 'repo-create': '\ea60', + 'lightbulb': '\ea61', + 'light-bulb': '\ea61', + 'repo': '\ea62', + 'repo-delete': '\ea62', + 'gist-fork': '\ea63', + 'repo-forked': '\ea63', + 'git-pull-request': '\ea64', + 'git-pull-request-abandoned': '\ea64', + 'record-keys': '\ea65', + 'keyboard': '\ea65', + 'tag': '\ea66', + 'git-pull-request-label': '\ea66', + 'tag-add': '\ea66', + 'tag-remove': '\ea66', + 'person': '\ea67', + 'person-follow': '\ea67', + 'person-outline': '\ea67', + 'person-filled': '\ea67', + 'git-branch': '\ea68', + 'git-branch-create': '\ea68', + 'git-branch-delete': '\ea68', + 'source-control': '\ea68', + 'mirror': '\ea69', + 'mirror-public': '\ea69', + 'star': '\ea6a', + 'star-add': '\ea6a', + 'star-delete': '\ea6a', + 'star-empty': '\ea6a', + 'comment': '\ea6b', + 'comment-add': '\ea6b', + 'alert': '\ea6c', + 'warning': '\ea6c', + 'search': '\ea6d', + 'search-save': '\ea6d', + 'log-out': '\ea6e', + 'sign-out': '\ea6e', + 'log-in': '\ea6f', + 'sign-in': '\ea6f', + 'eye': '\ea70', + 'eye-unwatch': '\ea70', + 'eye-watch': '\ea70', + 'circle-filled': '\ea71', + 'primitive-dot': '\ea71', + 'close-dirty': '\ea71', + 'debug-breakpoint': '\ea71', + 'debug-breakpoint-disabled': '\ea71', + 'debug-hint': '\ea71', + 'terminal-decoration-success': '\ea71', + 'primitive-square': '\ea72', + 'edit': '\ea73', + 'pencil': '\ea73', + 'info': '\ea74', + 'issue-opened': '\ea74', + 'gist-private': '\ea75', + 'git-fork-private': '\ea75', + 'lock': '\ea75', + 'mirror-private': '\ea75', + 'close': '\ea76', + 'remove-close': '\ea76', + 'x': '\ea76', + 'repo-sync': '\ea77', + 'sync': '\ea77', + 'clone': '\ea78', + 'desktop-download': '\ea78', + 'beaker': '\ea79', + 'microscope': '\ea79', + 'vm': '\ea7a', + 'device-desktop': '\ea7a', + 'file': '\ea7b', + 'file-text': '\ea7b', + 'more': '\ea7c', + 'ellipsis': '\ea7c', + 'kebab-horizontal': '\ea7c', + 'mail-reply': '\ea7d', + 'reply': '\ea7d', + 'organization': '\ea7e', + 'organization-filled': '\ea7e', + 'organization-outline': '\ea7e', + 'new-file': '\ea7f', + 'file-add': '\ea7f', + 'new-folder': '\ea80', + 'file-directory-create': '\ea80', + 'trash': '\ea81', + 'trashcan': '\ea81', + 'history': '\ea82', + 'clock': '\ea82', + 'folder': '\ea83', + 'file-directory': '\ea83', + 'symbol-folder': '\ea83', + 'logo-github': '\ea84', + 'mark-github': '\ea84', + 'github': '\ea84', + 'terminal': '\ea85', + 'console': '\ea85', + 'repl': '\ea85', + 'zap': '\ea86', + 'symbol-event': '\ea86', + 'error': '\ea87', + 'stop': '\ea87', + 'variable': '\ea88', + 'symbol-variable': '\ea88', + 'array': '\ea8a', + 'symbol-array': '\ea8a', + 'symbol-module': '\ea8b', + 'symbol-package': '\ea8b', + 'symbol-namespace': '\ea8b', + 'symbol-object': '\ea8b', + 'symbol-method': '\ea8c', + 'symbol-function': '\ea8c', + 'symbol-constructor': '\ea8c', + 'symbol-boolean': '\ea8f', + 'symbol-null': '\ea8f', + 'symbol-numeric': '\ea90', + 'symbol-number': '\ea90', + 'symbol-structure': '\ea91', + 'symbol-struct': '\ea91', + 'symbol-parameter': '\ea92', + 'symbol-type-parameter': '\ea92', + 'symbol-key': '\ea93', + 'symbol-text': '\ea93', + 'symbol-reference': '\ea94', + 'go-to-file': '\ea94', + 'symbol-enum': '\ea95', + 'symbol-value': '\ea95', + 'symbol-ruler': '\ea96', + 'symbol-unit': '\ea96', + 'activate-breakpoints': '\ea97', + 'archive': '\ea98', + 'arrow-both': '\ea99', + 'arrow-down': '\ea9a', + 'arrow-left': '\ea9b', + 'arrow-right': '\ea9c', + 'arrow-small-down': '\ea9d', + 'arrow-small-left': '\ea9e', + 'arrow-small-right': '\ea9f', + 'arrow-small-up': '\eaa0', + 'arrow-up': '\eaa1', + 'bell': '\eaa2', + 'bold': '\eaa3', + 'book': '\eaa4', + 'bookmark': '\eaa5', + 'debug-breakpoint-conditional-unverified': '\eaa6', + 'debug-breakpoint-conditional': '\eaa7', + 'debug-breakpoint-conditional-disabled': '\eaa7', + 'debug-breakpoint-data-unverified': '\eaa8', + 'debug-breakpoint-data': '\eaa9', + 'debug-breakpoint-data-disabled': '\eaa9', + 'debug-breakpoint-log-unverified': '\eaaa', + 'debug-breakpoint-log': '\eaab', + 'debug-breakpoint-log-disabled': '\eaab', + 'briefcase': '\eaac', + 'broadcast': '\eaad', + 'browser': '\eaae', + 'bug': '\eaaf', + 'calendar': '\eab0', + 'case-sensitive': '\eab1', + 'check': '\eab2', + 'checklist': '\eab3', + 'chevron-down': '\eab4', + 'chevron-left': '\eab5', + 'chevron-right': '\eab6', + 'chevron-up': '\eab7', + 'chrome-close': '\eab8', + 'chrome-maximize': '\eab9', + 'chrome-minimize': '\eaba', + 'chrome-restore': '\eabb', + 'circle-outline': '\eabc', + 'circle': '\eabc', + 'debug-breakpoint-unverified': '\eabc', + 'terminal-decoration-incomplete': '\eabc', + 'circle-slash': '\eabd', + 'circuit-board': '\eabe', + 'clear-all': '\eabf', + 'clippy': '\eac0', + 'close-all': '\eac1', + 'cloud-download': '\eac2', + 'cloud-upload': '\eac3', + 'code': '\eac4', + 'collapse-all': '\eac5', + 'color-mode': '\eac6', + 'comment-discussion': '\eac7', + 'credit-card': '\eac9', + 'dash': '\eacc', + 'dashboard': '\eacd', + 'database': '\eace', + 'debug-continue': '\eacf', + 'debug-disconnect': '\ead0', + 'debug-pause': '\ead1', + 'debug-restart': '\ead2', + 'debug-start': '\ead3', + 'debug-step-into': '\ead4', + 'debug-step-out': '\ead5', + 'debug-step-over': '\ead6', + 'debug-stop': '\ead7', + 'debug': '\ead8', + 'device-camera-video': '\ead9', + 'device-camera': '\eada', + 'device-mobile': '\eadb', + 'diff-added': '\eadc', + 'diff-ignored': '\eadd', + 'diff-modified': '\eade', + 'diff-removed': '\eadf', + 'diff-renamed': '\eae0', + 'diff': '\eae1', + 'diff-sidebyside': '\eae1', + 'discard': '\eae2', + 'editor-layout': '\eae3', + 'empty-window': '\eae4', + 'exclude': '\eae5', + 'extensions': '\eae6', + 'eye-closed': '\eae7', + 'file-binary': '\eae8', + 'file-code': '\eae9', + 'file-media': '\eaea', + 'file-pdf': '\eaeb', + 'file-submodule': '\eaec', + 'file-symlink-directory': '\eaed', + 'file-symlink-file': '\eaee', + 'file-zip': '\eaef', + 'files': '\eaf0', + 'filter': '\eaf1', + 'flame': '\eaf2', + 'fold-down': '\eaf3', + 'fold-up': '\eaf4', + 'fold': '\eaf5', + 'folder-active': '\eaf6', + 'folder-opened': '\eaf7', + 'gear': '\eaf8', + 'gift': '\eaf9', + 'gist-secret': '\eafa', + 'gist': '\eafb', + 'git-commit': '\eafc', + 'git-compare': '\eafd', + 'compare-changes': '\eafd', + 'git-merge': '\eafe', + 'github-action': '\eaff', + 'github-alt': '\eb00', + 'globe': '\eb01', + 'grabber': '\eb02', + 'graph': '\eb03', + 'gripper': '\eb04', + 'heart': '\eb05', + 'home': '\eb06', + 'horizontal-rule': '\eb07', + 'hubot': '\eb08', + 'inbox': '\eb09', + 'issue-reopened': '\eb0b', + 'issues': '\eb0c', + 'italic': '\eb0d', + 'jersey': '\eb0e', + 'json': '\eb0f', + 'kebab-vertical': '\eb10', + 'key': '\eb11', + 'law': '\eb12', + 'lightbulb-autofix': '\eb13', + 'link-external': '\eb14', + 'link': '\eb15', + 'list-ordered': '\eb16', + 'list-unordered': '\eb17', + 'live-share': '\eb18', + 'loading': '\eb19', + 'location': '\eb1a', + 'mail-read': '\eb1b', + 'mail': '\eb1c', + 'markdown': '\eb1d', + 'megaphone': '\eb1e', + 'mention': '\eb1f', + 'milestone': '\eb20', + 'git-pull-request-milestone': '\eb20', + 'mortar-board': '\eb21', + 'move': '\eb22', + 'multiple-windows': '\eb23', + 'mute': '\eb24', + 'no-newline': '\eb25', + 'note': '\eb26', + 'octoface': '\eb27', + 'open-preview': '\eb28', + 'package': '\eb29', + 'paintcan': '\eb2a', + 'pin': '\eb2b', + 'play': '\eb2c', + 'run': '\eb2c', + 'plug': '\eb2d', + 'preserve-case': '\eb2e', + 'preview': '\eb2f', + 'project': '\eb30', + 'pulse': '\eb31', + 'question': '\eb32', + 'quote': '\eb33', + 'radio-tower': '\eb34', + 'reactions': '\eb35', + 'references': '\eb36', + 'refresh': '\eb37', + 'regex': '\eb38', + 'remote-explorer': '\eb39', + 'remote': '\eb3a', + 'remove': '\eb3b', + 'replace-all': '\eb3c', + 'replace': '\eb3d', + 'repo-clone': '\eb3e', + 'repo-force-push': '\eb3f', + 'repo-pull': '\eb40', + 'repo-push': '\eb41', + 'report': '\eb42', + 'request-changes': '\eb43', + 'rocket': '\eb44', + 'root-folder-opened': '\eb45', + 'root-folder': '\eb46', + 'rss': '\eb47', + 'ruby': '\eb48', + 'save-all': '\eb49', + 'save-as': '\eb4a', + 'save': '\eb4b', + 'screen-full': '\eb4c', + 'screen-normal': '\eb4d', + 'search-stop': '\eb4e', + 'server': '\eb50', + 'settings-gear': '\eb51', + 'settings': '\eb52', + 'shield': '\eb53', + 'smiley': '\eb54', + 'sort-precedence': '\eb55', + 'split-horizontal': '\eb56', + 'split-vertical': '\eb57', + 'squirrel': '\eb58', + 'star-full': '\eb59', + 'star-half': '\eb5a', + 'symbol-class': '\eb5b', + 'symbol-color': '\eb5c', + 'symbol-constant': '\eb5d', + 'symbol-enum-member': '\eb5e', + 'symbol-field': '\eb5f', + 'symbol-file': '\eb60', + 'symbol-interface': '\eb61', + 'symbol-keyword': '\eb62', + 'symbol-misc': '\eb63', + 'symbol-operator': '\eb64', + 'symbol-property': '\eb65', + 'wrench': '\eb65', + 'wrench-subaction': '\eb65', + 'symbol-snippet': '\eb66', + 'tasklist': '\eb67', + 'telescope': '\eb68', + 'text-size': '\eb69', + 'three-bars': '\eb6a', + 'thumbsdown': '\eb6b', + 'thumbsup': '\eb6c', + 'tools': '\eb6d', + 'triangle-down': '\eb6e', + 'triangle-left': '\eb6f', + 'triangle-right': '\eb70', + 'triangle-up': '\eb71', + 'twitter': '\eb72', + 'unfold': '\eb73', + 'unlock': '\eb74', + 'unmute': '\eb75', + 'unverified': '\eb76', + 'verified': '\eb77', + 'versions': '\eb78', + 'vm-active': '\eb79', + 'vm-outline': '\eb7a', + 'vm-running': '\eb7b', + 'watch': '\eb7c', + 'whitespace': '\eb7d', + 'whole-word': '\eb7e', + 'window': '\eb7f', + 'word-wrap': '\eb80', + 'zoom-in': '\eb81', + 'zoom-out': '\eb82', + 'list-filter': '\eb83', + 'list-flat': '\eb84', + 'list-selection': '\eb85', + 'selection': '\eb85', + 'list-tree': '\eb86', + 'debug-breakpoint-function-unverified': '\eb87', + 'debug-breakpoint-function': '\eb88', + 'debug-breakpoint-function-disabled': '\eb88', + 'debug-stackframe-active': '\eb89', + 'circle-small-filled': '\eb8a', + 'debug-stackframe-dot': '\eb8a', + 'terminal-decoration-mark': '\eb8a', + 'debug-stackframe': '\eb8b', + 'debug-stackframe-focused': '\eb8b', + 'debug-breakpoint-unsupported': '\eb8c', + 'symbol-string': '\eb8d', + 'debug-reverse-continue': '\eb8e', + 'debug-step-back': '\eb8f', + 'debug-restart-frame': '\eb90', + 'debug-alt': '\eb91', + 'call-incoming': '\eb92', + 'call-outgoing': '\eb93', + 'menu': '\eb94', + 'expand-all': '\eb95', + 'feedback': '\eb96', + 'git-pull-request-reviewer': '\eb96', + 'group-by-ref-type': '\eb97', + 'ungroup-by-ref-type': '\eb98', + 'account': '\eb99', + 'git-pull-request-assignee': '\eb99', + 'bell-dot': '\eb9a', + 'debug-console': '\eb9b', + 'library': '\eb9c', + 'output': '\eb9d', + 'run-all': '\eb9e', + 'sync-ignored': '\eb9f', + 'pinned': '\eba0', + 'github-inverted': '\eba1', + 'server-process': '\eba2', + 'server-environment': '\eba3', + 'pass': '\eba4', + 'issue-closed': '\eba4', + 'stop-circle': '\eba5', + 'play-circle': '\eba6', + 'record': '\eba7', + 'debug-alt-small': '\eba8', + 'vm-connect': '\eba9', + 'cloud': '\ebaa', + 'merge': '\ebab', + 'export': '\ebac', + 'graph-left': '\ebad', + 'magnet': '\ebae', + 'notebook': '\ebaf', + 'redo': '\ebb0', + 'check-all': '\ebb1', + 'pinned-dirty': '\ebb2', + 'pass-filled': '\ebb3', + 'circle-large-filled': '\ebb4', + 'circle-large': '\ebb5', + 'circle-large-outline': '\ebb5', + 'combine': '\ebb6', + 'gather': '\ebb6', + 'table': '\ebb7', + 'variable-group': '\ebb8', + 'type-hierarchy': '\ebb9', + 'type-hierarchy-sub': '\ebba', + 'type-hierarchy-super': '\ebbb', + 'git-pull-request-create': '\ebbc', + 'run-above': '\ebbd', + 'run-below': '\ebbe', + 'notebook-template': '\ebbf', + 'debug-rerun': '\ebc0', + 'workspace-trusted': '\ebc1', + 'workspace-untrusted': '\ebc2', + 'workspace-unknown': '\ebc3', + 'terminal-cmd': '\ebc4', + 'terminal-debian': '\ebc5', + 'terminal-linux': '\ebc6', + 'terminal-powershell': '\ebc7', + 'terminal-tmux': '\ebc8', + 'terminal-ubuntu': '\ebc9', + 'terminal-bash': '\ebca', + 'arrow-swap': '\ebcb', + 'copy': '\ebcc', + 'person-add': '\ebcd', + 'filter-filled': '\ebce', + 'wand': '\ebcf', + 'debug-line-by-line': '\ebd0', + 'inspect': '\ebd1', + 'layers': '\ebd2', + 'layers-dot': '\ebd3', + 'layers-active': '\ebd4', + 'compass': '\ebd5', + 'compass-dot': '\ebd6', + 'compass-active': '\ebd7', + 'azure': '\ebd8', + 'issue-draft': '\ebd9', + 'git-pull-request-closed': '\ebda', + 'git-pull-request-draft': '\ebdb', + 'debug-all': '\ebdc', + 'debug-coverage': '\ebdd', + 'run-errors': '\ebde', + 'folder-library': '\ebdf', + 'debug-continue-small': '\ebe0', + 'beaker-stop': '\ebe1', + 'graph-line': '\ebe2', + 'graph-scatter': '\ebe3', + 'pie-chart': '\ebe4', + 'bracket': '\eb0f', + 'bracket-dot': '\ebe5', + 'bracket-error': '\ebe6', + 'lock-small': '\ebe7', + 'azure-devops': '\ebe8', + 'verified-filled': '\ebe9', + 'newline': '\ebea', + 'layout': '\ebeb', + 'layout-activitybar-left': '\ebec', + 'layout-activitybar-right': '\ebed', + 'layout-panel-left': '\ebee', + 'layout-panel-center': '\ebef', + 'layout-panel-justify': '\ebf0', + 'layout-panel-right': '\ebf1', + 'layout-panel': '\ebf2', + 'layout-sidebar-left': '\ebf3', + 'layout-sidebar-right': '\ebf4', + 'layout-statusbar': '\ebf5', + 'layout-menubar': '\ebf6', + 'layout-centered': '\ebf7', + 'target': '\ebf8', + 'indent': '\ebf9', + 'record-small': '\ebfa', + 'error-small': '\ebfb', + 'terminal-decoration-error': '\ebfb', + 'arrow-circle-down': '\ebfc', + 'arrow-circle-left': '\ebfd', + 'arrow-circle-right': '\ebfe', + 'arrow-circle-up': '\ebff', + 'layout-sidebar-right-off': '\ec00', + 'layout-panel-off': '\ec01', + 'layout-sidebar-left-off': '\ec02', + 'blank': '\ec03', + 'heart-filled': '\ec04', + 'map': '\ec05', + 'map-horizontal': '\ec05', + 'fold-horizontal': '\ec05', + 'map-filled': '\ec06', + 'map-horizontal-filled': '\ec06', + 'fold-horizontal-filled': '\ec06', + 'circle-small': '\ec07', + 'bell-slash': '\ec08', + 'bell-slash-dot': '\ec09', + 'comment-unresolved': '\ec0a', + 'git-pull-request-go-to-changes': '\ec0b', + 'git-pull-request-new-changes': '\ec0c', + 'search-fuzzy': '\ec0d', + 'comment-draft': '\ec0e', + 'send': '\ec0f', + 'sparkle': '\ec10', + 'insert': '\ec11', + 'mic': '\ec12', + 'thumbsdown-filled': '\ec13', + 'thumbsup-filled': '\ec14', + 'coffee': '\ec15', + 'snake': '\ec16', + 'game': '\ec17', + 'vr': '\ec18', + 'chip': '\ec19', + 'piano': '\ec1a', + 'music': '\ec1b', + 'mic-filled': '\ec1c', + 'repo-fetch': '\ec1d', + 'copilot': '\ec1e', + 'lightbulb-sparkle': '\ec1f', + 'robot': '\ec20', + 'sparkle-filled': '\ec21', + 'diff-single': '\ec22', + 'diff-multiple': '\ec23', + 'surround-with': '\ec24', + 'share': '\ec25', + 'git-stash': '\ec26', + 'git-stash-apply': '\ec27', + 'git-stash-pop': '\ec28', + 'vscode': '\ec29', + 'vscode-insiders': '\ec2a', + 'code-oss': '\ec2b', + 'run-coverage': '\ec2c', + 'run-all-coverage': '\ec2d', + 'coverage': '\ec2e', + 'github-project': '\ec2f', + 'map-vertical': '\ec30', + 'fold-vertical': '\ec30', + 'map-vertical-filled': '\ec31', + 'fold-vertical-filled': '\ec31', + 'go-to-search': '\ec32', + 'percentage': '\ec33', + 'sort-percentage': '\ec33' +); diff --git a/src/webviews/apps/shared/styles/icons/glicons-map.scss b/src/webviews/apps/shared/styles/icons/glicons-map.scss new file mode 100644 index 0000000000000..ddacd3bc38600 --- /dev/null +++ b/src/webviews/apps/shared/styles/icons/glicons-map.scss @@ -0,0 +1,73 @@ +// This file is generated by (vscode-gitlens)/scripts/export-codicons.js +// Do not edit this file directly + +$icon-font-family: 'glicons'; + +$icon-map: ( + 'commit-horizontal': '\f101', + 'graph': '\f102', + 'next-commit': '\f103', + 'prev-commit-menu': '\f104', + 'prev-commit': '\f105', + 'compare-ref-working': '\f106', + 'branches-view': '\f107', + 'commit-view': '\f108', + 'commits-view': '\f109', + 'compare-view': '\f10a', + 'contributors-view': '\f10b', + 'history-view': '\f10c', + 'history': '\f10c', + 'remotes-view': '\f10d', + 'repositories-view': '\f10e', + 'search-view': '\f10f', + 'stashes-view': '\f110', + 'stashes': '\f110', + 'tags-view': '\f111', + 'worktrees-view': '\f112', + 'gitlens': '\f113', + 'stash-pop': '\f114', + 'stash-save': '\f115', + 'unplug': '\f116', + 'open-revision': '\f117', + 'switch': '\f118', + 'expand': '\f119', + 'list-auto': '\f11a', + 'repo-force-push': '\f11b', + 'pinned-filled': '\f11c', + 'clock': '\f11d', + 'provider-azdo': '\f11e', + 'provider-bitbucket': '\f11f', + 'provider-gerrit': '\f120', + 'provider-gitea': '\f121', + 'provider-github': '\f122', + 'provider-gitlab': '\f123', + 'gitlens-inspect': '\f124', + 'workspaces-view': '\f125', + 'confirm-checked': '\f126', + 'confirm-unchecked': '\f127', + 'cloud-patch': '\f128', + 'cloud-patch-share': '\f129', + 'inspect': '\f12a', + 'repository-filled': '\f12b', + 'gitlens-filled': '\f12c', + 'code-suggestion': '\f12d', + 'diff-multiple': '\f12e', + 'diff-single': '\f12f', + 'repo-fetch': '\f130', + 'repo-pull': '\f131', + 'repo-push': '\f132', + 'provider-jira': '\f133', + 'play-button': '\f134', + 'rocket-filled': '\f135', + 'branches-view-filled': '\f136', + 'commits-view-filled': '\f137', + 'contributors-view-filled': '\f138', + 'remotes-view-filled': '\f139', + 'repositories-view-filled': '\f13a', + 'search-view-filled': '\f13b', + 'stashes-view-filled': '\f13c', + 'tags-view-filled': '\f13d', + 'worktrees-view-filled': '\f13e', + 'launchpad-view': '\f13f', + 'launchpad-view-filled': '\f140', +); diff --git a/src/webviews/apps/shared/styles/icons/utils.scss b/src/webviews/apps/shared/styles/icons/utils.scss new file mode 100644 index 0000000000000..f122dd708ed40 --- /dev/null +++ b/src/webviews/apps/shared/styles/icons/utils.scss @@ -0,0 +1,41 @@ +@use 'sass:map'; +@use './codicons-map' as codicons; +@use './glicons-map' as glicons; + +@function get-value($icons, $key) { + @if map.has-key($icons, $key) == false { + @error "Icon '#{$key}' not found."; + } + + @return map.get($icons, $key); +} + +@mixin get-content($icons, $key) { + $icon: get-value($icons, $key); + + content: $icon; +} + +@mixin generate-icons($icons, $prefix: '') { + @each $key, $value in $icons { + .#{$prefix}#{$key}::before { + @include get-content($icons, $key); + } + } +} + +@mixin codicon($name) { + @include get-content(codicons.$icon-map, $name); +} + +@mixin all-codicons { + @include generate-icons(codicons.$icon-map, 'codicon-'); +} + +@mixin glicon($name) { + @include get-content(glicons.$icon-map, $name); +} + +@mixin all-glicons { + @include generate-icons(glicons.$icon-map, 'glicon-'); +} From 9f1833f8ea6a0ad7954a9cfb7c61ba3986dbc3d8 Mon Sep 17 00:00:00 2001 From: Keith Daulton Date: Tue, 3 Dec 2024 15:47:33 -0500 Subject: [PATCH 15/74] Fixes worktree icon on commit graph --- src/webviews/apps/plus/graph/GraphWrapper.tsx | 2 +- src/webviews/apps/plus/graph/graph.scss | 95 +++++++------------ 2 files changed, 34 insertions(+), 63 deletions(-) diff --git a/src/webviews/apps/plus/graph/GraphWrapper.tsx b/src/webviews/apps/plus/graph/GraphWrapper.tsx index 951812b4de002..5b4620b79e670 100644 --- a/src/webviews/apps/plus/graph/GraphWrapper.tsx +++ b/src/webviews/apps/plus/graph/GraphWrapper.tsx @@ -1189,7 +1189,7 @@ export function GraphWrapper({ {!branchState?.pr ? ( branchState?.worktree ? ( ) : ( diff --git a/src/webviews/apps/plus/graph/graph.scss b/src/webviews/apps/plus/graph/graph.scss index 4b1a08300d297..175f45bb050ce 100644 --- a/src/webviews/apps/plus/graph/graph.scss +++ b/src/webviews/apps/plus/graph/graph.scss @@ -1,5 +1,6 @@ @use '../../shared/styles/theme'; @use '../../shared/styles/utils'; +@use '../../shared/styles/icons/utils' as iconUtils; @import '../../shared/base'; @import '../../shared/codicons'; @import '../../shared/glicons'; @@ -306,10 +307,10 @@ button:not([disabled]), } .codicon-custom-git-branch-create { &:before { - content: '\ea68'; + @include iconUtils.codicon('git-branch'); } &:after { - content: '\ea60'; + @include iconUtils.codicon('add'); position: absolute; right: 0; bottom: 0; @@ -657,160 +658,138 @@ button:not([disabled]), .icon { &--head { &::before { - // codicon-vm font-family: codicon; - content: '\ea7a'; + @include iconUtils.codicon('vm'); } } &--remote { &::before { - // codicon-cloud font-family: codicon; - content: '\ebaa'; + @include iconUtils.codicon('cloud'); } } &--remote-github, &--remote-githubEnterprise { &::before { - // codicon-github-inverted font-family: codicon; - content: '\eba1'; + @include iconUtils.codicon('github-inverted'); } } &--remote-gitlab, &--remote-gitlabSelfHosted { &::before { - // glicon-provider-gitlab font-family: 'glicons'; - content: '\f123'; + @include iconUtils.glicon('provider-gitlab'); } } &--remote-bitbucket, &--remote-bitbucketServer { &::before { - // glicon-provider-bitbucket font-family: 'glicons'; - content: '\f11f'; + @include iconUtils.glicon('provider-bitbucket'); } } &--remote-azureDevops { &::before { - // glicon-provider-azdo font-family: 'glicons'; - content: '\f11e'; + @include iconUtils.glicon('provider-azdo'); } } &--tag { &::before { - // codicon-tag font-family: codicon; - content: '\ea66'; + @include iconUtils.codicon('tag'); } } &--stash { &::before { - // codicon-inbox font-family: codicon; - content: '\eb09'; + @include iconUtils.codicon('inbox'); } } &--check { &::before { - // codicon-check font-family: codicon; - content: '\eab2'; + @include iconUtils.codicon('check'); } } &--warning { color: #de9b43; :before { - // codicon-vm font-family: codicon; - content: '\ea6c'; + @include iconUtils.codicon('warning'); } } &--added { &::before { - // codicon-add font-family: codicon; - content: '\ea60'; + @include iconUtils.codicon('add'); } } &--modified { &::before { - // codicon-edit font-family: codicon; - content: '\ea73'; + @include iconUtils.codicon('edit'); } } &--deleted { &::before { - // codicon-dash font-family: codicon; - content: '\eacc'; + @include iconUtils.codicon('dash'); } } &--renamed { &::before { - // codicon-file font-family: codicon; - content: '\eb60'; + @include iconUtils.codicon('file'); } } &--resolved { &::before { - // codicon-pass-filled font-family: codicon; - content: '\ebb3'; + @include iconUtils.codicon('pass-filled'); } } &--hide { &::before { - // codicon-eye-closed font-family: codicon; - content: '\eae7'; + @include iconUtils.codicon('eye-closed'); } } &--show { &::before { - // codicon-eye font-family: codicon; - content: '\ea70'; + @include iconUtils.codicon('eye'); } } &--pull-request { &::before { - // codicon-git-pull-request font-family: codicon; - content: '\ea64'; + @include iconUtils.codicon('git-pull-request'); } } &--upstream-ahead { &::before { - // codicon-arrow-up font-family: codicon; - content: '\eaa1'; + @include iconUtils.codicon('arrow-up'); } } &--upstream-behind { &::before { - // codicon-arrow-down font-family: codicon; - content: '\ea9a'; + @include iconUtils.codicon('arrow-down'); } } &--settings { &::before { - // codicon-settings-gear font-family: codicon; - content: '\eb51'; + @include iconUtils.codicon('settings-gear'); } } &--branch { &::before { - // codicon-git-branch font-family: codicon; - content: '\ea68'; + @include iconUtils.codicon('git-branch'); top: 0px; margin: 0 0 0 0; } @@ -818,17 +797,15 @@ button:not([disabled]), &--graph { &::before { - // glicon-graph font-family: glicons; - content: '\f102'; + @include iconUtils.glicon('graph'); } } &--commit { &::before { - // codicon-git-commit font-family: codicon; - content: '\eafc'; + @include iconUtils.codicon('git-commit'); top: 0px; margin: 0 0 0 0; } @@ -836,49 +813,43 @@ button:not([disabled]), &--author { &::before { - // codicon-account font-family: codicon; - content: '\eb99'; + @include iconUtils.codicon('account'); } } &--datetime { &::before { - // glicon-clock font-family: glicons; - content: '\f11d'; + @include iconUtils.glicon('clock'); } } &--message { &::before { - // codicon-comment font-family: codicon; - content: '\ea6b'; + @include iconUtils.codicon('comment'); } } &--changes { &::before { - // codicon-request-changes font-family: codicon; - content: '\eb43'; + @include iconUtils.codicon('request-changes'); } } &--files { &::before { - // codicon-file font-family: codicon; - content: '\eb60'; + @include iconUtils.codicon('file'); } } &--worktree { &::before { - // glicon-repositories-view font-family: glicons; - content: '\f10e'; + @include iconUtils.glicon('worktrees-view'); } } } From c5edf13cb003f16cbc3b3fde71c90eadc6622abc Mon Sep 17 00:00:00 2001 From: Keith Daulton Date: Tue, 3 Dec 2024 16:37:39 -0500 Subject: [PATCH 16/74] Removes duplicated codicons from glicons --- images/icons/diff-multiple.svg | 1 - images/icons/diff-single.svg | 1 - images/icons/repo-fetch.svg | 1 - images/icons/repo-force-push.svg | 1 - images/icons/repo-pull.svg | 1 - images/icons/repo-push.svg | 1 - images/icons/template/mapping.json | 6 - package.json | 66 ++------- src/commands/quickCommand.buttons.ts | 2 +- .../commitDetails/components/gl-status-nav.ts | 2 +- .../components/gl-wip-details.ts | 4 +- .../apps/plus/graph/actions/fetchButton.tsx | 2 +- .../plus/graph/actions/pushPullButton.tsx | 4 +- .../apps/plus/home/components/active-work.ts | 6 +- .../plus/home/components/branch-section.ts | 2 +- .../shared/components/icons/glicons-map.ts | 6 - src/webviews/apps/shared/glicons.scss | 20 +-- .../apps/shared/styles/icons/glicons-map.scss | 126 +++++++++--------- 18 files changed, 84 insertions(+), 168 deletions(-) delete mode 100644 images/icons/diff-multiple.svg delete mode 100644 images/icons/diff-single.svg delete mode 100644 images/icons/repo-fetch.svg delete mode 100644 images/icons/repo-force-push.svg delete mode 100644 images/icons/repo-pull.svg delete mode 100644 images/icons/repo-push.svg diff --git a/images/icons/diff-multiple.svg b/images/icons/diff-multiple.svg deleted file mode 100644 index b2f793b170800..0000000000000 --- a/images/icons/diff-multiple.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/images/icons/diff-single.svg b/images/icons/diff-single.svg deleted file mode 100644 index e5e1c9bacb0f5..0000000000000 --- a/images/icons/diff-single.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/images/icons/repo-fetch.svg b/images/icons/repo-fetch.svg deleted file mode 100644 index 1fd0ea8dd589e..0000000000000 --- a/images/icons/repo-fetch.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/images/icons/repo-force-push.svg b/images/icons/repo-force-push.svg deleted file mode 100644 index 15878f3d3d21e..0000000000000 --- a/images/icons/repo-force-push.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/images/icons/repo-pull.svg b/images/icons/repo-pull.svg deleted file mode 100644 index e28c1240cda95..0000000000000 --- a/images/icons/repo-pull.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/images/icons/repo-push.svg b/images/icons/repo-push.svg deleted file mode 100644 index 878d60ae0fac3..0000000000000 --- a/images/icons/repo-push.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/images/icons/template/mapping.json b/images/icons/template/mapping.json index 59174b8aa8e57..766c1bdd24b93 100644 --- a/images/icons/template/mapping.json +++ b/images/icons/template/mapping.json @@ -27,7 +27,6 @@ "switch": 61720, "expand": 61721, "list-auto": 61722, - "repo-force-push": 61723, "pinned-filled": 61724, "clock": 61725, "provider-azdo": 61726, @@ -46,11 +45,6 @@ "repository-filled": 61739, "gitlens-filled": 61740, "code-suggestion": 61741, - "diff-multiple": 61742, - "diff-single": 61743, - "repo-fetch": 61744, - "repo-pull": 61745, - "repo-push": 61746, "provider-jira": 61747, "play-button": 61748, "rocket-filled": 61749, diff --git a/package.json b/package.json index c628b83e0e2db..19a51758c20dd 100644 --- a/package.json +++ b/package.json @@ -7014,21 +7014,21 @@ "command": "gitlens.fetchRepositories", "title": "Fetch", "category": "GitLens", - "icon": "$(gitlens-repo-fetch)", + "icon": "$(repo-fetch)", "enablement": "!operationInProgress" }, { "command": "gitlens.pullRepositories", "title": "Pull", "category": "GitLens", - "icon": "$(gitlens-repo-pull)", + "icon": "$(repo-pull)", "enablement": "!operationInProgress" }, { "command": "gitlens.pushRepositories", "title": "Push", "category": "GitLens", - "icon": "$(gitlens-repo-push)", + "icon": "$(repo-push)", "enablement": "!operationInProgress" }, { @@ -7112,7 +7112,7 @@ { "command": "gitlens.views.fetch", "title": "Fetch", - "icon": "$(gitlens-repo-fetch)", + "icon": "$(repo-fetch)", "enablement": "!operationInProgress" }, { @@ -7130,19 +7130,19 @@ { "command": "gitlens.views.pull", "title": "Pull", - "icon": "$(gitlens-repo-pull)", + "icon": "$(repo-pull)", "enablement": "!operationInProgress" }, { "command": "gitlens.views.push", "title": "Push", - "icon": "$(gitlens-repo-push)", + "icon": "$(repo-push)", "enablement": "!operationInProgress" }, { "command": "gitlens.views.pushWithForce", "title": "Push (force)", - "icon": "$(gitlens-repo-force-push)", + "icon": "$(repo-force-push)", "enablement": "!operationInProgress" }, { @@ -7482,7 +7482,7 @@ { "command": "gitlens.views.pushToCommit", "title": "Push to Commit...", - "icon": "$(gitlens-repo-push)", + "icon": "$(repo-push)", "enablement": "!operationInProgress" }, { @@ -8829,25 +8829,25 @@ { "command": "gitlens.graph.push", "title": "Push", - "icon": "$(gitlens-repo-push)", + "icon": "$(repo-push)", "enablement": "!operationInProgress" }, { "command": "gitlens.graph.pull", "title": "Pull", - "icon": "$(gitlens-repo-pull)", + "icon": "$(repo-pull)", "enablement": "!operationInProgress" }, { "command": "gitlens.graph.pushWithForce", "title": "Push (force)", - "icon": "$(gitlens-repo-force-push)", + "icon": "$(repo-force-push)", "enablement": "!operationInProgress" }, { "command": "gitlens.graph.fetch", "title": "Fetch", - "icon": "$(gitlens-repo-fetch)", + "icon": "$(repo-fetch)", "enablement": "!operationInProgress" }, { @@ -9513,13 +9513,6 @@ "fontCharacter": "\\f11a" } }, - "gitlens-repo-force-push": { - "description": "repo-force-push icon", - "default": { - "fontPath": "dist/glicons.woff2", - "fontCharacter": "\\f11b" - } - }, "gitlens-pinned-filled": { "description": "pinned-filled icon", "default": { @@ -9646,41 +9639,6 @@ "fontCharacter": "\\f12d" } }, - "gitlens-diff-multiple": { - "description": "diff-multiple icon", - "default": { - "fontPath": "dist/glicons.woff2", - "fontCharacter": "\\f12e" - } - }, - "gitlens-diff-single": { - "description": "diff-single icon", - "default": { - "fontPath": "dist/glicons.woff2", - "fontCharacter": "\\f12f" - } - }, - "gitlens-repo-fetch": { - "description": "repo-fetch icon", - "default": { - "fontPath": "dist/glicons.woff2", - "fontCharacter": "\\f130" - } - }, - "gitlens-repo-pull": { - "description": "repo-pull icon", - "default": { - "fontPath": "dist/glicons.woff2", - "fontCharacter": "\\f131" - } - }, - "gitlens-repo-push": { - "description": "repo-push icon", - "default": { - "fontPath": "dist/glicons.woff2", - "fontCharacter": "\\f132" - } - }, "gitlens-provider-jira": { "description": "provider-jira icon", "default": { diff --git a/src/commands/quickCommand.buttons.ts b/src/commands/quickCommand.buttons.ts index 88015bb4d0b98..5afc74056adfe 100644 --- a/src/commands/quickCommand.buttons.ts +++ b/src/commands/quickCommand.buttons.ts @@ -73,7 +73,7 @@ export const FeedbackQuickInputButton: QuickInputButton = { }; export const FetchQuickInputButton: QuickInputButton = { - iconPath: new ThemeIcon('gitlens-repo-fetch'), + iconPath: new ThemeIcon('repo-fetch'), tooltip: 'Fetch', }; diff --git a/src/webviews/apps/commitDetails/components/gl-status-nav.ts b/src/webviews/apps/commitDetails/components/gl-status-nav.ts index 1c6d3f65b0bf7..9324d74b2b984 100644 --- a/src/webviews/apps/commitDetails/components/gl-status-nav.ts +++ b/src/webviews/apps/commitDetails/components/gl-status-nav.ts @@ -140,7 +140,7 @@ export class GlStatusNav extends LitElement { `; diff --git a/src/webviews/apps/commitDetails/components/gl-wip-details.ts b/src/webviews/apps/commitDetails/components/gl-wip-details.ts index 7fc0d90a15707..5e7b79d87c0f1 100644 --- a/src/webviews/apps/commitDetails/components/gl-wip-details.ts +++ b/src/webviews/apps/commitDetails/components/gl-wip-details.ts @@ -205,7 +205,7 @@ export class GlWipDetails extends GlDetailsBase { if (ahead === 0 && behind === 0) return undefined; const fetchLabel = behind > 0 ? 'Pull' : ahead > 0 ? 'Push' : 'Fetch'; - const fetchIcon = behind > 0 ? 'gl-repo-pull' : ahead > 0 ? 'gl-repo-push' : 'gl-repo-fetch'; + const fetchIcon = behind > 0 ? 'repo-pull' : ahead > 0 ? 'repo-push' : 'repo-fetch'; return html`

@@ -278,7 +278,7 @@ export class GlWipDetails extends GlDetailsBase { this.onDataActionClick('open-pr-changes')} > - + Fetch {fetchedText && ({fetchedText})} diff --git a/src/webviews/apps/plus/graph/actions/pushPullButton.tsx b/src/webviews/apps/plus/graph/actions/pushPullButton.tsx index db9aa677f6180..80df3a14f680e 100644 --- a/src/webviews/apps/plus/graph/actions/pushPullButton.tsx +++ b/src/webviews/apps/plus/graph/actions/pushPullButton.tsx @@ -42,7 +42,7 @@ export const PushPullButton = ({ if (isBehind) { action = 'pull'; - icon = 'glicon glicon-repo-pull'; + icon = 'codicon codicon-repo-pull'; label = 'Pull'; tooltip = ( <> @@ -72,7 +72,7 @@ export const PushPullButton = ({ } } else { action = 'push'; - icon = 'glicon glicon-repo-push'; + icon = 'codicon codicon-repo-push'; label = 'Push'; tooltip = ( <> diff --git a/src/webviews/apps/plus/home/components/active-work.ts b/src/webviews/apps/plus/home/components/active-work.ts index 2de21c887205b..e82d59d140698 100644 --- a/src/webviews/apps/plus/home/components/active-work.ts +++ b/src/webviews/apps/plus/home/components/active-work.ts @@ -133,7 +133,7 @@ export class GlActiveWork extends SignalWatcher(LitElement) { appearance="toolbar" tooltip="Fetch" href=${createCommandLink('gitlens.home.fetch', undefined)} - > ${when( this._homeState.repositories.openCount > 1, @@ -302,7 +302,7 @@ export class GlActiveWork extends SignalWatcher(LitElement) { full appearance="secondary" tooltip=${pullTooltip} - > Pull + > Pull Pull + > Pull `, ); diff --git a/src/webviews/apps/shared/components/icons/glicons-map.ts b/src/webviews/apps/shared/components/icons/glicons-map.ts index 67fb9e02b6314..95e7ffab6ee43 100644 --- a/src/webviews/apps/shared/components/icons/glicons-map.ts +++ b/src/webviews/apps/shared/components/icons/glicons-map.ts @@ -32,7 +32,6 @@ export const iconMap = Object.freeze({ 'switch': '\\f118', 'expand': '\\f119', 'list-auto': '\\f11a', - 'repo-force-push': '\\f11b', 'pinned-filled': '\\f11c', 'clock': '\\f11d', 'provider-azdo': '\\f11e', @@ -51,11 +50,6 @@ export const iconMap = Object.freeze({ 'repository-filled': '\\f12b', 'gitlens-filled': '\\f12c', 'code-suggestion': '\\f12d', - 'diff-multiple': '\\f12e', - 'diff-single': '\\f12f', - 'repo-fetch': '\\f130', - 'repo-pull': '\\f131', - 'repo-push': '\\f132', 'provider-jira': '\\f133', 'play-button': '\\f134', 'rocket-filled': '\\f135', diff --git a/src/webviews/apps/shared/glicons.scss b/src/webviews/apps/shared/glicons.scss index 968ddae23a510..9638368b96c8e 100644 --- a/src/webviews/apps/shared/glicons.scss +++ b/src/webviews/apps/shared/glicons.scss @@ -6,7 +6,7 @@ Must be placed at the end of body in the HTML file of any webview that needs it @font-face { font-family: 'glicons'; font-display: block; - src: url("#{root}/dist/glicons.woff2?888557bf00e2cc234c92d4643f1f0051") format("woff2"); + src: url("#{root}/dist/glicons.woff2?06e3d32fa68f664ff5fe0141040111d0") format("woff2"); } */ @@ -143,9 +143,6 @@ Must be placed at the end of body in the HTML file of any webview that needs it .glicon-list-auto:before { content: '\f11a'; } -.glicon-repo-force-push:before { - content: '\f11b'; -} .glicon-pinned-filled:before { content: '\f11c'; } @@ -200,21 +197,6 @@ Must be placed at the end of body in the HTML file of any webview that needs it .glicon-code-suggestion:before { content: '\f12d'; } -.glicon-diff-multiple:before { - content: '\f12e'; -} -.glicon-diff-single:before { - content: '\f12f'; -} -.glicon-repo-fetch:before { - content: '\f130'; -} -.glicon-repo-pull:before { - content: '\f131'; -} -.glicon-repo-push:before { - content: '\f132'; -} .glicon-provider-jira:before { content: '\f133'; } diff --git a/src/webviews/apps/shared/styles/icons/glicons-map.scss b/src/webviews/apps/shared/styles/icons/glicons-map.scss index ddacd3bc38600..e3f51ed7ca9d3 100644 --- a/src/webviews/apps/shared/styles/icons/glicons-map.scss +++ b/src/webviews/apps/shared/styles/icons/glicons-map.scss @@ -4,70 +4,64 @@ $icon-font-family: 'glicons'; $icon-map: ( - 'commit-horizontal': '\f101', - 'graph': '\f102', - 'next-commit': '\f103', - 'prev-commit-menu': '\f104', - 'prev-commit': '\f105', - 'compare-ref-working': '\f106', - 'branches-view': '\f107', - 'commit-view': '\f108', - 'commits-view': '\f109', - 'compare-view': '\f10a', - 'contributors-view': '\f10b', - 'history-view': '\f10c', - 'history': '\f10c', - 'remotes-view': '\f10d', - 'repositories-view': '\f10e', - 'search-view': '\f10f', - 'stashes-view': '\f110', - 'stashes': '\f110', - 'tags-view': '\f111', - 'worktrees-view': '\f112', - 'gitlens': '\f113', - 'stash-pop': '\f114', - 'stash-save': '\f115', - 'unplug': '\f116', - 'open-revision': '\f117', - 'switch': '\f118', - 'expand': '\f119', - 'list-auto': '\f11a', - 'repo-force-push': '\f11b', - 'pinned-filled': '\f11c', - 'clock': '\f11d', - 'provider-azdo': '\f11e', - 'provider-bitbucket': '\f11f', - 'provider-gerrit': '\f120', - 'provider-gitea': '\f121', - 'provider-github': '\f122', - 'provider-gitlab': '\f123', - 'gitlens-inspect': '\f124', - 'workspaces-view': '\f125', - 'confirm-checked': '\f126', - 'confirm-unchecked': '\f127', - 'cloud-patch': '\f128', - 'cloud-patch-share': '\f129', - 'inspect': '\f12a', - 'repository-filled': '\f12b', - 'gitlens-filled': '\f12c', - 'code-suggestion': '\f12d', - 'diff-multiple': '\f12e', - 'diff-single': '\f12f', - 'repo-fetch': '\f130', - 'repo-pull': '\f131', - 'repo-push': '\f132', - 'provider-jira': '\f133', - 'play-button': '\f134', - 'rocket-filled': '\f135', - 'branches-view-filled': '\f136', - 'commits-view-filled': '\f137', - 'contributors-view-filled': '\f138', - 'remotes-view-filled': '\f139', - 'repositories-view-filled': '\f13a', - 'search-view-filled': '\f13b', - 'stashes-view-filled': '\f13c', - 'tags-view-filled': '\f13d', - 'worktrees-view-filled': '\f13e', - 'launchpad-view': '\f13f', - 'launchpad-view-filled': '\f140', + 'commit-horizontal': '\f101', + 'graph': '\f102', + 'next-commit': '\f103', + 'prev-commit-menu': '\f104', + 'prev-commit': '\f105', + 'compare-ref-working': '\f106', + 'branches-view': '\f107', + 'commit-view': '\f108', + 'commits-view': '\f109', + 'compare-view': '\f10a', + 'contributors-view': '\f10b', + 'history-view': '\f10c', + 'history': '\f10c', + 'remotes-view': '\f10d', + 'repositories-view': '\f10e', + 'search-view': '\f10f', + 'stashes-view': '\f110', + 'stashes': '\f110', + 'tags-view': '\f111', + 'worktrees-view': '\f112', + 'gitlens': '\f113', + 'stash-pop': '\f114', + 'stash-save': '\f115', + 'unplug': '\f116', + 'open-revision': '\f117', + 'switch': '\f118', + 'expand': '\f119', + 'list-auto': '\f11a', + 'pinned-filled': '\f11c', + 'clock': '\f11d', + 'provider-azdo': '\f11e', + 'provider-bitbucket': '\f11f', + 'provider-gerrit': '\f120', + 'provider-gitea': '\f121', + 'provider-github': '\f122', + 'provider-gitlab': '\f123', + 'gitlens-inspect': '\f124', + 'workspaces-view': '\f125', + 'confirm-checked': '\f126', + 'confirm-unchecked': '\f127', + 'cloud-patch': '\f128', + 'cloud-patch-share': '\f129', + 'inspect': '\f12a', + 'repository-filled': '\f12b', + 'gitlens-filled': '\f12c', + 'code-suggestion': '\f12d', + 'provider-jira': '\f133', + 'play-button': '\f134', + 'rocket-filled': '\f135', + 'branches-view-filled': '\f136', + 'commits-view-filled': '\f137', + 'contributors-view-filled': '\f138', + 'remotes-view-filled': '\f139', + 'repositories-view-filled': '\f13a', + 'search-view-filled': '\f13b', + 'stashes-view-filled': '\f13c', + 'tags-view-filled': '\f13d', + 'worktrees-view-filled': '\f13e', + 'launchpad-view': '\f13f', + 'launchpad-view-filled': '\f140', ); From 267d36caa79967a20a16424385026e060ae886d4 Mon Sep 17 00:00:00 2001 From: Keith Daulton Date: Tue, 3 Dec 2024 18:32:57 -0500 Subject: [PATCH 17/74] Removes codicon and glicon classes and css from the graph --- src/webviews/apps/plus/graph/GraphWrapper.tsx | 80 +++++++++---------- .../apps/plus/graph/actions/fetchButton.tsx | 3 +- .../plus/graph/actions/pushPullButton.tsx | 13 +-- src/webviews/apps/plus/graph/graph.scss | 39 ++------- 4 files changed, 54 insertions(+), 81 deletions(-) diff --git a/src/webviews/apps/plus/graph/GraphWrapper.tsx b/src/webviews/apps/plus/graph/GraphWrapper.tsx index 5b4620b79e670..5ccbe7f3c2cdd 100644 --- a/src/webviews/apps/plus/graph/GraphWrapper.tsx +++ b/src/webviews/apps/plus/graph/GraphWrapper.tsx @@ -1044,14 +1044,16 @@ export function GraphWrapper({ }) } > -

Switch to Another Branch...
- {' '} +
@@ -1223,7 +1220,7 @@ export function GraphWrapper({ - + - + - Create New Branch from + Create New Branch from + {branchName} @@ -1263,7 +1261,7 @@ export function GraphWrapper({ )}`} className="action-button" > - + @@ -1320,11 +1318,12 @@ export function GraphWrapper({ > Graph Filtering @@ -1421,7 +1420,7 @@ export function GraphWrapper({ aria-checked={graphConfig?.minimap ?? false} onClick={handleOnMinimapToggle} > - + Toggle Minimap @@ -1434,10 +1433,11 @@ export function GraphWrapper({ > Minimap Options diff --git a/src/webviews/apps/plus/graph/actions/fetchButton.tsx b/src/webviews/apps/plus/graph/actions/fetchButton.tsx index 03d3851d07136..bc68bbe0d933a 100644 --- a/src/webviews/apps/plus/graph/actions/fetchButton.tsx +++ b/src/webviews/apps/plus/graph/actions/fetchButton.tsx @@ -2,6 +2,7 @@ import type { ReactNode } from 'react'; import React from 'react'; import type { BranchState, State } from '../../../../../plus/webviews/graph/protocol'; import { createWebviewCommandLink } from '../../../../../system/webview'; +import { CodeIcon } from '../../../shared/components/code-icon.react'; import { GlTooltip } from '../../../shared/components/overlays/tooltip.react'; export const FetchButton = ({ @@ -21,7 +22,7 @@ export const FetchButton = ({ href={createWebviewCommandLink('gitlens.graph.fetch', state.webviewId, state.webviewInstanceId)} className="action-button" > - + Fetch {fetchedText && ({fetchedText})} diff --git a/src/webviews/apps/plus/graph/actions/pushPullButton.tsx b/src/webviews/apps/plus/graph/actions/pushPullButton.tsx index 80df3a14f680e..b0e2d625c631a 100644 --- a/src/webviews/apps/plus/graph/actions/pushPullButton.tsx +++ b/src/webviews/apps/plus/graph/actions/pushPullButton.tsx @@ -3,6 +3,7 @@ import React from 'react'; import type { BranchState, State } from '../../../../../plus/webviews/graph/protocol'; import { pluralize } from '../../../../../system/string'; import { createWebviewCommandLink } from '../../../../../system/webview'; +import { CodeIcon } from '../../../shared/components/code-icon.react'; import { GlTooltip } from '../../../shared/components/overlays/tooltip.react'; export const PushPullButton = ({ @@ -42,7 +43,7 @@ export const PushPullButton = ({ if (isBehind) { action = 'pull'; - icon = 'codicon codicon-repo-pull'; + icon = 'repo-pull'; label = 'Pull'; tooltip = ( <> @@ -72,7 +73,7 @@ export const PushPullButton = ({ } } else { action = 'push'; - icon = 'codicon codicon-repo-push'; + icon = 'repo-push'; label = 'Push'; tooltip = ( <> @@ -91,21 +92,21 @@ export const PushPullButton = ({ href={createWebviewCommandLink(`gitlens.graph.${action}`, state.webviewId, state.webviewInstanceId)} className={`action-button${isBehind ? ' is-behind' : ''}${isAhead ? ' is-ahead' : ''}`} > - + {label} {isBehind && ( {branchState.behind} - + )} {isAhead && ( {isBehind && <>  } {branchState.ahead} - + )} @@ -131,7 +132,7 @@ export const PushPullButton = ({ className="action-button" aria-label="Force Push" > - +