Skip to content

Commit 877beed

Browse files
authored
Merge pull request #48 from ampled/fix/text-search-highlight-fg-color
Text highlighting: customization and plain theme readability
2 parents 0236193 + 30f6de9 commit 877beed

File tree

6 files changed

+60
-5
lines changed

6 files changed

+60
-5
lines changed

src/lib/Wrapper.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,8 @@
233233
</div>
234234

235235
<style>
236-
@import './themes.css';
237236
@import './vars.css';
237+
@import './themes.css';
238238
239239
@keyframes markback {
240240
from {

src/lib/components/Highlight.svelte

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,17 +85,29 @@
8585
<style>
8686
.highlight {
8787
&.chunk {
88+
outline: var(--_text-search-highlight-outline);
89+
border-top: var(--_text-search-highlight-border-top);
90+
border-right: var(--_text-search-highlight-border-right);
91+
border-bottom: var(--_text-search-highlight-border-bottom);
92+
border-left: var(--_text-search-highlight-border-left);
8893
background-color: var(--_text-search-highlight-color);
89-
color: var(--_background-color);
94+
color: var(--_text-search-highlight-fg-color);
95+
text-decoration: var(--_text-search-highlight-decoration);
9096
}
9197
9298
&.alt-soft {
9399
text-decoration-color: var(--_text-search-highlight-color);
94100
}
95101
96102
&.alt-full {
103+
outline: var(--_text-search-highlight-outline);
104+
border-top: var(--_text-search-highlight-border-top);
105+
border-right: var(--_text-search-highlight-border-right);
106+
border-bottom: var(--_text-search-highlight-border-bottom);
107+
border-left: var(--_text-search-highlight-border-left);
97108
background-color: var(--_text-search-highlight-color);
98-
color: var(--_background-color) !important;
109+
color: var(--_text-search-highlight-fg-color) !important;
110+
text-decoration: var(--_text-search-highlight-decoration);
99111
}
100112
}
101113

src/lib/themes.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@
5252
--base0D: color-mix(in srgb, currentColor, cyan 30%);
5353
--base0E: color-mix(in srgb, currentColor, rgb(255, 0, 255) 40%);
5454
--base0F: currentColor;
55+
--_text-search-highlight-color: var(--text-search-highlight-color, yellow);
56+
--_text-search-highlight-fg-color: var(--text-search-highlight-fg-color, black);
57+
--_text-search-highlight-outline: var(--text-search-highlight-outline, 1px solid black);
58+
--_text-search-highlight-decoration: var(--text-search-highlight-decoration, underline black);
5559
}
5660

5761
.stereo {

src/lib/vars.css

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
--_hover-color: var(--hover-color, var(--base01));
2020
--_text-selection-background: var(--text-selection-background, var(--base02));
21-
--_text-search-highlight-color: var(--text-search-highlight-color, var(--base0A));
2221
--_length-color: var(--length-color, var(--base03));
2322
--_bullet-color: var(--bullet-color, var(--base03));
2423
--_comment-color: var(--comment-color, var(--base03));
@@ -102,4 +101,14 @@
102101

103102
/* easing */
104103
--_back-out: cubic-bezier(0.18, 0.89, 0.47, 1.55);
104+
105+
/** search */
106+
--_text-search-highlight-color: var(var(--text-search-highlight-color, var(--base0A)));
107+
--_text-search-highlight-fg-color: var(--text-search-highlight-fg-color, var(--base01));
108+
--_text-search-highlight-border-top: var(--text-search-highlight-border-top, none);
109+
--_text-search-highlight-border-bottom: var(--text-search-highlight-border-bottom, none);
110+
--_text-search-highlight-border-left: var(--text-search-highlight-border-left, none);
111+
--_text-search-highlight-border-right: var(--text-search-highlight-border-right, none);
112+
--_text-search-highlight-outline: var(--text-search-highlight-outline, none);
113+
--_text-search-highlight-decoration: var(--text-search-highlight-decoration, none);
105114
}

src/routes/(app)/testing/plain/+page.svelte

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,35 @@
22
import AllTypes from '$doclib/examples/AllTypes.svelte'
33
44
let color = $state('#ffffff')
5+
6+
let overrides = $state({
7+
background: '#000000',
8+
fg: '#FFFFFF',
9+
})
10+
511
// let backgroundColor = $state('transparent')
612
</script>
713

8-
<input type="color" bind:value={color} />
14+
<div class="flex">
15+
<label>
16+
text color
17+
<input type="color" bind:value={color} />
18+
</label>
19+
<label>
20+
bg
21+
<input type="color" bind:value={overrides.background} />
22+
</label>
23+
<label>
24+
fg
25+
<input type="color" bind:value={overrides.fg} />
26+
</label>
27+
</div>
928
<!-- <input type="color" bind:value={backgroundColor} /> -->
1029

1130
<div style="color: {color};padding: 2em;">
1231
<AllTypes theme="plain" />
1332
</div>
33+
34+
--text-search-highlight-color="hotpink" --text-search-highlight-fg-color="black"
35+
--text-search-highlight-decoration="underline dotted black" --text-search-highlight-border="1px
36+
dotted green"

src/routes/(app)/theming/vars/vars-defaults.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ export default [
2929
['--hover-color', '--base01'],
3030
['--text-selection-background', '--base02'],
3131
['--text-search-highlight-color', '--base0A'],
32+
['--text-search-highlight-fg-color', '--base01'],
33+
['--text-search-highlight-border-top', 'none'],
34+
['--text-search-highlight-border-bottom', 'none'],
35+
['--text-search-highlight-border-left', 'none'],
36+
['--text-search-highlight-border-right', 'none'],
37+
['--text-search-highlight-outline', 'none'],
38+
['--text-search-highlight-decoration', 'none'],
3239
['--indent-color', '--base03'],
3340
['--indent', '0.75em'],
3441
['--indent-compact', '0.5em'],

0 commit comments

Comments
 (0)