icons from extensions, settings-based tab ordering, static context tabs

Icons now declared on TabContribution via the icon field — the
hardcoded switch in _BottomRail is a fallback only. All sidebar
and context extensions set their Phosphor icon explicitly.

PanelRegistry supports setTabOrder(slot, List<String>) — tabs
render in the order specified by project.layout.sidebar.order /
context.order in settings.yaml. Falls back to registration order.
Priority field removed from all contributions.

Context tabs are static again — persist with their last content,
selection just loads new data and switches focus. No spawn/despawn.

Tickets sidebar priority set to -200 (leftmost, default open).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-23 16:37:32 +02:00
co-authored by Claude Opus 4.6
parent bd00990e1d
commit 6dcb24144e
8 changed files with 66 additions and 173 deletions
+2
View File
@@ -2,6 +2,7 @@ import 'package:clide/builtin/git/src/git_panel_view.dart';
import 'package:clide/builtin/git/src/git_status_item.dart';
import 'package:clide/extension/extension.dart';
import 'package:clide/kernel/kernel.dart';
import 'package:clide/widgets/widgets.dart';
class GitExtension extends ClideExtension {
@override
@@ -19,6 +20,7 @@ class GitExtension extends ClideExtension {
id: 'git.panel',
slot: Slots.sidebar,
title: 'Git',
icon: PhosphorIcons.gitBranch,
titleKey: 'tab.title',
i18nNamespace: id,
priority: -80,