@phoenix-wing/code-core 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +3 -1
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/pnwCodeIgnore.d.ts +26 -0
  7. package/dist/pnwCodeIgnore.d.ts.map +1 -0
  8. package/dist/pnwCodeIgnore.js +115 -0
  9. package/dist/pnwCodeIgnore.js.map +1 -0
  10. package/dist/pnwCodeRenamePlan.d.ts.map +1 -1
  11. package/dist/pnwCodeRenamePlan.js +9 -16
  12. package/dist/pnwCodeRenamePlan.js.map +1 -1
  13. package/dist/pnwCodeReplacementRules.d.ts +40 -0
  14. package/dist/pnwCodeReplacementRules.d.ts.map +1 -0
  15. package/dist/pnwCodeReplacementRules.js +87 -0
  16. package/dist/pnwCodeReplacementRules.js.map +1 -0
  17. package/dist/ui/PnwCodeRenameResultsPanel.d.ts +40 -0
  18. package/dist/ui/PnwCodeRenameResultsPanel.d.ts.map +1 -0
  19. package/dist/ui/PnwCodeRenameResultsPanel.js +120 -0
  20. package/dist/ui/PnwCodeRenameResultsPanel.js.map +1 -0
  21. package/dist/ui/PnwCodeRenameResultsState.d.ts +59 -0
  22. package/dist/ui/PnwCodeRenameResultsState.d.ts.map +1 -0
  23. package/dist/ui/PnwCodeRenameResultsState.js +87 -0
  24. package/dist/ui/PnwCodeRenameResultsState.js.map +1 -0
  25. package/dist/ui/PnwCodeReorderMembersPanel.d.ts +38 -0
  26. package/dist/ui/PnwCodeReorderMembersPanel.d.ts.map +1 -0
  27. package/dist/ui/PnwCodeReorderMembersPanel.js +216 -0
  28. package/dist/ui/PnwCodeReorderMembersPanel.js.map +1 -0
  29. package/dist/ui/PnwCodeReorderMembersPanelState.d.ts +57 -0
  30. package/dist/ui/PnwCodeReorderMembersPanelState.d.ts.map +1 -0
  31. package/dist/ui/PnwCodeReorderMembersPanelState.js +71 -0
  32. package/dist/ui/PnwCodeReorderMembersPanelState.js.map +1 -0
  33. package/dist/ui/PnwCodeUuidResultsPanel.d.ts +63 -0
  34. package/dist/ui/PnwCodeUuidResultsPanel.d.ts.map +1 -0
  35. package/dist/ui/PnwCodeUuidResultsPanel.js +193 -0
  36. package/dist/ui/PnwCodeUuidResultsPanel.js.map +1 -0
  37. package/dist/ui/PnwCodeUuidResultsState.d.ts +47 -0
  38. package/dist/ui/PnwCodeUuidResultsState.d.ts.map +1 -0
  39. package/dist/ui/PnwCodeUuidResultsState.js +84 -0
  40. package/dist/ui/PnwCodeUuidResultsState.js.map +1 -0
  41. package/dist/ui/index.d.ts +5 -0
  42. package/dist/ui/index.d.ts.map +1 -0
  43. package/dist/ui/index.js +6 -0
  44. package/dist/ui/index.js.map +1 -0
  45. package/dist/ui/model.d.ts +4 -0
  46. package/dist/ui/model.d.ts.map +1 -0
  47. package/dist/ui/model.js +5 -0
  48. package/dist/ui/model.js.map +1 -0
  49. package/package.json +9 -1
  50. package/src/fixtures/pnx_bom_analysis_cmd_min.cpp +42 -2
  51. package/src/fixtures/pnx_bom_analysis_param_min.h +19 -3
  52. package/src/index.ts +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PnwCodeRenameResultsPanel.js","sourceRoot":"","sources":["../../src/ui/PnwCodeRenameResultsPanel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ export type PnwCodeRenameResultLevel = "dir" | "file" | "text";
