Skip to content

Commit 2494110

Browse files
committed
feat: Add CodeMirror tooltip styles
1 parent 1efcc4c commit 2494110

File tree

2 files changed

+113
-1
lines changed

2 files changed

+113
-1
lines changed

src/main.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
@use "./styles/keyframes.scss";
55
@use "./styles/fileInfo.scss";
66
@use "./styles/markdown.scss";
7+
@use "./styles/codemirror.scss";
78

89
:root {
910
--scrollbar-width: 4px;
@@ -843,4 +844,4 @@ input[type="search"]::-webkit-search-results-decoration {
843844
transform: translateX(0);
844845
opacity: 1;
845846
}
846-
}
847+
}

src/styles/codemirror.scss

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
.cm-tooltip {
2+
box-sizing: border-box;
3+
max-width: min(32rem, calc(100vw - 1.25rem));
4+
width: max-content;
5+
padding: 0.4rem 0.45rem;
6+
border-radius: 0;
7+
overscroll-behavior: contain;
8+
overflow-y: auto;
9+
max-height: min(70vh, 22rem);
10+
11+
.cm-tooltip-section + .cm-tooltip-section {
12+
margin-top: 0.5rem;
13+
}
14+
}
15+
16+
.cm-tooltip.cm-tooltip-hover {
17+
font-size: 0.9rem;
18+
line-height: 1.45;
19+
word-break: break-word;
20+
max-height: min(65vh, 20rem);
21+
}
22+
23+
.cm-tooltip.cm-tooltip-autocomplete {
24+
display: flex;
25+
flex-wrap: nowrap;
26+
align-items: stretch;
27+
gap: 0.4rem;
28+
width: auto;
29+
min-width: min(15rem, calc(100vw - 1.75rem));
30+
max-width: min(32rem, calc(100vw - 1.25rem));
31+
max-height: min(60vh, 20rem);
32+
padding: 0.25rem;
33+
overflow: visible;
34+
}
35+
36+
.cm-tooltip.cm-tooltip-autocomplete > ul {
37+
flex: 1 1 auto;
38+
max-height: inherit;
39+
overflow: auto;
40+
padding: 0.25rem;
41+
margin: 0;
42+
scrollbar-gutter: stable;
43+
}
44+
45+
.cm-tooltip.cm-tooltip-autocomplete > ul > li {
46+
display: flex;
47+
align-items: center;
48+
gap: 0.12rem;
49+
padding: 0.3rem 0.36rem;
50+
border-radius: 0.2rem;
51+
}
52+
53+
.cm-tooltip.cm-tooltip-autocomplete .cm-completionIcon {
54+
flex: 0 0 auto;
55+
min-width: 1rem;
56+
text-align: center;
57+
line-height: 1;
58+
}
59+
60+
.cm-tooltip.cm-tooltip-autocomplete .cm-completionLabel {
61+
flex: 1 1 auto;
62+
font-size: 0.95em;
63+
line-height: 1.4;
64+
overflow-wrap: anywhere;
65+
}
66+
67+
.cm-tooltip.cm-tooltip-autocomplete .cm-completionMatchedText {
68+
font-weight: 600;
69+
}
70+
71+
.cm-tooltip.cm-tooltip-autocomplete .cm-completionDetail {
72+
margin-left: auto;
73+
font-size: 0.85em;
74+
}
75+
76+
.cm-tooltip.cm-tooltip-autocomplete .cm-completionInfo {
77+
flex: 1 1 45%;
78+
min-width: min(12rem, calc(100vw - 3rem));
79+
max-width: min(18rem, calc(100vw - 2.5rem));
80+
max-height: inherit;
81+
padding: 0.3rem 0.35rem;
82+
font-size: 0.85rem;
83+
line-height: 1.35;
84+
overflow: auto;
85+
}
86+
87+
@media (max-width: 480px) {
88+
.cm-tooltip {
89+
font-size: 0.9rem;
90+
max-width: calc(100vw - 1.25rem);
91+
max-height: min(70vh, 20rem);
92+
}
93+
94+
.cm-tooltip.cm-tooltip-autocomplete {
95+
flex-direction: column;
96+
min-width: min(13.5rem, calc(100vw - 1.5rem));
97+
max-width: calc(100vw - 1.35rem);
98+
max-height: min(65vh, 18rem);
99+
}
100+
101+
.cm-tooltip.cm-tooltip-autocomplete > ul > li {
102+
padding: 0.32rem 0.4rem;
103+
}
104+
105+
.cm-tooltip.cm-tooltip-autocomplete .cm-completionInfo {
106+
min-width: auto;
107+
max-width: 100%;
108+
max-height: 12rem;
109+
padding: 0.35rem 0.4rem 0.2rem;
110+
}
111+
}

0 commit comments

Comments
 (0)