Replace custom images with Themable Codicons#448
Open
JustinGrote wants to merge 4 commits intogithub:mainfrom
Open
Replace custom images with Themable Codicons#448JustinGrote wants to merge 4 commits intogithub:mainfrom
JustinGrote wants to merge 4 commits intogithub:mainfrom
Conversation
There was a problem hiding this comment.
PR Overview
This PR replaces custom image-based icons with VSCode Themable Codicons to provide a cleaner, more consistent visual style that supports theming. Key changes include:
- Introducing new type definitions for VSCode theme icons and theme colors.
- Migrating existing icon lookup functions from custom images to a pattern‑matching based themable icon function.
- Updating all relevant tree view nodes to use the new themable icon API.
Reviewed Changes
| File | Description |
|---|---|
| eslint.config.mjs | Added ESLint configuration utilizing the latest TS/JS linting settings |
| src/treeViews/shared/vscodeThemeIcon.ts | Introduces a union type for supported VSCode testing theme icons |
| src/treeViews/shared/vscodeThemeColor.ts | Introduces a union type for supported VSCode testing theme colors |
| src/treeViews/icons.ts | Migrates icon mapping to use ts‑pattern for themable icons |
| src/treeViews/shared/workflowRunNode.ts | Updates icon lookup to use the new themable icon function |
| src/treeViews/shared/attemptNode.ts | Updates icon lookup to use the new themable icon function |
| src/treeViews/shared/workflowJobNode.ts | Updates icon lookup to use the new themable icon function |
| src/treeViews/workflows/workflowStepNode.ts | Updates icon lookup to use the new themable icon function |
Copilot reviewed 58 out of 58 changed files in this pull request and generated no comments.
Comments suppressed due to low confidence (1)
src/treeViews/icons.ts:33
- [nitpick] The mapping for the 'cancelled' status reuses the theme color for skipped states. Consider reviewing if this is intentional or if a dedicated themable color should be used, and add a clarifying comment if necessary.
.with({status: "completed", conclusion: "cancelled"}, () => ["circle-slash", "testing.iconSkipped"])
8c69d50 to
6b26bb5
Compare
Author
|
@AnthonyBorton please review, thanks :) |
- Bump latest esbuild version explicity - Set CI Node to VSCode 1.98.0 Node Version - Fixup vscode tooling and enable format-on-save - Apply prettier configuration for whitespace remediation - Suppress new typescript warnings from newer TS version, to be fixed later
6b26bb5 to
c4d1902
Compare
c4d1902 to
1a2679d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements VSCode Themable Icons and Themable Colors mostly based on the newer Testing icons to produce a cleaner, more consistent and integrated visual look and feel, which can also be themed by theme authors accordingly.
Includes #450 as a dependency
Recording.2025-03-07.121526.mp4
Supporting changes:
ts-patternpackage for pattern matching of icon status to replace convoluted switch statements