2
+ export type PnwCodeRenameResultMatch = {
3
+ readonly search: string;
4
+ readonly replace: string;
5
+ };
6
+ export type PnwCodeRenameResultHit = {
7
+ readonly id: string;
8
+ readonly relativePath: string;
9
+ readonly originalPath?: string;
10
+ readonly plannedPath?: string;
11
+ readonly targetPath?: string;
12
+ readonly level: PnwCodeRenameResultLevel;
13
+ readonly occurrences: number;
14
+ readonly lines?: readonly number[];
15
+ readonly encoding?: string;
16
+ readonly status: string;
17
+ readonly detail?: string;
18
+ readonly matches?: readonly PnwCodeRenameResultMatch[];
19
+ };
20
+ export type PnwCodeRenameResultState = {
21
+ readonly root: string;
22
+ readonly applied: boolean;
23
+ readonly hits: readonly PnwCodeRenameResultHit[];
24
+ };
25
+ export type PnwCodeRenameResultTone = "neutral" | "success" | "warning" | "danger";
26
+ export type PnwCodeRenameResultRow = {
27
+ readonly id: string;
28
+ readonly level: PnwCodeRenameResultLevel;
29
+ readonly levelLabel: string;
30
+ readonly relativePath: string;
31
+ readonly sourceName: string;
32
+ readonly sourceAddress: string;
33
+ readonly targetOrPositionLabel: string;
34
+ readonly originalPath: string;
35
+ readonly plannedPath: string;
36
+ readonly openPath: string;
37
+ readonly openLine?: number;
38
+ readonly occurrences: number;
39
+ readonly encodingLabel: string;
40
+ readonly status: string;
41
+ readonly statusLabel: string;
42
+ readonly statusTone: PnwCodeRenameResultTone;
43
+ readonly detail?: string;
44
+ readonly sourceHighlightTerms: readonly string[];
45
+ readonly editorHighlightTerms: readonly string[];
46
+ };
47
+ export type PnwCodeRenameResultPage = {
48
+ readonly root: string;
49
+ readonly applied: boolean;
50
+ readonly rows: readonly PnwCodeRenameResultRow[];
51
+ readonly offset: number;
52
+ readonly totalRows: number;
53
+ readonly nextOffset?: number;
54
+ };
55
+ /** Project Host-specific rename hits into one stable, presentation-ready result vocabulary. */
56
+ export declare function pnwCodeProjectRenameResults(state: PnwCodeRenameResultState): readonly PnwCodeRenameResultRow[];
57
+ export declare function pnwCodePageRenameResults(state: PnwCodeRenameResultState, requestedOffset?: number, requestedPageSize?: number): PnwCodeRenameResultPage;
58
+ export declare function pnwCodePageRenameResultRows(root: string, applied: boolean, allRows: readonly PnwCodeRenameResultRow[], requestedOffset?: number, requestedPageSize?: number): PnwCodeRenameResultPage;
59
+ //# sourceMappingURL=PnwCodeRenameResultsState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PnwCodeRenameResultsState.d.ts","sourceRoot":"","sources":["../../src/ui/PnwCodeRenameResultsState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ const LEVEL_LABELS = {
2
+ dir: "文件夹",
3
+ file: "文件",
4
+ text: "文本",
5
+ };
6
+ const STATUS_PRESENTATION = {
7
+ preview: { label: "预览", tone: "neutral" },
8
+ pending: { label: "待写盘", tone: "neutral" },
9
+ applied: { label: "已替换", tone: "success" },
10
+ skipped: { label: "已跳过", tone: "warning" },
11
+ missing: { label: "缺失", tone: "warning" },
12
+ conflict: { label: "冲突", tone: "danger" },
13
+ error: { label: "错误", tone: "danger" },
14
+ "encoding-error": { label: "编码错误", tone: "danger" },
15
+ };
16
+ function pathParts(value) {
17
+ const normalized = value.replace(/\\/g, "/").replace(/^\.\//, "");
18
+ const index = normalized.lastIndexOf("/");
19
+ return index < 0
20
+ ? { name: normalized, parent: "." }
21
+ : { name: normalized.slice(index + 1), parent: normalized.slice(0, index) || "." };
22
+ }
23
+ function lineSummary(lines) {
24
+ if (lines.length === 0)
25
+ return "—";
26
+ const shown = lines.slice(0, 4).map((line) => `L${line}`).join(", ");
27
+ return lines.length > 4 ? `${shown},……等 ${lines.length} 处` : shown;
28
+ }
29
+ function uniqueTerms(values) {
30
+ return [...new Set(values.map((value) => value.trim()).filter(Boolean))];
31
+ }
32
+ /** Project Host-specific rename hits into one stable, presentation-ready result vocabulary. */
33
+ export function pnwCodeProjectRenameResults(state) {
34
+ return state.hits.map((hit) => {
35
+ const source = pathParts(hit.relativePath);
36
+ const target = pathParts(hit.targetPath ?? hit.relativePath);
37
+ const presentation = STATUS_PRESENTATION[hit.status] ?? { label: hit.status, tone: "neutral" };
38
+ const originalPath = hit.originalPath ?? hit.relativePath;
39
+ const plannedPath = hit.plannedPath ?? hit.targetPath ?? originalPath;
40
+ const sourceHighlightTerms = uniqueTerms((hit.matches ?? []).map((match) => match.search));
41
+ const editorHighlightTerms = uniqueTerms((hit.matches ?? [])
42
+ .map((match) => state.applied ? match.replace : match.search));
43
+ return {
44
+ id: hit.id,
45
+ level: hit.level,
46
+ levelLabel: LEVEL_LABELS[hit.level],
47
+ relativePath: hit.relativePath,
48
+ sourceName: source.name,
49
+ sourceAddress: source.parent,
50
+ targetOrPositionLabel: hit.level === "text" ? lineSummary(hit.lines ?? []) : target.name,
51
+ originalPath,
52
+ plannedPath,
53
+ openPath: state.applied && hit.status === "applied" ? plannedPath : originalPath,
54
+ openLine: hit.lines?.[0],
55
+ occurrences: hit.occurrences,
56
+ encodingLabel: hit.encoding ?? "",
57
+ status: hit.status,
58
+ statusLabel: presentation.label,
59
+ statusTone: presentation.tone,
60
+ detail: presentation.tone === "danger" || hit.status === "skipped" || hit.status === "missing"
61
+ ? hit.detail
62
+ : undefined,
63
+ sourceHighlightTerms,
64
+ editorHighlightTerms,
65
+ };
66
+ });
67
+ }
68
+ export function pnwCodePageRenameResults(state, requestedOffset = 0, requestedPageSize = 300) {
69
+ return pnwCodePageRenameResultRows(state.root, state.applied, pnwCodeProjectRenameResults(state), requestedOffset, requestedPageSize);
70
+ }
71
+ export function pnwCodePageRenameResultRows(root, applied, allRows, requestedOffset = 0, requestedPageSize = 300) {
72
+ const normalizedOffset = Number.isFinite(requestedOffset) ? Math.trunc(requestedOffset) : 0;
73
+ const normalizedPageSize = Number.isFinite(requestedPageSize) ? Math.trunc(requestedPageSize) : 300;
74
+ const offset = Math.min(allRows.length, Math.max(0, normalizedOffset));
75
+ const pageSize = Math.min(1_000, Math.max(1, normalizedPageSize));
76
+ const rows = allRows.slice(offset, offset + pageSize);
77
+ const consumed = offset + rows.length;
78
+ return {
79
+ root,
80
+ applied,
81
+ rows,
82
+ offset,
83
+ totalRows: allRows.length,
84
+ nextOffset: consumed < allRows.length ? consumed : undefined,
85
+ };
86
+ }
87
+ //# sourceMappingURL=PnwCodeRenameResultsState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PnwCodeRenameResultsState.js","sourceRoot":"","sources":["../../src/ui/PnwCodeRenameResultsState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type PnwCodeReorderMembersPanelModel } from "./PnwCodeReorderMembersPanelState.js";
2
+ export declare const PNW_CODE_REORDER_MEMBERS_PANEL_TAG = "pnw-code-reorder-members-panel";
3
+ export declare const PNW_CODE_REORDER_MEMBERS_PANEL_ACTION = "pnw-code-reorder-members-action";
4
+ export type PnwCodeReorderMembersPanelActionDetail = {
5
+ readonly kind: "run";
6
+ readonly action: "preview" | "addToWorkset";
7
+ } | {
8
+ readonly kind: "reorderAction";
9
+ readonly action: "open" | "preview" | "apply" | "cancel" | "gitDiff" | "revert";
10
+ readonly uris: readonly string[];
11
+ } | {
12
+ readonly kind: "reorderSelection";
13
+ readonly uris: readonly string[];
14
+ };
15
+ export declare class PnwCodeReorderMembersPanel extends HTMLElement {
16
+ private readonly root;
17
+ private currentModel;
18
+ private selection;
19
+ private showUnchanged;
20
+ get model(): PnwCodeReorderMembersPanelModel | undefined;
21
+ set model(value: PnwCodeReorderMembersPanelModel | undefined);
22
+ connectedCallback(): void;
23
+ private enabled;
24
+ private render;
25
+ private group;
26
+ private row;
27
+ private button;
28
+ private icon;
29
+ private updateSelection;
30
+ private emit;
31
+ }
32
+ export declare function pnwCodeDefineReorderMembersPanel(tagName?: string): typeof PnwCodeReorderMembersPanel;
33
+ declare global {
34
+ interface HTMLElementTagNameMap {
35
+ "pnw-code-reorder-members-panel": PnwCodeReorderMembersPanel;
36
+ }
37
+ }
38
+ //# sourceMappingURL=PnwCodeReorderMembersPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PnwCodeReorderMembersPanel.d.ts","sourceRoot":"","sources":["../../src/ui/PnwCodeReorderMembersPanel.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,+BAA+B,EAGrC,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,kCAAkC,mCAAmC,CAAC;AACnF,eAAO,MAAM,qCAAqC,oCAAoC,CAAC;AAEvF,MAAM,MAAM,sCAAsC,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CAAA;CAAE,GACrE;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChF,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AA8B5E,qBAAa,0BAA2B,SAAQ,WAAW;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuC;IAC5D,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,SAAS,CAA6D;IAC9E,OAAO,CAAC,aAAa,CAAS;IAE9B,IAAI,KAAK,IAAI,+BAA+B,GAAG,SAAS,CAA8B;IACtF,IAAI,KAAK,CAAC,KAAK,EAAE,+BAA+B,GAAG,SAAS,EAO3D;IACD,iBAAiB,IAAI,IAAI;IAEzB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAkCd,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,GAAG;IA0BX,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,IAAI;CACb;AAED,wBAAgB,gCAAgC,CAAC,OAAO,SAAqC,GAAG,OAAO,0BAA0B,CAGhI;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,gCAAgC,EAAE,0BAA0B,CAAC;KAAE;CAAE"}
@@ -0,0 +1,216 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { pnwCodeNextReorderSelection, pnwCodeProjectReorderMembersPanel, pnwCodeReorderStateLabel, pnwCodeReorderStateMark, pnwCodeSetReorderSelection, } from "./PnwCodeReorderMembersPanelState.js";
3
+ export const PNW_CODE_REORDER_MEMBERS_PANEL_TAG = "pnw-code-reorder-members-panel";
4
+ export const PNW_CODE_REORDER_MEMBERS_PANEL_ACTION = "pnw-code-reorder-members-action";
5
+ const STYLE = `
6
+ :host { display:block; min-width:0; max-width:100%; color:var(--vscode-foreground,var(--text,#172033)); font:12px/1.35 var(--vscode-font-family,system-ui,sans-serif); }
7
+ :host([hidden]) { display:none; } * { box-sizing:border-box; } button,input { font:inherit; } button { cursor:pointer; }
8
+ button:focus-visible,input:focus-visible { outline:1px solid var(--vscode-focusBorder,var(--accent,#2563eb)); outline-offset:1px; }
9
+ .shell { min-width:0; max-width:100%; margin:10px 0 12px; padding:9px; overflow:hidden; border:1px solid var(--ktc-ui-border,var(--vscode-panel-border,var(--border,#d7dde8))); border-radius:4px; background:var(--vscode-sideBar-background,var(--panel-bg,transparent)); }
10
+ h2 { margin:0 0 6px; font-size:13px; font-weight:650; } .summary { margin:6px 0; color:var(--vscode-descriptionForeground,var(--muted,#64748b)); font-size:11px; }
11
+ .actions,.options { display:flex; align-items:center; gap:6px; } .options { justify-content:space-between; margin:7px 0 1px; }
12
+ .action,.text-button { min-height:27px; padding:3px 9px; color:inherit; border:1px solid var(--ktc-ui-border,var(--vscode-panel-border,var(--border,#d7dde8))); border-radius:3px; background:var(--vscode-button-secondaryBackground,var(--btn-bg,transparent)); }
13
+ .action.primary { color:var(--vscode-button-foreground,#fff); background:var(--vscode-button-background,var(--accent,#2563eb)); border-color:var(--vscode-button-background,var(--accent,#2563eb)); }
14
+ button:disabled { opacity:.5; cursor:not-allowed; } .filter { display:flex; align-items:center; gap:5px; min-width:0; color:var(--vscode-descriptionForeground,var(--muted,#64748b)); font-size:11px; }
15
+ .status { min-height:28px; margin:8px 0; padding:6px 8px; color:var(--vscode-descriptionForeground,var(--muted,#64748b)); background:var(--vscode-editorWidget-background,var(--panel-head-bg,rgba(100,116,139,.08))); border-left:3px solid var(--vscode-focusBorder,var(--accent,#2563eb)); }
16
+ .status:empty { display:none; } .status.error { color:var(--vscode-errorForeground,var(--danger,#b91c1c)); border-color:currentColor; }
17
+ .groups { min-width:0; margin-top:6px; } .group { min-width:0; border-top:1px solid var(--vscode-panel-border,var(--border,#d7dde8)); }
18
+ .group-header { display:flex; align-items:center; gap:5px; min-height:29px; font-weight:650; } .group-header .detail { margin-left:auto; color:var(--vscode-descriptionForeground,var(--muted,#64748b)); font-weight:400; white-space:nowrap; }
19
+ .list { min-width:0; margin:0; padding:0; list-style:none; } .file-row { display:flex; align-items:center; gap:5px; min-width:0; min-height:30px; padding:2px 3px; border-top:1px solid color-mix(in srgb,var(--vscode-panel-border,var(--border,#d7dde8)) 65%,transparent); }
20
+ .file-row:hover { background:var(--vscode-list-hoverBackground,var(--hover,rgba(37,99,235,.08))); } .kind { flex:0 0 25px; color:var(--vscode-symbolIcon-classForeground,var(--muted,#64748b)); font-size:10px; font-weight:650; }
21
+ .file-main { display:block; flex:1 1 auto; min-width:0; overflow:hidden; cursor:pointer; text-overflow:ellipsis; white-space:nowrap; } .file-main.static { cursor:default; }
22
+ .file-name { font-weight:650; } .file-dir { color:var(--vscode-descriptionForeground,var(--muted,#64748b)); font-size:11px; }
23
+ .inline { display:flex; flex:0 0 auto; gap:2px; opacity:0; } .file-row:hover .inline,.inline:focus-within { opacity:1; }
24
+ .icon { width:25px; height:25px; padding:0; color:inherit; background:transparent; border:1px solid transparent; border-radius:3px; font-size:15px; } .icon:hover { background:var(--vscode-toolbar-hoverBackground,var(--hover,rgba(37,99,235,.08))); border-color:var(--vscode-panel-border,var(--border,#d7dde8)); }
25
+ .state { flex:0 0 auto; min-width:18px; color:var(--vscode-descriptionForeground,var(--muted,#64748b)); font-weight:650; text-align:right; } .state.pending { color:var(--vscode-gitDecoration-modifiedResourceForeground,#b45309); } .state.blocked { color:var(--vscode-errorForeground,var(--danger,#b91c1c)); } .state.applied { color:var(--vscode-testing-iconPassed,#15803d); }
26
+ .empty { padding:12px 8px; color:var(--vscode-descriptionForeground,var(--muted,#64748b)); text-align:center; }
27
+ :host([presentation="detailBlock"]) .shell,:host([presentation="results"]) .shell { margin:0; padding:0; border:0; }
28
+ :host([presentation="detailBlock"]) h2,:host([presentation="detailBlock"]) .summary,:host([presentation="results"]) h2,:host([presentation="results"]) .summary { display:none; }
29
+ :host([presentation="results"]) .actions,:host([presentation="results"]) .options { display:none; }
30
+ :host([presentation="results"]) .groups { max-height:min(58vh,520px); overflow:auto; scrollbar-gutter:stable; }
31
+ `;
32
+ export class PnwCodeReorderMembersPanel extends HTMLElement {
33
+ root = this.attachShadow({ mode: "open" });
34
+ currentModel;
35
+ selection = { selectedUris: [] };
36
+ showUnchanged = false;
37
+ get model() { return this.currentModel; }
38
+ set model(value) {
39
+ this.currentModel = value;
40
+ if (value) {
41
+ this.selection = pnwCodeNextReorderSelection(this.selection, value);
42
+ this.setAttribute("presentation", value.presentation);
43
+ }
44
+ else
45
+ this.removeAttribute("presentation");
46
+ this.render();
47
+ }
48
+ connectedCallback() { this.render(); }
49
+ enabled(key) {
50
+ return this.currentModel?.capabilities?.[key] !== false;
51
+ }
52
+ render() {
53
+ if (!this.isConnected)
54
+ return;
55
+ const style = document.createElement("style");
56
+ style.textContent = STYLE;
57
+ const model = this.currentModel;
58
+ if (!model) {
59
+ const empty = document.createElement("div");
60
+ empty.className = "empty";
61
+ empty.textContent = "成员排序尚未激活。";
62
+ this.root.replaceChildren(style, empty);
63
+ return;
64
+ }
65
+ const projection = pnwCodeProjectReorderMembersPanel(model, this.selection);
66
+ const shell = document.createElement("section");
67
+ shell.className = "shell";
68
+ shell.setAttribute("aria-label", "C++ 成员排序");
69
+ const title = document.createElement("h2");
70
+ title.textContent = "C++ 成员排序";
71
+ const summary = document.createElement("p");
72
+ summary.className = "summary";
73
+ summary.textContent = "扫描、预览、勾选并确认写回;Host 负责文件与事务。";
74
+ const actions = document.createElement("div");
75
+ actions.className = "actions";
76
+ if (this.enabled("scan"))
77
+ actions.append(this.button("扫描", "action primary", projection.running, () => this.emit({ kind: "run", action: "preview" })));
78
+ if (this.enabled("apply"))
79
+ actions.append(this.button(projection.applyLabel, "action", projection.applyDisabled, () => this.emit({ kind: "reorderAction", action: "apply", uris: projection.selectedPendingUris })));
80
+ const options = document.createElement("div");
81
+ options.className = "options";
82
+ const filter = document.createElement("label");
83
+ filter.className = "filter";
84
+ const show = document.createElement("input");
85
+ show.type = "checkbox";
86
+ show.checked = this.showUnchanged;
87
+ show.onchange = () => { this.showUnchanged = show.checked; this.render(); };
88
+ filter.append(show, document.createTextNode("显示无变更文件"));
89
+ options.append(filter);
90
+ if (this.enabled("addToWorkset"))
91
+ options.append(this.button("加入工作集", "text-button", projection.worksetDisabled, () => this.emit({ kind: "run", action: "addToWorkset" })));
92
+ const status = document.createElement("p");
93
+ status.className = `status${model.status === "error" ? " error" : ""}`;
94
+ status.textContent = model.message ?? "";
95
+ status.title = model.message ?? "";
96
+ status.role = "status";
97
+ status.setAttribute("aria-live", "polite");
98
+ const groups = document.createElement("div");
99
+ groups.className = "groups";
100
+ groups.hidden = !projection.hasCache;
101
+ if (projection.hasCache) {
102
+ groups.append(this.group("变更文件", projection.changedRows, model, {
103
+ pendingRows: projection.pendingRows,
104
+ allSelected: projection.allPendingSelected,
105
+ someSelected: projection.somePendingSelected,
106
+ }));
107
+ if (this.showUnchanged)
108
+ groups.append(this.group("无变更文件", projection.unchangedRows, model));
109
+ }
110
+ shell.append(title, summary, actions, options, status, groups);
111
+ this.root.replaceChildren(style, shell);
112
+ }
113
+ group(titleText, rows, model, selection) {
114
+ const group = document.createElement("section");
115
+ group.className = "group";
116
+ const header = document.createElement("div");
117
+ header.className = "group-header";
118
+ if (selection && this.enabled("selection")) {
119
+ const all = document.createElement("input");
120
+ all.type = "checkbox";
121
+ all.disabled = !selection.pendingRows.length || model.status === "running";
122
+ all.checked = selection.allSelected;
123
+ all.indeterminate = selection.someSelected;
124
+ all.setAttribute("aria-label", "选择全部待写盘文件");
125
+ all.onchange = () => { const pending = new Set(selection.pendingRows.map((row) => row.uri)); this.updateSelection(all.checked ? [...pending] : this.selection.selectedUris.filter((uri) => !pending.has(uri))); };
126
+ header.append(all);
127
+ }
128
+ const label = document.createElement("span");
129
+ label.textContent = `${titleText} · ${rows.length} 个`;
130
+ const detail = document.createElement("span");
131
+ detail.className = "detail";
132
+ detail.textContent = `扫描 ${model.scanned ?? rows.length} 个`;
133
+ header.append(label, detail);
134
+ group.append(header);
135
+ const list = document.createElement("ul");
136
+ list.className = "list";
137
+ for (const row of rows)
138
+ list.append(this.row(row, model.status === "running", Boolean(selection) && this.enabled("selection")));
139
+ if (!rows.length) {
140
+ const empty = document.createElement("li");
141
+ empty.className = "empty";
142
+ empty.textContent = "没有文件";
143
+ list.append(empty);
144
+ }
145
+ group.append(list);
146
+ return group;
147
+ }
148
+ row(row, running, selectable) {
149
+ const item = document.createElement("li");
150
+ item.className = "file-row";
151
+ if (selectable) {
152
+ const checkbox = document.createElement("input");
153
+ checkbox.type = "checkbox";
154
+ checkbox.checked = this.selection.selectedUris.includes(row.uri);
155
+ checkbox.disabled = row.state !== "pending" || running;
156
+ checkbox.setAttribute("aria-label", `选择 ${row.relativePath}`);
157
+ checkbox.onchange = () => { const selected = new Set(this.selection.selectedUris); if (checkbox.checked)
158
+ selected.add(row.uri);
159
+ else
160
+ selected.delete(row.uri); this.updateSelection([...selected]); };
161
+ item.append(checkbox);
162
+ }
163
+ const kind = document.createElement("span");
164
+ kind.className = "kind";
165
+ kind.textContent = row.kind === "header" ? "C" : "C++";
166
+ const main = document.createElement("span");
167
+ main.className = `file-main${this.enabled("open") ? "" : " static"}`;
168
+ const parts = row.relativePath.split("/");
169
+ const file = parts.pop() || row.relativePath;
170
+ const name = document.createElement("span");
171
+ name.className = "file-name";
172
+ name.textContent = file;
173
+ const directory = document.createElement("span");
174
+ directory.className = "file-dir";
175
+ directory.textContent = parts.length ? ` · ${parts.join("/")}` : "";
176
+ main.append(name, directory);
177
+ main.title = [row.relativePath, row.encoding, ...row.warnings].join("\n");
178
+ if (this.enabled("open"))
179
+ main.onclick = () => this.emit({ kind: "reorderAction", action: "open", uris: [row.uri] });
180
+ const inline = document.createElement("span");
181
+ inline.className = "inline";
182
+ if (!running && row.state === "pending") {
183
+ if (this.enabled("preview"))
184
+ inline.append(this.icon("⇄", "预览排序差异", "preview", row.uri));
185
+ if (this.enabled("apply"))
186
+ inline.append(this.icon("✓", "应用此文件", "apply", row.uri));
187
+ if (this.enabled("cancel"))
188
+ inline.append(this.icon("×", "从本次结果移除", "cancel", row.uri));
189
+ }
190
+ else if (!running && row.state === "applied") {
191
+ if (this.enabled("gitDiff"))
192
+ inline.append(this.icon("⇄", "查看 Git 差异", "gitDiff", row.uri));
193
+ if (this.enabled("revert"))
194
+ inline.append(this.icon("↶", "还原本次成员排序", "revert", row.uri));
195
+ }
196
+ const state = document.createElement("span");
197
+ state.className = `state ${row.state}`;
198
+ state.textContent = pnwCodeReorderStateMark(row.state);
199
+ state.title = `${pnwCodeReorderStateLabel(row.state)} · ${row.encoding}`;
200
+ item.append(kind, main, inline, state);
201
+ return item;
202
+ }
203
+ button(label, className, disabled, action) { const button = document.createElement("button"); button.type = "button"; button.className = className; button.textContent = label; button.disabled = disabled; button.onclick = action; return button; }
204
+ icon(text, title, action, uri) { const button = this.button(text, "icon", false, () => this.emit({ kind: "reorderAction", action, uris: [uri] })); button.title = title; button.setAttribute("aria-label", title); return button; }
205
+ updateSelection(requestedUris) { if (!this.currentModel)
206
+ return; this.selection = pnwCodeSetReorderSelection(this.selection, this.currentModel, requestedUris); const uris = [...this.selection.selectedUris]; this.render(); this.emit({ kind: "reorderSelection", uris }); }
207
+ emit(detail) { this.dispatchEvent(new CustomEvent(PNW_CODE_REORDER_MEMBERS_PANEL_ACTION, { bubbles: true, composed: true, detail })); }
208
+ }
209
+ export function pnwCodeDefineReorderMembersPanel(tagName = PNW_CODE_REORDER_MEMBERS_PANEL_TAG) {
210
+ const registered = customElements.get(tagName);
211
+ if (registered)
212
+ return registered;
213
+ customElements.define(tagName, PnwCodeReorderMembersPanel);
214
+ return PnwCodeReorderMembersPanel;
215
+ }
216
+ //# sourceMappingURL=PnwCodeReorderMembersPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PnwCodeReorderMembersPanel.js","sourceRoot":"","sources":["../../src/ui/PnwCodeReorderMembersPanel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ export type PnwCodeReorderMembersPanelPresentation = "ribbon" | "detailBlock" | "results";
2
+ export type PnwCodeReorderMembersRowState = "unchanged" | "pending" | "cancelled" | "applied" | "blocked" | "reverted";
3
+ export interface PnwCodeReorderMembersPanelRow {
4
+ /** Host 可验证并重新打开的稳定文件身份;组件不解释 URI 格式。 */
5
+ readonly uri: string;
6
+ readonly relativePath: string;
7
+ readonly kind: "header" | "source";
8
+ readonly encoding: string;
9
+ readonly changed: boolean;
10
+ readonly state: PnwCodeReorderMembersRowState;
11
+ readonly warnings: readonly string[];
12
+ }
13
+ export interface PnwCodeReorderMembersPanelCapabilities {
14
+ readonly scan?: boolean;
15
+ readonly apply?: boolean;
16
+ readonly addToWorkset?: boolean;
17
+ readonly open?: boolean;
18
+ readonly preview?: boolean;
19
+ readonly cancel?: boolean;
20
+ readonly gitDiff?: boolean;
21
+ readonly revert?: boolean;
22
+ readonly selection?: boolean;
23
+ }
24
+ /** Browser-only component snapshot. Host IO and confirmation never enter this model. */
25
+ export interface PnwCodeReorderMembersPanelModel {
26
+ readonly presentation: PnwCodeReorderMembersPanelPresentation;
27
+ readonly status: "idle" | "running" | "done" | "error";
28
+ readonly message?: string;
29
+ readonly scanned?: number;
30
+ readonly reorderResults?: readonly PnwCodeReorderMembersPanelRow[];
31
+ readonly reorderRevision?: number;
32
+ readonly reorderSelectedUris?: readonly string[];
33
+ readonly capabilities?: PnwCodeReorderMembersPanelCapabilities;
34
+ }
35
+ export interface PnwCodeReorderMembersSelectionState {
36
+ readonly selectedUris: readonly string[];
37
+ readonly revision?: number;
38
+ }
39
+ export interface PnwCodeReorderMembersPanelProjection {
40
+ readonly hasCache: boolean;
41
+ readonly running: boolean;
42
+ readonly changedRows: readonly PnwCodeReorderMembersPanelRow[];
43
+ readonly unchangedRows: readonly PnwCodeReorderMembersPanelRow[];
44
+ readonly pendingRows: readonly PnwCodeReorderMembersPanelRow[];
45
+ readonly selectedPendingUris: readonly string[];
46
+ readonly allPendingSelected: boolean;
47
+ readonly somePendingSelected: boolean;
48
+ readonly applyDisabled: boolean;
49
+ readonly worksetDisabled: boolean;
50
+ readonly applyLabel: string;
51
+ }
52
+ export declare function pnwCodeNextReorderSelection(previous: PnwCodeReorderMembersSelectionState, next: Pick<PnwCodeReorderMembersPanelModel, "reorderResults" | "reorderRevision" | "reorderSelectedUris">): PnwCodeReorderMembersSelectionState;
53
+ export declare function pnwCodeSetReorderSelection(current: PnwCodeReorderMembersSelectionState, model: Pick<PnwCodeReorderMembersPanelModel, "reorderResults">, requestedUris: readonly string[]): PnwCodeReorderMembersSelectionState;
54
+ export declare function pnwCodeProjectReorderMembersPanel(model: PnwCodeReorderMembersPanelModel, selection: PnwCodeReorderMembersSelectionState): PnwCodeReorderMembersPanelProjection;
55
+ export declare function pnwCodeReorderStateLabel(value: PnwCodeReorderMembersRowState): string;
56
+ export declare function pnwCodeReorderStateMark(value: PnwCodeReorderMembersRowState): string;
57
+ //# sourceMappingURL=PnwCodeReorderMembersPanelState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PnwCodeReorderMembersPanelState.d.ts","sourceRoot":"","sources":["../../src/ui/PnwCodeReorderMembersPanelState.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sCAAsC,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;AAE1F,MAAM,MAAM,6BAA6B,GACrC,WAAW,GACX,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,6BAA6B;IAC5C,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wFAAwF;AACxF,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,YAAY,EAAE,sCAAsC,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,sCAAsC,CAAC;CAChE;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,mCAAmC,EAC7C,IAAI,EAAE,IAAI,CAAC,+BAA+B,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC,GACxG,mCAAmC,CAoBrC;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mCAAmC,EAC5C,KAAK,EAAE,IAAI,CAAC,+BAA+B,EAAE,gBAAgB,CAAC,EAC9D,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,mCAAmC,CAQrC;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,+BAA+B,EACtC,SAAS,EAAE,mCAAmC,GAC7C,oCAAoC,CAsBtC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CASrF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAEpF"}
@@ -0,0 +1,71 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export function pnwCodeNextReorderSelection(previous, next) {
3
+ if (!Array.isArray(next.reorderResults)) {
4
+ return { selectedUris: [...previous.selectedUris], revision: previous.revision };
5
+ }
6
+ const pending = new Set(next.reorderResults
7
+ .filter((row) => row.state === "pending")
8
+ .map((row) => row.uri));
9
+ if (Array.isArray(next.reorderSelectedUris)) {
10
+ return {
11
+ selectedUris: unique(next.reorderSelectedUris.filter((uri) => pending.has(uri))),
12
+ revision: next.reorderRevision,
13
+ };
14
+ }
15
+ if (previous.revision === undefined || next.reorderRevision !== previous.revision) {
16
+ return { selectedUris: [...pending], revision: next.reorderRevision };
17
+ }
18
+ return {
19
+ selectedUris: unique(previous.selectedUris.filter((uri) => pending.has(uri))),
20
+ revision: previous.revision,
21
+ };
22
+ }
23
+ export function pnwCodeSetReorderSelection(current, model, requestedUris) {
24
+ const pending = new Set((model.reorderResults ?? [])
25
+ .filter((row) => row.state === "pending")
26
+ .map((row) => row.uri));
27
+ return {
28
+ selectedUris: unique(requestedUris.filter((uri) => pending.has(uri))),
29
+ revision: current.revision,
30
+ };
31
+ }
32
+ export function pnwCodeProjectReorderMembersPanel(model, selection) {
33
+ const hasCache = Array.isArray(model.reorderResults);
34
+ const rows = hasCache ? model.reorderResults.filter((row) => row.state !== "cancelled") : [];
35
+ const changedRows = rows.filter((row) => row.state !== "unchanged");
36
+ const unchangedRows = rows.filter((row) => row.state === "unchanged");
37
+ const pendingRows = changedRows.filter((row) => row.state === "pending");
38
+ const pending = new Set(pendingRows.map((row) => row.uri));
39
+ const selectedPendingUris = unique(selection.selectedUris.filter((uri) => pending.has(uri)));
40
+ const running = model.status === "running";
41
+ return {
42
+ hasCache,
43
+ running,
44
+ changedRows,
45
+ unchangedRows,
46
+ pendingRows,
47
+ selectedPendingUris,
48
+ allPendingSelected: pendingRows.length > 0 && selectedPendingUris.length === pendingRows.length,
49
+ somePendingSelected: selectedPendingUris.length > 0 && selectedPendingUris.length < pendingRows.length,
50
+ applyDisabled: running || selectedPendingUris.length === 0,
51
+ worksetDisabled: running || !hasCache,
52
+ applyLabel: selectedPendingUris.length ? `应用所选(${selectedPendingUris.length})` : "应用所选",
53
+ };
54
+ }
55
+ export function pnwCodeReorderStateLabel(value) {
56
+ return ({
57
+ pending: "待写盘",
58
+ applied: "已写盘",
59
+ blocked: "未写入",
60
+ reverted: "已还原",
61
+ unchanged: "无变更",
62
+ cancelled: "已移除",
63
+ })[value];
64
+ }
65
+ export function pnwCodeReorderStateMark(value) {
66
+ return ({ pending: "M", applied: "✓", blocked: "!", reverted: "↶", unchanged: "—", cancelled: "" })[value];
67
+ }
68
+ function unique(values) {
69
+ return [...new Set(values)];
70
+ }
71
+ //# sourceMappingURL=PnwCodeReorderMembersPanelState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PnwCodeReorderMembersPanelState.js","sourceRoot":"","sources":["../../src/ui/PnwCodeReorderMembersPanelState.ts"],"names":[],"mappings":"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"}