@youtyan/code-viewer 0.8.1 → 0.8.3
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.
- package/README.md +13 -4
- package/dist/code-viewer.js +433 -180
- package/package.json +1 -1
- package/web/app.js +418 -133
- package/web/style.css +92 -24
package/web/style.css
CHANGED
|
@@ -2646,6 +2646,45 @@ body.gdp-help-page #content {
|
|
|
2646
2646
|
color: var(--accent-emph);
|
|
2647
2647
|
}
|
|
2648
2648
|
|
|
2649
|
+
/* "→ target" sublabel next to a symlink name in the sidebar tree, and the
|
|
2650
|
+
same marker's meta-column form in the repo listing (.gdp-repo-row
|
|
2651
|
+
.meta.symlink-target below). Uses --done (violet) rather than the usual
|
|
2652
|
+
muted meta color so a symlink row reads as distinct at a glance, not
|
|
2653
|
+
just on hover/title. Broken links (target missing/outside the repo)
|
|
2654
|
+
switch to the danger color instead. */
|
|
2655
|
+
.symlink-target {
|
|
2656
|
+
overflow: hidden;
|
|
2657
|
+
text-overflow: ellipsis;
|
|
2658
|
+
white-space: nowrap;
|
|
2659
|
+
color: var(--done);
|
|
2660
|
+
font-weight: 500;
|
|
2661
|
+
font-size: 12px;
|
|
2662
|
+
margin-left: 6px;
|
|
2663
|
+
}
|
|
2664
|
+
.symlink-target.broken { color: var(--danger); }
|
|
2665
|
+
/* Recolor the row's own type icon (file icon, or the shared blue dir-icon)
|
|
2666
|
+
to match the target label, so the symlink signal isn't limited to the
|
|
2667
|
+
sublabel text. */
|
|
2668
|
+
#filelist.tree .tree-file.symlink-row .d2h-icon-wrapper,
|
|
2669
|
+
#filelist.tree .tree-dir.symlink-row .dir-icon,
|
|
2670
|
+
.gdp-repo-row.symlink-row .d2h-icon-wrapper,
|
|
2671
|
+
.gdp-repo-row.symlink-row .dir-icon {
|
|
2672
|
+
color: var(--done);
|
|
2673
|
+
}
|
|
2674
|
+
.tree-file.symlink-broken-row .d2h-icon-wrapper,
|
|
2675
|
+
.gdp-repo-row.symlink-broken-row .d2h-icon-wrapper {
|
|
2676
|
+
color: var(--danger);
|
|
2677
|
+
}
|
|
2678
|
+
/* Shared "disabled row" treatment: a broken symlink or a synthesized
|
|
2679
|
+
deleted-file row (see deletedTreeEntriesForPath in preview.ts) - both are
|
|
2680
|
+
badged but cannot actually be opened. */
|
|
2681
|
+
.tree-file.gdp-row-disabled,
|
|
2682
|
+
.tree-dir.gdp-row-disabled,
|
|
2683
|
+
.gdp-repo-row.gdp-row-disabled {
|
|
2684
|
+
cursor: default;
|
|
2685
|
+
opacity: 0.7;
|
|
2686
|
+
}
|
|
2687
|
+
|
|
2649
2688
|
/* ===== Main content area ===== */
|
|
2650
2689
|
#content {
|
|
2651
2690
|
margin-left: var(--sidebar-w);
|
|
@@ -4595,6 +4634,13 @@ body.gdp-file-detail-page #empty {
|
|
|
4595
4634
|
font-size: 11px;
|
|
4596
4635
|
line-height: 1.4;
|
|
4597
4636
|
}
|
|
4637
|
+
.gdp-repo-row .meta.symlink-target.broken { color: var(--danger); }
|
|
4638
|
+
/* Disabled row (broken symlink or synthesized deleted-file entry): opening
|
|
4639
|
+
it would just 404, so no hover affordance - same treatment as
|
|
4640
|
+
.gdp-repo-row-gitlink above. */
|
|
4641
|
+
.gdp-repo-row.gdp-row-disabled:hover {
|
|
4642
|
+
background: var(--bg);
|
|
4643
|
+
}
|
|
4598
4644
|
.gdp-context-menu {
|
|
4599
4645
|
position: fixed;
|
|
4600
4646
|
z-index: 1000;
|
|
@@ -11654,20 +11700,23 @@ body.db-resizing {
|
|
|
11654
11700
|
cursor: default;
|
|
11655
11701
|
color: var(--fg-muted);
|
|
11656
11702
|
}
|
|
11657
|
-
.
|
|
11703
|
+
/* .db-detail-* は es-explorer (mapping/doc) と dynamodb-explorer
|
|
11704
|
+
(structure/item) が共有する詳細ペイン/タブ切替/テーブルの共通スタイル。
|
|
11705
|
+
detail-tabs.ts / detail-table.ts のクラス名と対応する。 */
|
|
11706
|
+
.db-detail-pane {
|
|
11658
11707
|
flex: 1;
|
|
11659
11708
|
display: flex;
|
|
11660
11709
|
flex-direction: column;
|
|
11661
11710
|
overflow: hidden;
|
|
11662
11711
|
background: var(--bg);
|
|
11663
11712
|
}
|
|
11664
|
-
.
|
|
11713
|
+
.db-detail-tabs {
|
|
11665
11714
|
display: flex;
|
|
11666
11715
|
border-bottom: 1px solid var(--border);
|
|
11667
11716
|
background: var(--bg-soft);
|
|
11668
11717
|
flex-shrink: 0;
|
|
11669
11718
|
}
|
|
11670
|
-
.
|
|
11719
|
+
.db-detail-tab {
|
|
11671
11720
|
padding: 6px 14px;
|
|
11672
11721
|
border: none;
|
|
11673
11722
|
background: transparent;
|
|
@@ -11676,12 +11725,11 @@ body.db-resizing {
|
|
|
11676
11725
|
color: var(--fg-muted);
|
|
11677
11726
|
border-bottom: 2px solid transparent;
|
|
11678
11727
|
}
|
|
11679
|
-
.
|
|
11728
|
+
.db-detail-tab.active {
|
|
11680
11729
|
color: var(--fg);
|
|
11681
11730
|
border-bottom-color: var(--accent);
|
|
11682
11731
|
}
|
|
11683
|
-
.
|
|
11684
|
-
.es-doc-body {
|
|
11732
|
+
.db-detail-tab-body {
|
|
11685
11733
|
flex: 1;
|
|
11686
11734
|
overflow: auto;
|
|
11687
11735
|
padding: 12px;
|
|
@@ -11753,26 +11801,27 @@ body.db-resizing {
|
|
|
11753
11801
|
color: var(--fg-muted);
|
|
11754
11802
|
margin-bottom: 8px;
|
|
11755
11803
|
}
|
|
11756
|
-
.
|
|
11804
|
+
.db-detail-table {
|
|
11757
11805
|
width: 100%;
|
|
11758
11806
|
border-collapse: collapse;
|
|
11759
11807
|
font-family: var(--mono, monospace);
|
|
11760
11808
|
font-size: var(--db-font-mono);
|
|
11809
|
+
margin-bottom: 16px;
|
|
11761
11810
|
}
|
|
11762
|
-
.
|
|
11763
|
-
.
|
|
11811
|
+
.db-detail-table th,
|
|
11812
|
+
.db-detail-table td {
|
|
11764
11813
|
text-align: left;
|
|
11765
11814
|
padding: 4px 8px;
|
|
11766
11815
|
border-bottom: 1px solid var(--border);
|
|
11767
11816
|
}
|
|
11768
|
-
.
|
|
11817
|
+
.db-detail-table th {
|
|
11769
11818
|
font-weight: 600;
|
|
11770
11819
|
background: var(--bg-soft);
|
|
11771
11820
|
}
|
|
11772
|
-
.
|
|
11821
|
+
.db-detail-table-primary {
|
|
11773
11822
|
font-weight: 500;
|
|
11774
11823
|
}
|
|
11775
|
-
.
|
|
11824
|
+
.db-detail-table-muted {
|
|
11776
11825
|
color: var(--fg-muted);
|
|
11777
11826
|
}
|
|
11778
11827
|
.es-doc-source {
|
|
@@ -11782,7 +11831,7 @@ body.db-resizing {
|
|
|
11782
11831
|
word-break: break-all;
|
|
11783
11832
|
margin: 0;
|
|
11784
11833
|
}
|
|
11785
|
-
.
|
|
11834
|
+
.db-value-empty {
|
|
11786
11835
|
color: var(--fg-muted);
|
|
11787
11836
|
font-size: var(--db-font-base);
|
|
11788
11837
|
font-style: italic;
|
|
@@ -12472,13 +12521,6 @@ body.db-resizing {
|
|
|
12472
12521
|
cursor: default;
|
|
12473
12522
|
color: var(--fg-muted);
|
|
12474
12523
|
}
|
|
12475
|
-
.dynamodb-detail-pane {
|
|
12476
|
-
flex: 1;
|
|
12477
|
-
overflow: auto;
|
|
12478
|
-
padding: 12px;
|
|
12479
|
-
color: var(--fg);
|
|
12480
|
-
background: var(--bg);
|
|
12481
|
-
}
|
|
12482
12524
|
.dynamodb-table-info-header,
|
|
12483
12525
|
.dynamodb-item-detail-header {
|
|
12484
12526
|
display: flex;
|
|
@@ -12491,8 +12533,7 @@ body.db-resizing {
|
|
|
12491
12533
|
border-bottom: 1px solid var(--border);
|
|
12492
12534
|
margin-bottom: 8px;
|
|
12493
12535
|
}
|
|
12494
|
-
.dynamodb-table-info-meta
|
|
12495
|
-
.dynamodb-table-info-keys {
|
|
12536
|
+
.dynamodb-table-info-meta {
|
|
12496
12537
|
font-family: var(--mono, monospace);
|
|
12497
12538
|
font-size: var(--db-font-sm);
|
|
12498
12539
|
color: var(--fg-muted);
|
|
@@ -12504,8 +12545,35 @@ body.db-resizing {
|
|
|
12504
12545
|
font-size: var(--db-font-sm);
|
|
12505
12546
|
font-weight: 400;
|
|
12506
12547
|
}
|
|
12507
|
-
.dynamodb-
|
|
12508
|
-
margin-
|
|
12548
|
+
.dynamodb-index-section {
|
|
12549
|
+
margin-bottom: 16px;
|
|
12550
|
+
}
|
|
12551
|
+
.dynamodb-index-heading {
|
|
12552
|
+
font-weight: 600;
|
|
12553
|
+
font-size: var(--db-font-sm);
|
|
12554
|
+
color: var(--fg-muted);
|
|
12555
|
+
margin-bottom: 4px;
|
|
12556
|
+
}
|
|
12557
|
+
.dynamodb-index-row {
|
|
12558
|
+
padding: 4px 0;
|
|
12559
|
+
border-bottom: 1px solid var(--border);
|
|
12560
|
+
}
|
|
12561
|
+
.dynamodb-index-name {
|
|
12562
|
+
font-family: var(--mono, monospace);
|
|
12563
|
+
font-size: var(--db-font-mono);
|
|
12564
|
+
font-weight: 500;
|
|
12565
|
+
}
|
|
12566
|
+
.dynamodb-index-detail {
|
|
12567
|
+
font-family: var(--mono, monospace);
|
|
12568
|
+
font-size: var(--db-font-sm);
|
|
12569
|
+
color: var(--fg-muted);
|
|
12570
|
+
}
|
|
12571
|
+
.dynamodb-attr-note {
|
|
12572
|
+
margin-top: -4px;
|
|
12573
|
+
margin-bottom: 16px;
|
|
12574
|
+
font-size: var(--db-font-sm);
|
|
12575
|
+
color: var(--fg-muted);
|
|
12576
|
+
font-style: italic;
|
|
12509
12577
|
}
|
|
12510
12578
|
.dynamodb-item-source {
|
|
12511
12579
|
font-family: var(--mono, monospace);
|