github / github/copilot-cli

Feature Request: Fine-grained per-element theming (border colors, chevron, prompt vs response foreground)

Đang mở
#2,123 1 bình luận 2 reaction 0 người được giao Xem trên GitHub
area:theming-accessibility
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

### Describe the feature or problem you'd like to solve

The `/theme` command currently supports three high-level modes (`auto`, `dark`, `light`) that control overall ANSI color contrast — which is great for a baseline. It would be wonderful to take this further with **fine-grained theming** that allows customizing the appearance of individual UI elements. This would help users visually distinguish between user prompts, assistant responses, status indicators, and tool output — especially during long sessions where scrolling back to find specific parts of the conversation can be challenging.

### Proposed solution

It would be great to support per-element styling overrides in `config.json` (or a dedicated `theme.json` file). We can think along the lines of:

| UI Element | Customization |
|---|---|
| **User prompt text** | Foreground color |
| **Assistant response text** | Foreground color |
| **User chevron/icon (❯)** | Color, optionally the character itself |
| **Prompt input border / frame** | Border color, style |
| **"Thinking" / status indicators** | Foreground color, animation style |
| **Tool execution output** | Foreground color (muted vs. primary) |
| **Diff view** | Addition/deletion colors |
| **Code blocks** | Background and foreground colors |
| **Timeline / progress bars** | Accent color |

A possible `config.json` structure could look like:

```json
{
"theme": "dark",
"themeOverrides": {
"userPromptFg": "green",
"assistantResponseFg": "white",
"userChevronColor": "cyan",
"promptBorderColor": "blue",
"thinkingIndicatorFg": "yellow",
"toolOutputFg": "gray",
"diffAddFg": "#22c55e",
"diffRemoveFg": "#ef4444",
"codeBlockBg": "#1e1e2e"
}
}
```

Supporting both named ANSI colors (`"green"`, `"cyan"`) and hex values (`"#00FF00"`) for true-color terminals would make this flexible for a wide range of setups.

### Example prompts or workflows

1. Users who want their prompts to **stand out** could set `userPromptFg: "green"` and `promptBorderColor: "cyan"` while keeping responses in default white — making it easy to scroll back and locate what was typed.
2. Streamers could create visually appealing themes with branded accent colors.
3. Users with accessibility needs could increase contrast on specific elements without changing the entire terminal color scheme.
4. Teams could create and share theme JSON files for a consistent experience.

### Additional context

- **Environment:** Windows, Windows Terminal, Copilot CLI latest

---

*This issue was created using GitHub Copilot CLI 😃*

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.